EgtCAM5 :
- Migliorie varie.
This commit is contained in:
+59
-3
@@ -1,10 +1,66 @@
|
||||
<UserControl x:Class="MachiningTreeExpanderView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
|
||||
xmlns:local="clr-namespace:EgtCAM5">
|
||||
|
||||
<Expander Header="Machinings List" IsExpanded="{Binding IsEnabled}">
|
||||
<Expander Header="Machinings List" IsExpanded="{Binding IsEnabled}" IsEnabled="{Binding IsEnabled}">
|
||||
<UniformGrid>
|
||||
<TreeView>
|
||||
<TreeView Name="MachiningsTreeView" Grid.Row="1"
|
||||
ItemsSource="{Binding Path=MachiningsList}">
|
||||
<interactivity:Interaction.Triggers>
|
||||
<interactivity:EventTrigger EventName="MouseDoubleClick">
|
||||
<interactivity:InvokeCommandAction Command="{Binding TreeViewDoubleClickCommand}" CommandParameter="{Binding ElementName=MachiningsTreeView,Path=SelectedItem}"/>
|
||||
</interactivity:EventTrigger>
|
||||
</interactivity:Interaction.Triggers>
|
||||
<TreeView.Resources>
|
||||
<!--Modifico HierarchicalDataTemplate del CathegoryItem per poter inserire immagine e testo e per -->
|
||||
<!--renderlo apribile con un solo click -->
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:FamilyMachiningTreeViewExpanderItem}" ItemsSource="{Binding Items}">
|
||||
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Image Grid.Column="0" Source="{Binding PictureString}" Height="15" Margin="0,0,5,0"/>
|
||||
<TextBlock Grid.Column="1" Text="{Binding Name}"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
<!--Assegna ai nodi ToolItem lo Style normale dei TreeViewItem, eliminando l'ombra, data dal
|
||||
multibinding quando sono attivi.-->
|
||||
<HierarchicalDataTemplate.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}" >
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Style>
|
||||
</HierarchicalDataTemplate.ItemContainerStyle>
|
||||
|
||||
</HierarchicalDataTemplate>
|
||||
<!--Modifico DataTemplate del ToolItem per poter inserire immagine e testo-->
|
||||
<DataTemplate DataType="{x:Type local:MachiningTreeViewExpanderItem}">
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />-->
|
||||
<TextBlock Grid.Column="1" Text="{Binding Name}"/>
|
||||
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</TreeView.Resources>
|
||||
|
||||
<!--Style dei nodi CathegoryItem che li riquadra di azzurro quando clicckati ed elimina l'ombra grigia -->
|
||||
<!--che si presenta quando la categoria rimane vuota (ombra causata dal multibinding). -->
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
|
||||
</TreeView>
|
||||
</UniformGrid>
|
||||
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
Public Class MachiningTreeExpanderView
|
||||
|
||||
End Class
|
||||
+179
-1
@@ -1,6 +1,184 @@
|
||||
Namespace EgtCAM5
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
|
||||
Namespace EgtCAM5
|
||||
|
||||
Public Class MachiningTreeExpanderViewModel
|
||||
Inherits ViewModelBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Private m_IsEnabled As Boolean
|
||||
Public Property IsEnabled As Boolean
|
||||
Get
|
||||
Return m_IsEnabled
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If value <> m_IsEnabled Then
|
||||
m_IsEnabled = value
|
||||
OnPropertyChanged("IsEnabled")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Lista delle lavorazioni
|
||||
Private m_MachiningsList As New ObservableCollection(Of FamilyMachiningTreeViewExpanderItem)
|
||||
Public Property MachiningsList As ObservableCollection(Of FamilyMachiningTreeViewExpanderItem)
|
||||
Get
|
||||
Return m_MachiningsList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of FamilyMachiningTreeViewExpanderItem))
|
||||
m_MachiningsList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdTreeViewDoubleClick As ICommand
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New()
|
||||
' Per caricare l'albero la prima volta che viene aperto
|
||||
IsEnabled = False
|
||||
LoadSelectedMachineMachinings()
|
||||
Application.Msn.Register(Application.PROJECTPAGE_MACHININGMODE, Sub()
|
||||
m_MachiningsList.Clear()
|
||||
LoadSelectedMachineMachinings()
|
||||
End Sub)
|
||||
Application.Msn.Register(Application.MACHININGTREEVIEWEXPANDERISENABLED, Sub(bValue As Boolean)
|
||||
IsEnabled = bValue
|
||||
End Sub)
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "TreeViewDoubleClickCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that do TreeViewDoubleClick.
|
||||
''' </summary>
|
||||
Public ReadOnly Property TreeViewDoubleClickCommand As ICommand
|
||||
Get
|
||||
If m_cmdTreeViewDoubleClick Is Nothing Then
|
||||
m_cmdTreeViewDoubleClick = New RelayCommand(AddressOf TreeViewDoubleClick, AddressOf CanTreeViewDoubleClick)
|
||||
End If
|
||||
Return m_cmdTreeViewDoubleClick
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Execute the TreeViewDoubleClick. This method is invoked by the TreeViewDoubleClickCommand.
|
||||
''' </summary>
|
||||
Public Sub TreeViewDoubleClick(ByVal param As Object)
|
||||
If TypeOf param Is MachiningTreeViewExpanderItem Then
|
||||
Dim Machining As MachiningTreeViewExpanderItem = DirectCast(param, MachiningTreeViewExpanderItem)
|
||||
Dim x = EgtAddMachining(MachiningTypeToString(DirectCast(Machining.Type, MCH_MY)) & "_1", Machining.Name)
|
||||
Application.Msn.NotifyColleagues(Application.LOADOPERATIONLIST)
|
||||
Application.Msn.NotifyColleagues(Application.MACHININGTREEVIEWEXPANDERISENABLED, False)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Returns always true.
|
||||
''' </summary>
|
||||
Private Function CanTreeViewDoubleClick(ByVal param As Object) As Boolean
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function MachiningTypeToString(Type As MCH_MY) As String
|
||||
Select Case Type
|
||||
Case MCH_MY.DRILLING
|
||||
Return EgtMsg(MSG_MACHININGSDBPAGE + 1)
|
||||
Case MCH_MY.SAWING
|
||||
Return EgtMsg(MSG_MACHININGSDBPAGE + 2)
|
||||
Case MCH_MY.MILLING
|
||||
Return EgtMsg(MSG_MACHININGSDBPAGE + 3)
|
||||
Case MCH_MY.POCKETING
|
||||
Return EgtMsg(MSG_MACHININGSDBPAGE + 4)
|
||||
Case MCH_MY.MORTISING
|
||||
Return EgtMsg(MSG_MACHININGSDBPAGE + 5)
|
||||
Case MCH_MY.SAWROUGHING
|
||||
Return EgtMsg(MSG_MACHININGSDBPAGE + 6)
|
||||
Case MCH_MY.SAWFINISHING
|
||||
Return EgtMsg(MSG_MACHININGSDBPAGE + 7)
|
||||
Case Else
|
||||
Return String.Empty
|
||||
End Select
|
||||
End Function
|
||||
|
||||
#End Region ' TreeViewDoubleClickCommand
|
||||
|
||||
#End Region ' Commands
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
''' <summary>
|
||||
''' Method that search the machines in the correct folder and add to the MachinesList those valid.
|
||||
''' </summary>
|
||||
Private Sub LoadSelectedMachineMachinings()
|
||||
Dim ActiveMachiningsTypes() As MachiningsType = ReadActiveMachiningsFamilies()
|
||||
For Each MachiningsType In ActiveMachiningsTypes
|
||||
Dim FamilyTreeView As New FamilyMachiningTreeViewExpanderItem(MachiningsType.TypeName, MachiningsType.TypeId)
|
||||
MachiningsList.Add(FamilyTreeView)
|
||||
Dim MachiningName As String = String.Empty
|
||||
If EgtMdbGetFirstMachining(MachiningsType.TypeId, MachiningName) Then
|
||||
FamilyTreeView.Items.Add(New MachiningTreeViewExpanderItem(MachiningName, MachiningsType.TypeId))
|
||||
While EgtMdbGetNextMachining(MachiningsType.TypeId, MachiningName)
|
||||
FamilyTreeView.Items.Add(New MachiningTreeViewExpanderItem(MachiningName, MachiningsType.TypeId))
|
||||
End While
|
||||
End If
|
||||
Next
|
||||
' Se esiste almeno una famiglia di lavorazioni, la seleziono
|
||||
If MachiningsList.Count > 0 Then
|
||||
MachiningsList(0).IsSelected = True
|
||||
MachiningsList(0).NotifyPropertyChanged("IsSelected")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Method that search the machines in the correct folder and add to the MachinesList those valid.
|
||||
''' </summary>
|
||||
Private Function ReadActiveMachiningsFamilies() As MachiningsType()
|
||||
Dim ActiveMachiningsFamiliesList As New List(Of MachiningsType)
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_DRILLING, 0, m_sDbsCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.DRILLING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 1)})
|
||||
End If
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWING, 0, m_sDbsCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.SAWING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 2)})
|
||||
End If
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_MILLING, 0, m_sDbsCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.MILLING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 3)})
|
||||
End If
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_POCKETING, 0, m_sDbsCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.POCKETING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 4)})
|
||||
End If
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_MORTISING, 0, m_sDbsCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.MORTISING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 5)})
|
||||
End If
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWROUGHING, 0, m_sDbsCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.SAWROUGHING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 6)})
|
||||
End If
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWFINISHING, 0, m_sDbsCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.SAWFINISHING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 7)})
|
||||
End If
|
||||
Return ActiveMachiningsFamiliesList.ToArray
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Structure that represent a tool's family, containing family type and family name
|
||||
''' </summary>
|
||||
Structure MachiningsType
|
||||
|
||||
Friend TypeId As MCH_MY
|
||||
Friend TypeName As String
|
||||
|
||||
End Structure
|
||||
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
Imports EgtUILib
|
||||
|
||||
''' <summary>
|
||||
''' Class that represent a Machining in the treeview.
|
||||
''' It's an element in the treeview that represent the child of familymachiningtreeviewitem, but also the class that read and write in the machining's database
|
||||
''' </summary>
|
||||
Public Class MachiningTreeViewExpanderItem
|
||||
Inherits ChildItem
|
||||
|
||||
#Region "Machining Property"
|
||||
|
||||
Private m_Type As MCH_MY
|
||||
Public ReadOnly Property Type As Integer
|
||||
Get
|
||||
Return m_Type
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Property that determines if the Machining is selected or not
|
||||
''' </summary>
|
||||
Public Overrides Property IsSelected As Boolean
|
||||
Get
|
||||
Return m_isSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If (value <> m_isSelected) Then
|
||||
m_isSelected = value
|
||||
' If Machining is selected, set it as current and notify all machining's property
|
||||
' to refresh them values with those of the new selected machining
|
||||
If value Then
|
||||
EgtMdbSetCurrMachining(Me.Name)
|
||||
Else
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End Set
|
||||
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
#End Region ' Machining Property
|
||||
|
||||
#Region "Constructors"
|
||||
|
||||
Sub New(Name As String, Type As MCH_MY)
|
||||
MyBase.New(Name)
|
||||
Me.m_Type = Type
|
||||
End Sub
|
||||
|
||||
#End Region ' Constructors
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' Class that represent a FamilyMachining in the treeview.
|
||||
''' It's an element in the treeview that represent a folder, but also a machining family
|
||||
''' </summary>
|
||||
Public Class FamilyMachiningTreeViewExpanderItem
|
||||
Inherits ParentItem
|
||||
|
||||
Private m_MachiningType As MCH_MY
|
||||
''' <summary>
|
||||
''' Property that determines the machining type of the family
|
||||
''' </summary>
|
||||
Public Property MachiningType As MCH_MY
|
||||
Get
|
||||
Return m_MachiningType
|
||||
End Get
|
||||
Set(value As MCH_MY)
|
||||
m_MachiningType = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Property that determines if the Machining is selected or not
|
||||
''' </summary>
|
||||
Public Overrides Property IsSelected As Boolean
|
||||
Get
|
||||
Return m_isSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If (value <> m_isSelected) Then
|
||||
m_isSelected = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Constructor that receive the name of the FamilyMachiningTreeViewItem, the MachiningType, and set
|
||||
''' the picture(Folder.png)
|
||||
''' </summary>
|
||||
Sub New(Name As String, MachiningType As MCH_MY)
|
||||
MyBase.New(Name)
|
||||
Me.MachiningType = MachiningType
|
||||
Me.PictureString = "/Resources/TreeView/Folder.png"
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
+2
-2
@@ -11,8 +11,8 @@
|
||||
<Button Content="New Positioning" Command="{Binding NewPositioningCommand}" Height="40"/>
|
||||
<Button Content="Cancel Operation" Command="{Binding CancelOperationCommand}" Height="40"/>
|
||||
</UniformGrid>
|
||||
<ListBox ItemsSource="{Binding OperationList}" SelectedItem="{Binding SelectedOperation}"
|
||||
MaxHeight="400">
|
||||
<ListBox ItemsSource="{Binding OperationList}" SelectedItem="{Binding SelectedOperation}"
|
||||
MaxHeight="400" x:Name="OperationList">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid>
|
||||
|
||||
+4
-1
@@ -37,12 +37,14 @@ Namespace EgtCAM5
|
||||
End Get
|
||||
Set(value As OperationListBoxItem)
|
||||
If value IsNot m_SelectedOperation Then
|
||||
'EgtSetCurrMachining(value.Id)
|
||||
If m_LastMarkedOperationId <> GDB_ID.NULL Then
|
||||
EgtResetMark(m_LastMarkedOperationId)
|
||||
End If
|
||||
EgtSetMark(value.Id)
|
||||
m_LastMarkedOperationId = value.Id
|
||||
EgtDraw()
|
||||
Application.Msn.NotifyColleagues(Application.SELECTEDOPERATION, value)
|
||||
m_SelectedOperation = value
|
||||
End If
|
||||
End Set
|
||||
@@ -82,7 +84,8 @@ Namespace EgtCAM5
|
||||
''' Execute the Point. This method is invoked by the PointCommand.
|
||||
''' </summary>
|
||||
Public Sub NewMachining(ByVal param As Object)
|
||||
|
||||
EgtDeselectAll()
|
||||
Application.Msn.NotifyColleagues(Application.MACHININGTREEVIEWEXPANDERISENABLED, True)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
Imports EgtUILib
|
||||
Imports System.ComponentModel
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class OperationListBoxItem
|
||||
Implements INotifyPropertyChanged
|
||||
|
||||
Private m_Id As Integer
|
||||
Public Property Id As Integer
|
||||
@@ -42,6 +44,20 @@ Public Class OperationListBoxItem
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Public Property Invert As Boolean
|
||||
' Get
|
||||
' 'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
' Dim bInvert As Boolean = False
|
||||
' EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, bInvert)
|
||||
' Return bInvert
|
||||
' End Get
|
||||
' Set(value As Boolean)
|
||||
' 'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
' EgtMdbSetCurrMachiningParam(MCH_MP.INVERT, value)
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
|
||||
Sub New(Id As Integer, Name As String, Type As Integer, Tool As String)
|
||||
Me.Id = Id
|
||||
Me.Name = Name
|
||||
@@ -50,7 +66,7 @@ Public Class OperationListBoxItem
|
||||
End Sub
|
||||
|
||||
Private Function ConvertTypeToImage(Type As Integer) As String
|
||||
Select Type
|
||||
Select Case Type
|
||||
Case MCH_OY.DISP
|
||||
Return ""
|
||||
Case MCH_OY.DRILLING
|
||||
@@ -72,4 +88,10 @@ Public Class OperationListBoxItem
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
|
||||
|
||||
Public Sub NotifyPropertyChanged(propName As String)
|
||||
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
+187
-5
@@ -1,11 +1,193 @@
|
||||
<UserControl x:Class="OperationPropertyExpanderView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:EgtCAM5">
|
||||
|
||||
<Expander Header="Operation Parameters" IsExpanded="{Binding IsEnabled}">
|
||||
<UniformGrid>
|
||||
<TextBox Text="{Binding InfoBox}"/>
|
||||
</UniformGrid>
|
||||
<Expander Header="Operation Parameters">
|
||||
<StackPanel DataContext="{Binding OperationListBoxItem}">
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="Name"/>
|
||||
<TextBox Text="{Binding Invert}"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="Depth"/>
|
||||
<TextBox Text="{Binding Depth}"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="Invert"/>
|
||||
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding Invert}" />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="WorkSide"/>
|
||||
<ComboBox ItemsSource="{Binding WorkSideList}"
|
||||
SelectedIndex="{Binding SelectedWorkSide}">
|
||||
<ComboBoxItem Content="Center" IsSelected="True"/>
|
||||
<ComboBoxItem Content="Left"/>
|
||||
<ComboBoxItem Content="Right"/>
|
||||
</ComboBox>
|
||||
</UniformGrid>
|
||||
<Expander Header="Generic">
|
||||
<StackPanel>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="Step"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="StepType"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="SideAngle"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="StartPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="StartSlowLen"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="EndSlowLen"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="OffsetSr"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="OffsetSl"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
<Expander>
|
||||
<Expander.Header>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="LeadInType"/>
|
||||
<ComboBox>
|
||||
<ComboBoxItem Content="None"/>
|
||||
<ComboBoxItem Content="Linear"/>
|
||||
<ComboBoxItem Content="Tangent" IsSelected="True"/>
|
||||
<ComboBoxItem Content="Helix"/>
|
||||
</ComboBox>
|
||||
</UniformGrid>
|
||||
</Expander.Header>
|
||||
<StackPanel>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="StartAddLen"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<TextBox />
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
<Expander HorizontalAlignment="Left">
|
||||
<Expander.Header>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="LeadOutType"/>
|
||||
<ComboBox>
|
||||
<ComboBoxItem Content="None"/>
|
||||
<ComboBoxItem Content="Linear"/>
|
||||
<ComboBoxItem Content="Tangent" IsSelected="True"/>
|
||||
<ComboBoxItem Content="Helix"/>
|
||||
</ComboBox>
|
||||
</UniformGrid>
|
||||
</Expander.Header>
|
||||
<StackPanel>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
<Expander>
|
||||
<Expander.Header>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="LeaveTab"/>
|
||||
<CheckBox HorizontalAlignment="Center"/>
|
||||
</UniformGrid>
|
||||
</Expander.Header>
|
||||
<StackPanel>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="ReturnPos"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
<Expander Header="Tool">
|
||||
<StackPanel>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="Speed"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="Feed"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="StartFeed"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="EndFeed"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="TipFeed"/>
|
||||
<TextBox />
|
||||
</UniformGrid>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
|
||||
</UserControl>
|
||||
|
||||
+41
-1
@@ -1,6 +1,46 @@
|
||||
Namespace EgtCAM5
|
||||
Imports EgtUILib
|
||||
|
||||
Namespace EgtCAM5
|
||||
|
||||
Public Class OperationPropertyExpanderViewModel
|
||||
Inherits ViewModelBase
|
||||
|
||||
Private m_SelectedOperation As OperationListBoxItem
|
||||
Public Property SelectedOperation As OperationListBoxItem
|
||||
Get
|
||||
Return m_SelectedOperation
|
||||
End Get
|
||||
Set(value As OperationListBoxItem)
|
||||
If value IsNot m_SelectedOperation Then
|
||||
Dim x = EgtSetCurrMachining(value.Id)
|
||||
m_SelectedOperation = value
|
||||
|
||||
m_SelectedOperation.NotifyPropertyChanged("Invert")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Private m_Depth As String
|
||||
'Public Property Depth As String
|
||||
' Get
|
||||
' EgtGetMachiningParam(MCH_MP.DEPTH, m_Depth)
|
||||
' Return m_Depth
|
||||
' End Get
|
||||
' Set(value As String)
|
||||
' If value <> m_Depth Then
|
||||
' If EgtSetMachiningParam(MCH_MP.NAME, value) Then
|
||||
' m_Depth = value
|
||||
' End If
|
||||
' End If
|
||||
' 'OnPropertyChanged("Depth")
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Sub New()
|
||||
Application.Msn.Register(Application.SELECTEDOPERATION, Sub(SelectedOperation As OperationListBoxItem)
|
||||
Me.SelectedOperation = SelectedOperation
|
||||
End Sub)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user