EgtCAM5 3.1a3:

- sistemato grafica pulsanti special
- sistemato sfondo pulsanti popup
This commit is contained in:
Demetrio Cassarino
2026-01-16 14:44:14 +01:00
parent 7a25e8d634
commit 08ea864a5e
20 changed files with 237 additions and 143 deletions
+2 -2
View File
@@ -70,6 +70,6 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("3.1.1.2")>
<Assembly: AssemblyFileVersion("3.1.1.2")>
<Assembly: AssemblyVersion("3.1.1.3")>
<Assembly: AssemblyFileVersion("3.1.1.3")>
+9 -9
View File
@@ -1,24 +1,24 @@
<UserControl x:Class="PopUpGridPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Background="Transparent" Orientation="Horizontal">
<Button Command="{Binding CPlaneViewCommand}" ToolTip="{Binding CPlaneViewToolTip}" Style="{StaticResource GridViewPanelButton}">
<StackPanel Background="#93D5F4" Orientation="Horizontal">
<Button Command="{Binding CPlaneViewCommand}" ToolTip="{Binding CPlaneViewToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="3,3,1,3">
<Image Source="/Resources/GridViewPanel/CplaneView.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding CPlaneInvertCommand}" ToolTip="{Binding CPlaneInvertToolTip}" Style="{StaticResource GridViewPanelButton}">
<Button Command="{Binding CPlaneInvertCommand}" ToolTip="{Binding CPlaneInvertToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,1,3">
<Image Source="/Resources/GridViewPanel/CplaneInvert.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding CPlaneRotateCommand}" ToolTip="{Binding CPlaneRotateToolTip}" Style="{StaticResource GridViewPanelButton}">
<Button Command="{Binding CPlaneRotateCommand}" ToolTip="{Binding CPlaneRotateToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,1,3">
<Image Source="/Resources/GridViewPanel/CplaneROTATE.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding CPlane3PCommand}" ToolTip="{Binding CPlane3PointsToolTip}" Style="{StaticResource GridViewPanelButton}">
<Button Command="{Binding CPlane3PCommand}" ToolTip="{Binding CPlane3PointsToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,1,3">
<Image Source="/Resources/GridViewPanel/Cplane3POINTS.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding CPlanePerpObjCommand}" ToolTip="{Binding CPlanePerpCurveToolTip}" Style="{StaticResource GridViewPanelButton}">
<Button Command="{Binding CPlanePerpObjCommand}" ToolTip="{Binding CPlanePerpCurveToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,1,3">
<Image Source="/Resources/GridViewPanel/CplanePERPCURVE.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding CPlaneObjCommand}" ToolTip="{Binding CPlaneObjectToolTip}" Style="{StaticResource GridViewPanelButton}">
<Button Command="{Binding CPlaneObjCommand}" ToolTip="{Binding CPlaneObjectToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,3,3">
<Image Source="/Resources/GridViewPanel/CplaneOBJECT.png" Stretch="Uniform"/>
</Button>
</StackPanel>
+9 -9
View File
@@ -1,24 +1,24 @@
<UserControl x:Class="PopUpViewPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Background="Transparent" Orientation="Horizontal">
<Button ToolTip="{Binding ZoomInToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomInCommand}">
<StackPanel Background="#93D5F4" Orientation="Horizontal">
<Button ToolTip="{Binding ZoomInToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomInCommand}" Margin="3,3,1,3">
<Image Source="/Resources/GridViewPanel/ZoomIn.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ZoomOutToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomOutCommand}">
<Button ToolTip="{Binding ZoomOutToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomOutCommand}" Margin="1,3,1,3">
<Image Source="/Resources/GridViewPanel/ZoomOut.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ZoomSelToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomSelCommand}">
<Button ToolTip="{Binding ZoomSelToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomSelCommand}" Margin="1,3,1,3">
<Image Source="/Resources/GridViewPanel/ZoomSel.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding LookFromIso_NEToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding IsoViewNECommand}">
<Button ToolTip="{Binding LookFromIso_NEToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding IsoViewNECommand}" Margin="1,3,1,3">
<Image Source="/Resources/GridViewPanel/LookFromISO_NE.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding LookFromIso_NWToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding IsoViewNWCommand}">
<Button ToolTip="{Binding LookFromIso_NWToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding IsoViewNWCommand}" Margin="1,3,1,3">
<Image Source="/Resources/GridViewPanel/LookFromISO_NW.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ViewToCPlaneToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ViewToCPlaneCommand}">
<Button ToolTip="{Binding ViewToCPlaneToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ViewToCPlaneCommand}" Margin="1,3,3,3">
<Image Source="/Resources/GridViewPanel/CplaneView.png" Stretch="Uniform"/>
</Button>
</StackPanel>
+9 -3
View File
@@ -1,6 +1,7 @@
<EgtFloating:EgtFloatingPanel x:Class="BeamPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
Visibility="{Binding BeamPanel_Visibility}">
@@ -10,13 +11,18 @@
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:ButtonItem}">
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
<Image Source="{Binding ImagePath}"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:SeparatorItem}">
<Border Style="{StaticResource Trimming_Border}">
<Border Style="{StaticResource Separator_Border}"/>
</Border>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</EgtFloating:EgtFloatingPanel>
+4 -7
View File
@@ -1,14 +1,11 @@
Imports System.IO
Imports EgtUILib
Public Class BeamPanelVM
Public Class BeamPanelVM
Inherits VMBase
Friend Const BEAM_PROCESS As String = "Beam\Process.lua"
Friend Const BEAM_MACHININGS As String = "BeamMachinings"
Private m_ButtonList As New List(Of ButtonItem)
Public ReadOnly Property ButtonList As List(Of ButtonItem)
Private m_ButtonList As New List(Of ButtonListItem)
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
Get
Return m_ButtonList
End Get
@@ -32,7 +29,7 @@ Public Class BeamPanelVM
If IniFile.IsActiveBeam() Then
' Inizializzo i bottoni leggendoli da file ini
Dim BtnIndex As Integer = 1
Dim CurrBtn As ButtonItem = Nothing
Dim CurrBtn As ButtonListItem = Nothing
While GetPrivateProfileButton(S_BEAM, K_BEAMBUTTON & BtnIndex, IniFile.m_sBeamDirPath, CurrBtn)
m_ButtonList.Add(CurrBtn)
BtnIndex += 1
+9 -3
View File
@@ -1,6 +1,7 @@
<EgtFloating:EgtFloatingPanel x:Class="BeamWallPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
Visibility="{Binding BeamWallPanel_Visibility}">
@@ -10,13 +11,18 @@
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:ButtonItem}">
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
<Image Source="{Binding ImagePath}"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:SeparatorItem}">
<Border Style="{StaticResource Trimming_Border}">
<Border Style="{StaticResource Separator_Border}"/>
</Border>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</EgtFloating:EgtFloatingPanel>
+4 -7
View File
@@ -1,11 +1,8 @@
Imports System.IO
Imports EgtUILib
Public Class BeamWallPanelVM
Public Class BeamWallPanelVM
Inherits VMBase
Private m_ButtonList As New List(Of ButtonItem)
Public ReadOnly Property ButtonList As List(Of ButtonItem)
Private m_ButtonList As New List(Of ButtonListItem)
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
Get
Return m_ButtonList
End Get
@@ -30,7 +27,7 @@ Public Class BeamWallPanelVM
GetPrivateProfileString(S_BEAMWALL, K_BEAMWALLBASEDIR, "", m_sBeamWallDirPath)
' Inizializzo i bottoni leggendoli da file ini
Dim BtnIndex As Integer = 1
Dim CurrBtn As ButtonItem = Nothing
Dim CurrBtn As ButtonListItem = Nothing
While GetPrivateProfileButton(S_BEAMWALL, K_BEAMWALLBUTTON & BtnIndex, IniFile.m_sBeamWallDirPath, CurrBtn)
m_ButtonList.Add(CurrBtn)
BtnIndex += 1
+9 -3
View File
@@ -1,6 +1,7 @@
<EgtFloating:EgtFloatingPanel x:Class="WallPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
Visibility="{Binding WallPanel_Visibility}">
@@ -10,13 +11,18 @@
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:ButtonItem}">
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
<Image Source="{Binding ImagePath}"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:SeparatorItem}">
<Border Style="{StaticResource Trimming_Border}">
<Border Style="{StaticResource Separator_Border}"/>
</Border>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</EgtFloating:EgtFloatingPanel>
+4 -7
View File
@@ -1,13 +1,10 @@
Imports System.IO
Imports EgtUILib
Public Class WallPanelVM
Public Class WallPanelVM
Inherits VMBase
Friend Const WALL_MACHININGS As String = "WallMachinings"
Private m_ButtonList As New List(Of ButtonItem)
Public ReadOnly Property ButtonList As List(Of ButtonItem)
Private m_ButtonList As New List(Of ButtonListItem)
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
Get
Return m_ButtonList
End Get
@@ -31,7 +28,7 @@ Public Class WallPanelVM
If IniFile.IsActiveWall() Then
' Inizializzo i bottoni leggendoli da file ini
Dim BtnIndex As Integer = 1
Dim CurrBtn As ButtonItem = Nothing
Dim CurrBtn As ButtonListItem = Nothing
While GetPrivateProfileButton(S_WALL, K_WALLBUTTON & BtnIndex, IniFile.m_sWallDirPath, CurrBtn)
m_ButtonList.Add(CurrBtn)
BtnIndex += 1
+9 -3
View File
@@ -1,6 +1,7 @@
<EgtFloating:EgtFloatingPanel x:Class="ReversePostPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
Visibility="{Binding ReversePostPanel_Visibility}">
@@ -10,13 +11,18 @@
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:ButtonItem}">
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
<Image Source="{Binding ImagePath}"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:SeparatorItem}">
<Border Style="{StaticResource Trimming_Border}">
<Border Style="{StaticResource Separator_Border}"/>
</Border>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</EgtFloating:EgtFloatingPanel>
+4 -7
View File
@@ -1,11 +1,8 @@
Imports System.IO
Imports EgtUILib
Public Class ReversePostPanelVM
Public Class ReversePostPanelVM
Inherits VMBase
Private m_ButtonList As New List(Of ButtonItem)
Public ReadOnly Property ButtonList As List(Of ButtonItem)
Private m_ButtonList As New List(Of ButtonListItem)
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
Get
Return m_ButtonList
End Get
@@ -29,7 +26,7 @@ Public Class ReversePostPanelVM
If IniFile.IsActiveReversePost() Then
' Inizializzo i bottoni leggendoli da file ini
Dim BtnIndex As Integer = 1
Dim CurrBtn As ButtonItem = Nothing
Dim CurrBtn As ButtonListItem = Nothing
While GetPrivateProfileButton(S_REVERSEPOST, K_REVERSEPOSTBUTTON & BtnIndex, IniFile.m_sReversePostDirPath, CurrBtn)
m_ButtonList.Add(CurrBtn)
BtnIndex += 1
+9 -3
View File
@@ -1,6 +1,7 @@
<EgtFloating:EgtFloatingPanel x:Class="TrimmingPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
Visibility="{Binding TrimmingPanel_Visibility}">
@@ -10,13 +11,18 @@
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:ButtonItem}">
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
<Image Source="{Binding ImagePath}"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:SeparatorItem}">
<Border Style="{StaticResource Trimming_Border}">
<Border Style="{StaticResource Separator_Border}"/>
</Border>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</EgtFloating:EgtFloatingPanel>
+4 -7
View File
@@ -1,11 +1,8 @@
Imports System.IO
Imports EgtUILib
Public Class TrimmingPanelVM
Public Class TrimmingPanelVM
Inherits VMBase
Private m_ButtonList As New List(Of ButtonItem)
Public ReadOnly Property ButtonList As List(Of ButtonItem)
Private m_ButtonList As New List(Of ButtonListItem)
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
Get
Return m_ButtonList
End Get
@@ -29,7 +26,7 @@ Public Class TrimmingPanelVM
If IniFile.IsActiveTrimming() Then
' Inizializzo i bottoni leggendoli da file ini
Dim BtnIndex As Integer = 1
Dim CurrBtn As ButtonItem = Nothing
Dim CurrBtn As ButtonListItem = Nothing
While GetPrivateProfileButton(S_TRIMMING, K_TRIMMINGBUTTON & BtnIndex, IniFile.m_sTrimmingDirPath, CurrBtn)
m_ButtonList.Add(CurrBtn)
BtnIndex += 1
+9 -3
View File
@@ -1,6 +1,7 @@
<EgtFloating:EgtFloatingPanel x:Class="WindowPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
Visibility="{Binding WindowPanel_Visibility}">
@@ -10,13 +11,18 @@
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:ButtonItem}">
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
<Image Source="{Binding ImagePath}"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:SeparatorItem}">
<Border Style="{StaticResource Trimming_Border}">
<Border Style="{StaticResource Separator_Border}"/>
</Border>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</EgtFloating:EgtFloatingPanel>
+4 -7
View File
@@ -1,11 +1,8 @@
Imports System.IO
Imports EgtUILib
Public Class WindowPanelVM
Public Class WindowPanelVM
Inherits VMBase
Private m_ButtonList As New List(Of ButtonItem)
Public ReadOnly Property ButtonList As List(Of ButtonItem)
Private m_ButtonList As New List(Of ButtonListItem)
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
Get
Return m_ButtonList
End Get
@@ -29,7 +26,7 @@ Public Class WindowPanelVM
If IniFile.IsActiveWindow() Then
' Inizializzo i bottoni leggendoli da file ini
Dim BtnIndex As Integer = 1
Dim CurrBtn As ButtonItem = Nothing
Dim CurrBtn As ButtonListItem = Nothing
While GetPrivateProfileButton(S_WINDOW, K_WINDOWBUTTON & BtnIndex, IniFile.m_sWindowDirPath, CurrBtn)
m_ButtonList.Add(CurrBtn)
BtnIndex += 1
+9 -3
View File
@@ -1,6 +1,7 @@
<EgtFloating:EgtFloatingPanel x:Class="SpecialPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
Visibility="{Binding SpecialPanel_Visibility}">
@@ -10,14 +11,19 @@
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl.Resources>
<DataTemplate DataType="{x:Type local:ButtonItem}">
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}"
Visibility="{Binding Btn_Visibility}" IsEnabled="{Binding Btn_IsEnabled}">
<Image Source="{Binding ImagePath}"/>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type local:SeparatorItem}">
<Border Style="{StaticResource Trimming_Border}">
<Border Style="{StaticResource Separator_Border}"/>
</Border>
</DataTemplate>
</ItemsControl.Resources>
</ItemsControl>
</EgtFloating:EgtFloatingPanel>
+76 -31
View File
@@ -4,8 +4,8 @@ Imports EgtUILib
Public Class SpecialPanelVM
Inherits VMBase
Private m_ButtonList As New List(Of ButtonItem)
Public ReadOnly Property ButtonList As List(Of ButtonItem)
Private m_ButtonList As New List(Of ButtonListItem)
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
Get
Return m_ButtonList
End Get
@@ -34,8 +34,8 @@ Public Class SpecialPanelVM
If IniFile.IsActiveSpecialPanel(False) Then
Dim BtlIndexMax As Integer = If( IniFile.m_nUserLevel > 5, 199, 99)
For BtnIndex As Integer = 1 To BtlIndexMax
Dim CurrBtn As ButtonItem = Nothing
If GetPrivateProfileButton(S_SPECIAL, K_BUTTON & BtnIndex, "", CurrBtn)
Dim CurrBtn As ButtonListItem = Nothing
If GetPrivateProfileButton(S_SPECIAL, K_BUTTON & BtnIndex, "", CurrBtn)Then
m_ButtonList.Add(CurrBtn)
End If
Next
@@ -46,29 +46,35 @@ Public Class SpecialPanelVM
Public Function SetSpecialPanelButtonsVisibility(IsMachMode As Boolean) As Boolean
Dim bSpecialPanel_Visible As Boolean = False
For Each BtnItem In m_ButtonList
' verifico il valore di nDrawMachOrBoth del bottone e IsMachMode per rendere visibile o meno il bottone in ButtonList
Select Case BtnItem.nDrawMachOrBoth
Case 0 ' bottone nascosto
BtnItem.m_Btn_Visibility = Visibility.Collapsed
Case 1 ' bottone visibile solo in Draw
BtnItem.m_Btn_Visibility = If(Not IsMachMode, Visibility.Visible, Visibility.Collapsed)
Case 2 ' bottone visibile solo in Machining
BtnItem.m_Btn_Visibility = If(IsMachMode, Visibility.Visible, Visibility.Collapsed)
Case 3 ' bottone visibile sia in Draw che in Machining
BtnItem.m_Btn_Visibility = Visibility.Visible
End Select
' se anche uno solo è visibile anche lo SpecialPanel dovrà esserlo
If BtnItem.Btn_Visibility = Visibility.Visible Then bSpecialPanel_Visible = True
BtnItem.OnPropertyChanged(NameOf(BtnItem.Btn_Visibility))
For Each BtnItemList In m_ButtonList
If BtnItemList.Type = ButtonListItem.ButtonListItemTypes.BUTTON Then
Dim BtnItem As ButtonItem = DirectCast(BtnItemList, ButtonItem)
' verifico il valore di nDrawMachOrBoth del bottone e IsMachMode per rendere visibile o meno il bottone in ButtonList
Select Case BtnItem.nDrawMachOrBoth
Case 0 ' bottone nascosto
BtnItem.m_Btn_Visibility = Visibility.Collapsed
Case 1 ' bottone visibile solo in Draw
BtnItem.m_Btn_Visibility = If(Not IsMachMode, Visibility.Visible, Visibility.Collapsed)
Case 2 ' bottone visibile solo in Machining
BtnItem.m_Btn_Visibility = If(IsMachMode, Visibility.Visible, Visibility.Collapsed)
Case 3 ' bottone visibile sia in Draw che in Machining
BtnItem.m_Btn_Visibility = Visibility.Visible
End Select
' se anche uno solo è visibile anche lo SpecialPanel dovrà esserlo
If BtnItem.Btn_Visibility = Visibility.Visible Then bSpecialPanel_Visible = True
BtnItem.NotifyPropertyChanged(NameOf(BtnItem.Btn_Visibility))
End If
Next
Return bSpecialPanel_Visible
End Function
Friend Sub SpecialPanelIsEnabled(SpecialPanelBtn_IsEnabled As Boolean)
For Each BtnItem In m_ButtonList
BtnItem.m_Btn_IsEnabled = SpecialPanelBtn_IsEnabled
BtnItem.OnPropertyChanged(NameOf(BtnItem.Btn_IsEnabled))
For Each BtnItemList In m_ButtonList
If BtnItemList.Type = ButtonListItem.ButtonListItemTypes.BUTTON Then
Dim BtnItem As ButtonItem = DirectCast(BtnItemList, ButtonItem)
BtnItem.m_Btn_IsEnabled = SpecialPanelBtn_IsEnabled
BtnItem.NotifyPropertyChanged(NameOf(BtnItem.Btn_IsEnabled))
End If
Next
End Sub
@@ -77,7 +83,7 @@ Public Class SpecialPanelVM
End Class
Public Class ButtonItem
Inherits ViewModelBase
Inherits ButtonListItem
Friend Shared WithEvents m_ProjectVM As ProjectVM
Private Shared m_sCurrBarName As String
@@ -90,6 +96,11 @@ Public Class ButtonItem
End Get
End Property
Private m_sLuaCmdPath As String
Public ReadOnly Property sLuaCmdPath As String
Get
Return m_sLuaCmdPath
End Get
End Property
Private m_sToolTip As String
Public ReadOnly Property ToolTip As String
Get
@@ -110,22 +121,26 @@ Public Class ButtonItem
End Property
Friend m_Btn_IsEnabled As Boolean = True
Public ReadOnly Property Btn_IsEnabled As Boolean
Public Property Btn_IsEnabled As Boolean
Get
Return m_Btn_IsEnabled
End Get
Set(value As Boolean)
m_Btn_IsEnabled = value
End Set
End Property
' Definizione comandi
Private m_cmdLuaExec As ICommand
Sub New( sBarName As String, sLuaCmdPath As String, sImagePath As String, sToolTip As String, sDrawMachOrBoth As String)
Sub New(sBarName As String, sLuaCmdPath As String, sImagePath As String, sToolTip As String, sDrawMachOrBoth As String)
MyBase.New(ButtonListItemTypes.BUTTON)
m_sBarName = sBarName
If File.Exists(sImagePath) Then
' per lasciare libere le immagini le copio (potrebbe fallire perchè bloccate da altro eseguibile)
Dim sNewPath As String = Path.Combine(IniFile.m_sResourcesRoot, sBarName & "_" & Path.GetFileName( sImagePath))
Dim sNewPath As String = Path.Combine(IniFile.m_sResourcesRoot, sBarName & "_" & Path.GetFileName(sImagePath))
Try
File.Copy( sImagePath, sNewPath, True)
File.Copy(sImagePath, sNewPath, True)
Catch ex As Exception
End Try
m_sImagePath = sNewPath
@@ -162,7 +177,7 @@ Public Class ButtonItem
If m_sLuaCmdPath = BeamPanelVM.BEAM_MACHININGS Then
Beam.BeamMachDb()
Return
' se altrimenti per pareti
' se altrimenti per pareti
ElseIf m_sLuaCmdPath = WallPanelVM.WALL_MACHININGS Then
Wall.WallMachDb()
Return
@@ -171,7 +186,7 @@ Public Class ButtonItem
If Not Path.GetExtension(m_sLuaCmdPath).ToLower = ".lua" Then Return
' Abilito eventi se comando lua lanciato da Beam o Wall
m_sCurrBarName = m_sBarName
Dim bRaiseEvent As Boolean = ( m_sBarName = "Beam" OrElse m_sBarName = "Wall")
Dim bRaiseEvent As Boolean = (m_sBarName = "Beam" OrElse m_sBarName = "Wall")
' eseguo file Lua
Map.refProjectVM.PreExecScript(False)
Map.refProjectVM.ExecScript(m_sLuaCmdPath, bRaiseEvent)
@@ -182,11 +197,11 @@ Public Class ButtonItem
If m_sCurrBarName = "Beam" Then
EgtLuaCreateGlobTable("BEAM")
EgtLuaSetGlobStringVar("BEAM.BASEDIR", IniFile.m_sBeamDirPath)
If EgtGetUserLevel() >= 9 AndAlso GetPrivateProfileInt(S_LUA, K_BWSIM, 0) = 1 then EgtLuaSetGlobBoolVar("BEAM.BW", true)
If EgtGetUserLevel() >= 9 AndAlso GetPrivateProfileInt(S_LUA, K_BWSIM, 0) = 1 Then EgtLuaSetGlobBoolVar("BEAM.BW", True)
ElseIf m_sCurrBarName = "Wall" Then
EgtLuaCreateGlobTable("WALL")
EgtLuaSetGlobStringVar("WALL.BASEDIR", IniFile.m_sWallDirPath)
If EgtGetUserLevel() >= 9 AndAlso GetPrivateProfileInt(S_LUA, K_BWSIM, 0) = 1 then EgtLuaSetGlobBoolVar("WALL.BW", true)
If EgtGetUserLevel() >= 9 AndAlso GetPrivateProfileInt(S_LUA, K_BWSIM, 0) = 1 Then EgtLuaSetGlobBoolVar("WALL.BW", True)
End If
End Sub
@@ -202,4 +217,34 @@ Public Class ButtonItem
#End Region ' Commands
End Class
Public Class ButtonListItem
Inherits VMBase
Public Enum ButtonListItemTypes As Integer
BUTTON = 1
SEPARATOR = 2
End Enum
Private m_Type As ButtonListItemTypes
Public ReadOnly Property Type As ButtonListItemTypes
Get
Return m_Type
End Get
End Property
Sub New(Type As ButtonListItemTypes)
m_Type = Type
End Sub
End Class
Public Class SeparatorItem
Inherits ButtonListItem
Sub New()
MyBase.New(ButtonListItemTypes.SEPARATOR)
End Sub
End Class
+4 -4
View File
@@ -5,13 +5,13 @@
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
DockPanel.Dock="Top"
Orientation="Horizontal">
<EgtFloating:EgtFloatingPanel Name="ShowPanel"
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
<local:ShowPanelV DataContext="{StaticResource ShowPanelViewModel}"/>
</EgtFloating:EgtFloatingPanel>
<EgtFloating:EgtFloatingPanel Name="ViewPanel"
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
<local:ViewPanelV DataContext="{StaticResource ViewPanelViewModel}"/>
<local:PopUpViewPanelV DataContext="{StaticResource PopUpViewPanelViewModel}" EgtFloating:EgtFloatingPanel.IsInPopUp="True"/>
</EgtFloating:EgtFloatingPanel>
@@ -20,7 +20,7 @@
<local:InstrumentPanelV DataContext="{StaticResource InstrumentPanelViewModel}"/>
<!--</EgtFloating:EgtFloatingPanel>-->
<EgtFloating:EgtFloatingPanel Name="GridPanel"
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
<local:GridPanelV DataContext="{StaticResource GridPanelViewModel}"/>
<local:PopUpGridPanelV DataContext="{StaticResource PopUpGridPanelViewModel}" EgtFloating:EgtFloatingPanel.IsInPopUp="True"/>
</EgtFloating:EgtFloatingPanel>
+21
View File
@@ -1294,4 +1294,25 @@
</Style.Triggers>-->
</Style>
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!-- Style Border-->
<Style x:Key="Trimming_Border" TargetType="{x:Type Border}">
<Setter Property="Background" Value="{StaticResource Button.Static.Background}"/>
<Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Margin" Value="1"/>
<Setter Property="Padding" Value="0,2,0,2"/>
<Setter Property="Height" Value="30"/>
<Setter Property="Width" Value="8"/>
<Setter Property="CornerRadius" Value="1"/>
</Style>
<Style x:Key="Separator_Border" TargetType="{x:Type Border}">
<Setter Property="Background" Value="{StaticResource Button.Static.Border}"/>
<Setter Property="Width" Value="1"/>
<Setter Property="CornerRadius" Value="1"/>
</Style>
</ResourceDictionary>
+29 -25
View File
@@ -238,11 +238,15 @@ Public Module IniFile
Return False
End Function
Public Function GetPrivateProfileButton(sSection As String, sKey As String, sBaseDir As String, ByRef ReadButtonItem As ButtonItem) As Boolean
Public Function GetPrivateProfileButton(sSection As String, sKey As String, sBaseDir As String, ByRef ReadButtonItem As ButtonListItem) As Boolean
ReadButtonItem = Nothing
Dim sVal As String = String.Empty
GetPrivateProfileString(sSection, sKey, "", sVal)
If String.IsNullOrWhiteSpace(sVal) Then Return False
If sVal = "Separator" Then
ReadButtonItem = New SeparatorItem()
Return True
End If
Dim sItems() As String = sVal.Split(","c)
If sItems.Count() >= 1 Then
Dim sLuaPath As String = sItems(0)
@@ -286,9 +290,9 @@ Public Module IniFile
Friend Function IsActiveBeam() As Boolean
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.BEAM) <> 0 And (GetPrivateProfileInt(S_BEAM, K_BEAMENABLE, 0) <> 0)
If bIsActive Then
Dim sTemp As String = ""
GetPrivateProfileString(S_BEAM, K_BEAMBASEDIR, "", sTemp)
m_sBeamDirPath = sTemp.TrimEnd( "\"c)
Dim sTemp As String = ""
GetPrivateProfileString(S_BEAM, K_BEAMBASEDIR, "", sTemp)
m_sBeamDirPath = sTemp.TrimEnd("\"c)
End If
Return bIsActive
End Function
@@ -296,9 +300,9 @@ Public Module IniFile
Friend Function IsActiveWall() As Boolean
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.WALL) <> 0 And (GetPrivateProfileInt(S_WALL, K_WALLENABLE, 0) <> 0)
If bIsActive Then
Dim sTemp As String = ""
GetPrivateProfileString(S_WALL, K_WALLBASEDIR, "", sTemp)
m_sWallDirPath = sTemp.TrimEnd( "\"c)
Dim sTemp As String = ""
GetPrivateProfileString(S_WALL, K_WALLBASEDIR, "", sTemp)
m_sWallDirPath = sTemp.TrimEnd("\"c)
End If
Return bIsActive
End Function
@@ -306,9 +310,9 @@ Public Module IniFile
Friend Function IsActiveDoors() As Boolean
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.DOORS) <> 0 And (GetPrivateProfileInt(S_DOORS, K_DDFENABLE, 0) <> 0)
If bIsActive Then
Dim sTemp As String = ""
GetPrivateProfileString(S_DOORS, K_BASEDIR, "", sTemp)
m_sDoorsDirPath = sTemp.TrimEnd( "\"c)
Dim sTemp As String = ""
GetPrivateProfileString(S_DOORS, K_BASEDIR, "", sTemp)
m_sDoorsDirPath = sTemp.TrimEnd("\"c)
End If
Return bIsActive
End Function
@@ -316,9 +320,9 @@ Public Module IniFile
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)
Dim sTemp As String = ""
GetPrivateProfileString(S_WINDOW, K_WINDOWBASEDIR, "", sTemp)
m_sWindowDirPath = sTemp.TrimEnd("\"c)
End If
Return bIsActive
End Function
@@ -326,9 +330,9 @@ Public Module IniFile
Friend Function IsActiveTrimming() As Boolean
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.TRIMMING) <> 0 And (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)
Dim sTemp As String = ""
GetPrivateProfileString(S_TRIMMING, K_TRIMMINGBASEDIR, "", sTemp)
m_sTrimmingDirPath = sTemp.TrimEnd("\"c)
End If
Return bIsActive
End Function
@@ -336,9 +340,9 @@ Public Module IniFile
Friend Function IsActiveReversePost() As Boolean
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.REVERSEPOST) <> 0 And (GetPrivateProfileInt(S_REVERSEPOST, K_REVERSEPOSTENABLE, 0) <> 0)
If bIsActive Then
Dim sTemp As String = ""
GetPrivateProfileString(S_REVERSEPOST, K_REVERSEPOSTBASEDIR, "", sTemp)
m_sReversePostDirPath = sTemp.TrimEnd( "\"c)
Dim sTemp As String = ""
GetPrivateProfileString(S_REVERSEPOST, K_REVERSEPOSTBASEDIR, "", sTemp)
m_sReversePostDirPath = sTemp.TrimEnd("\"c)
End If
Return bIsActive
End Function
@@ -346,9 +350,9 @@ Public Module IniFile
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
Dim sTemp As String = ""
GetPrivateProfileString(S_GUNSTOCK, K_GUNSTOCKEXEC, "", sTemp)
m_sGunstockDirPath = Path.GetDirectoryName( sTemp)
Dim sTemp As String = ""
GetPrivateProfileString(S_GUNSTOCK, K_GUNSTOCKEXEC, "", sTemp)
m_sGunstockDirPath = Path.GetDirectoryName(sTemp)
End If
Return bIsActive
End Function
@@ -367,13 +371,13 @@ Public Module IniFile
Return (IniFile.m_nKeyOptions And KEY_OPT.ADVMACHINING) <> 0
End Function
Friend Function IsActiveSpecialPanel( Optional bTestButton As Boolean = true) As Boolean
Friend Function IsActiveSpecialPanel(Optional bTestButton As Boolean = True) As Boolean
If GetPrivateProfileInt(S_SPECIAL, K_SPECIALENABLE, 0) = 0 Then Return False
If Not bTestButton Then Return True
Return (Not IsNothing(Map.refSpecialPanelVM) AndAlso Map.refSpecialPanelVM.ButtonCount > 0)
End Function
Friend Function GetSpecialLuaVersion( sSpecialLuaDir As String, ByRef sVersion As String) As Boolean
Friend Function GetSpecialLuaVersion(sSpecialLuaDir As String, ByRef sVersion As String) As Boolean
Dim sExecPath As String = (sSpecialLuaDir & "\Version.lua")
If Not EgtLuaExecFile(sExecPath, False) Then Return False
If Not EgtLuaGetGlobStringVar("VERSION", sVersion) Then Return False
@@ -381,7 +385,7 @@ Public Module IniFile
Return True
End Function
Friend Function GetSpecialLuaData( sSpecialLuaDir As String,
Friend Function GetSpecialLuaData(sSpecialLuaDir As String,
ByRef sName As String, ByRef sVersion As String, ByRef sMinExe As String) As Boolean
Dim sExecPath As String = (sSpecialLuaDir & "\Version.lua")
If Not EgtLuaExecFile(sExecPath, False) Then Return False