Imports EgtUILib Imports EgtWPFLib5 Public Class FinalMoveRawModeVM #Region "FIELDS and PROPERTIES" Public ReadOnly Property PauseMsg As String Get Return "Pause" End Get End Property Private m_PauseBtnIsEnable As Boolean = True Public Property PauseBtnIsEnable As Boolean Get Return m_PauseBtnIsEnable End Get Set(value As Boolean) m_PauseBtnIsEnable = value End Set End Property #End Region ' FIELDS and PROPERTIES #Region "CONSTRUCTOR" Private m_nAuxTabId As Integer = GDB_ID.NULL Public ReadOnly Property nAuxTabId As Integer Get Return m_nAuxTabId End Get End Property Sub New() ' Creo riferimento a questa classe in OmagOFFICEMap OmagOFFICEMap.SetRefFinalMoveRawModeVM(Me) End Sub #End Region ' CONSTRUCTOR #Region "METHODS" ' inizializzo i dati della tavola ausiliaria all'interno della fase corrente Public Function SetAuxTabInCurrDisposition() As Boolean Dim bOk As Boolean = False ' OmagOFFICEMap.refMoveRawModeVM.InitMoveRaw() m_nAuxTabId = EgtGetTableId(AUX_TAB) ' Visualizzo tavolo ausiliario Dim bOldEnMod As Boolean = EgtGetEnableModified() If bOldEnMod Then EgtDisableModified() EgtSetStatus(m_nAuxTabId, GDB_ST.ON_) If bOldEnMod Then EgtEnableModified() ' Area tavolo ausiliario Dim b3AuxTab As New BBox3d EgtGetBBoxGlob(EgtGetFirstNameInGroup(m_nAuxTabId, "A1"), GDB_BB.STANDARD, b3AuxTab) ' Area tavolo principale Dim b3Tab As New BBox3d EgtGetTableArea(1, b3Tab) ' Imposto offset su tavolo principale per includere anche il secondario Dim dOffsXP As Double = Math.Max(b3AuxTab.Max().x - b3Tab.Max().x, 0) Dim dOffsYP As Double = Math.Max(b3AuxTab.Max().y - b3Tab.Max().y, 0) Dim dOffsXM As Double = Math.Max(b3Tab.Min().x - b3AuxTab.Min().x, 0) Dim dOffsYM As Double = Math.Max(b3Tab.Min().y - b3AuxTab.Min().y, 0) bOk = EgtSetTableAreaOffset(dOffsXP, dOffsYP, dOffsXM, dOffsYM) EgtZoom(ZM.ALL) Return bOk End Function #End Region ' METHODS ' Definizione comandi Private m_cmdTopLeft As ICommand Private m_cmdTopRight As ICommand Private m_cmdBottomLeft As ICommand Private m_cmdBottomRight As ICommand Private m_cmdReset As ICommand Private m_cmdPause As ICommand Public Function Init() As Boolean Return SetAuxTabInCurrDisposition() End Function #Region "TopLeft" Public ReadOnly Property TopLeftCommand As ICommand Get If m_cmdTopLeft Is Nothing Then m_cmdTopLeft = New Command(AddressOf TopLeft) End If Return m_cmdTopLeft End Get End Property Public Sub TopLeft(ByVal param As Object) OmagOFFICEMap.refMoveRawModeVM.MoveOnRef("REF4", MCH_CR.TL) End Sub #End Region ' TopLeft #Region "TopRight" Public ReadOnly Property TopRightCommand As ICommand Get If m_cmdTopRight Is Nothing Then m_cmdTopRight = New Command(AddressOf TopRight) End If Return m_cmdTopRight End Get End Property Public Sub TopRight(ByVal param As Object) OmagOFFICEMap.refMoveRawModeVM.MoveOnRef("REF3", MCH_CR.TR) '' salvo il file per verifica che siano stati salvati i dati di movimentazione del pezzo 'EgtSaveFile("c:\EgtData\OmagOFFICE\Temp\FINALRAWMOVE_02.nge", NGE.TEXT) End Sub #End Region ' TopRight #Region "BottomLeft" Public ReadOnly Property BottomLeftCommand As ICommand Get If m_cmdBottomLeft Is Nothing Then m_cmdBottomLeft = New Command(AddressOf BottomLeft) End If Return m_cmdBottomLeft End Get End Property Public Sub BottomLeft(ByVal param As Object) OmagOFFICEMap.refMoveRawModeVM.MoveOnRef("REF1", MCH_CR.BL) End Sub #End Region ' Bottomleft #Region "BottomRight" Public ReadOnly Property BottomRightCommand As ICommand Get If m_cmdBottomRight Is Nothing Then m_cmdBottomRight = New Command(AddressOf BottomRight) End If Return m_cmdBottomRight End Get End Property Public Sub BottomRight(ByVal param As Object) OmagOFFICEMap.refMoveRawModeVM.MoveOnRef("REF2", MCH_CR.BR) End Sub #End Region ' BottomRight #Region "Reset" Public ReadOnly Property ResetCommand As ICommand Get If m_cmdReset Is Nothing Then m_cmdReset = New Command(AddressOf Reset) End If Return m_cmdReset End Get End Property Public Sub Reset(ByVal param As Object) OmagOFFICEMap.refMoveRawModeVM.ResetFinaleMove() End Sub #End Region ' Reset #Region "Pause" Public ReadOnly Property PauseCommand As ICommand Get If m_cmdPause Is Nothing Then m_cmdPause = New Command(AddressOf Pause) End If Return m_cmdPause End Get End Property Public Sub Pause(ByVal param As Object) ' inserire il libreria questa nuova funzionalità per l'inserimento di una nuova fase OmagOFFICEMap.refMoveRawModeVM.InsertPause() End Sub #End Region ' Pause End Class