OmagOFFICE 2.2h2:
-> gestione delle foto da databese OmagPHOTO con l'utilizzo della libreria EgtSTONELib.
This commit is contained in:
@@ -8,6 +8,7 @@ Public Class SideEntityControlVM
|
||||
Public Enum ModeOpt As Integer
|
||||
SIDEANGLE = 0
|
||||
DRIP = 1
|
||||
ENGRAVE = 2
|
||||
End Enum
|
||||
|
||||
Public Enum CallingWindowOpt As Integer
|
||||
@@ -34,6 +35,7 @@ Public Class SideEntityControlVM
|
||||
Public ReadOnly Property Legenda_Visibility As Visibility
|
||||
Get
|
||||
If m_Mode = SideEntityControlVM.ModeOpt.DRIP OrElse
|
||||
m_Mode = SideEntityControlVM.ModeOpt.ENGRAVE OrElse
|
||||
SideEntityControlVM.m_SideAngleCheck OrElse
|
||||
m_SideEntityList.Count() = 0 Then
|
||||
Return Visibility.Collapsed
|
||||
@@ -72,12 +74,18 @@ Public Class SideEntityControlVM
|
||||
Private m_Parameter1 As Double
|
||||
Public Property Parameter1 As String
|
||||
Get
|
||||
Return DoubleToString(m_Parameter1, -2)
|
||||
If m_Mode = ModeOpt.SIDEANGLE Then
|
||||
Return DoubleToString(m_Parameter1, 2)
|
||||
Else
|
||||
Return LenToString(m_Parameter1, -2)
|
||||
End If
|
||||
End Get
|
||||
Set(value As String)
|
||||
StringToDouble(value, m_Parameter1)
|
||||
SideAngleEntity.m_Parameter1 = m_Parameter1
|
||||
'StringToLen(value, m_Parameter1)
|
||||
'SideAngleEntity.m_Parameter1 = m_Parameter1
|
||||
If m_Mode = ModeOpt.SIDEANGLE Then
|
||||
StringToDouble(value, m_Parameter1)
|
||||
SideAngleEntity.m_Parameter1 = m_Parameter1
|
||||
' ciclo sui checkbox calcolati sul numero di lati inclinabili presenti
|
||||
For Index As Integer = 0 To m_SideEntityList.Count - 1
|
||||
' Nuovo angolo di inclinazione
|
||||
@@ -85,7 +93,7 @@ Public Class SideEntityControlVM
|
||||
' Se checked lo imposto al valore letto dalla TxBx
|
||||
If m_SideEntityList(Index).bIsChecked Then
|
||||
StringToDouble(value, dSideAngle)
|
||||
' altrimenti lo imposto a zero
|
||||
' altrimenti lo imposto a zero
|
||||
Else
|
||||
dSideAngle = 0
|
||||
End If
|
||||
@@ -95,6 +103,7 @@ Public Class SideEntityControlVM
|
||||
' Aggiorno tutti i testi
|
||||
RefreshSideAngleText()
|
||||
Else
|
||||
StringToLen(value, m_Parameter1)
|
||||
' Recupero il valore
|
||||
StringToLen(value, m_dDripOffset)
|
||||
' Creo le geometrie dei gocciolatoi
|
||||
@@ -111,15 +120,44 @@ Public Class SideEntityControlVM
|
||||
Private m_Parameter2 As Double
|
||||
Public Property Parameter2 As String
|
||||
Get
|
||||
Return LenToString(m_Parameter2, -2)
|
||||
If m_Mode = ModeOpt.SIDEANGLE Then
|
||||
Return LenToString(m_Parameter2, 2)
|
||||
Else
|
||||
Return LenToString(m_Parameter2, -2)
|
||||
End If
|
||||
End Get
|
||||
Set(value As String)
|
||||
If m_Mode = ModeOpt.DRIP Then
|
||||
StringToLen(value, m_Parameter2)
|
||||
StringToLen(value, m_Parameter2)
|
||||
If m_Mode = ModeOpt.SIDEANGLE Then
|
||||
SideAngleEntity.m_Parameter2 = m_Parameter2
|
||||
' ciclo sui checkbox calcolati sul numero di lati inclinabili presenti
|
||||
For Index As Integer = 0 To m_SideEntityList.Count - 1
|
||||
' Nuovo angolo di inclinazione
|
||||
Dim dSideHeel As Double
|
||||
' Se checked lo imposto al valore letto dalla TxBx
|
||||
If m_SideEntityList(Index).bIsChecked Then
|
||||
dSideHeel = m_Parameter2
|
||||
' altrimenti lo imposto a zero
|
||||
Else
|
||||
dSideHeel = 0
|
||||
End If
|
||||
' Lo modifico nella geometria e nella lista inclinazioni
|
||||
ModifySideHeel(m_SideEntityList(Index).sEntityName, dSideHeel)
|
||||
Next
|
||||
' Aggiorno tutti i testi
|
||||
RefreshSideAngleText()
|
||||
Else
|
||||
m_dDripOffset2 = m_Parameter2
|
||||
' Creo le geometrie dei gocciolatoi
|
||||
RefreshSideAngleText()
|
||||
End If
|
||||
|
||||
'If m_Mode <> ModeOpt.SIDEANGLE Then
|
||||
' StringToLen(value, m_Parameter2)
|
||||
' m_dDripOffset2 = m_Parameter2
|
||||
' ' Creo le geometrie dei gocciolatoi
|
||||
' RefreshSideAngleText()
|
||||
'End If
|
||||
End Set
|
||||
End Property
|
||||
Private Sub SetParameter2(value As Double)
|
||||
@@ -133,7 +171,7 @@ Public Class SideEntityControlVM
|
||||
Return LenToString(m_Parameter3, -2)
|
||||
End Get
|
||||
Set(value As String)
|
||||
If m_Mode = ModeOpt.DRIP Then
|
||||
If m_Mode <> ModeOpt.SIDEANGLE Then
|
||||
StringToLen(value, m_Parameter3)
|
||||
m_dDripDepth = m_Parameter3
|
||||
' Creo le geometrie dei gocciolatoi
|
||||
@@ -152,7 +190,7 @@ Public Class SideEntityControlVM
|
||||
Return LenToString(m_Parameter4, -2)
|
||||
End Get
|
||||
Set(value As String)
|
||||
If m_Mode = ModeOpt.DRIP Then
|
||||
If m_Mode <> ModeOpt.SIDEANGLE Then
|
||||
StringToLen(value, m_Parameter4)
|
||||
m_dDripShort = m_Parameter4
|
||||
' Creo le geometrie dei gocciolatoi
|
||||
@@ -187,7 +225,11 @@ Public Class SideEntityControlVM
|
||||
End Property
|
||||
Public ReadOnly Property Parameter2Msg As String
|
||||
Get
|
||||
Return EgtMsg(MSG_IMPORTPAGEUC + 16) ' Offset 2
|
||||
If m_Mode = ModeOpt.SIDEANGLE Then
|
||||
Return EgtMsg(91002)
|
||||
Else
|
||||
Return EgtMsg(MSG_IMPORTPAGEUC + 16) ' Offset 2
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property Parameter3Msg As String
|
||||
@@ -570,12 +612,13 @@ Public Class SideEntityControlVM
|
||||
' Recupero Id layer di contorno esterno
|
||||
Dim nOutLoopId = EgtGetFirstNameInGroup(nPartId, NAME_OUTLOOP)
|
||||
' Preparo layer con geometria gocciolatoi (svuotandolo o creandolo)
|
||||
Dim DripLayer As Integer = EgtGetFirstNameInGroup(nPartId, NAME_DRIPCUT)
|
||||
Dim DripName As String = If(m_Mode = ModeOpt.DRIP, NAME_DRIPCUT, NAME_ONPATH)
|
||||
Dim DripLayer As Integer = EgtGetFirstNameInGroup(nPartId, DripName)
|
||||
If DripLayer <> GDB_ID.NULL Then
|
||||
EgtEmptyGroup(DripLayer)
|
||||
Else
|
||||
DripLayer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(DripLayer, NAME_DRIPCUT)
|
||||
EgtSetName(DripLayer, DripName)
|
||||
End If
|
||||
' Per ogni entità con gocciolatoio, ne inserisco una copia nel layer
|
||||
Dim vSelId As New List(Of Integer)
|
||||
@@ -625,22 +668,33 @@ Public Class SideEntityControlVM
|
||||
nCrvId = nNextCrvId
|
||||
End While
|
||||
End If
|
||||
' Esplodo nelle curve componenti
|
||||
nCrvId = EgtGetFirstInGroup(DripLayer)
|
||||
While nCrvId <> GDB_ID.NULL
|
||||
Dim nNextCrvId = EgtGetNext(nCrvId)
|
||||
Dim nCount As Integer
|
||||
EgtExplodeCurveCompo(nCrvId, nCount)
|
||||
nCrvId = nNextCrvId
|
||||
End While
|
||||
' Assegno colore e attributi
|
||||
nCrvId = EgtGetFirstInGroup(DripLayer)
|
||||
While nCrvId <> GDB_ID.NULL
|
||||
EgtSetColor(nCrvId, New Color3d(255, 165, 0))
|
||||
EgtSetInfo(nCrvId, INFO_DEPTH, m_dDripDepth)
|
||||
If m_dDripShort > EPS_SMALL Then EgtSetInfo(nCrvId, INFO_STRICT, "1")
|
||||
nCrvId = EgtGetNext(nCrvId)
|
||||
End While
|
||||
If m_Mode = ModeOpt.DRIP Then
|
||||
' Esplodo nelle curve componenti
|
||||
nCrvId = EgtGetFirstInGroup(DripLayer)
|
||||
While nCrvId <> GDB_ID.NULL
|
||||
Dim nNextCrvId = EgtGetNext(nCrvId)
|
||||
Dim nCount As Integer
|
||||
EgtExplodeCurveCompo(nCrvId, nCount)
|
||||
nCrvId = nNextCrvId
|
||||
End While
|
||||
' Assegno colore e attributi
|
||||
nCrvId = EgtGetFirstInGroup(DripLayer)
|
||||
While nCrvId <> GDB_ID.NULL
|
||||
EgtSetColor(nCrvId, COL_MCH_DRIPCUT())
|
||||
EgtSetInfo(nCrvId, INFO_DEPTH, m_dDripDepth)
|
||||
If m_dDripShort > EPS_SMALL Then EgtSetInfo(nCrvId, INFO_STRICT, "1")
|
||||
nCrvId = EgtGetNext(nCrvId)
|
||||
End While
|
||||
Else
|
||||
' Assegno colore e attributi
|
||||
nCrvId = EgtGetFirstInGroup(DripLayer)
|
||||
While nCrvId <> GDB_ID.NULL
|
||||
EgtSetColor(nCrvId, COL_MCH_DRIPCUT())
|
||||
EgtSetInfo(nCrvId, INFO_DEPTH, m_dDripDepth)
|
||||
EgtSetInfo(nCrvId, INFO_STRICT, If(m_dDripShort > EPS_SMALL, "3", "0"))
|
||||
nCrvId = EgtGetNext(nCrvId)
|
||||
End While
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Funzione che modifica l'inclinazione di un lato
|
||||
@@ -761,11 +815,16 @@ Public Class SideEntityControlVM
|
||||
|
||||
If m_Mode = ModeOpt.SIDEANGLE Then
|
||||
WriteMainPrivateProfileString(S_SIDES, K_SIDEANGLE, DoubleToString(m_Parameter1, 3))
|
||||
Else
|
||||
ElseIf m_Mode = ModeOpt.DRIP Then
|
||||
WriteMainPrivateProfileString(S_SIDES, K_DRIPOFFSET, DoubleToString(m_dDripOffset, 3))
|
||||
WriteMainPrivateProfileString(S_SIDES, K_DRIPOFFSET2, DoubleToString(m_dDripOffset2, 3))
|
||||
WriteMainPrivateProfileString(S_SIDES, K_DRIPDEPTH, DoubleToString(m_dDripDepth, 3))
|
||||
WriteMainPrivateProfileString(S_SIDES, K_DRIPSHORT, DoubleToString(m_dDripShort, 3))
|
||||
ElseIf m_Mode = ModeOpt.ENGRAVE Then
|
||||
WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEOFFSET, DoubleToString(m_dDripOffset, 3))
|
||||
WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEOFFSET2, DoubleToString(m_dDripOffset2, 3))
|
||||
WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEDEPTH, DoubleToString(m_dDripDepth, 3))
|
||||
WriteMainPrivateProfileString(S_SIDES, K_ENGRAVESHORT, DoubleToString(m_dDripShort, 3))
|
||||
End If
|
||||
|
||||
EgtDraw()
|
||||
@@ -1086,6 +1145,7 @@ Friend Class SideAngleEntity
|
||||
End Property
|
||||
|
||||
Friend Shared m_Parameter1 As Double
|
||||
Friend Shared m_Parameter2 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
|
||||
@@ -1176,14 +1236,17 @@ Friend Class SideAngleEntity
|
||||
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()
|
||||
NotifyPropertyChanged("bIsChecked")
|
||||
|
||||
Reference in New Issue
Block a user