Compare commits

..

10 Commits

Author SHA1 Message Date
Demetrio Cassarino cbf44a8b23 -gestione finestra con griglia dinamica 2024-12-19 11:34:50 +01:00
Demetrio Cassarino 17e647e65d Merge commit '795407767663a23291c6494074c989c18a89e262' into feature/Button_Menu 2024-11-20 08:52:55 +01:00
Demetrio Cassarino 9fd0d7d9d5 -modifica margine pannello di destra 2024-04-12 08:54:16 +02:00
Demetrio Cassarino 7cc4374ad4 -spostato note in parametri avanzati 2024-04-11 16:20:21 +02:00
Demetrio Cassarino ca6874c2b5 Merge remote-tracking branch 'origin/master' into feature/Button_Menu 2024-04-11 09:18:43 +02:00
Demetrio Cassarino 4826feb281 -cambiato note da lista a itemscontrol 2024-04-10 16:31:56 +02:00
Demetrio Cassarino adf3ba4d97 -agiunto griglia su plug-in da controllare 2024-04-04 09:19:18 +02:00
Demetrio Cassarino 8cc6324d64 -gestione interfaccia con griglia dinamica 2024-04-04 09:10:53 +02:00
Demetrio Cassarino 6fc4e0d669 -griglia dinamiica 2024-03-28 17:14:55 +01:00
Demetrio Cassarino 5fd269f6bb -gestione multi selezione bottoni 2024-03-25 10:47:28 +01:00
203 changed files with 5619 additions and 4483 deletions
+12 -12
View File
@@ -1,8 +1,8 @@
<Window x:Class="AboutBoxWndV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="AboutBox" Height="400" Width="360" WindowStyle="None" ResizeMode="NoResize"
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="AboutBox" Height="400" Width="360" WindowStyle="None" ResizeMode="NoResize"
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
<Border BorderThickness="2" BorderBrush="LightBlue">
<Grid >
@@ -13,8 +13,8 @@
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="1.75*"/>
<RowDefinition Height="0.15*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
@@ -31,19 +31,19 @@
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Border Name="LogoBrd" Grid.Column="1" Background="White">
<Image Source="/Resources/AboutBox/EgalwareLogo.png" Stretch="Uniform"/>
<Image Source="/Resources/AboutBoxImage.png" Stretch="Uniform"/>
</Border>
</Grid>
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="18" />
VerticalAlignment="Center" FontSize="18" />
<TextBlock Name="VersionLbl" Grid.Column="1" Grid.Row="4" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="18"/>
VerticalAlignment="Center" FontSize="18"/>
<TextBlock Name="CopyrightLbl" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="12" />
VerticalAlignment="Center" FontSize="12" />
<TextBox Name="InfoLbl" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" FontSize="12" IsReadOnly="True" TextWrapping="Wrap"/>
VerticalAlignment="Stretch" FontSize="12" IsReadOnly="True" TextWrapping="Wrap"/>
<Button Name="ExitBtn" Grid.Column="1" Grid.Row="8" IsCancel="True"
Margin="100,0"/>
Margin="100,0"/>
</Grid>
+1 -1
View File
@@ -78,7 +78,7 @@ Public Class AboutBoxWndV
End If
If Not bExtensions Then sInfo &= Environment.NewLine & "---"
InfoLbl.Text = sInfo
ExitBtn.Content = EgtMsg(10104) 'Ok
ExitBtn.Content = EgtMsg(MSG_MISSINGKEYWD + 4) 'Ok
End Sub
End Class
+1 -2
View File
@@ -210,8 +210,7 @@ Class Application
Friend Const GUNSTOCKMODIF As String = "GunStockModif"
Private Sub Application_DispatcherUnhandledException(ByVal sender As System.Object, ByVal e As System.Windows.Threading.DispatcherUnhandledExceptionEventArgs)
'MessageBox.Show(e.Exception.Message)
EgtMessageBoxV.Show(Application.Current.MainWindow, e.Exception.Message)
MessageBox.Show(e.Exception.Message)
e.Handled = True
End Sub
@@ -88,6 +88,49 @@ Public Class AutomaticCloseExpander
Exit For
End If
Next
'Dim TotalDimension As Double = 0
''Aggiungo la dimensione di tutti gli Header
'For Each Expander In ExpanderList
' If Expander IsNot SelectedExpander Then
' If Not Expander.IsExpanded Then
' TotalDimension += Expander.ActualHeight
' Else
' Dim ExpanderContent As FrameworkElement = DirectCast(Expander.Content, FrameworkElement)
' ExpanderContent.Measure(New Size(Double.PositiveInfinity, Double.PositiveInfinity))
' TotalDimension += (Expander.ActualHeight - ExpanderContent.DesiredSize.Height)
' End If
' Else
' TotalDimension += Expander.ActualHeight
' End If
'Next
'' Aggiungo la dimensione dei controlli fissi (non Expander)
'For Each OtherControl In OtherControlList
' TotalDimension += OtherControl.ActualHeight
'Next
'' Aggiungo la dimensione del contenuto dell'expander selezionato
'Dim SelectedContent As FrameworkElement = DirectCast(SelectedExpander.Content, FrameworkElement)
'SelectedContent.Measure(New Size(Double.PositiveInfinity, Double.PositiveInfinity))
'TotalDimension += SelectedContent.DesiredSize.Height
'' Verifico per tutti gli expander (tranne quello selezionato) a partire dal primo se sono espansi e nel caso se la loro dimensione totale li fa stare nello spazio disponibile
'Dim Index As Integer = 0
'For Index = 0 To ExpanderList.Count - 1
' If ExpanderList(Index) IsNot SelectedExpander Then
' If ExpanderList(Index).IsExpanded Then
' Dim ExpanderContent As FrameworkElement = DirectCast(ExpanderList(Index).Content, FrameworkElement)
' TotalDimension += ExpanderContent.ActualHeight
' If TotalDimension > Me.AssociatedObject.MaxHeight Then
' Exit For
' End If
' End If
' End If
'Next
'For CancelIndex = Index To ExpanderList.Count - 1
' If ExpanderList(CancelIndex) IsNot SelectedExpander Then
' ExpanderList(CancelIndex).IsExpanded = False
' End If
'Next
End Sub
Private Sub HorizontalVerifyDimension(SelectedExpander As Expander)
@@ -58,5 +58,4 @@
binding.UpdateSource()
End If
End Sub
End Class
+1 -1
View File
@@ -9,7 +9,7 @@
Set(value As String)
If value <> m_sTabName Then
m_sTabName = value
OnPropertyChanged(NameOf(sTabName))
OnPropertyChanged("sTabName")
End If
End Set
End Property
+16 -38
View File
@@ -1,7 +1,5 @@
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports EgtUILib
Imports EgtUILib.EgtInterface
' Classe che definisce un elemento di base del TreeView
Public Class TreeViewItemBase
@@ -15,7 +13,7 @@ Public Class TreeViewItemBase
Set(value As String)
If (value <> m_Name) Then
m_Name = value
NotifyPropertyChanged(NameOf(Name))
NotifyPropertyChanged("Name")
End If
End Set
End Property
@@ -28,12 +26,12 @@ Public Class TreeViewItemBase
Set(value As Boolean)
If (value <> m_isSelected) Then
m_isSelected = value
NotifyPropertyChanged(NameOf(IsSelected))
NotifyPropertyChanged("IsSelected")
End If
End Set
End Property
Friend m_isExpanded As Boolean
Private m_isExpanded As Boolean
Public Property IsExpanded As Boolean
Get
Return m_isExpanded
@@ -41,26 +39,7 @@ Public Class TreeViewItemBase
Set(value As Boolean)
If (value <> m_isExpanded) Then
m_isExpanded = value
If Not Map.refProjectVM.bSelObjOnScene Then
Dim m_onldObjTreeOldId As Integer = Map.refManageLayerExpanderVM.m_nObjTreeOldId
If Not m_isExpanded Then
Else
For Each Item As LayerTreeViewItem In Map.refManageLayerExpanderVM.LayerList
For Each LayerItem As LayerTreeViewItem In Item.Items
If m_isExpanded = LayerItem.m_isExpanded Then
If m_onldObjTreeOldId = LayerItem.Id Then
Map.refProjectVM.SetLastInteger(LayerItem.Id)
'Map.refProjectVM.ExecuteCommand(Controller.CMD.DESELECTPARTLAYEROBJ)
'Else
'Map.refManageLayerExpanderVM.SelectIdInObjTree(LayerItem.Id)
'Map.refProjectVM.ExecuteCommand(Controller.CMD.SETCURRPARTLAYER)
End If
End If
Next
Next
End If
End If
NotifyPropertyChanged(NameOf(IsExpanded))
NotifyPropertyChanged("IsExpanded")
End If
End Set
End Property
@@ -73,7 +52,7 @@ Public Class TreeViewItemBase
Set(value As Boolean)
If value <> m_IsActive Then
m_IsActive = value
NotifyPropertyChanged(NameOf(IsActive))
NotifyPropertyChanged("IsActive")
End If
End Set
End Property
@@ -85,7 +64,7 @@ Public Class TreeViewItemBase
End Get
Set(value As Boolean)
m_IsEnabled = value
NotifyPropertyChanged(NameOf(IsEnabled))
NotifyPropertyChanged("IsEnabled")
End Set
End Property
@@ -113,7 +92,6 @@ Public Class InheritableTreeViewItem
Implements INotifyPropertyChanged
Friend m_Name As String
Public Property Name As String
Get
Return m_Name
@@ -121,7 +99,7 @@ Public Class InheritableTreeViewItem
Set(value As String)
If (value <> m_Name) Then
m_Name = value
NotifyPropertyChanged(NameOf(Name))
NotifyPropertyChanged("Name")
End If
End Set
End Property
@@ -134,7 +112,7 @@ Public Class InheritableTreeViewItem
Set(value As Boolean)
If (value <> m_IsSelected) Then
m_IsSelected = value
NotifyPropertyChanged(NameOf(IsSelected))
NotifyPropertyChanged("IsSelected")
End If
End Set
End Property
@@ -147,7 +125,7 @@ Public Class InheritableTreeViewItem
Set(value As Boolean)
If (value <> m_isExpanded) Then
m_isExpanded = value
NotifyPropertyChanged(NameOf(IsExpanded))
NotifyPropertyChanged("IsExpanded")
End If
End Set
End Property
@@ -160,7 +138,7 @@ Public Class InheritableTreeViewItem
Set(value As Boolean)
If value <> m_IsActive Then
m_IsActive = value
NotifyPropertyChanged(NameOf(IsActive))
NotifyPropertyChanged("IsActive")
End If
End Set
End Property
@@ -172,7 +150,7 @@ Public Class InheritableTreeViewItem
End Get
Set(value As Boolean)
m_IsEnabled = value
NotifyPropertyChanged(NameOf(IsEnabled))
NotifyPropertyChanged("IsEnabled")
End Set
End Property
@@ -184,7 +162,7 @@ Public Class InheritableTreeViewItem
Set(value As String)
If value <> m_sPictureString Then
m_sPictureString = value
NotifyPropertyChanged(NameOf(PictureString))
NotifyPropertyChanged("PictureString")
End If
End Set
End Property
@@ -217,6 +195,7 @@ Public Class ParentItem
Inherits TreeViewItemBase
Private m_sPictureString As String
Private m_Items As ObservableCollection(Of ChildItem)
Public Property PictureString As String
Get
@@ -225,12 +204,11 @@ Public Class ParentItem
Set(value As String)
If value <> m_sPictureString Then
m_sPictureString = value
NotifyPropertyChanged(NameOf(PictureString))
NotifyPropertyChanged("PictureString")
End If
End Set
End Property
Private m_Items As ObservableCollection(Of ChildItem)
Public Property Items As ObservableCollection(Of ChildItem)
Get
Return m_Items
@@ -264,7 +242,7 @@ Public Class ChildItem
Set(value As String)
If value <> m_sPictureString Then
m_sPictureString = value
NotifyPropertyChanged(NameOf(PictureString))
NotifyPropertyChanged("PictureString")
End If
End Set
End Property
@@ -277,4 +255,4 @@ Public Class ChildItem
MyBase.New(Name, IsSelected, IsExpanded, IsActive)
End Sub
End Class
End Class
+2 -1
View File
@@ -1,4 +1,5 @@
''' <summary>
''' <summary>
''' A command whose sole purpose is to
''' relay its functionality to other
''' objects by invoking delegates. The
+2 -1
View File
@@ -1,4 +1,5 @@
Module ConstDoors
Module ConstDoors
' File contenente la lista dei nomi di geometria ammessi
Public Const GEONAMELIST_FILE As String = "GeometryNameList.ini"
-5
View File
@@ -105,15 +105,11 @@ Module ConstIni
Public Const S_IMPORT As String = "Import"
Public Const K_DXFSCALE As String = "DxfScale"
Public Const K_STLSCALE As String = "StlScale"
Public Const K_OFFSCALE As String = "OffScale"
Public Const K_PLYSCALE As String = "PlyScale"
Public Const K_IMGSCALE As String = "ImgScale"
Public Const K_CNCFLAG As String = "CncFlag"
Public Const K_BTLFLAG As String = "BtlFlag"
Public Const K_BTLAUXDIR As String = "BtlAuxDir"
Public Const K_3MFFLAG As String = "3mfFlag"
Public Const K_ADVFLAG As String = "AdvFlag"
Public Const K_ADVTOLER As String = "AdvToler"
Public Const S_EXPORT As String = "Export"
Public Const K_DXFFLAG As String = "DxfFlag"
@@ -159,7 +155,6 @@ Module ConstIni
Public Const K_TABLESDIR As String = "TablesDir"
Public Const K_CURRMTABLE As String = "CurrMTable"
Public Const K_MTABLEWINPLACE As String = "MTableWinPlace"
Public Const K_OPTIMIZEMACHFORLINE As String = "OptimizeMachForLine"
Public Const S_GUNSTOCK As String = "GunStock"
Public Const K_GUNSTOCKENABLE As String = "GsEnable"
+4
View File
@@ -11,4 +11,8 @@
m_CurrSetUpVM = CurrSetUpVM
End Sub
'Private Sub CloseWindow(bDialogResult As Boolean) Handles m_SetUpDbVM.m_CloseWindow
' Me.DialogResult = bDialogResult
'End Sub
End Class
+20 -21
View File
@@ -1,4 +1,6 @@
Imports System.IO
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
@@ -10,7 +12,7 @@ Public Class CurrSetUpVM
Private m_Title As String
Public ReadOnly Property Title As String
Get
Return EgtMsg(6451) ' SetUp
Return EgtMsg(MSG_SETUP + 1)
End Get
End Property
@@ -52,28 +54,28 @@ Public Class CurrSetUpVM
Public ReadOnly Property TitleMsg As String
Get
Return EgtMsg(6451) ' SetUp
Return EgtMsg(MSG_SETUP + 1)
End Get
End Property
Public ReadOnly Property ApplyMsg As String
Get
Return EgtMsg(6452) ' Applica
Return EgtMsg(MSG_SETUP + 2)
End Get
End Property
Public ReadOnly Property SaveMsg As String
Get
Return EgtMsg(6453) ' Salva
Return EgtMsg(MSG_SETUP + 3)
End Get
End Property
Public ReadOnly Property RetrieveMsg As String
Get
Return EgtMsg(6454) ' Recupera
Return EgtMsg(MSG_SETUP + 4)
End Get
End Property
Public ReadOnly Property AutomaticMsg As String
Get
Return EgtMsg(6455) ' Auto
Return EgtMsg(MSG_SETUP + 5)
End Get
End Property
@@ -98,7 +100,7 @@ Public Class CurrSetUpVM
' Funzione che verifica se ci sono state modifiche all'attrezzaggio corrente e permette di attivare e disattivare il bottone applica
Private Sub IsEnabledBtns()
m_Apply_IsEnabled = Not m_SetUpVM.IsAppliedSetUp()
NotifyPropertyChanged(NameOf(Apply_IsEnabled))
NotifyPropertyChanged("Apply_IsEnabled")
End Sub
#Region "COMMANDS"
@@ -149,7 +151,7 @@ Public Class CurrSetUpVM
Public Sub Save()
' chiedo il nome con cui salvare il setup
Dim SaveFileDialogViewVM As New SaveFileDialogWithListVM With {
.Title = EgtMsg(6453) & " " & EgtMsg(6451), ' Salva SetUp
.Title = EgtMsg(MSG_SETUP + 3) & " " & EgtMsg(MSG_SETUP + 1),
.Extension = ".stu",
.Filter = "*.stu",
.Directory = m_SetUpDir_FilePath,
@@ -161,8 +163,7 @@ Public Class CurrSetUpVM
sFilePath = SaveFileDialogViewVM.FileName
If Not m_SetUpVM.Save(sFilePath) Then
EgtOutLog("Error in setup saving: can't find the directory")
'MessageBox.Show("Error in saving Setup.", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, "Error in saving Setup.", EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore
MessageBox.Show("Error in saving Setup.", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
End If
End Sub
@@ -194,12 +195,11 @@ Public Class CurrSetUpVM
Return
End If
' Apertura dialogo di salvataggio
Dim OpenFileDialogView As New EgtWPFLib5.EgtOpenFileDialog With {
.Title = EgtMsg(6454) & " " & EgtMsg(6451), ' Recupera SetUp
.Filter = "*.stu",
.Directory = sDir,
.FileName = String.Empty
}
Dim OpenFileDialogView As New EgtWPFLib5.EgtOpenFileDialog
OpenFileDialogView.Title = EgtMsg(MSG_SETUP + 4) & " " & EgtMsg(MSG_SETUP + 1)
OpenFileDialogView.Filter = "*.stu"
OpenFileDialogView.Directory = sDir
OpenFileDialogView.FileName = String.Empty
If Not OpenFileDialogView.EgtShowDialog Then
Return
End If
@@ -258,15 +258,14 @@ Public Class CurrSetUpVM
' Verifico se l'attrezzaggio è stato modificato
If m_SetUpVM.IsAppliedSetUp() Then
' se modificato chiedo se salvarlo prima di uscire
'If MessageBox.Show(EgtMsg(MSG_SETUP + 6), EgtMsg(MSG_SETUP + 2), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
If EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(6456), EgtMsg(6452), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then ' Applicare l'attrezzaggio corrente prima di uscire? Applica
If MessageBox.Show(EgtMsg(MSG_SETUP + 6), EgtMsg(MSG_SETUP + 2), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
' lo salvo
Apply()
End If
End If
' Resetto tutti i delegate usati
ExitToolAssociation.m_delIsModifiedSetUp = Nothing
' Resetto tutti i delegate usati
ExitToolAssociation.m_delIsModifiedSetUp = Nothing
' Reset lua
EgtLuaResetGlobVar("STU")
@@ -1,4 +0,0 @@
Public Interface IListItemConverter
Function Convert(ByVal masterListItem As Object) As Object
Function ConvertBack(ByVal targetListItem As Object) As Object
End Interface
@@ -1,80 +0,0 @@
Imports System.Windows.Controls.Primitives
Imports System.ComponentModel
Public Class MultiSelectorBehaviours
Public Shared ReadOnly SynchronizedSelectedItemsProperty As DependencyProperty = DependencyProperty.RegisterAttached("SynchronizedSelectedItems", GetType(IList), GetType(MultiSelectorBehaviours), New PropertyMetadata(Nothing, AddressOf OnSynchronizedSelectedItemsChanged))
Public Shared ReadOnly SynchronizationManagerProperty As DependencyProperty = DependencyProperty.RegisterAttached("SynchronizationManager", GetType(SynchronizationManager), GetType(MultiSelectorBehaviours), New PropertyMetadata(Nothing))
Public Shared Function GetSynchronizedSelectedItems(ByVal dependencyObject As DependencyObject) As IList
Return CType(dependencyObject.GetValue(SynchronizedSelectedItemsProperty), IList)
End Function
Public Shared Sub SetSynchronizedSelectedItems(ByVal dependencyObject As DependencyObject, ByVal value As IList)
dependencyObject.SetValue(SynchronizedSelectedItemsProperty, value)
End Sub
Private Shared Function GetSynchronizationManager(ByVal dependencyObject As DependencyObject) As SynchronizationManager
Return CType(dependencyObject.GetValue(SynchronizationManagerProperty), SynchronizationManager)
End Function
Private Shared Sub SetSynchronizationManager(ByVal dependencyObject As DependencyObject, ByVal value As SynchronizationManager)
dependencyObject.SetValue(SynchronizationManagerProperty, value)
End Sub
Private Shared Sub OnSynchronizedSelectedItemsChanged(ByVal dependencyObject As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
If e.OldValue IsNot Nothing Then
Dim synchronizer As SynchronizationManager = GetSynchronizationManager(dependencyObject)
synchronizer.StopSynchronizing()
SetSynchronizationManager(dependencyObject, Nothing)
End If
Dim list As IList = TryCast(e.NewValue, IList)
Dim selector As Selector = TryCast(dependencyObject, Selector)
If list IsNot Nothing AndAlso selector IsNot Nothing Then
Dim synchronizer As SynchronizationManager = GetSynchronizationManager(dependencyObject)
If synchronizer Is Nothing Then
synchronizer = New SynchronizationManager(selector)
SetSynchronizationManager(dependencyObject, synchronizer)
End If
synchronizer.StartSynchronizingList()
End If
End Sub
Private Class SynchronizationManager
Private ReadOnly _multiSelector As Selector
Private _synchronizer As TwoListSynchronizer
Friend Sub New(ByVal selector As Selector)
_multiSelector = selector
End Sub
Public Sub StartSynchronizingList()
Dim list As IList = GetSynchronizedSelectedItems(_multiSelector)
If list IsNot Nothing Then
_synchronizer = New TwoListSynchronizer(GetSelectedItemsCollection(_multiSelector), list)
_synchronizer.StartSynchronizing()
End If
End Sub
Public Sub StopSynchronizing()
_synchronizer.StopSynchronizing()
End Sub
Public Shared Function GetSelectedItemsCollection(ByVal selector As Selector) As IList
If TypeOf selector Is MultiSelector Then
Return (TryCast(selector, MultiSelector)).SelectedItems
ElseIf TypeOf selector Is ListBox Then
Return (TryCast(selector, ListBox)).SelectedItems
Else
Throw New InvalidOperationException("Target object has no SelectedItems property to bind.")
End If
End Function
End Class
End Class
@@ -1,163 +0,0 @@
Imports System.Collections.Specialized
Public Class TwoListSynchronizer
Implements IWeakEventListener
Private Shared ReadOnly DefaultConverter As IListItemConverter = New DoNothingListItemConverter()
Private ReadOnly _masterList As IList
Private ReadOnly _masterTargetConverter As IListItemConverter
Private ReadOnly _targetList As IList
Public Sub New(ByVal masterList As IList, ByVal targetList As IList, ByVal masterTargetConverter As IListItemConverter)
_masterList = masterList
_targetList = targetList
_masterTargetConverter = masterTargetConverter
End Sub
Public Sub New(ByVal masterList As IList, ByVal targetList As IList)
Me.New(masterList, targetList, DefaultConverter)
End Sub
Private Delegate Sub ChangeListAction(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
Public Sub StartSynchronizing()
ListenForChangeEvents(_masterList)
ListenForChangeEvents(_targetList)
SetListValuesFromSource(_masterList, _targetList, New Converter(Of Object, Object)(AddressOf ConvertFromMasterToTarget))
If Not TargetAndMasterCollectionsAreEqual() Then
SetListValuesFromSource(_targetList, _masterList, New Converter(Of Object, Object)(AddressOf ConvertFromTargetToMaster))
End If
End Sub
Public Sub StopSynchronizing()
StopListeningForChangeEvents(_masterList)
StopListeningForChangeEvents(_targetList)
End Sub
Public Function ReceiveWeakEvent(ByVal managerType As Type, ByVal sender As Object, ByVal e As EventArgs) As Boolean Implements IWeakEventListener.ReceiveWeakEvent
HandleCollectionChanged(TryCast(sender, IList), TryCast(e, NotifyCollectionChangedEventArgs))
Return True
End Function
Protected Sub ListenForChangeEvents(ByVal list As IList)
If TypeOf list Is INotifyCollectionChanged Then
CollectionChangedEventManager.AddListener(TryCast(list, INotifyCollectionChanged), Me)
End If
End Sub
Protected Sub StopListeningForChangeEvents(ByVal list As IList)
If TypeOf list Is INotifyCollectionChanged Then
CollectionChangedEventManager.RemoveListener(TryCast(list, INotifyCollectionChanged), Me)
End If
End Sub
Private Sub AddItems(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
Dim itemCount As Integer = e.NewItems.Count
For i As Integer = 0 To itemCount - 1
Dim insertionPoint As Integer = e.NewStartingIndex + i
If insertionPoint > list.Count Then
list.Add(converter(e.NewItems(i)))
Else
list.Insert(insertionPoint, converter(e.NewItems(i)))
End If
Next
End Sub
Private Function ConvertFromMasterToTarget(ByVal masterListItem As Object) As Object
Return If(_masterTargetConverter Is Nothing, masterListItem, _masterTargetConverter.Convert(masterListItem))
End Function
Private Function ConvertFromTargetToMaster(ByVal targetListItem As Object) As Object
Return If(_masterTargetConverter Is Nothing, targetListItem, _masterTargetConverter.ConvertBack(targetListItem))
End Function
Private Sub HandleCollectionChanged(ByVal sender As Object, ByVal e As NotifyCollectionChangedEventArgs)
Dim sourceList As IList = TryCast(sender, IList)
Select Case e.Action
Case NotifyCollectionChangedAction.Add
PerformActionOnAllLists(AddressOf AddItems, sourceList, e)
Case NotifyCollectionChangedAction.Move
PerformActionOnAllLists(AddressOf MoveItems, sourceList, e)
Case NotifyCollectionChangedAction.Remove
PerformActionOnAllLists(AddressOf RemoveItems, sourceList, e)
Case NotifyCollectionChangedAction.Replace
PerformActionOnAllLists(AddressOf ReplaceItems, sourceList, e)
Case NotifyCollectionChangedAction.Reset
UpdateListsFromSource(TryCast(sender, IList))
Case Else
End Select
End Sub
Private Sub MoveItems(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
RemoveItems(list, e, converter)
AddItems(list, e, converter)
End Sub
Private Sub PerformActionOnAllLists(ByVal action As ChangeListAction, ByVal sourceList As IList, ByVal collectionChangedArgs As NotifyCollectionChangedEventArgs)
If sourceList Is _masterList Then
PerformActionOnList(_targetList, action, collectionChangedArgs, New Converter(Of Object, Object)(AddressOf ConvertFromMasterToTarget))
Else
PerformActionOnList(_masterList, action, collectionChangedArgs, New Converter(Of Object, Object)(AddressOf ConvertFromTargetToMaster))
End If
End Sub
Private Sub PerformActionOnList(ByVal list As IList, ByVal action As ChangeListAction, ByVal collectionChangedArgs As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
StopListeningForChangeEvents(list)
action(list, collectionChangedArgs, converter)
ListenForChangeEvents(list)
End Sub
Private Sub RemoveItems(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
If e.OldItems.Count = 1 AndAlso e.OldStartingIndex <= list.Count - 1 Then
list.RemoveAt(e.OldStartingIndex)
Else
For Each Item In e.OldItems
list.Remove(Item)
Next
End If
End Sub
Private Sub ReplaceItems(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
RemoveItems(list, e, converter)
AddItems(list, e, converter)
End Sub
Private Sub SetListValuesFromSource(ByVal sourceList As IList, ByVal targetList As IList, ByVal converter As Converter(Of Object, Object))
StopListeningForChangeEvents(targetList)
targetList.Clear()
For Each o As Object In sourceList
targetList.Add(converter(o))
Next
ListenForChangeEvents(targetList)
End Sub
Private Function TargetAndMasterCollectionsAreEqual() As Boolean
Return _masterList.Cast(Of Object)().SequenceEqual(_targetList.Cast(Of Object)().[Select](Function(item) ConvertFromTargetToMaster(item)))
End Function
Private Sub UpdateListsFromSource(ByVal sourceList As IList)
If sourceList Is _masterList Then
SetListValuesFromSource(_masterList, _targetList, New Converter(Of Object, Object)(AddressOf ConvertFromMasterToTarget))
Else
SetListValuesFromSource(_targetList, _masterList, New Converter(Of Object, Object)(AddressOf ConvertFromTargetToMaster))
End If
End Sub
Friend Class DoNothingListItemConverter
Implements IListItemConverter
Public Function Convert(ByVal masterListItem As Object) As Object Implements IListItemConverter.Convert
Return masterListItem
End Function
Public Function ConvertBack(ByVal targetListItem As Object) As Object Implements IListItemConverter.ConvertBack
Return targetListItem
End Function
End Class
End Class
+226 -60
View File
@@ -14,20 +14,47 @@
<TextBlock Text="{Binding Draw2DMsg}"/>
</Expander.Header>
<UniformGrid Columns="3">
<Button ToolTip="{Binding PointToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding PointCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/Point.png" Stretch="Uniform"/>
<Button x:Name="PuntoBtn" ToolTip="Punto" Style="{StaticResource DrawPanelButton}"
Command="{Binding PointBaseCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/Point+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Vettore" Style="{StaticResource DrawPanelButton}"
Command="{Binding PointVectorCommand}">
<Image Source="/Resources/DrawPanel/Point.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Riferimento" Style="{StaticResource DrawPanelButton}"
Command="{Binding PointReferenceCommand}">
<Image Source="/Resources/DrawPanel/Point.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding Line2PToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Linea 2 Punti" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding Line2PCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/Line2P.png" Stretch="Uniform"/>
Command="{Binding Line2PBaseCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/Line2P+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Linea 2 Punti con Continuazione" Style="{StaticResource DrawPanelButton}"
Command="{Binding Line2PContinuationCommand}">
<Image Source="/Resources/DrawPanel/Line2P.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding LinePDLToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Linea Punto Direzione Lunghezza" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding LinePDLCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/LinePDL.png" Stretch="Uniform"/>
Command="{Binding LinePDLBaseCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/LinePDL+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Linea Punto Vettore Direzione Lunghezza" Style="{StaticResource DrawPanelButton}"
Command="{Binding LinePDLVectorCommand}">
<Image Source="/Resources/DrawPanel/Line2P.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding ArcCSEToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
@@ -39,10 +66,18 @@
Command="{Binding Arc3PCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/Arc3P.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ArcPDPToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Arco " Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding ArcPDPCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/ArcPDP.png" Stretch="Uniform"/>
<Image Source="/Resources/DrawPanel/ArcPDP+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Linea Punto Vettore Direzione Lunghezza" Style="{StaticResource DrawPanelButton}"
Command="{Binding LinePDLVectorCommand}">
<Image Source="/Resources/DrawPanel/ArcPDP.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding CirclePDToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
@@ -74,25 +109,57 @@
Command="{Binding PolygonSideCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/PolygonSide.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding LinearDimensionToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Quota Lineare" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding LinearDimensionCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/LinearDimension.png" Stretch="Uniform"/>
Command="{Binding LinearDimensionBaseCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/LinearDimension+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Quota Allineata" Style="{StaticResource DrawPanelButton}"
Command="{Binding AlignedDimensionCommand}">
<Image Source="/Resources/DrawPanel/LinearDimension.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding AngularDimensionToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Quota Angolare" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding AngularDimensionCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/AngularDimension.png" Stretch="Uniform"/>
Command="{Binding AngularDimensionBaseCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/AngularDimension +.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Quota Angolare Avanzata" Style="{StaticResource DrawPanelButton}"
Command="{Binding AlignedDimensionPlusCommand}">
<Image Source="/Resources/DrawPanel/AngularDimension.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding DiamRadDimensionToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Quota Diametrale" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding DiamRadDimensionCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/DiametralDimension.png" Stretch="Uniform"/>
Command="{Binding DiamDimensionCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/DiametralDimension+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Quota Radiale" Style="{StaticResource DrawPanelButton}"
Command="{Binding RadDimensionCommand}">
<Image Source="/Resources/DrawPanel/DiametralDimension.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding TextToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Testo" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding TextCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/Text.png" Stretch="Uniform"/>
Command="{Binding TextBaseCommand}" IsEnabled="{Binding bLayerOk}">
<Image Source="/Resources/DrawPanel/Text+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Testo Avanzato" Style="{StaticResource DrawPanelButton}"
Command="{Binding TextPlusCommand}">
<Image Source="/Resources/DrawPanel/TextA.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
</UniformGrid>
</Expander>
@@ -102,10 +169,18 @@
<TextBlock Text="{Binding Draw3DMsg}"/>
</Expander.Header>
<UniformGrid Columns="3">
<Button ToolTip="{Binding PlaneToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Piano Contornato" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding PlaneCommand}" IsEnabled="{Binding bLayerOkAndSelOk}">
<Image Source="/Resources/DrawPanel/Plane.png" Stretch="Uniform"/>
Command="{Binding FloorCommand}" IsEnabled="{Binding bLayerOkAndSelOk}">
<Image Source="/Resources/DrawPanel/Plane+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Regione Piana" Style="{StaticResource DrawPanelButton}"
Command="{Binding RegionCommand}">
<Image Source="/Resources/DrawPanel/Plane.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding ExtrudeToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
@@ -137,15 +212,31 @@
Command="{Binding SolidAddSurfCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/SolidAddSurf.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding SolidSubtractSurfToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Sottrai Superfici e Regioni Piane" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding SolidSubtractSurfCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/SolidSubtractSurf.png" Stretch="Uniform"/>
Command="{Binding SubtractSurfacesCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/SolidSubtractSurf+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Taglia Superficie con Superficie Inversa" Style="{StaticResource DrawPanelButton}"
Command="{Binding CutSurfacesCommand}">
<Image Source="/Resources/DrawPanel/SolidSubtractSurf.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding SolidIntersectSurfToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Interseca Superfici e Regioni Piane" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding SolidIntersectSurfCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/SolidIntersectSurf.png" Stretch="Uniform"/>
Command="{Binding IntersectSurfCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/SolidIntersectSurf+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Taglia Superficie con Superficie" Style="{StaticResource DrawPanelButton}"
Command="{Binding CutSurfCommand}">
<Image Source="/Resources/DrawPanel/SolidIntersectSurf.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding IntersectSurfSurfToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
@@ -162,10 +253,18 @@
Command="{Binding ExtractFacetLoopsCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ExtractFacetLoops.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ExplodeSurfToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Esplodi Superfici e Regioni Piane" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding ExplodeSurfCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ExplodeSurf.png" Stretch="Uniform"/>
Command="{Binding ExplodeSurfaceCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ExplodeSurf+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Esplodi Superfici Mesh in Triangoli" Style="{StaticResource DrawPanelButton}"
Command="{Binding ExplodeSurfaceMeshCommand}">
<Image Source="/Resources/DrawPanel/ExplodeSurf.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding ExtractSurfFacetToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
@@ -187,10 +286,18 @@
Command="{Binding ApproxSurfCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ApproxSurf.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding StmMoveVertexFacetToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Muovi Vertice di Superficie" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding MoveStmVertexFacetCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/StmMoveVertex.png" Stretch="Uniform"/>
Command="{Binding MoveStmVertexCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/StmMoveVertex+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Muovi Faccia di Superficie" Style="{StaticResource DrawPanelButton}"
Command="{Binding MoveStmFacetCommand}">
<Image Source="/Resources/DrawPanel/StmMoveVertex.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
</UniformGrid>
</Expander>
@@ -204,14 +311,22 @@
Command="{Binding DeleteCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/Delete.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ChangeLayerToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Cambia Layer" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding ChangeLayerCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ChangeLayer.png" Stretch="Uniform"/>
Command="{Binding ChangeLayerBaseCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ChangeLayer+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Cambia Layer con Trasformazioni" Style="{StaticResource DrawPanelButton}"
Command="{Binding ChangeLayerTrasfCommand}">
<Image Source="/Resources/DrawPanel/ChangeLayer.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding ChangeStatusToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding ChangeStatusCommand}" IsEnabled="{Binding bSelOk}">
ToolTipService.ShowOnDisabled="True"
Command="{Binding ChangeStatusCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ChangeStatus.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ChangeColorToolTip}" Style="{StaticResource DrawPanelButton}"
@@ -264,10 +379,22 @@
Command="{Binding ExplodeCurveCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ExplodeCurve.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding JoinCurveToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Unisci Curve" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding JoinCurveCommand}" IsEnabled="{Binding bLayerOkAndSelOk}">
<Image Source="/Resources/DrawPanel/JoinCurve.png" Stretch="Uniform"/>
Command="{Binding JoinCurveBasCommand}" IsEnabled="{Binding bLayerOkAndSelOk}">
<Image Source="/Resources/DrawPanel/JoinCurve+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Unisci Curve creando una Copia" Style="{StaticResource DrawPanelButton}"
Command="{Binding JoinCurveCopyCommand}">
<Image Source="/Resources/DrawPanel/JoinCurve.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Fondi Curve nella Composita" Style="{StaticResource DrawPanelButton}"
Command="{Binding JoinCurveCompositeCommand}">
<Image Source="/Resources/DrawPanel/JoinCurve.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding OffsetToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
@@ -284,30 +411,69 @@
Command="{Binding ChamferCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/Chamfer.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ArcFlipToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding ArcFlipCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ArcFlip.png" Stretch="Uniform"/>
<Button ToolTip="Arco Capovolto" Style="{StaticResource DrawPanelButton}"
Command="{Binding UpsideDownArchCommand}" ToolTipService.ShowOnDisabled="True" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ArcFlip+.png" Stretch="Uniform"/>
<Button.ContextMenu >
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Arco Esplementare" Style="{StaticResource DrawPanelButton}"
Command="{Binding ComplementaryArchCommand}">
<Image Source="/Resources/DrawPanel/ArcFlip.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding ModifyCurveToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding ModifyCurveCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ModifyCurve.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding AddPointCurveToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Aggiungi Punto" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding AddPointCurveCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/AddPointCurve.png" Stretch="Uniform"/>
Command="{Binding AddPointCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/AddPointCurve+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Trasforma in Arco" Style="{StaticResource DrawPanelButton}"
Command="{Binding TrasformArcCommand}">
<Image Source="/Resources/DrawPanel/AddPointCurve.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Chiudi Curva Composita" Style="{StaticResource DrawPanelButton}"
Command="{Binding CloseCurveCommand}">
<Image Source="/Resources/DrawPanel/AddPointCurve.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding RemovePointCurveToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Rimuovi Punto" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding RemovePointCurveCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/RemovePointCurve.png" Stretch="Uniform"/>
Command="{Binding RemoveCurveCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/RemovePointCurve+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Trasforma in Retta" Style="{StaticResource DrawPanelButton}"
Command="{Binding TrasformRectCommand}">
<Image Source="/Resources/DrawPanel/RemovePointCurve.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Apri Curva Composita" Style="{StaticResource DrawPanelButton}"
Command="{Binding OpenCurveCommand}">
<Image Source="/Resources/DrawPanel/RemovePointCurve.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding ApproxCurveToolTip}" Style="{StaticResource DrawPanelButton}"
<Button ToolTip="Approssima Curva" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
Command="{Binding ApproxCurveCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ApproxCurve.png" Stretch="Uniform"/>
Command="{Binding ApproxCurveBaseCommand}" IsEnabled="{Binding bSelOk}">
<Image Source="/Resources/DrawPanel/ApproxCurve+.png" Stretch="Uniform"/>
<Button.ContextMenu>
<ContextMenu Style="{StaticResource ContextMenu_Button}">
<Button ToolTip="Approssima Curva con Linee" Style="{StaticResource DrawPanelButton}"
Command="{Binding ApproxCurveLineCommand}">
<Image Source="/Resources/DrawPanel/ApproxCurve.png" Stretch="Uniform"/>
</Button>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button ToolTip="{Binding ModifyArcRadiusToolTip}" Style="{StaticResource DrawPanelButton}"
ToolTipService.ShowOnDisabled="True"
+1087 -78
View File
File diff suppressed because it is too large Load Diff
+35 -37
View File
@@ -161,18 +161,6 @@
<DependentUpon>CurrSetUpV.xaml</DependentUpon>
</Compile>
<Compile Include="CurrSetUp\CurrSetUpVM.vb" />
<Compile Include="EgtColorPicker\EgtColorPickerV.xaml.vb">
<DependentUpon>EgtColorPickerV.xaml</DependentUpon>
</Compile>
<Compile Include="EgtManageFileDialog\EgtManageFileDialogV.xaml.vb">
<DependentUpon>EgtManageFileDialogV.xaml</DependentUpon>
</Compile>
<Compile Include="EgtMessageBox\EgtMessageBoxV.xaml.vb">
<DependentUpon>EgtMessageBoxV.xaml</DependentUpon>
</Compile>
<Compile Include="DataGridMultiselectManaging\IListItemConverter.vb" />
<Compile Include="DataGridMultiselectManaging\MultiSelectorBehaviours.vb" />
<Compile Include="DataGridMultiselectManaging\TwoListSynchronizer.vb" />
<Compile Include="LeftTray\LeftTrayV.xaml.vb">
<DependentUpon>LeftTrayV.xaml</DependentUpon>
</Compile>
@@ -437,6 +425,7 @@
<DependentUpon>GunStockWndV.xaml</DependentUpon>
</Compile>
<Compile Include="Special-GunStock\GunStockWndVM.vb" />
<Compile Include="Utility\TMDbParamVisibility.vb" />
<Compile Include="StructureDataForMessenger.vb" />
<Compile Include="OptionPanel\MachiningOptionPanel\OperationExpander\DispositionParameterExpander\DispositionUtility.vb" />
<Compile Include="ToolsDbWindow\ToolsUpdate.vb" />
@@ -467,18 +456,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="EgtColorPicker\EgtColorPickerV.xaml">
<SubType>Designer</SubType>
<Generator>XamlIntelliSenseFileGenerator</Generator>
</Page>
<Page Include="EgtManageFileDialog\EgtManageFileDialogV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="EgtMessageBox\EgtMessageBoxV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="EstimationsDetailsWnd\EstimationsDetailsWndV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1059,43 +1036,64 @@
<Resource Include="Resources\DrawPanel\StmMoveVertex.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtMessageBox\Error.png" />
<Resource Include="Resources\DrawPanel\Point+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtMessageBox\Information.png" />
<Resource Include="Resources\DrawPanel\Line2P+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtMessageBox\Question.png" />
<Resource Include="Resources\DrawPanel\LinePDL+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtMessageBox\Warning.png" />
<Resource Include="Resources\DrawPanel\ArcPDP+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Folder.png" />
<Resource Include="Resources\DrawPanel\Text+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\New.png" />
<Resource Include="Resources\DrawPanel\TextA.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Restore.png" />
<Resource Include="Resources\DrawPanel\ArcFlip+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtDialog\Root.png" />
<Resource Include="Resources\DrawPanel\LinearDimension+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtMessageBox\Asterisk.png" />
<Resource Include="Resources\DrawPanel\AngularDimension +.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtMessageBox\Exclamation.png" />
<Resource Include="Resources\DrawPanel\DiametralDimension+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\EgtMessageBox\Hand.png" />
<Resource Include="Resources\DrawPanel\Plane+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\AboutBox\EgalwareLogo.png" />
<Resource Include="Resources\DrawPanel\SolidSubtractSurf+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\Egalware.ico" />
<Resource Include="Resources\DrawPanel\SolidIntersectSurf+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DrawPanel\ExplodeSurf+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DrawPanel\StmMoveVertex+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DrawPanel\ChangeLayer+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DrawPanel\JoinCurve+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DrawPanel\AddPointCurve+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DrawPanel\RemovePointCurve+.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\DrawPanel\ApproxCurve+.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
-266
View File
@@ -1,266 +0,0 @@
<EgtWPFLib5:EgtCustomWindow x:Class="EgtColorPickerV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding sTitle}"
WindowStartupLocation="CenterOwner"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="32"
IsMinimizable="False" ShowInTaskbar="False"
Width="750" Height="450"
CloseCommand="{Binding Close_Command,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
<Grid Margin="5,5,5,0">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="5,5,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid Margin="5,5,5,0">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TabControl>
<TabItem Header="{Binding BasicColor_Msg}">
<Grid HorizontalAlignment="Center"
VerticalAlignment="Center">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ListBox ItemsSource="{Binding BasicColors}"
SelectedItem="{Binding SelColor}"
HorizontalAlignment="Center"
BorderThickness="0">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="13"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Rectangle Width="20"
Height="20"
Margin="2"
Stroke="Black"
StrokeThickness="0.5"
Fill="{Binding Fill}"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Grid>
</TabItem>
<TabItem Header="{Binding ColorPicker_Msg}">
<TabItem.Resources>
<Style TargetType="{x:Type EgtWPFLib5:EgtHexItem}" BasedOn="{StaticResource EgtHexItem}">
<Setter Property="BorderThickness" Value="1.5"/>
<Setter Property="BorderBrush" Value="White"/>
</Style>
</TabItem.Resources>
<EgtWPFLib5:EgtHexList ItemsSource="{Binding HexList}"
SelectedItem="{Binding sHexSelColor}"
Orientation="Vertical"
Margin="2.5"
RowCount="13"
ColumnCount="13"
Height="300"
Width="350"
Style="{StaticResource EgtHexList}">
<EgtWPFLib5:EgtHexList.ItemTemplate>
<DataTemplate/>
</EgtWPFLib5:EgtHexList.ItemTemplate>
<EgtWPFLib5:EgtHexList.ItemContainerStyle>
<Style TargetType="EgtWPFLib5:EgtHexItem" BasedOn="{StaticResource EgtHexItem}">
<Setter Property="Grid.Row" Value="{Binding nRow}"/>
<Setter Property="Grid.Column" Value="{Binding nColumn}"/>
<Setter Property="Background" Value="{Binding Background}"/>
</Style>
</EgtWPFLib5:EgtHexList.ItemContainerStyle>
</EgtWPFLib5:EgtHexList>
</TabItem>
<TabItem Header="{Binding ColorPickerTheme_Msg}">
<Grid HorizontalAlignment="Center"
VerticalAlignment="Center">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ListBox ItemsSource="{Binding BasicColorsTheme}"
SelectedItem="{Binding SelColorTheme}"
BorderThickness="0">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="13"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Rectangle Width="20"
Height="20"
Margin="2"
Stroke="Black"
StrokeThickness="0.5"
Fill="{Binding Fill}"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Grid>
</TabItem>
</TabControl>
</Grid>
<Grid Grid.Column="1"
Margin="5,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding CustomColor_Msg}"
Margin="5,18,5,10"
Style="{StaticResource DialogWindow_TextBlock}"/>
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ListBox ItemsSource="{Binding CustomColors}"
SelectedItem="{Binding SelCustomColor}"
HorizontalAlignment="Center"
BorderThickness="0">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="13"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Rectangle Width="20"
Height="20"
Margin="2"
Stroke="Black"
StrokeThickness="0.5"
Fill="{Binding Fill}"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Grid>
<Grid Grid.Row="2"
Margin="0,20,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid Margin="0,10,5,0"
HorizontalAlignment="Left">
<Grid.RowDefinitions>
<RowDefinition Height="1*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Rectangle Width="100"
Height="70"
Stroke="Black"
StrokeThickness="0.5"
Fill="{Binding CurrColor}"/>
<Button x:Name="SaveColor"
Grid.Row="1"
Margin="0,10,0,0"
Content="{Binding AddCColor_Msg}"
Command="{Binding SaveColor_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Red_Msg}"
Margin="0,10,5,0"
HorizontalAlignment="Right"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBox Grid.Column="1"
HorizontalAlignment="Right"
Margin="0,10,5,0"
IsReadOnly="False"
Text="{Binding Red, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource ColorPicker_TextBox}"/>
<TextBlock Grid.Row="1"
Text="{Binding Green_Msg}"
Margin="5,5,5,0"
HorizontalAlignment="Right"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBox Grid.Column="1"
Grid.Row="1"
HorizontalAlignment="Right"
Margin="5,5,5,0"
IsReadOnly="False"
Text="{Binding Green, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource ColorPicker_TextBox}"/>
<TextBlock Grid.Row="2"
Text="{Binding Blu_Msg}"
Margin="5,5,5,0"
HorizontalAlignment="Right"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBox Grid.Column="1"
Grid.Row="2"
HorizontalAlignment="Right"
Margin="5,5,5,0"
IsReadOnly="False"
Text="{Binding Blue, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource ColorPicker_TextBox}"/>
<TextBlock Grid.Row="3"
Text="{Binding Hexadecimal_Msg}"
Margin="5,5,5,0"
HorizontalAlignment="Right"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBox Grid.Column="1"
Grid.Row="3"
HorizontalAlignment="Right"
Margin="5,5,5,0"
Text="{Binding Hexadecimal}"
Style="{StaticResource ColorPicker_TextBox}"/>
</Grid>
</Grid>
</Grid>
</Grid>
<UniformGrid Grid.Row="2"
Rows="1"
Margin="10,10,10,0">
<Button IsDefault="True"
Content="OK"
Command="{Binding Ok_Command}"
Margin="2.5,0,2.5,0"
Style="{StaticResource RightPanel_HalfRound_Button}"/>
<Button Content="Cancel"
Command="{Binding Cancel_Command}"
Margin="2.5,0,2.5,0"
Style="{StaticResource RightPanel_HalfRound_Button}"/>
</UniformGrid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
-68
View File
@@ -1,68 +0,0 @@
Imports System.Windows.Forms
Imports EgtWPFLib5
Public Class EgtColorPickerV
#Region "FIELDS & PROPERTIES"
Private WithEvents m_EgtColorPickerVM As EgtColorPickerVM
Private Shadows DialogResult As DialogResult
Public Property CustomColors As Integer()
Get
Return m_EgtColorPickerVM.GetCustomColors()
End Get
Set(value As Integer())
m_EgtColorPickerVM.SetCustomColors(value)
End Set
End Property
Public Property Color As System.Drawing.Color
Get
Return System.Drawing.Color.FromArgb(255, CInt(m_EgtColorPickerVM.Red), CInt(m_EgtColorPickerVM.Green), CInt(m_EgtColorPickerVM.Blue))
End Get
Set(value As System.Drawing.Color)
m_EgtColorPickerVM.Red = CStr(value.R)
m_EgtColorPickerVM.Green = CStr(value.G)
m_EgtColorPickerVM.Blue = CStr(value.B)
End Set
End Property
#End Region ' Fields & Properties
#Region "CONTRUCTORS"
Sub New(Owner As Window, EtgColorPickerVM As EgtColorPickerVM)
MyBase.New(Owner)
InitializeComponent()
Me.DataContext = EtgColorPickerVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_EgtColorPickerVM = EtgColorPickerVM
End Sub
#End Region ' Constructors
#Region "EVENTS"
Private Sub CloseWindow(DialogResult As MessageBoxResult) Handles m_EgtColorPickerVM.m_CloseWindow
Me.DialogResult = CType(DialogResult, DialogResult)
Me.Close()
End Sub
#End Region ' Events
#Region "METHODS"
''' <summary>
''' Apre una finestra EgtColorPicker
''' </summary>
''' <returns></returns>
Public Overloads Function ShowDialog() As DialogResult
MyBase.ShowDialog()
Return Me.DialogResult
End Function
#End Region ' Methods
End Class
@@ -1,400 +0,0 @@
<EgtWPFLib5:EgtCustomWindow x:Class="EgtManageFileDialogV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding sTitle}"
WindowStartupLocation="CenterOwner"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="32"
IsMinimizable="False" ShowInTaskbar="False"
Height="500" Width="800"
CloseCommand="{Binding Close_Command,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
<Grid Margin="5,5,5,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="5,5,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Command="{Binding GoBack_Command}"
Style="{StaticResource RightPanel_Button}">
<Image Source="\Resources\EgtDialog\Restore.png"
Style="{StaticResource Button_Image}"/>
</Button>
<TextBlock Grid.Column="1"
Margin="5"
Text="{Binding sSelPath}"
HorizontalAlignment="Left"
Style="{StaticResource DialogWindow_TextBlock}"/>
<ComboBox Grid.Column="2"
HorizontalAlignment="Right"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding ViewModeList}"
SelectedItem="{Binding SelViewMode}"
Margin="2.5,5,2.5,5"
Style="{StaticResource RightPanel_ComboBox}"/>
</Grid>
<Grid Grid.Row="1"
Margin="5,5,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="4*"/>
</Grid.ColumnDefinitions>
<TreeView x:Name="FileTree"
ItemsSource="{Binding RootList}"
Margin="10"
FontSize="15"
BorderBrush="White">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:EgtFolder}"
ItemsSource="{Binding TreeItemList_View}">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding sIconSource}"
Height="15"
Style="{StaticResource Button_Image}"/>
<TextBlock Text="{Binding sName}"
Style="{StaticResource DialogWindow_TextBlock}"/>
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type EgtWPFLib5:EgtItem}">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding sIconSource}"
Height="15"
Style="{StaticResource Button_Image}"/>
<TextBlock Text="{Binding sName}"
Style="{StaticResource DialogWindow_TextBlock}"/>
</StackPanel>
</DataTemplate>
</TreeView.Resources>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<TabControl Grid.Column="1"
Background="Transparent"
BorderBrush="White"
BorderThickness="0"
SelectedIndex="{Binding nSelTab}">
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Visibility" Value="Collapsed"/>
</Style>
</TabControl.ItemContainerStyle>
<TabItem Header="LISTBOX">
<ListBox x:Name="FileList"
Grid.Row="1"
Margin="5,5,5,5"
BorderBrush="White"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding SelTreeItem.FolderList, Mode=TwoWay}"
SelectedItem="{Binding ItemSelected, Mode=TwoWay}">
<ListBox.Resources>
<DataTemplate x:Key="ListTemplateView"
DataType="{x:Type EgtWPFLib5:EgtDirectory}">
<Grid Margin="5,5,5,0"
Height="20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding sIconSource}"
Height="15"
Style="{StaticResource Button_Image}"/>
<TextBlock Grid.Column="1"
Text="{Binding sName}"
Style="{StaticResource DialogWindow_TextBlock}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="TilesTemplateView"
DataType="{x:Type EgtWPFLib5:EgtDirectory}">
<Grid Margin="5,5,5,0"
Height="50"
Width="250">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding sIconSource}"
Style="{StaticResource Button_Image}"/>
<UniformGrid Grid.Column="1"
Rows="3"
Margin="2.5,0,2.5,5">
<TextBlock TextAlignment="Left"
Text="{Binding sName}"
HorizontalAlignment="Left"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBlock TextAlignment="Left"
Text="{Binding ghTypeItem}"
HorizontalAlignment="Left"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBlock TextAlignment="Left"
Text="{Binding sDimension}"
HorizontalAlignment="Left"
Style="{StaticResource DialogWindow_TextBlock}"/>
</UniformGrid>
</Grid>
</DataTemplate>
<DataTemplate x:Key="ContentTemplateView"
DataType="{x:Type EgtWPFLib5:EgtDirectory}">
<Grid Margin="5,5,5,0"
Height="50">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding sIconSource}"
Style="{StaticResource Button_Image}"/>
<UniformGrid Grid.Column="1"
Rows="2"
Margin="2.5,0,2.5,5">
<TextBlock TextAlignment="Left"
HorizontalAlignment="Left"
Text="{Binding sName}"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBlock TextAlignment="Left"
HorizontalAlignment="Left"
Text="{Binding ghTypeItem}"
Style="{StaticResource DialogWindow_TextBlock}"/>
</UniformGrid>
<UniformGrid Grid.Column="2"
Rows="2"
Margin="2.5,0,2.5,5">
<TextBlock TextAlignment="Left"
HorizontalAlignment="Left"
Text="{Binding sLastModifyDate}"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBlock TextAlignment="Left"
HorizontalAlignment="Left"
Text="{Binding sDimension}"
Style="{StaticResource DialogWindow_TextBlock}"/>
</UniformGrid>
</Grid>
<Border Grid.Row="1"
BorderThickness="1"
BorderBrush="LightGray"/>
</Grid>
</DataTemplate>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type EgtWPFLib5:EgtDirectory}">
<ContentControl Content="{Binding}">
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Style.Triggers>
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}" Value="0">
<Setter Property="ContentTemplate" Value="{StaticResource ListTemplateView}" />
</DataTrigger>
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}" Value="1">
<Setter Property="ContentTemplate" Value="{StaticResource TilesTemplateView}" />
</DataTrigger>
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}" Value="2">
<Setter Property="ContentTemplate" Value="{StaticResource ContentTemplateView}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<EventSetter Event="MouseDoubleClick" Handler="ListBoxItem_MouseDoubleClick"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Style>
<Style TargetType="{x:Type ListBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"
Value="0">
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled"/>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"
Value="1">
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"
Value="2">
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"
HorizontalAlignment="Stretch"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Style>
</ListBox>
</TabItem>
<TabItem Header="DATAGRID">
<DataGrid AutoGenerateColumns="False"
IsReadOnly="True"
HeadersVisibility="Column"
ItemsSource="{Binding SelTreeItem.FolderList, Mode=TwoWay}"
SelectedItem="{Binding ItemSelected}">
<!-- ColumnHeaderStyle="{StaticResource DataGridColumnHeader}"
RowStyle="{StaticResource RowDataGrid_CustomHighLight}"-->
<DataGrid.Columns>
<DataGridTemplateColumn Width="5*">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Name_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
HorizontalAlignment="Left"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding sIconSource}"
Margin="2.5,0,2.5,0"
Style="{StaticResource Button_Image}"/>
<TextBlock Grid.Column="1"
Text="{Binding sName}"
VerticalAlignment="Center"
Margin="2.5,0,0,0"/>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding sLastModifyDate}"
Width="2*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.LastModify_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
HorizontalAlignment="Left"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="Padding" Value="12,6,12,6"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding ghTypeItem}"
Width="1*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Type_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
HorizontalAlignment="Left"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="Padding" Value="12,6,12,6"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding sDimension}"
Width="1*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Dimension_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
HorizontalAlignment="Left"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Right"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Right"/>
<Setter Property="Padding" Value="12,6,12,6"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
<DataGrid.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick" Command="{Binding DataContext.DoubleClick_Command, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
</DataGrid.InputBindings>
</DataGrid>
</TabItem>
</TabControl>
</Grid>
<Grid Grid.Row="2"
Margin="5,5,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Margin="5,5,5,5"
Text="{Binding FileName_Msg}"
HorizontalAlignment="Right"
Style="{StaticResource DialogWindow_TextBlock}"/>
<TextBox Grid.Column="1"
Margin="2.5,2.5,2.5,5"
TextAlignment="Left"
HorizontalAlignment="Stretch"
Text="{Binding sSaveFileName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
Style="{StaticResource ParameterList_TextBox}"/>
<ComboBox Grid.Column="2"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding FilterList}"
SelectedItem="{Binding SelFilter, Mode=OneWayToSource}"
DisplayMemberPath="sNameExstension"
HorizontalAlignment="Right"
Margin="10,2.5,2.5,5"
Style="{StaticResource RightPanel_ComboBox}"/>
</Grid>
<UniformGrid Grid.Row="3"
Rows="1"
Margin="2.5,0,2.5,0">
<Button IsDefault="True"
Content="OK"
Command="{Binding Ok_Command}"
HorizontalAlignment="Right"
Margin="15,0,2.5,0"
Style="{StaticResource RightPanel_HalfRound_Button}"/>
<Button Content="Cancel"
Command="{Binding Cancel_Command}"
HorizontalAlignment="Left"
Margin="2.5,0,0,0"
Style="{StaticResource RightPanel_HalfRound_Button}"/>
</UniformGrid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
@@ -1,141 +0,0 @@
Imports System.Windows.Forms
Imports EgtWPFLib5
Public Class EgtManageFileDialogV
#Region "FIELDS & PROPERTIES"
Private WithEvents m_EgtManageFileDialogVM As EgtManageFileDialogVM
Private Shadows DialogResult As DialogResult
''' <summary>
''' Stringa che specifica il titolo da mostrare
''' </summary>
Public Overloads Property Title As String
Get
Return m_EgtManageFileDialogVM.sTitle
End Get
Set(value As String)
m_EgtManageFileDialogVM.sTitle = value
End Set
End Property
Public Property Filter As String
Get
Return m_EgtManageFileDialogVM.sFilter
End Get
Set(value As String)
m_EgtManageFileDialogVM.sFilter = value
End Set
End Property
Public Property InitialDirectory As String
Get
Return m_EgtManageFileDialogVM.sInitialDirectory
End Get
Set(value As String)
m_EgtManageFileDialogVM.sInitialDirectory = value
End Set
End Property
Public Property SafeFileName As String
Get
Return m_EgtManageFileDialogVM.sSaveFileName
End Get
Set(value As String)
m_EgtManageFileDialogVM.sSaveFileName = value
End Set
End Property
Public Property FileName As String
Get
Return m_EgtManageFileDialogVM.sFileName
End Get
Set(value As String)
m_EgtManageFileDialogVM.sFileName = value
End Set
End Property
Public Property FilterIndex As Integer
Get
Return m_EgtManageFileDialogVM.nFilterIndex
End Get
Set(value As Integer)
m_EgtManageFileDialogVM.nFilterIndex = value
End Set
End Property
Public Property Mode As Integer
Get
Return m_EgtManageFileDialogVM.nMode
End Get
Set(value As Integer)
m_EgtManageFileDialogVM.nMode = value
End Set
End Property
Public Property CheckFileExists As Boolean
Get
Return m_EgtManageFileDialogVM.bCheckFileExists
End Get
Set(value As Boolean)
m_EgtManageFileDialogVM.bCheckFileExists = value
End Set
End Property
Public Property ValidateNames As Boolean
Get
Return m_EgtManageFileDialogVM.bValidateNames
End Get
Set(value As Boolean)
m_EgtManageFileDialogVM.bValidateNames = value
End Set
End Property
Public Property OverwritePrompt As Boolean
Get
Return m_EgtManageFileDialogVM.bOverwritePrompt
End Get
Set(value As Boolean)
m_EgtManageFileDialogVM.bOverwritePrompt = value
End Set
End Property
#End Region ' FIELDS & PROPERTIES
#Region "CONTRUCTORS"
Sub New(Owner As Window, EgtManageFileDialogVM As EgtManageFileDialogVM)
MyBase.New(Owner)
InitializeComponent()
Me.DataContext = EgtManageFileDialogVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_EgtManageFileDialogVM = EgtManageFileDialogVM
End Sub
#End Region
#Region "EVENTS"
Private Sub CloseWindow(DialogResult As DialogResult) Handles m_EgtManageFileDialogVM.m_CloseWindow
Me.DialogResult = DialogResult
Me.Close()
End Sub
#End Region
#Region "METHODS"
Public Overloads Function ShowDialog() As DialogResult
MyBase.ShowDialog()
Return Me.DialogResult
End Function
Private Sub ListBoxItem_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs)
m_EgtManageFileDialogVM.MouseDoubleClick()
End Sub
#End Region ' METHODS
End Class
-49
View File
@@ -1,49 +0,0 @@
<EgtWPFLib5:EgtCustomWindow x:Class="EgtMessageBoxV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding sTitle}"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="32"
IsMinimizable="False" ShowInTaskbar="False"
CloseCommand="{Binding Close_Command,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
<Grid Margin="2.5,2.5,2.5,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="20,20,20,20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding sIconSource}"
Margin="0,0,0,0"/>
<TextBlock Grid.Column="1"
Text="{Binding sMessage}"
Margin="5,0,5,0"
Style="{StaticResource DialogWindow_TextBlock}"/>
</Grid>
<ItemsControl Grid.Row="1"
ItemsSource="{Binding ButtonList}"
HorizontalAlignment="Center">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button IsDefault="{Binding bIsDefault}"
Content="{Binding sMessage}"
Command="{Binding Command_Command}"
Margin="2.5,0,2.5,0"
Style="{StaticResource RightPanel_HalfRound_Button}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
-109
View File
@@ -1,109 +0,0 @@
Imports EgtWPFLib5
Public Class EgtMessageBoxV
#Region "FIELDS & PROPERTIES"
Private WithEvents m_EgtMessageBoxVM As EgtMessageBoxVM
Private Shadows DialogResult As MessageBoxResult
#End Region ' FIELDS & PROPERTIES
#Region "CONTRUCTORS"
Sub New(Owner As Window, EgtMessageBoxVM As EgtMessageBoxVM)
MyBase.New(Owner)
' This call is required by the designer.
InitializeComponent()
Me.DataContext = EgtMessageBoxVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_EgtMessageBoxVM = EgtMessageBoxVM
End Sub
#End Region
#Region "METHODS"
''' <summary>
''' Apre una EgtMessageBox con un messaggio che ritorna un risultato
''' </summary>
''' <param name="Owner">Finestra di appartenenza</param>
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String) As MessageBoxResult
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText))
NewMessagebox.ShowDialog()
Return NewMessagebox.DialogResult
End Function
''' <summary>
''' Apre una EgtMessageBox con un titolo ed un messaggio che ritorna un risultato
''' </summary>
''' <param name="Owner">Finestra di appartenenza</param>
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
''' <param name="sCaption">Stringa che specifica il titolo da mostrare</param>
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String) As MessageBoxResult
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption))
NewMessagebox.ShowDialog()
Return NewMessagebox.DialogResult
End Function
''' <summary>
''' Apre una EgtMessageBox con un titolo ed un messaggio che ritorna un risultato
''' </summary>
''' <param name="Owner">Finestra di appartenenza</param>
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
''' <param name="sCaption">Stringa che specifica il titolo da mostrare</param>
''' <param name="Button">Valore che specifica quali bottoni mostrare</param>
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String, Button As MessageBoxButton) As MessageBoxResult
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption, Button))
NewMessagebox.ShowDialog()
Return NewMessagebox.DialogResult
End Function
''' <summary>
''' Apre una EgtMessageBox con un titolo ed un messaggio che ritorna un risultato
''' </summary>
''' <param name="Owner">Finestra di appartenenza</param>
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
''' <param name="sCaption">Stringa che specifica il titolo da mostrare</param>
''' <param name="Button">Valore che specifica quali bottoni mostrare</param>
''' <param name="Icon">Valore che specifica quale icona mostrare</param>
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage) As MessageBoxResult
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption, Button, Icon))
NewMessagebox.ShowDialog()
Return NewMessagebox.DialogResult
End Function
''' <summary>
''' Apre una EgtMessageBox con un titolo ed un messaggio che ritorna un risultato
''' </summary>
''' <param name="Owner">Finestra di appartenenza</param>
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
''' <param name="sCaption">Stringa che specifica il titolo da mostrare</param>
''' <param name="Button">Valore che specifica quali bottoni mostrare</param>
''' <param name="Icon">Valore che specifica quale icona mostrare</param>
''' <param name="DefaultResult">Valore che specifica il bottone di default</param>
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage, DefaultResult As MessageBoxResult) As MessageBoxResult
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption, Button, Icon, DefaultResult))
NewMessagebox.ShowDialog()
Return NewMessagebox.DialogResult
End Function
#End Region ' METHODS
#Region "EVENTS"
Private Sub CloseWindow(DialogResult As MessageBoxResult) Handles m_EgtMessageBoxVM.m_CloseWindow
Me.DialogResult = DialogResult
Me.Close()
End Sub
#End Region
End Class
@@ -1,14 +1,14 @@
<EgtWPFLib5:EgtCustomWindow x:Class="EstimationsDetailsWndV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding TitleMsg}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="32"
Width="300" Height="300"
IsResizable="True"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding TitleMsg}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="32"
Width="300" Height="300"
IsResizable="True"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False">
<WebBrowser Name="EstimationsWebBrowser" Margin="10"/>
</EgtWPFLib5:EgtCustomWindow>
@@ -16,12 +16,16 @@ Public Class EstimationsDetailsWndVM
Public ReadOnly Property TitleMsg As String
Get
Return EgtMsg(5344) ' Estimation details
Return EgtMsg(MSG_SIMULATION + 44) ' Estimation details
End Get
End Property
#End Region ' Messages
' Definizione comandi
Private m_cmdOk As ICommand
Private m_cmdCancel As ICommand
#End Region 'FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
@@ -32,4 +36,8 @@ Public Class EstimationsDetailsWndVM
#End Region ' CONSTRUCTOR
#Region "METHODS"
#End Region ' METHODS
End Class
+1 -1
View File
@@ -6,7 +6,7 @@
<StackPanel Orientation="Horizontal">
<Button Command="{Binding ExecCommand}" ToolTip="{Binding ExecToolTip}"
Style="{StaticResource GridViewPanelButton}" ContextMenuService.Placement="Bottom">
Style="{StaticResource GridViewPanelButton}" ContextMenuService.Placement="Bottom">
<Button.ContextMenu>
<ContextMenu ItemsSource="{Binding MruScriptNames}" ItemContainerStyle="{StaticResource MruScriptItem}">
</ContextMenu>
+1 -1
View File
@@ -32,7 +32,7 @@ Public Class ExecutePanelVM
Public ReadOnly Property ExecToolTip As String
Get
Return EgtMsg(5108) ' Esegui Script<br/>Esegui Script recenti (Tasto Destro)
Return EgtMsg(MSG_TOPCOMMANDBAR + 8)
End Get
End Property
+2 -2
View File
@@ -1,6 +1,6 @@
<UserControl x:Class="GridPanelV"
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 CPlaneTopCommand}" ToolTip="{Binding CPlaneTopToolTip}" Style="{StaticResource GridViewPanelButton}">
+8 -8
View File
@@ -19,42 +19,42 @@ Public Class GridPanelVM
Public ReadOnly Property CPlaneTopToolTip As String
Get
Return EgtMsg(5269) ' Griglia da Sopra
Return EgtMsg(MSG_GRIDVIEWPANEL + 19)
End Get
End Property
Public ReadOnly Property CPlaneFrontToolTip As String
Get
Return EgtMsg(5270) ' Griglia di Fronte
Return EgtMsg(MSG_GRIDVIEWPANEL + 20)
End Get
End Property
Public ReadOnly Property CPlaneRightToolTip As String
Get
Return EgtMsg(5271) ' Griglia da Destra
Return EgtMsg(MSG_GRIDVIEWPANEL + 21)
End Get
End Property
Public ReadOnly Property CPlaneBackToolTip As String
Get
Return EgtMsg(5272) ' Griglia da Dietro
Return EgtMsg(MSG_GRIDVIEWPANEL + 22)
End Get
End Property
Public ReadOnly Property CPlaneLeftToolTip As String
Get
Return EgtMsg(5273) ' Griglia da Sinistra
Return EgtMsg(MSG_GRIDVIEWPANEL + 23)
End Get
End Property
Public ReadOnly Property CPlaneBottomToolTip As String
Get
Return EgtMsg(5274) ' Griglia da Sotto
Return EgtMsg(MSG_GRIDVIEWPANEL + 24)
End Get
End Property
Public ReadOnly Property CPlaneElevationToolTip As String
Get
Return EgtMsg(5276) ' Elevazione Griglia
Return EgtMsg(MSG_GRIDVIEWPANEL + 26)
End Get
End Property
Public ReadOnly Property CPlaneOriginToolTip As String
Get
Return EgtMsg(5277) ' Origine Griglia
Return EgtMsg(MSG_GRIDVIEWPANEL + 27)
End Get
End Property
+13 -11
View File
@@ -1,15 +1,17 @@
<EgtFloating:EgtFloatingPanel x:Class="InstrumentPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False"
TitleBarOrientation="Horizontal">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False"
TitleBarOrientation="Horizontal">
<ToggleButton ToolTip="{Binding AnalyzeToolTip}" Style="{StaticResource GridViewPanelToggleButton}" IsChecked="{Binding AnalyzeIsChecked}" IsEnabled="{Binding AnalyzeIsEnabled}">
<Image Source="/Resources/GridViewPanel/Analyze.png" Stretch="Uniform"/>
</ToggleButton>
<ToggleButton ToolTip="{Binding GetDistToolTip}" Style="{StaticResource GridViewPanelToggleButton}" IsChecked="{Binding GetDistIsChecked}">
<Image Source="/Resources/GridViewPanel/GetDist.png" Stretch="Uniform"/>
</ToggleButton>
<!--<StackPanel Background="Transparent" Orientation="Horizontal">-->
<ToggleButton ToolTip="{Binding AnalyzeToolTip}" Style="{StaticResource GridViewPanelToggleButton}" IsChecked="{Binding AnalyzeIsChecked}" IsEnabled="{Binding AnalyzeIsEnabled}">
<Image Source="/Resources/GridViewPanel/Analyze.png" Stretch="Uniform"/>
</ToggleButton>
<ToggleButton ToolTip="{Binding GetDistToolTip}" Style="{StaticResource GridViewPanelToggleButton}" IsChecked="{Binding GetDistIsChecked}">
<Image Source="/Resources/GridViewPanel/GetDist.png" Stretch="Uniform"/>
</ToggleButton>
<!--</StackPanel>-->
</EgtFloating:EgtFloatingPanel>
+5 -5
View File
@@ -9,12 +9,12 @@ Public Class InstrumentPanelVM
Public ReadOnly Property AnalyzeToolTip As String
Get
Return EgtMsg(5267) ' Analizza
Return EgtMsg(MSG_GRIDVIEWPANEL + 17)
End Get
End Property
Public ReadOnly Property GetDistToolTip As String
Get
Return EgtMsg(5268) ' Distanza
Return EgtMsg(MSG_GRIDVIEWPANEL + 18)
End Get
End Property
@@ -37,7 +37,7 @@ Public Class InstrumentPanelVM
Analyze.EraseAnalyzeGroup()
EgtDraw()
End If
OnPropertyChanged(NameOf(AnalyzeIsChecked))
OnPropertyChanged("AnalyzeIsChecked")
End If
End Set
End Property
@@ -50,7 +50,7 @@ Public Class InstrumentPanelVM
Set(value As Boolean)
If value <> m_AnalyzeIsEnabled Then
m_AnalyzeIsEnabled = value
OnPropertyChanged(NameOf(AnalyzeIsEnabled))
OnPropertyChanged("AnalyzeIsEnabled")
End If
End Set
End Property
@@ -70,7 +70,7 @@ Public Class InstrumentPanelVM
Map.refProjectVM.GetScene.ResetStatusGetDistance()
Map.refStatusBarVM.NotifyStatusOutput(String.Empty)
End If
OnPropertyChanged(NameOf(GetDistIsChecked))
OnPropertyChanged("GetDistIsChecked")
End If
End Set
End Property
+1 -2
View File
@@ -3,7 +3,6 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
DockPanel.Dock="Left">
<local:DrawPanelV DataContext="{StaticResource DrawPanelViewModel}"/>
</Grid>
+16 -20
View File
@@ -1,4 +1,8 @@
Imports System.IO
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtCAM5.MyMachinePanelVM
Imports System.Security.Cryptography
Imports System.Windows.Forms.AxHost
Imports EgtUILib
Imports EgtWPFLib5
@@ -68,8 +72,7 @@ Public Class MyMachGroupPanelVM
' se la lista gruppi è vuota creo un nuovo gruppo
If MachGroupList.Count = 0 Then
' Vuoi creare un nuovo Gruppo di Lavoro con i pezzi selezionati ? - LAVORA
'If MessageBox.Show(EgtMsg(5552), EgtMsg(5002), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
If EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5552), EgtMsg(5002), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then ' Vuoi creare un nuovo Gruppo di Lavoro<br/>con i pezzi selezionati ? Sicuro di voler cancellare il Gruppo di Lavorazione?
If MessageBox.Show(EgtMsg(5552), EgtMsg(5002), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
Return If(AddNewMachGroup(nGroupId, vPart), 0, 1)
Else
Return -2
@@ -93,10 +96,9 @@ Public Class MyMachGroupPanelVM
' altrimenti creo il primo gruppo
Else
' Vuoi creare un nuovo Gruppo di Lavoro con i pezzi selezionati ? - LAVORA
'If MessageBox.Show(EgtMsg(5552), EgtMsg(5002), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
If EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5552), EgtMsg(5002), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then ' Vuoi creare un nuovo Gruppo di Lavoro<br/>con i pezzi selezionati ? Sicuro di voler cancellare il Gruppo di Lavorazione?
If MessageBox.Show(EgtMsg(5552), EgtMsg(5002), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
Return If(AddNewMachGroup(nGroupId, vPart), 0, 1)
Else
Else
Return -2
End If
End If
@@ -104,10 +106,7 @@ Public Class MyMachGroupPanelVM
Else
' se ci sono gruppi di lavorazione
If bMachGroup Then
nGroupId = EgtGetCurrMachGroup()
If nGroupId = GDB_ID.NULL Then
nGroupId = EgtGetFirstMachGroup()
End If
nGroupId = EgtGetFirstMachGroup()
Return If(EgtSetCurrMachGroup(nGroupId), 0, 1)
' se altrimenti ammessi gruppi di lavoro vuoti
ElseIf bAllowEmpty Then
@@ -127,8 +126,7 @@ Public Class MyMachGroupPanelVM
EgtLuaSetGlobStringVar("DISP.PARTS", sParts)
If Not EgtLuaExecFile(sScriptPath) Then
EgtOutLog("Error executing disposition init script " & sScriptPath)
'MessageBox.Show(EgtMsg(MSG_DISPOSITIONERRORS + 2) & " " & sScriptPath, EgtMsg(MSG_DISPOSITIONERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5462) & " " & sScriptPath, EgtMsg(5461), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore nella esecuzione dello script automatico di disposizione ERRORE DI ESECUZIONE SCRIPT
MessageBox.Show(EgtMsg(MSG_DISPOSITIONERRORS + 2) & " " & sScriptPath, EgtMsg(MSG_DISPOSITIONERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Return False
End If
Dim nErr As Integer = 999
@@ -305,8 +303,7 @@ Public Class MyMachGroupPanelVM
If Not String.IsNullOrEmpty(sDefaultSetUpName) Then
If Not EgtImportSetup(String.Empty) Then
EgtOutLog("Error loading default setup " & sDefaultSetUpName)
'MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 9) & " " & sDefaultSetUpName, EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(6479) & " " & sDefaultSetUpName, EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore nel caricamento del setup Errore
MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 9) & " " & sDefaultSetUpName, EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
End If
End If
End Sub
@@ -329,7 +326,7 @@ Public Class MyMachGroupPanelVM
Case Else
' Se il materiale specificato nel file INI della macchina non corrisponde ai 4 sopracitati viene emesso un messaggio di errore
EgtWPFLib5.MachiningTreeViewItem.m_MatType = Nothing
MsgBox(EgtMsg(31409), MsgBoxStyle.Exclamation, EgtMsg(31551)) ' Errore
MsgBox(EgtMsg(31409), MsgBoxStyle.Exclamation, EgtMsg(31551))
End Select
End Sub
@@ -373,8 +370,7 @@ Public Class MyMachGroupPanelVM
Dim nSelectedMachGroupIndex As Integer = MachGroupList.IndexOf(SelectedMachGroup)
If nSelectedMachGroupIndex = 0 And MachGroupList.Count = 1 Then
' chiedo conferma prima di cancellare il gruppo di lavorazione
'Select Case MessageBox.Show(EgtMsg(MSG_MACHGROUP + 2), "", MessageBoxButton.YesNo, MessageBoxImage.Question)
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5502), "", MessageBoxButton.YesNo, MessageBoxImage.Question) ' Sicuro di voler cancellare il Gruppo di Lavorazione?
Select Case MessageBox.Show(EgtMsg(MSG_MACHGROUP + 2), "", MessageBoxButton.YesNo, MessageBoxImage.Question)
Case MessageBoxResult.Yes
' cancello il gruppo corrente
EgtRemoveMachGroup(EgtGetMachGroupId(MachGroupList(nSelectedMachGroupIndex).Name))
@@ -387,8 +383,7 @@ Public Class MyMachGroupPanelVM
End Select
Else
' chiedo conferma prima di cancellare il gruppo di lavorazione
'Select Case MessageBox.Show(EgtMsg(MSG_MACHGROUP + 2), "", MessageBoxButton.YesNo, MessageBoxImage.Question)
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5502), "", MessageBoxButton.YesNo, MessageBoxImage.Question) ' Sicuro di voler cancellare il Gruppo di Lavorazione?
Select Case MessageBox.Show(EgtMsg(MSG_MACHGROUP + 2), "", MessageBoxButton.YesNo, MessageBoxImage.Question)
Case MessageBoxResult.Yes
Dim nNewInd As Integer = -1
If nSelectedMachGroupIndex = 0 And MachGroupList.Count > 1 Then
@@ -423,7 +418,8 @@ Public Class MyMachGroupPanelVM
Map.refOperationsListExpanderVM.LoadOperationList(GDB_ID.NULL)
Map.refMachinePanelVM.UpdateCurrentMachine()
Map.refMachiningTreeExpanderVM.UpdateOperationMachiningList()
Map.refEstimationsExpanderVM.Estimation_IsEnabled = (EgtUILib.GetPrivateProfileInt(S_ESTIMATIONS, K_EST_ENABLE, 0, IniFile.m_sCurrMachIniFilePath) <> 0)
Map.refEstimationsExpanderVM.Estimation_IsEnabled =
(EgtUILib.GetPrivateProfileInt(S_ESTIMATIONS, K_EST_ENABLE, 0, IniFile.m_sCurrMachIniFilePath) <> 0)
' Setto il Materiale in base alla Macchina associata al MachGroup corrente
LoadMaterialType()
' Zoom all
+13 -13
View File
@@ -1,21 +1,21 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MachOptionV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtCAM5.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
CloseCommand="{Binding CloseMachOptionsCommand, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" SizeToContent="WidthAndHeight">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtCAM5.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
CloseCommand="{Binding CloseMachOptionsCommand, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" SizeToContent="WidthAndHeight">
<EgtWPFLib5:EgtCustomWindow.Resources>
<local:SplitArcTypeConverter x:Key="SplitArcTypeConverter"/>
</EgtWPFLib5:EgtCustomWindow.Resources>
<Grid Margin="10">
<Grid.ColumnDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
@@ -65,9 +65,9 @@
<UniformGrid Grid.Row="5" Columns="2">
<TextBlock Text="{Binding DefaultSetUpMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding ArchivedSetUpList}" Height="25" Margin="10,0,0,0"
SelectedItem="{Binding SelectedDefaultSetUp}" IsEnabled="{Binding IsActiveDefaultSetUp}"/>
SelectedItem="{Binding SelectedDefaultSetUp}" IsEnabled="{Binding IsActiveDefaultSetUp}"/>
</UniformGrid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+10 -10
View File
@@ -106,36 +106,36 @@ Public Class MachOptionVM
Public ReadOnly Property SafeZMsg As String
Get
Return EgtMsg(6401) ' Z di sicurezza
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 1)
End Get
End Property
Public ReadOnly Property SafeAggrBottZMsg As String
Get
Return EgtMsg(6408) ' Sicurezza rinvio da sotto
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 8)
End Get
End Property
Public ReadOnly Property HolesToleranceMsg As String
Get
Return EgtMsg(6409) ' Tolleranza fori
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 9)
End Get
End Property
Public ReadOnly Property ApproxLinTolMsg As String
Get
Return EgtMsg(6410) ' Tolleranza di approssimazione
Return EgtMsg(6410) ' Tolleranza di approssimazione
End Get
End Property
Public ReadOnly Property SplitArcsMsg As String
Get
Return EgtMsg(6402) ' Spezzatura archi
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 2)
End Get
End Property
Public ReadOnly Property DefaultSetUpMsg As String
Get
Return EgtMsg(6407) ' Attrezzaggio predefinito
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 7)
End Get
End Property
@@ -226,13 +226,13 @@ Public Class SplitArcTypeConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
Select Case CInt(value)
Case MCH_SA.NEVER
Return EgtMsg(6403) ' Mai
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 3)
Case MCH_SA.GEN_PLANE
Return EgtMsg(6404) ' Piano generico
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 4)
Case MCH_SA.NO_XY_PLANE
Return EgtMsg(6405) ' Piano diverso da XY
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 5)
Case Else
Return EgtMsg(6406) ' Sempre
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 6)
End Select
End Function
+11 -11
View File
@@ -7,14 +7,14 @@
<StackPanel Orientation="Horizontal">
<!--Combobox per selezionare la macchina corrente-->
<ComboBox ItemsSource="{Binding Path=MachinesList}" DisplayMemberPath="Name"
SelectedItem="{Binding Path=SelectedMachine}" SelectedValuePath="Name"
Height="22" Width="150" IsEnabled="{Binding MachineListIsEnabled}" Margin="2,0"/>
SelectedItem="{Binding Path=SelectedMachine}" SelectedValuePath="Name"
Height="22" Width="150" IsEnabled="{Binding MachineListIsEnabled}" Margin="2,0"/>
<Button Content="{Binding ToolDBMsg}"
Command="{Binding ToolDbCommand}"
IsEnabled="{Binding ToolDb_IsEnabled}"
Width="55"
ToolTip="{Binding ToolDBToolTip}"
Style="{StaticResource GridViewPanelButton}"/>
Command="{Binding ToolDbCommand}"
IsEnabled="{Binding ToolDb_IsEnabled}"
Width="55"
ToolTip="{Binding ToolDBToolTip}"
Style="{StaticResource GridViewPanelButton}"/>
<Button Content="{Binding MachiningDbMsg}"
Command="{Binding MachDbCommand}"
IsEnabled="{Binding MachDb_IsEnabled}"
@@ -28,10 +28,10 @@
ToolTip="{Binding SetUpDbToolTip}"
Style="{StaticResource GridViewPanelButton}"/>
<Button Command="{Binding MachOptionsCommand}"
ToolTip="{Binding MachOptionsToolTip}">
<Image Source="/Resources/MachinePanel/MachineOptions.png"
Height="22" />
ToolTip="{Binding MachOptionsToolTip}">
<Image Source="/Resources/MachinePanel/MachineOptions.png"
Height="22" />
</Button>
</StackPanel>
</StackPanel>
</EgtFloating:EgtFloatingPanel>
+41 -29
View File
@@ -64,7 +64,8 @@ Public Class MyMachinePanelVM
IniFile.m_sCurrMachToolsDirPath = m_SelectedMachine.MachineDirPath & "\Tools"
IniFile.m_sCurrMachSetUpDirPath = m_SelectedMachine.MachineDirPath & "\SetUp"
IniFile.m_sCurrMachScriptsDirPath = m_SelectedMachine.MachineDirPath & "\Scripts"
NotifyPropertyChanged(NameOf(SelectedMachine))
UpdateToolAndMachDbParamVisibility()
NotifyPropertyChanged("SelectedMachine")
End If
End If
End Set
@@ -77,7 +78,7 @@ Public Class MyMachinePanelVM
End Get
Set(value As Boolean)
m_MachineListIsEnabled = value
NotifyPropertyChanged(NameOf(MachineListIsEnabled))
NotifyPropertyChanged("MachineListIsEnabled")
End Set
End Property
@@ -96,17 +97,17 @@ Public Class MyMachinePanelVM
Public ReadOnly Property ToolDBMsg As String
Get
Return EgtMsg(5006) ' Db Ut.
Return EgtMsg(MSG_MAINWINDOW + 6)
End Get
End Property
Public ReadOnly Property MachiningDbMsg As String
Get
Return EgtMsg(5007) ' Db Lav.
Return EgtMsg(MSG_MAINWINDOW + 7)
End Get
End Property
Public ReadOnly Property SetUpDbMsg As String
Get
Return EgtMsg(5009) ' Db Att.
Return EgtMsg(MSG_MAINWINDOW + 9)
End Get
End Property
@@ -116,22 +117,22 @@ Public Class MyMachinePanelVM
Public ReadOnly Property ToolDBToolTip As String
Get
Return EgtMsg(5003) ' Db Utensili
Return EgtMsg(MSG_MAINWINDOW + 3)
End Get
End Property
Public ReadOnly Property MachiningDbToolTip As String
Get
Return EgtMsg(5004) ' Db Lavorazioni
Return EgtMsg(MSG_MAINWINDOW + 4)
End Get
End Property
Public ReadOnly Property SetUpDbToolTip As String
Get
Return EgtMsg(5010) ' Db Attrezzaggio
Return EgtMsg(MSG_MAINWINDOW + 10)
End Get
End Property
Public ReadOnly Property MachOptionsToolTip As String
Get
Return EgtMsg(5008) ' Opzioni Macchina
Return EgtMsg(MSG_MAINWINDOW + 8)
End Get
End Property
@@ -208,8 +209,7 @@ Public Class MyMachinePanelVM
' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
If Not EgtTdbReload() Then
EgtOutLog("Impossible reloading tool Db")
'MessageBox.Show(EgtMsg(MSG_TOOLSERRORS + 30), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(6130), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Impossibile ricaricare il database utensili. Se la cartella delle macchine è su un server, verificare che la connessione sia attiva. Errore
MessageBox.Show(EgtMsg(MSG_TOOLSERRORS + 30), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Return
End If
@@ -232,10 +232,15 @@ Public Class MyMachinePanelVM
' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
If Not EgtTdbReload() Then
EgtOutLog("Impossible reloading tool Db")
'MessageBox.Show(EgtMsg(MSG_TOOLSERRORS + 30), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(6130), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Impossibile ricaricare il database utensili. Se la cartella delle macchine è su un server, verificare che la connessione sia attiva. Errore
MessageBox.Show(EgtMsg(MSG_TOOLSERRORS + 30), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Return
End If
'Dim ToolDbWindow As New ToolsDbV
'ToolDbWindow.Height = 640
'ToolDbWindow.Width = 1024
'ToolDbWindow.DataContext = New ToolsDbVM
'ToolDbWindow.Owner = Application.Current.MainWindow
'ToolDbWindow.ShowDialog()
Dim sMachineDir As String = IniFile.m_sMachinesRoot & "\" & IniFile.m_sMachineName
Dim ToolDbWindowVM As New MyToolDbWindowVM(sMachineDir, IniFile.m_sCurrMachIniFilePath, IniFile.m_ProjectSceneContext, "Wood", IniFile.m_nUserLevel > 9)
@@ -258,15 +263,14 @@ Public Class MyMachinePanelVM
' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
If Not EgtMdbReload() Then
EgtOutLog("Impossible reloading machining Db")
'MessageBox.Show(EgtMsg(MSG_MACHININGSERRORS + 7), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(6377), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Impossibile ricaricare database lavorazioni. Se la cartella delle macchine è su un server, verificare che la connessione sia attiva. Errore
MessageBox.Show(EgtMsg(MSG_MACHININGSERRORS + 7), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Return
End If
Dim MachDbWindowVM As New EgtWPFLib5.MachiningDbWindowVM(IniFile.m_sCurrMachIniFilePath, IniFile.m_ProjectSceneContext, "Wood", IniFile.m_nUserLevel > 9, True)
Dim MachDbWindowV As New EgtWPFLib5.MachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM)
If EgtWPFLib5.MachiningTreeViewItem.m_MatType <> 0 Then
MachDbWindowV.Height = 800 '674
MachDbWindowV.Width = 1150 '1024
MachDbWindowV.Width = 1024
MachDbWindowV.Owner = Application.Current.MainWindow
MachDbWindowV.ShowDialog()
End If
@@ -280,15 +284,14 @@ Public Class MyMachinePanelVM
' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
If Not EgtMdbReload() Then
EgtOutLog("Impossible reloading machining Db")
'MessageBox.Show(EgtMsg(MSG_MACHININGSERRORS + 7), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(6377), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Impossibile ricaricare database lavorazioni. Se la cartella delle macchine è su un server, verificare che la connessione sia attiva. Errore
MessageBox.Show(EgtMsg(MSG_MACHININGSERRORS + 7), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Return
End If
Dim MachDbWindowVM As New EgtWPFLib5.MachiningDbWindowVM(IniFile.m_sCurrMachIniFilePath, IniFile.m_ProjectSceneContext, "Wood", IniFile.m_nUserLevel > 9, True)
Dim MachDbWindowV As New EgtWPFLib5.MachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM)
If EgtWPFLib5.MachiningTreeViewItem.m_MatType <> 0 Then
MachDbWindowV.Height = 800 '674
MachDbWindowV.Width = 1150 '1024
MachDbWindowV.Width = 1024
MachDbWindowV.Owner = Application.Current.MainWindow
MachDbWindowV.ShowDialog()
If Not IsNothing(Map.refMachiningTreeExpanderVM) Then Map.refMachiningTreeExpanderVM.UpdateOperationMachiningList()
@@ -306,8 +309,7 @@ Public Class MyMachinePanelVM
' verifico che il file di configurazione attrezzaggio (lua) della macchina esista
If Not File.Exists(IniFile.m_sCurrMachScriptsDirPath & "\" & SETUP_LUA) Then
EgtOutLog("SetUp error: SetUp configuration file doesn't exist ")
'MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 7), EgtMsg(MSG_SETUPERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(6477), EgtMsg(6471), MessageBoxButton.OK, MessageBoxImage.Error) ' Il file di configurazione non esiste! Errore
MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 7), EgtMsg(MSG_SETUPERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Return
End If
' carico Lua che contiene le funzioni per ottenere le posizioni valide dell'utensile selezionato,
@@ -326,8 +328,7 @@ Public Class MyMachinePanelVM
EgtLuaGetGlobIntVar("STU.ERR", nErr)
If nErr = 0 Then
If EgtGetHeadExitCount(sHead) = 0 Then
'MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 8), EgtMsg(MSG_SETUPERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(6478), EgtMsg(6471), MessageBoxButton.OK, MessageBoxImage.Error) ' L'attrezzaggio usa una testa che non esiste sulla macchina! Errore
MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 8), EgtMsg(MSG_SETUPERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Return
End If
End If
@@ -357,10 +358,11 @@ Public Class MyMachinePanelVM
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Overrides Sub MachOptions(ByVal param As Object)
Dim MachOptionWindow As New MachOptionV With {
.DataContext = New MachOptionVM,
.Owner = Application.Current.MainWindow
}
Dim MachOptionWindow As New MachOptionV
'MachOptionWindow.Height = 614
'MachOptionWindow.Width = 256
MachOptionWindow.DataContext = New MachOptionVM
MachOptionWindow.Owner = Application.Current.MainWindow
MachOptionWindow.ShowDialog()
End Sub
@@ -378,7 +380,7 @@ Public Class MyMachinePanelVM
If String.IsNullOrWhiteSpace(IniFile.m_sMachinesRoot) OrElse
Not Directory.Exists(IniFile.m_sMachinesRoot) OrElse Directory.GetDirectories(IniFile.m_sMachinesRoot).Count = 0 Then
IniFile.m_ProjectMode = ProjectModeOpt.ONLYDRAW
EgtOutLog(EgtMsg(6801)) ' Direttorio Machines non trovato. EgtCAM5 funzionerà in modo solo CAD.
EgtOutLog(EgtMsg(MSG_STATUSBAR + 1))
Return
End If
' Cerco le macchine
@@ -388,7 +390,7 @@ Public Class MyMachinePanelVM
Next
If m_MachinesList.Count = 0 Then
IniFile.m_ProjectMode = ProjectModeOpt.ONLYDRAW
EgtOutLog(EgtMsg(6801)) ' Direttorio Machines non trovato. EgtCAM5 funzionerà in modo solo CAD.
EgtOutLog(EgtMsg(MSG_STATUSBAR + 1))
Return
End If
End Sub
@@ -446,4 +448,14 @@ Public Class MyMachinePanelVM
End Class
Private Sub UpdateToolAndMachDbParamVisibility()
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWINGONARCS, 0, IniFile.m_sCurrMachIniFilePath) <> 0 Then
Sawing(39) = Visibility.Visible ' StepExtArc
Sawing(40) = Visibility.Visible ' StepIntArc
Else
Sawing(39) = Visibility.Collapsed ' StepExtArc
Sawing(40) = Visibility.Collapsed ' StepIntArc
End If
End Sub
End Class
+127 -63
View File
@@ -1,22 +1,85 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MyMachiningDbV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtCAM5.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseMachiningsDbCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:local="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtCAM5.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseMachiningsDbCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}">
<EgtWPFLib5:EgtCustomWindow.InputBindings>
<KeyBinding Key="Escape" Command="{Binding ReloadMachiningCommand}"
CommandParameter="{Binding Path=SelectedItem,ElementName=MachiningsTreeView}"/>
CommandParameter="{Binding Path=SelectedItem,ElementName=MachiningsTreeView}"/>
</EgtWPFLib5:EgtCustomWindow.InputBindings>
<EgtWPFLib5:EgtCustomWindow.Resources>
<EgtWPFLib5:EgtCustomWindow.Resources>
<EgtWPFLib5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLap">47</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SelectedSolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</EgtWPFLib5:EgtCustomWindow.Resources>
<Grid>
@@ -26,70 +89,71 @@
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="11*"/>
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="11*"/>
</Grid.RowDefinitions>
<UniformGrid Grid.Row="0" Columns="3">
<Button Content="New" Command="{Binding NewCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"/>
<Button Content="Save" Command="{Binding SaveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"/>
<Button Content="Remove" Command="{Binding RemoveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"/>
</UniformGrid>
<UniformGrid Grid.Row="0" Columns="3">
<Button Content="New" Command="{Binding NewCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"/>
<Button Content="Save" Command="{Binding SaveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"/>
<Button Content="Remove" Command="{Binding RemoveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"/>
</UniformGrid>
<TreeView Name="MachiningsTreeView" Grid.Row="1"
ItemsSource="{Binding Path=MachiningsList}">
<TreeView Name="MachiningsTreeView" Grid.Row="1"
ItemsSource="{Binding Path=MachiningsList}">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyMachiningTreeViewItem}" ItemsSource="{Binding Items}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyMachiningTreeViewItem}" ItemsSource="{Binding Items}">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0,8,6,4" />
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="10" />
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0,8,6,4" />
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="10" />
</Grid>
</Grid>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type EgtWPFLib5:MachiningTreeViewItem}">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<DataTemplate DataType="{x:Type EgtWPFLib5:MachiningTreeViewItem}">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" Text="{Binding NamePar}" Height="18" FontSize="15" Margin="10"/>
<!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />-->
<TextBlock Grid.Column="1" Text="{Binding NamePar}" Height="18" FontSize="15" Margin="10"/>
</Grid>
</DataTemplate>
</TreeView.Resources>
</Grid>
</DataTemplate>
</TreeView.Resources>
</TreeView>
</TreeView>
</Grid>
<ContentControl Content="{Binding ParamPageV}" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>
<ContentControl Content="{Binding ParamPageV}" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+2 -1
View File
@@ -10,7 +10,8 @@
MinHeight="600" MinWidth="800" WindowStyle="None" ResizeMode="NoResize"
AboutBoxCommand="{Binding AboutBoxCommand}"
AllowDrop="True" Drop="MainWindow_Drop"
CloseCommand="{Binding CloseApplicationCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
SnapsToDevicePixels="True"
CloseCommand="{Binding CloseApplicationCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
<EgtWPFLib5:EgtCustomWindow.TitlePanel>
<local:TopCommandBarV DataContext="{StaticResource TopCommandBarViewModel}"/>
</EgtWPFLib5:EgtCustomWindow.TitlePanel>
+2 -1
View File
@@ -1,4 +1,5 @@
Imports EgtWPFLib5
Imports System.ComponentModel
Imports EgtWPFLib5
Class MainWindowV
Inherits EgtCustomWindow
+30 -35
View File
@@ -1,4 +1,7 @@
Imports System.Threading
Imports System.Collections.ObjectModel
Imports System.Threading
Imports System.Windows.Threading
Imports System.Runtime.InteropServices
Imports System.Math
Imports EgtUILib
Imports EgtWPFLib5
@@ -13,6 +16,7 @@ Public Class MainWindowVM
Private m_sDataRoot As String = String.Empty
Private m_sConfigDir As String = String.Empty
Private m_OnTerminateProcessCallback As New OnTerminateProcessCallback(AddressOf OnTerminateProcess)
Private m_IndexTab As Integer = 0
' EGALTECH ENVIRONMENT FIELDS WITH PROPERTY
@@ -38,7 +42,7 @@ Public Class MainWindowVM
Set(value As String)
If value <> m_Title Then
m_Title = value
OnPropertyChanged(NameOf(Title))
OnPropertyChanged("Title")
End If
End Set
End Property
@@ -58,9 +62,8 @@ Public Class MainWindowVM
Public ReadOnly Property TopCommandBar As TopCommandBarV
Get
If IsNothing(m_TopCommandBar) Then
m_TopCommandBar = New TopCommandBarV With {
.DataContext = New TopCommandBarVM
}
m_TopCommandBar = New TopCommandBarV
m_TopCommandBar.DataContext = New TopCommandBarVM
End If
Return m_TopCommandBar
End Get
@@ -73,9 +76,8 @@ Public Class MainWindowVM
Get
If m_bfirst Then
m_bfirst = False
m_StatusBar = New StatusBarV With {
.DataContext = New MyStatusBarVM
}
m_StatusBar = New StatusBarV
m_StatusBar.DataContext = New MyStatusBarVM
End If
Return m_StatusBar
End Get
@@ -87,9 +89,8 @@ Public Class MainWindowVM
Get
If m_bFirstProjectPage Then
m_bFirstProjectPage = False
m_ProjectPage = New ProjectV With {
.DataContext = New ProjectVM
}
m_ProjectPage = New ProjectV
m_ProjectPage.DataContext = New ProjectVM
End If
Return m_ProjectPage
End Get
@@ -97,11 +98,11 @@ Public Class MainWindowVM
Public ReadOnly Property IconSource As String
Get
#If PLATFORM = "x64" Then
#If PLATFORM = "x64" Then
Return "/Resources/EgtCAM5_64.ico"
#Else
Return "/Resources/EgtCAM5.ico"
#End If
#else
Return "/Resources/EgtCAM5.ico"
#End If
End Get
End Property
@@ -137,9 +138,8 @@ Public Class MainWindowVM
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub AboutBox(ByVal param As Object)
Dim AboutBoxWindow As New AboutBoxWndV With {
.Owner = Application.Current.MainWindow
}
Dim AboutBoxWindow As New AboutBoxWndV
AboutBoxWindow.Owner = Application.Current.MainWindow
AboutBoxWindow.ShowDialog()
End Sub
@@ -386,8 +386,8 @@ Public Class MainWindowVM
EgtSetLockId(sLockId)
End If
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2703, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2703, 1, IniFile.m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2611, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2611, 1, IniFile.m_nKeyOptions)
' Leggo e imposto livello utilizzatore
IniFile.m_nUserLevel = Math.Min(IniFile.m_nKeyLevel, GetPrivateProfileInt(S_GENERAL, K_USERLEVEL, 1))
' Imposto abilitazione lavorazioni avanzate
@@ -423,14 +423,7 @@ Public Class MainWindowVM
GetPrivateProfileString(S_GEOMDB, K_NFEFONTDIR, "", sNfeDir)
GetPrivateProfileString(S_GEOMDB, K_DEFAULTFONT, "", OptionModule.m_sFontText)
EgtSetFont(sNfeDir, OptionModule.m_sFontText)
' Imposto dir di default per libreria Lua e lancio libreria di base
Dim sLuaLibsDir As String = String.Empty
GetPrivateProfileString(S_LUA, K_LIBSDIR, "", sLuaLibsDir)
EgtSetLuaLibs(sLuaLibsDir)
Dim sLuaBaseLib As String = String.Empty
GetPrivateProfileString(S_LUA, K_BASELIB, "EgtBase", sLuaBaseLib)
EgtLuaRequire(sLuaBaseLib)
' Imposto direttorio ausiliario per import/gestione BTL (sempre dopo impostazioni lua)
' Imposto direttorio ausiliario per import/gestione BTL
Dim sBtlAuxDir As String = String.Empty
GetPrivateProfileString(S_IMPORT, K_BTLAUXDIR, "", sBtlAuxDir)
EgtSetBtlAuxDir(sBtlAuxDir)
@@ -438,6 +431,13 @@ Public Class MainWindowVM
Dim sThreeJSLibDir As String = String.Empty
GetPrivateProfileString(S_EXPORT, K_THREEJSLIBDIR, "", sThreeJSLibDir)
EgtSetThreeJSLibDir(sThreeJSLibDir)
' Imposto dir di default per libreria Lua e lancio libreria di base
Dim sLuaLibsDir As String = String.Empty
GetPrivateProfileString(S_LUA, K_LIBSDIR, "", sLuaLibsDir)
EgtSetLuaLibs(sLuaLibsDir)
Dim sLuaBaseLib As String = String.Empty
GetPrivateProfileString(S_LUA, K_BASELIB, "EgtBase", sLuaBaseLib)
EgtLuaRequire(sLuaBaseLib)
' Imposto direttorio temporaneo a EgtInterface
EgtSetTempDir(m_sTempDir)
' Imposto IniFile a EgtInterface
@@ -598,12 +598,6 @@ Public Class MainWindowVM
' pulisco output
Map.refStatusBarVM.NotifyStatusOutput("")
Map.refInputExpanderVM.ResetInputBox()
If not IsNothing( Map.refMachiningParameterExpanderVM) Then
' Nascondo la combobox delle usernotes
Map.refMachiningParameterExpanderVM.CurrOperation.SetComboAddVisibility(Visibility.Collapsed)
'riattivo il pulsante per visualizzare la combobox delle note
Map.refMachiningParameterExpanderVM.CurrOperation.SetShowNoteListCombo_IsEnable(True)
End If
ElseIf e.Key = Key.Left OrElse e.Key = Key.Right OrElse e.Key = Key.Up OrElse e.Key = Key.Down AndAlso
Map.refTopCommandBarVM.MachiningIsChecked AndAlso Map.refOperationParametersExpanderVM.OperationParameters.IsEnabled Then
Map.refMachiningParameterExpanderVM.FocusSlider()
@@ -622,11 +616,12 @@ Public Class MainWindowVM
''' </summary>
Private m_allowWindowToClose As Boolean = False
#End Region
#Region "MEF Plugin"
Private m_Loader As New MEFLoader()
Private m_Loader As MEFLoader = New MEFLoader()
Private Function GetPathByName(ByVal name As String) As String
Dim PluginNameSplit() As String = name.Split("."c)
+3 -3
View File
@@ -30,7 +30,7 @@ Imports System.Windows
#End If
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("EgtCAM5")>
<Assembly: AssemblyCopyright("Copyright © 2016-2025 by Egalware s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2016-2024 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)>
@@ -70,6 +70,6 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.7.3.1")>
<Assembly: AssemblyFileVersion("2.7.3.1")>
<Assembly: AssemblyVersion("2.6.11.1")>
<Assembly: AssemblyFileVersion("2.6.11.1")>
@@ -3,12 +3,12 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Expander IsExpanded="{Binding IsEnabled}" IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ExpanderStyle}">
Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<TextBlock Text="{Binding PropertiesMsg}"/>
</Expander.Header>
<UniformGrid>
<TextBox Text="{Binding InfoBox, Mode=OneWay}" MaxHeight="100" IsReadOnly="True"
<TextBox Text="{Binding InfoBox, Mode=OneWay}" MaxHeight="250" IsReadOnly="True"
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"/>
</UniformGrid>
</Expander>
@@ -7,7 +7,7 @@ Public Class InfoExpanderVM
Public ReadOnly Property PropertiesMsg As String
Get
Return EgtMsg(5351) ' Proprietà
Return EgtMsg(MSG_DRAWOPTION + 1)
End Get
End Property
@@ -21,7 +21,7 @@ Public Class InfoExpanderVM
Set(value As Boolean)
If value <> m_IsExpanded Then
m_IsExpanded = value
OnPropertyChanged(NameOf(IsEnabled))
OnPropertyChanged("IsEnabled")
End If
End Set
End Property
@@ -39,7 +39,7 @@ Public Class InfoExpanderVM
Else
IsEnabled = False
End If
OnPropertyChanged(NameOf(InfoBox))
OnPropertyChanged("InfoBox")
End If
End Set
End Property
@@ -3,9 +3,9 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Expander Header="{Binding Title}" IsExpanded="{Binding IsExpanded}" IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ExpanderStyle}">
Style="{StaticResource ExpanderStyle}">
<StackPanel>
<!--<StackPanel.Style>
<StackPanel.Style>
<Style TargetType="{x:Type StackPanel}">
<Style.Triggers>
<DataTrigger Binding="{Binding FocusTextBox}" Value="True">
@@ -13,78 +13,29 @@
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>-->
</StackPanel.Style>
<TextBlock Text="{Binding TextBlock}"
Visibility="{Binding TextVisibility}" Margin="5,5,0,5"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="Txt" Text="{Binding TextBox,UpdateSourceTrigger=PropertyChanged}"
PreviewKeyDown="TextBox_PreviewKeyDown" Height="Auto"
Visibility="{Binding TextVisibility}" Margin="5,0,5,5" IsEnabled="True" Focusable="True" >
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DoneCommand}"/>
<KeyBinding Key="S" Modifiers="Control" Command="{Binding ShowCommand}"/>
</TextBox.InputBindings>
</TextBox>
<Button Grid.Column="1"
Content="+"
Command="{Binding ShowInfoItemCommand}"
Visibility="Collapsed"
Width="20"
Height="20"
Margin="5,-1,5,0"
VerticalAlignment="Top"/>
<!--Visibility="{Binding ShowInfoItemVisibility}"-->
</Grid>
<TextBox Text="{Binding TextBox,UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding TextVisibility}" Margin="5,0,5,5">
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DoneCommand}"/>
<KeyBinding Key="S" Modifiers="Control" Command="{Binding ShowCommand}"/>
</TextBox.InputBindings>
</TextBox>
<CheckBox Content="{Binding CheckBoxText}" IsChecked="{Binding IsChecked}"
Visibility="{Binding CheckVisibility}" Margin="5,0,5,5"/>
<ComboBox ItemsSource="{Binding ComboItemsList}" SelectedIndex="{Binding ComboSelectedIndex}"
Visibility="{Binding ComboVisibility}" Margin="5,5,5,5"/>
<ItemsControl ItemsSource="{Binding InfoList}"
Visibility="{Binding InfoVisibility}"
Margin="5,5,0,10">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Key}"
Width="70"
Margin="0,6,-15,0"/>
<TextBox Grid.Column="1"
Text="{Binding Valour, UpdateSourceTrigger=PropertyChanged}"
Margin="0,5,5,10">
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DoneInfoCommand}"/>
</TextBox.InputBindings>
</TextBox>
<Button Grid.Column="2"
Content="-"
Command="{Binding RemoveInfoItemCommand}"
Width="20"
Height="20"
Margin="5,-2,5,5"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Visibility="{Binding ComboVisibility}" Margin="5,0,5,5"/>
<Grid Margin="5,0,5,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button Command="{Binding ShowCommand}" Visibility="{Binding ShowBtnVisibility}"
Content="{Binding ShowMsg}" Style="{StaticResource EgtCAM5_InputButton}"/>
Content="{Binding ShowMsg}" Style="{StaticResource EgtCAM5_InputButton}"/>
<Button Command="{Binding DoneCommand}" Grid.Column="1"
Content="{Binding OkMsg}" Style="{StaticResource EgtCAM5_InputButton}"/>
Content="{Binding OkMsg}" Style="{StaticResource EgtCAM5_InputButton}"/>
</Grid>
</StackPanel>
</Expander>
@@ -1,24 +1,3 @@
Public Class InputExpanderV
Sub New()
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
'TextBoxFocus.Focus()
AddHandler Map.refInputExpanderVM.m_FocusOnTextBox, AddressOf FocusOnText
End Sub
Friend Sub FocusOnText()
Me.Txt.Focus()
End Sub
Private Sub TextBox_PreviewKeyDown(sender As Object, e As KeyEventArgs)
If e.Key = Key.Enter And Keyboard.Modifiers = ModifierKeys.Shift Then
Txt.AcceptsReturn = True
Txt.TextWrapping = TextWrapping.Wrap
End If
End Sub
End Class
@@ -1,31 +1,11 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports MS.Internal
Public Class InputExpanderVM
Inherits ViewModelBase
#Region "FIELDS & PROPERTIES"
Friend Event m_FocusOnTextBox()
' Variabile temporanea per salvare bShow
Private m_tmpbShow As Boolean
Private m_tmpInfoList As New ObservableCollection(Of InfoItem)
''' <summary>
''' Lista temporanea delle info
''' </summary>
Private Property tmpInfoList As ObservableCollection(Of InfoItem)
Get
Return m_tmpInfoList
End Get
Set(value As ObservableCollection(Of InfoItem))
m_tmpInfoList = value
OnPropertyChanged("tmpInfoList")
End Set
End Property
' Expander fields
Private m_IsExpanded As Boolean
Public Property IsExpanded As Boolean
@@ -34,7 +14,7 @@ Public Class InputExpanderVM
End Get
Set(value As Boolean)
m_IsExpanded = value
OnPropertyChanged(NameOf(IsExpanded))
OnPropertyChanged("IsExpanded")
End Set
End Property
@@ -45,7 +25,7 @@ Public Class InputExpanderVM
End Get
Set(value As Boolean)
m_IsEnabled = value
OnPropertyChanged(NameOf(IsEnabled))
OnPropertyChanged("IsEnabled")
End Set
End Property
@@ -56,7 +36,7 @@ Public Class InputExpanderVM
End Get
Set(value As String)
m_Title = value
OnPropertyChanged(NameOf(Title))
OnPropertyChanged("Title")
End Set
End Property
@@ -68,7 +48,7 @@ Public Class InputExpanderVM
End Get
Set(value As String)
m_TextBlock = value
OnPropertyChanged(NameOf(TextBlock))
OnPropertyChanged("TextBlock")
End Set
End Property
@@ -81,7 +61,7 @@ Public Class InputExpanderVM
Set(value As String)
m_TextBox = value
Map.refProjectVM.NotifyInputText(value)
OnPropertyChanged(NameOf(TextBox))
OnPropertyChanged("TextBox")
End Set
End Property
@@ -93,7 +73,7 @@ Public Class InputExpanderVM
Set(value As Visibility)
If value <> m_TextVisibility Then
m_TextVisibility = value
OnPropertyChanged(NameOf(TextVisibility))
OnPropertyChanged("TextVisibility")
End If
End Set
End Property
@@ -105,7 +85,7 @@ Public Class InputExpanderVM
End Get
Set(value As Boolean)
m_FocusTextBox = value
OnPropertyChanged(NameOf(FocusTextBox))
OnPropertyChanged("FocusTextBox")
End Set
End Property
@@ -117,7 +97,7 @@ Public Class InputExpanderVM
End Get
Set(value As String)
m_CheckBoxText = value
OnPropertyChanged(NameOf(CheckBoxText))
OnPropertyChanged("CheckBoxText")
End Set
End Property
@@ -130,7 +110,7 @@ Public Class InputExpanderVM
If value <> m_IsChecked Then
Map.refProjectVM.SetLastBoolean(value)
m_IsChecked = value
OnPropertyChanged(NameOf(IsChecked))
OnPropertyChanged("IsChecked")
End If
End Set
End Property
@@ -143,7 +123,7 @@ Public Class InputExpanderVM
Set(value As Visibility)
If value <> m_CheckVisibility Then
m_CheckVisibility = value
OnPropertyChanged(NameOf(CheckVisibility))
OnPropertyChanged("CheckVisibility")
End If
End Set
End Property
@@ -156,21 +136,7 @@ Public Class InputExpanderVM
End Get
Set(value As ObservableCollection(Of String))
m_ComboItemsList = value
OnPropertyChanged(NameOf(ComboItemsList))
End Set
End Property
Private m_InfoList As New ObservableCollection(Of InfoItem)
''' <summary>
''' Lista delle info modificate
''' </summary>
Public Property InfoList As ObservableCollection(Of InfoItem)
Get
Return m_InfoList
End Get
Set(value As ObservableCollection(Of InfoItem))
m_InfoList = value
OnPropertyChanged("InfoList")
OnPropertyChanged("ComboItemsList")
End Set
End Property
@@ -180,27 +146,9 @@ Public Class InputExpanderVM
Return m_ComboSelectedIndex
End Get
Set(value As Integer)
If m_tmpbShow Then Map.refProjectVM.SetLastInteger(value)
Map.refProjectVM.SetLastInteger(value)
m_ComboSelectedIndex = value
' Assegno l'indice selezionato ad una variabile temporanea per utilizzarlo quando rimuovo l'info dalla lista
Dim tmpComboSelectedIndex As Integer = ComboSelectedIndex
' Controllo se l'indice è maggiore o uguale a zero e la lista tmp contiene valori
If m_ComboSelectedIndex >= 0 AndAlso tmpInfoList.Count > 0 Then
' Controllo se la info è contenuta nella lista ComboItemsList
If ComboItemsList.Contains(tmpInfoList(m_ComboSelectedIndex).sKey) Then
' Aggiungo la info alla lista per visualizzarla
InfoList.Add(New InfoItem(tmpInfoList(m_ComboSelectedIndex).nId, tmpInfoList(m_ComboSelectedIndex).sKey, m_tmpInfoList(m_ComboSelectedIndex).sValour))
' Nascondo la combobox
ComboVisibility = Visibility.Collapsed
' Rimuovo la info dalla ComboItemsList
ComboItemsList.Remove(tmpInfoList(m_ComboSelectedIndex).sKey)
End If
' Rimuovo la info dalla tmpInfoList
tmpInfoList.Remove(tmpInfoList(tmpComboSelectedIndex))
End If
OnPropertyChanged(NameOf(ComboSelectedIndex))
OnPropertyChanged("ComboItemsList")
OnPropertyChanged("InfoList")
OnPropertyChanged("ComboSelectedIndex")
End Set
End Property
@@ -212,7 +160,7 @@ Public Class InputExpanderVM
Set(value As Visibility)
If value <> m_ComboVisibility Then
m_ComboVisibility = value
OnPropertyChanged(NameOf(ComboVisibility))
OnPropertyChanged("ComboVisibility")
End If
End Set
End Property
@@ -225,58 +173,24 @@ Public Class InputExpanderVM
End Get
Set(value As Visibility)
m_ShowBtnVisibility = value
OnPropertyChanged(NameOf(ShowBtnVisibility))
End Set
End Property
Private m_ShowInfoItemVisibility As Visibility
''' <summary>
''' Propietà visibilità bottone +
''' </summary>
Public Property ShowInfoItemVisibility As Visibility
Get
Return m_ShowInfoItemVisibility
End Get
Set(value As Visibility)
If value <> m_ShowInfoItemVisibility Then
m_ShowInfoItemVisibility = value
OnPropertyChanged("ShowInfoItemVisibility")
End If
End Set
End Property
Private m_InfoVisibility As Visibility
''' <summary>
''' Propietà visibilità lista info modificate
''' </summary>
Public Property InfoVisibility As Visibility
Get
Return m_InfoVisibility
End Get
Set(value As Visibility)
If value <> m_InfoVisibility Then
m_InfoVisibility = value
OnPropertyChanged("InfoVisibility")
End If
OnPropertyChanged("ShowBtnVisibility")
End Set
End Property
' Commands definition
Private m_cmdShow As ICommand
Private m_cmdDone As ICommand
Private m_cmdShowInfoItem As ICommand
Private m_cmdRemoveInfoItem As ICommand
#Region "Messages"
Public ReadOnly Property ShowMsg As String
Get
Return EgtMsg(5364) ' Mostra
Return EgtMsg(MSG_DRAWOPTION + 14)
End Get
End Property
Public ReadOnly Property OkMsg As String
Get
Return EgtMsg(5365) ' Conferma
Return EgtMsg(MSG_DRAWOPTION + 15)
End Get
End Property
@@ -343,15 +257,6 @@ Public Class InputExpanderVM
''' Execute the Point. This method is invoked by the PointCommand.
''' </summary>
Public Sub Done(ByVal param As Object)
' Controllo se la lista contenente la info modificata sia presente
If InfoList.Count > 0 Then
' Ciclo sulla lista
For Each Item As InfoItem In InfoList
Map.refProjectVM.NotifyInputText((Item.Key & "=" & Item.Valour).Trim())
' Assegno a m_TextBox la info modificata
m_TextBox &= vbCrLf & (Item.Key & "=" & Item.Valour).Trim() & vbCrLf
Next
End If
Map.refProjectVM.Done(m_TextBox)
End Sub
@@ -364,75 +269,23 @@ Public Class InputExpanderVM
#End Region ' DoneCommand
#Region "ShowInfoItemCommand"
''' <summary>
''' Comando per la visualizzazione della combobox
''' </summary>
Public ReadOnly Property ShowInfoItemCommand As ICommand
Get
If m_cmdShowInfoItem Is Nothing Then
m_cmdShowInfoItem = New Command(AddressOf ShowInfoItem)
End If
Return m_cmdShowInfoItem
End Get
End Property
''' <summary>
''' Funzione per la visualizzazione della combobox
''' </summary>
''' <param name="param"></param>
Public Sub ShowInfoItem(ByVal param As Object)
ComboVisibility = Visibility.Visible
End Sub
#End Region ' ShowInfoItemCommand
#End Region
#Region "METHODS"
Friend Sub FocusText()
RaiseEvent m_FocusOnTextBox()
End Sub
Friend Sub PrepareInputBox(PrepareInputBoxParam As PrepareInputBoxParam)
Title = PrepareInputBoxParam.sTitle
If PrepareInputBoxParam.sLabel <> "" Then
TextBlock = PrepareInputBoxParam.sLabel
TextBox = ""
TextVisibility = Visibility.Visible
' Controllo se il titolo è uguale a INFO se si
If Title = EgtMsg(5359).ToUpper() Then
' Metto tmpbShow a false
m_tmpbShow = False
' Rendo visibile il pulsante che mostra la lista delle info
ShowInfoItemVisibility = Visibility.Visible
' Rendo visibile la lista delle info selezionate
InfoVisibility = Visibility.Visible
' Pulisco la lista tmpInfoList
tmpInfoList.Clear()
' Pulisco la lista InfoList
InfoList.Clear()
' Pulisco la lista ComboItemsList
ComboItemsList.Clear()
' Popolo la lista ComboItemsList
ComboInfo()
End If
End If
If PrepareInputBoxParam.sCheckLabel <> "" Then
CheckBoxText = PrepareInputBoxParam.sCheckLabel
CheckVisibility = Visibility.Visible
End If
If PrepareInputBoxParam.bShowCombo Then
' Assegno a tmpbShow PrepareInputBoxParam.bShowCombo
m_tmpbShow = PrepareInputBoxParam.bShowCombo
' Pulisco la lista ComboItemsList
ComboItemsList.Clear()
' Pulisco la lista tmpInfoList
tmpInfoList.Clear()
' Pulisco la lista InfoList
InfoList.Clear()
ComboVisibility = Visibility.Visible
End If
If PrepareInputBoxParam.bShowBtn Then
@@ -441,17 +294,14 @@ Public Class InputExpanderVM
IsEnabled = True
IsExpanded = True
FocusTextBox = True
FocusText()
End Sub
Friend Sub ResetInputBox()
Title = EgtMsg(5355) ' Parametri di disegno
Title = EgtMsg(MSG_DRAWOPTION + 5)
TextVisibility = Visibility.Collapsed
CheckVisibility = Visibility.Collapsed
ComboVisibility = Visibility.Collapsed
ShowBtnVisibility = Visibility.Collapsed
ShowInfoItemVisibility = Visibility.Collapsed
InfoVisibility = Visibility.Collapsed
IsExpanded = False
IsEnabled = False
End Sub
@@ -459,7 +309,6 @@ Public Class InputExpanderVM
Friend Function SetInputBoxText(ByVal sVal As String) As Boolean
TextBox = sVal
FocusTextBox = True
FocusText()
Return True
End Function
@@ -480,44 +329,12 @@ Public Class InputExpanderVM
Private Function AddInputBoxCombo(ByVal sText As String, ByVal bSelected As Boolean) As Boolean
ComboItemsList.Add(sText)
If bSelected Then
ComboSelectedIndex = ComboItemsList.Count - 1
End If
Return True
End Function
''' <summary>
''' Rimovi nota da info lista
''' </summary>
''' <param name="InfoItem">Informazione da eliminare</param>
Friend Sub RemoveItemInfo(InfoItem As InfoItem)
' Rimuovo info da lista modifica
InfoList.Remove(InfoItem)
' Riaggiungo la info eliminata
ComboItemsList.Add(InfoItem.sKey)
' Riaggiungo la info eliminata
tmpInfoList.Add(InfoItem)
End Sub
''' <summary>
''' Funzione che popola la lista ComboItemsList
''' </summary>
Private Sub ComboInfo()
'''''''''''''''''''''''''''''' Recuperare funzione egtgetallinfo quando sarà pronta
Dim val As Integer
If Not m_tmpbShow Then
For Ind As Integer = 0 To 6
val += Ind
tmpInfoList.Add(New InfoItem(Ind, "A" & +Ind, val.ToString()))
Next
For Each InfoItem As InfoItem In tmpInfoList
ComboItemsList.Add(InfoItem.sKey)
Next
End If
End Sub
#End Region ' Methods
End Class
@@ -69,7 +69,7 @@ Public Class LayerTreeViewItem
Return m_bOnOff
End Get
Set(value As Boolean)
'If Map.refProjectVM.GetController().GetStep() <> 0 Then Return
If Map.refProjectVM.GetController().GetStep() <> 0 Then Return
If m_bOnOff <> value Then
m_bOnOff = value
' se abilitato, eseguo operazione
@@ -115,7 +115,7 @@ Public Class LayerTreeViewItem
Public Sub SetHidden(bVal As Boolean)
If bVal <> m_bHidden Then
m_bHidden = bVal
NotifyPropertyChanged(Name(IsHidden))
NotifyPropertyChanged("IsHidden")
End If
End Sub
@@ -127,7 +127,7 @@ Public Class LayerTreeViewItem
Set(value As String)
If value <> m_sPictureString Then
m_sPictureString = value
NotifyPropertyChanged(NameOf(PictureString))
NotifyPropertyChanged("PictureString")
End If
End Set
End Property
@@ -20,10 +20,9 @@
<Button Content="{Binding NewLayerMsg}" Command="{Binding NewLayerCommand}" Height="30"/>
<Button Content="{Binding ColorMsg}" Command="{Binding LayerColorCommand}" Height="30"/>
</UniformGrid>
<TreeView x:Name="LayerTreeView" MinHeight="150" MaxHeight="250"
<TreeView Name="LayerTreeView" MinHeight="250" MaxHeight="400"
ItemsSource="{Binding Path=LayerList}"
SelectedItemChanged="LayerTreeView_SelectedItemChanged"
VirtualizingStackPanel.IsVirtualizing = "True"
VirtualizingStackPanel.VirtualizationMode = "Recycling">
<interactivity:Interaction.Triggers>
@@ -51,17 +50,18 @@
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ToggleButton Style="{StaticResource EgtCAM5_LampToggleButton}" Grid.Column="0"
IsChecked="{Binding OnOff}" Visibility="{Binding IsHidden}" Focusable="True" Height="15" Width="15" Margin="0,0,5,0"/>
<ToggleButton Style="{StaticResource EgtCAM5_LampToggleButton}" Grid.Column="0"
IsChecked="{Binding OnOff}" Visibility="{Binding IsHidden}" Focusable="False" Height="15" Width="15" Margin="0,0,5,0"/>
<Image Grid.Column="1" Source="{Binding PictureString}" Height="15" Margin="0,0,5,0"/>
<TextBlock Grid.Column="2" Text="{Binding Name}" Margin="0,0,5,0" Name="Pippo"/>
<TextBlock Grid.Column="2" Text="{Binding Name}" Margin="0,0,5,0"/>
<Ellipse Grid.Column="3" Height="10" Width="10" Fill="{Binding LayerColor}" />
</Grid>
</HierarchicalDataTemplate>
</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).-->
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}" />
@@ -1,10 +1,3 @@
Public Class ManageLayerExpanderV
Private Sub LayerTreeView_SelectedItemChanged(sender As Object, e As RoutedPropertyChangedEventArgs(Of Object))
If Not IsNothing(LayerTreeView.SelectedItem) Then
' Metti il focus sul TreeView e sul nodo
LayerTreeView.Focus()
End If
End Sub
End Class
@@ -1,6 +1,6 @@
Imports System.Collections.ObjectModel
Imports System.Security.Cryptography
Imports EgtUILib
Imports EgtCAM5.IniFile
Public Class ManageLayerExpanderVM
Inherits ViewModelBase
@@ -15,7 +15,7 @@ Public Class ManageLayerExpanderVM
End Get
Set(value As String)
m_HeaderName = value
OnPropertyChanged(NameOf(HeaderName))
OnPropertyChanged("HeaderName")
End Set
End Property
@@ -26,7 +26,7 @@ Public Class ManageLayerExpanderVM
End Get
Set(value As SolidColorBrush)
m_HeaderColor = value
OnPropertyChanged(NameOf(HeaderColor))
OnPropertyChanged("HeaderColor")
End Set
End Property
@@ -75,57 +75,57 @@ Public Class ManageLayerExpanderVM
Public ReadOnly Property NewPartMsg As String
Get
Return EgtMsg(5352) ' Nuovo Pezzo
Return EgtMsg(MSG_DRAWOPTION + 2)
End Get
End Property
Public ReadOnly Property NewLayerMsg As String
Get
Return EgtMsg(5353) ' Nuovo Layer
Return EgtMsg(MSG_DRAWOPTION + 3)
End Get
End Property
Public ReadOnly Property ColorMsg As String
Get
Return EgtMsg(5354) ' Colore
Return EgtMsg(MSG_DRAWOPTION + 4)
End Get
End Property
Public ReadOnly Property SelectMsg As String
Get
Return EgtMsg(5356) ' Seleziona
Return EgtMsg(MSG_DRAWOPTION + 6)
End Get
End Property
Public ReadOnly Property DeselectMsg As String
Get
Return EgtMsg(5357) ' Deseleziona
Return EgtMsg(MSG_DRAWOPTION + 7)
End Get
End Property
Public ReadOnly Property NameMsg As String
Get
Return EgtMsg(5358) ' Nome
Return EgtMsg(MSG_DRAWOPTION + 8)
End Get
End Property
Public ReadOnly Property InfoMsg As String
Get
Return EgtMsg(5359) ' Info
Return EgtMsg(MSG_DRAWOPTION + 9)
End Get
End Property
Public ReadOnly Property RelocateMsg As String
Get
Return EgtMsg(5360) ' Sposta
Return EgtMsg(MSG_DRAWOPTION + 10)
End Get
End Property
Public ReadOnly Property CopyMsg As String
Get
Return EgtMsg(5361) ' Copia
Return EgtMsg(MSG_DRAWOPTION + 11)
End Get
End Property
Public ReadOnly Property DeleteMsg As String
Get
Return EgtMsg(5362) ' Elimina
Return EgtMsg(MSG_DRAWOPTION + 12)
End Get
End Property
Public ReadOnly Property SaveMsg As String
Get
Return EgtMsg(5363) ' Salva
Return EgtMsg(MSG_DRAWOPTION + 13)
End Get
End Property
@@ -480,8 +480,9 @@ Public Class ManageLayerExpanderVM
' Se è un pezzo con lavorazioni, devo chiedere conferma della cancellazione
If EgtIsPart(RightClickedTreeItemId) And EgtExistsInfo(RightClickedTreeItemId, GDB_SI_LIST) Then
' Pezzo in lavorazione, vuoi cancellarlo lo stesso ? - Erase Confirm
'If MessageBox.Show(EgtMsg(MSG_DRAWOPTION + 17), EgtMsg(MSG_DRAWOPTION + 16), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.No Then Return
If EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5367), EgtMsg(5366), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.No Then Return ' Pezzo in lavorazione, vuoi cancellarlo lo stesso ? Conferma Cancellazione
If MessageBox.Show(EgtMsg(MSG_DRAWOPTION + 17), EgtMsg(MSG_DRAWOPTION + 16), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.No Then
Return
End If
End If
' Recupero Id vicino per prossimo selezionato in albero
Dim nNewId As Integer = EgtGetNext(RightClickedTreeItemId)
@@ -527,7 +528,7 @@ Public Class ManageLayerExpanderVM
#Region "METHODS"
Private WithEvents ObjTreeTimer As New System.Windows.Threading.DispatcherTimer
Friend m_nObjTreeOldId As Integer = GDB_ID.NULL
Private m_nObjTreeOldId As Integer = GDB_ID.NULL
Private m_nObjTreeMenuId As Integer = GDB_ID.NULL
Private m_bEnableUpdateObjInObjTree As Boolean = True
@@ -678,7 +679,7 @@ Public Class ManageLayerExpanderVM
'se gruppo
If nType = GDB_TY.GROUP Then
AddGroupInObjTree(nId, nLevel, nMode, nDepth + 1, CurrNodColl)
'se oggetto geometrico
'se oggetto geometrico
ElseIf nType >= GDB_TY.GEO_VECTOR Then
Dim sTitle As String = String.Empty
EgtGetTitle(nId, sTitle)
@@ -807,7 +808,7 @@ Public Class ManageLayerExpanderVM
If Not IsNothing(tNode) Then
If Not bMark Then LayerTreeViewItem.m_MarkOnSel = False
tNode.IsSelected = True
tNode.NotifyPropertyChanged(NameOf(tNode.IsSelected))
tNode.NotifyPropertyChanged("IsSelected")
If Not bMark Then LayerTreeViewItem.m_MarkOnSel = True
tNode.IsExpanded = True
m_nObjTreeOldId = nId
+20 -5
View File
@@ -1,15 +1,30 @@
<UserControl x:Class="DrawOptionPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="250"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5">
<StackPanel Name="ciao" Background="Transparent" Margin="0,0,3.5001,0" MaxHeight="{Binding MaxHeight,RelativeSource={RelativeSource AncestorType={x:Type EgtFloating:EgtFloatingPanel}}}">
<!--<StackPanel Name="ciao" Background="Transparent" MaxHeight="{Binding MaxHeight,RelativeSource={RelativeSource AncestorType={x:Type EgtFloating:EgtFloatingPanel}}}">
--><!--ContentPresenter that contains the ManageLayerExpander--><!--
<ContentPresenter Content="{Binding ManageLayerExpander,Mode=OneWay}"/>
--><!--ContentPresenter that contains the InfoExpander--><!--
<ContentPresenter Content="{Binding InfoExpander}"/>
--><!--ContentPresenter that contains the InputExpander--><!--
<ContentPresenter Content="{Binding InputExpander}"/>
</StackPanel>-->
<Grid Name="ciao" Background="Transparent" MaxHeight="{Binding MaxHeight,RelativeSource={RelativeSource AncestorType={x:Type EgtFloating:EgtFloatingPanel}}}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!--ContentPresenter that contains the ManageLayerExpander-->
<ContentPresenter Content="{Binding ManageLayerExpander,Mode=OneWay}"/>
<GridSplitter Grid.Row="0" Height="5" Background="Transparent" HorizontalAlignment="Stretch" VerticalAlignment="Bottom"/>
<!--ContentPresenter that contains the InfoExpander-->
<ContentPresenter Content="{Binding InfoExpander}"/>
<ContentPresenter Grid.Row="1" Content="{Binding InfoExpander}"/>
<GridSplitter Grid.Row="1" Height="5" Background="Transparent" HorizontalAlignment="Stretch" VerticalAlignment="Bottom"/>
<!--ContentPresenter that contains the InputExpander-->
<ContentPresenter Content="{Binding InputExpander}"/>
</StackPanel>
<ContentPresenter Grid.Row="2" Content="{Binding InputExpander}"/>
</Grid>
</UserControl>
+11 -16
View File
@@ -1,16 +1,15 @@
Public Class DrawOptionPanelVM
Inherits ViewModelBase
Imports EgtUILib
Private m_InputExpanderVM As InputExpanderVM
Public Class DrawOptionPanelVM
Inherits ViewModelBase
' GRAPHICAL ELEMENTS
Private m_ManageLayerExpander As ManageLayerExpanderV
Public ReadOnly Property ManageLayerExpander As ContentControl
Get
If IsNothing(m_ManageLayerExpander) Then
m_ManageLayerExpander = New ManageLayerExpanderV With {
.DataContext = New ManageLayerExpanderVM
}
m_ManageLayerExpander = New ManageLayerExpanderV
m_ManageLayerExpander.DataContext = New ManageLayerExpanderVM
End If
Return m_ManageLayerExpander
End Get
@@ -20,9 +19,8 @@
Public ReadOnly Property InfoExpander As ContentControl
Get
If IsNothing(m_InfoExpander) Then
m_InfoExpander = New InfoExpanderV With {
.DataContext = New InfoExpanderVM
}
m_InfoExpander = New InfoExpanderV
m_InfoExpander.DataContext = New InfoExpanderVM
End If
Return m_InfoExpander
End Get
@@ -32,13 +30,8 @@
Public ReadOnly Property InputExpander As ContentControl
Get
If IsNothing(m_InputExpander) Then
'm_InputExpander = New InputExpanderV With {
' .DataContext = New InputExpanderVM
'}
m_InputExpanderVM = New InputExpanderVM()
m_InputExpander = New InputExpanderV With {
.DataContext = m_InputExpanderVM
}
m_InputExpander = New InputExpanderV
m_InputExpander.DataContext = New InputExpanderVM
End If
Return m_InputExpander
End Get
@@ -56,10 +49,12 @@
#Region "METHODS"
Friend Function InitDrawOptionPanel() As Boolean
'EgtZoom(ZM.ALL)
Return True
End Function
Friend Function ExitDrawOptionPanel() As Boolean
Return True
End Function
@@ -1,4 +1,5 @@
Imports System.IO
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
@@ -28,7 +29,7 @@ Public Class EstimationsExpanderVM
End Get
Set(value As Boolean)
m_Estimation_IsEnabled = value
NotifyPropertyChanged(NameOf(Estimation_IsEnabled))
NotifyPropertyChanged("Estimation_IsEnabled")
End Set
End Property
@@ -54,8 +55,7 @@ Public Class EstimationsExpanderVM
' Verifico che il file esista
If Not File.Exists(sEstFile) Then
' File delle stime non trovato
'MessageBox.Show(EgtMsg(MSG_SIMULATION + 18), EgtMsg(MSG_SIMULATION + 15), MessageBoxButton.OK, MessageBoxImage.Warning)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5318), EgtMsg(5315), MessageBoxButton.OK, MessageBoxImage.Warning) ' File delle stime non trovato AVVERTIMENTO
MessageBox.Show(EgtMsg(MSG_SIMULATION + 18), EgtMsg(MSG_SIMULATION + 15), MessageBoxButton.OK, MessageBoxImage.Warning)
Return
End If
' Visualizzazione
@@ -77,14 +77,14 @@ Public Class EstimationsExpanderVM
' Abilito la selezione di tutti i tipi di geometria
Map.refProjectVM.SceneSelMode = SceneSelModeOpt.PARTCURVESANDSURFACES
CalcEstimation()
NotifyPropertyChanged(NameOf(Time))
NotifyPropertyChanged(NameOf(CutLen))
NotifyPropertyChanged("Time")
NotifyPropertyChanged("CutLen")
m_Estimation_IsExpanded = True
Map.refOperationParametersExpanderVM.OperParamsViewIsEnabled = False
Map.refOperationsListExpanderVM.EstimationExpander_Get_IsExpanded(True)
NotifyPropertyChanged(NameOf(Estimation_IsExpanded))
Map.refMachiningOptionPanelVM.OnPropertyChanged(NameOf(Map.refMachiningOptionPanelVM.GenerateIsEnabled))
NotifyPropertyChanged("Estimation_IsExpanded")
Map.refMachiningOptionPanelVM.OnPropertyChanged("GenerateIsEnabled")
' disattivo database utensili, lavorazioni e setup se vado in stima
Map.refMachinePanelVM.ToolMachSetUpIsEnabled(False, False, False)
' disattivo MTable e SpecialPanel se vado in stima
@@ -97,8 +97,8 @@ Public Class EstimationsExpanderVM
m_Estimation_IsExpanded = False
Map.refOperationParametersExpanderVM.OperParamsViewIsEnabled = True
Map.refOperationsListExpanderVM.EstimationExpander_Get_IsExpanded(False)
NotifyPropertyChanged(NameOf(Estimation_IsExpanded))
Map.refMachiningOptionPanelVM.OnPropertyChanged(NameOf(Map.refMachiningOptionPanelVM.GenerateIsEnabled))
NotifyPropertyChanged("Estimation_IsExpanded")
Map.refMachiningOptionPanelVM.OnPropertyChanged("GenerateIsEnabled")
' attivo database utensili, lavorazioni e setup se esco dalla stima
Map.refMachinePanelVM.ToolMachSetUpIsEnabled(True, True, True)
' attivo MTable e SpecialPanel se esco dalla stima
@@ -115,8 +115,7 @@ Public Class EstimationsExpanderVM
If bAskSave Then
If String.IsNullOrEmpty(sCurrFilePath) OrElse EgtGetModified() Then
' Il progetto deve essere salvato prima di poter essere generato. Vuoi farlo ?
'If MessageBox.Show(EgtMsg(MSG_SIMULATION + 31), EgtMsg(MSG_SIMULATION + 15), MessageBoxButton.YesNo, MessageBoxImage.Warning) = MessageBoxResult.No Then
If EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5331), EgtMsg(5315), MessageBoxButton.YesNo, MessageBoxImage.Warning) = MessageBoxResult.No Then ' Il progetto deve essere salvato prima della generazione CN. Vuoi farlo ? AVVERTIMENTO
If MessageBox.Show(EgtMsg(MSG_SIMULATION + 31), EgtMsg(MSG_SIMULATION + 15), MessageBoxButton.YesNo, MessageBoxImage.Warning) = MessageBoxResult.No Then
' Abbandono
bOk = False
Else
@@ -131,8 +130,7 @@ Public Class EstimationsExpanderVM
Else
If String.IsNullOrEmpty(sCurrFilePath) Then
' File delle stime non trovato
'MessageBox.Show(EgtMsg(MSG_SIMULATION + 18), EgtMsg(MSG_SIMULATION + 15), MessageBoxButton.OK, MessageBoxImage.Warning)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5318), EgtMsg(5315), MessageBoxButton.OK, MessageBoxImage.Warning) ' File delle stime non trovato AVVERTIMENTO
MessageBox.Show(EgtMsg(MSG_SIMULATION + 18), EgtMsg(MSG_SIMULATION + 15), MessageBoxButton.OK, MessageBoxImage.Warning)
bOk = False
End If
End If
@@ -1,7 +1,9 @@
<UserControl x:Class="EstimationsExpanderV"
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"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<StackPanel>
<Expander Header="{Binding EstimationMsg}"
@@ -1,13 +1,19 @@
<UserControl x:Class="MachiningTreeExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtCAM5">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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="{Binding MachListHdr}" IsExpanded="{Binding IsEnabled}" IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ExpanderStyle}">
Style="{StaticResource ExpanderStyle}">
<UniformGrid MaxHeight="300">
<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.InputBindings>
<KeyBinding Key="Escape" Command="{Binding CancelNewCommand}" CommandParameter="Escape"/>
</TreeView.InputBindings>
@@ -28,7 +34,7 @@
</Grid>
<!--Assegna ai nodi ToolItem lo Style normale dei TreeViewItem, eliminando l'ombra, data dal
multibinding quando sono attivi.-->
multibinding quando sono attivi.-->
<HierarchicalDataTemplate.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}" >
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
@@ -2,6 +2,12 @@
' Evento necessario per impedire che venga creata la lavorazione quando si fa doppio click sulla ScrollBar
Private Sub MachiningsTreeView_MouseDoubleClick(sender As Object, e As System.Windows.Input.MouseButtonEventArgs)
'Dim src As DependencyObject = VisualTreeHelper.GetParent(DirectCast(e.OriginalSource, DependencyObject))
'' Your logic here
'If TypeOf src Is Control AndAlso src.[GetType]() <> GetType(Grid) Then
' e.Handled = True
'End If
' recupero il viewmodel associato a questa view in cui è presente la funzione che l'evento deve lanciare
Dim MachiningTreeExpanderViewModel As MachiningTreeExpanderVM = DirectCast(Me.DataContext, MachiningTreeExpanderVM)
' recupero il treeviewitem clickato(sorgente dell'evento)
@@ -36,7 +36,7 @@ Public Class MachiningTreeExpanderVM
Public ReadOnly Property MachListHdr As String
Get
Return EgtMsg(5412) ' Nuove Lavorazioni
Return EgtMsg(MSG_OPERATION + 12) ' Nuove Lavorazioni
End Get
End Property
@@ -85,8 +85,7 @@ Public Class MachiningTreeExpanderVM
' Se l'operazione non è andata a buon fine
If MachiningId = GDB_ID.NULL Then
' Inserimento lavorazione non riuscito ERRORE
'MessageBox.Show(EgtMsg(MSG_OPERATION + 19), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5419), EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error) ' Inserimento lavorazione non riuscito Errore
MessageBox.Show(EgtMsg(MSG_OPERATION + 19), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Map.refOperationsListExpanderVM.CancelOperationCmd()
Return
End If
@@ -128,31 +127,31 @@ Public Class MachiningTreeExpanderVM
Private Function MachiningTypeToString(Type As Integer) As String
Select Case Type
Case MCH_MY.DRILLING
Return EgtMsg(6201) ' Foratura
Return EgtMsg(MSG_MACHININGSDBPAGE + 1)
Case MCH_MY.SAWING
Return EgtMsg(6202) ' Taglio di lama
Return EgtMsg(MSG_MACHININGSDBPAGE + 2)
Case MCH_MY.MILLING
Return EgtMsg(6203) ' Fresatura
Return EgtMsg(MSG_MACHININGSDBPAGE + 3)
Case MCH_MY.POCKETING
Return EgtMsg(6204) ' Svuotatura
Return EgtMsg(MSG_MACHININGSDBPAGE + 4)
Case MCH_MY.MORTISING
Return EgtMsg(6205) ' Mortasatura
Return EgtMsg(MSG_MACHININGSDBPAGE + 5)
Case MCH_MY.SAWROUGHING
Return EgtMsg(6206) ' Sgrossatura con lama
Return EgtMsg(MSG_MACHININGSDBPAGE + 6)
Case MCH_MY.SAWFINISHING
Return EgtMsg(6207) ' Finitura con lama
Return EgtMsg(MSG_MACHININGSDBPAGE + 7)
Case MCH_MY.GENMACHINING
Return EgtMsg(6208) ' Lav. generica
Return EgtMsg(MSG_MACHININGSDBPAGE + 8)
Case MCH_MY.CHISELING
Return EgtMsg(6209) ' Scalpellatura
Return EgtMsg(MSG_MACHININGSDBPAGE + 9)
Case MCH_MY.SURFROUGHING
Return EgtMsg(6210) ' Sgrossatura superfici
Return EgtMsg(MSG_MACHININGSDBPAGE + 10)
Case MCH_MY.SURFFINISHING
Return EgtMsg(6211) ' Finitura superfici
Return EgtMsg(MSG_MACHININGSDBPAGE + 11)
Case MCH_MY.WATERJETTING
Return EgtMsg(6212) ' WaterJet
Return EgtMsg(MSG_MACHININGSDBPAGE + 12)
Case MCH_MY.FIVEAXISMILLING
Return EgtMsg(31213) ' Lav. 5 assi
Return EgtMsg(31213)
Case Else
Return "Mach"
End Select
@@ -200,7 +199,7 @@ Public Class MachiningTreeExpanderVM
Map.refProjectVM.SceneSelMode = SceneSelModeOpt.ALL
CodeCommand = False
OnPropertyChanged(NameOf(IsEnabled))
OnPropertyChanged("IsEnabled")
Return True
End Function
@@ -214,11 +213,11 @@ Public Class MachiningTreeExpanderVM
If Not CodeCommand Then
Map.refOperationsListExpanderVM.CancelOperationCmd()
CodeCommand = False
OnPropertyChanged(NameOf(IsEnabled))
OnPropertyChanged("IsEnabled")
Return False
End If
CodeCommand = False
OnPropertyChanged(NameOf(IsEnabled))
OnPropertyChanged("IsEnabled")
Return True
End Function
@@ -63,6 +63,7 @@ Public Class MachiningTreeViewExpanderItem
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
@@ -1,7 +1,7 @@
<UserControl x:Class="DispositionParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<UserControl.Resources>
<sys:Int32 x:Key="TL">1</sys:Int32>
@@ -13,28 +13,28 @@
<StackPanel>
<Expander Header="RawPart" IsExpanded="{Binding RawPartIsExpanded}"
Style="{StaticResource ExpanderStyle}" Margin="0,1,0,1">
Style="{StaticResource ExpanderStyle}" Margin="0,1,0,1">
<StackPanel>
<ContentPresenter Name="RawPartOptions" Content="{Binding RawPartOptions ,Mode=OneWay}"/>
</StackPanel>
</Expander>
<Expander Header="Part" IsExpanded="{Binding PartIsExpanded}"
Style="{StaticResource ExpanderStyle}" Margin="0,1,0,1">
Style="{StaticResource ExpanderStyle}" Margin="0,1,0,1">
</Expander>
<Expander Header="Fixture" IsExpanded="{Binding FixtureIsExpanded}"
Style="{StaticResource ExpanderStyle}" Margin="0,1,0,1">
Style="{StaticResource ExpanderStyle}" Margin="0,1,0,1">
<!--ContentPresenter that contains the Fixture options -->
<ContentPresenter Name="FixtureParameters" Content="{Binding FixtureParameters ,Mode=OneWay}"/>
</Expander>
<UniformGrid Columns="2">
<RadioButton Content="Move" IsChecked="{Binding MoveIsChecked}"
Style="{StaticResource {x:Type ToggleButton}}" Height="30"/>
Style="{StaticResource {x:Type ToggleButton}}" Height="30"/>
<RadioButton Content="Rotate"
Style="{StaticResource {x:Type ToggleButton}}" Height="30"/>
Style="{StaticResource {x:Type ToggleButton}}" Height="30"/>
</UniformGrid>
<Grid Margin="0,5,0,5" Visibility="{Binding RawRefGroupVisibility}">
@@ -52,28 +52,28 @@
<TextBlock Grid.ColumnSpan="4" Text="Move Raw Reference"/>
<RadioButton Grid.Column="1" Grid.Row="1" Command="{Binding CheckedRawRefCommand}"
CommandParameter="{StaticResource TL}"
Style="{StaticResource {x:Type ToggleButton}}" Height="40" Width="40">
CommandParameter="{StaticResource TL}"
Style="{StaticResource {x:Type ToggleButton}}" Height="40" Width="40">
<Border BorderBrush="{StaticResource EgaltechBlue1}" BorderThickness="5,5,0,0"
Height="30" Width="30"/>
Height="30" Width="30"/>
</RadioButton>
<RadioButton Grid.Column="2" Grid.Row="1" Command="{Binding CheckedRawRefCommand}"
CommandParameter="{StaticResource TR}"
Style="{StaticResource {x:Type ToggleButton}}" Height="40" Width="40">
CommandParameter="{StaticResource TR}"
Style="{StaticResource {x:Type ToggleButton}}" Height="40" Width="40">
<Border BorderBrush="{StaticResource EgaltechBlue1}" BorderThickness="0,5,5,0"
Height="30" Width="30"/>
Height="30" Width="30"/>
</RadioButton>
<RadioButton Grid.Column="1" Grid.Row="2" Command="{Binding CheckedRawRefCommand}"
CommandParameter="{StaticResource BL}" IsChecked="{Binding BLIsChecked,Mode=OneWay}"
Style="{StaticResource {x:Type ToggleButton}}" Height="40" Width="40">
CommandParameter="{StaticResource BL}" IsChecked="{Binding BLIsChecked,Mode=OneWay}"
Style="{StaticResource {x:Type ToggleButton}}" Height="40" Width="40">
<Border BorderBrush="{StaticResource EgaltechBlue1}" BorderThickness="5,0,0,5"
Height="30" Width="30"/>
Height="30" Width="30"/>
</RadioButton>
<RadioButton Grid.Column="2" Grid.Row="2" Command="{Binding CheckedRawRefCommand}"
CommandParameter="{StaticResource BR}"
Style="{StaticResource {x:Type ToggleButton}}" Height="40" Width="40">
CommandParameter="{StaticResource BR}"
Style="{StaticResource {x:Type ToggleButton}}" Height="40" Width="40">
<Border BorderBrush="{StaticResource EgaltechBlue1}" BorderThickness="0,0,5,5"
Height="30" Width="30"/>
Height="30" Width="30"/>
</RadioButton>
</Grid>
@@ -82,18 +82,21 @@
<TextBox Text="{Binding InputValue,UpdateSourceTrigger=PropertyChanged}" Margin="5,0,5,5">
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DoneCommand}"/>
<!--<KeyBinding Key="S" Modifiers="Control" Command="{Binding ShowCommand}"/>-->
</TextBox.InputBindings>
</TextBox>
<TextBlock Text="{Binding InputErrorMsg,Mode=OneWay}" Margin="5,5,5,5"
Style="{StaticResource ValidationErrorTextBlock}"/>
Style="{StaticResource ValidationErrorTextBlock}"/>
<Grid Margin="5,0,5,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<!--<Button Command="{Binding ShowCommand}" Visibility="{Binding ShowBtnVisibility}"
Content="{Binding ShowMsg}" Style="{StaticResource EgtCAM5_InputButton}"/>-->
<Button Command="{Binding DoneCommand}" Grid.Column="1"
Content="{Binding OkMsg}" Style="{StaticResource EgtCAM5_InputButton}"/>
Content="{Binding OkMsg}" Style="{StaticResource EgtCAM5_InputButton}"/>
</Grid>
</StackPanel>
@@ -68,12 +68,12 @@ Public Class DispositionParameterExpanderVM
End If
If m_MoveIsChecked Then
m_RawRefGroupVisibility = Visibility.Visible
OnPropertyChanged(NameOf(RawRefGroupVisibility))
OnPropertyChanged("RawRefGroupVisibility")
End If
Else
' Nascondo i bottoni per impostare la posizione di riferimento del grezzo
m_RawRefGroupVisibility = Visibility.Collapsed
OnPropertyChanged(NameOf(RawRefGroupVisibility))
OnPropertyChanged("RawRefGroupVisibility")
' smarco la prima entità selezionata
EgtResetMark(EgtGetFirstSelectedObj)
EgtDeselectAll()
@@ -81,7 +81,7 @@ Public Class DispositionParameterExpanderVM
End If
m_RawPartIsExpanded = value
ActiveObject = ObjectType.RAWPART
OnPropertyChanged(NameOf(RawPartIsExpanded))
OnPropertyChanged("RawPartIsExpanded")
End If
End Set
End Property
@@ -105,7 +105,7 @@ Public Class DispositionParameterExpanderVM
End If
m_PartIsExpanded = value
ActiveObject = ObjectType.PART
OnPropertyChanged(NameOf(PartIsExpanded))
OnPropertyChanged("PartIsExpanded")
End If
End Set
End Property
@@ -133,7 +133,7 @@ Public Class DispositionParameterExpanderVM
End If
m_FixtureIsExpanded = value
ActiveObject = ObjectType.FIXTURE
OnPropertyChanged(NameOf(FixtureIsExpanded))
OnPropertyChanged("FixtureIsExpanded")
End If
End Set
End Property
@@ -147,22 +147,22 @@ Public Class DispositionParameterExpanderVM
If value <> m_MoveIsChecked Then
Map.refProjectVM.SetMoveInDisposition(value)
InputValue = String.Empty
OnPropertyChanged(NameOf(InputValue))
OnPropertyChanged("InputValue")
If value Then
If m_RawPartIsExpanded Then
m_RawRefGroupVisibility = Visibility.Visible
OnPropertyChanged(NameOf(RawRefGroupVisibility))
OnPropertyChanged("RawRefGroupVisibility")
Else
m_RawRefGroupVisibility = Visibility.Collapsed
OnPropertyChanged(NameOf(RawRefGroupVisibility))
OnPropertyChanged("RawRefGroupVisibility")
End If
m_InputMsg = "Move to:"
Else
m_RawRefGroupVisibility = Visibility.Collapsed
OnPropertyChanged(NameOf(RawRefGroupVisibility))
OnPropertyChanged("RawRefGroupVisibility")
m_InputMsg = "Rotate of:"
End If
OnPropertyChanged(NameOf(InputMsg))
OnPropertyChanged("InputMsg")
m_MoveIsChecked = value
End If
End Set
@@ -176,7 +176,7 @@ Public Class DispositionParameterExpanderVM
Set(value As String)
If Not String.IsNullOrEmpty(m_InputErrorMsg) Then
m_InputErrorMsg = String.Empty
OnPropertyChanged(NameOf(InputErrorMsg))
OnPropertyChanged("InputErrorMsg")
End If
m_InputValue = value
End Set
@@ -205,9 +205,8 @@ Public Class DispositionParameterExpanderVM
Public ReadOnly Property FixtureParameters As ContentControl
Get
If IsNothing(m_FixtureParameters) Then
m_FixtureParameters = New FixtureParametersV With {
.DataContext = New FixtureParametersVM(m_ExpandFixtureFunction)
}
m_FixtureParameters = New FixtureParametersV
m_FixtureParameters.DataContext = New FixtureParametersVM(m_ExpandFixtureFunction)
End If
Return m_FixtureParameters
End Get
@@ -217,9 +216,8 @@ Public Class DispositionParameterExpanderVM
Public ReadOnly Property RawPartOptions As ContentControl
Get
If IsNothing(m_RawPartOptions) Then
m_RawPartOptions = New RawPartOptionV With {
.DataContext = New RawPartOptionVM
}
m_RawPartOptions = New RawPartOptionV
m_RawPartOptions.DataContext = New RawPartOptionVM
End If
Return m_RawPartOptions
End Get
@@ -243,7 +241,7 @@ Public Class DispositionParameterExpanderVM
Public ReadOnly Property OkMsg As String
Get
Return EgtMsg(5431) ' Ok
Return EgtMsg(MSG_DISPOSITION + 1)
End Get
End Property
@@ -259,7 +257,7 @@ Public Class DispositionParameterExpanderVM
OpenDispositionFunction = AddressOf OpenDispositionParameters
MoveIsChecked = True
m_BLIsChecked = True
OnPropertyChanged(NameOf(BLIsChecked))
OnPropertyChanged("BLIsChecked")
m_RawRefPosition = MCH_CR.BL
End Sub
@@ -275,7 +273,7 @@ Public Class DispositionParameterExpanderVM
End If
Select Case m_ActiveObject
Case ObjectType.RAWPART
' Abilito la selezione dei Grezzi
' Abilito la selezione delle Fixture
Map.refProjectVM.SceneSelType = SceneSelTypeOpt.RAWPART
Case ObjectType.FIXTURE
' Abilito la selezione delle Fixture
@@ -319,7 +317,7 @@ Public Class DispositionParameterExpanderVM
StringToLen(Values(1), InputPoint.y)
Else
m_InputErrorMsg = "Il valore non è una cordinata XY"
OnPropertyChanged(NameOf(InputErrorMsg))
OnPropertyChanged("InputErrorMsg")
Return
End If
' Vettore di movimento
@@ -386,7 +384,7 @@ Public Class DispositionParameterExpanderVM
Dim InputAngle As Double = 0
If Not StringToDouble(sVal, InputAngle) Then
m_InputErrorMsg = "Il valore non è un angolo valido"
OnPropertyChanged(NameOf(InputErrorMsg))
OnPropertyChanged("InputErrorMsg")
Return
End If
' eseguo rotazione
@@ -399,14 +397,14 @@ Public Class DispositionParameterExpanderVM
DispositionUtility.VerifyRawPosition(nSelId, vtOrigMove, vtRefMove)
Else
m_InputErrorMsg = "Impossibile ruotare il grezzo."
OnPropertyChanged(NameOf(InputErrorMsg))
OnPropertyChanged("InputErrorMsg")
End If
Case ObjectType.PART
'EgtMove...
Case ObjectType.FIXTURE
If Not EgtRotateFixture(nSelId, InputAngle) Then
m_InputErrorMsg = "Impossibile ruotare la ventosa"
OnPropertyChanged(NameOf(InputErrorMsg))
OnPropertyChanged("InputErrorMsg")
End If
End Select
nSelId = EgtGetNextSelectedObj()
@@ -214,6 +214,10 @@ Public NotInheritable Class DispositionUtility
If Not VerifyRawPartFixturePos(nMoveId, vtMove, vtRefMove) Then
bErrorVerify = True
End If
'Dim sOut As String = "VerifyRaw : Count=" & nCount & " Err=" & If(bErrorVerify, "1", "0") &
' " Move=" & LenToString(vtMove.x, 3) & "," & LenToString(vtMove.y, 3) &
' " RefMove=" & LenToString(vtRefMove.x, 3) & "," & LenToString(vtRefMove.y, 3)
'EgtOutLog(sOut)
End If
End If
' Se non c'è errore ma necessaria correzione riferimento
@@ -771,9 +775,6 @@ Public NotInheritable Class DispositionUtility
m_nUsedHookId = nNearestHookId
' Segno hook come utilizzato
SetHookUsed(m_nUsedHookId, nMoveId, True)
Dim sLinkName As String = ""
EgtGetName( EgtGetParent( m_nUsedHookId), sLinkName)
EgtSetFixtureLink( nMoveId, sLinkName)
Return True
End Function
@@ -1,12 +1,12 @@
<UserControl x:Class="FixtureParametersV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtCAM5="clr-namespace:EgtCAM5">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtCAM5="clr-namespace:EgtCAM5">
<StackPanel>
<ListBox Name="FixtureListBox" ItemsSource="{Binding FixtureTypeList}"
Height="150" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding SelectedFixtureType}">
Height="150" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding SelectedFixtureType}">
<ListBox.Resources>
<DataTemplate DataType="{x:Type EgtCAM5:FixtureType}">
<Grid>
@@ -24,7 +24,7 @@
<Border CornerRadius="1" Background="{StaticResource EgaltechBlue3}" FocusVisualStyle="{x:Null}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" Foreground="White" Margin="5,0,0,0"
FontSize="15" FontWeight="SemiBold"/>
FontSize="15" FontWeight="SemiBold"/>
</StackPanel>
</Border>
</DataTemplate>
@@ -38,15 +38,15 @@
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
<TextBlock Text="{Binding FixtureErrorMsg,Mode=OneWay}" Margin="5,5,5,5"
Style="{StaticResource ValidationErrorTextBlock}"/>
Style="{StaticResource ValidationErrorTextBlock}"/>
<UniformGrid Columns="2">
<Button Content="Add" Height="30" Command="{Binding AddCommand}" CommandParameter="{Binding Path=SelectedItem, ElementName=FixtureListBox}"/>
<Button Content="Remove" Height="30" Command="{Binding RemoveCommand}" CommandParameter="{Binding Path=SelectedItem, ElementName=FixtureListBox}"/>
</UniformGrid>
</StackPanel>
</UserControl>
@@ -36,7 +36,7 @@ Public Class FixtureParametersVM
Public ReadOnly Property OkMsg As String
Get
Return EgtMsg(5431) ' Ok
Return EgtMsg(MSG_DISPOSITION + 1)
End Get
End Property
@@ -62,8 +62,8 @@ Public Class FixtureParametersVM
Dim nUsedFixtureId As Integer = EgtGetFirstFixture()
While nUsedFixtureId <> GDB_ID.NULL
Dim sUsedFixtureName As String = String.Empty
EgtGetName(nUsedFixtureId, sUsedFixtureName)
For Index = 0 To m_FixtureTypeList.Count - 1
EgtGetName(nUsedFixtureId, sUsedFixtureName)
If sUsedFixtureName = m_FixtureTypeList(Index).Name Then
Dim CurrFixtureType As FixtureType = DirectCast(m_FixtureTypeList(Index), FixtureType)
CurrFixtureType.UsedNumber += 1
@@ -76,8 +76,7 @@ Public Class FixtureParametersVM
Friend Sub UpdateFixtureTypeList()
m_FixtureTypeList = New ObservableCollection(Of FixtureListItem)(FixtureType.ReadFixtureTypeFromMachIni())
UpdateFixtureCount()
OnPropertyChanged(NameOf(FixtureTypeList))
OnPropertyChanged("FixtureTypeList")
End Sub
' Definizione comandi
@@ -116,9 +115,9 @@ Public Class FixtureParametersVM
' recupero area della tavola
Dim ptTableMin As Point3d
Dim ptTableMax As Point3d
If Not EgtGetTableArea(1, ptTableMin, ptTableMax) Then
if Not EgtGetTableArea(1, ptTableMin, ptTableMax) Then
m_FixtureErrorMsg = "Tavola non definita"
OnPropertyChanged(NameOf(FixtureErrorMsg))
OnPropertyChanged("FixtureErrorMsg")
Return
End If
' dimensioni tavola
@@ -129,7 +128,7 @@ Public Class FixtureParametersVM
Dim nAddedFixtureId As Integer = EgtAddFixture(SelectedFixture.Name, ptTableMid, 0, 20)
If nAddedFixtureId = GDB_ID.NULL Then
m_FixtureErrorMsg = "Impossibile posizionare la ventosa sulla tavola"
OnPropertyChanged(NameOf(FixtureErrorMsg))
OnPropertyChanged("FixtureErrorMsg")
Return
End If
' Se la ventosa ha punti di hook da ancorare
@@ -141,7 +140,6 @@ Public Class FixtureParametersVM
If Not PositionFixtureOnNearestHook(nAddedFixtureId) Then
' non ci sono punti liberi, quindi rimuovo la ventosa e segnalo
EgtRemoveFixture(nAddedFixtureId)
EgtSetFixtureLink( nAddedFixtureId, "")
MessageBox.Show("No free hook point!", "ERROR")
Return
End If
@@ -160,7 +158,7 @@ Public Class FixtureParametersVM
' sottraggo la ventosa aggiunta dal conto di quelle disponibili
SelectedFixture.UsedNumber += 1
EgtDraw()
OnPropertyChanged(NameOf(FixtureErrorMsg))
OnPropertyChanged("FixtureErrorMsg")
End Sub
' Funzione che cerca una posizione valida per la ventosa libera di muoversi
@@ -299,7 +297,6 @@ Public Class FixtureParametersVM
Else
DispositionUtility.AddHookUsed( nCurrHookId, nFixtureId)
End If
EgtSetFixtureLink( nFixtureId, "")
Return True
Else
EgtStartPoint(nFixtHookId, GDB_ID.ROOT, ptFixtHook)
@@ -323,7 +320,6 @@ Public Class FixtureParametersVM
Else
DispositionUtility.AddHookUsed( nCurrHookId, nFixtureId)
End If
EgtSetFixtureLink( nFixtureId, "")
Return True
Else
EgtStartPoint(nFixtHookId, GDB_ID.ROOT, ptFixtHook)
@@ -352,7 +348,6 @@ Public Class FixtureParametersVM
Else
DispositionUtility.AddHookUsed( nCurrHookId, nFixtureId)
End If
EgtSetFixtureLink( nFixtureId, sBarName)
Return True
Else
EgtStartPoint(nFixtHookId, GDB_ID.ROOT, ptFixtHook)
@@ -378,7 +373,6 @@ Public Class FixtureParametersVM
Else
DispositionUtility.AddHookUsed( nCurrHookId, nFixtureId)
End If
EgtSetFixtureLink( nFixtureId, sCharName)
Return True
Else
EgtStartPoint(nFixtHookId, GDB_ID.ROOT, ptFixtHook)
@@ -491,7 +485,7 @@ Public Class FixtureType
Set(value As Integer)
If value <> m_TotalNumber Then
m_TotalNumber = value
NotifyPropertyChanged(NameOf(UsedTotalRatio))
NotifyPropertyChanged("UsedTotalRatio")
End If
End Set
End Property
@@ -502,15 +496,15 @@ Public Class FixtureType
Set(value As Integer)
If value <> m_UsedNumber Then
m_UsedNumber = value
NotifyPropertyChanged(NameOf(UsedTotalRatio))
NotifyPropertyChanged("UsedTotalRatio")
If UsedNumber >= TotalNumber Then
m_IsEnabled = False
m_IsSelected = False
NotifyPropertyChanged(NameOf(IsSelected))
NotifyPropertyChanged("IsSelected")
Else
m_IsEnabled = True
End If
NotifyPropertyChanged(NameOf(IsEnabled))
NotifyPropertyChanged("IsEnabled")
End If
End Set
End Property
@@ -7,7 +7,7 @@
<CheckBox Content="Move with Fixture" IsChecked="{Binding MoveWithFixture, Mode=TwoWay}"/>
<UniformGrid Columns="2" Margin="0,5,0,0">
<Button Content="New" Command="{Binding NewRawPartCommand}"/>
<Button Content="Remove" Command="{Binding RemoveRawPartCommand}"/>
<Button Content="Remove"/> <!--Command="{Binding RemoveRawPartCommand}"-->
</UniformGrid>
<Grid Visibility="{Binding RawPartParamVisibility, Mode=OneWay}">
<Grid.RowDefinitions>
@@ -1,4 +1,5 @@
Imports EgtUILib
Imports System.ComponentModel
Imports EgtUILib
Public Class RawPartOptionVM
Inherits ViewModelBase
@@ -34,7 +35,7 @@ Public Class RawPartOptionVM
End If
EgtDraw()
m_MoveWithFixture = value
OnPropertyChanged(NameOf(MoveWithFixture))
OnPropertyChanged("MoveWithFixture")
End If
End Set
End Property
@@ -55,32 +56,32 @@ Public Class RawPartOptionVM
Public ReadOnly Property NewMsg As String
Get
Return EgtMsg(5433) ' Nuovo
Return EgtMsg(MSG_DISPOSITION + 3)
End Get
End Property
Public ReadOnly Property RemoveMsg As String
Get
Return EgtMsg(5434) ' Rimuovi
Return EgtMsg(MSG_DISPOSITION + 4)
End Get
End Property
Public ReadOnly Property LenghtMsg As String
Get
Return EgtMsg(5435) ' Lunghezza
Return EgtMsg(MSG_DISPOSITION + 5)
End Get
End Property
Public ReadOnly Property WidthMsg As String
Get
Return EgtMsg(5436) ' Larghezza
Return EgtMsg(MSG_DISPOSITION + 6)
End Get
End Property
Public ReadOnly Property HeightMsg As String
Get
Return EgtMsg(5437) ' Altezza
Return EgtMsg(MSG_DISPOSITION + 7)
End Get
End Property
Public ReadOnly Property PositionMsg As String
Get
Return EgtMsg(5438) ' Posizione
Return EgtMsg(MSG_DISPOSITION + 8)
End Get
End Property
@@ -116,46 +117,16 @@ Public Class RawPartOptionVM
End Property
''' <summary>
''' Execute NewRawPart. This method is invoked by the DoneCommand.
''' Execute the Point. This method is invoked by the DoneCommand.
''' </summary>
Public Sub NewRawPart()
DispositionUtility.ShowParts()
m_bRawPartParamVisibility = Visibility.Visible
OnPropertyChanged(NameOf(RawPartParamVisibility))
OnPropertyChanged("RawPartParamVisibility")
End Sub
#End Region ' NewRawPartCommand
#Region "RemoveRawPartCommand"
''' <summary>
''' Returns a command that do Done.
''' </summary>
Public ReadOnly Property RemoveRawPartCommand As ICommand
Get
If m_cmdRemoveRawPart Is Nothing Then
m_cmdRemoveRawPart = New RelayCommand(AddressOf RemoveRawPart)
End If
Return m_cmdRemoveRawPart
End Get
End Property
''' <summary>
''' Execute RemoveRawPart. This method is invoked by the DoneCommand.
''' </summary>
Public Sub RemoveRawPart()
' ciclo sui grezzi selezionati
Dim nSelRawPartId As Integer = EgtGetFirstSelectedObj()
While nSelRawPartId <> GDB_ID.NULL
' rimuovo il grezzo dalla disposizione
EgtRemoveRawPart(nSelRawPartId)
nSelRawPartId = EgtGetNextSelectedObj()
End While
EgtDraw()
End Sub
#End Region ' RemoveRawPartCommand
#End Region ' Commands
End Class
@@ -1,12 +1,76 @@
<UserControl x:Class="BeamMillingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -45,6 +109,34 @@
Visibility="{Binding SysNotes_Visibility}"
IsReadOnly="True"/>
</UniformGrid>
<EgtWPFLib5:CheckParamV ParamTxBl="{Binding InvertTxBl}"
ParamChBx="{Binding Path=Invert,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource CheckParamV_Margin}"/>
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding WorkSideTxBl}"
ParamCmBxList="{Binding Path=WorkSideList,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamCmBxSelIndex="{Binding Path=SelectedWorkSide}"
Style="{DynamicResource ComboParamV_Margin}"/>
<UniformGrid Columns="2">
<TextBlock Text="{Binding UserNotesTxBl}"
Style="{DynamicResource MPExpander_UserNotesTxBlMargin}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding UserNotes, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource MPExpander_UserNotesTxBxMargin}">
<EgtWPFLib5:EgtTextBox.ToolTip>
<TextBlock Text="{Binding UserNotesTooltip}"/>
</EgtWPFLib5:EgtTextBox.ToolTip>
</EgtWPFLib5:EgtTextBox>
<TextBlock Text="{Binding SystemNotesTxBl}"
Style="{DynamicResource MPExpander_UserNotesTxBlMargin}"
Visibility="{Binding SysNotes_Visibility}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding SystemNotes, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource MPExpander_UserNotesTxBxMargin}"
Visibility="{Binding SysNotes_Visibility}"
IsReadOnly="True"/>
</UniformGrid>
</StackPanel>
<StackPanel Name="AutomaticCloseExpanderStackPanel">
<Expander Header="{Binding GenericExpanderHeader}" Name="GenericExpander"
@@ -172,7 +264,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -202,6 +294,43 @@
</Grid>
</Expander>
<Expander Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding LeadInTypeTxBl}"
ParamCmBxList="{Binding Path=LeadInTypeList,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamCmBxSelIndex="{Binding Path=SelectedLeadInType}"
Style="{DynamicResource ComboParamV_Margin}"/>
</Expander.Header>
<StackPanel>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding StartAddLenTxBl}"
ParamTxBx="{Binding Path=StartAddLen,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LiTangTxBl}"
ParamTxBx="{Binding Path=LiTang,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LiPerpTxBl}"
ParamTxBx="{Binding Path=LiPerp,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LiElevTxBl}"
ParamTxBx="{Binding Path=LiElev,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LiCompLenTxBl}"
ParamTxBx="{Binding Path=LiCompLen,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
</StackPanel>
</Expander>
<Expander Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding LeadInTypeTxBl}"
@@ -240,6 +369,43 @@
</StackPanel>
</Expander>
<Expander Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding LeadOutTypeTxBl}"
ParamCmBxList="{Binding Path=LeadOutTypeList,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamCmBxSelIndex="{Binding Path=SelectedLeadOutType}"
Style="{DynamicResource ComboParamV_Margin}"/>
</Expander.Header>
<StackPanel>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding EndAddLenTxBl}"
ParamTxBx="{Binding Path=EndAddLen,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LoTangTxBl}"
ParamTxBx="{Binding Path=LoTang,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LoPerpTxBl}"
ParamTxBx="{Binding Path=LoPerp,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LoElevTxBl}"
ParamTxBx="{Binding Path=LoElev,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LoCompLenTxBl}"
ParamTxBx="{Binding Path=LoCompLen,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
</StackPanel>
</Expander>
<Expander Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding LeadOutTypeTxBl}"
@@ -278,6 +444,53 @@
</StackPanel>
</Expander>
<Expander Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<EgtWPFLib5:CheckParamV ParamTxBl="{Binding LeaveTabTxBl}"
ParamChBx="{Binding Path=LeaveTab,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource CheckParamV_Margin}"/>
</Expander.Header>
<StackPanel Margin="2">
<EgtWPFLib5:StringParamV ParamTxBl="{Binding TabLenTxBl}"
ParamTxBx="{Binding Path=TabLen,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamErrorMsg="{Binding Path=TabLenErrorMsg}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding TabHeightTxBl}"
ParamTxBx="{Binding Path=TabHeight,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamErrorMsg="{Binding Path=TabHeightErrorMsg}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding TabAngleTxBl}"
ParamTxBx="{Binding Path=TabAngle,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamErrorMsg="{Binding Path=TabAngleErrorMsg}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding TabDistTxBl}"
ParamTxBx="{Binding Path=TabDist,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamErrorMsg="{Binding Path=TabDistErrorMsg}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding TabMinTxBl}"
ParamTxBx="{Binding Path=TabMin,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamErrorMsg="{Binding Path=TabMinErrorMsg}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding TabMaxTxBl}"
ParamTxBx="{Binding Path=TabMax,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamErrorMsg="{Binding Path=TabMaxErrorMsg}"
Style="{DynamicResource StringParamV_Margin}"/>
</StackPanel>
</Expander>
<Expander Style="{StaticResource ExpanderStyle}">
<Expander.Header>
<EgtWPFLib5:CheckParamV ParamTxBl="{Binding LeaveTabTxBl}"
@@ -358,7 +571,7 @@
Style="{DynamicResource StringParamV_Margin}"/>
</StackPanel>
</Expander>
<Interactivity:Interaction.Behaviors>
<EgtCAM5:AutomaticCloseExpander/>
</Interactivity:Interaction.Behaviors>
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class BeamMillingParameterExpanderV
@@ -7,7 +7,70 @@
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -161,7 +224,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class ChiselingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="FiveAxisMachinigParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -80,4 +80,16 @@ Public Class FiveAxisMachinigParameterExpanderV
Return TryCast(target, T)
End Function
Private Sub StackPanel_PreviewKeyDown(sender As Object, e As KeyEventArgs)
If e.Key = Key.Tab Then
Dim s As EgtWPFLib5.StringParamV = TryCast(e.OriginalSource, EgtWPFLib5.StringParamV)
If Not IsNothing(s) Then
s.MoveFocus(New TraversalRequest(FocusNavigationDirection.Next))
End If
e.Handled = True
End If
End Sub
End Class
@@ -1,12 +1,76 @@
<UserControl x:Class="GenMachiningParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -150,7 +214,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class GenMachiningParameterExpanderV
@@ -1,10 +1,78 @@
<UserControl x:Class="MachiningParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtCAM5="clr-namespace:EgtCAM5">
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
<sys:Int32 x:Key="TabMax">62</sys:Int32>
<sys:Int32 x:Key="TabMin">63</sys:Int32>
</UserControl.Resources>
<StackPanel>
@@ -1,3 +1,6 @@
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class MachiningParameterExpanderV
Sub New()
@@ -1,4 +1,6 @@
Imports EgtUILib
Imports System.ComponentModel
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class MachiningParameterExpanderVM
@@ -72,7 +74,7 @@ Public Class MachiningParameterExpanderVM
End Property
Friend Sub SetViewTool(value As Boolean)
ViewTool = value
NotifyPropertyChanged(NameOf(ViewTool))
NotifyPropertyChanged("ViewTool")
End Sub
' Slider per muovere l'utensile in aggiunta ai pulsanti indietro e avanti
@@ -83,15 +85,15 @@ Public Class MachiningParameterExpanderVM
End Get
End Property
Friend Sub SetSliderScale(value As Integer)
m_SliderScale = Math.Max(value, 1)
m_SliderScale = Math.Max( value, 1)
If m_SliderScale <= 10 Then
m_SliderTick = 1
Else
m_SliderTick = CInt(m_SliderScale / 10)
m_SliderTick = CInt( m_SliderScale / 10)
End If
NotifyPropertyChanged(NameOf(SliderScale))
NotifyPropertyChanged(NameOf(SliderTick))
End Sub
NotifyPropertyChanged( NameOf(SliderScale))
NotifyPropertyChanged( NameOf(SliderTick))
End Sub
Private m_SliderTick As Integer = 10
Public ReadOnly Property SliderTick As Integer
@@ -276,6 +278,9 @@ Public Class MachiningParameterExpanderVM
SurfRoughExpanderV.DataContext = m_CurrOperation
Return SurfRoughExpanderV
End Select
'MachiningParameterExpanderItem.ReadOperationParam()
Return Nothing
End Get
End Property
@@ -284,25 +289,25 @@ Public Class MachiningParameterExpanderVM
Public ReadOnly Property UpdateMachiningBtnMsg As String
Get
Return EgtMsg(5403) ' Applica Lavorazione
Return EgtMsg(MSG_OPERATION + 3) 'Applica Lavorazione
End Get
End Property
Public ReadOnly Property ViewToolBtnMsg As String
Get
Return EgtMsg(5413) ' Anteprima Utensile
Return EgtMsg(MSG_OPERATION + 13) 'Anteprima Utensile
End Get
End Property
Public ReadOnly Property NextStepToolBtnMsg As String
Get
Return EgtMsg(5414) ' Avanti
Return EgtMsg(MSG_OPERATION + 14) 'Avanti
End Get
End Property
Public ReadOnly Property PrevStepToolBtnMsg As String
Get
Return EgtMsg(5415) ' Indietro
Return EgtMsg(MSG_OPERATION + 15) 'Indietro
End Get
End Property
@@ -318,7 +323,7 @@ Public Class MachiningParameterExpanderVM
Sub New()
EgtWPFLib5.MachiningDbWindowVM.m_sMachineIniPath = IniFile.m_sCurrMachIniFilePath
Map.SetRefMachiningParameterExpanderVM(Me)
NotifyPropertyChanged(NameOf(ParamExpanderPageV))
NotifyPropertyChanged("ParamExpanderPageV")
End Sub
#End Region ' Constructor
@@ -362,8 +367,7 @@ Public Class MachiningParameterExpanderVM
sErrorList += Environment.NewLine + " - " + m_CurrOperation.GetErrorString([property])
End If
Next [property]
'MessageBox.Show(EgtMsg(5423) + sErrorList, EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Exclamation)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5423) + sErrorList, EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Exclamation) ' La lavorazione non può essere applicata per i seguenti motivi: ATTENZIONE
MessageBox.Show(EgtMsg(5423) + sErrorList, EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Exclamation)
Return
End If
@@ -442,12 +446,10 @@ Public Class MachiningParameterExpanderVM
Dim sInfo As String = String.Empty
EgtGetOutstrokeInfo(sInfo)
If Not String.IsNullOrEmpty(sInfo) Then sErr &= " " & sInfo
'MessageBox.Show(sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation)
EgtMessageBoxV.Show(Application.Current.MainWindow, sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation) ' ERRORE
MessageBox.Show(sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation)
Else
' Errore nel calcolo della lavorazione!
'MessageBox.Show(EgtMsg(5345), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5345), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore nel calcolo della lavorazione! ERRORE
MessageBox.Show(EgtMsg(5345), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error)
End If
Else
If EgtGetMachMgrWarningId(0) <> 0 Then
@@ -472,16 +474,67 @@ Public Class MachiningParameterExpanderVM
Private Sub IsModified(IsModified As Boolean) Handles m_CurrOperation.m_IsModified
m_CurrOperation_IsModified = IsModified
NotifyPropertyChanged(NameOf(UpdateMachiningBtn_Background))
' NotifyPropertyChanged("CurrOperation_IsModified")
NotifyPropertyChanged("UpdateMachiningBtn_Background")
End Sub
Private Sub ErrorOnOperation(ErrorOnOperation As Boolean) Handles m_CurrOperation.m_ErrorOnOperation
m_CurrOperation_ErrorOnOperation = ErrorOnOperation
NotifyPropertyChanged(NameOf(UpdateMachiningBtn_Background))
' NotifyPropertyChanged("CurrOperation_ErrorOnOperation")
NotifyPropertyChanged("UpdateMachiningBtn_Background")
End Sub
End Class
''' <summary>
''' Class that represent a Converter that use machining type and param type, to set the visibility state of the param type.
''' </summary>
Public Class OperationParamVisibilityConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
Select Case CInt(value)
Case MCH_OY.NONE
Return Visibility.Hidden
Case MCH_OY.DISP
Return TMDbParamVisibility.OperationDisposition(CInt(parameter))
Case MCH_OY.DRILLING
Return TMDbParamVisibility.Drilling(CInt(parameter))
Case MCH_OY.SAWING
Return TMDbParamVisibility.Sawing(CInt(parameter))
Case MCH_OY.MILLING
Return TMDbParamVisibility.Milling(CInt(parameter))
Case MCH_OY.POCKETING
Return TMDbParamVisibility.Pocketing(CInt(parameter))
Case MCH_OY.MORTISING
Return TMDbParamVisibility.Mortising(CInt(parameter))
Case MCH_OY.SAWROUGHING
Return TMDbParamVisibility.Sawroughing(CInt(parameter))
Case MCH_OY.SAWFINISHING
Return TMDbParamVisibility.Sawfinishing(CInt(parameter))
Case MCH_OY.GENMACHINING
Return TMDbParamVisibility.GenMachining(CInt(parameter))
Case MCH_OY.CHISELING
Return TMDbParamVisibility.Chiseling(CInt(parameter))
Case MCH_OY.SURFFINISHING
Return TMDbParamVisibility.SurfFinishing(CInt(parameter))
Case MCH_OY.SURFROUGHING
Return TMDbParamVisibility.SurfRoughing(CInt(parameter))
Case MCH_OY.WATERJETTING
Return TMDbParamVisibility.WaterJetting(CInt(parameter))
Case MCH_OY.FIVEAXISMILLING
Return TMDbParamVisibility.FiveAxMachining(CInt(parameter))
Case Else
Return Visibility.Hidden
End Select
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
Throw New NotImplementedException
End Function
End Class
''' <summary>
''' Class that represent a Converter that convert mm in inch if necessary for the param depth.
''' </summary>
@@ -1,12 +1,76 @@
<UserControl x:Class="MortisingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -168,7 +232,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class MortisingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="PocketingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -65,13 +129,13 @@
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding OffsetSrTxBl}"
ParamTxBx="{Binding Path=OffSr,
<EgtWPFLib5:StringParamV ParamTxBl="{Binding OffsetSlTxBl}"
ParamTxBx="{Binding Path=OffSl,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding OffsetSlTxBl}"
ParamTxBx="{Binding Path=OffSl,
<EgtWPFLib5:StringParamV ParamTxBl="{Binding OffsetSrTxBl}"
ParamTxBx="{Binding Path=OffSr,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
@@ -177,7 +241,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class PocketingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="StoneDrillingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -149,7 +213,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class StoneDrillingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="StoneMillingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -153,7 +217,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class StoneMillingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="StoneSawFinishingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -147,7 +211,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class StoneSawFinishingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="StoneSawRoughingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -145,7 +209,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class StoneSawRoughingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="StoneSawingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -153,7 +217,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class StoneSawingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="SurfFinishingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -60,6 +124,12 @@
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
Style="{DynamicResource StringParamV_Margin}"/>
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding LeadLinkTypeTxBl}"
ParamCmBxList="{Binding Path=LeadLinkTypeList,
UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"
ParamCmBxSelIndex="{Binding Path=SelectedLeadLinkType}"
Style="{DynamicResource ComboParamV_Margin}"/>
<EgtWPFLib5:StringParamV ParamTxBl="{Binding SideAngleTxBl}"
ParamTxBx="{Binding Path=SideAngle,
UpdateSourceTrigger=PropertyChanged,
@@ -160,7 +230,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class SurfFinishingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="SurfRoughingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -1,12 +1,76 @@
<UserControl x:Class="WaterjettingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -135,7 +199,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class WaterjettingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="WoodDrillingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -154,7 +218,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"
@@ -1,4 +1,5 @@
Imports EgtWPFLib5.EgtFloating
Imports EgtWPFLib5
Imports EgtWPFLib5.EgtFloating
Public Class WoodDrillingParameterExpanderV
@@ -1,12 +1,76 @@
<UserControl x:Class="WoodMillingParameterExpanderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<UserControl.Resources>
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLapStr">47</sys:Int32>
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadIn">55</sys:Int32>
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
</UserControl.Resources>
<StackPanel Name="OperationParametersStackPanel">
@@ -172,7 +236,7 @@
IsReadOnly="False"/>
</TabItem>
<TabItem Header="CHECKBOX">
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox IsChecked="{Binding Value}"/>
</TabItem>
</TabControl>
<Button Command="{Binding RemoveItemNoteCommand}"

Some files were not shown because too many files have changed in this diff Show More