diff --git a/Constants/ConstIni.vb b/Constants/ConstIni.vb
index 938ca42..008ef2e 100644
--- a/Constants/ConstIni.vb
+++ b/Constants/ConstIni.vb
@@ -144,10 +144,6 @@ Module ConstIni
Public Const K_BEAMWALLBASEDIR As String = "BaseDir"
Public Const K_BEAMWALLBUTTON As String = "Button"
- Public Const S_PRINTING3D As String = "3dPrinting"
- Public Const K_ENABLE As String = "Enable"
- Public Const K_3PRNBASEDIR As String = "BaseDir"
-
Public Const S_DOORS As String = "Doors"
Public Const K_DDFENABLE As String = "DdfEnable"
Public Const K_BASEDIR As String = "BaseDir"
@@ -161,6 +157,16 @@ Module ConstIni
Public Const K_MTABLEWINPLACE As String = "MTableWinPlace"
Public Const K_OPTIMIZEMACHFORLINE As String = "OptimizeMachForLine"
+ Public Const S_WINDOW As String = "Window"
+ Public Const K_WINDOWENABLE As String = "JwdEnable"
+ Public Const K_WINDOWBASEDIR As String = "BaseDir"
+ Public Const K_WINDOWBUTTON As String = "Button"
+
+ Public Const S_TRIMMING As String = "Trimming"
+ Public Const K_TRIMMINGENABLE As String = "TrimEnable"
+ Public Const K_TRIMMINGBASEDIR As String = "BaseDir"
+ Public Const K_TRIMMINGBUTTON As String = "Button"
+
Public Const S_GUNSTOCK As String = "GunStock"
Public Const K_GUNSTOCKENABLE As String = "GsEnable"
Public Const K_GUNSTOCKEXEC As String = "GsExec"
diff --git a/EgtCAM5.vbproj b/EgtCAM5.vbproj
index 844d935..5d2fba5 100644
--- a/EgtCAM5.vbproj
+++ b/EgtCAM5.vbproj
@@ -293,8 +293,16 @@
WallPanelV.xaml
-
+
+
+ TrimmingPanelV.xaml
+
+
+
+ WindowPanelV.xaml
+
+ SpecialPanelV.xaml
@@ -642,6 +650,14 @@
MSBuild:CompileDesigner
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+ DesignerMSBuild:Compile
diff --git a/OptionsWindow/OptionModule.vb b/OptionsWindow/OptionModule.vb
index 2375744..09ce8d0 100644
--- a/OptionsWindow/OptionModule.vb
+++ b/OptionsWindow/OptionModule.vb
@@ -74,6 +74,8 @@ Friend Module OptionModule
Friend m_bBeamOn As Boolean
Friend m_bWallOn As Boolean
Friend m_bDoorsOn As Boolean
+ Friend m_bWindowOn As Boolean
+ Friend m_bTrimmingOn As Boolean
Friend m_bGunstockOn As Boolean
' inizializzazione lettura variabili ad inizio programma
@@ -184,6 +186,8 @@ Friend Module OptionModule
m_bBeamOn = (GetPrivateProfileInt(S_BEAM, K_BEAMENABLE, 0) <> 0)
m_bWallOn = (GetPrivateProfileInt(S_WALL, K_WALLENABLE, 0) <> 0)
m_bDoorsOn = (GetPrivateProfileInt(S_DOORS, K_DDFENABLE, 0) <> 0)
+ m_bWindowOn = (GetPrivateProfileInt(S_WINDOW, K_WINDOWENABLE, 0) <> 0)
+ m_bTrimmingOn = (GetPrivateProfileInt(S_TRIMMING, K_TRIMMINGENABLE, 0) <> 0)
m_bGunstockOn = (GetPrivateProfileInt(S_GUNSTOCK, K_GUNSTOCKENABLE, 0) <> 0)
End Sub
diff --git a/OptionsWindow/OptionWindowV.xaml b/OptionsWindow/OptionWindowV.xaml
index 0df904f..72e4319 100644
--- a/OptionsWindow/OptionWindowV.xaml
+++ b/OptionsWindow/OptionWindowV.xaml
@@ -445,6 +445,8 @@
+
+
@@ -467,14 +469,22 @@
-
-
-
-
+
+
+
+
+
diff --git a/OptionsWindow/OptionWindowVM.vb b/OptionsWindow/OptionWindowVM.vb
index ea23272..51e4ce4 100644
--- a/OptionsWindow/OptionWindowVM.vb
+++ b/OptionsWindow/OptionWindowVM.vb
@@ -873,6 +873,36 @@ Public Class OptionWindowVM
End Set
End Property
+ Public ReadOnly Property WindowEnabled As Boolean
+ Get
+ Return (IniFile.m_nKeyOptions And KEY_OPT.WINDOW) <> 0
+ End Get
+ End Property
+ Public Property WindowOn As Boolean
+ Get
+ Return OptionModule.m_bWindowOn
+ End Get
+ Set(value As Boolean)
+ OptionModule.m_bWindowOn = value
+ WritePrivateProfileString(S_WINDOW, K_WINDOWENABLE, If(value, "1", "0"))
+ End Set
+ End Property
+
+ Public ReadOnly Property TrimmingEnabled As Boolean
+ Get
+ Return true
+ End Get
+ End Property
+ Public Property TrimmingOn As Boolean
+ Get
+ Return OptionModule.m_bTrimmingOn
+ End Get
+ Set(value As Boolean)
+ OptionModule.m_bTrimmingOn = value
+ WritePrivateProfileString(S_TRIMMING, K_TRIMMINGENABLE, If(value, "1", "0"))
+ End Set
+ End Property
+
Public ReadOnly Property GunstockEnabled As Boolean
Get
Return (IniFile.m_nKeyOptions And KEY_OPT.GUNSTOCK) <> 0
@@ -1165,6 +1195,16 @@ Public Class OptionWindowVM
Return "Doors (" & Path.GetFileName( IniFile.m_sDoorsDirPath) & ")"
End Get
End Property
+ Public ReadOnly Property WindowMsg As String
+ Get
+ Return "Window"
+ End Get
+ End Property
+ Public ReadOnly Property TrimmingMsg As String
+ Get
+ Return "Trimming"
+ End Get
+ End Property
Public ReadOnly Property GunstockMsg As String
Get
Return "Gunstock"
diff --git a/Project/ProjectV.xaml.vb b/Project/ProjectV.xaml.vb
index 8f3119e..b20d2f0 100644
--- a/Project/ProjectV.xaml.vb
+++ b/Project/ProjectV.xaml.vb
@@ -11,13 +11,6 @@ Public Class ProjectV
Private Sub UserControl_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
' Creo riferimento a questa classe in Map
Map.SetRefProjectV(Me)
- 'SpecialPanel.Visibility = Visibility.Collapsed
- 'BeamPanel.Visibility = Visibility.Collapsed
- 'WallPanel.Visibility = Visibility.Collapsed
- 'DoorsPanel.Visibility = Visibility.Collapsed
- 'GunStockPanel.Visibility = Visibility.Collapsed
- 'PrintingPanel.Visibility = Visibility.Collapsed
- ' Map.refMachGroupPanelVM.SetMachGroupPanelVisibility(False) ' MachGroupPanel.Visibility = Visibility.Collapsed
End Sub
Private Sub UserControl_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
diff --git a/Special-Trimming/TrimmingPanelV.xaml b/Special-Trimming/TrimmingPanelV.xaml
new file mode 100644
index 0000000..ad9a462
--- /dev/null
+++ b/Special-Trimming/TrimmingPanelV.xaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Special-Trimming/TrimmingPanelV.xaml.vb b/Special-Trimming/TrimmingPanelV.xaml.vb
new file mode 100644
index 0000000..31a6e10
--- /dev/null
+++ b/Special-Trimming/TrimmingPanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class TrimmingPanelV
+
+End Class
diff --git a/Special-Trimming/TrimmingPanelVM.vb b/Special-Trimming/TrimmingPanelVM.vb
new file mode 100644
index 0000000..eb70271
--- /dev/null
+++ b/Special-Trimming/TrimmingPanelVM.vb
@@ -0,0 +1,40 @@
+Imports System.IO
+Imports EgtUILib
+
+Public Class TrimmingPanelVM
+ Inherits VMBase
+
+ Private m_ButtonList As New List(Of ButtonItem)
+ Public ReadOnly Property ButtonList As List(Of ButtonItem)
+ Get
+ Return m_ButtonList
+ End Get
+ End Property
+
+ Private m_TrimmingPanel_Visibility As Visibility
+ Public ReadOnly Property TrimmingPanel_Visibility As Visibility
+ Get
+ Return m_TrimmingPanel_Visibility
+ End Get
+ End Property
+ Friend Sub SetTrimmingPanelVisibility(bValue As Boolean)
+ m_TrimmingPanel_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
+ NotifyPropertyChanged(NameOf(TrimmingPanel_Visibility))
+ End Sub
+
+ Sub New()
+ ' Creo riferimento a questa classe in Map
+ Map.SetRefTrimmingPanelVM(Me)
+ ' Se attivo, inizializzo i bottoni leggendoli da file ini
+ If IniFile.IsActiveTrimming() Then
+ ' Inizializzo i bottoni leggendoli da file ini
+ Dim BtnIndex As Integer = 1
+ Dim CurrBtn As ButtonItem = Nothing
+ While GetPrivateProfileButton(S_TRIMMING, K_TRIMMINGBUTTON & BtnIndex, IniFile.m_sTrimmingDirPath, CurrBtn)
+ m_ButtonList.Add(CurrBtn)
+ BtnIndex += 1
+ End While
+ End If
+ End Sub
+
+End Class
diff --git a/Special-Window/WindowPanelV.xaml b/Special-Window/WindowPanelV.xaml
new file mode 100644
index 0000000..87f5465
--- /dev/null
+++ b/Special-Window/WindowPanelV.xaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Special-Window/WindowPanelV.xaml.vb b/Special-Window/WindowPanelV.xaml.vb
new file mode 100644
index 0000000..d4bfd9a
--- /dev/null
+++ b/Special-Window/WindowPanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class WindowPanelV
+
+End Class
diff --git a/Special-Window/WindowPanelVM.vb b/Special-Window/WindowPanelVM.vb
new file mode 100644
index 0000000..53ac2a2
--- /dev/null
+++ b/Special-Window/WindowPanelVM.vb
@@ -0,0 +1,40 @@
+Imports System.IO
+Imports EgtUILib
+
+Public Class WindowPanelVM
+ Inherits VMBase
+
+ Private m_ButtonList As New List(Of ButtonItem)
+ Public ReadOnly Property ButtonList As List(Of ButtonItem)
+ Get
+ Return m_ButtonList
+ End Get
+ End Property
+
+ Private m_WindowPanel_Visibility As Visibility
+ Public ReadOnly Property WindowPanel_Visibility As Visibility
+ Get
+ Return m_WindowPanel_Visibility
+ End Get
+ End Property
+ Friend Sub SetWindowPanelVisibility(bValue As Boolean)
+ m_WindowPanel_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
+ NotifyPropertyChanged(NameOf(WindowPanel_Visibility))
+ End Sub
+
+ Sub New()
+ ' Creo riferimento a questa classe in Map
+ Map.SetRefWindowPanelVM(Me)
+ ' Se attivo, inizializzo i bottoni leggendoli da file ini
+ If IniFile.IsActiveWindow() Then
+ ' Inizializzo i bottoni leggendoli da file ini
+ Dim BtnIndex As Integer = 1
+ Dim CurrBtn As ButtonItem = Nothing
+ While GetPrivateProfileButton(S_WINDOW, K_WINDOWBUTTON & BtnIndex, IniFile.m_sWindowDirPath, CurrBtn)
+ m_ButtonList.Add(CurrBtn)
+ BtnIndex += 1
+ End While
+ End If
+ End Sub
+
+End Class
diff --git a/TopCommandBar/TopCommandBarVM.vb b/TopCommandBar/TopCommandBarVM.vb
index 9f7c7e9..01b312e 100644
--- a/TopCommandBar/TopCommandBarVM.vb
+++ b/TopCommandBar/TopCommandBarVM.vb
@@ -809,6 +809,8 @@ Public Class TopCommandBarVM
Map.refWallPanelVM.SetWallPanelVisibility(IniFile.IsActiveWall())
Map.refBeamWallPanelVM.SetBeamWallPanelVisibility(IniFile.IsActiveBeam() Or IniFile.IsActiveWall())
Map.refDoorPanelVM.SetDoorPanelVisibility(IniFile.IsActiveDoors())
+ Map.refWindowPanelVM.SetWindowPanelVisibility(IniFile.IsActiveWindow())
+ Map.refTrimmingPanelVM.SetTrimmingPanelVisibility(IniFile.IsActiveTrimming())
Map.refGunStockPanelVM.SetGunStockPanelVisibility(IniFile.IsActiveGunStock())
If Not IsNothing(Map.refDrawPanelVM) Then Map.refDrawPanelVM.SetDrawPanelVisibility(True)
Map.refMachGroupPanelVM.SetMachGroupPanelVisibility(False)
@@ -857,6 +859,8 @@ Public Class TopCommandBarVM
Map.refWallPanelVM.SetWallPanelVisibility(False)
Map.refBeamWallPanelVM.SetBeamWallPanelVisibility(False)
Map.refDoorPanelVM.SetDoorPanelVisibility(IniFile.IsActiveDoors())
+ Map.refWindowPanelVM.SetWindowPanelVisibility(False)
+ Map.refTrimmingPanelVM.SettrimmingPanelVisibility(False)
Map.refGunStockPanelVM.SetGunStockPanelVisibility(False)
If Not IsNothing(Map.refDrawPanelVM) Then Map.refDrawPanelVM.SetDrawPanelVisibility(False)
Map.refMachGroupPanelVM.SetMachGroupPanelVisibility(IniFile.m_bMachiningGroup)
diff --git a/TopTray/TopTrayV.xaml b/TopTray/TopTrayV.xaml
index 782e3e3..c3bc17b 100644
--- a/TopTray/TopTrayV.xaml
+++ b/TopTray/TopTrayV.xaml
@@ -30,6 +30,8 @@
+
+
diff --git a/Utility/Dictionary.xaml b/Utility/Dictionary.xaml
index 79f64ad..13abb99 100644
--- a/Utility/Dictionary.xaml
+++ b/Utility/Dictionary.xaml
@@ -36,6 +36,8 @@
+
+
diff --git a/Utility/IniFile.vb b/Utility/IniFile.vb
index cf78546..131e31d 100644
--- a/Utility/IniFile.vb
+++ b/Utility/IniFile.vb
@@ -68,6 +68,7 @@ Public Module IniFile
WALL = 512
PLUGIN = 1024
ADVMACHINING = 2048
+ WINDOW = 4096
End Enum
Friend m_sDataRoot As String
Friend m_sConfigDir As String
@@ -85,6 +86,10 @@ Public Module IniFile
Friend m_sBeamWallDirPath As String
' path della cartella DOORS
Friend m_sDoorsDirPath As String
+ ' path della cartella WINDOW
+ Friend m_sWindowDirPath As String
+ ' path della cartella TRIMMING
+ Friend m_strimmingDirPath As String
' path della cartella GUNSTOCK
Friend m_sGunstockDirPath As String
' path della cartella Printing3d
@@ -304,6 +309,26 @@ Public Module IniFile
Return bIsActive
End Function
+ Friend Function IsActiveWindow() As Boolean
+ Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.WINDOW) <> 0 And (GetPrivateProfileInt(S_WINDOW, K_WINDOWENABLE, 0) <> 0)
+ If bIsActive Then
+ Dim sTemp As String = ""
+ GetPrivateProfileString(S_WINDOW, K_WINDOWBASEDIR, "", sTemp)
+ m_sWindowDirPath = sTemp.TrimEnd( "\"c)
+ End If
+ Return bIsActive
+ End Function
+
+ Friend Function IsActiveTrimming() As Boolean
+ Dim bIsActive As Boolean = (GetPrivateProfileInt(S_TRIMMING, K_TRIMMINGENABLE, 0) <> 0)
+ If bIsActive Then
+ Dim sTemp As String = ""
+ GetPrivateProfileString(S_TRIMMING, K_TRIMMINGBASEDIR, "", sTemp)
+ m_sTrimmingDirPath = sTemp.TrimEnd( "\"c)
+ End If
+ Return bIsActive
+ End Function
+
Friend Function IsActiveGunStock() As Boolean
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.GUNSTOCK) <> 0 And (GetPrivateProfileInt(S_GUNSTOCK, K_GUNSTOCKENABLE, 0) <> 0)
If bIsActive Then
diff --git a/Utility/Map.vb b/Utility/Map.vb
index 76b6523..855bb7c 100644
--- a/Utility/Map.vb
+++ b/Utility/Map.vb
@@ -33,6 +33,8 @@ Module Map
Private m_refBeamPanelVM As BeamPanelVM
Private m_refWallPanelVM As WallPanelVM
Private m_refBeamWallPanelVM As BeamWallPanelVM
+ Private m_refWindowPanelVM As WindowPanelVM
+ Private m_refTrimmingPanelVM As TrimmingPanelVM
Private m_refGunStockPanelVM As GunStockPanelVM
Private m_refMachiningParameterExpanderVM As MachiningParameterExpanderVM
@@ -158,6 +160,16 @@ Module Map
Return m_refDoorPanelVM
End Get
End Property
+ Public ReadOnly Property refWindowPanelVM As WindowPanelVM
+ Get
+ Return m_refWindowPanelVM
+ End Get
+ End Property
+ Public ReadOnly Property refTrimmingPanelVM As TrimmingPanelVM
+ Get
+ Return m_refTrimmingPanelVM
+ End Get
+ End Property
Public ReadOnly Property refSpecialPanelVM As SpecialPanelVM
Get
Return m_refSpecialPanelVM
@@ -311,6 +323,14 @@ Module Map
m_refBeamWallPanelVM = BeamWallPanelVM
Return Not IsNothing(m_refBeamWallPanelVM)
End Function
+ Friend Function SetRefWindowPanelVM(WindowPanelVM As WindowPanelVM) As Boolean
+ m_refWindowPanelVM = WindowPanelVM
+ Return Not IsNothing(m_refWindowPanelVM)
+ End Function
+ Friend Function SetRefTrimmingPanelVM(TrimmingPanelVM As TrimmingPanelVM) As Boolean
+ m_refTrimmingPanelVM = TrimmingPanelVM
+ Return Not IsNothing(m_refTrimmingPanelVM)
+ End Function
Friend Function SetRefGunStockPanelVM(GunStockPanelVM As GunStockPanelVM) As Boolean
m_refGunStockPanelVM = GunStockPanelVM
Return Not IsNothing(m_refGunStockPanelVM)