Imports EgtUILib Namespace EgtCAM5 Public Class DrawPanelViewModel Inherits ViewModelBase 'Proprietà ToolTip Public ReadOnly Property PointToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 1) End Get End Property Public ReadOnly Property Line2PToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 2) End Get End Property Public ReadOnly Property LinePDLToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 3) End Get End Property Public ReadOnly Property CirclePDToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 4) End Get End Property Public ReadOnly Property CircleCDToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 5) End Get End Property Public ReadOnly Property ArcCSEToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 6) End Get End Property Public ReadOnly Property Arc3PToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 7) End Get End Property Public ReadOnly Property ArcPDPToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 8) End Get End Property Public ReadOnly Property FilletToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 9) End Get End Property Public ReadOnly Property ChamferToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 10) End Get End Property Public ReadOnly Property Rectangle2PToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 11) End Get End Property Public ReadOnly Property PolygonToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 12) End Get End Property Public ReadOnly Property PolygonSideToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 13) End Get End Property Public ReadOnly Property TextToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 14) End Get End Property Public ReadOnly Property PlaneToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 15) End Get End Property Public ReadOnly Property ExtrudeToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 16) End Get End Property Public ReadOnly Property RevolveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 17) End Get End Property Public ReadOnly Property ScrewToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 18) End Get End Property Public ReadOnly Property RuledToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 19) End Get End Property Public ReadOnly Property MergeSurfToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 20) End Get End Property Public ReadOnly Property ExplodeSurfToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 21) End Get End Property Public ReadOnly Property InvertSurfToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 22) End Get End Property Public ReadOnly Property DeleteToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 23) End Get End Property Public ReadOnly Property ChangeLayerToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 24) End Get End Property Public ReadOnly Property ChangeAlphaToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 25) End Get End Property Public ReadOnly Property ResetColorToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 26) End Get End Property Public ReadOnly Property ChangeColorToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 27) End Get End Property Public ReadOnly Property InvertCurveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 28) End Get End Property Public ReadOnly Property ChangeStartToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 29) End Get End Property Public ReadOnly Property ExtendCurveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 30) End Get End Property Public ReadOnly Property BreakCurveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 31) End Get End Property Public ReadOnly Property SplitCurveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 32) End Get End Property Public ReadOnly Property JoinCurveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 33) End Get End Property Public ReadOnly Property ExplodeCurveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 34) End Get End Property Public ReadOnly Property ThickCurveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 35) End Get End Property Public ReadOnly Property MoveToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 36) End Get End Property Public ReadOnly Property RotateToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 37) End Get End Property Public ReadOnly Property Rotate3DToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 38) End Get End Property Public ReadOnly Property MirrorToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 39) End Get End Property Public ReadOnly Property Mirror3DToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 40) End Get End Property Public ReadOnly Property ScaleToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 41) End Get End Property Public ReadOnly Property Scale3DToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 42) End Get End Property Public ReadOnly Property OffsetToolTip As String Get Return EgtMsg(MSG_DRAWMODE + 43) End Get End Property ' Definizione comandi Private m_cmdPoint As ICommand Private m_cmdLine2P As ICommand Private m_cmdLinePDL As ICommand Private m_cmdCircleCP As ICommand Private m_cmdCircleCD As ICommand Private m_cmdArcCSE As ICommand Private m_cmdArc3P As ICommand Private m_cmdArcPDP As ICommand Private m_cmdFillet As ICommand Private m_cmdChamfer As ICommand Private m_cmdRectangle2P As ICommand Private m_cmdPolygon As ICommand Private m_cmdPolygonSide As ICommand Private m_cmdText As ICommand Private m_cmdPlane As ICommand Private m_cmdExtrude As ICommand Private m_cmdRevolve As ICommand Private m_cmdScrew As ICommand Private m_cmdRuled As ICommand Private m_cmdMergeSurf As ICommand Private m_cmdExplodeSurf As ICommand Private m_cmdInvertSurf As ICommand Private m_cmdDelete As ICommand Private m_cmdChangeLayer As ICommand Private m_cmdChangeAlpha As ICommand Private m_cmdResetColor As ICommand Private m_cmdChangeColor As ICommand Private m_cmdInvertCurve As ICommand Private m_cmdChangeStartCurve As ICommand Private m_cmdExtendCurve As ICommand Private m_cmdBreakCurve As ICommand Private m_cmdSplitCurve As ICommand Private m_cmdJoinCurve As ICommand Private m_cmdExplodeCurve As ICommand Private m_cmdSetCurveTh As ICommand Private m_cmdMove As ICommand Private m_cmdRotate As ICommand Private m_cmdRotate3D As ICommand Private m_cmdMirror As ICommand Private m_cmdMirror3D As ICommand Private m_cmdScale As ICommand Private m_cmdScale3D As ICommand Private m_cmdOffset As ICommand Sub New() End Sub #Region "PointCommand" ''' ''' Returns a command that do Point. ''' Public ReadOnly Property PointCommand As ICommand Get If m_cmdPoint Is Nothing Then m_cmdPoint = New RelayCommand(AddressOf Point, AddressOf CanPoint) End If Return m_cmdPoint End Get End Property ''' ''' Execute the Point. This method is invoked by the PointCommand. ''' Public Sub Point(ByVal param As Object) Application.Msn.NotifyColleagues(Application.POINT) End Sub ''' ''' Returns always true. ''' Private Function CanPoint(ByVal param As Object) As Boolean Return True End Function #End Region ' PointCommand #Region "Line2PCommand" ''' ''' Returns a command that do Line2P. ''' Public ReadOnly Property Line2PCommand As ICommand Get If m_cmdLine2P Is Nothing Then m_cmdLine2P = New RelayCommand(AddressOf Line2P, AddressOf CanLine2P) End If Return m_cmdLine2P End Get End Property ''' ''' Execute the Line2P. This method is invoked by the Line2PCommand. ''' Public Sub Line2P(ByVal param As Object) Application.Msn.NotifyColleagues(Application.LINE2P) End Sub ''' ''' Returns always true. ''' Private Function CanLine2P(ByVal param As Object) As Boolean Return True End Function #End Region ' Line2PCommand #Region "LinePDLCommand" ''' ''' Returns a command that do LinePDL. ''' Public ReadOnly Property LinePDLCommand As ICommand Get If m_cmdLinePDL Is Nothing Then m_cmdLinePDL = New RelayCommand(AddressOf LinePDL, AddressOf CanLinePDL) End If Return m_cmdLinePDL End Get End Property ''' ''' Execute the LinePDL. This method is invoked by the LinePDLCommand. ''' Public Sub LinePDL(ByVal param As Object) Application.Msn.NotifyColleagues(Application.LINEPDL) End Sub ''' ''' Returns always true. ''' Private Function CanLinePDL(ByVal param As Object) As Boolean Return True End Function #End Region ' LinePDLCommand #Region "CircleCPCommand" ''' ''' Returns a command that do CircleCP. ''' Public ReadOnly Property CircleCPCommand As ICommand Get If m_cmdCircleCP Is Nothing Then m_cmdCircleCP = New RelayCommand(AddressOf CircleCP, AddressOf CanCircleCP) End If Return m_cmdCircleCP End Get End Property ''' ''' Execute the CircleCP. This method is invoked by the CircleCPCommand. ''' Public Sub CircleCP(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CIRCLECP) End Sub ''' ''' Returns always true. ''' Private Function CanCircleCP(ByVal param As Object) As Boolean Return True End Function #End Region ' CircleCPCommand #Region "CircleCDCommand" ''' ''' Returns a command that do CircleCD. ''' Public ReadOnly Property CircleCDCommand As ICommand Get If m_cmdCircleCD Is Nothing Then m_cmdCircleCD = New RelayCommand(AddressOf CircleCD, AddressOf CanCircleCD) End If Return m_cmdCircleCD End Get End Property ''' ''' Execute the CircleCD. This method is invoked by the CircleCDCommand. ''' Public Sub CircleCD(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CIRCLECD) End Sub ''' ''' Returns always true. ''' Private Function CanCircleCD(ByVal param As Object) As Boolean Return True End Function #End Region ' CircleCDCommand #Region "ArcCSECommand" ''' ''' Returns a command that do ArcCSE. ''' Public ReadOnly Property ArcCSECommand As ICommand Get If m_cmdArcCSE Is Nothing Then m_cmdArcCSE = New RelayCommand(AddressOf ArcCSE, AddressOf CanArcCSE) End If Return m_cmdArcCSE End Get End Property ''' ''' Execute the ArcCSE. This method is invoked by the ArcCSECommand. ''' Public Sub ArcCSE(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.ARCCSE) End Sub ''' ''' Returns always true. ''' Private Function CanArcCSE(ByVal param As Object) As Boolean Return True End Function #End Region ' ArcCSECommand #Region "Arc3PCommand" ''' ''' Returns a command that do Arc3P. ''' Public ReadOnly Property Arc3PCommand As ICommand Get If m_cmdArc3P Is Nothing Then m_cmdArc3P = New RelayCommand(AddressOf Arc3P, AddressOf CanArc3P) End If Return m_cmdArc3P End Get End Property ''' ''' Execute the Arc3P. This method is invoked by the Arc3PCommand. ''' Public Sub Arc3P(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.ARC3P) End Sub ''' ''' Returns always true. ''' Private Function CanArc3P(ByVal param As Object) As Boolean Return True End Function #End Region ' Arc3PCommand #Region "ArcPDPCommand" ''' ''' Returns a command that do ArcPDP. ''' Public ReadOnly Property ArcPDPCommand As ICommand Get If m_cmdArcPDP Is Nothing Then m_cmdArcPDP = New RelayCommand(AddressOf ArcPDP, AddressOf CanArcPDP) End If Return m_cmdArcPDP End Get End Property ''' ''' Execute the ArcPDP. This method is invoked by the ArcPDPCommand. ''' Public Sub ArcPDP(ByVal param As Object) Application.Msn.NotifyColleagues(Application.ARCPDP) End Sub ''' ''' Returns always true. ''' Private Function CanArcPDP(ByVal param As Object) As Boolean Return True End Function #End Region ' ArcPDPCommand #Region "FilletCommand" ''' ''' Returns a command that do Fillet. ''' Public ReadOnly Property FilletCommand As ICommand Get If m_cmdFillet Is Nothing Then m_cmdFillet = New RelayCommand(AddressOf Fillet, AddressOf CanFillet) End If Return m_cmdFillet End Get End Property ''' ''' Execute the Fillet. This method is invoked by the FilletCommand. ''' Public Sub Fillet(ByVal param As Object) Application.Msn.NotifyColleagues(Application.FILLET) End Sub ''' ''' Returns always true. ''' Private Function CanFillet(ByVal param As Object) As Boolean Return True End Function #End Region ' FilletCommand #Region "ChamferCommand" ''' ''' Returns a command that do Chamfer. ''' Public ReadOnly Property ChamferCommand As ICommand Get If m_cmdChamfer Is Nothing Then m_cmdChamfer = New RelayCommand(AddressOf Chamfer, AddressOf CanChamfer) End If Return m_cmdChamfer End Get End Property ''' ''' Execute the Chamfer. This method is invoked by the ChamferCommand. ''' Public Sub Chamfer(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CHAMFER) End Sub ''' ''' Returns always true. ''' Private Function CanChamfer(ByVal param As Object) As Boolean Return True End Function #End Region ' ChamferCommand #Region "Rectangle2PCommand" ''' ''' Returns a command that do Rectangle2P. ''' Public ReadOnly Property Rectangle2PCommand As ICommand Get If m_cmdRectangle2P Is Nothing Then m_cmdRectangle2P = New RelayCommand(AddressOf Rectangle2P, AddressOf CanRectangle2P) End If Return m_cmdRectangle2P End Get End Property ''' ''' Execute the Rectangle2P. This method is invoked by the Rectangle2PCommand. ''' Public Sub Rectangle2P(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.RECTANGLE2P) End Sub ''' ''' Returns always true. ''' Private Function CanRectangle2P(ByVal param As Object) As Boolean Return True End Function #End Region ' Rectangle2PCommand #Region "PolygonCommand" ''' ''' Returns a command that do Polygon. ''' Public ReadOnly Property PolygonCommand As ICommand Get If m_cmdPolygon Is Nothing Then m_cmdPolygon = New RelayCommand(AddressOf Polygon, AddressOf CanPolygon) End If Return m_cmdPolygon End Get End Property ''' ''' Execute the Polygon. This method is invoked by the PolygonCommand. ''' Public Sub Polygon(ByVal param As Object) Application.Msn.NotifyColleagues(Application.POLYGON) End Sub ''' ''' Returns always true. ''' Private Function CanPolygon(ByVal param As Object) As Boolean Return True End Function #End Region ' PolygonCommand #Region "PolygonSideCommand" ''' ''' Returns a command that do PolygonSide. ''' Public ReadOnly Property PolygonSideCommand As ICommand Get If m_cmdPolygonSide Is Nothing Then m_cmdPolygonSide = New RelayCommand(AddressOf PolygonSide, AddressOf CanPolygonSide) End If Return m_cmdPolygonSide End Get End Property ''' ''' Execute the PolygonSide. This method is invoked by the PolygonSideCommand. ''' Public Sub PolygonSide(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.POLYGONSIDE) End Sub ''' ''' Returns always true. ''' Private Function CanPolygonSide(ByVal param As Object) As Boolean Return True End Function #End Region ' PolygonSideCommand #Region "TextCommand" ''' ''' Returns a command that do Text. ''' Public ReadOnly Property TextCommand As ICommand Get If m_cmdText Is Nothing Then m_cmdText = New RelayCommand(AddressOf Text, AddressOf CanText) End If Return m_cmdText End Get End Property ''' ''' Execute the Text. This method is invoked by the TextCommand. ''' Public Sub Text(ByVal param As Object) Application.Msn.NotifyColleagues(Application.TEXT) End Sub ''' ''' Returns always true. ''' Private Function CanText(ByVal param As Object) As Boolean Return True End Function #End Region ' TextCommand #Region "PlaneCommand" ''' ''' Returns a command that do Plane. ''' Public ReadOnly Property PlaneCommand As ICommand Get If m_cmdPlane Is Nothing Then m_cmdPlane = New RelayCommand(AddressOf Plane, AddressOf CanPlane) End If Return m_cmdPlane End Get End Property ''' ''' Execute the Plane. This method is invoked by the PlaneCommand. ''' Public Sub Plane(ByVal param As Object) Application.Msn.NotifyColleagues(Application.PLANE) End Sub ''' ''' Returns always true. ''' Private Function CanPlane(ByVal param As Object) As Boolean Return True End Function #End Region ' PlaneCommand #Region "ExtrudeCommand" ''' ''' Returns a command that do Extrude. ''' Public ReadOnly Property ExtrudeCommand As ICommand Get If m_cmdExtrude Is Nothing Then m_cmdExtrude = New RelayCommand(AddressOf Extrude, AddressOf CanExtrude) End If Return m_cmdExtrude End Get End Property ''' ''' Execute the Extrude. This method is invoked by the ExtrudeCommand. ''' Public Sub Extrude(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.EXTRUDE) End Sub ''' ''' Returns always true. ''' Private Function CanExtrude(ByVal param As Object) As Boolean Return True End Function #End Region ' ExtrudeCommand #Region "RevolveCommand" ''' ''' Returns a command that do Revolve. ''' Public ReadOnly Property RevolveCommand As ICommand Get If m_cmdRevolve Is Nothing Then m_cmdRevolve = New RelayCommand(AddressOf Revolve, AddressOf CanRevolve) End If Return m_cmdRevolve End Get End Property ''' ''' Execute the Revolve. This method is invoked by the RevolveCommand. ''' Public Sub Revolve(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.REVOLVE) End Sub ''' ''' Returns always true. ''' Private Function CanRevolve(ByVal param As Object) As Boolean Return True End Function #End Region ' RevolveCommand #Region "ScrewCommand" ''' ''' Returns a command that do Screw. ''' Public ReadOnly Property ScrewCommand As ICommand Get If m_cmdScrew Is Nothing Then m_cmdScrew = New RelayCommand(AddressOf Screw, AddressOf CanScrew) End If Return m_cmdScrew End Get End Property ''' ''' Execute the Screw. This method is invoked by the ScrewCommand. ''' Public Sub Screw(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.SCREW) End Sub ''' ''' Returns always true. ''' Private Function CanScrew(ByVal param As Object) As Boolean Return True End Function #End Region ' ScrewCommand #Region "RuledCommand" ''' ''' Returns a command that do Ruled. ''' Public ReadOnly Property RuledCommand As ICommand Get If m_cmdRuled Is Nothing Then m_cmdRuled = New RelayCommand(AddressOf Ruled, AddressOf CanRuled) End If Return m_cmdRuled End Get End Property ''' ''' Execute the Ruled. This method is invoked by the RuledCommand. ''' Public Sub Ruled(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.RULED) End Sub ''' ''' Returns always true. ''' Private Function CanRuled(ByVal param As Object) As Boolean Return True End Function #End Region ' RuledCommand #Region "MergeSurfCommand" ''' ''' Returns a command that do MergeSurf. ''' Public ReadOnly Property MergeSurfCommand As ICommand Get If m_cmdMergeSurf Is Nothing Then m_cmdMergeSurf = New RelayCommand(AddressOf MergeSurf, AddressOf CanMergeSurf) End If Return m_cmdMergeSurf End Get End Property ''' ''' Execute the MergeSurf. This method is invoked by the MergeSurfCommand. ''' Public Sub MergeSurf(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.MERGESURF) End Sub ''' ''' Returns always true. ''' Private Function CanMergeSurf(ByVal param As Object) As Boolean Return True End Function #End Region ' MergeSurfCommand #Region "ExplodeSurfCommand" ''' ''' Returns a command that do ExplodeSurf. ''' Public ReadOnly Property ExplodeSurfCommand As ICommand Get If m_cmdExplodeSurf Is Nothing Then m_cmdExplodeSurf = New RelayCommand(AddressOf ExplodeSurf, AddressOf CanExplodeSurf) End If Return m_cmdExplodeSurf End Get End Property ''' ''' Execute the ExplodeSurf. This method is invoked by the ExplodeSurfCommand. ''' Public Sub ExplodeSurf(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.EXPLODESURF) End Sub ''' ''' Returns always true. ''' Private Function CanExplodeSurf(ByVal param As Object) As Boolean Return True End Function #End Region ' ExplodeSurfCommand #Region "InvertSurfCommand" ''' ''' Returns a command that do InvertSurf. ''' Public ReadOnly Property InvertSurfCommand As ICommand Get If m_cmdInvertSurf Is Nothing Then m_cmdInvertSurf = New RelayCommand(AddressOf InvertSurf, AddressOf CanInvertSurf) End If Return m_cmdInvertSurf End Get End Property ''' ''' Execute the InvertSurf. This method is invoked by the InvertSurfCommand. ''' Public Sub InvertSurf(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.INVERTSURF) End Sub ''' ''' Returns always true. ''' Private Function CanInvertSurf(ByVal param As Object) As Boolean Return True End Function #End Region ' InvertSurfCommand #Region "DeleteCommand" ''' ''' Returns a command that do Delete. ''' Public ReadOnly Property DeleteCommand As ICommand Get If m_cmdDelete Is Nothing Then m_cmdDelete = New RelayCommand(AddressOf Delete, AddressOf CanDelete) End If Return m_cmdDelete End Get End Property ''' ''' Execute the Delete. This method is invoked by the DeleteCommand. ''' Public Sub Delete(ByVal param As Object) Application.Msn.NotifyColleagues(Application.DELETE) End Sub ''' ''' Returns always true. ''' Private Function CanDelete(ByVal param As Object) As Boolean Return True End Function #End Region ' DeleteCommand #Region "ChangeLayerCommand" ''' ''' Returns a command that do ChangeLayer. ''' Public ReadOnly Property ChangeLayerCommand As ICommand Get If m_cmdChangeLayer Is Nothing Then m_cmdChangeLayer = New RelayCommand(AddressOf ChangeLayer, AddressOf CanChangeLayer) End If Return m_cmdChangeLayer End Get End Property ''' ''' Execute the ChangeLayer. This method is invoked by the ChangeLayerCommand. ''' Public Sub ChangeLayer(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CHANGELAYER) End Sub ''' ''' Returns always true. ''' Private Function CanChangeLayer(ByVal param As Object) As Boolean Return True End Function #End Region ' ChangeLayerCommand #Region "ChangeAlphaCommand" ''' ''' Returns a command that do ChangeAlpha. ''' Public ReadOnly Property ChangeAlphaCommand As ICommand Get If m_cmdChangeAlpha Is Nothing Then m_cmdChangeAlpha = New RelayCommand(AddressOf ChangeAlpha, AddressOf CanChangeAlpha) End If Return m_cmdChangeAlpha End Get End Property ''' ''' Execute the ChangeAlpha. This method is invoked by the ChangeAlphaCommand. ''' Public Sub ChangeAlpha(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CHANGEALPHA) End Sub ''' ''' Returns always true. ''' Private Function CanChangeAlpha(ByVal param As Object) As Boolean Return True End Function #End Region ' ChangeAlphaCommand #Region "ResetColorCommand" ''' ''' Returns a command that do ResetColor. ''' Public ReadOnly Property ResetColorCommand As ICommand Get If m_cmdResetColor Is Nothing Then m_cmdResetColor = New RelayCommand(AddressOf ResetColor, AddressOf CanResetColor) End If Return m_cmdResetColor End Get End Property ''' ''' Execute the ResetColor. This method is invoked by the ResetColorCommand. ''' Public Sub ResetColor(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.RESETCOLOR) End Sub ''' ''' Returns always true. ''' Private Function CanResetColor(ByVal param As Object) As Boolean Return True End Function #End Region ' ResetColorCommand #Region "ChangeColorCommand" ''' ''' Returns a command that do ChangeColor. ''' Public ReadOnly Property ChangeColorCommand As ICommand Get If m_cmdChangeColor Is Nothing Then m_cmdChangeColor = New RelayCommand(AddressOf ChangeColor, AddressOf CanChangeColor) End If Return m_cmdChangeColor End Get End Property ''' ''' Execute the ChangeColor. This method is invoked by the ChangeColorCommand. ''' Public Sub ChangeColor(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CHANGECOLOR) End Sub ''' ''' Returns always true. ''' Private Function CanChangeColor(ByVal param As Object) As Boolean Return True End Function #End Region ' ChangeColorCommand #Region "InvertCurveCommand" ''' ''' Returns a command that do InvertCurve. ''' Public ReadOnly Property InvertCurveCommand As ICommand Get If m_cmdInvertCurve Is Nothing Then m_cmdInvertCurve = New RelayCommand(AddressOf InvertCurve, AddressOf CanInvertCurve) End If Return m_cmdInvertCurve End Get End Property ''' ''' Execute the InvertCurve. This method is invoked by the InvertCurveCommand. ''' Public Sub InvertCurve(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.INVERTCURVE) End Sub ''' ''' Returns always true. ''' Private Function CanInvertCurve(ByVal param As Object) As Boolean Return True End Function #End Region ' InvertCurveCommand #Region "ChangeStartCurveCommand" ''' ''' Returns a command that do ChangeStartCurve. ''' Public ReadOnly Property ChangeStartCurveCommand As ICommand Get If m_cmdChangeStartCurve Is Nothing Then m_cmdChangeStartCurve = New RelayCommand(AddressOf ChangeStartCurve, AddressOf CanChangeStartCurve) End If Return m_cmdChangeStartCurve End Get End Property ''' ''' Execute the ChangeStartCurve. This method is invoked by the InvertCurveCommand. ''' Public Sub ChangeStartCurve(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CHANGESTARTCURVE) End Sub ''' ''' Returns always true. ''' Private Function CanChangeStartCurve(ByVal param As Object) As Boolean Return True End Function #End Region ' ChangeStartCurveCommand #Region "ExtendCurveCommand" ''' ''' Returns a command that do ExtendCurve. ''' Public ReadOnly Property ExtendCurveCommand As ICommand Get If m_cmdExtendCurve Is Nothing Then m_cmdExtendCurve = New RelayCommand(AddressOf ExtendCurve, AddressOf CanExtendCurve) End If Return m_cmdExtendCurve End Get End Property ''' ''' Execute the ExtendCurve. This method is invoked by the ExtendCurveCommand. ''' Public Sub ExtendCurve(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.TRIMEXTENDCURVE) End Sub ''' ''' Returns always true. ''' Private Function CanExtendCurve(ByVal param As Object) As Boolean Return True End Function #End Region ' ExtendCurveCommand #Region "BreakCurveCommand" ''' ''' Returns a command that do BreakCurve. ''' Public ReadOnly Property BreakCurveCommand As ICommand Get If m_cmdBreakCurve Is Nothing Then m_cmdBreakCurve = New RelayCommand(AddressOf BreakCurve, AddressOf CanBreakCurve) End If Return m_cmdBreakCurve End Get End Property ''' ''' Execute the BreakCurve. This method is invoked by the BreakCurveCommand. ''' Public Sub BreakCurve(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.BREAKCURVE) End Sub ''' ''' Returns always true. ''' Private Function CanBreakCurve(ByVal param As Object) As Boolean Return True End Function #End Region ' BreakCurveCommand #Region "SplitCurveCommand" ''' ''' Returns a command that do SplitCurve. ''' Public ReadOnly Property SplitCurveCommand As ICommand Get If m_cmdSplitCurve Is Nothing Then m_cmdSplitCurve = New RelayCommand(AddressOf SplitCurve, AddressOf CanSplitCurve) End If Return m_cmdSplitCurve End Get End Property ''' ''' Execute the SplitCurve. This method is invoked by the SplitCurveCommand. ''' Public Sub SplitCurve(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.SPLITCURVE) End Sub ''' ''' Returns always true. ''' Private Function CanSplitCurve(ByVal param As Object) As Boolean Return True End Function #End Region ' SplitCurveCommand #Region "JoinCurveCommand" ''' ''' Returns a command that do JoinCurve. ''' Public ReadOnly Property JoinCurveCommand As ICommand Get If m_cmdJoinCurve Is Nothing Then m_cmdJoinCurve = New RelayCommand(AddressOf JoinCurve, AddressOf CanJoinCurve) End If Return m_cmdJoinCurve End Get End Property ''' ''' Execute the JoinCurve. This method is invoked by the JoinCurveCommand. ''' Public Sub JoinCurve(ByVal param As Object) Application.Msn.NotifyColleagues(Application.JOINCURVE) End Sub ''' ''' Returns always true. ''' Private Function CanJoinCurve(ByVal param As Object) As Boolean Return True End Function #End Region ' JoinCurveCommand #Region "ExplodeCurveCommand" ''' ''' Returns a command that do ExplodeCurve. ''' Public ReadOnly Property ExplodeCurveCommand As ICommand Get If m_cmdExplodeCurve Is Nothing Then m_cmdExplodeCurve = New RelayCommand(AddressOf ExplodeCurve, AddressOf CanExplodeCurve) End If Return m_cmdExplodeCurve End Get End Property ''' ''' Execute the ExplodeCurve. This method is invoked by the ExplodeCurveCommand. ''' Public Sub ExplodeCurve(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.EXPLODECURVE) End Sub ''' ''' Returns always true. ''' Private Function CanExplodeCurve(ByVal param As Object) As Boolean Return True End Function #End Region ' ExplodeCurveCommand #Region "SetCurveThCommand" ''' ''' Returns a command that do SetCurveTh. ''' Public ReadOnly Property SetCurveThCommand As ICommand Get If m_cmdSetCurveTh Is Nothing Then m_cmdSetCurveTh = New RelayCommand(AddressOf SetCurveTh, AddressOf CanSetCurveTh) End If Return m_cmdSetCurveTh End Get End Property ''' ''' Execute the SetCurveTh. This method is invoked by the SetCurveThCommand. ''' Public Sub SetCurveTh(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.SETCURVETHICKNESS) End Sub ''' ''' Returns always true. ''' Private Function CanSetCurveTh(ByVal param As Object) As Boolean Return True End Function #End Region ' SetCurveThCommand #Region "MoveCommand" ''' ''' Returns a command that do Move. ''' Public ReadOnly Property MoveCommand As ICommand Get If m_cmdMove Is Nothing Then m_cmdMove = New RelayCommand(AddressOf Move, AddressOf CanMove) End If Return m_cmdMove End Get End Property ''' ''' Execute the Move. This method is invoked by the MoveCommand. ''' Public Sub Move(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.MOVE) End Sub ''' ''' Returns always true. ''' Private Function CanMove(ByVal param As Object) As Boolean Return True End Function #End Region ' MoveCommand #Region "RotateCommand" ''' ''' Returns a command that do Rotate. ''' Public ReadOnly Property RotateCommand As ICommand Get If m_cmdRotate Is Nothing Then m_cmdRotate = New RelayCommand(AddressOf Rotate, AddressOf CanRotate) End If Return m_cmdRotate End Get End Property ''' ''' Execute the Rotate. This method is invoked by the RotateCommand. ''' Public Sub Rotate(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.ROTATE) End Sub ''' ''' Returns always true. ''' Private Function CanRotate(ByVal param As Object) As Boolean Return True End Function #End Region ' RotateCommand #Region "Rotate3DCommand" ''' ''' Returns a command that do Rotate3D. ''' Public ReadOnly Property Rotate3DCommand As ICommand Get If m_cmdRotate3D Is Nothing Then m_cmdRotate3D = New RelayCommand(AddressOf Rotate3D, AddressOf CanRotate3D) End If Return m_cmdRotate3D End Get End Property ''' ''' Execute the Rotate3D. This method is invoked by the Rotate3DCommand. ''' Public Sub Rotate3D(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.ROTATE3D) End Sub ''' ''' Returns always true. ''' Private Function CanRotate3D(ByVal param As Object) As Boolean Return True End Function #End Region ' Rotate3DCommand #Region "MirrorCommand" ''' ''' Returns a command that do Mirror. ''' Public ReadOnly Property MirrorCommand As ICommand Get If m_cmdMirror Is Nothing Then m_cmdMirror = New RelayCommand(AddressOf Mirror, AddressOf CanMirror) End If Return m_cmdMirror End Get End Property ''' ''' Execute the Mirror. This method is invoked by the MirrorCommand. ''' Public Sub Mirror(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.MIRROR) End Sub ''' ''' Returns always true. ''' Private Function CanMirror(ByVal param As Object) As Boolean Return True End Function #End Region ' MirrorCommand #Region "Mirror3DCommand" ''' ''' Returns a command that do Mirror3D. ''' Public ReadOnly Property Mirror3DCommand As ICommand Get If m_cmdMirror3D Is Nothing Then m_cmdMirror3D = New RelayCommand(AddressOf Mirror3D, AddressOf CanMirror3D) End If Return m_cmdMirror3D End Get End Property ''' ''' Execute the Mirror3D. This method is invoked by the Mirror3DCommand. ''' Public Sub Mirror3D(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.MIRROR3D) End Sub ''' ''' Returns always true. ''' Private Function CanMirror3D(ByVal param As Object) As Boolean Return True End Function #End Region ' Mirror3DCommand #Region "ScaleCommand" ''' ''' Returns a command that do Scale. ''' Public ReadOnly Property ScaleCommand As ICommand Get If m_cmdScale Is Nothing Then m_cmdScale = New RelayCommand(AddressOf Scale, AddressOf CanScale) End If Return m_cmdScale End Get End Property ''' ''' Execute the Scale. This method is invoked by the ScaleCommand. ''' Public Sub Scale(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.SCALE) End Sub ''' ''' Returns always true. ''' Private Function CanScale(ByVal param As Object) As Boolean Return True End Function #End Region ' ScaleCommand #Region "Scale3DCommand" ''' ''' Returns a command that do Scale3D. ''' Public ReadOnly Property Scale3DCommand As ICommand Get If m_cmdScale3D Is Nothing Then m_cmdScale3D = New RelayCommand(AddressOf Scale3D, AddressOf CanScale3D) End If Return m_cmdScale3D End Get End Property ''' ''' Execute the Scale3D. This method is invoked by the Scale3DCommand. ''' Public Sub Scale3D(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.SCALE3D) End Sub ''' ''' Returns always true. ''' Private Function CanScale3D(ByVal param As Object) As Boolean Return True End Function #End Region ' Scale3DCommand #Region "OffsetCommand" ''' ''' Returns a command that do Offset. ''' Public ReadOnly Property OffsetCommand As ICommand Get If m_cmdOffset Is Nothing Then m_cmdOffset = New RelayCommand(AddressOf Offset, AddressOf CanOffset) End If Return m_cmdOffset End Get End Property ''' ''' Execute the Offset. This method is invoked by the OffsetCommand. ''' Public Sub Offset(ByVal param As Object) Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.OFFSET) End Sub ''' ''' Returns always true. ''' Private Function CanOffset(ByVal param As Object) As Boolean Return True End Function #End Region ' OffsetCommand End Class End Namespace