- correzione disabilitazione parametri LeadOut in CurrMachining
- cambiata gestione della modalita' di modifica selezionata - corezione impostazione pagina modifica dopo apertura progetto - verifica che non ci siano operazioni di modifica in corso prima di far partire slice - correzione errore su chiusura percorso disegnato - disabilitata interfaccia quando comando in corso in modifica
This commit is contained in:
@@ -274,7 +274,7 @@ Public Class CurrMachiningCathegory
|
||||
' verifico dipendenze tra parametri
|
||||
Select Case m_Type
|
||||
Case Cathegories.LINK
|
||||
For Each Param In {MachiningParam.Params.LINKTYPE, MachiningParam.Params.LEADIN}
|
||||
For Each Param In {MachiningParam.Params.LINKTYPE, MachiningParam.Params.LEADIN, MachiningParam.Params.LEADOUT}
|
||||
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
|
||||
@@ -35,6 +35,10 @@ Public Class FilledSolidPanelVM
|
||||
Return m_SelFilledSolid
|
||||
End Get
|
||||
Set(value As FilledSolidEntity)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse Map.refFilledSolidPanelVM.bCPlaneObj_IsActive Then
|
||||
NotifyPropertyChanged(NameOf(SelFilledSolid))
|
||||
Return
|
||||
End If
|
||||
m_SelFilledSolid = value
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(value) Then
|
||||
@@ -349,6 +353,8 @@ Public Class FilledSolidPanelVM
|
||||
NotifyPropertyChanged(NameOf(bRotate_IsChecked))
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.AUXSOLIDPARAM)
|
||||
NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled))
|
||||
' disattivo lista filled solid
|
||||
SetFilledSolidListIsEnabled(False)
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked))
|
||||
End If
|
||||
@@ -366,11 +372,17 @@ Public Class FilledSolidPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_FilledSolidList_IsEnabled As Boolean = False
|
||||
Public ReadOnly Property FilledSolidList_IsEnabled As Boolean
|
||||
Get
|
||||
Return Not m_bMachParam_IsChecked
|
||||
Return If(m_FilledSolidList.Count > 0, m_FilledSolidList_IsEnabled, False)
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetFilledSolidListIsEnabled(bValue As Boolean)
|
||||
m_FilledSolidList_IsEnabled = bValue
|
||||
NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled))
|
||||
End Sub
|
||||
|
||||
' riferimento griglia all'ingresso in questa pagina
|
||||
Private m_OriginalGridFrame As New Frame3d
|
||||
|
||||
@@ -388,6 +400,8 @@ Public Class FilledSolidPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bEscOnLine2P As Boolean = False
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property Import_ToolTip As String
|
||||
@@ -571,6 +585,8 @@ Public Class FilledSolidPanelVM
|
||||
SelFilledSolid = m_FilledSolidList(0)
|
||||
NotifyPropertyChanged(NameOf(SelFilledSolid))
|
||||
End If
|
||||
' attivo lista filled solid
|
||||
SetFilledSolidListIsEnabled(True)
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
@@ -615,6 +631,8 @@ Public Class FilledSolidPanelVM
|
||||
EgtSelectObj(m_SelFilledSolid.nExtrusionId)
|
||||
End Select
|
||||
EgtDraw()
|
||||
' disattivo il resto dell'interfaccia
|
||||
ManageInterface(False)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
@@ -624,6 +642,7 @@ Public Class FilledSolidPanelVM
|
||||
End Sub
|
||||
|
||||
Friend Sub OnExecCmdEnd(command As Controller.CMD)
|
||||
m_bEscOnLine2P = False
|
||||
Select Case command
|
||||
Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE
|
||||
' leggo altezza estrusione
|
||||
@@ -663,6 +682,10 @@ Public Class FilledSolidPanelVM
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End Select
|
||||
' se non ho creato percorso riabilito interfaccia
|
||||
If Not m_bIsCreatingPath Then
|
||||
ManageInterface(True)
|
||||
End If
|
||||
If command <> Controller.CMD.LINE2P AndAlso command <> Controller.CMD.EXTRUDE Then Return
|
||||
' se finita creazione estrusione
|
||||
If m_bIsCreatingExtrusion Then
|
||||
@@ -733,6 +756,9 @@ Public Class FilledSolidPanelVM
|
||||
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
|
||||
m_bIsCreatingExtrusion = True
|
||||
Map.refControllerInputPanelVM.IsChecked = True
|
||||
If Not EgtCurveIsClosed(nNewEntityId) Then
|
||||
m_bEscOnLine2P = True
|
||||
End If
|
||||
Else
|
||||
' cancello layer
|
||||
EgtErase(nNewExtrusionLayerId)
|
||||
@@ -757,6 +783,13 @@ Public Class FilledSolidPanelVM
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End If
|
||||
' se esc su creazione percorso, lo annullo, altrimenti riabilito interfaccia
|
||||
If m_bEscOnLine2P Then
|
||||
m_bEscOnLine2P = False
|
||||
Else
|
||||
If m_bIsCreatingExtrusion Then m_bIsCreatingExtrusion = False
|
||||
ManageInterface(True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -792,6 +825,17 @@ Public Class FilledSolidPanelVM
|
||||
Return nFilledSolidIndex + 1
|
||||
End Function
|
||||
|
||||
Friend Sub ManageInterface(bValue As Boolean)
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(bValue)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(bValue)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(bValue)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(bValue)
|
||||
SetFilledSolidListIsEnabled(bValue)
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -815,7 +859,9 @@ Public Class FilledSolidPanelVM
|
||||
''' </summary>
|
||||
Public Sub Import(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.InsertFilledSolid()
|
||||
ManageInterface(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Import
|
||||
@@ -839,6 +885,7 @@ Public Class FilledSolidPanelVM
|
||||
''' </summary>
|
||||
Public Sub Line2P(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Dim nNewShellNumberLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWRIB)
|
||||
If nNewShellNumberLayerId = GDB_ID.NULL Then nNewShellNumberLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewShellNumberLayerId, LAY_NEWRIB)
|
||||
@@ -887,6 +934,7 @@ Public Class FilledSolidPanelVM
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelFilledSolid))
|
||||
End If
|
||||
SetFilledSolidListIsEnabled(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Delete
|
||||
@@ -1311,6 +1359,7 @@ Public Class FilledSolidPanelVM
|
||||
''' </summary>
|
||||
Public Sub CPlaneObj(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
' salvo selezione precedente e deseleziono altri oggetti
|
||||
m_PrevSelObjs.Clear()
|
||||
Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
|
||||
|
||||
@@ -42,6 +42,10 @@ Public Class RibPanelVM
|
||||
Return m_SelRib
|
||||
End Get
|
||||
Set(value As RibEntity)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse Map.refRibPanelVM.bCPlaneObj_IsActive Then
|
||||
NotifyPropertyChanged(NameOf(SelRib))
|
||||
Return
|
||||
End If
|
||||
m_SelRib = value
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(value) Then
|
||||
@@ -374,6 +378,8 @@ Public Class RibPanelVM
|
||||
NotifyPropertyChanged(NameOf(bRotate_IsChecked))
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.RIBPARAM)
|
||||
NotifyPropertyChanged(NameOf(RibList_IsEnabled))
|
||||
' disattivo lista ribs
|
||||
SetRibListIsEnabled(False)
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked))
|
||||
End If
|
||||
@@ -391,11 +397,17 @@ Public Class RibPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_RibList_IsEnabled As Boolean = False
|
||||
Public ReadOnly Property RibList_IsEnabled As Boolean
|
||||
Get
|
||||
Return Not m_bMachParam_IsChecked
|
||||
Return If(m_RibList.Count > 0, m_RibList_IsEnabled, False)
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetRibListIsEnabled(bValue As Boolean)
|
||||
m_RibList_IsEnabled = bValue
|
||||
NotifyPropertyChanged(NameOf(RibList_IsEnabled))
|
||||
End Sub
|
||||
|
||||
' riferimento griglia all'ingresso in questa pagina
|
||||
Private m_OriginalGridFrame As New Frame3d
|
||||
|
||||
@@ -413,6 +425,8 @@ Public Class RibPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bEscOnLine2P As Boolean = False
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property Import_ToolTip As String
|
||||
@@ -596,6 +610,8 @@ Public Class RibPanelVM
|
||||
SelRib = m_RibList(0)
|
||||
NotifyPropertyChanged(NameOf(SelRib))
|
||||
End If
|
||||
' abilito lista ribs
|
||||
SetRibListIsEnabled(True)
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
@@ -640,6 +656,8 @@ Public Class RibPanelVM
|
||||
EgtSelectObj(m_SelRib.nExtrusionId)
|
||||
End Select
|
||||
EgtDraw()
|
||||
' disattivo il resto dell'interfaccia
|
||||
ManageInterface(False)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
@@ -649,6 +667,7 @@ Public Class RibPanelVM
|
||||
End Sub
|
||||
|
||||
Friend Sub OnExecCmdEnd(command As Controller.CMD)
|
||||
m_bEscOnLine2P = False
|
||||
Select Case command
|
||||
Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE
|
||||
' leggo altezza estrusione
|
||||
@@ -688,6 +707,10 @@ Public Class RibPanelVM
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End Select
|
||||
' se non ho creato percorso riabilito interfaccia
|
||||
If Not m_bIsCreatingPath Then
|
||||
ManageInterface(True)
|
||||
End If
|
||||
If command <> Controller.CMD.LINE2P AndAlso command <> Controller.CMD.EXTRUDE Then Return
|
||||
' se finita creazione estrusione
|
||||
If m_bIsCreatingExtrusion Then
|
||||
@@ -754,9 +777,10 @@ Public Class RibPanelVM
|
||||
EgtSelectObj(nNewEntityId)
|
||||
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
|
||||
m_bIsCreatingExtrusion = True
|
||||
If Not EgtCurveIsClosed(nNewEntityId) Then
|
||||
m_bEscOnLine2P = True
|
||||
End If
|
||||
Else
|
||||
' cancello layer
|
||||
'EgtErase(nNewRibLayerId)
|
||||
EgtErase(nNewExtrusionLayerId)
|
||||
End If
|
||||
End If
|
||||
@@ -779,6 +803,13 @@ Public Class RibPanelVM
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End If
|
||||
' se esc su creazione percorso, lo annullo, altrimenti riabilito interfaccia
|
||||
If m_bEscOnLine2P Then
|
||||
m_bEscOnLine2P = False
|
||||
Else
|
||||
If m_bIsCreatingExtrusion Then m_bIsCreatingExtrusion = False
|
||||
ManageInterface(True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -814,6 +845,17 @@ Public Class RibPanelVM
|
||||
Return nRibIndex + 1
|
||||
End Function
|
||||
|
||||
Friend Sub ManageInterface(bValue As Boolean)
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(bValue)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(bValue)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(bValue)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(bValue)
|
||||
SetRibListIsEnabled(bValue)
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -837,7 +879,9 @@ Public Class RibPanelVM
|
||||
''' </summary>
|
||||
Public Sub Import(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.InsertRib()
|
||||
ManageInterface(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Import
|
||||
@@ -861,6 +905,7 @@ Public Class RibPanelVM
|
||||
''' </summary>
|
||||
Public Sub Line2P(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Dim nNewRibLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWRIB)
|
||||
If nNewRibLayerId = GDB_ID.NULL Then nNewRibLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewRibLayerId, LAY_NEWRIB)
|
||||
@@ -909,6 +954,7 @@ Public Class RibPanelVM
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelRib))
|
||||
End If
|
||||
SetRibListIsEnabled(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Delete
|
||||
@@ -1332,6 +1378,7 @@ Public Class RibPanelVM
|
||||
''' </summary>
|
||||
Public Sub CPlaneObj(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
' salvo selezione precedente e deseleziono altri oggetti
|
||||
m_PrevSelObjs.Clear()
|
||||
Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
|
||||
|
||||
@@ -135,6 +135,8 @@ Public Class RibParamPanelVM
|
||||
Map.refSliceManagerVM.UpdateDimensions()
|
||||
End If
|
||||
End If
|
||||
' riattivo lista ribs
|
||||
Map.refRibPanelVM.SetRibListIsEnabled(False)
|
||||
' ripristino modalita' standard
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
||||
Map.refRibPanelVM.ResetMachParamIsChecked()
|
||||
|
||||
@@ -274,8 +274,6 @@ Public Class MySceneHostVM
|
||||
bOk = MainController.OpenProject(sFilePath, False)
|
||||
' Imposto stato gestione mouse diretto della scena a nessuno
|
||||
MainScene.SetStatusNull()
|
||||
' imposto modalita' import
|
||||
Map.refTopPanelVM.SelPage = Pages.NULL
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
|
||||
@@ -40,6 +40,10 @@ Public Class ShellNumberPanelVM
|
||||
Return m_SelShellNumber
|
||||
End Get
|
||||
Set(value As ShellNumberEntity)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse Map.refShellNumberPanelVM.bCPlaneObj_IsActive Then
|
||||
NotifyPropertyChanged(NameOf(SelShellNumber))
|
||||
Return
|
||||
End If
|
||||
m_SelShellNumber = value
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(value) Then
|
||||
@@ -354,6 +358,8 @@ Public Class ShellNumberPanelVM
|
||||
NotifyPropertyChanged(NameOf(bRotate_IsChecked))
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.SHELLNUMBERPARAM)
|
||||
NotifyPropertyChanged(NameOf(ShellNumberList_IsEnabled))
|
||||
' disattivo lista shell number
|
||||
SetShellNumberListIsEnabled(False)
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked))
|
||||
End If
|
||||
@@ -371,11 +377,17 @@ Public Class ShellNumberPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_ShellNumberList_IsEnabled As Boolean = False
|
||||
Public ReadOnly Property ShellNumberList_IsEnabled As Boolean
|
||||
Get
|
||||
Return Not m_bMachParam_IsChecked
|
||||
Return If(m_ShellNumberList.Count > 0, m_ShellNumberList_IsEnabled, False)
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetShellNumberListIsEnabled(bValue As Boolean)
|
||||
m_ShellNumberList_IsEnabled = bValue
|
||||
NotifyPropertyChanged(NameOf(ShellNumberList_IsEnabled))
|
||||
End Sub
|
||||
|
||||
' riferimento griglia all'ingresso in questa pagina
|
||||
Private m_OriginalGridFrame As New Frame3d
|
||||
|
||||
@@ -393,6 +405,8 @@ Public Class ShellNumberPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bEscOnLine2P As Boolean = False
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property Import_ToolTip As String
|
||||
@@ -576,6 +590,8 @@ Public Class ShellNumberPanelVM
|
||||
SelShellNumber = m_ShellNumberList(0)
|
||||
NotifyPropertyChanged(NameOf(SelShellNumber))
|
||||
End If
|
||||
' abilito lista shell number
|
||||
SetShellNumberListIsEnabled(True)
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
@@ -620,6 +636,8 @@ Public Class ShellNumberPanelVM
|
||||
EgtSelectObj(m_SelShellNumber.nExtrusionId)
|
||||
End Select
|
||||
EgtDraw()
|
||||
' disattivo il resto dell'interfaccia
|
||||
ManageInterface(False)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
@@ -629,6 +647,7 @@ Public Class ShellNumberPanelVM
|
||||
End Sub
|
||||
|
||||
Friend Sub OnExecCmdEnd(command As Controller.CMD)
|
||||
m_bEscOnLine2P = False
|
||||
Select Case command
|
||||
Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE
|
||||
' leggo altezza estrusione
|
||||
@@ -668,6 +687,10 @@ Public Class ShellNumberPanelVM
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End Select
|
||||
' se non ho creato percorso riabilito interfaccia
|
||||
If Not m_bIsCreatingPath Then
|
||||
ManageInterface(True)
|
||||
End If
|
||||
If command <> Controller.CMD.LINE2P AndAlso command <> Controller.CMD.EXTRUDE Then Return
|
||||
' se finita creazione estrusione
|
||||
If m_bIsCreatingExtrusion Then
|
||||
@@ -738,6 +761,9 @@ Public Class ShellNumberPanelVM
|
||||
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
|
||||
m_bIsCreatingExtrusion = True
|
||||
Map.refControllerInputPanelVM.IsChecked = True
|
||||
If Not EgtCurveIsClosed(nNewEntityId) Then
|
||||
m_bEscOnLine2P = True
|
||||
End If
|
||||
Else
|
||||
' cancello layer
|
||||
EgtErase(nNewExtrusionLayerId)
|
||||
@@ -762,6 +788,13 @@ Public Class ShellNumberPanelVM
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End If
|
||||
' se esc su creazione percorso, lo annullo, altrimenti riabilito interfaccia
|
||||
If m_bEscOnLine2P Then
|
||||
m_bEscOnLine2P = False
|
||||
Else
|
||||
If m_bIsCreatingExtrusion Then m_bIsCreatingExtrusion = False
|
||||
ManageInterface(True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -797,6 +830,18 @@ Public Class ShellNumberPanelVM
|
||||
Return nShellNumberIndex + 1
|
||||
End Function
|
||||
|
||||
Friend Sub ManageInterface(bValue As Boolean)
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(bValue)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(bValue)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(bValue)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(bValue)
|
||||
SetShellNumberListIsEnabled(bValue)
|
||||
End Sub
|
||||
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -820,7 +865,9 @@ Public Class ShellNumberPanelVM
|
||||
''' </summary>
|
||||
Public Sub Import(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.InsertShellNumber()
|
||||
ManageInterface(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Import
|
||||
@@ -844,6 +891,7 @@ Public Class ShellNumberPanelVM
|
||||
''' </summary>
|
||||
Public Sub Line2P(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Dim nNewShellNumberLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWRIB)
|
||||
If nNewShellNumberLayerId = GDB_ID.NULL Then nNewShellNumberLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewShellNumberLayerId, LAY_NEWRIB)
|
||||
@@ -892,6 +940,7 @@ Public Class ShellNumberPanelVM
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelShellNumber))
|
||||
End If
|
||||
SetShellNumberListIsEnabled(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Delete
|
||||
@@ -1316,6 +1365,7 @@ Public Class ShellNumberPanelVM
|
||||
''' </summary>
|
||||
Public Sub CPlaneObj(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
' salvo selezione precedente e deseleziono altri oggetti
|
||||
m_PrevSelObjs.Clear()
|
||||
Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
|
||||
|
||||
@@ -526,6 +526,8 @@ Public Class SliceManagerVM
|
||||
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
|
||||
''' </summary>
|
||||
Public Sub Slice()
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse Map.refStartMachPanelVM.bCPlaneObj_IsActive OrElse Map.refRibPanelVM.bCPlaneObj_IsActive OrElse
|
||||
Map.refShellNumberPanelVM.bCPlaneObj_IsActive OrElse Map.refFilledSolidPanelVM.bCPlaneObj_IsActive Then Return
|
||||
If m_bCalculating Then Return
|
||||
m_bCalculating = True
|
||||
If IsNothing(Map.refTopPanelVM.SelPart) Then
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
ItemsSource="{Binding StartList}"
|
||||
SelectedItem="{Binding SelStart}"
|
||||
DisplayMemberPath="ghName"
|
||||
IsEnabled="{Binding StartList_IsEnabled}"
|
||||
Style="{StaticResource LeftPanel_ComboBox}"/>
|
||||
<!-- Add Button -->
|
||||
<ToggleButton x:Name="AddBtn"
|
||||
|
||||
@@ -35,6 +35,10 @@ Public Class StartMachPanelVM
|
||||
Return m_SelStart
|
||||
End Get
|
||||
Set(value As StartEntity)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse Map.refStartMachPanelVM.bCPlaneObj_IsActive Then
|
||||
NotifyPropertyChanged(NameOf(SelStart))
|
||||
Return
|
||||
End If
|
||||
m_SelStart = value
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(value) Then
|
||||
@@ -293,6 +297,18 @@ Public Class StartMachPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_StartList_IsEnabled As Boolean = False
|
||||
Public ReadOnly Property StartList_IsEnabled As Boolean
|
||||
Get
|
||||
Return If(m_StartList.Count > 0, m_StartList_IsEnabled, False)
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetStartListIsEnabled(bValue As Boolean)
|
||||
m_StartList_IsEnabled = bValue
|
||||
NotifyPropertyChanged(NameOf(StartList_IsEnabled))
|
||||
End Sub
|
||||
|
||||
|
||||
' riferimento griglia all'ingresso in questa pagina
|
||||
Private m_OriginalGridFrame As New Frame3d
|
||||
|
||||
@@ -304,6 +320,8 @@ Public Class StartMachPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bEscOnLine2P As Boolean = False
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property Point_ToolTip As String
|
||||
@@ -458,6 +476,8 @@ Public Class StartMachPanelVM
|
||||
SelStart = m_StartList(0)
|
||||
NotifyPropertyChanged(NameOf(SelStart))
|
||||
End If
|
||||
' abilito lista start mach
|
||||
SetStartListIsEnabled(True)
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
@@ -481,16 +501,33 @@ Public Class StartMachPanelVM
|
||||
' seleziono percorso corrente
|
||||
EgtDeselectAll()
|
||||
EgtSelectObj(m_SelStart.nId)
|
||||
EgtDraw()
|
||||
' disattivo il resto dell'interfaccia
|
||||
ManageInterface(False)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Friend Sub UpdateUI()
|
||||
' se attiva operazione in piu' passaggi, esco
|
||||
If Map.refSceneHostVM.MainController.GetContinue() Then Return
|
||||
Dim NewEntity As StartEntity = Nothing
|
||||
' se finita creazione curva (è stata chiusa)
|
||||
End Sub
|
||||
|
||||
Friend Sub OnExecCmdEnd(command As Controller.CMD)
|
||||
m_bEscOnLine2P = False
|
||||
Select Case command
|
||||
Case Controller.CMD.LINE2P, Controller.CMD.DELETE, Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE,
|
||||
Controller.CMD.MOVE, Controller.CMD.ROTATE
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End Select
|
||||
' riabilito interfaccia
|
||||
ManageInterface(True)
|
||||
' se finita creazione curva
|
||||
If bIsCreatingPath Then
|
||||
m_bIsCreatingPath = False
|
||||
Dim NewEntity As StartEntity = Nothing
|
||||
Dim nNewStartLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWSTART)
|
||||
Dim nNewEntityId As Integer = EgtGetFirstInGroup(nNewStartLayerId)
|
||||
Dim NewGeomType As GDB_TY = EgtGetType(nNewEntityId)
|
||||
@@ -503,37 +540,22 @@ Public Class StartMachPanelVM
|
||||
NewEntityType = StartMachTypes.COMPO
|
||||
End Select
|
||||
EgtSetName(nNewEntityId, START_GEOM)
|
||||
' coloro l'entita' di rosso
|
||||
Dim c3Red As Color3d
|
||||
c3Red.FromColor(System.Drawing.Color.Red)
|
||||
EgtSetColor(nNewEntityId, c3Red)
|
||||
' resetto colore entita'
|
||||
EgtResetColor(nNewEntityId)
|
||||
' lo sposto nel layer degli start
|
||||
EgtRelocateGlob(nNewEntityId, m_nStartMachLayerId, GDB_POS.LAST_SON)
|
||||
' lo aggiungo alla lista
|
||||
NewEntity = New StartEntity(nNewEntityId, NewEntityType)
|
||||
m_StartList.Add(NewEntity)
|
||||
' cancello layer di disegno
|
||||
EgtErase(nNewStartLayerId)
|
||||
' lo seleziono
|
||||
SelStart = NewEntity
|
||||
NotifyPropertyChanged(NameOf(SelStart))
|
||||
End If
|
||||
' cancello layer di disegno
|
||||
EgtErase(nNewStartLayerId)
|
||||
End If
|
||||
' aggiorno posizione
|
||||
RefreshPos()
|
||||
' se aggiunta entita'
|
||||
If Not IsNothing(NewEntity) Then
|
||||
SelStart = NewEntity
|
||||
NotifyPropertyChanged(NameOf(SelStart))
|
||||
End If
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
Friend Sub OnExecCmdEnd(command As Controller.CMD)
|
||||
Select Case command
|
||||
Case Controller.CMD.LINE2P, Controller.CMD.DELETE, Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE,
|
||||
Controller.CMD.MOVE, Controller.CMD.ROTATE
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Sub OnKeyDown(Key As Forms.Keys)
|
||||
@@ -550,6 +572,12 @@ Public Class StartMachPanelVM
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End If
|
||||
' se esc su creazione percorso, lo annullo, altrimenti riabilito interfaccia
|
||||
If m_bEscOnLine2P Then
|
||||
m_bEscOnLine2P = False
|
||||
Else
|
||||
ManageInterface(True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -565,6 +593,17 @@ Public Class StartMachPanelVM
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub ManageInterface(bValue As Boolean)
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(bValue)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(bValue)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(bValue)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(bValue)
|
||||
SetStartListIsEnabled(bValue)
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -588,13 +627,13 @@ Public Class StartMachPanelVM
|
||||
''' </summary>
|
||||
Public Sub Point(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Dim nNewStartLayerId As Integer = EgtGetFirstNameInGroup( m_nPartId, LAY_NEWSTART)
|
||||
ManageInterface(False)
|
||||
Dim nNewStartLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWSTART)
|
||||
If nNewStartLayerId = GDB_ID.NULL Then
|
||||
nNewStartLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewStartLayerId, LAY_NEWSTART)
|
||||
End If
|
||||
EgtSetCurrPartLayer(m_nPartId, nNewStartLayerId)
|
||||
'InitCommand(True)
|
||||
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.POINT) Then
|
||||
m_bIsCreatingPath = True
|
||||
End If
|
||||
@@ -621,7 +660,8 @@ Public Class StartMachPanelVM
|
||||
''' </summary>
|
||||
Public Sub Line2P(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Dim nNewStartLayerId As Integer = EgtGetFirstNameInGroup( m_nPartId, LAY_NEWSTART)
|
||||
ManageInterface(False)
|
||||
Dim nNewStartLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWSTART)
|
||||
If nNewStartLayerId = GDB_ID.NULL Then
|
||||
nNewStartLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewStartLayerId, LAY_NEWSTART)
|
||||
@@ -952,6 +992,7 @@ Public Class StartMachPanelVM
|
||||
''' </summary>
|
||||
Public Sub CPlaneObj(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
' salvo selezione precedente e deseleziono altri oggetti
|
||||
m_PrevSelObjs.Clear()
|
||||
Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
|
||||
@@ -1012,6 +1053,7 @@ Public Class StartMachPanelVM
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelStart))
|
||||
End If
|
||||
SetStartListIsEnabled(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Delete
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<ToggleButton x:Name="ModifyBtn"
|
||||
Grid.Column="2"
|
||||
Grid.Row="1"
|
||||
Content="{Binding SelectedItem.sName, ElementName=ModifyModeListBox}"
|
||||
Content="{Binding SelModifyModeName}"
|
||||
IsChecked="{Binding bModify_IsChecked}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource TopPanel_Modify_ToggleButton}">
|
||||
|
||||
@@ -121,6 +121,7 @@ Public Class TopPanelVM
|
||||
Map.refLeftPanelVM.SetSelPanel(LeftPanelVM.Panels.NULL)
|
||||
NotifyPropertyChanged(NameOf(SelModifyMode))
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelModifyModeName))
|
||||
' chiudo il popup
|
||||
SetModifyIsChecked(False)
|
||||
End Set
|
||||
@@ -128,8 +129,15 @@ Public Class TopPanelVM
|
||||
Friend Sub SetSelModifyMode(ModifyMode As ModifyModes)
|
||||
SelModifyMode = m_ModifyModeList.FirstOrDefault(Function(x) x.ModifyMode = ModifyMode)
|
||||
NotifyPropertyChanged(NameOf(SelModifyMode))
|
||||
NotifyPropertyChanged(NameOf(SelModifyModeName))
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property SelModifyModeName As String
|
||||
Get
|
||||
Return If(Not IsNothing(m_SelModifyMode) AndAlso m_SelModifyMode.ModifyMode <> ModifyModes.NULL, m_SelModifyMode.sName, "Modify")
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bModify_IsChecked As Boolean
|
||||
Public Property bModify_IsChecked As Boolean
|
||||
Get
|
||||
|
||||
Reference in New Issue
Block a user