Costruzione delle alette, da gestire la riapertutra della pagina
This commit is contained in:
@@ -5,6 +5,8 @@ Imports EgtWPFLib5
|
||||
Public Class SideEntityControlVM
|
||||
Inherits VMBase
|
||||
|
||||
Private Const INFO_ALZFRONT As String = "AF"
|
||||
|
||||
Public Enum ModeOpt As Integer
|
||||
SIDEANGLE = 0 ' inclina lato
|
||||
DRIP = 1 ' incidi da sotto
|
||||
@@ -13,6 +15,12 @@ Public Class SideEntityControlVM
|
||||
ALZANDFRONT = 4 ' alzatine e frontalini
|
||||
End Enum
|
||||
|
||||
Public Enum ModeAlzAndFront
|
||||
ALZATINA = 0
|
||||
FRONTALINO = 1
|
||||
NONE = 2
|
||||
End Enum
|
||||
|
||||
Public Enum CallingWindowOpt As Integer
|
||||
COMPO = 0
|
||||
DXFIMPORT = 1
|
||||
@@ -158,6 +166,7 @@ Public Class SideEntityControlVM
|
||||
Private Sub SetParameter1(value As Double)
|
||||
m_Parameter1 = value
|
||||
SideAngleEntity.m_Parameter1 = value
|
||||
AlzAndFrontEntity.m_Parameter1 = value
|
||||
NotifyPropertyChanged("Parameter1")
|
||||
End Sub
|
||||
|
||||
@@ -232,12 +241,19 @@ Public Class SideEntityControlVM
|
||||
End Property
|
||||
|
||||
Private m_Parameter2a As Integer
|
||||
Private m_dParameter2a As Double
|
||||
Public Property Parameter2a As String
|
||||
Get
|
||||
If SideEntityControlVM.ModeOpt.ALZANDFRONT = ModeOpt.ALZANDFRONT Then
|
||||
Return DoubleToString(m_dParameter2a, 2)
|
||||
End If
|
||||
Return DoubleToString(m_Parameter2a, 2)
|
||||
End Get
|
||||
Set(value As String)
|
||||
' recupero il valore passato come intero
|
||||
StringToInt(value, m_Parameter2a)
|
||||
' recupero il valore passato come double
|
||||
StringToDouble(value, m_dParameter2a)
|
||||
' Recupero il valore
|
||||
StringToInt(value, m_nEngrNbr2)
|
||||
' Creo le geometrie dei gocciolatoi
|
||||
@@ -249,6 +265,12 @@ Public Class SideEntityControlVM
|
||||
SideAngleEntity.m_Parameter2a = value
|
||||
NotifyPropertyChanged("Parameter2a")
|
||||
End Sub
|
||||
Private Sub SetdParameter2a(value As Double)
|
||||
m_dParameter2a = value
|
||||
SideAngleEntity.m_dParameter2a = value
|
||||
AlzAndFrontEntity.m_dParameter2a = value
|
||||
NotifyPropertyChanged("Parameter2a")
|
||||
End Sub
|
||||
|
||||
Private m_Parameter2b As Double
|
||||
Public Property Parameter2b As String
|
||||
@@ -266,6 +288,7 @@ Public Class SideEntityControlVM
|
||||
Private Sub SetParameter2b(value As Double)
|
||||
m_Parameter2b = value
|
||||
SideAngleEntity.m_Parameter2b = value
|
||||
AlzAndFrontEntity.m_Parameter2b = value
|
||||
NotifyPropertyChanged("Parameter2b")
|
||||
End Sub
|
||||
|
||||
@@ -309,6 +332,10 @@ Public Class SideEntityControlVM
|
||||
|
||||
Private m_dSideAngle As Double = 0
|
||||
|
||||
Private m_HeightA As Double = 0
|
||||
Private m_HeightF As Double = 0
|
||||
Private m_DeltaAngF As Double = 0
|
||||
|
||||
Private m_dOffsetFiloTop As Double = 5
|
||||
Private m_dDepthFiloTop As Double = 5
|
||||
|
||||
@@ -345,15 +372,24 @@ Public Class SideEntityControlVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Parameter3Msg As String
|
||||
Private m_Parameter3Msg As String = EgtMsg(MSG_IMPORTPAGEUC + 11)
|
||||
Public Property Parameter3Msg As String
|
||||
Get
|
||||
Return EgtMsg(MSG_IMPORTPAGEUC + 11) ' Affondamento
|
||||
Return m_Parameter3Msg ' Affondamento
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_Parameter3Msg = value
|
||||
End Set
|
||||
End Property
|
||||
Public ReadOnly Property Parameter4Msg As String
|
||||
|
||||
Private m_Parameter4Msg As String = EgtMsg(MSG_IMPORTPAGEUC + 12)
|
||||
Public Property Parameter4Msg As String
|
||||
Get
|
||||
Return EgtMsg(MSG_IMPORTPAGEUC + 12) ' Accorciamento
|
||||
Return m_Parameter4Msg ' Accorciamento
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_Parameter4Msg = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Messages
|
||||
@@ -435,13 +471,21 @@ Public Class SideEntityControlVM
|
||||
|
||||
' imposto la pagina per la gestione delle Alzatine e dei frontalini
|
||||
If m_Mode = ModeOpt.ALZANDFRONT Then
|
||||
Parameter23_Visibility = Windows.Visibility.Hidden
|
||||
Parameter2_Visibility = Visibility.Visible
|
||||
Parameter2ab_Visibility = Visibility.Hidden
|
||||
Parameter1Msg = EgtMsg(MSG_IMPORTPAGEUC + 9) ' Angolo
|
||||
Parameter2Msg = EgtMsg(91002) ' Tallone
|
||||
m_dSideAngle = GetMainPrivateProfileDouble(S_SIDES, K_SIDEANGLE, 45)
|
||||
SetParameter1(m_dSideAngle)
|
||||
Parameter2_Visibility = Visibility.Hidden
|
||||
Parameter23_Visibility = Windows.Visibility.Visible
|
||||
Parameter2ab_Visibility = Visibility.Visible
|
||||
Parameter4_Visibility = Visibility.Hidden
|
||||
|
||||
Parameter1Msg = "Spessore"
|
||||
Parameter2Msg = "Altezza"
|
||||
Parameter3Msg = "Delta Ang."
|
||||
|
||||
m_HeightA = GetMainPrivateProfileDouble("Alz&Front", "A_Height", 0)
|
||||
m_HeightF = GetMainPrivateProfileDouble("Alz&Front", "F_Height", 0)
|
||||
SetParameter1(EstCalc.GetRawHeight)
|
||||
SetdParameter2a(m_HeightA)
|
||||
SetParameter2b(m_HeightF)
|
||||
|
||||
End If
|
||||
|
||||
' Aggiorno visualizzazione
|
||||
@@ -455,7 +499,7 @@ Public Class SideEntityControlVM
|
||||
#End Region ' CONSTRUCTOR
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
' aggiorno i messaggi scritti sui lati della figura (anche per le alette)
|
||||
Private Sub RefreshSideAngleText()
|
||||
' Imposto contesto corrente
|
||||
EgtSetCurrentContext(m_CallingWndScene.GetCtx())
|
||||
@@ -497,7 +541,19 @@ Public Class SideEntityControlVM
|
||||
If SideEntity.dSideHeel > 10 * EPS_SMALL Then sText += "; " & LenToString(SideEntity.dSideHeel, 1)
|
||||
AddTextToLine(sText, Entity.nTextId, Entity.nGeomId, 20, dBBoxRad, True)
|
||||
Next
|
||||
' Altrimenti modalità gocciolatoio
|
||||
ElseIf m_Mode = ModeOpt.ALZANDFRONT Then
|
||||
AlzAndFrontEntity.m_Parameter1 = m_Parameter1
|
||||
AlzAndFrontEntity.m_dParameter2a = m_dParameter2a
|
||||
AlzAndFrontEntity.m_Parameter2b = m_Parameter2b
|
||||
' Per ogni entità, creo testo con nome e angolo di inclinazione
|
||||
For Each Entity In m_SideEntityList
|
||||
Dim SideEntity As AlzAndFrontEntity = TryCast(Entity, AlzAndFrontEntity)
|
||||
Dim sText As String = Entity.sEntityName '& " = " & DoubleToString(SideEntity.dSideAngle, 1) & "°"
|
||||
'If SideEntity.dSideHeel > 10 * EPS_SMALL Then sText += "; " & LenToString(SideEntity.dSideHeel, 1)
|
||||
AddTextToLine(sText, Entity.nTextId, Entity.nGeomId, 20, dBBoxRad, True)
|
||||
Next
|
||||
LoadCurrentCompo()
|
||||
' Altrimenti modalità gocciolatoio
|
||||
Else
|
||||
' Per ogni entità creo testo con nome
|
||||
For Each Entity In m_SideEntityList
|
||||
@@ -562,7 +618,16 @@ Public Class SideEntityControlVM
|
||||
nOtherIndex += 1
|
||||
End If
|
||||
ElseIf m_Mode = ModeOpt.FILOTOP Then
|
||||
|
||||
' --- ??? ---
|
||||
ElseIf m_Mode = ModeOpt.ALZANDFRONT Then
|
||||
If VerifySideAnglePossible(PrevLine, CurrLine, NextLine, bOutLoop) Then
|
||||
' Aggiungo il lato alla lista di quelli inclinabili e ne azzero l'inclinazione
|
||||
AddAlzAndFront(CurrLine, TextLayer, dBBoxRad, nEntityIndex)
|
||||
nEntityIndex += 1
|
||||
Else
|
||||
EgtSetName(CurrLine, "B" & nOtherIndex.ToString())
|
||||
nOtherIndex += 1
|
||||
End If
|
||||
Else
|
||||
If VerifyIsSideDripPossible(PrevLine, CurrLine, NextLine) Then
|
||||
' Aggiungo il lato alla lista di quelli su cui è possibile mettere il gocciolatoio
|
||||
@@ -664,6 +729,29 @@ Public Class SideEntityControlVM
|
||||
AddTextToLine(sText, TextLayer, CurrLine, 20, dBBoxRad, True)
|
||||
End Sub
|
||||
|
||||
Private Sub AddAlzAndFront(CurrLine As Integer, TextLayer As Integer, dBBoxRad As Double, nEntityIndex As Integer)
|
||||
' Imposto nome del lato
|
||||
EgtSetName(CurrLine, "A" & nEntityIndex.ToString())
|
||||
Dim sEntityName As String = String.Empty
|
||||
EgtGetName(CurrLine, sEntityName)
|
||||
Dim NewEntity As AlzAndFrontEntity = Nothing
|
||||
NewEntity = New AlzAndFrontEntity(CurrLine, sEntityName, TextLayer, ModeOpt.ALZANDFRONT)
|
||||
Dim sInfo As String = "0"
|
||||
EgtGetInfo(CurrLine, "AF", sInfo)
|
||||
If sInfo = "1" Then
|
||||
NewEntity.bIsCheckedAlz = True
|
||||
ElseIf sInfo = "2" Then
|
||||
NewEntity.bIsCheckedFront = True
|
||||
Else
|
||||
NewEntity.bIsCheckedAlz = False
|
||||
NewEntity.bIsCheckedFront = False
|
||||
End If
|
||||
EgtSetInfo(NewEntity.nGeomId, "IsModify", 0)
|
||||
m_SideEntityList.Add(NewEntity)
|
||||
NotifyPropertyChanged("Legenda_Visibility")
|
||||
AddTextToLine("A" & CurrLine.ToString, TextLayer, CurrLine, 20, dBBoxRad, True)
|
||||
End Sub
|
||||
|
||||
' Funzione che gestisce le operazioni sull'entità con gocciolatoio
|
||||
Private Sub AddDripSide(CurrLine As Integer, TextLayer As Integer, dBBoxRad As Double, nEntityIndex As Integer)
|
||||
' Imposto nome del lato
|
||||
@@ -1435,6 +1523,107 @@ Public Class SideEntityControlVM
|
||||
End While
|
||||
End Sub
|
||||
|
||||
'---------------------- GESTIONE ALZATIENE E FRONTALINI ----------------------
|
||||
Shared Sub LoadCurrentCompo()
|
||||
Dim m_dBBoxRad As Double = 0.5 * Point3d.DistXY(EstCalc.GetRawPtMin, EstCalc.GetRawPtMax)
|
||||
Dim m_dH As Double = 0.05 * m_dBBoxRad
|
||||
|
||||
' !! ATTENZIONE !! : per problemi di spazio è stata spenta la text per stampare i messaggi (ma potrebbe servire?)
|
||||
' Pulisco l'ambiente lua
|
||||
EgtLuaResetGlobVar("CMP")
|
||||
EgtLuaResetGlobVar("CMP_Draw")
|
||||
|
||||
Dim nCompoName As Integer
|
||||
Dim sCompoFile As String = ""
|
||||
Dim sCompoImage As String = ""
|
||||
|
||||
' recupero il nome del direttorio
|
||||
Dim sCompoDir As String = String.Empty
|
||||
GetMainPrivateProfileString("Alz&Front", K_COMPODIR, "", sCompoDir)
|
||||
' leggo le info inserite nel campo "Alz&Front"
|
||||
Dim CItem As CompoItem = CompoWindowMap.refCompoListPageVM.GetPrivateProfileCompo("Alz&Front", "Alz&Front")
|
||||
nCompoName = CItem.Index
|
||||
sCompoFile = CItem.LuaPath
|
||||
sCompoImage = CItem.ImagePath
|
||||
'Dim sCompoImageSource As ImageSource
|
||||
|
||||
' Costruisco path completa del componente
|
||||
Dim sPath = sCompoDir & "\" & sCompoFile
|
||||
' Carico il file
|
||||
EgtLuaExecFile(sPath)
|
||||
|
||||
' carico la lista di variabili
|
||||
Dim dVal As Double
|
||||
If StringToLen(AlzAndFrontEntity.m_dParameter2a.ToString, dVal) Then
|
||||
EgtLuaSetGlobNumVar("CMP.A_Height", dVal)
|
||||
End If
|
||||
If StringToLen(AlzAndFrontEntity.m_Parameter2b.ToString, dVal) Then
|
||||
EgtLuaSetGlobNumVar("CMP.F_Height", dVal)
|
||||
End If
|
||||
If StringToLen("0", dVal) Then
|
||||
EgtLuaSetGlobNumVar("CMP.A_DeltaAng", dVal)
|
||||
End If
|
||||
If StringToLen("0", dVal) Then
|
||||
EgtLuaSetGlobNumVar("CMP.F_DeltaAng", dVal)
|
||||
End If
|
||||
' deve essere imposta sempre la dimensione della lastra
|
||||
If StringToLen(AlzAndFrontEntity.m_Parameter1.ToString, dVal) Then
|
||||
EgtLuaSetGlobNumVar("CMP.ThicknessRaw", dVal)
|
||||
End If
|
||||
' parametri per la scrittura dei caratteri
|
||||
EgtLuaSetGlobNumVar("CMP.BBoxRad", m_dBBoxRad)
|
||||
EgtLuaSetGlobNumVar("CMP.HeightText", m_dH)
|
||||
|
||||
|
||||
Dim sMsg As String = String.Empty
|
||||
' eseguo la funzione per il disegno della componente (CMP_Draw)
|
||||
If Not EgtLuaExecLine("CMP_Draw" & "(true)") Then
|
||||
sMsg = "Error in component execution"
|
||||
'm_bDrawOk = False
|
||||
Else
|
||||
EgtLuaGetGlobStringVar("CMP" & ".MSG", sMsg)
|
||||
Dim nErr As Integer = 0
|
||||
EgtLuaGetGlobIntVar("CMP" & ".ERR", nErr)
|
||||
'm_bDrawOk = (nErr = 0)
|
||||
End If
|
||||
' aggiorno la grafica
|
||||
EgtZoom(ZM.ALL)
|
||||
End Sub
|
||||
|
||||
Shared Sub RefreshEntity(bIsAlz As Boolean, bIsChecked As Boolean, GeneralSideEntity As SideEntity)
|
||||
|
||||
Dim Loacl_AlzFrontEntity As AlzAndFrontEntity = Nothing
|
||||
Try
|
||||
Loacl_AlzFrontEntity = DirectCast(GeneralSideEntity, AlzAndFrontEntity)
|
||||
Catch ex As Exception
|
||||
Return
|
||||
End Try
|
||||
If bIsAlz Then
|
||||
If bIsChecked Then
|
||||
Loacl_AlzFrontEntity.Type = ModeAlzAndFront.ALZATINA
|
||||
Else
|
||||
Loacl_AlzFrontEntity.Type = ModeAlzAndFront.NONE
|
||||
End If
|
||||
Else
|
||||
If bIsChecked Then
|
||||
Loacl_AlzFrontEntity.Type = ModeAlzAndFront.FRONTALINO
|
||||
Else
|
||||
Loacl_AlzFrontEntity.Type = ModeAlzAndFront.NONE
|
||||
End If
|
||||
End If
|
||||
Select Case Loacl_AlzFrontEntity.Type
|
||||
Case SideEntityControlVM.ModeAlzAndFront.NONE
|
||||
EgtSetInfo(Loacl_AlzFrontEntity.nGeomId, INFO_ALZFRONT, 0)
|
||||
Case SideEntityControlVM.ModeAlzAndFront.ALZATINA
|
||||
EgtSetInfo(Loacl_AlzFrontEntity.nGeomId, INFO_ALZFRONT, 1)
|
||||
Case SideEntityControlVM.ModeAlzAndFront.FRONTALINO
|
||||
EgtSetInfo(Loacl_AlzFrontEntity.nGeomId, INFO_ALZFRONT, 2)
|
||||
End Select
|
||||
EgtSetInfo(Loacl_AlzFrontEntity.nGeomId, "IsModify", 1)
|
||||
' questa funzione deve essere lanciata al termine di ogno selezione o modifica dei parametri di dimensione
|
||||
LoadCurrentCompo()
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
End Class
|
||||
@@ -1541,6 +1730,7 @@ Public MustInherit Class SideEntity
|
||||
Else
|
||||
m_bIsCheckedAlz = False
|
||||
End If
|
||||
SideEntityControlVM.RefreshEntity(True, value, Me)
|
||||
NotifyPropertyChanged("bIsCheckedAlz")
|
||||
NotifyPropertyChanged("bIsCheckedFront")
|
||||
End Set
|
||||
@@ -1558,6 +1748,7 @@ Public MustInherit Class SideEntity
|
||||
Else
|
||||
m_bIsCheckedFront = False
|
||||
End If
|
||||
SideEntityControlVM.RefreshEntity(False, value, Me)
|
||||
NotifyPropertyChanged("bIsCheckedAlz")
|
||||
NotifyPropertyChanged("bIsCheckedFront")
|
||||
End Set
|
||||
@@ -1590,6 +1781,7 @@ Friend Class SideAngleEntity
|
||||
Friend Shared m_Parameter1 As Double
|
||||
Friend Shared m_Parameter2 As Double
|
||||
Friend Shared m_Parameter2a As Integer
|
||||
Friend Shared m_dParameter2a As Double
|
||||
Friend Shared m_Parameter2b As Double
|
||||
Friend Shared m_ModifySideAngle As Action(Of String, Double)
|
||||
Friend Shared m_ModifySideHeel As Action(Of String, Double)
|
||||
@@ -2005,130 +2197,129 @@ Friend Class AlzAndFrontEntity
|
||||
Friend Shared m_Parameter1 As Double
|
||||
Friend Shared m_Parameter2 As Double
|
||||
Friend Shared m_Parameter2a As Integer
|
||||
Friend Shared m_dParameter2a As Double
|
||||
Friend Shared m_Parameter2b As Double
|
||||
Friend Shared m_ModifySideAngle As Action(Of String, Double)
|
||||
Friend Shared m_ModifySideHeel As Action(Of String, Double)
|
||||
Friend Shared m_RefreshSideAngleText As Action
|
||||
|
||||
Private m_dSideAngle As Double
|
||||
Public Property GrphSideAngle As String
|
||||
Get
|
||||
Return DoubleToString(m_dSideAngle, 2)
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dVal As Double = 0
|
||||
If Not String.IsNullOrWhiteSpace(value) Then StringToDouble(value, dVal)
|
||||
If dVal <> m_dSideAngle Then
|
||||
' Assegno controllando i limiti
|
||||
If dVal < -m_dMaxSideAng Then
|
||||
m_dSideAngle = -m_dMaxSideAng
|
||||
NotifyPropertyChanged("GrphSideAngle")
|
||||
ElseIf dVal > m_dMaxSideAng Then
|
||||
m_dSideAngle = m_dMaxSideAng
|
||||
NotifyPropertyChanged("GrphSideAngle")
|
||||
Else
|
||||
m_dSideAngle = dVal
|
||||
End If
|
||||
' Lo modifico nella geometria e nella lista inclinazioni
|
||||
m_ModifySideAngle(sEntityName, dSideAngle)
|
||||
' Aggiorno tutti i testi
|
||||
m_RefreshSideAngleText()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Public Property dSideAngle As Double
|
||||
Get
|
||||
Return m_dSideAngle
|
||||
End Get
|
||||
Set(value As Double)
|
||||
' Assegno controllando i limiti
|
||||
If value < -m_dMaxSideAng Then
|
||||
m_dSideAngle = -m_dMaxSideAng
|
||||
ElseIf value > m_dMaxSideAng Then
|
||||
m_dSideAngle = m_dMaxSideAng
|
||||
Else
|
||||
m_dSideAngle = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
'Private m_dSideAngle As Double
|
||||
'Public Property GrphSideAngle As String
|
||||
' Get
|
||||
' Return DoubleToString(m_dSideAngle, 2)
|
||||
' End Get
|
||||
' Set(value As String)
|
||||
' Dim dVal As Double = 0
|
||||
' If Not String.IsNullOrWhiteSpace(value) Then StringToDouble(value, dVal)
|
||||
' If dVal <> m_dSideAngle Then
|
||||
' ' Assegno controllando i limiti
|
||||
' If dVal < -m_dMaxSideAng Then
|
||||
' m_dSideAngle = -m_dMaxSideAng
|
||||
' NotifyPropertyChanged("GrphSideAngle")
|
||||
' ElseIf dVal > m_dMaxSideAng Then
|
||||
' m_dSideAngle = m_dMaxSideAng
|
||||
' NotifyPropertyChanged("GrphSideAngle")
|
||||
' Else
|
||||
' m_dSideAngle = dVal
|
||||
' End If
|
||||
' ' Lo modifico nella geometria e nella lista inclinazioni
|
||||
' m_ModifySideAngle(sEntityName, dSideAngle)
|
||||
' ' Aggiorno tutti i testi
|
||||
' m_RefreshSideAngleText()
|
||||
' End If
|
||||
' End Set
|
||||
'End Property
|
||||
'Public Property dSideAngle As Double
|
||||
' Get
|
||||
' Return m_dSideAngle
|
||||
' End Get
|
||||
' Set(value As Double)
|
||||
' ' Assegno controllando i limiti
|
||||
' If value < -m_dMaxSideAng Then
|
||||
' m_dSideAngle = -m_dMaxSideAng
|
||||
' ElseIf value > m_dMaxSideAng Then
|
||||
' m_dSideAngle = m_dMaxSideAng
|
||||
' Else
|
||||
' m_dSideAngle = value
|
||||
' End If
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Private m_dSideHeel As Double
|
||||
Public Property GrphSideHeel As String
|
||||
Get
|
||||
Return LenToString(m_dSideHeel, 2)
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dVal As Double = 0
|
||||
If Not String.IsNullOrWhiteSpace(value) Then StringToLen(value, dVal)
|
||||
If Math.Abs(dVal - m_dSideHeel) > EPS_SMALL Then
|
||||
' Verifico stia nei limiti
|
||||
If dVal < 0 Then
|
||||
m_dSideHeel = 0
|
||||
NotifyPropertyChanged("GrphSideHeel")
|
||||
Else
|
||||
m_dSideHeel = dVal
|
||||
End If
|
||||
' Lo modifico nella geometria e nella lista inclinazioni
|
||||
m_ModifySideHeel(sEntityName, dSideHeel)
|
||||
' Aggiorno tutti i testi
|
||||
m_RefreshSideAngleText()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Public Property dSideHeel As Double
|
||||
Get
|
||||
Return m_dSideHeel
|
||||
End Get
|
||||
Set(value As Double)
|
||||
' Verifico stia nei limiti
|
||||
If value < 0 Then
|
||||
m_dSideHeel = 0
|
||||
Else
|
||||
m_dSideHeel = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
'Private m_dSideHeel As Double
|
||||
'Public Property GrphSideHeel As String
|
||||
' Get
|
||||
' Return LenToString(m_dSideHeel, 2)
|
||||
' End Get
|
||||
' Set(value As String)
|
||||
' Dim dVal As Double = 0
|
||||
' If Not String.IsNullOrWhiteSpace(value) Then StringToLen(value, dVal)
|
||||
' If Math.Abs(dVal - m_dSideHeel) > EPS_SMALL Then
|
||||
' ' Verifico stia nei limiti
|
||||
' If dVal < 0 Then
|
||||
' m_dSideHeel = 0
|
||||
' NotifyPropertyChanged("GrphSideHeel")
|
||||
' Else
|
||||
' m_dSideHeel = dVal
|
||||
' End If
|
||||
' ' Lo modifico nella geometria e nella lista inclinazioni
|
||||
' m_ModifySideHeel(sEntityName, dSideHeel)
|
||||
' ' Aggiorno tutti i testi
|
||||
' m_RefreshSideAngleText()
|
||||
' End If
|
||||
' End Set
|
||||
'End Property
|
||||
'Public Property dSideHeel As Double
|
||||
' Get
|
||||
' Return m_dSideHeel
|
||||
' End Get
|
||||
' Set(value As Double)
|
||||
' ' Verifico stia nei limiti
|
||||
' If value < 0 Then
|
||||
' m_dSideHeel = 0
|
||||
' Else
|
||||
' m_dSideHeel = value
|
||||
' End If
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Public Overrides Property bIsChecked As Boolean
|
||||
Get
|
||||
Return Not m_dSideAngle = 0
|
||||
Return False
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If value Then
|
||||
m_dSideAngle = m_Parameter1
|
||||
m_dSideHeel = m_Parameter2
|
||||
Else
|
||||
m_dSideAngle = 0
|
||||
m_dSideHeel = 0
|
||||
End If
|
||||
' '' Converto nome checkbox in nome elemento tenendo conto dello slittamento verso il basso
|
||||
''Dim nCurrSide As Integer = m_SideAngleEntityList.Count() - (10 - CInt(CurrCheckBox.Name.Substring(1)))
|
||||
''Dim sCurrSide As String = "A" & nCurrSide.ToString()
|
||||
' Lo modifico nella geometria e nella lista inclinazioni
|
||||
m_ModifySideAngle(sEntityName, m_dSideAngle)
|
||||
m_ModifySideHeel(sEntityName, m_dSideHeel)
|
||||
' Aggiorno tutti i testi
|
||||
m_RefreshSideAngleText()
|
||||
'If value Then
|
||||
' m_dSideAngle = m_Parameter1
|
||||
' m_dSideHeel = m_Parameter2
|
||||
'Else
|
||||
' m_dSideAngle = 0
|
||||
' m_dSideHeel = 0
|
||||
'End If
|
||||
'' '' Converto nome checkbox in nome elemento tenendo conto dello slittamento verso il basso
|
||||
'''Dim nCurrSide As Integer = m_SideAngleEntityList.Count() - (10 - CInt(CurrCheckBox.Name.Substring(1)))
|
||||
'''Dim sCurrSide As String = "A" & nCurrSide.ToString()
|
||||
'' Lo modifico nella geometria e nella lista inclinazioni
|
||||
'm_ModifySideAngle(sEntityName, m_dSideAngle)
|
||||
'm_ModifySideHeel(sEntityName, m_dSideHeel)
|
||||
'' Aggiorno tutti i testi
|
||||
'm_RefreshSideAngleText()
|
||||
NotifyPropertyChanged("bIsChecked")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(nId As Integer, sEntityName As String, nTextId As Integer, dSideAngle As Double, dSideHeel As Double, Mode As SideEntityControlVM.ModeOpt)
|
||||
Private m_Type As SideEntityControlVM.ModeAlzAndFront = SideEntityControlVM.ModeAlzAndFront.NONE
|
||||
Public Property Type As SideEntityControlVM.ModeAlzAndFront
|
||||
Get
|
||||
Return m_Type
|
||||
End Get
|
||||
Set(value As SideEntityControlVM.ModeAlzAndFront)
|
||||
m_Type = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(nId As Integer, sEntityName As String, nTextId As Integer, Mode As SideEntityControlVM.ModeOpt)
|
||||
MyBase.New(nId, sEntityName, nTextId, Mode)
|
||||
m_dSideAngle = dSideAngle
|
||||
m_dSideHeel = dSideHeel
|
||||
'm_dSideAngle = dSideAngle
|
||||
'm_dSideHeel = dSideHeel
|
||||
End Sub
|
||||
|
||||
Friend Shared Function FindEntity(sEntityName As String, EntityList As ObservableCollection(Of SideEntity)) As SideAngleEntity
|
||||
If IsNothing(EntityList) Then
|
||||
Return Nothing
|
||||
End If
|
||||
For Each Entity In EntityList
|
||||
If Entity.sEntityName = sEntityName Then
|
||||
Return DirectCast(Entity, SideAngleEntity)
|
||||
End If
|
||||
Next
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user