From 83a4b9bd01f6a6127062f0909a6aecec2811143b Mon Sep 17 00:00:00 2001 From: Daniele Bariletti Date: Wed, 15 Jan 2025 17:47:09 +0100 Subject: [PATCH 1/3] - uniformato l'uso dello User Control generico per Rotate, Pair e Move. --- EgtStone3D.vbproj | 14 --- Move/MoveVM.vb | 52 +++++------ Pair/PairV.xaml | 39 -------- Pair/PairV.xaml.vb | 44 --------- Pair/PairVM.vb | 104 ++++++++++++++-------- Rotate/RotateV.xaml | 44 --------- Rotate/RotateV.xaml.vb | 47 ---------- Rotate/RotateVM.vb | 100 ++++++++++++--------- SceneButton/SceneButtonV.xaml.vb | 23 +++-- SceneHost/SceneHostV.xaml.vb | 32 +++---- SceneUserControl/SceneUserControlV.xaml | 28 ++++-- SceneUserControl/SceneUserControlVM.vb | 113 ++++++++++++++++++++++-- Utility/EgtStone3DDefaultStyle.xaml | 1 + 13 files changed, 304 insertions(+), 337 deletions(-) delete mode 100644 Pair/PairV.xaml delete mode 100644 Pair/PairV.xaml.vb delete mode 100644 Rotate/RotateV.xaml delete mode 100644 Rotate/RotateV.xaml.vb diff --git a/EgtStone3D.vbproj b/EgtStone3D.vbproj index c042926..41f48fe 100644 --- a/EgtStone3D.vbproj +++ b/EgtStone3D.vbproj @@ -115,17 +115,11 @@ OptionWindowV.xaml - - PairV.xaml - ProjManagerV.xaml - - RotateV.xaml - SceneButtonV.xaml @@ -186,18 +180,10 @@ Designer MSBuild:Compile - - Designer - MSBuild:Compile - Designer MSBuild:Compile - - Designer - MSBuild:Compile - Designer MSBuild:Compile diff --git a/Move/MoveVM.vb b/Move/MoveVM.vb index 1344fb0..fb11f55 100644 --- a/Move/MoveVM.vb +++ b/Move/MoveVM.vb @@ -17,10 +17,10 @@ Public Class MoveVM Public Overrides Sub LoadParamList() Title = EgtMsg(110018).ToUpper() - ParamList.Add(New _TextBlockParam("Messaggio", EgtMsg(110005))) - ParamList.Add(New _TextBoxParam("X", "0")) - ParamList.Add(New _TextBoxParam("Y", "0")) - ParamList.Add(New _TextBoxParam("Z", "0")) + ParamList.Add(New _TextBlockParam("Messaggio", EgtMsg(110005), Visibility.Visible)) + ParamList.Add(New _TextBoxParam("X", "0", Visibility.Visible)) + ParamList.Add(New _TextBoxParam("Y", "0", Visibility.Visible)) + ParamList.Add(New _TextBoxParam("Z", "0", Visibility.Visible)) End Sub Public Overrides Sub Conferma() @@ -101,27 +101,31 @@ Public Class MoveVM End Sub Public Overrides Sub ShowPreview() - If Map.refSceneHostV.m_bPreviewShown = False Then - Dim Btn As SceneBtn = DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_MOVE) - If TypeOf (Btn) Is _ToggleButton Then - If Not DirectCast(Btn, _ToggleButton).IsChecked Then Return - Else - EgtOutLog("CONFIG ERR: Il pulsante di Move è stato definito come Button anziché ToggleButton") - Return - End If + Dim Btn As SceneBtn = DirectCast(Map.refSceneButtonV.DataContext, SceneButtonVM).GetButton(EGT_MOVE) + If TypeOf (Btn) Is _ToggleButton Then + If Not DirectCast(Btn, _ToggleButton).IsChecked Then Return + Else + EgtOutLog("CONFIG ERR: Il pulsante di Move è stato definito come Button anziché ToggleButton") + Return + End If - Dim x_TextBox As _TextBoxParam = DirectCast(ParamList(1), _TextBoxParam) - Dim y_TextBox As _TextBoxParam = DirectCast(ParamList(2), _TextBoxParam) - Dim z_TextBox As _TextBoxParam = DirectCast(ParamList(3), _TextBoxParam) + Dim x_TextBox As _TextBoxParam = DirectCast(ParamList(1), _TextBoxParam) + Dim y_TextBox As _TextBoxParam = DirectCast(ParamList(2), _TextBoxParam) + Dim z_TextBox As _TextBoxParam = DirectCast(ParamList(3), _TextBoxParam) - ' leggo i dati del vettore di movimento dalle TextBox in m_MoveUC - If Map.refSceneHostV.m_bPreviewShown Then Return - If String.IsNullOrEmpty(x_TextBox.Value) Then x_TextBox.Value = "0" - If String.IsNullOrEmpty(y_TextBox.Value) Then y_TextBox.Value = "0" - If String.IsNullOrEmpty(z_TextBox.Value) Then z_TextBox.Value = "0" - Dim vtMove As New Vector3d(CDbl(x_TextBox.Value), + ' leggo i dati del vettore di movimento dalle TextBox in m_MoveUC + If String.IsNullOrEmpty(x_TextBox.Value) Then x_TextBox.Value = "0" + If String.IsNullOrEmpty(y_TextBox.Value) Then y_TextBox.Value = "0" + If String.IsNullOrEmpty(z_TextBox.Value) Then z_TextBox.Value = "0" + Dim vtMove As New Vector3d(CDbl(x_TextBox.Value), CDbl(y_TextBox.Value), CDbl(z_TextBox.Value)) + If Map.refSceneHostV.m_nIdPart <> GDB_ID.NULL And Not AreSameVectorExact(vtMove, New Vector3d) Then + If Map.refSceneHostV.m_bPreviewShown = True Then + ' resetto il movimento precedente + If EgtLuaCallFunction("ASS.UndoTemp") Then AssLog("ASS.UndoTemp()") + End If + '''' eventuale gestione di un'opzione 'All Selected 'If Not AllOption_Move.IsChecked And m_nIdPart <> -1 Then ' Dim PartSolidSelected As PartSolid = GetPartSolid(m_nIdPart) @@ -136,11 +140,7 @@ Public Class MoveVM ' Next 'End If - If Map.refSceneHostV.m_nIdPart <> GDB_ID.NULL And Not AreSameVectorExact(vtMove, New Vector3d) Then - SolidManagerM.Move(Map.refSceneHostV.m_nIdPart, vtMove, False, True) - Else - Annulla() - End If + SolidManagerM.Move(Map.refSceneHostV.m_nIdPart, vtMove, False, True) Map.refSceneHostV.m_bPreviewShown = True EgtDraw() diff --git a/Pair/PairV.xaml b/Pair/PairV.xaml deleted file mode 100644 index 14f488f..0000000 --- a/Pair/PairV.xaml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - -