This commit is contained in:
Daniele Bariletti
2025-02-13 10:08:02 +01:00
18 changed files with 251 additions and 95 deletions
+44 -19
View File
@@ -79,6 +79,16 @@ Public Class SceneButtonVM
End Set
End Property
Private m_ParametricListGroupBtn As New List(Of GroupSceneBtn)
Public Property ParametricListGroupBtn As List(Of GroupSceneBtn)
Get
Return m_ParametricListGroupBtn
End Get
Set(value As List(Of GroupSceneBtn))
m_ParametricListGroupBtn = value
End Set
End Property
Friend Enum TopPanel As Integer
TOP_PANEL = 0
TOP_PANEL_1 = 1
@@ -105,7 +115,8 @@ Public Class SceneButtonVM
Sub New()
Map.SetRefSceneButtonVM(Me)
LoadButtons()
LoadGroupButtons()
LoadGroupButtons(TOPPANELLIST_BTN, m_TopPanelListGroupBtn)
LoadGroupButtons("ParametricListBtn", m_ParametricListGroupBtn)
End Sub
#End Region ' Constructor
@@ -123,14 +134,14 @@ Public Class SceneButtonVM
SetButtonsLocation(BOTTOMCENTERLIST_BTN, m_BottomCenterListBtn)
End Sub
Private Sub LoadGroupButtons()
Private Sub LoadGroupButtons(NameList As String, GroupSceneBtnList As List(Of GroupSceneBtn))
Dim Index As Integer = 1
Dim SubTitle As String = String.Empty
Dim sKeyTitle As String = TOPPANELLIST_BTN & "_" & Index.ToString()
Dim sKeyTitle As String = NameList & "_" & Index.ToString()
While GetMainPrivateProfileString(sKeyTitle, ConstEgtStone3D.SUBTITLE, "", SubTitle) > 0
SetGroupButtonsLocation(sKeyTitle, m_TopPanelListGroupBtn)
SetGroupButtonsLocation(sKeyTitle, GroupSceneBtnList)
Index += 1
sKeyTitle = TOPPANELLIST_BTN & "_" & Index.ToString()
sKeyTitle = NameList & "_" & Index.ToString()
End While
End Sub
@@ -446,8 +457,22 @@ Module SceneCmd
#Region "METHODS"
Public Sub Exec(Flag)
Dim nVeinCtx As Integer = Map.refSceneHostVM.MainScene.GetCtx()
Public Function ExecFile(Flag As String, nVeinCtx As Integer) As Boolean
Dim bNewParametricExsists As Boolean = False
If Flag.Contains(".lua") Then
If IsNothing(Map.refSceneButtonVM.m_ParametricCompoUC) Then Map.refSceneButtonVM.m_ParametricCompoUC = New SceneUserControlV
Dim LocalParametricCompo As New ParametricCompoVM(Flag, nVeinCtx)
If LocalParametricCompo.bFileExsist Then
Map.refSceneButtonVM.m_ParametricCompoUC.DataContext = LocalParametricCompo
Map.refSceneButtonVM.LoadUC(Map.refSceneButtonVM.m_ParametricCompoUC)
bNewParametricExsists = True
End If
End If
Return bNewParametricExsists
End Function
Public Function ExecMethod(Flag As String, nVeinCtx As Integer) As Boolean
Dim bNewMethodsExsists As Boolean = True
Select Case Flag
Case EGT_AUTOPAIR
EgtSetCurrentContext(nVeinCtx)
@@ -490,23 +515,23 @@ Module SceneCmd
Case EGT_DELETE
SolidManagerM.Delete(Map.refSceneHostVM.m_nIdPart)
Map.refSceneHostVM.m_nIdPart = GDB_ID.NULL
Case EGT_RECTANGE
If IsNothing(Map.refSceneButtonVM.m_ParametricCompoUC) Then Map.refSceneButtonVM.m_ParametricCompoUC = New SceneUserControlV
Map.refSceneButtonVM.m_ParametricCompoUC.DataContext = New ParametricCompoVM(EGT_RECTANGE & ".lua")
Map.refSceneButtonVM.LoadUC(Map.refSceneButtonVM.m_ParametricCompoUC)
Case EGT_POLIGON
If IsNothing(Map.refSceneButtonVM.m_ParametricCompoUC) Then Map.refSceneButtonVM.m_ParametricCompoUC = New SceneUserControlV
Map.refSceneButtonVM.m_ParametricCompoUC.DataContext = New ParametricCompoVM(EGT_POLIGON & ".lua")
Map.refSceneButtonVM.LoadUC(Map.refSceneButtonVM.m_ParametricCompoUC)
Case EGT_ELLIPSE
If IsNothing(Map.refSceneButtonVM.m_ParametricCompoUC) Then Map.refSceneButtonVM.m_ParametricCompoUC = New SceneUserControlV
Map.refSceneButtonVM.m_ParametricCompoUC.DataContext = New ParametricCompoVM(EGT_ELLIPSE & ".lua")
Map.refSceneButtonVM.LoadUC(Map.refSceneButtonVM.m_ParametricCompoUC)
Case EGT_EDIT_PANEL
If IsNothing(Map.refSceneButtonVM.m_EditPanelUC) Then Map.refSceneButtonVM.m_EditPanelUC = New SceneUserControlV
Map.refSceneButtonVM.m_EditPanelUC.DataContext = New EditPanelVM()
Map.refSceneButtonVM.LoadUC(Map.refSceneButtonVM.m_EditPanelUC)
Case Else
EgtOutLog("La chiamata del metodo '" & Flag & "' non è andata a buon fine")
bNewMethodsExsists = False
End Select
Return bNewMethodsExsists
End Function
Public Sub Exec(Flag As String)
Dim nVeinCtx As Integer = Map.refSceneHostVM.MainScene.GetCtx()
If Not ExecFile(Flag, nVeinCtx) Then
ExecMethod(Flag, nVeinCtx)
End If
End Sub
Friend Sub Undo()