Compare commits
60 Commits
MinorFix
...
NewInterface
| Author | SHA1 | Date | |
|---|---|---|---|
| 54c5d41c67 | |||
| 0c2a5343ee | |||
| cbedfdc767 | |||
| 55da29a72c | |||
| 93864624fd | |||
| becbf3c682 | |||
| da22e9217c | |||
| f7b4f710ef | |||
| 08088592f9 | |||
| ad24522010 | |||
| 8a1186676f | |||
| 1f0fd32470 | |||
| 2b4d5f9c92 | |||
| 7592a8d888 | |||
| e621fb46d0 | |||
| 94e9952e82 | |||
| 71ad5dd682 | |||
| c9102a5602 | |||
| 1a34b2fef9 | |||
| a257412294 | |||
| daabc36730 | |||
| ed1ac1b238 | |||
| 503616820b | |||
| 84863dc5d5 | |||
| 0e09b44db3 | |||
| ef883cb163 | |||
| 7934ad8fd5 | |||
| 2631c94c03 | |||
| 5db3c25d77 | |||
| ba92a9098d | |||
| 5ef1a25bb5 | |||
| ee58cd36f0 | |||
| 1fae546b34 | |||
| 00dbe5f522 | |||
| e4b20c596a | |||
| 341eab87ab | |||
| b76ddfd303 | |||
| fa120a280c | |||
| 99bcefcfe8 | |||
| 704a4becb4 | |||
| b3d50be2f9 | |||
| 629d16b4f1 | |||
| ea551e25e5 | |||
| 55d69bdcf7 | |||
| 34c4d1e644 | |||
| 95e5751c3d | |||
| ff180ec2a4 | |||
| 3b6accaa20 | |||
| 80bcd2f225 | |||
| 40970b417a | |||
| 0be02be5f7 | |||
| a52227b1ea | |||
| e13c3bf106 | |||
| 20bb3dae68 | |||
| 970a11c758 | |||
| ba09f8634e | |||
| 7c277f129b | |||
| 503d91396e | |||
| ac401afe20 | |||
| e2fbc74a58 |
@@ -1,52 +1,81 @@
|
||||
<Window x:Class="AboutBoxV"
|
||||
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="486"
|
||||
Width="735"
|
||||
WindowStyle="None"
|
||||
ResizeMode="NoResize"
|
||||
AllowsTransparency="True"
|
||||
Background="Transparent"
|
||||
ShowInTaskbar="False"
|
||||
WindowStartupLocation="CenterOwner">
|
||||
|
||||
<Border BorderThickness="2" BorderBrush="LightBlue">
|
||||
<Border Style="{StaticResource WhiteBottomBlueRow_Border}">
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
<ColumnDefinition Width="5*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="0.25*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
<RowDefinition Height="2.5*"/>
|
||||
<RowDefinition Height="0.35*"/>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
<RowDefinition Height="0.35*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid Grid.Column="1" Grid.Row="1">
|
||||
<Grid Grid.Column="3" Grid.Row="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="3*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="50"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border Name="LogoBrd" Grid.Column="1" Background="White">
|
||||
<Image Source="/Resources/AboutBoxImage.png" Stretch="Uniform"/>
|
||||
</Border>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Image Grid.RowSpan="2"
|
||||
Source="/Resources/AboutBox/IcarusLogo.png"
|
||||
Height="65"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
<TextBlock Grid.Column="2"
|
||||
Name="DescriptionLbl"
|
||||
VerticalAlignment="Bottom"
|
||||
Style="{StaticResource Version_AboutBox_TextBlock}"/>
|
||||
<TextBlock Grid.Column="2"
|
||||
Grid.Row="1"
|
||||
Name="VersionLbl"
|
||||
VerticalAlignment="Top"
|
||||
Style="{StaticResource Version_AboutBox_TextBlock}"/>
|
||||
</Grid>
|
||||
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" FontSize="18" />
|
||||
<TextBlock Name="VersionLbl" Grid.Column="1" Grid.Row="4" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" FontSize="18"/>
|
||||
<TextBlock Name="CopyrightLbl" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" FontSize="12" />
|
||||
<TextBox Name="InfoLbl" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch" FontSize="12" IsReadOnly="True" TextWrapping="Wrap"/>
|
||||
<Button Name="ExitBtn" Grid.Column="1" Grid.Row="8" IsCancel="True"
|
||||
Margin="100,0"/>
|
||||
|
||||
<Image Grid.Column="1"
|
||||
Grid.Row="3"
|
||||
Source="/Resources/AboutBox/EgalwareLogo.png"
|
||||
Height="190"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
<TextBox Name="InfoLbl"
|
||||
Grid.Column="3"
|
||||
Grid.Row="3"
|
||||
Style="{StaticResource AboutBox_TextBox}"/>
|
||||
<TextBlock Name="CopyrightLbl"
|
||||
Grid.Column="3"
|
||||
Grid.Row="5"
|
||||
Style="{StaticResource Copyright_AboutBox_TextBlock}"/>
|
||||
<Button Grid.Column="3"
|
||||
Grid.Row="7"
|
||||
IsCancel="True"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
</Border>
|
||||
|
||||
</Window>
|
||||
|
||||
@@ -16,30 +16,29 @@ Public Class AboutBoxV
|
||||
Dim sKlev As String = Map.refMainWindowVM.MainWindowM.nKeyLevel.ToString()
|
||||
Dim sOpts As String = Map.refMainWindowVM.MainWindowM.nKeyOptions.ToString()
|
||||
Dim sLeftDays As String = ""
|
||||
Dim nLeftDays As Integer
|
||||
if EgtGetKeyLeftDays( nLeftDays) AndAlso nLeftDays < 500 Then sLeftDays= " (" & nLeftDays.ToString() & ")"
|
||||
sInfo = If( EgtIsDebug(), "*** Debug Libraries ***" & Environment.NewLine, "")
|
||||
Dim nLeftDays As Integer
|
||||
If EgtGetKeyLeftDays(nLeftDays) AndAlso nLeftDays < 500 Then sLeftDays = " (" & nLeftDays.ToString() & ")"
|
||||
sInfo = If(EgtIsDebug(), "*** Debug Libraries ***" & Environment.NewLine, "")
|
||||
sInfo &= "User " & Environment.MachineName & "\" & Environment.UserName &
|
||||
" Inst" & Map.refMainWindowVM.MainWindowM.nInstance.ToString() &
|
||||
" Ulv" & Map.refMainWindowVM.MainWindowM.nUserLevel.ToString() &
|
||||
" Dbg" & Map.refMainWindowVM.MainWindowM.DebugLevel().ToString() & Environment.NewLine
|
||||
" Dbg" & Map.refMainWindowVM.MainWindowM.DebugLevel().ToString() & Environment.NewLine
|
||||
sInfo &= sKey & " - " & sKlev & " - " & sOpts & sLeftDays & Environment.NewLine
|
||||
sInfo &= "DataRoot " & Map.refMainWindowVM.MainWindowM.sDataRoot & Environment.NewLine
|
||||
sInfo &= "MachinesRoot " & Map.refMainWindowVM.MainWindowM.sMachinesRoot & Environment.NewLine
|
||||
Dim sOpSys As String = String.Empty
|
||||
EgtGetOsInfo( sOpSys)
|
||||
EgtGetOsInfo(sOpSys)
|
||||
sInfo &= sOpSys & Environment.NewLine
|
||||
Dim sCPU As String = String.Empty
|
||||
EgtGetCpuInfo( sCPU)
|
||||
EgtGetCpuInfo(sCPU)
|
||||
sInfo &= sCPU & Environment.NewLine
|
||||
Dim sMem As String = String.Empty
|
||||
EgtGetMemoryInfo( sMem)
|
||||
EgtGetMemoryInfo(sMem)
|
||||
sInfo &= sMem & Environment.NewLine
|
||||
Dim sScene As String = String.Empty
|
||||
EgtGetSceneInfo(sScene)
|
||||
sInfo &= sScene
|
||||
InfoLbl.Text = sInfo
|
||||
ExitBtn.Content = EgtMsg(MSG_MISSINGKEYWD + 4) 'Ok
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
Imports System.Globalization
|
||||
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox
|
||||
Imports System.Windows.Media.Media3D
|
||||
|
||||
Public Module TreeViewItemHelper
|
||||
|
||||
' Gestione MouseOver come in ListBox
|
||||
Private CurrentItem As TreeViewItem
|
||||
Private ReadOnly UpdateOverItemEvent As RoutedEvent = EventManager.RegisterRoutedEvent("UpdateOverItem", RoutingStrategy.Bubble, GetType(RoutedEventHandler), GetType(TreeViewItemHelper))
|
||||
Private ReadOnly IsMouseDirectlyOverItemKey As DependencyPropertyKey = DependencyProperty.RegisterAttachedReadOnly("IsMouseDirectlyOverItem", GetType(Boolean), GetType(TreeViewItemHelper), New FrameworkPropertyMetadata(Nothing, New CoerceValueCallback(AddressOf CalculateIsMouseDirectlyOverItem)))
|
||||
Public ReadOnly IsMouseDirectlyOverItemProperty As DependencyProperty = IsMouseDirectlyOverItemKey.DependencyProperty
|
||||
|
||||
Sub New()
|
||||
EventManager.RegisterClassHandler(GetType(TreeViewItem), UIElement.MouseEnterEvent, New MouseEventHandler(AddressOf OnMouseTransition), True)
|
||||
EventManager.RegisterClassHandler(GetType(TreeViewItem), UIElement.MouseLeaveEvent, New MouseEventHandler(AddressOf OnMouseTransition), True)
|
||||
EventManager.RegisterClassHandler(GetType(TreeViewItem), UpdateOverItemEvent, New RoutedEventHandler(AddressOf OnUpdateOverItem))
|
||||
End Sub
|
||||
|
||||
Function GetIsMouseDirectlyOverItem(ByVal obj As DependencyObject) As Boolean
|
||||
Return CBool(obj.GetValue(IsMouseDirectlyOverItemProperty))
|
||||
End Function
|
||||
|
||||
Private Function CalculateIsMouseDirectlyOverItem(ByVal item As DependencyObject, ByVal value As Object) As Object
|
||||
Return item Is CurrentItem
|
||||
End Function
|
||||
|
||||
Private Sub OnUpdateOverItem(ByVal sender As Object, ByVal e As RoutedEventArgs)
|
||||
CurrentItem = TryCast(sender, TreeViewItem)
|
||||
CurrentItem.InvalidateProperty(IsMouseDirectlyOverItemProperty)
|
||||
e.Handled = True
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseTransition(ByVal sender As Object, ByVal e As MouseEventArgs)
|
||||
SyncLock IsMouseDirectlyOverItemProperty
|
||||
|
||||
If Not IsNothing(CurrentItem) Then
|
||||
Dim oldItem As DependencyObject = CurrentItem
|
||||
CurrentItem = Nothing
|
||||
oldItem.InvalidateProperty(IsMouseDirectlyOverItemProperty)
|
||||
End If
|
||||
|
||||
Mouse.DirectlyOver?.RaiseEvent(New RoutedEventArgs(UpdateOverItemEvent))
|
||||
End SyncLock
|
||||
End Sub
|
||||
|
||||
' Gestione click destro del mouse che seleziona l'elemento
|
||||
Public ReadOnly SelectItemOnRightClickProperty As DependencyProperty = DependencyProperty.RegisterAttached("SelectItemOnRightClick", GetType(Boolean), GetType(TreeViewItemHelper), New UIPropertyMetadata(False, AddressOf OnSelectItemOnRightClickChanged))
|
||||
|
||||
Public Function GetSelectItemOnRightClick(ByVal d As DependencyObject) As Boolean
|
||||
Return CBool(d.GetValue(SelectItemOnRightClickProperty))
|
||||
End Function
|
||||
|
||||
Public Sub SetSelectItemOnRightClick(ByVal d As DependencyObject, ByVal value As Boolean)
|
||||
d.SetValue(SelectItemOnRightClickProperty, value)
|
||||
End Sub
|
||||
|
||||
Private Sub OnSelectItemOnRightClickChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
|
||||
Dim selectItemOnRightClick As Boolean = CBool(e.NewValue)
|
||||
Dim treeView As TreeView = TryCast(d, TreeView)
|
||||
|
||||
If treeView IsNot Nothing Then
|
||||
|
||||
If selectItemOnRightClick Then
|
||||
AddHandler treeView.PreviewMouseRightButtonDown, AddressOf OnPreviewMouseRightButtonDown
|
||||
Else
|
||||
RemoveHandler treeView.PreviewMouseRightButtonDown, AddressOf OnPreviewMouseRightButtonDown
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnPreviewMouseRightButtonDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
|
||||
Dim treeViewItem As TreeViewItem = VisualUpwardSearch(Of TreeViewItem)(TryCast(e.OriginalSource, DependencyObject))
|
||||
If treeViewItem IsNot Nothing Then
|
||||
treeViewItem.IsSelected = True
|
||||
Dim Tree As TreeView = VisualUpwardSearch(Of TreeView)(TryCast(treeViewItem, DependencyObject))
|
||||
If Not IsNothing(Tree) Then
|
||||
Dim myTransform As GeneralTransform = treeViewItem.TransformToAncestor(Tree)
|
||||
|
||||
Dim myOffset As Point = myTransform.Transform(New Point(0, 0))
|
||||
treeViewItem.ContextMenu.HorizontalOffset = -treeViewItem.ActualWidth + (-myOffset.X) + Tree.ActualWidth - 3
|
||||
treeViewItem.ContextMenu.VerticalOffset = -3
|
||||
End If
|
||||
e.Handled = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function VisualUpwardSearch(Of T As DependencyObject)(ByVal source As DependencyObject) As T
|
||||
Dim returnVal As DependencyObject = source
|
||||
|
||||
While returnVal IsNot Nothing AndAlso Not (TypeOf returnVal Is T)
|
||||
Dim tempReturnVal As DependencyObject = Nothing
|
||||
|
||||
If TypeOf returnVal Is Visual OrElse TypeOf returnVal Is Visual3D Then
|
||||
tempReturnVal = VisualTreeHelper.GetParent(returnVal)
|
||||
End If
|
||||
|
||||
If tempReturnVal Is Nothing Then
|
||||
returnVal = LogicalTreeHelper.GetParent(returnVal)
|
||||
Else
|
||||
returnVal = tempReturnVal
|
||||
End If
|
||||
End While
|
||||
|
||||
Return TryCast(returnVal, T)
|
||||
End Function
|
||||
|
||||
' Gestione indentazione sottoelementi
|
||||
Public Function GetDepth(item As TreeViewItem) As Integer
|
||||
Dim parent As TreeViewItem = GetParent(item)
|
||||
|
||||
If Not IsNothing(parent) Then Return GetDepth(parent) + 1
|
||||
|
||||
Return 0
|
||||
End Function
|
||||
|
||||
Private Function GetParent(item As TreeViewItem) As TreeViewItem
|
||||
Dim parent As DependencyObject = If(Not IsNothing(item), VisualTreeHelper.GetParent(item), Nothing)
|
||||
|
||||
While Not IsNothing(parent) AndAlso Not (TypeOf parent Is TreeViewItem OrElse TypeOf parent Is TreeView)
|
||||
parent = VisualTreeHelper.GetParent(parent)
|
||||
End While
|
||||
|
||||
Return TryCast(parent, TreeViewItem)
|
||||
End Function
|
||||
|
||||
Private Function GetTreeParent(item As TreeViewItem) As TreeViewItem
|
||||
Dim parent As DependencyObject = If(Not IsNothing(item), VisualTreeHelper.GetParent(item), Nothing)
|
||||
|
||||
While Not IsNothing(parent) AndAlso Not (TypeOf parent Is TreeViewItem OrElse TypeOf parent Is TreeView)
|
||||
parent = VisualTreeHelper.GetParent(parent)
|
||||
End While
|
||||
|
||||
Return TryCast(parent, TreeViewItem)
|
||||
End Function
|
||||
|
||||
' Gestione indentazione sottoelementi
|
||||
Public Function GetHeight(Item As TreeViewItem, SearchedItem As TreeViewItem, ByRef nHeight As Integer) As Boolean
|
||||
Dim Index As Integer = 0
|
||||
While Index <= Item.Items.Count - 1
|
||||
If GetHeight(Item.Items(Index), SearchedItem, nHeight) Then
|
||||
nHeight += 1
|
||||
Return True
|
||||
End If
|
||||
Index += 1
|
||||
End While
|
||||
Return False
|
||||
End Function
|
||||
|
||||
End Module
|
||||
|
||||
Public Class LeftMarginMultiplierConverter
|
||||
Implements IValueConverter
|
||||
|
||||
Public Property Length As Double
|
||||
|
||||
Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.Convert
|
||||
Dim item As TreeViewItem = TryCast(value, TreeViewItem)
|
||||
If item Is Nothing Then Return New Thickness(0)
|
||||
Return New Thickness(Length * GetDepth(item), 0, 0, 0)
|
||||
End Function
|
||||
|
||||
Public Function ConvertBack(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
|
||||
Throw New System.NotImplementedException()
|
||||
End Function
|
||||
End Class
|
||||
@@ -5,6 +5,7 @@
|
||||
Public Const PART = "Part"
|
||||
Public Const PRINT_SOLID = "PrintSolid"
|
||||
Public Const LAY_MACH_START = "MachStart"
|
||||
Public Const LAY_PARTREFERENCE = "PartFrame"
|
||||
Public Const LAY_REFERENCE = "Frame"
|
||||
Public Const LAY_OTHERS = "Aux"
|
||||
Public Const LAY_RIBS = "Ribs"
|
||||
@@ -14,6 +15,9 @@
|
||||
Public Const START_GEOM = "Start"
|
||||
Public Const RIB_EXTRUSION = "RibExtrusion"
|
||||
Public Const RIB_CURVE = "RibCurve"
|
||||
Public Const RIB_ID = "RibId"
|
||||
Public Const SHELLNUMBER_ID = "ShellNumberId"
|
||||
Public Const FILLEDSOLID_ID = "FilledSolidId"
|
||||
Public Const VIEWPARAMS = "ViewParams"
|
||||
Public Const IMPORTED_SOLID = "ImportedSolid"
|
||||
Public Const RESULT_READ_PROG = "ResultReadProg"
|
||||
@@ -106,6 +110,7 @@
|
||||
Public Const MAC_RIBSLINK = "RibsLink"
|
||||
Public Const MAC_RIBSINVERTORDER = "RibsInvertOrder"
|
||||
Public Const MAC_RIBSINVERTDIRECTION = "RibsInvertDirection"
|
||||
Public Const MAC_RIBSINVERTSTRANDORDER = "RibsInvertStrandOrder"
|
||||
Public Const MAC_RIBSLEADININVERT = "RibsLeadInInvert"
|
||||
Public Const MAC_RIBSLEADINLEN = "RibsLeadInLen"
|
||||
Public Const MAC_RIBSLEADOUTINVERT = "RibsLeadOutInvert"
|
||||
@@ -113,6 +118,7 @@
|
||||
Public Const MAC_RIBSLEADOUTCOASTING = "RibsLeadOutCoasting"
|
||||
Public Const MAC_RIBSLEADOUTWIPE = "RibsLeadOutWipe"
|
||||
Public Const MAC_RIBSLEADOUTWIPEDIR = "RibsLeadOutWipeDir"
|
||||
Public Const MAC_RIBSLIMITUNBOUNDEDWITHSOLID = "LimitUnboundedRibsWithSolid"
|
||||
Public Const MAC_SHELLNBRDIFFERENCE = "ShellNbrDifference"
|
||||
Public Const MAC_SHELLNBRCOASTING = "ShellNbrCoasting"
|
||||
Public Const MAC_SHELLNBRWIPE = "ShellNbrWipe"
|
||||
@@ -127,6 +133,7 @@
|
||||
Public Const MAC_AUXSOLIDSWIPELEN = "AuxSolidsWipeLen"
|
||||
Public Const MAC_AUXSOLIDSWIPEDIR = "AuxSolidsWipeDir"
|
||||
Public Const MAC_DYNAMICMODE = "DynamicMode"
|
||||
Public Const MAC_PRINTORDER = "PrintOrder"
|
||||
Public Const MAC_CONSTANT = "Constant"
|
||||
Public Const MAC_MATERIALS = "Materials"
|
||||
|
||||
@@ -151,11 +158,19 @@
|
||||
' materiale in progetto
|
||||
Public Const KEY_MATERIAL_GUID = "MaterialGuid"
|
||||
Public Const KEY_MATERIAL_NAME = "MaterialName"
|
||||
|
||||
' nome file cn in progetto
|
||||
Public Const KEY_ISOFILE_PATH = "IsoFilePath"
|
||||
|
||||
' info di spostamento pezzo per 45 gradi
|
||||
Public Const KEY_MOVEDPART = "MovedPart"
|
||||
Public Const KEY_MOVEDPART2 = "MovedPart2"
|
||||
|
||||
Public Const FILE_PATH = "FilePath"
|
||||
Public Const PART_NAME = "PartName"
|
||||
Public Const ENTITY_NAME = "EntityName"
|
||||
|
||||
' stringa che identifica il materiale come originale del costruttore
|
||||
Public Const ORIG_MATERIAL As String = "***"
|
||||
|
||||
End Module
|
||||
|
||||
@@ -105,6 +105,7 @@ Public Module ConstIni
|
||||
'Public Const S_SIMUL As String = "Simul"
|
||||
'Public Const K_SLIDERX As String = "SliderX"
|
||||
'Public Const K_SLIDERVAL As String = "SliderVal"
|
||||
Public Const K_MACHVIEWMODE As String = "MachViewMode"
|
||||
|
||||
Public Const S_PRINTING3D As String = "3dPrinting"
|
||||
Public Const K_3PRNBASEDIR As String = "BaseDir"
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
<UserControl x:Class="ControllerInputPanelV"
|
||||
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"
|
||||
Height="32">
|
||||
<Border x:Class="ControllerInputPanelV"
|
||||
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"
|
||||
Height="38"
|
||||
Visibility="{Binding DoneBtn_Visibility}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="45,0,0,0"
|
||||
Padding="0"
|
||||
Style="{StaticResource ViewLayerManager_Border}">
|
||||
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<StackPanel Orientation="Horizontal"
|
||||
Margin="2.5">
|
||||
<StackPanel.Style>
|
||||
<Style TargetType="{x:Type StackPanel}">
|
||||
<Style.Triggers>
|
||||
@@ -16,31 +22,46 @@
|
||||
</StackPanel.Style>
|
||||
<TextBlock Text="{Binding Message}"
|
||||
Visibility="{Binding Message_Visibility}"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ControllerInput_TextBlock}"/>
|
||||
<TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}"
|
||||
Width="200"
|
||||
Visibility="{Binding Text_Visibility}" Margin="5,0,5,0"
|
||||
Width="150"
|
||||
Visibility="{Binding Text_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ControllerInputPanel_TextBox}">
|
||||
<TextBox.InputBindings>
|
||||
<KeyBinding Key="Enter" Command="{Binding Done_Command, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<KeyBinding Key="S" Modifiers="Control" Command="{Binding Show_Command}"/>
|
||||
</TextBox.InputBindings>
|
||||
</TextBox>
|
||||
<CheckBox Content="{Binding CheckBoxText}" IsChecked="{Binding IsChecked}"
|
||||
Visibility="{Binding Check_Visibility}" Margin="5,0,5,0"
|
||||
<CheckBox Content="{Binding CheckBoxText}"
|
||||
IsChecked="{Binding IsChecked}"
|
||||
Visibility="{Binding Check_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding ComboItemsList}" SelectedIndex="{Binding ComboSelectedIndex}"
|
||||
Visibility="{Binding Combo_Visibility}" Margin="5,0,5,0"/>
|
||||
<Grid Margin="5,0,5,0">
|
||||
<ComboBox ItemsSource="{Binding ComboItemsList}"
|
||||
SelectedIndex="{Binding ComboSelectedIndex}"
|
||||
Visibility="{Binding Combo_Visibility}"
|
||||
Margin="2.5,0,2.5,0"/>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Command="{Binding Show_Command}" Visibility="{Binding ShowBtn_Visibility}"
|
||||
Content="{Binding ShowMsg}" Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
<Button Command="{Binding Done_Command}" Visibility="{Binding DoneBtn_Visibility}"
|
||||
Grid.Column="1"
|
||||
Content="{Binding OkMsg}" Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
<Button Command="{Binding Show_Command}"
|
||||
Visibility="{Binding ShowBtn_Visibility}"
|
||||
Content="{Binding ShowMsg}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_Button}"/>
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding Done_Command}"
|
||||
Visibility="{Binding DoneBtn_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
|
||||
</Border>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Collections.Specialized
|
||||
Imports System.ComponentModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
@@ -150,7 +151,7 @@ Public Class CurrMachining
|
||||
|
||||
Friend Overrides Sub OnMachiningParamPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
|
||||
Select Case e.PropertyName
|
||||
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue)
|
||||
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue), NameOf(sender.Value)
|
||||
m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified))
|
||||
NotifyPropertyChanged(NameOf(ghName))
|
||||
NotifyPropertyChanged(NameOf(sCurrSlicingType))
|
||||
@@ -158,9 +159,25 @@ Public Class CurrMachining
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandW))
|
||||
NotifyPropertyChanged(NameOf(sCurrStrandCount))
|
||||
NotifyPropertyChanged(NameOf(sCurrOffset))
|
||||
sender.NotifyPropertyChanged(NameOf(sender.bIsModifiedFromDb))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub Save()
|
||||
If bIsModified Then
|
||||
' salvo tutti i parametri su orig
|
||||
SaveParams()
|
||||
' resetto stato di modificata
|
||||
UpdateIsModified()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub SaveParams()
|
||||
For Each Cathegory In m_CathegoryList
|
||||
Cathegory.SaveParams()
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteCurrParamInPart(nPartId As Integer)
|
||||
EgtSetInfo(nPartId, MAC_GUID, m_sCurrGUID.ToString())
|
||||
For Each Cathegory As CurrMachiningCathegory In m_CathegoryList
|
||||
@@ -197,7 +214,8 @@ Public Class CurrMachiningCathegory
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.G0FEEDZ, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nPartId, nIndex, bForceFromDb)})
|
||||
New CurrComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrOrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nPartId, nIndex, bForceFromDb)})
|
||||
Case Cathegories.LINK
|
||||
m_sName = "Shell"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb),
|
||||
@@ -223,13 +241,15 @@ Public Class CurrMachiningCathegory
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb)})
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nPartId, nIndex, bForceFromDb)})
|
||||
Case Cathegories.SHELL_NUMBER
|
||||
m_sName = "Reduce Shell Number"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nPartId, nIndex, bForceFromDb),
|
||||
@@ -250,12 +270,6 @@ Public Class CurrMachiningCathegory
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Sub SaveCurrParams()
|
||||
For Each Param In m_MachiningParamList
|
||||
Param.SaveParam()
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub ResetCurrParams()
|
||||
For Each Param In m_MachiningParamList
|
||||
Param.ResetParam()
|
||||
@@ -903,10 +917,14 @@ Public Class CurrCheckMachiningParam
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_bValue)
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_bValue)
|
||||
Case Params.RIBSINVERTSTRANDORDER
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTSTRANDORDER, m_bValue)
|
||||
Case Params.RIBSLEADININVERT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_bValue)
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bValue)
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, m_bValue)
|
||||
End Select
|
||||
m_bOrigValue = m_bValue
|
||||
If nIndex > 0 Then
|
||||
@@ -914,7 +932,7 @@ Public Class CurrCheckMachiningParam
|
||||
Select Case Type
|
||||
Case Params.SPIRALVASE
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT
|
||||
Case Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSINVERTSTRANDORDER, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT, Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
@@ -934,10 +952,14 @@ Public Class CurrCheckMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSINVERTSTRANDORDER
|
||||
EgtSetInfo(nPartId, MAC_RIBSINVERTSTRANDORDER, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLEADININVERT
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
EgtSetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -975,3 +997,107 @@ Public Class CurrCheckMachiningParam
|
||||
|
||||
End Class
|
||||
|
||||
Public Class CurrOrderedMachiningParam
|
||||
Inherits OrderedMachiningParam
|
||||
|
||||
Private m_DbParam As OrderedMachiningParam
|
||||
Public ReadOnly Property DbParam As OrderedMachiningParam
|
||||
Get
|
||||
Return m_DbParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bIsModifiedFromDb As Boolean
|
||||
Get
|
||||
Return If(Map.refTopPanelVM.SelMachining.sGUID <> Guid.Empty, Value <> m_DbParam.Value, False)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean)
|
||||
MyBase.New(Type, nIndex)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
m_StandardValueOrderList = New List(Of Integer)({Machining.MPAR_PRINT_ORDER.SHELL,
|
||||
Machining.MPAR_PRINT_ORDER.EXTRA_SHELL,
|
||||
Machining.MPAR_PRINT_ORDER.INFILL,
|
||||
Machining.MPAR_PRINT_ORDER.AUX_SOLID,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_INTERNAL,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_SUPPORT})
|
||||
m_ValueList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_PRINT_ORDER.SHELL, "Shell"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL, "Extra Shell"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.INFILL, "Infill"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.AUX_SOLID, "Filled Solid"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED, "Unbounded Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL, "External Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_INTERNAL, "Internal Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_SUPPORT, "Support Rib")})
|
||||
Dim sValue As String = ""
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_PRINTORDER, sValue)
|
||||
Value = sValue
|
||||
End Select
|
||||
m_OrigValue = Value
|
||||
If nIndex > 0 Then
|
||||
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
Value = m_DbParam.OrigValue
|
||||
m_OrigValue = m_DbParam.OrigValue
|
||||
End If
|
||||
ElseIf Type = Params.PRINT_ORDER AndAlso Not bReadFromPart Then
|
||||
Value = ""
|
||||
m_OrigValue = Value
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
EgtSetInfo(nPartId, MAC_PRINTORDER, Value)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub SaveParam()
|
||||
m_OrigValue = Value
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
Value = m_OrigValue
|
||||
m_SelValue = Nothing
|
||||
NotifyPropertyChanged(NameOf(ValueList))
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "ResetParam"
|
||||
|
||||
Public ReadOnly Property ResetParam_Command As ICommand
|
||||
Get
|
||||
If m_cmdResetParam Is Nothing Then
|
||||
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
|
||||
End If
|
||||
Return m_cmdResetParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ResetParamCmd()
|
||||
Value = DbParam.OrigValue
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetParam
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1,17 +1,30 @@
|
||||
<UserControl x:Class="CurrMachiningPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Width="300">
|
||||
<Border VerticalAlignment="Center"
|
||||
Style="{StaticResource RightPanel_Border}">
|
||||
<Grid>
|
||||
<Grid x:Class="CurrMachiningPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Width="310"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Margin="0,0,0,2.5"
|
||||
Style="{StaticResource Title_Border}">
|
||||
<TextBlock Text="CURRENT MACHINING"
|
||||
Style="{StaticResource Title_TextBlock}"/>
|
||||
</Border>
|
||||
<Border Grid.Row="1"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource BottomGrayRow_Border}">
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled">
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
Margin="1,0,0,2.5">
|
||||
<ItemsControl Grid.Row="1"
|
||||
ItemsSource="{Binding CurrMachining.CathegoryList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
@@ -27,97 +40,154 @@
|
||||
<ItemsControl ItemsSource="{Binding MachiningParamList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="1"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<StackPanel Orientation="Vertical"
|
||||
Margin="0"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}">
|
||||
<Grid>
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding sValue}"/>
|
||||
Text="{Binding sValue}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromDb}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}">
|
||||
<Grid>
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
HorizontalAlignment="Stretch"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromDb}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}">
|
||||
<Grid>
|
||||
<Grid Height="22"
|
||||
Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromDb}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:MaterialMachiningParam}">
|
||||
<Grid>
|
||||
<Grid Height="22"
|
||||
Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,2.5,0"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromDb}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromDb}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:OrderedMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<ListBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
Margin="2.5,0,2.5,0"/>
|
||||
<StackPanel Grid.Column="2"
|
||||
Orientation="Vertical"
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0">
|
||||
<Button Content="˄"
|
||||
Command="{Binding MoveUpOrder_Command}"
|
||||
Margin="0,0,0,2.5"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="˅"
|
||||
Command="{Binding MoveDownOrder_Command}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="<>"
|
||||
Command="{Binding ResetOrder_Command}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromDb}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
</Expander>
|
||||
@@ -125,17 +195,29 @@
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
<UniformGrid Grid.Row="1" Rows="1">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Save in Db"
|
||||
Command="{Binding SaveInDb_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<UniformGrid Grid.Row="1"
|
||||
Rows="1"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Command="{Binding Ok_Command}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Command="{Binding Cancel_Command}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Cancel.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Command="{Binding SaveInDb_Command}"
|
||||
ToolTip="{Binding SaveInDb_ToolTip}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\CurrMachining\SaveInDb.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</UserControl>
|
||||
</Grid>
|
||||
|
||||
@@ -18,6 +18,16 @@ Public Class CurrMachiningPanelVM
|
||||
Map.refTopPanelVM.UpdateCurrMachining()
|
||||
End Sub
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property SaveInDb_ToolTip As String
|
||||
Get
|
||||
Return "Save in Db"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Tooltip
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdCancel As ICommand
|
||||
@@ -59,8 +69,24 @@ Public Class CurrMachiningPanelVM
|
||||
End Property
|
||||
|
||||
Public Sub Ok()
|
||||
' verifico se modificata tipologia Ribs
|
||||
Dim bIsModifiedRibsType As Boolean = False
|
||||
Dim RibsCathegory As MachiningCathegory = CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.RIBS)
|
||||
If Not IsNothing(RibsCathegory) Then
|
||||
Dim RibsTypeParam As MachiningParam = RibsCathegory.MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.RIBSTYPE)
|
||||
If Not IsNothing(RibsTypeParam) Then
|
||||
bIsModifiedRibsType = RibsTypeParam.bIsModified
|
||||
End If
|
||||
End If
|
||||
' scrivo i parametri modificati
|
||||
m_CurrMachining.WriteCurrParamInPart(Map.refTopPanelVM.SelPart.nPartId)
|
||||
m_CurrMachining.Save()
|
||||
' se modificata tipologia Ribs, aggiorno posizione riferimento
|
||||
If bIsModifiedRibsType Then
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
Map.refDispositionPanelVM.UpdateZPos()
|
||||
Map.refSliceManagerVM.UpdateDimensions()
|
||||
End If
|
||||
' ripristino modalita' standard
|
||||
Map.refTopPanelVM.SelPage = Pages.MODIFY
|
||||
End Sub
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
<RadioButton x:Class="CheckedImageRadioButton"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<RadioButton.Resources>
|
||||
<SolidColorBrush x:Key="RadioButton.MouseOver.Background" Color="White"/>
|
||||
<SolidColorBrush x:Key="RadioButton.MouseOver.Border" Color="#FF5593FF"/>
|
||||
<SolidColorBrush x:Key="RadioButton.Pressed.Background" Color="#afcfe9"/>
|
||||
<SolidColorBrush x:Key="RadioButton.Pressed.Border" Color="#FF3C77DD"/>
|
||||
<SolidColorBrush x:Key="RadioButton.Disabled.Background" Color="#FFE6E6E6"/>
|
||||
<SolidColorBrush x:Key="RadioButton.Disabled.Border" Color="#FFBCBCBC"/>
|
||||
</RadioButton.Resources>
|
||||
<RadioButton.Template>
|
||||
<ControlTemplate TargetType="{x:Type RadioButton}">
|
||||
<Border x:Name="RadioButtonBorder"
|
||||
CornerRadius="4"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
SnapsToDevicePixels="True">
|
||||
<Image x:Name="RadioButtonImage"
|
||||
Source="{Binding ImageSource, RelativeSource={RelativeSource AncestorType={x:Type ToggleButton}}}"
|
||||
Stretch="Uniform"
|
||||
Focusable="False"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="true">
|
||||
<Setter Property="Background" TargetName="RadioButtonBorder" Value="{StaticResource RadioButton.MouseOver.Background}"/>
|
||||
<Setter Property="BorderBrush" TargetName="RadioButtonBorder" Value="{StaticResource RadioButton.MouseOver.Border}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Background" TargetName="RadioButtonBorder" Value="{StaticResource RadioButton.Disabled.Background}"/>
|
||||
<Setter Property="BorderBrush" TargetName="RadioButtonBorder" Value="{StaticResource RadioButton.Disabled.Border}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="true">
|
||||
<Setter Property="Background" TargetName="RadioButtonBorder" Value="{StaticResource RadioButton.Pressed.Background}"/>
|
||||
<Setter Property="BorderBrush" TargetName="RadioButtonBorder" Value="{StaticResource RadioButton.Pressed.Border}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsChecked" Value="true">
|
||||
<Setter Property="Source" TargetName="RadioButtonImage" Value="{Binding CheckedImageSource, RelativeSource={RelativeSource AncestorType={x:Type ToggleButton}}}"/>
|
||||
<Setter Property="Background" TargetName="RadioButtonBorder" Value="{StaticResource Icarus_Gray}"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</RadioButton.Template>
|
||||
</RadioButton>
|
||||
@@ -0,0 +1,25 @@
|
||||
Public Class CheckedImageRadioButton
|
||||
|
||||
Public Shared ReadOnly ImageSourceProperty As DependencyProperty = DependencyProperty.Register("ImageSource", GetType(String), GetType(CheckedImageRadioButton), New FrameworkPropertyMetadata(""))
|
||||
|
||||
Public Shadows Property ImageSource As String
|
||||
Get
|
||||
Return CStr(MyBase.GetValue(ImageSourceProperty))
|
||||
End Get
|
||||
Set(value As String)
|
||||
MyBase.SetValue(ImageSourceProperty, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Shared ReadOnly CheckedImageSourceProperty As DependencyProperty = DependencyProperty.Register("CheckedImageSource", GetType(String), GetType(CheckedImageRadioButton), New FrameworkPropertyMetadata(""))
|
||||
|
||||
Public Shadows Property CheckedImageSource As String
|
||||
Get
|
||||
Return CStr(MyBase.GetValue(CheckedImageSourceProperty))
|
||||
End Get
|
||||
Set(value As String)
|
||||
MyBase.SetValue(ImageSourceProperty, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,47 @@
|
||||
<ToggleButton x:Class="CheckedImageToggleButton"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<ToggleButton.Template>
|
||||
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
||||
<Border Name="ToggleButtonBorder"
|
||||
CornerRadius="4"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
SnapsToDevicePixels="true">
|
||||
<Image Name="ToggleButtonImage"
|
||||
Height="{DynamicResource ToggleButton.Image.Height}"
|
||||
Width="{DynamicResource ToggleButton.Image.Width}"
|
||||
Stretch="Uniform"
|
||||
Source="{Binding ImageSource, RelativeSource={RelativeSource AncestorType={x:Type ToggleButton}}}"
|
||||
Focusable="False"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="Button.IsDefaulted" Value="true">
|
||||
<Setter Property="BorderBrush" TargetName="ToggleButtonBorder" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="true">
|
||||
<Setter Property="Background" TargetName="ToggleButtonBorder" Value="{StaticResource Button.NoBackground.MouseOver.Background}"/>
|
||||
<Setter Property="BorderBrush" TargetName="ToggleButtonBorder" Value="{StaticResource Button.NoBackground.MouseOver.Border}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="true">
|
||||
<Setter Property="Background" TargetName="ToggleButtonBorder" Value="{StaticResource Button.NoBackground.Pressed.Background}"/>
|
||||
<Setter Property="BorderBrush" TargetName="ToggleButtonBorder" Value="{StaticResource Button.NoBackground.Pressed.Border}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsChecked" Value="true">
|
||||
<Setter Property="Source" TargetName="ToggleButtonImage" Value="{Binding CheckedImageSource, RelativeSource={RelativeSource AncestorType={x:Type ToggleButton}}}"/>
|
||||
<Setter Property="Background" TargetName="ToggleButtonBorder" Value="{StaticResource Icarus_Gray}"/>
|
||||
</Trigger>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<!--<Setter Property="Background" TargetName="ToggleButtonBorder" Value="{StaticResource Button.NoBackground.Disabled.Background}"/>-->
|
||||
<Setter Property="BorderBrush" TargetName="ToggleButtonBorder" Value="{StaticResource Button.NoBackground.Disabled.Border}"/>
|
||||
<Setter Property="OpacityMask" Value="#54707070"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</ToggleButton.Template>
|
||||
</ToggleButton>
|
||||
@@ -0,0 +1,25 @@
|
||||
Public Class CheckedImageToggleButton
|
||||
|
||||
Public Shared ReadOnly ImageSourceProperty As DependencyProperty = DependencyProperty.Register("ImageSource", GetType(String), GetType(CheckedImageToggleButton), New FrameworkPropertyMetadata(""))
|
||||
|
||||
Public Shadows Property ImageSource As String
|
||||
Get
|
||||
Return CStr(MyBase.GetValue(ImageSourceProperty))
|
||||
End Get
|
||||
Set(value As String)
|
||||
MyBase.SetValue(ImageSourceProperty, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Shared ReadOnly CheckedImageSourceProperty As DependencyProperty = DependencyProperty.Register("CheckedImageSource", GetType(String), GetType(CheckedImageToggleButton), New FrameworkPropertyMetadata(""))
|
||||
|
||||
Public Shadows Property CheckedImageSource As String
|
||||
Get
|
||||
Return CStr(MyBase.GetValue(CheckedImageSourceProperty))
|
||||
End Get
|
||||
Set(value As String)
|
||||
MyBase.SetValue(ImageSourceProperty, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
End Class
|
||||
@@ -1,14 +1,15 @@
|
||||
<Grid x:Class="DispositionPanelV"
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
VerticalAlignment="Stretch"
|
||||
Margin="5">
|
||||
Margin="5,0,0,0">
|
||||
|
||||
<Grid.Resources>
|
||||
<PrintApp:CenterToolTipConverter x:Key="CenterToolTipConverter"/>
|
||||
<PrintApp:FromBooleanToVisibility x:Key="FromBooleanToVisibility"/>
|
||||
</Grid.Resources>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
@@ -23,26 +24,21 @@
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<ToggleButton x:Name="MoveBtn"
|
||||
Grid.Row="3"
|
||||
Content="Move"
|
||||
IsChecked="{Binding bMove_IsChecked}"
|
||||
Style="{StaticResource ToolBar_TextToggleButton}"/>
|
||||
<!--<Border Background="Red"
|
||||
Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="5"
|
||||
Width="50"
|
||||
VerticalAlignment="Stretch"/>-->
|
||||
Margin="0,0,0,2.5"
|
||||
Style="{StaticResource LeftPanel_ToggleButton}"/>
|
||||
|
||||
<Border x:Name="PopupBrd"
|
||||
Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="5"
|
||||
VerticalAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Visibility="{Binding IsChecked, ElementName=MoveBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanelPopup_Border}">
|
||||
Style="{StaticResource LeftPanel_Popup_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
@@ -56,132 +52,65 @@
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="X"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
Style="{StaticResource Move_TextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox2}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1"
|
||||
Margin="0,2.5,0,2.5">
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Y"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
Style="{StaticResource Move_TextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox2}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="0,2.5,0,0">
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Z"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
Style="{StaticResource Move_TextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox2}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="3"
|
||||
Margin="0,2.5,0,0">
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Drag"
|
||||
Command="{Binding DragMove_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
Command="{Binding DragMove_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!--<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
|
||||
PlacementTarget="{Binding ElementName=MoveBtn}"
|
||||
Style="{StaticResource LeftPanel_Popup}">
|
||||
<Border x:Name="PopupBrd" Style="{StaticResource LeftPanelPopup_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Margin="0,0,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="X"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Y"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="0,2.5,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Z"
|
||||
VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="3"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Drag"
|
||||
Command="{Binding DragMove_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Popup>-->
|
||||
|
||||
<ToggleButton x:Name="RotateBtn"
|
||||
Grid.Row="4"
|
||||
Content="Rotate"
|
||||
IsChecked="{Binding bRotate_IsChecked}"
|
||||
Style="{StaticResource ToolBar_TextToggleButton}"/>
|
||||
<!--<Border Background="Blue"
|
||||
Grid.Column="2"
|
||||
Grid.Row="2"
|
||||
Grid.RowSpan="5"
|
||||
Width="50"
|
||||
VerticalAlignment="Stretch"
|
||||
HorizontalAlignment="Stretch"/>-->
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource LeftPanel_ToggleButton}"/>
|
||||
|
||||
<Border Grid.Column="1"
|
||||
Grid.Row="2"
|
||||
Grid.RowSpan="5"
|
||||
VerticalAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Visibility="{Binding IsChecked, ElementName=RotateBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanelPopup_Border}">
|
||||
Style="{StaticResource LeftPanel_Popup_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<UniformGrid Columns="3">
|
||||
<RadioButton Content="X"
|
||||
@@ -197,54 +126,17 @@
|
||||
IsChecked="{Binding RotZ}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
</UniformGrid>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Row="1"
|
||||
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
|
||||
Margin="0,5,0,0"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Grid.Row="1"
|
||||
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
|
||||
ResetValueOnLostFocus="False"
|
||||
Margin="0,5,0,2.5"/>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="0,2.5,0,0">
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Drag"
|
||||
Command="{Binding DragRotate_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
Command="{Binding DragRotate_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
<!--<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
|
||||
Grid.Column="1"
|
||||
PlacementTarget="{Binding ElementName=RotateBtn}"
|
||||
Style="{StaticResource LeftPanel_Popup}">
|
||||
<Border Style="{StaticResource LeftPanelPopup_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<UniformGrid Columns="3">
|
||||
<RadioButton Content="X"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotAxes[0]}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
<RadioButton Content="Y"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotAxes[1]}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
<RadioButton Content="Z"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotAxes[2]}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
</UniformGrid>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Row="1"
|
||||
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
|
||||
Margin="0,5,0,0"/>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Drag"
|
||||
Command="{Binding DragRotate_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Popup>-->
|
||||
</Grid>
|
||||
|
||||
@@ -20,13 +20,27 @@ Public Class DispositionPanelVM
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
|
||||
Dim dNewXPos As Double = ptReference.x
|
||||
StringToLen(value, dNewXPos)
|
||||
If dNewXPos >= 0 AndAlso dNewXPos <= CurrentMachine.b3Tab.DimX Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(dNewXPos, ptReference.y, ptReference.z) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(sXPos))
|
||||
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart)
|
||||
Dim dMin As Double = 0
|
||||
Dim dMax As Double = CurrentMachine.b3Tab.DimX
|
||||
If b3Print.Max.x > ptReference.x Then
|
||||
dMax -= b3Print.Max.x - ptReference.x
|
||||
End If
|
||||
If b3Print.Min.x < ptReference.x Then
|
||||
dMin += ptReference.x - b3Print.Min.x
|
||||
End If
|
||||
' riduco a spostamento massimo
|
||||
If dNewXPos < dMin Then
|
||||
dNewXPos = dMin
|
||||
ElseIf dNewXPos > dMax Then
|
||||
dNewXPos = dMax
|
||||
End If
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(dNewXPos, ptReference.y, ptReference.z) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
NotifyPropertyChanged(NameOf(sXPos))
|
||||
' Imposto flag di ricalcolo part-program
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -45,13 +59,27 @@ Public Class DispositionPanelVM
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
|
||||
Dim dNewYPos As Double = ptReference.y
|
||||
StringToLen(value, dNewYPos)
|
||||
If dNewYPos >= 0 AndAlso dNewYPos <= CurrentMachine.b3Tab.DimY Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, dNewYPos, ptReference.z) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(sYPos))
|
||||
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart)
|
||||
Dim dMin As Double = 0
|
||||
Dim dMax As Double = CurrentMachine.b3Tab.DimY
|
||||
If b3Print.Max.y > ptReference.y Then
|
||||
dMax -= b3Print.Max.y - ptReference.y
|
||||
End If
|
||||
If b3Print.Min.y < ptReference.y Then
|
||||
dMin += ptReference.y - b3Print.Min.y
|
||||
End If
|
||||
' riduco a spostamento massimo
|
||||
If dNewYPos < dMin Then
|
||||
dNewYPos = dMin
|
||||
ElseIf dNewyPos > dMax Then
|
||||
dNewYPos = dMax
|
||||
End If
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, dNewYPos, ptReference.z) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
NotifyPropertyChanged(NameOf(sYPos))
|
||||
' Imposto flag di ricalcolo part-program
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -59,7 +87,7 @@ Public Class DispositionPanelVM
|
||||
Get
|
||||
If Not IsNothing(Map.refTopPanelVM.SelPart) Then
|
||||
Dim ptReference As New Point3d
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nPartReferenceId, GDB_ID.ROOT, ptReference)
|
||||
Return LenToString(ptReference.z, 1)
|
||||
Else
|
||||
Return ""
|
||||
@@ -67,19 +95,70 @@ Public Class DispositionPanelVM
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim ptReference As New Point3d
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nReferenceId, GDB_ID.ROOT, ptReference)
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nPartReferenceId, GDB_ID.ROOT, ptReference)
|
||||
Dim dNewZPos As Double = ptReference.z
|
||||
StringToLen(value, dNewZPos)
|
||||
If dNewZPos >= 0 Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, ptReference.y, dNewZPos) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(sZPos))
|
||||
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart)
|
||||
Dim dMin As Double = 0
|
||||
If b3Print.Min.z < ptReference.z Then
|
||||
dMin += ptReference.z - b3Print.Min.z
|
||||
End If
|
||||
' riduco a spostamento massimo
|
||||
If dNewZPos < dMin Then
|
||||
dNewZPos = dMin
|
||||
End If
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, ptReference.y, dNewZPos) - ptReference, GDB_RT.GLOB)
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
EgtDraw()
|
||||
NotifyPropertyChanged(NameOf(sZPos))
|
||||
' Imposto flag di ricalcolo part-program
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend Sub UpdateZPos()
|
||||
Dim ptReference As New Point3d
|
||||
EgtStartPoint(Map.refTopPanelVM.SelPart.nPartReferenceId, GDB_ID.ROOT, ptReference)
|
||||
Dim dNewZPos As Double = ptReference.z
|
||||
Dim b3Print As BBox3d = GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart)
|
||||
Dim dMin As Double = 0
|
||||
If b3Print.Min.z < ptReference.z Then
|
||||
dMin += ptReference.z - b3Print.Min.z
|
||||
End If
|
||||
If ptReference.z < dMin Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, New Point3d(ptReference.x, ptReference.y, dMin) - ptReference, GDB_RT.GLOB)
|
||||
Map.refDispositionPanelVM.RefreshPos()
|
||||
EgtDraw()
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sZPos))
|
||||
End Sub
|
||||
|
||||
' funzione che calcola il box totale del solido da stampare piu' ribs esterne ed unbounded
|
||||
Friend Function GetSolidForReferenceBBox(SelPart As Print3dPartVM) As BBox3d
|
||||
Dim b3Print As New BBox3d
|
||||
EgtGetBBoxGlob(SelPart.nPrintSolidId, GDB_BB.EXACT, b3Print)
|
||||
If EgtGetGroupObjs(SelPart.nRibsLayerId) > 0 Then
|
||||
Dim b3Ribs As New BBox3d()
|
||||
Dim nRibId As Integer = EgtGetFirstInGroup(SelPart.nRibsLayerId)
|
||||
While nRibId <> GDB_ID.NULL
|
||||
Dim nRibType As Integer = Machining.MPAR_RIBSTYPE.INTERNAL
|
||||
If Not EgtGetInfo(nRibId, MAC_RIBSTYPE, nRibType) Then
|
||||
EgtGetInfo(SelPart.nPartId, MAC_RIBSTYPE, nRibType)
|
||||
End If
|
||||
If nRibType = Machining.MPAR_RIBSTYPE.EXTERNAL OrElse nRibType = Machining.MPAR_RIBSTYPE.UNBOUNDED Then
|
||||
Dim b3Rib As New BBox3d
|
||||
EgtGetBBoxGlob(nRibId, GDB_BB.EXACT, b3Rib)
|
||||
b3Ribs.Add(b3Rib)
|
||||
End If
|
||||
nRibId = EgtGetNext(nRibId)
|
||||
End While
|
||||
If Not b3Ribs.IsEmpty() Then
|
||||
b3Print.Add(b3Ribs)
|
||||
End If
|
||||
End If
|
||||
Return b3Print
|
||||
End Function
|
||||
|
||||
Private m_RotAxes As Boolean() = { False, False, False}
|
||||
Public Property RotX As Boolean
|
||||
Get
|
||||
@@ -131,19 +210,25 @@ Public Class DispositionPanelVM
|
||||
Return
|
||||
End If
|
||||
Dim vtMovedPart As Vector3d
|
||||
if EgtGetInfo(Map.refTopPanelVM.SelPart.nPartId, "MovedPart", vtMovedPart) Then
|
||||
Dim nEntId = EgtGetFirstInGroup( Map.refTopPanelVM.SelPart.nPrintSolidLayerId)
|
||||
If EgtGetInfo(Map.refTopPanelVM.SelPart.nPartId, KEY_MOVEDPART, vtMovedPart) Then
|
||||
Dim nEntId = EgtGetFirstInGroup(Map.refTopPanelVM.SelPart.nPrintSolidLayerId)
|
||||
While nEntId <> GDB_ID.NULL
|
||||
EgtMove(nEntId, -vtMovedPart, GDB_RT.GLOB)
|
||||
nEntId = EgtGetNext( nEntId)
|
||||
nEntId = EgtGetNext(nEntId)
|
||||
End While
|
||||
EgtRemoveInfo(Map.refTopPanelVM.SelPart.nPartId, "MovedPart")
|
||||
EgtRemoveInfo(Map.refTopPanelVM.SelPart.nPartId, KEY_MOVEDPART)
|
||||
End If
|
||||
If EgtGetInfo(Map.refTopPanelVM.SelPart.nPartId, KEY_MOVEDPART2, vtMovedPart) Then
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nPartId, -vtMovedPart, GDB_RT.GLOB)
|
||||
EgtMove(Map.refTopPanelVM.SelPart.nReferenceId, vtMovedPart, GDB_RT.GLOB)
|
||||
EgtRemoveInfo(Map.refTopPanelVM.SelPart.nPartId, KEY_MOVEDPART2)
|
||||
End If
|
||||
Dim b3PrintSolid As New BBox3d
|
||||
EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPartId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
If EgtRotate(Map.refTopPanelVM.SelPart.nPartId, b3PrintSolid.Center, vtSelRotAxes, dNewAngle, GDB_RT.GLOB) Then
|
||||
m_sRotAngle = 0
|
||||
Map.refReferencePanelVM.UpdateFramePosition()
|
||||
Map.refDispositionPanelVM.UpdateZPos()
|
||||
RefreshPos()
|
||||
EgtDraw()
|
||||
NotifyPropertyChanged(NameOf(sRotAngle))
|
||||
@@ -221,6 +306,7 @@ Public Class DispositionPanelVM
|
||||
' seleziono percorso corrente
|
||||
EgtDeselectAll()
|
||||
EgtSelectObj(Map.refTopPanelVM.SelPart.nPartId)
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateUI()
|
||||
@@ -229,8 +315,9 @@ Public Class DispositionPanelVM
|
||||
m_bRotating = False
|
||||
' ripristino griglia
|
||||
EgtSetGridFrame(m_PrevGridOrigin)
|
||||
EgtDraw()
|
||||
End If
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
Friend Sub OnKeyDown(Key As Forms.Keys)
|
||||
@@ -239,8 +326,9 @@ Public Class DispositionPanelVM
|
||||
m_bRotating = False
|
||||
' ripristino griglia
|
||||
EgtSetGridFrame(m_PrevGridOrigin)
|
||||
EgtDraw()
|
||||
End If
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -307,26 +395,6 @@ Public Class DispositionPanelVM
|
||||
|
||||
End Class
|
||||
|
||||
Public Class CenterToolTipConverter
|
||||
Implements IMultiValueConverter
|
||||
|
||||
Public Function Convert(ByVal values As Object(), ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IMultiValueConverter.Convert
|
||||
For Each value In values
|
||||
If TypeOf (value) IsNot Double Then
|
||||
Return Double.NaN
|
||||
End If
|
||||
Next
|
||||
Dim placementTargetHeight As Double = CDbl(values(0))
|
||||
Dim toolTipHeight As Double = CDbl(values(1))
|
||||
Return (placementTargetHeight / 2.0) - (toolTipHeight / 2.0)
|
||||
End Function
|
||||
|
||||
Public Function ConvertBack(ByVal value As Object, ByVal targetTypes As Type(), ByVal parameter As Object, ByVal culture As CultureInfo) As Object() Implements IMultiValueConverter.ConvertBack
|
||||
Throw New NotSupportedException()
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Public Class FromBooleanToVisibility
|
||||
Implements IValueConverter
|
||||
|
||||
|
||||
@@ -0,0 +1,361 @@
|
||||
<Grid x:Class="FilledSolidPanelV"
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Margin="5">
|
||||
<Grid.Resources>
|
||||
<PrintApp:FromBooleanToVisibility x:Key="FromBooleanToVisibility"/>
|
||||
</Grid.Resources>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ComboBox Grid.Row="3"
|
||||
ItemsSource="{Binding FilledSolidList}"
|
||||
SelectedItem="{Binding SelFilledSolid}"
|
||||
IsEnabled="{Binding FilledSolidList_IsEnabled}"
|
||||
DisplayMemberPath="ghName"
|
||||
Style="{StaticResource LeftPanel_ComboBox}"/>
|
||||
<!--Add Button-->
|
||||
<ToggleButton x:Name="AddBtn"
|
||||
Grid.Row="4"
|
||||
Content="Add"
|
||||
IsChecked="{Binding bAdd_IsChecked}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource LeftPanel_ToggleButton}"/>
|
||||
<Border Grid.Column="1"
|
||||
Grid.Row="3"
|
||||
Grid.RowSpan="3"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding IsChecked, ElementName=AddBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanel_PopupButton_Border}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Grid.Column="0"
|
||||
Command="{Binding Import_Command}"
|
||||
ToolTip="{Binding Import_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Import.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding Line2P_Command}"
|
||||
ToolTip="{Binding Line2P_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/DrawPanel/Line2P.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
<!--Edit Button-->
|
||||
<ToggleButton x:Name="EditBtn"
|
||||
Grid.Row="5"
|
||||
Content="Edit"
|
||||
IsChecked="{Binding bEdit_IsChecked}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource LeftPanel_ToggleButton}"/>
|
||||
<Border Grid.Column="1"
|
||||
Grid.Row="4"
|
||||
Grid.RowSpan="3"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding IsChecked, ElementName=EditBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanel_PopupButton_Border}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Grid.Column="0"
|
||||
Command="{Binding Delete_Command}"
|
||||
ToolTip="{Binding Delete_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/DrawPanel/Delete.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding ModifyCurve_Command}"
|
||||
ToolTip="{Binding ModifyCurve_ToolTip}"
|
||||
Visibility="{Binding Compo_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/DrawPanel/ModifyCurve.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="2"
|
||||
Command="{Binding AddPointCurve_Command}"
|
||||
ToolTip="{Binding AddPointCurve_ToolTip}"
|
||||
Visibility="{Binding Compo_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/DrawPanel/AddPointCurve.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="3"
|
||||
Command="{Binding RemovePointCurve_Command}"
|
||||
ToolTip="{Binding RemovePointCurve_ToolTip}"
|
||||
Visibility="{Binding Compo_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/DrawPanel/RemovePointCurve.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="4"
|
||||
Command="{Binding Extrude_Command}"
|
||||
ToolTip="{Binding Extrude_ToolTip}"
|
||||
Visibility="{Binding Compo_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/DrawPanel/Extrude.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
<!--Grid Button-->
|
||||
<ToggleButton x:Name="GridBtn"
|
||||
Grid.Row="6"
|
||||
Content="Grid"
|
||||
IsChecked="{Binding bGrid_IsChecked}"
|
||||
IsEnabled="{Binding bGrid_IsEnabled}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource LeftPanel_ToggleButton}"/>
|
||||
<Border Grid.Column="1"
|
||||
Grid.Row="5"
|
||||
Grid.RowSpan="3"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding IsChecked, ElementName=GridBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanel_PopupButton_Border}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Command="{Binding CPlaneTop_Command}"
|
||||
ToolTip="{Binding CPlaneTop_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneTOP.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding CPlaneFront_Command}"
|
||||
ToolTip="{Binding CPlaneFront_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneFRONT.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="2"
|
||||
Command="{Binding CPlaneRight_Command}"
|
||||
ToolTip="{Binding CPlaneRight_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneRIGHT.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="3"
|
||||
Command="{Binding CPlaneBack_Command}"
|
||||
ToolTip="{Binding CPlaneBack_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneBACK.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="4"
|
||||
Command="{Binding CPlaneLeft_Command}"
|
||||
ToolTip="{Binding CPlaneLeft_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneLEFT.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="5"
|
||||
Command="{Binding CPlaneBottom_Command}"
|
||||
ToolTip="{Binding CPlaneBottom_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneBOTTOM.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="6"
|
||||
Command="{Binding CPlaneElevation_Command}"
|
||||
ToolTip="{Binding CPlaneElevation_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneELEVATION.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="7"
|
||||
Command="{Binding CPlaneOrigin_Command}"
|
||||
ToolTip="{Binding CPlaneOrigin_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CPlaneORIGIN.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="8"
|
||||
Command="{Binding CPlaneObj_Command}"
|
||||
ToolTip="{Binding CPlaneObj_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneOBJECT.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
<!--Move Button-->
|
||||
<ToggleButton x:Name="MoveBtn"
|
||||
Grid.Row="7"
|
||||
Content="Move"
|
||||
IsChecked="{Binding bMove_IsChecked}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource LeftPanel_ToggleButton}"/>
|
||||
<Border Grid.Column="1"
|
||||
Grid.Row="5"
|
||||
Grid.RowSpan="5"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding IsChecked, ElementName=MoveBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanel_Popup_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Margin="0,0,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="X"
|
||||
Style="{StaticResource Move_TextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox2}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Y"
|
||||
Style="{StaticResource Move_TextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox2}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="Z"
|
||||
Style="{StaticResource Move_TextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
|
||||
Grid.Column="1"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource LeftPanel_TextBox2}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="3"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Drag"
|
||||
Command="{Binding DragMove_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
<!--Rotate Button-->
|
||||
<ToggleButton x:Name="RotateBtn"
|
||||
Grid.Row="8"
|
||||
Content="Rotate"
|
||||
IsChecked="{Binding bRotate_IsChecked}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource LeftPanel_ToggleButton}"/>
|
||||
<Border Grid.Column="1"
|
||||
Grid.Row="6"
|
||||
Grid.RowSpan="5"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding IsChecked, ElementName=RotateBtn, Converter={StaticResource FromBooleanToVisibility}}"
|
||||
Style="{StaticResource LeftPanel_Popup_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<UniformGrid Columns="3">
|
||||
<RadioButton Content="X"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotX}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
<RadioButton Content="Y"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotY}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
<RadioButton Content="Z"
|
||||
GroupName="Axes"
|
||||
IsChecked="{Binding RotZ}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"/>
|
||||
</UniformGrid>
|
||||
<EgtWPFLib5:EgtTextBox2 Grid.Row="1"
|
||||
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
|
||||
ResetValueOnLostFocus="False"
|
||||
Margin="0,5,0,2.5"/>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Drag"
|
||||
Command="{Binding DragRotate_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
<!--Parameters Button-->
|
||||
<ToggleButton Content="Parameters"
|
||||
Grid.Row="9"
|
||||
IsChecked="{Binding bMachParam_IsChecked}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource LeftPanel_Parameters_ToggleButton}"/>
|
||||
|
||||
</Grid>
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class FilledSolidPanelV
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,100 @@
|
||||
<Grid x:Class="FilledSolidParamPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Width="310"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Margin="0,0,0,2.5"
|
||||
Style="{StaticResource Title_Border}">
|
||||
<TextBlock Text="REDUCE SHELL NUMBER PARAMETERS"
|
||||
Style="{StaticResource Title_TextBlock}"/>
|
||||
</Border>
|
||||
<Border Grid.Row="1"
|
||||
Padding="0,2.5,0,0"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource BottomGrayRow_Border}">
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled">
|
||||
<ItemsControl ItemsSource="{Binding MachiningParamList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="1"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding sValue}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromPart}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromPart}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
<UniformGrid Grid.Row="1"
|
||||
Rows="1"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class FilledSolidParamPanelV
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,441 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Reflection
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class FilledSolidParamPanelVM
|
||||
Inherits MachiningCathegory
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdCancel As ICommand
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONSTRUCTORS"
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in EgtCAM5Map
|
||||
Map.SetRefFilledSolidParamPanelVM(Me)
|
||||
End Sub
|
||||
|
||||
#End Region ' CONSTRUCTORS
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Sub Init()
|
||||
If IsNothing(Map.refFilledSolidPanelVM.SelFilledSolid) Then
|
||||
' ripristino modalita' standard
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
||||
Return
|
||||
End If
|
||||
Dim nPartId As Integer = Map.refTopPanelVM.SelPart.nPartId
|
||||
Dim nFilledSolidId As Integer = GDB_ID.NULL
|
||||
Select Case Map.refFilledSolidPanelVM.SelFilledSolid.Type
|
||||
Case RibEntity.RibTypes.FROMDRAW
|
||||
nFilledSolidId = Map.refFilledSolidPanelVM.SelFilledSolid.nCurveId
|
||||
Case RibEntity.RibTypes.FROMIMPORT
|
||||
nFilledSolidId = Map.refFilledSolidPanelVM.SelFilledSolid.nExtrusionId
|
||||
End Select
|
||||
|
||||
m_Type = Cathegories.AUX_SOLID
|
||||
m_sName = "Filled Solid"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nFilledSolidId, nPartId),
|
||||
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId),
|
||||
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nFilledSolidId, nPartId),
|
||||
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nFilledSolidId, nPartId),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nFilledSolidId, nPartId),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nFilledSolidId, nPartId),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nFilledSolidId, nPartId),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nFilledSolidId, nPartId),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nFilledSolidId, nPartId)})
|
||||
NotifyPropertyChanged(NameOf(MachiningParamList))
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
End Sub
|
||||
|
||||
Friend Sub SaveCurrParams()
|
||||
For Each Param In m_MachiningParamList
|
||||
Param.SaveParam()
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub ResetCurrParams()
|
||||
For Each Param In m_MachiningParamList
|
||||
Param.ResetParam()
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamsInFilledSolid(nRibId As Integer)
|
||||
' se parametri modificati
|
||||
Dim bModified As Boolean = False
|
||||
For Each Param In m_MachiningParamList
|
||||
Select Case Param.GetType()
|
||||
Case GetType(FilledSolidNumericMachiningParam)
|
||||
Dim NumericParam As FilledSolidNumericMachiningParam = TryCast(Param, FilledSolidNumericMachiningParam)
|
||||
If NumericParam.bIsModified AndAlso Not bModified Then bModified = True
|
||||
NumericParam.WriteParamInFilledSolid(nRibId)
|
||||
Case GetType(FilledSolidComboMachiningParam)
|
||||
Dim NumericParam As FilledSolidComboMachiningParam = TryCast(Param, FilledSolidComboMachiningParam)
|
||||
If NumericParam.bIsModified AndAlso Not bModified Then bModified = True
|
||||
NumericParam.WriteParamInFilledSolid(nRibId)
|
||||
End Select
|
||||
Next
|
||||
If bModified Then
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "Ok"
|
||||
|
||||
Public ReadOnly Property Ok_Command As ICommand
|
||||
Get
|
||||
If m_cmdOk Is Nothing Then
|
||||
m_cmdOk = New Command(AddressOf Ok)
|
||||
End If
|
||||
Return m_cmdOk
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Ok()
|
||||
If Not IsNothing(Map.refFilledSolidPanelVM.SelFilledSolid) Then
|
||||
' scrivo i parametri modificati
|
||||
Select Case Map.refFilledSolidPanelVM.SelFilledSolid.Type
|
||||
Case FilledSolidEntity.FilledSolidTypes.FROMDRAW
|
||||
WriteParamsInFilledSolid(Map.refFilledSolidPanelVM.SelFilledSolid.nCurveId)
|
||||
WriteParamsInFilledSolid(Map.refFilledSolidPanelVM.SelFilledSolid.nExtrusionId)
|
||||
Case FilledSolidEntity.FilledSolidTypes.FROMIMPORT
|
||||
WriteParamsInFilledSolid(Map.refFilledSolidPanelVM.SelFilledSolid.nExtrusionId)
|
||||
End Select
|
||||
End If
|
||||
' ripristino modalita' standard
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
||||
Map.refFilledSolidPanelVM.ResetMachParamIsChecked()
|
||||
End Sub
|
||||
|
||||
#End Region ' Ok
|
||||
|
||||
#Region "Cancel"
|
||||
|
||||
Public ReadOnly Property Cancel_Command As ICommand
|
||||
Get
|
||||
If m_cmdCancel Is Nothing Then
|
||||
m_cmdCancel = New Command(AddressOf Cancel)
|
||||
End If
|
||||
Return m_cmdCancel
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Cancel()
|
||||
' ripristino modalita' standard
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
||||
Map.refFilledSolidPanelVM.ResetMachParamIsChecked()
|
||||
End Sub
|
||||
|
||||
#End Region ' Cancel
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
Public Class FilledSolidNumericMachiningParam
|
||||
Inherits NumericMachiningParam
|
||||
|
||||
Public Overrides Property sValue As String
|
||||
Get
|
||||
Return If(m_bIsLen, LenToString(m_dValue, 1), m_dValue)
|
||||
End Get
|
||||
Set(value As String)
|
||||
If m_bIsLen Then
|
||||
StringToLen(value, m_dValue)
|
||||
Else
|
||||
m_dValue = value
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_dPartValue As Double
|
||||
Public ReadOnly Property dPartValue As Double
|
||||
Get
|
||||
Return m_dPartValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bIsModifiedFromPart As Boolean
|
||||
Get
|
||||
Return m_dValue <> m_dPartValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nFilledSolidId As Integer, nPartId As Integer)
|
||||
MyBase.New(Type)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSLINKPARAM, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKPARAM, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSCOASTINGLEN
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSCOASTINGLEN, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSWIPELEN
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSWIPELEN, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSWIPELEN, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSWIPEDIR
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSWIPEDIR, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
End Select
|
||||
m_dOrigValue = m_dValue
|
||||
If Not bReadFromPart Then
|
||||
m_dValue = m_dPartValue
|
||||
m_dOrigValue = m_dPartValue
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamInFilledSolid(nFilledSolidId As Integer)
|
||||
Dim sWriteValue As String = ""
|
||||
If m_bIsLen Then
|
||||
sWriteValue = LenToString(m_dValue, 2)
|
||||
Else
|
||||
sWriteValue = DoubleToString(m_dValue, 2)
|
||||
End If
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP)
|
||||
End If
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSLINKPARAM, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSLINKPARAM)
|
||||
End If
|
||||
Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE)
|
||||
End If
|
||||
Case Params.AUXSOLIDSCOASTINGLEN
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN)
|
||||
End If
|
||||
Case Params.AUXSOLIDSWIPELEN
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSWIPELEN, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSWIPELEN)
|
||||
End If
|
||||
Case Params.AUXSOLIDSWIPEDIR
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSWIPEDIR, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSWIPEDIR)
|
||||
End If
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub SaveParam()
|
||||
m_dOrigValue = m_dValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_dValue = m_dOrigValue
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "ResetParam"
|
||||
|
||||
Public ReadOnly Property ResetParam_Command As ICommand
|
||||
Get
|
||||
If m_cmdResetParam Is Nothing Then
|
||||
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
|
||||
End If
|
||||
Return m_cmdResetParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ResetParamCmd()
|
||||
m_dValue = m_dPartValue
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetParam
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
Public Class FilledSolidComboMachiningParam
|
||||
Inherits ComboMachiningParam
|
||||
|
||||
Public Overrides Property SelValue As IdNameStruct
|
||||
Get
|
||||
Return m_SelValue
|
||||
End Get
|
||||
Set(value As IdNameStruct)
|
||||
m_SelValue = value
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected m_PartSelValue As IdNameStruct
|
||||
Public ReadOnly Property PartSelValue As IdNameStruct
|
||||
Get
|
||||
Return m_PartSelValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bIsModifiedFromPart As Boolean
|
||||
Get
|
||||
Return m_SelValue.Id <> m_PartSelValue.Id
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nRibId As Integer, nPartId As Integer)
|
||||
MyBase.New(Type)
|
||||
Dim bReadFromRib As Boolean = False
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL.OFFSET, "Offset"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL.ZIGZAG, "ZigZag")})
|
||||
Dim nSelValue As Integer = 1
|
||||
bReadFromRib = EgtGetInfo(nRibId, MAC_AUXSOLIDSINFILL, nSelValue)
|
||||
If bReadFromRib Then
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
End If
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILL, nSelValue)
|
||||
m_PartSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.AUXSOLIDSSTRANDORDER
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"),
|
||||
New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")})
|
||||
Dim nSelValue As Integer = 1
|
||||
bReadFromRib = EgtGetInfo(nRibId, MAC_AUXSOLIDSSTRANDORDER, nSelValue)
|
||||
If bReadFromRib Then
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
End If
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDORDER, nSelValue)
|
||||
m_PartSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.AUXSOLIDSLINKTYPE
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LINKTYPES.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"),
|
||||
New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")})
|
||||
Dim nSelValue As Integer = 1
|
||||
bReadFromRib = EgtGetInfo(nRibId, MAC_AUXSOLIDSLINKTYPE, nSelValue)
|
||||
If bReadFromRib Then
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
End If
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKTYPE, nSelValue)
|
||||
m_PartSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
End Select
|
||||
m_OrigSelValue = m_SelValue
|
||||
If Not bReadFromRib Then
|
||||
If bReadFromPart Then
|
||||
m_SelValue = m_PartSelValue
|
||||
m_OrigSelValue = m_PartSelValue
|
||||
Else
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_INFILL.NONE)
|
||||
m_SelValue = m_OrigSelValue
|
||||
Case Params.AUXSOLIDSSTRANDORDER
|
||||
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_STRANDORDERS.OUTTOIN)
|
||||
m_SelValue = m_OrigSelValue
|
||||
Case Params.AUXSOLIDSLINKTYPE
|
||||
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_LINKTYPES.NONE)
|
||||
m_SelValue = m_OrigSelValue
|
||||
End Select
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamInFilledSolid(nRibId As Integer)
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nRibId, MAC_AUXSOLIDSINFILL, m_SelValue.Id)
|
||||
Else
|
||||
EgtRemoveInfo(nRibId, MAC_AUXSOLIDSINFILL)
|
||||
End If
|
||||
Case Params.AUXSOLIDSSTRANDORDER
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nRibId, MAC_AUXSOLIDSSTRANDORDER, m_SelValue.Id)
|
||||
Else
|
||||
EgtRemoveInfo(nRibId, MAC_AUXSOLIDSSTRANDORDER)
|
||||
End If
|
||||
Case Params.AUXSOLIDSLINKTYPE
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nRibId, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id)
|
||||
Else
|
||||
EgtRemoveInfo(nRibId, MAC_AUXSOLIDSLINKTYPE)
|
||||
End If
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub SaveParam()
|
||||
m_OrigSelValue = m_SelValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_SelValue = m_OrigSelValue
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "ResetParam"
|
||||
|
||||
Public ReadOnly Property ResetParam_Command As ICommand
|
||||
Get
|
||||
If m_cmdResetParam Is Nothing Then
|
||||
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
|
||||
End If
|
||||
Return m_cmdResetParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ResetParamCmd()
|
||||
m_SelValue = m_PartSelValue
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetParam
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
|
||||
End Class
|
||||
@@ -87,6 +87,7 @@
|
||||
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Ionic.Zip.1.9.1.8\lib\Ionic.Zip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationFramework.Aero2" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
@@ -112,14 +113,11 @@
|
||||
<Compile Include="AboutBoxWindow\AboutBoxV.xaml.vb">
|
||||
<DependentUpon>AboutBoxV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="AttachedProperties\TreeViewItemHelper.vb" />
|
||||
<Compile Include="ChooseMachineWnd\ChooseMachineWndV.xaml.vb">
|
||||
<DependentUpon>ChooseMachineWndV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ChooseMachineWnd\ChooseMachineWndVM.vb" />
|
||||
<Compile Include="ChooseReferenceWnd\ChooseReferenceWndV.xaml.vb">
|
||||
<DependentUpon>ChooseReferenceWndV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ChooseReferenceWnd\ChooseReferenceWndVM.vb" />
|
||||
<Compile Include="Constants\Const3dPrint.vb" />
|
||||
<Compile Include="Constants\ConstBeam.vb" />
|
||||
<Compile Include="Constants\ConstColumns.vb" />
|
||||
@@ -138,6 +136,12 @@
|
||||
<DependentUpon>CurrLayerSliderV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CurrLayerSlider\CurrLayerSliderVM.vb" />
|
||||
<Compile Include="CustomControls\CheckedImageRadioButton.xaml.vb">
|
||||
<DependentUpon>CheckedImageRadioButton.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CustomControls\CheckedImageToggleButton.xaml.vb">
|
||||
<DependentUpon>CheckedImageToggleButton.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DataGridMultiselectManaging\IListItemConverter.vb" />
|
||||
<Compile Include="DataGridMultiselectManaging\MultiSelectorBehaviours.vb" />
|
||||
<Compile Include="DataGridMultiselectManaging\TwoListSynchronizer.vb" />
|
||||
@@ -145,6 +149,14 @@
|
||||
<DependentUpon>DispositionPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DispositionPanel\DispositionPanelVM.vb" />
|
||||
<Compile Include="FilledSolidPanel\FilledSolidPanelV.xaml.vb">
|
||||
<DependentUpon>FilledSolidPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FilledSolidPanel\FilledSolidPanelVM.vb" />
|
||||
<Compile Include="FilledSolidParamPanel\FilledSolidParamPanelV.xaml.vb">
|
||||
<DependentUpon>FilledSolidParamPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FilledSolidParamPanel\FilledSolidParamPanelVM.vb" />
|
||||
<Compile Include="ImportExportMachiningPanel\ImportExportMachiningPanelV.xaml.vb">
|
||||
<DependentUpon>ImportExportMachiningPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -161,6 +173,10 @@
|
||||
<DependentUpon>MachinePanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MachinePanel\MachinePanelVM.vb" />
|
||||
<Compile Include="MachineViewPanel\MachineViewPanelV.xaml.vb">
|
||||
<DependentUpon>MachineViewPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MachineViewPanel\MachineViewPanelVM.vb" />
|
||||
<Compile Include="MachiningDb\MachiningDbV.xaml.vb">
|
||||
<DependentUpon>MachiningDbV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -209,6 +225,10 @@
|
||||
<DependentUpon>RibPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RibPanel\RibPanelVM.vb" />
|
||||
<Compile Include="RibParamPanel\CopyFromWndV.xaml.vb">
|
||||
<DependentUpon>CopyFromWndV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RibParamPanel\CopyFromWndVM.vb" />
|
||||
<Compile Include="RibParamPanel\RibParamPanelV.xaml.vb">
|
||||
<DependentUpon>RibParamPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -236,6 +256,7 @@
|
||||
<Compile Include="ShowPanel\ShowPanelV.xaml.vb">
|
||||
<DependentUpon>ShowPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ShowPanel\ShowPanelVM.vb" />
|
||||
<Compile Include="ShowValueSlider\ShowValueSlider.xaml.vb">
|
||||
<DependentUpon>ShowValueSlider.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -268,6 +289,9 @@
|
||||
<DependentUpon>StartMachPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="StartMachPanel\StartMachPanelVM.vb" />
|
||||
<Compile Include="StatusBar\MessagePanelV.xaml.vb">
|
||||
<DependentUpon>MessagePanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="StatusBar\MyStatusBarVM.vb" />
|
||||
<Compile Include="StatusBar\StatusBarV.xaml.vb">
|
||||
<DependentUpon>StatusBarV.xaml</DependentUpon>
|
||||
@@ -309,10 +333,6 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ChooseReferenceWnd\ChooseReferenceWndV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="ControllerInputPanel\ControllerInputPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -321,14 +341,30 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="CustomControls\CheckedImageRadioButton.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="CustomControls\CheckedImageToggleButton.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="DispositionPanel\DispositionPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ImportExportMachiningPanel\ImportExportMachiningPanelV.xaml">
|
||||
<Page Include="FilledSolidPanel\FilledSolidPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="FilledSolidParamPanel\FilledSolidParamPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="ImportExportMachiningPanel\ImportExportMachiningPanelV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>XamlIntelliSenseFileGenerator</Generator>
|
||||
</Page>
|
||||
<Page Include="InstrumentPanel\InstrumentPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -341,6 +377,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="MachineViewPanel\MachineViewPanelV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MachiningDb\MachiningDbV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -401,6 +441,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="RibParamPanel\CopyFromWndV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="RibParamPanel\RibParamPanelV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -461,6 +505,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="StatusBar\MessagePanelV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="StatusBar\StatusBarV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -550,16 +598,12 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ProjectManager\ExportProject.png" />
|
||||
<Resource Include="Resources\ProjectManager\GoToProd.png" />
|
||||
<Resource Include="Resources\ProjectManager\GoToProj.png" />
|
||||
<Resource Include="Resources\ProjectManager\ImportBTL.png" />
|
||||
<Resource Include="Resources\ProjectManager\ImportProject.png" />
|
||||
<Resource Include="Resources\ProjectManager\New.png" />
|
||||
<Resource Include="Resources\ProjectManager\Open.png" />
|
||||
<Resource Include="Resources\ProjectManager\Options.png" />
|
||||
<Resource Include="Resources\ProjectManager\Save.png" />
|
||||
<Resource Include="Resources\ProjectManager\SaveAs.png" />
|
||||
<Resource Include="Resources\ProjectManager\UpdateBTL.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ProjectManager\Import.png" />
|
||||
@@ -571,16 +615,11 @@
|
||||
<Resource Include="Resources\ViewPanel\LookFromBACK.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromBOTTOM.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromFRONT.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromISO_NE.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromISO_NW.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromISO_SE.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromISO_SW.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromLEFT.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromRIGHT.png" />
|
||||
<Resource Include="Resources\ViewPanel\LookFromTOP.png" />
|
||||
<Resource Include="Resources\ViewPanel\ZoomAll.png" />
|
||||
<Resource Include="Resources\ViewPanel\ZoomIn.png" />
|
||||
<Resource Include="Resources\ViewPanel\ZoomOut.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ShowPanel\CurveDir.png" />
|
||||
@@ -589,10 +628,7 @@
|
||||
<Resource Include="Resources\ShowPanel\RenderingWF.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\InstrumentPanel\Analyze.png" />
|
||||
<Resource Include="Resources\InstrumentPanel\ChangeParam.png" />
|
||||
<Resource Include="Resources\InstrumentPanel\GetDist.png" />
|
||||
<Resource Include="Resources\InstrumentPanel\Statistics.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TreeView\Folder.png" />
|
||||
@@ -604,7 +640,6 @@
|
||||
<Resource Include="Resources\DrawPanel\Line2P.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\GridViewPanel\Cplane3POINTS.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneBACK.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneBOTTOM.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneELEVATION.png" />
|
||||
@@ -612,11 +647,8 @@
|
||||
<Resource Include="Resources\GridViewPanel\CplaneLEFT.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneOBJECT.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneORIGIN.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplanePERPCURVE.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneRIGHT.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneROTATE.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneTOP.png" />
|
||||
<Resource Include="Resources\GridViewPanel\CplaneView.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\DrawPanel\Delete.png" />
|
||||
@@ -661,19 +693,103 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TopPanel\Edit.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\MachiningDb\Export.png" />
|
||||
<Resource Include="Resources\MachiningDb\Import.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SplashScreen\GoldSplashscreen.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SplashScreen\LogoEgalware.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TopPanel\ManagePart.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TopPanel\MaterialDb.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TopPanel\MachiningDb.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\StatusBar\GridVisibility.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\InstrumentPanel\EdgeAnalysis.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ViewPanel\CplaneView.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\StatusBar\GridVisibilityWhite.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\MachiningDb\MachiningExport.png" />
|
||||
<Resource Include="Resources\MachiningDb\MachiningImport.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TFSEditor\Expand.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SliderManager\FromSelected.png" />
|
||||
<Resource Include="Resources\SliderManager\OnlySelected.png" />
|
||||
<Resource Include="Resources\SliderManager\UntilSelected.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ProjectManager\Export.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ShowPanel\CurveDir_White.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ShowPanel\RenderingHL_White.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ShowPanel\RenderingSH_White.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ShowPanel\RenderingWF_White.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\InstrumentPanel\EdgeAnalysis_White.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\InstrumentPanel\GetDist_White.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\MachiningDb\Edit.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TopPanel\Offset.png" />
|
||||
<Resource Include="Resources\TopPanel\SlicingDirection.png" />
|
||||
<Resource Include="Resources\TopPanel\StrandCount.png" />
|
||||
<Resource Include="Resources\TopPanel\StrandH.png" />
|
||||
<Resource Include="Resources\TopPanel\StrandW.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\Common\Cancel.png" />
|
||||
<Resource Include="Resources\Common\Ok.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SimulationPanel\HeadMode.png" />
|
||||
<Resource Include="Resources\SimulationPanel\MachMode.png" />
|
||||
<Resource Include="Resources\SimulationPanel\ToolMode.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\AboutBox\EgalwareLogo.png" />
|
||||
<Resource Include="Resources\AboutBox\IcarusLogo.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\CurrMachining\SaveInDb.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\MaterialDb\Edit.png" />
|
||||
<Resource Include="Resources\MaterialDb\MaterialExport.png" />
|
||||
<Resource Include="Resources\MaterialDb\MaterialImport.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ViewPanel\LookFromISO_SE.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SliceManager\StopCalculation.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe
|
||||
|
||||
@@ -1,15 +1,45 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Drawing
|
||||
Imports System.IO
|
||||
Imports System.Reflection
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
Imports Icarus.ImportExportMachiningPanelVM
|
||||
|
||||
Public Class ImportExportMachiningPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private Const m_MaterialDataExtension As String = ".mtd"
|
||||
Public Shared ReadOnly Property MaterialDataExtension As String
|
||||
Get
|
||||
Return m_MaterialDataExtension
|
||||
End Get
|
||||
End Property
|
||||
Private Const m_OriginalMaterialDataExtension As String = ".omtd"
|
||||
Public Shared ReadOnly Property OriginalMaterialDataExtension As String
|
||||
Get
|
||||
Return m_OriginalMaterialDataExtension
|
||||
End Get
|
||||
End Property
|
||||
Private Const m_MachiningDataExtension As String = ".mcd"
|
||||
Public Shared ReadOnly Property MachiningDataExtension As String
|
||||
Get
|
||||
Return m_MachiningDataExtension
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Modalita' di apertura della finestra
|
||||
Public Enum WindowModeEnum As Integer
|
||||
IMPORT
|
||||
EXPORT
|
||||
IMPORT = 1
|
||||
EXPORT = 2
|
||||
IMPORT_ORIG = 3
|
||||
EXPORT_ORIG = 4
|
||||
End Enum
|
||||
|
||||
' Tipo da importare/esportare
|
||||
Public Enum WindowTypeEnum As Integer
|
||||
MATERIAL = 1
|
||||
MACHINING = 2
|
||||
End Enum
|
||||
|
||||
Private m_WindowMode As WindowModeEnum
|
||||
@@ -19,6 +49,13 @@ Public Class ImportExportMachiningPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_WindowType As WindowTypeEnum
|
||||
Public ReadOnly Property WindowType As WindowTypeEnum
|
||||
Get
|
||||
Return m_WindowType
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Lista delle lavorazioni
|
||||
Private m_MachiningList As New ObservableCollection(Of ImpExpMachiningItem)
|
||||
Public Property MachiningList As ObservableCollection(Of ImpExpMachiningItem)
|
||||
@@ -85,22 +122,112 @@ Public Class ImportExportMachiningPanelVM
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
' export
|
||||
Sub New()
|
||||
m_WindowMode = WindowModeEnum.EXPORT
|
||||
Sub New(Type As WindowTypeEnum, Mode As WindowModeEnum, Optional sImportFilePath As String = "")
|
||||
m_WindowType = Type
|
||||
ImpExpMachiningItem.SetWindowType(m_WindowType)
|
||||
m_WindowMode = Mode
|
||||
' carico lista lavorazioni
|
||||
MachiningList.Clear()
|
||||
' leggo ed aggiungo le altre
|
||||
Dim nIndex As Integer = 1
|
||||
Dim sGUID As String = ""
|
||||
Dim sName As String = ""
|
||||
Dim sMaterials As String = ""
|
||||
While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID) > 0
|
||||
Dim Guid As Guid = Guid.Empty
|
||||
Guid.TryParse(sGUID, Guid)
|
||||
ReadMachiningParamString(nIndex, MAC_NAME, "", sName)
|
||||
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
|
||||
nIndex += 1
|
||||
End While
|
||||
Select Case Mode
|
||||
Case WindowModeEnum.IMPORT
|
||||
Select Case Type
|
||||
Case WindowTypeEnum.MATERIAL
|
||||
m_ImportFilePath = sImportFilePath
|
||||
' carico lista lavorazioni
|
||||
MachiningList.Clear()
|
||||
' leggo ed aggiungo le altre
|
||||
Dim nIndex As Integer = 1
|
||||
Dim sGUID As String = ""
|
||||
Dim sName As String = ""
|
||||
Dim sMaterials As String = ""
|
||||
Dim bIsOriginal = False
|
||||
Dim bIsCustom = False
|
||||
While ReadMachiningParamString(nIndex, MAT_GUID, "", sGUID, sImportFilePath) > 0
|
||||
Dim Guid As Guid = Guid.Empty
|
||||
Guid.TryParse(sGUID, Guid)
|
||||
ReadMachiningParamString(nIndex, MAT_NAME, "", sName, sImportFilePath)
|
||||
Dim sOrigGUID As String = ""
|
||||
ReadMachiningParamString(nIndex, MAT_ORIG, "", sOrigGUID, sImportFilePath)
|
||||
If sOrigGUID = ORIG_MATERIAL Then
|
||||
If Not bIsOriginal Then bIsOriginal = True
|
||||
Else
|
||||
If Not bIsCustom Then bIsCustom = True
|
||||
End If
|
||||
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, AlreadyExist(sName)))
|
||||
nIndex += 1
|
||||
End While
|
||||
If bIsOriginal AndAlso bIsCustom Then
|
||||
MessageBox.Show("Corrupted file! Impossible to import it!")
|
||||
ElseIf bIsOriginal Then
|
||||
LoadOriginalMaterial()
|
||||
End If
|
||||
Case WindowTypeEnum.MACHINING
|
||||
m_ImportFilePath = sImportFilePath
|
||||
' carico lista lavorazioni
|
||||
MachiningList.Clear()
|
||||
' leggo ed aggiungo le altre
|
||||
Dim nIndex As Integer = 1
|
||||
Dim sGUID As String = ""
|
||||
Dim sName As String = ""
|
||||
Dim sMaterials As String = ""
|
||||
While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID, sImportFilePath) > 0
|
||||
Dim Guid As Guid = Guid.Empty
|
||||
Guid.TryParse(sGUID, Guid)
|
||||
ReadMachiningParamString(nIndex, MAC_NAME, "", sName, sImportFilePath)
|
||||
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, AlreadyExist(sName)))
|
||||
nIndex += 1
|
||||
End While
|
||||
End Select
|
||||
Case WindowModeEnum.EXPORT
|
||||
Select Case Type
|
||||
Case WindowTypeEnum.MATERIAL
|
||||
' leggo ed aggiungo le altre
|
||||
Dim nIndex As Integer = 1
|
||||
Dim sGUID As String = ""
|
||||
Dim sName As String = ""
|
||||
While ReadMaterialParamString(nIndex, MAC_GUID, "", sGUID) > 0
|
||||
Dim sOrigGUID As String = ""
|
||||
ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID)
|
||||
If sOrigGUID <> ORIG_MATERIAL Then
|
||||
Dim Guid As Guid = Guid.Empty
|
||||
Guid.TryParse(sGUID, Guid)
|
||||
ReadMaterialParamString(nIndex, MAC_NAME, "", sName)
|
||||
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
|
||||
End If
|
||||
nIndex += 1
|
||||
End While
|
||||
Case WindowTypeEnum.MACHINING
|
||||
' leggo ed aggiungo le altre
|
||||
Dim nIndex As Integer = 1
|
||||
Dim sGUID As String = ""
|
||||
Dim sName As String = ""
|
||||
While ReadMachiningParamString(nIndex, MAC_GUID, "", sGUID) > 0
|
||||
Dim Guid As Guid = Guid.Empty
|
||||
Guid.TryParse(sGUID, Guid)
|
||||
ReadMachiningParamString(nIndex, MAC_NAME, "", sName)
|
||||
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
|
||||
nIndex += 1
|
||||
End While
|
||||
End Select
|
||||
Case WindowModeEnum.EXPORT_ORIG
|
||||
If Type = WindowTypeEnum.MATERIAL Then
|
||||
' leggo ed aggiungo le altre
|
||||
Dim nIndex As Integer = 1
|
||||
Dim sGUID As String = ""
|
||||
Dim sName As String = ""
|
||||
While ReadMaterialParamString(nIndex, MAC_GUID, "", sGUID) > 0
|
||||
Dim sOrigGUID As String = ""
|
||||
ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID)
|
||||
If sOrigGUID = ORIG_MATERIAL Then
|
||||
Dim Guid As Guid = Guid.Empty
|
||||
Guid.TryParse(sGUID, Guid)
|
||||
ReadMaterialParamString(nIndex, MAC_NAME, "", sName)
|
||||
MachiningList.Add(New ImpExpMachiningItem(nIndex, Guid, sName, False))
|
||||
End If
|
||||
nIndex += 1
|
||||
End While
|
||||
End If
|
||||
End Select
|
||||
ImpExpMachiningItem.m_delEnableOkBtn = AddressOf EnableOkBtn
|
||||
End Sub
|
||||
|
||||
@@ -134,9 +261,104 @@ Public Class ImportExportMachiningPanelVM
|
||||
End Sub
|
||||
|
||||
Private Function AlreadyExist(MachiningName As String) As Boolean
|
||||
Return Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = MachiningName)
|
||||
Select Case m_WindowType
|
||||
Case WindowTypeEnum.MATERIAL
|
||||
Return Map.refMaterialDbVM.MaterialList.Any(Function(x) x.sName = MachiningName)
|
||||
Case Else ' WindowTypeEnum.MACHINING
|
||||
Return Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = MachiningName)
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Enum MaterialState As Integer
|
||||
NOTFOUND = 1
|
||||
FOUND = 2
|
||||
NOTORIGSAMENAME = 3
|
||||
End Enum
|
||||
|
||||
Private Sub LoadOriginalMaterial()
|
||||
m_WindowMode = WindowModeEnum.IMPORT_ORIG
|
||||
' verifico se esistono materiali con lo stesso nome ma non originali
|
||||
Dim ImportedMaterialList As New List(Of MaterialState)
|
||||
For Each ImpExpMaterial In m_MachiningList
|
||||
Dim IsNotOrigSameName As MaterialState = MaterialState.NOTFOUND
|
||||
For Each DbMaterial In Map.refMaterialDbVM.MaterialList
|
||||
If DbMaterial.sName = ImpExpMaterial.sName Then
|
||||
Dim sOrigGUID As String = ""
|
||||
ReadMaterialParamString(DbMaterial.nIndex, MAT_ORIG, "", sOrigGUID)
|
||||
If sOrigGUID <> ORIG_MATERIAL Then
|
||||
If Not IsNotOrigSameName Then IsNotOrigSameName = MaterialState.NOTORIGSAMENAME
|
||||
End If
|
||||
Else
|
||||
IsNotOrigSameName = MaterialState.FOUND
|
||||
End If
|
||||
Next
|
||||
ImportedMaterialList.Add(IsNotOrigSameName)
|
||||
Next
|
||||
If ImportedMaterialList.Contains(True) Then
|
||||
Dim sDuplicatedMaterialList As String = ""
|
||||
For Index = 0 To ImportedMaterialList.Count - 1
|
||||
If ImportedMaterialList(Index) = MaterialState.NOTORIGSAMENAME Then
|
||||
sDuplicatedMaterialList &= " - " & m_MachiningList(Index).sName & Environment.NewLine
|
||||
End If
|
||||
Next
|
||||
MessageBox.Show("Impossible to import the package because materials named:" & Environment.NewLine &
|
||||
sDuplicatedMaterialList & Environment.NewLine &
|
||||
"Please modify the names of these machining and then retry to import the materials.")
|
||||
Return
|
||||
End If
|
||||
' aggiorno/aggiungo materiali
|
||||
Dim OrigFilePath As String = CurrentMachine.sMaterialFilePath
|
||||
Dim NewMaterial As Material = Nothing
|
||||
For Each Material In m_MachiningList
|
||||
Dim nIndex As Integer = Map.refMaterialDbVM.MaterialList.Max(Function(x) x.nIndex) + 1
|
||||
If Material.Active Then
|
||||
CurrentMachine.SetMaterialFilePath(ImportFilePath)
|
||||
' leggo lavorazione da file di import
|
||||
NewMaterial = New Material(Material.nIndex)
|
||||
' cambio guid, indice e verifico nome
|
||||
NewMaterial.sGUID = Guid.NewGuid.ToString()
|
||||
NewMaterial.SetIndex(nIndex)
|
||||
If Material.AlreadyExist Then
|
||||
If Material.ChangeName Then
|
||||
NewMaterial.sName = Material.sName
|
||||
Map.refMaterialDbVM.MaterialList.Add(NewMaterial)
|
||||
Else
|
||||
' sostituisco lavorazione gia' presente con stesso nome
|
||||
Dim ToSubstituteMaterial As Material = Map.refMaterialDbVM.MaterialList.FirstOrDefault(Function(x) x.sName = Material.sName)
|
||||
NewMaterial.SetIndex(ToSubstituteMaterial.nIndex)
|
||||
NewMaterial.sGUID = ToSubstituteMaterial.sGUID
|
||||
Dim nToReplaceIndex As Integer = Map.refMaterialDbVM.MaterialList.IndexOf(ToSubstituteMaterial)
|
||||
Map.refMaterialDbVM.MaterialList(nToReplaceIndex) = NewMaterial
|
||||
End If
|
||||
Else
|
||||
Map.refMaterialDbVM.MaterialList.Add(NewMaterial)
|
||||
End If
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMaterialFilePath(OrigFilePath)
|
||||
' salvo la lavorazione
|
||||
NewMaterial.Save()
|
||||
End If
|
||||
Next
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMaterialFilePath(OrigFilePath)
|
||||
' seleziono ultima importata
|
||||
If Not IsNothing(NewMaterial) Then
|
||||
Map.refMaterialDbVM.SelMaterial = NewMaterial
|
||||
Map.refMaterialDbVM.NotifyPropertyChanged(NameOf(Map.refMaterialDbVM.SelMaterial))
|
||||
End If
|
||||
' imposto Db modificato
|
||||
Map.refMaterialDbVM.SetIsModified(True)
|
||||
' messaggio con modifiche
|
||||
Dim sMaterialList As String = ""
|
||||
For Index = 0 To ImportedMaterialList.Count - 1
|
||||
sMaterialList &= " - " & m_MachiningList(Index).sName & " (" & If(ImportedMaterialList(Index) = MaterialState.NOTFOUND, "New", "Updated") & ")" & Environment.NewLine
|
||||
Next
|
||||
MessageBox.Show("List of the materials:" & Environment.NewLine &
|
||||
sMaterialList & Environment.NewLine &
|
||||
"Import successfully completed.")
|
||||
Return
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -159,52 +381,109 @@ Public Class ImportExportMachiningPanelVM
|
||||
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
||||
''' </summary>
|
||||
Public Sub ConfirmImpExpMachinings(param As Object)
|
||||
Select Case WindowMode
|
||||
Select Case m_WindowMode
|
||||
Case WindowModeEnum.IMPORT
|
||||
Dim OrigFilePath As String = CurrentMachine.sMachiningFilePath
|
||||
Dim NewMachining As Machining = Nothing
|
||||
For Each Machining In m_MachiningList
|
||||
Dim nIndex As Integer = Map.refMachiningDbVM.MachiningList.Max(Function(x) x.nIndex) + 1
|
||||
If Machining.Active Then
|
||||
CurrentMachine.SetMachiningFilePath(ImportFilePath)
|
||||
' leggo lavorazione da file di import
|
||||
NewMachining = New Machining(Machining.nIndex)
|
||||
' cambio guid, indice e verifico nome
|
||||
NewMachining.sGUID = Guid.NewGuid.ToString()
|
||||
NewMachining.SetIndex(nIndex)
|
||||
If Machining.AlreadyExist Then
|
||||
If Machining.ChangeName Then
|
||||
NewMachining.sName = Machining.sName
|
||||
Select Case m_WindowType
|
||||
Case WindowTypeEnum.MATERIAL
|
||||
Dim OrigFilePath As String = CurrentMachine.sMaterialFilePath
|
||||
Dim NewMaterial As Material = Nothing
|
||||
For Each Material In m_MachiningList
|
||||
Dim nIndex As Integer = Map.refMaterialDbVM.MaterialList.Max(Function(x) x.nIndex) + 1
|
||||
If Material.Active Then
|
||||
CurrentMachine.SetMaterialFilePath(ImportFilePath)
|
||||
' leggo lavorazione da file di import
|
||||
NewMaterial = New Material(Material.nIndex)
|
||||
' cambio guid, indice e verifico nome
|
||||
NewMaterial.sGUID = Guid.NewGuid.ToString()
|
||||
NewMaterial.SetIndex(nIndex)
|
||||
If Material.AlreadyExist Then
|
||||
If Material.ChangeName Then
|
||||
NewMaterial.sName = Material.sName
|
||||
Map.refMaterialDbVM.MaterialList.Add(NewMaterial)
|
||||
Else
|
||||
' sostituisco lavorazione gia' presente con stesso nome
|
||||
Dim ToSubstituteMaterial As Material = Map.refMaterialDbVM.MaterialList.FirstOrDefault(Function(x) x.sName = Material.sName)
|
||||
NewMaterial.SetIndex(ToSubstituteMaterial.nIndex)
|
||||
NewMaterial.sGUID = ToSubstituteMaterial.sGUID
|
||||
Dim nToReplaceIndex As Integer = Map.refMaterialDbVM.MaterialList.IndexOf(ToSubstituteMaterial)
|
||||
Map.refMaterialDbVM.MaterialList(nToReplaceIndex) = NewMaterial
|
||||
End If
|
||||
Else
|
||||
Map.refMaterialDbVM.MaterialList.Add(NewMaterial)
|
||||
End If
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMaterialFilePath(OrigFilePath)
|
||||
' salvo la lavorazione
|
||||
NewMaterial.Save()
|
||||
End If
|
||||
Next
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMaterialFilePath(OrigFilePath)
|
||||
' seleziono ultima importata
|
||||
If Not IsNothing(NewMaterial) Then
|
||||
Map.refMaterialDbVM.SelMaterial = NewMaterial
|
||||
Map.refMaterialDbVM.NotifyPropertyChanged(NameOf(Map.refMaterialDbVM.SelMaterial))
|
||||
End If
|
||||
Map.refMachiningDbVM.MachiningList.Add(NewMachining)
|
||||
' imposto Db modificato
|
||||
Map.refMaterialDbVM.SetIsModified(True)
|
||||
Case WindowTypeEnum.MACHINING
|
||||
Dim OrigFilePath As String = CurrentMachine.sMachiningFilePath
|
||||
Dim NewMachining As Machining = Nothing
|
||||
For Each Machining In m_MachiningList
|
||||
Dim nIndex As Integer = Map.refMachiningDbVM.MachiningList.Max(Function(x) x.nIndex) + 1
|
||||
If Machining.Active Then
|
||||
CurrentMachine.SetMachiningFilePath(ImportFilePath)
|
||||
' leggo lavorazione da file di import
|
||||
NewMachining = New Machining(Machining.nIndex)
|
||||
' cambio guid, indice e verifico nome
|
||||
NewMachining.sGUID = Guid.NewGuid.ToString()
|
||||
NewMachining.SetIndex(nIndex)
|
||||
If Machining.AlreadyExist Then
|
||||
If Machining.ChangeName Then
|
||||
NewMachining.sName = Machining.sName
|
||||
Map.refMachiningDbVM.MachiningList.Add(NewMachining)
|
||||
Else
|
||||
' sostituisco lavorazione gia' presente con stesso nome
|
||||
Dim ToSubstituteMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.sName = Machining.sName)
|
||||
NewMachining.SetIndex(ToSubstituteMachining.nIndex)
|
||||
NewMachining.sGUID = ToSubstituteMachining.sGUID
|
||||
Dim nToReplaceIndex As Integer = Map.refMachiningDbVM.MachiningList.IndexOf(ToSubstituteMachining)
|
||||
Map.refMachiningDbVM.MachiningList(nToReplaceIndex) = NewMachining
|
||||
End If
|
||||
Else
|
||||
Map.refMachiningDbVM.MachiningList.Add(NewMachining)
|
||||
End If
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMachiningFilePath(OrigFilePath)
|
||||
' salvo la lavorazione
|
||||
NewMachining.Save()
|
||||
End If
|
||||
Next
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMachiningFilePath(OrigFilePath)
|
||||
' salvo la lavorazione
|
||||
NewMachining.Save()
|
||||
' seleziono ultima importata
|
||||
If Not IsNothing(NewMachining) Then
|
||||
Map.refMachiningDbVM.SelMachining = NewMachining
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.SelMachining))
|
||||
End If
|
||||
' imposto Db modificato
|
||||
Map.refMachiningDbVM.SetIsModified(True)
|
||||
End Select
|
||||
Case WindowModeEnum.EXPORT, WindowModeEnum.EXPORT_ORIG
|
||||
' chiedo il nome con cui salvare il file
|
||||
Dim sExtension As String =""
|
||||
If m_WindowType = WindowTypeEnum.MATERIAL Then
|
||||
If m_WindowMode = WindowModeEnum.EXPORT_ORIG Then
|
||||
sExtension = OriginalMaterialDataExtension
|
||||
Else
|
||||
sExtension = MaterialDataExtension
|
||||
End If
|
||||
Next
|
||||
' ripristino path corretta del Db
|
||||
CurrentMachine.SetMachiningFilePath(OrigFilePath)
|
||||
' seleziono ultima importata
|
||||
If Not IsNothing(NewMachining) Then
|
||||
Map.refMachiningDbVM.SelMachining = NewMachining
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.SelMachining))
|
||||
Else
|
||||
sExtension = MachiningDataExtension
|
||||
End If
|
||||
Case WindowModeEnum.EXPORT
|
||||
' recupero le lavorazioni checkate
|
||||
Dim FinalNameList As New List(Of String)
|
||||
For Each Machining In MachiningList
|
||||
If Machining.Active Then
|
||||
FinalNameList.Add(Machining.sName)
|
||||
End If
|
||||
Next
|
||||
If FinalNameList.Count() = 0 Then Return
|
||||
Dim FinalNameArray = FinalNameList.ToArray()
|
||||
' chiedo il nome con cui salvare il file .data
|
||||
Dim SaveFileDlg As New System.Windows.Forms.SaveFileDialog() With {
|
||||
.Title = EgtMsg(31451) & " " & EgtMsg(31452),
|
||||
.Filter = "File data (*.data)|*.data|Tutti i file (*.*)|*.*",
|
||||
.Filter = "File data (*" & sExtension & ")|*" & sExtension,
|
||||
.FileName = String.Empty
|
||||
}
|
||||
If SaveFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
|
||||
@@ -224,15 +503,25 @@ Public Class ImportExportMachiningPanelVM
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
Dim ActiveMachiningList As List(Of Machining) = (From Machining In Map.refMachiningDbVM.MachiningList
|
||||
Select Machining
|
||||
Where m_MachiningList.Any(Function(x) x.sGUID.ToString() = Machining.sGUID AndAlso x.Active)).ToList()
|
||||
' salvo tutte le lavorazioni sul Db
|
||||
For Index = 0 To ActiveMachiningList.Count - 1
|
||||
ActiveMachiningList(Index).WriteParamsOnDb(Index + 1, sFilePath)
|
||||
Next
|
||||
Select Case m_WindowType
|
||||
Case WindowTypeEnum.MATERIAL
|
||||
Dim ActiveMachiningList As List(Of Material) = (From Material In Map.refMaterialDbVM.MaterialList
|
||||
Select Material
|
||||
Where m_MachiningList.Any(Function(x) x.sGUID.ToString() = Material.sGUID AndAlso x.Active)).ToList()
|
||||
' salvo tutti i materiali sul Db
|
||||
For Index = 0 To ActiveMachiningList.Count - 1
|
||||
ActiveMachiningList(Index).WriteParamsOnDb(Index + 1, sFilePath)
|
||||
Next
|
||||
Case WindowTypeEnum.MACHINING
|
||||
Dim ActiveMachiningList As List(Of Machining) = (From Machining In Map.refMachiningDbVM.MachiningList
|
||||
Select Machining
|
||||
Where m_MachiningList.Any(Function(x) x.sGUID.ToString() = Machining.sGUID AndAlso x.Active)).ToList()
|
||||
' salvo tutte le lavorazioni sul Db
|
||||
For Index = 0 To ActiveMachiningList.Count - 1
|
||||
ActiveMachiningList(Index).WriteParamsOnDb(Index + 1, sFilePath)
|
||||
Next
|
||||
End Select
|
||||
End Select
|
||||
|
||||
' Chiusura finestra
|
||||
RaiseEvent m_CloseWindow(True)
|
||||
End Sub
|
||||
@@ -246,13 +535,18 @@ End Class
|
||||
Public Class ImpExpMachiningItem
|
||||
Inherits VMBase
|
||||
|
||||
Public Const IMPEXTNAME As String = "_imp"
|
||||
Public Const IMPEXPNAME As String = "_imp"
|
||||
|
||||
' Actions
|
||||
Friend Shared m_delEnableOkBtn As Action
|
||||
|
||||
Private Shared m_Empty As New MachiningIndex(-1, Guid.Empty, "None")
|
||||
|
||||
Private Shared m_WindowType As WindowTypeEnum
|
||||
Friend Shared Sub SetWindowType(value As WindowTypeEnum)
|
||||
m_WindowType = value
|
||||
End Sub
|
||||
|
||||
Private m_nIndex As Integer
|
||||
Public ReadOnly Property nIndex As Integer
|
||||
Get
|
||||
@@ -284,26 +578,51 @@ Public Class ImpExpMachiningItem
|
||||
' se esiste gia' chiedo se sovrascriverla
|
||||
If value Then
|
||||
If m_AlreadyExist Then
|
||||
Select Case System.Windows.MessageBox.Show(EgtMsg(31453), "", MessageBoxButton.YesNoCancel)
|
||||
Case MessageBoxResult.Yes
|
||||
m_ChangeName = False
|
||||
m_Active = True
|
||||
Case MessageBoxResult.No
|
||||
Dim bImpNameAlreadyInList = False
|
||||
Dim nImpNameIndex As Integer = 0
|
||||
If Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXTNAME) Then
|
||||
nImpNameIndex += 1
|
||||
While Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXTNAME & "_" & nImpNameIndex)
|
||||
nImpNameIndex += 1
|
||||
End While
|
||||
End If
|
||||
m_sName = m_sOrigName & IMPEXTNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "")
|
||||
System.Windows.MessageBox.Show("Machining will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
m_ChangeName = True
|
||||
m_Active = True
|
||||
Case Else
|
||||
m_Active = False
|
||||
Select Case m_WindowType
|
||||
Case WindowTypeEnum.MATERIAL
|
||||
Select Case System.Windows.MessageBox.Show("Material already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel)
|
||||
Case MessageBoxResult.Yes
|
||||
m_ChangeName = False
|
||||
m_Active = True
|
||||
Case MessageBoxResult.No
|
||||
Dim bImpNameAlreadyInList = False
|
||||
Dim nImpNameIndex As Integer = 0
|
||||
If Map.refMaterialDbVM.MaterialList.Any(Function(x) x.sName = m_sOrigName & IMPEXPNAME) Then
|
||||
nImpNameIndex += 1
|
||||
While Map.refMaterialDbVM.MaterialList.Any(Function(x) x.sName = m_sOrigName & IMPEXPNAME & "_" & nImpNameIndex)
|
||||
nImpNameIndex += 1
|
||||
End While
|
||||
End If
|
||||
m_sName = m_sOrigName & IMPEXPNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "")
|
||||
System.Windows.MessageBox.Show("Material will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
m_ChangeName = True
|
||||
m_Active = True
|
||||
Case Else
|
||||
m_Active = False
|
||||
End Select
|
||||
Case WindowTypeEnum.MACHINING
|
||||
Select Case System.Windows.MessageBox.Show("Machining already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel)
|
||||
Case MessageBoxResult.Yes
|
||||
m_ChangeName = False
|
||||
m_Active = True
|
||||
Case MessageBoxResult.No
|
||||
Dim bImpNameAlreadyInList = False
|
||||
Dim nImpNameIndex As Integer = 0
|
||||
If Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXPNAME) Then
|
||||
nImpNameIndex += 1
|
||||
While Map.refMachiningDbVM.MachiningList.Any(Function(x) x.sName = m_sOrigName & IMPEXPNAME & "_" & nImpNameIndex)
|
||||
nImpNameIndex += 1
|
||||
End While
|
||||
End If
|
||||
m_sName = m_sOrigName & IMPEXPNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "")
|
||||
System.Windows.MessageBox.Show("Machining will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
m_ChangeName = True
|
||||
m_Active = True
|
||||
Case Else
|
||||
m_Active = False
|
||||
End Select
|
||||
End Select
|
||||
NotifyPropertyChanged(NameOf(Active))
|
||||
Else
|
||||
@@ -360,82 +679,3 @@ Public Class ImpExpMachiningItem
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
Public Class MachiningItem
|
||||
Inherits VMBase
|
||||
|
||||
' Actions
|
||||
Friend Shared m_delEnableOkBtn As Action
|
||||
|
||||
Private m_Name As String
|
||||
Public Property Name As String
|
||||
Get
|
||||
If m_ChangeName Then
|
||||
Return m_Name & "_imp"
|
||||
Else
|
||||
Return m_Name
|
||||
End If
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_Name = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_Active As Boolean
|
||||
Public Property Active As Boolean
|
||||
Get
|
||||
Return m_Active
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
' se esiste gia' chiedo se sovrascriverla
|
||||
If value Then
|
||||
If m_AlreadyExist Then
|
||||
Select Case System.Windows.MessageBox.Show(EgtMsg(31453), "", MessageBoxButton.YesNoCancel)
|
||||
Case MessageBoxResult.Yes
|
||||
m_ChangeName = False
|
||||
m_Active = True
|
||||
Case MessageBoxResult.No
|
||||
System.Windows.MessageBox.Show(EgtMsg(31454), "", MessageBoxButton.OK)
|
||||
m_ChangeName = True
|
||||
m_Active = True
|
||||
Case Else
|
||||
m_Active = False
|
||||
End Select
|
||||
NotifyPropertyChanged("Active")
|
||||
Else
|
||||
m_Active = True
|
||||
End If
|
||||
Else
|
||||
m_ChangeName = False
|
||||
m_Active = False
|
||||
End If
|
||||
If Not IsNothing(m_delEnableOkBtn) Then m_delEnableOkBtn()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Parametro che indica se questo item da importare esiste gia'
|
||||
Private m_AlreadyExist As Boolean
|
||||
Friend ReadOnly Property AlreadyExist As Boolean
|
||||
Get
|
||||
Return m_AlreadyExist
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Parametro che indica se cambiare il nome di un item che esiste gia' o sovrascriverlo
|
||||
Private m_ChangeName As Boolean
|
||||
Friend Property ChangeName As Boolean
|
||||
Get
|
||||
Return m_ChangeName
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_ChangeName = value
|
||||
NotifyPropertyChanged("Name")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(Name As String, AlreadyExist As Boolean)
|
||||
m_Name = Name
|
||||
m_AlreadyExist = AlreadyExist
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1,14 +1,29 @@
|
||||
<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="False" IsLeftDockable="False"
|
||||
IsRightDockable="False" Style="{StaticResource ToolBar_EgtFloatingPanel}">
|
||||
<StackPanel x:Class="InstrumentPanelV"
|
||||
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:local="clr-namespace:Icarus"
|
||||
Orientation="Horizontal">
|
||||
|
||||
<ToggleButton ToolTip="{Binding GetDistToolTip}"
|
||||
Style="{StaticResource ToolBar_ToggleButton}"
|
||||
IsChecked="{Binding GetDistIsChecked}">
|
||||
<Image Source="/Resources/InstrumentPanel/GetDist.png" Stretch="Uniform"/>
|
||||
</ToggleButton>
|
||||
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
<local:CheckedImageToggleButton ToolTip="{Binding GetDist_ToolTip}"
|
||||
IsChecked="{Binding GetDistIsChecked}"
|
||||
ImageSource="/Resources/InstrumentPanel/GetDist.png"
|
||||
CheckedImageSource="/Resources/InstrumentPanel/GetDist_White.png"
|
||||
Width="15"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource BottomPanel_ToggleButton}">
|
||||
<local:CheckedImageToggleButton.Resources>
|
||||
<sys:Double x:Key="ToggleButton.Image.Height">25</sys:Double>
|
||||
<sys:Double x:Key="ToggleButton.Image.Width">25</sys:Double>
|
||||
</local:CheckedImageToggleButton.Resources>
|
||||
</local:CheckedImageToggleButton>
|
||||
<local:CheckedImageToggleButton ToolTip="{Binding EdgeAnalysis_ToolTip}"
|
||||
IsChecked="{Binding bEdgeAnalysis_IsChecked}"
|
||||
IsEnabled="{Binding bEdgeAnalysis_IsEnabled}"
|
||||
ImageSource="/Resources/InstrumentPanel/EdgeAnalysis.png"
|
||||
CheckedImageSource="/Resources/InstrumentPanel/EdgeAnalysis_White.png"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource BottomPanel_ToggleButton}">
|
||||
</local:CheckedImageToggleButton>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
@@ -139,6 +139,22 @@ Public Class MyInstrumentPanelVM
|
||||
NotifyPropertyChanged(NameOf(bEdgeAnalysis_IsEnabled))
|
||||
End Sub
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property GetDist_ToolTip As String
|
||||
Get
|
||||
Return "Distance"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property EdgeAnalysis_ToolTip As String
|
||||
Get
|
||||
Return "Edge Analysis"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Tooltip
|
||||
|
||||
#Region "CONSTRUCTORS"
|
||||
|
||||
Sub New()
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
<UserControl x:Class="LeftPanelV"
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Margin="5">
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Margin="5,0,5,0">
|
||||
<TabControl SelectedIndex="{Binding SelPanel}"
|
||||
Background="Transparent"
|
||||
BorderThickness="0">
|
||||
BorderThickness="0"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<TabControl.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TabItem}">
|
||||
<Setter Property="Visibility" Value="Collapsed"/>
|
||||
@@ -34,7 +36,7 @@
|
||||
<PrintApp:ShellNumberPanelV DataContext="{StaticResource ShellNumberPanelVM}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="AUXSOLIDS">
|
||||
<Button Height="100"/>
|
||||
<PrintApp:FilledSolidPanelV DataContext="{StaticResource FilledSolidPanelVM}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="MODIFYPART">
|
||||
<!--<PrintApp:ModifyPartPanelV DataContext="{StaticResource ModifyPartPanelVM}"/>-->
|
||||
|
||||
@@ -39,6 +39,8 @@ Public Class LeftPanelVM
|
||||
Map.refRibPanelVM.Dispose()
|
||||
Case Panels.SHELLNUMBER
|
||||
Map.refShellNumberPanelVM.Dispose()
|
||||
Case Panels.AUXSOLIDS
|
||||
Map.refFilledSolidPanelVM.Dispose()
|
||||
End Select
|
||||
m_SelPanel = Panel
|
||||
Select Case Panel
|
||||
@@ -54,11 +56,12 @@ Public Class LeftPanelVM
|
||||
Map.refRibPanelVM.Init()
|
||||
Case Panels.SHELLNUMBER
|
||||
Map.refShellNumberPanelVM.Init()
|
||||
Case Panels.AUXSOLIDS
|
||||
Map.refFilledSolidPanelVM.Init()
|
||||
Case Panels.MODIFYPART
|
||||
''Map.refModifyPartPanelVM.Init()
|
||||
Map.refManagePartPanelVM.Init(ManagePartPanelVM.ManagePartType.MODIFY)
|
||||
End Select
|
||||
Map.refViewLayerManagerVM.UpdateForced()
|
||||
If Not IsNothing(Map.refViewLayerManagerVM) Then Map.refViewLayerManagerVM.UpdateForced()
|
||||
NotifyPropertyChanged(NameOf(SelPanel))
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -4,52 +4,9 @@
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
IsEnabled="{Binding MachPanel_IsEnabled}">
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid Margin="0,0,5,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<!--<TextBlock Grid.Row="0" Grid.Column="0" Text="Macchina corrente" VerticalAlignment="Center" Margin="0,0,5,0"/>-->
|
||||
<!--Combobox per selezionare la macchina corrente-->
|
||||
<!--<ComboBox ItemsSource="{Binding Path=MachineList}"
|
||||
SelectedItem="{Binding Path=SelectedMachine}"
|
||||
DisplayMemberPath="Name"
|
||||
SelectedValuePath="Name"
|
||||
Height="22" Width="150"
|
||||
Grid.Row="0" Grid.Column="1"/>-->
|
||||
<!--<Rectangle HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Fill="LightGray"/>-->
|
||||
<TextBlock Text="{Binding SelectedMachine.Name}"
|
||||
Style="{StaticResource OptionTextBlock}"/>
|
||||
</Grid>
|
||||
<!--<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<Button Command="{Binding ToolDbCommand}" ToolTip="{Binding ToolDBToolTip}"
|
||||
Style="{StaticResource ToolBar_TextButton}" Content="{Binding ToolDBMsg}"/>
|
||||
<Button Command="{Binding MachDbCommand}" ToolTip="{Binding MachiningDbToolTip}"
|
||||
Style="{StaticResource ToolBar_TextButton}" Content="{Binding MachiningDbMsg}"/>
|
||||
--><!--<Button Command="{Binding SetUpCommand}" ToolTip="{Binding SetUpToolTip}"
|
||||
Style="{StaticResource ToolBar_TextButton}" Content="{Binding SetUpMsg}"
|
||||
Background="{Binding SetUp_Background}"/>--><!--
|
||||
<Button ToolTip="{Binding BeamTable_ToolTip}"
|
||||
Style="{StaticResource ToolBar_Button}"
|
||||
Command="{Binding BeamTable_Command}"
|
||||
Visibility="{Binding BeamTable_Visibility}">
|
||||
<Image Source="/Resources/Configuration/MachiningsTable.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding WallTable_ToolTip}"
|
||||
Style="{StaticResource ToolBar_Button}"
|
||||
Command="{Binding WallTable_Command}"
|
||||
Visibility="{Binding WallTable_Visibility}">
|
||||
<Image Source="/Resources/Configuration/MachiningsTable.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
--><!--<Button Command="{Binding MachOptionsCommand}" ToolTip="{Binding OptionsToolTip}">
|
||||
<Image Source="/Resources/ProjectManager/Options.png" Height="22" />
|
||||
</Button>--><!--
|
||||
</StackPanel>-->
|
||||
FontSize="18"
|
||||
HorizontalAlignment="Center"
|
||||
Style="{StaticResource BaseTextBlock}"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<UserControl x:Class="MachineViewPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
VerticalContentAlignment="Top">
|
||||
<ComboBox SelectedIndex="{Binding ghSelMachView}"
|
||||
Height="40"
|
||||
Width="40"
|
||||
Style="{StaticResource SelViewSlider_ComboBox}">
|
||||
<ComboBoxItem>
|
||||
<Image Source="\Resources\SimulationPanel\HeadMode.png"
|
||||
Style="{StaticResource ComboBox.Image}"/>
|
||||
</ComboBoxItem>
|
||||
<ComboBoxItem>
|
||||
<Image Source="\Resources\SimulationPanel\HeadMode.png"
|
||||
Style="{StaticResource ComboBox.Image}"/>
|
||||
</ComboBoxItem>
|
||||
<ComboBoxItem>
|
||||
<Image Source="\Resources\SimulationPanel\MachMode.png"
|
||||
Style="{StaticResource ComboBox.Image}"/>
|
||||
</ComboBoxItem>
|
||||
</ComboBox>
|
||||
</UserControl>
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class MachineViewPanelV
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,35 @@
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class MachineViewPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_nSelMachView As MCH_LOOK
|
||||
Public Property ghSelMachView As Integer
|
||||
Get
|
||||
Return m_nSelMachView - 1
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nSelMachView = value + 1
|
||||
If Not IsNothing(Map.refSimulationPanelVM) Then
|
||||
Dim MySimul As SimulationVM = Map.refSimulationPanelVM.MySimul
|
||||
MySimul.SetMachLook(m_nSelMachView)
|
||||
' aggiorno lo stato della macchina e la sua visualizzazione
|
||||
EgtSetMachineLook(MySimul.GetMachLook())
|
||||
WriteMainPrivateProfileString(S_SIMUL, K_MACHVIEWMODE, m_nSelMachView)
|
||||
End If
|
||||
EgtDraw()
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetSelViewSlider(value As MCH_LOOK)
|
||||
m_nSelMachView = value
|
||||
NotifyPropertyChanged(NameOf(ghSelMachView))
|
||||
End Sub
|
||||
|
||||
Sub New()
|
||||
' leggo vista macchina da ini e la imposto
|
||||
Dim DefaultMachViewMode As Integer = GetMainPrivateProfileInt(S_SIMUL, K_MACHVIEWMODE, 3)
|
||||
SetSelViewSlider(DefaultMachViewMode)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Collections.Specialized
|
||||
Imports System.ComponentModel
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
@@ -53,6 +54,17 @@ Public Class Machining
|
||||
FAST = 2
|
||||
End Enum
|
||||
|
||||
Public Enum MPAR_PRINT_ORDER As Integer
|
||||
SHELL = 1
|
||||
EXTRA_SHELL = 2
|
||||
INFILL = 3
|
||||
AUX_SOLID = 4
|
||||
RIB_UNBOUNDED = 5
|
||||
RIB_EXTERNAL = 6
|
||||
RIB_INTERNAL = 7
|
||||
RIB_SUPPORT = 8
|
||||
End Enum
|
||||
|
||||
Protected m_CathegoryList As New ObservableCollection(Of MachiningCathegory)
|
||||
Public ReadOnly Property CathegoryList As ObservableCollection(Of MachiningCathegory)
|
||||
Get
|
||||
@@ -125,7 +137,7 @@ Public Class Machining
|
||||
Else
|
||||
nIndex = -1
|
||||
m_sGUID = Guid.NewGuid.ToString()
|
||||
m_sName = "PrintingParam"
|
||||
m_sName = "New Machining"
|
||||
End If
|
||||
m_sOrigName = m_sName
|
||||
m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nIndex))
|
||||
@@ -160,7 +172,7 @@ Public Class Machining
|
||||
NotifyPropertyChanged(NameOf(ghName))
|
||||
End Sub
|
||||
|
||||
Friend Sub Save()
|
||||
Friend Overridable Sub Save()
|
||||
If bIsModified Then
|
||||
' salvo tutti i parametri su orig
|
||||
SaveParams()
|
||||
@@ -171,7 +183,7 @@ Public Class Machining
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub SaveParams()
|
||||
Protected Overridable Sub SaveParams()
|
||||
SaveName()
|
||||
For Each Cathegory In m_CathegoryList
|
||||
Cathegory.SaveParams()
|
||||
@@ -204,8 +216,9 @@ Public Class Machining
|
||||
|
||||
Friend Overridable Sub OnMachiningParamPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
|
||||
Select Case e.PropertyName
|
||||
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue)
|
||||
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue), NameOf(sender.Value)
|
||||
UpdateIsModified()
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -316,7 +329,8 @@ Public Class MachiningCathegory
|
||||
New NumericMachiningParam(MachiningParam.Params.G0FEEDZ, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.TOOLDIAM, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nIndex),
|
||||
New ComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nIndex)})
|
||||
New ComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nIndex),
|
||||
New OrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nIndex)})
|
||||
Case Cathegories.LINK
|
||||
m_sName = "Shell"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.LINKTYPE, nIndex),
|
||||
@@ -342,13 +356,15 @@ Public Class MachiningCathegory
|
||||
New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex),
|
||||
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex),
|
||||
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nIndex),
|
||||
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nIndex),
|
||||
New CheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nIndex),
|
||||
New CheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nIndex),
|
||||
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex)})
|
||||
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex),
|
||||
New CheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nIndex)})
|
||||
Case Cathegories.SHELL_NUMBER
|
||||
m_sName = "Reduce Shell Number"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nIndex),
|
||||
@@ -405,65 +421,67 @@ Public MustInherit Class MachiningParam
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum Params As Integer
|
||||
NAME = 2
|
||||
SLICINGTYPE = 3
|
||||
STRANDH = 4
|
||||
STRANDW = 5
|
||||
STRANDCOUNT = 6
|
||||
OFFSET = 7
|
||||
SLICINGTYPE = 1
|
||||
SPIRALVASE = 2
|
||||
STRANDH = 3
|
||||
STRANDW = 4
|
||||
STRANDCOUNT = 5
|
||||
OFFSET = 6
|
||||
STRANDOVERLAP = 7
|
||||
STARTPOINTOFFSETONSLICE = 8
|
||||
STRANDORDER = 9
|
||||
DIRECTION = 10
|
||||
LINKTYPE = 11
|
||||
LINKPARAM = 12
|
||||
LINKZUP = 13
|
||||
OFFSETLEADPOINT = 14
|
||||
LEADIN = 15
|
||||
LEADINTANGDIST = 16
|
||||
LEADINORTHODIST = 17
|
||||
LEADOUT = 18
|
||||
LEADOUTTANGDIST = 19
|
||||
LEADOUTORTHODIST = 20
|
||||
COASTINGLEN = 21
|
||||
COASTINGFEED_PC = 22
|
||||
WIPELEN = 23
|
||||
WIPEFEED_PC = 24
|
||||
FLOORCOUNT = 25
|
||||
G0FEED = 26
|
||||
G0FEEDZ = 27
|
||||
TOOLDIAM = 28
|
||||
RIBSTYPE = 29
|
||||
RIBSOVERLAP = 30
|
||||
RIBSSTRANDCOUNT = 31
|
||||
RIBSLINK = 32
|
||||
RIBSINVERTORDER = 33
|
||||
RIBSINVERTDIRECTION = 34
|
||||
RIBSLEADININVERT = 35
|
||||
RIBSLEADINLEN = 36
|
||||
RIBSLEADOUTINVERT = 37
|
||||
RIBSLEADOUTLEN = 38
|
||||
RIBSLEADOUTCOASTING = 39
|
||||
RIBSLEADOUTWIPE = 40
|
||||
RIBSLEADOUTWIPEDIR = 41
|
||||
SHELLNBRDIFFERENCE = 42
|
||||
SHELLNBRCOASTING = 43
|
||||
SHELLNBRWIPE = 44
|
||||
SHELLNBRWIPEDIR = 45
|
||||
AUXSOLIDSOVERLAP = 46
|
||||
AUXSOLIDSINFILL = 47
|
||||
AUXSOLIDSSTRANDORDER = 48
|
||||
AUXSOLIDSLINKTYPE = 49
|
||||
AUXSOLIDSLINKPARAM = 50
|
||||
AUXSOLIDSSTARTPOINTOFFSETONSLICE = 51
|
||||
AUXSOLIDSCOASTINGLEN = 52
|
||||
AUXSOLIDSWIPELEN = 53
|
||||
AUXSOLIDSWIPEDIR = 54
|
||||
SPIRALVASE = 55
|
||||
'WIPEDIR = 56
|
||||
STRANDOVERLAP = 57
|
||||
FLOWRATE_PC = 58
|
||||
DYNAMIC_MODE = 59
|
||||
MATERIALS = 100
|
||||
FLOORCOUNT = 11
|
||||
G0FEED = 12
|
||||
G0FEEDZ = 13
|
||||
TOOLDIAM = 14
|
||||
FLOWRATE_PC = 15
|
||||
DYNAMIC_MODE = 16
|
||||
PRINT_ORDER = 17
|
||||
LINKTYPE = 51
|
||||
LINKPARAM = 52
|
||||
LINKZUP = 53
|
||||
LEADIN = 54
|
||||
LEADINTANGDIST = 55
|
||||
LEADINORTHODIST = 56
|
||||
OFFSETLEADPOINT = 57
|
||||
LEADOUT = 58
|
||||
LEADOUTTANGDIST = 59
|
||||
LEADOUTORTHODIST = 60
|
||||
COASTINGLEN = 61
|
||||
COASTINGFEED_PC = 62
|
||||
WIPELEN = 63
|
||||
WIPEFEED_PC = 64
|
||||
'WIPEDIR = 65
|
||||
RIBSTYPE = 101
|
||||
RIBSOVERLAP = 102
|
||||
RIBSSTRANDCOUNT = 103
|
||||
RIBSLINK = 104
|
||||
RIBSINVERTORDER = 105
|
||||
RIBSINVERTDIRECTION = 106
|
||||
RIBSINVERTSTRANDORDER = 107
|
||||
RIBSLEADININVERT = 108
|
||||
RIBSLEADINLEN = 109
|
||||
RIBSLEADOUTINVERT = 110
|
||||
RIBSLEADOUTLEN = 111
|
||||
RIBSLEADOUTCOASTING = 112
|
||||
RIBSLEADOUTWIPE = 113
|
||||
RIBSLEADOUTWIPEDIR = 114
|
||||
RIBSLIMITUNBOUNDEDWITHSOLID = 115
|
||||
SHELLNBRDIFFERENCE = 151
|
||||
SHELLNBRCOASTING = 152
|
||||
SHELLNBRWIPE = 153
|
||||
SHELLNBRWIPEDIR = 154
|
||||
AUXSOLIDSOVERLAP = 201
|
||||
AUXSOLIDSINFILL = 202
|
||||
AUXSOLIDSSTRANDORDER = 203
|
||||
AUXSOLIDSLINKTYPE = 204
|
||||
AUXSOLIDSLINKPARAM = 205
|
||||
AUXSOLIDSSTARTPOINTOFFSETONSLICE = 206
|
||||
AUXSOLIDSCOASTINGLEN = 207
|
||||
AUXSOLIDSWIPELEN = 208
|
||||
AUXSOLIDSWIPEDIR = 209
|
||||
MATERIALS = 250
|
||||
End Enum
|
||||
|
||||
Protected m_Type As Params
|
||||
@@ -549,6 +567,8 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = "Invert Order"
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
m_sName = "Invert Direction"
|
||||
Case Params.RIBSINVERTSTRANDORDER
|
||||
m_sName = "Invert Strand Order"
|
||||
Case Params.RIBSLEADININVERT
|
||||
m_sName = "Lead In Invert"
|
||||
Case Params.RIBSLEADINLEN
|
||||
@@ -563,6 +583,8 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = "Lead Out Wipe"
|
||||
Case Params.RIBSLEADOUTWIPEDIR
|
||||
m_sName = "Lead Out Wipe Dir [deg]"
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
m_sName = "Limit Unbounded With Solid"
|
||||
Case Params.SHELLNBRDIFFERENCE
|
||||
m_sName = "Difference"
|
||||
Case Params.SHELLNBRCOASTING
|
||||
@@ -599,6 +621,8 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = "Flow rate [%]"
|
||||
Case Params.DYNAMIC_MODE
|
||||
m_sName = "Dynamic Mode"
|
||||
Case Params.PRINT_ORDER
|
||||
m_sName = "Print Order"
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -637,7 +661,6 @@ Public Class NumericMachiningParam
|
||||
StringToDouble(value, m_dValue)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -903,7 +926,6 @@ Public Class StringMachiningParam
|
||||
Set(value As String)
|
||||
m_sValue = value
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -962,7 +984,6 @@ Public Class ComboMachiningParam
|
||||
Set(value As IdNameStruct)
|
||||
m_SelValue = value
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -1110,7 +1131,6 @@ Public Class CheckMachiningParam
|
||||
Set(value As Boolean)
|
||||
m_bValue = value
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -1145,10 +1165,14 @@ Public Class CheckMachiningParam
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTORDER, 0)
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTDIRECTION, 0)
|
||||
Case Params.RIBSINVERTSTRANDORDER
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTSTRANDORDER, 0)
|
||||
Case Params.RIBSLEADININVERT
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADININVERT, 0)
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTINVERT, 0)
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, 0)
|
||||
End Select
|
||||
End If
|
||||
m_bOrigValue = m_bValue
|
||||
@@ -1164,10 +1188,14 @@ Public Class CheckMachiningParam
|
||||
WriteMachiningParam(nIndex, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSINVERTDIRECTION
|
||||
WriteMachiningParam(nIndex, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSINVERTSTRANDORDER
|
||||
WriteMachiningParam(nIndex, MAC_RIBSINVERTSTRANDORDER, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSLEADININVERT
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSLEADOUTINVERT
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0), sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -1203,7 +1231,6 @@ Public Class MaterialMachiningParam
|
||||
Set(value As Boolean)
|
||||
m_bValue = value
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
Map.refMachiningDbVM.NotifyPropertyChanged(NameOf(Map.refMachiningDbVM.ImpExp_IsEnabled))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -1257,3 +1284,239 @@ Public Class MaterialMachiningParam
|
||||
|
||||
End Class
|
||||
|
||||
Public Class OrderedMachiningParam
|
||||
Inherits MachiningParam
|
||||
|
||||
Protected m_StandardValueOrderList As List(Of Integer)
|
||||
|
||||
Protected m_ValueList As ObservableCollection(Of IdNameStruct)
|
||||
Public ReadOnly Property ValueList As ObservableCollection(Of IdNameStruct)
|
||||
Get
|
||||
Return m_ValueList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Protected m_SelValue As IdNameStruct
|
||||
Public Overridable Property SelValue As IdNameStruct
|
||||
Get
|
||||
Return m_SelValue
|
||||
End Get
|
||||
Set(value As IdNameStruct)
|
||||
m_SelValue = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected m_OrigValue As String
|
||||
Public ReadOnly Property OrigValue As String
|
||||
Get
|
||||
Return m_OrigValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Property Value As String
|
||||
Get
|
||||
Dim Temp As String = ""
|
||||
For Each Item In m_ValueList
|
||||
Temp &= Item.Id & ","
|
||||
Next
|
||||
Return Temp.TrimEnd(","c)
|
||||
End Get
|
||||
Set(value As String)
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
Dim StringValueList() As String
|
||||
Dim IntegerValueList As New List(Of Integer)
|
||||
If value.Length = 15 Then
|
||||
StringValueList = value.Split(","c)
|
||||
For Each StringValue In StringValueList
|
||||
Dim IntegerValue As Integer = 0
|
||||
If Integer.TryParse(StringValue, IntegerValue) Then
|
||||
IntegerValueList.Add(IntegerValue)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
If IntegerValueList.Count <> 8 Then
|
||||
IntegerValueList = m_StandardValueOrderList
|
||||
End If
|
||||
If Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.SHELL) OrElse
|
||||
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL) OrElse
|
||||
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.INFILL) OrElse
|
||||
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.AUX_SOLID) OrElse
|
||||
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED) OrElse
|
||||
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL) OrElse
|
||||
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB_INTERNAL) OrElse
|
||||
Not IntegerValueList.Contains(Machining.MPAR_PRINT_ORDER.RIB_SUPPORT) Then
|
||||
IntegerValueList = m_StandardValueOrderList
|
||||
End If
|
||||
OrderByReference(m_ValueList, IntegerValueList)
|
||||
End Select
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Shared Sub OrderByReference(collection As ObservableCollection(Of IdNameStruct), comparison As List(Of Integer))
|
||||
For i As Integer = 0 To comparison.Count - 1
|
||||
Dim Index As Integer = i
|
||||
If Not comparison.ElementAt(i).Equals(collection.ElementAt(i)) Then
|
||||
collection.Move(collection.IndexOf(collection.FirstOrDefault(Function(x) x.Id = comparison(Index))), i)
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Overrides ReadOnly Property bIsModified As Boolean
|
||||
Get
|
||||
Return Value <> m_OrigValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdMoveUpOrder As ICommand
|
||||
Private m_cmdMoveDownOrder As ICommand
|
||||
Private m_cmdResetOrder As ICommand
|
||||
|
||||
Sub New(Type As Params)
|
||||
MyBase.New(Type)
|
||||
End Sub
|
||||
|
||||
Sub New(Type As Params, nIndex As Integer)
|
||||
MyBase.New(Type)
|
||||
If nIndex = 0 Then
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
m_StandardValueOrderList = New List(Of Integer)({Machining.MPAR_PRINT_ORDER.SHELL,
|
||||
Machining.MPAR_PRINT_ORDER.EXTRA_SHELL,
|
||||
Machining.MPAR_PRINT_ORDER.INFILL,
|
||||
Machining.MPAR_PRINT_ORDER.AUX_SOLID,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_INTERNAL,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_SUPPORT})
|
||||
m_ValueList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_PRINT_ORDER.SHELL, "Shell"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL, "Extra Shell"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.INFILL, "Infill"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.AUX_SOLID, "Filled Solid"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED, "Unbounded Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL, "External Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_INTERNAL, "Internal Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_SUPPORT, "Support Rib")})
|
||||
m_SelValue = Nothing
|
||||
End Select
|
||||
Else
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
m_StandardValueOrderList = New List(Of Integer)({Machining.MPAR_PRINT_ORDER.SHELL,
|
||||
Machining.MPAR_PRINT_ORDER.EXTRA_SHELL,
|
||||
Machining.MPAR_PRINT_ORDER.INFILL,
|
||||
Machining.MPAR_PRINT_ORDER.AUX_SOLID,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_INTERNAL,
|
||||
Machining.MPAR_PRINT_ORDER.RIB_SUPPORT})
|
||||
m_ValueList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_PRINT_ORDER.SHELL, "Shell"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.EXTRA_SHELL, "Extra Shell"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.INFILL, "Infill"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.AUX_SOLID, "Filled Solid"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_UNBOUNDED, "Unbounded Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_EXTERNAL, "External Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_INTERNAL, "Internal Rib"),
|
||||
New IdNameStruct(Machining.MPAR_PRINT_ORDER.RIB_SUPPORT, "Support Rib")})
|
||||
ReadMachiningParamString(nIndex, MAC_PRINTORDER, "", Value)
|
||||
End Select
|
||||
End If
|
||||
m_OrigValue = Value
|
||||
m_SelValue = Nothing
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
WriteMachiningParam(nIndex, MAC_PRINTORDER, Value, sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub SaveParam()
|
||||
m_OrigValue = Value
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
Value = m_OrigValue
|
||||
m_SelValue = Nothing
|
||||
NotifyPropertyChanged(NameOf(ValueList))
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "MoveUpOrder"
|
||||
|
||||
Public ReadOnly Property MoveUpOrder_Command As ICommand
|
||||
Get
|
||||
If m_cmdMoveUpOrder Is Nothing Then
|
||||
m_cmdMoveUpOrder = New Command(AddressOf MoveUpOrder)
|
||||
End If
|
||||
Return m_cmdMoveUpOrder
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub MoveUpOrder()
|
||||
If IsNothing(m_SelValue) Then Return
|
||||
Dim nIndex As Integer = m_ValueList.IndexOf(m_SelValue)
|
||||
If nIndex < 0 Then Return
|
||||
If nIndex > 0 Then
|
||||
m_ValueList.Move(nIndex, nIndex - 1)
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' MoveUpOrder
|
||||
|
||||
#Region "MoveDownOrder"
|
||||
|
||||
Public ReadOnly Property MoveDownOrder_Command As ICommand
|
||||
Get
|
||||
If m_cmdMoveDownOrder Is Nothing Then
|
||||
m_cmdMoveDownOrder = New Command(AddressOf MoveDownOrder)
|
||||
End If
|
||||
Return m_cmdMoveDownOrder
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub MoveDownOrder()
|
||||
If IsNothing(m_SelValue) Then Return
|
||||
Dim nIndex As Integer = m_ValueList.IndexOf(m_SelValue)
|
||||
If nIndex < 0 Then Return
|
||||
If nIndex < m_ValueList.Count - 1 Then
|
||||
m_ValueList.Move(nIndex, nIndex + 1)
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' MoveDownOrder
|
||||
|
||||
#Region "ResetOrder"
|
||||
|
||||
Public ReadOnly Property ResetOrder_Command As ICommand
|
||||
Get
|
||||
If m_cmdResetOrder Is Nothing Then
|
||||
m_cmdResetOrder = New Command(AddressOf ResetOrder)
|
||||
End If
|
||||
Return m_cmdResetOrder
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ResetOrder()
|
||||
Dim CurrValue As String = Value
|
||||
OrderByReference(m_ValueList, m_StandardValueOrderList)
|
||||
m_ValueList = New ObservableCollection(Of IdNameStruct)(m_ValueList.OrderBy(Function(x) x.Id))
|
||||
If Value <> CurrValue Then
|
||||
NotifyPropertyChanged(NameOf(ValueList))
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetOrder
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1,20 +1,32 @@
|
||||
<UserControl x:Class="MachiningDbV"
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Width="300">
|
||||
<Border VerticalAlignment="Center"
|
||||
Style="{StaticResource RightPanel_Border}">
|
||||
<Grid>
|
||||
<Grid x:Class="MachiningDbV"
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Width="310"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Margin="0,0,0,2.5"
|
||||
Style="{StaticResource Title_Border}">
|
||||
<TextBlock Text="MACHINING DATABASE"
|
||||
Style="{StaticResource Title_TextBlock}"/>
|
||||
</Border>
|
||||
<Border Grid.Row="1"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource BottomGrayRow_Border}">
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid>
|
||||
<Grid HorizontalAlignment="Center"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
@@ -25,33 +37,41 @@
|
||||
<Button Content="New"
|
||||
Command="{Binding New_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_Button}"/>
|
||||
<Button Content="Save"
|
||||
Grid.Column="1"
|
||||
Command="{Binding Save_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_Button}"/>
|
||||
<Button Content="Delete"
|
||||
Grid.Column="2"
|
||||
Command="{Binding Delete_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_Button}"/>
|
||||
<Button Grid.Column="3"
|
||||
Command="{Binding Import_Command}"
|
||||
ToolTip="{Binding ImportToolTip}"
|
||||
ToolTip="{Binding Import_ToolTip}"
|
||||
IsEnabled="{Binding ImpExp_IsEnabled}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/MachiningDB/Import.png" Stretch="Uniform"/>
|
||||
<Image Source="/Resources/MachiningDB/MachiningImport.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="4"
|
||||
Command="{Binding Export_Command}"
|
||||
ToolTip="{Binding ImportToolTip}"
|
||||
ToolTip="{Binding Export_ToolTip}"
|
||||
IsEnabled="{Binding ImpExp_IsEnabled}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/MachiningDB/Export.png" Stretch="Uniform"/>
|
||||
<Image Source="/Resources/MachiningDB/MachiningExport.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1">
|
||||
<Grid Grid.Row="1"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
@@ -61,26 +81,40 @@
|
||||
SelectedItem="{Binding SelMachining}"
|
||||
DisplayMemberPath="ghName"
|
||||
Visibility="{Binding Combo_Visibility}"
|
||||
Style="{StaticResource FeatureComboBox}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding SelectedItem.sName, ElementName=MachiningCombo, UpdateSourceTrigger=Explicit}"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding Name_Visibility}"
|
||||
Style="{StaticResource OptionTextBox}"/>
|
||||
HorizontalAlignment="Stretch"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Text="{Binding SelectedItem.sName, ElementName=MachiningCombo, UpdateSourceTrigger=Explicit}"
|
||||
ExplicitUpdateSource="EnterKeyPressOrLostFocus"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding Name_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource OptionTextBox2}"/>
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding EditName_Command}"
|
||||
ToolTip="{Binding EditName_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/TopPanel/Edit.png"/>
|
||||
<Image Source="/Resources/MachiningDB/Edit.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
<ScrollViewer Grid.Row="3"
|
||||
<ScrollViewer Grid.Row="2"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled">
|
||||
<ItemsControl Grid.Row="1"
|
||||
ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MachiningCombo}"
|
||||
IsEnabled="{Binding IsEnabled}">
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
Margin="1,0,0,2.5"
|
||||
Padding="0"
|
||||
BorderThickness="0"
|
||||
Style="{StaticResource RightPanel_ScrollViewer}">
|
||||
<ItemsControl ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MachiningCombo}"
|
||||
BorderThickness="0"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Vertical"/>
|
||||
<StackPanel Orientation="Vertical"
|
||||
Margin="0"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
@@ -88,102 +122,118 @@
|
||||
<Expander Header="{Binding sName}"
|
||||
IsExpanded="{Binding Cathegory_IsExpanded}"
|
||||
VerticalContentAlignment="Top">
|
||||
<ItemsControl ItemsSource="{Binding MachiningParamList}">
|
||||
<ItemsControl ItemsSource="{Binding MachiningParamList}"
|
||||
BorderThickness="0"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="1"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<StackPanel Orientation="Vertical"
|
||||
Margin="0"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}">
|
||||
<Grid>
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding sValue}"/>
|
||||
<!--<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
Text="{Binding sValue}"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}">
|
||||
<Grid>
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<!--<ColumnDefinition Width="Auto"/>-->
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<!--<Button Grid.Column="1"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
HorizontalAlignment="Stretch"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}">
|
||||
<Grid>
|
||||
<Grid Height="22"
|
||||
Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<!--<ColumnDefinition Width="Auto"/>-->
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
<!--<Button Grid.Column="1"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:MaterialMachiningParam}">
|
||||
<Grid>
|
||||
<Grid Height="22"
|
||||
Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<!--<ColumnDefinition Width="Auto"/>-->
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
<!--<Button Grid.Column="1"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:OrderedMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<Grid Grid.Column="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<ListBox ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
Margin="2.5,0,2.5,0"/>
|
||||
<StackPanel Grid.Column="1"
|
||||
Orientation="Vertical"
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0">
|
||||
<Button Content="˄"
|
||||
Command="{Binding MoveUpOrder_Command}"
|
||||
Margin="0,0,0,2.5"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="˅"
|
||||
Command="{Binding MoveDownOrder_Command}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
<Button Content="<>"
|
||||
Command="{Binding ResetOrder_Command}"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
@@ -193,12 +243,14 @@
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
<UniformGrid Grid.Row="4" Rows="1">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
</UniformGrid>
|
||||
<Button Grid.Row="3"
|
||||
Command="{Binding Ok_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
</UserControl>
|
||||
</Grid>
|
||||
|
||||
@@ -112,6 +112,28 @@ Public Class MachiningDbVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property Import_ToolTip As String
|
||||
Get
|
||||
Return "Import"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Export_ToolTip As String
|
||||
Get
|
||||
Return "Export"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property EditName_ToolTip As String
|
||||
Get
|
||||
Return "Edit Name"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Tooltip
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdNew As ICommand
|
||||
@@ -291,6 +313,9 @@ Public Class MachiningDbVM
|
||||
Case MessageBoxResult.Yes
|
||||
m_MachiningList.Remove(m_SelMachining)
|
||||
SetIsModified(True)
|
||||
If m_MachiningList.Count > 0 Then
|
||||
SelMachining = m_MachiningList(0)
|
||||
End If
|
||||
Case MessageBoxResult.No
|
||||
Return
|
||||
End Select
|
||||
@@ -330,13 +355,11 @@ Public Class MachiningDbVM
|
||||
|
||||
Public Sub Import()
|
||||
' chiedo il nome del file .data da aprire
|
||||
Dim OpenFileDlg As New System.Windows.Forms.OpenFileDialog() With {
|
||||
.Title = EgtMsg(31451) & " " & EgtMsg(31452),
|
||||
.Filter = "File data (*.data)|*.data|Tutti i file (*.*)|*.*",
|
||||
.FileName = String.Empty
|
||||
}
|
||||
Dim OpenFileDlg As New System.Windows.Forms.OpenFileDialog() With {.Title = EgtMsg(31451) & " " & EgtMsg(31452),
|
||||
.Filter = "File data (*" & ImportExportMachiningPanelVM.MachiningDataExtension & ")|*" & ImportExportMachiningPanelVM.MachiningDataExtension,
|
||||
.FileName = String.Empty}
|
||||
If OpenFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
|
||||
Dim ImportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM(OpenFileDlg.FileName))
|
||||
Dim ImportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM(ImportExportMachiningPanelVM.WindowTypeEnum.MACHINING, ImportExportMachiningPanelVM.WindowModeEnum.IMPORT, OpenFileDlg.FileName))
|
||||
ImportWindow.ShowDialog()
|
||||
End Sub
|
||||
|
||||
@@ -354,7 +377,7 @@ Public Class MachiningDbVM
|
||||
End Property
|
||||
|
||||
Public Sub Export()
|
||||
Dim ExportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM)
|
||||
Dim ExportWindow As New ImportExportMachiningPanelV(Application.Current.MainWindow, New ImportExportMachiningPanelVM(ImportExportMachiningPanelVM.WindowTypeEnum.MACHINING, ImportExportMachiningPanelVM.WindowModeEnum.EXPORT))
|
||||
ExportWindow.ShowDialog()
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -195,8 +195,8 @@ Public Class MainWindowM
|
||||
' Verifico abilitazione nesting automatico
|
||||
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2501, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5583, 2501, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2502, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5583, 2502, 1, m_nKeyOptions)
|
||||
' Inizializzazione generale di EgtInterface
|
||||
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
|
||||
m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
|
||||
|
||||
@@ -17,7 +17,11 @@
|
||||
</EgtWPFLib5:EgtCustomWindow.TitlePanel>-->
|
||||
|
||||
<Grid>
|
||||
<PrintApp:SceneHostV/>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="60"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<PrintApp:SceneHostV Grid.Row="1"/>
|
||||
</Grid>
|
||||
<!--Pannello principale --><!--
|
||||
<DockPanel>
|
||||
|
||||
@@ -274,6 +274,10 @@ Public Class MainWindowVM
|
||||
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
|
||||
Return
|
||||
End If
|
||||
' gestisco la chiusura della simulazione
|
||||
If Map.refRightPanelVM.SelPanel = RightPanelVM.Panels.SIMULATION AndAlso Not IsNothing(Map.refSimulationPanelVM) Then
|
||||
Map.refSimulationPanelVM.MySimul.ResetSimulation()
|
||||
End If
|
||||
' Gestisco eventuale file corrente modificato
|
||||
Dim bOk As Boolean = True
|
||||
'bOk = ProjFileVM.VerifyProjectModification(Map.refProjManagerVM.CurrProj, ProjectType.PROJ)
|
||||
|
||||
@@ -1,147 +1,158 @@
|
||||
<UserControl x:Class="ManagePartPanelV"
|
||||
<Grid x:Class="ManagePartPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:Icarus"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Width="150"
|
||||
Margin="5,0,0,0"
|
||||
VerticalAlignment="Stretch">
|
||||
<Grid DockPanel.Dock="Left">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="2*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Style="{StaticResource LeftPanelTitle_Border}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Margin="0,0,0,2.5"
|
||||
Style="{StaticResource Title_Border}">
|
||||
<TextBlock Text="PART MANAGER"
|
||||
Style="{StaticResource Title_TextBlock}"/>
|
||||
</Border>
|
||||
<Border Grid.Row="1"
|
||||
Padding="0,2.5,0,0"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource BottomGrayRow_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="2*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="Part Entity List"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="14"/>
|
||||
</Border>
|
||||
<!--<UniformGrid Grid.Row="1" Rows="1"
|
||||
IsEnabled="{Binding IsEnabled}">
|
||||
<Button DockPanel.Dock="Left"
|
||||
Content="+"
|
||||
FontSize="20"
|
||||
Command="{Binding AddPart_Command}"
|
||||
Style="{StaticResource LeftPanel_Button}"/>
|
||||
<Button DockPanel.Dock="Left"
|
||||
Content="-"
|
||||
FontSize="20"
|
||||
Command="{Binding RemovePart_Command}"
|
||||
Style="{StaticResource LeftPanel_Button}"/>
|
||||
</UniformGrid>-->
|
||||
<TreeView Grid.Row="2"
|
||||
ItemsSource="{Binding ManagerPartList}"
|
||||
MinHeight="200"
|
||||
IsEnabled="{Binding IsEnabled}">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ManagePart_Part}"
|
||||
ItemsSource="{Binding LayerList}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="/Resources/TreeView/Folder.png"
|
||||
Height="15"/>
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource Title_TextBlock}"/>
|
||||
<TreeView x:Name="ManagerPartTreeView"
|
||||
Grid.Row="1"
|
||||
ItemsSource="{Binding ManagerPartList}"
|
||||
MinHeight="200"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
FontSize="12"
|
||||
Foreground="{StaticResource Icarus_Gray}">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ManagePart_Part}"
|
||||
ItemsSource="{Binding LayerList}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<!--<Image Source="/Resources/TreeView/Folder.png"
|
||||
Height="15"/>-->
|
||||
<Grid>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Visibility="{Binding TextBlock_Visibility}"
|
||||
Style="{StaticResource BaseTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sName, UpdateSourceTrigger=Explicit}"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding TextBox_Visibility}"
|
||||
Style="{StaticResource OptionTextBox}"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ManagePart_Layer}"
|
||||
ItemsSource="{Binding EntityList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<!--<Image Source="/Resources/TreeView/Folder.png"
|
||||
Height="15"/>-->
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Style="{StaticResource BaseTextBlock}"/>
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:PartManager_GeomEntity}">
|
||||
<Grid>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Visibility="{Binding TextBlock_Visibility}"/>
|
||||
Style="{StaticResource BaseTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sName, UpdateSourceTrigger=Explicit}"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding TextBox_Visibility}"
|
||||
Style="{StaticResource OptionTextBox}"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:ManagePart_Layer}"
|
||||
ItemsSource="{Binding EntityList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="/Resources/TreeView/Folder.png"
|
||||
Height="15"/>
|
||||
<TextBlock Text="{Binding sName}" />
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:PartManager_GeomEntity}">
|
||||
<Grid>
|
||||
<TextBlock Text="{Binding sName}" />
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding sName, UpdateSourceTrigger=Explicit}"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding TextBox_Visibility}"
|
||||
Style="{StaticResource OptionTextBox}"/>
|
||||
</Grid>
|
||||
</HierarchicalDataTemplate>
|
||||
<!-- Menu' tasto destro -->
|
||||
<ContextMenu x:Key="RowMenu" ItemsSource="{Binding MenuList}" >
|
||||
<ContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="MenuItem">
|
||||
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
|
||||
<Setter Property="Header" Value="{Binding sMsg}"/>
|
||||
</Style>
|
||||
</ContextMenu.ItemContainerStyle>
|
||||
</ContextMenu>
|
||||
</TreeView.Resources>
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<Setter Property="IsSelected" Value="{Binding bIsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Setter Property="IsExpanded" Value="True"/>
|
||||
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}"/>
|
||||
<EventSetter Event="ContextMenuOpening" Handler="Item_ContextMenuOpening"/>
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
</TreeView>
|
||||
<Border Grid.Row="3"
|
||||
Visibility="{Binding IsImport_Visibility}"
|
||||
Style="{StaticResource LeftPanelTitle_Border}">
|
||||
<TextBlock Text="Imported Entity List"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="14"/>
|
||||
</Border>
|
||||
<ListBox Grid.Row="4"
|
||||
ItemsSource="{Binding ImportedEntityList, UpdateSourceTrigger=PropertyChanged}"
|
||||
SelectedItem="{Binding SelImportedEntity}"
|
||||
MinHeight="100"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Visibility="{Binding IsImport_Visibility}">
|
||||
<ListBox.Resources>
|
||||
<!-- Menu' tasto destro -->
|
||||
<ContextMenu x:Key="RowMenu" ItemsSource="{Binding MenuList}" >
|
||||
<ContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="MenuItem">
|
||||
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
|
||||
<Setter Property="Header" Value="{Binding sMsg}"/>
|
||||
</Style>
|
||||
</ContextMenu.ItemContainerStyle>
|
||||
</ContextMenu>
|
||||
</ListBox.Resources>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}" />
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.InputBindings>
|
||||
<MouseBinding Gesture="LeftDoubleClick"
|
||||
Command="{Binding GeomEntityDoubleClick_Command}"/>
|
||||
</Grid.InputBindings>
|
||||
<TextBlock Text="{Binding ghName}">
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<UniformGrid Grid.Row="5"
|
||||
Rows="1"
|
||||
IsEnabled="{Binding IsEnabled}">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Visibility="{Binding IsImport_Visibility}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
</HierarchicalDataTemplate>
|
||||
<!-- Menu' tasto destro -->
|
||||
<ContextMenu x:Key="RowMenu"
|
||||
ItemsSource="{Binding MenuList}"
|
||||
Style="{StaticResource Icarus_ContextMenu}">
|
||||
<ContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="MenuItem" BasedOn="{StaticResource Icarus_MenuItem}">
|
||||
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
|
||||
<Setter Property="Header" Value="{Binding sMsg}"/>
|
||||
</Style>
|
||||
</ContextMenu.ItemContainerStyle>
|
||||
</ContextMenu>
|
||||
</TreeView.Resources>
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:Type TreeViewItem}}">
|
||||
<Setter Property="IsSelected" Value="{Binding bIsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
<Setter Property="IsExpanded" Value="True"/>
|
||||
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}"/>
|
||||
<Setter Property="ContextMenuService.Placement" Value="Right"/>
|
||||
<EventSetter Event="ContextMenuOpening" Handler="Item_ContextMenuOpening"/>
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
</TreeView>
|
||||
<TextBlock Grid.Row="2"
|
||||
Text="Imported Entity List"
|
||||
Visibility="{Binding IsImport_Visibility}"
|
||||
Margin="0,2.5,0,2.5"
|
||||
Style="{StaticResource Title_TextBlock}"/>
|
||||
<ListBox Grid.Row="3"
|
||||
ItemsSource="{Binding ImportedEntityList, UpdateSourceTrigger=PropertyChanged}"
|
||||
SelectedItem="{Binding SelImportedEntity}"
|
||||
MinHeight="100"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Visibility="{Binding IsImport_Visibility}"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<ListBox.Resources>
|
||||
<!-- Menu' tasto destro -->
|
||||
<ContextMenu x:Key="RowMenu"
|
||||
ItemsSource="{Binding MenuList}"
|
||||
Style="{StaticResource Icarus_ContextMenu}">
|
||||
<ContextMenu.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource Icarus_MenuItem}">
|
||||
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
|
||||
<Setter Property="Header" Value="{Binding sMsg}"/>
|
||||
</Style>
|
||||
</ContextMenu.ItemContainerStyle>
|
||||
</ContextMenu>
|
||||
</ListBox.Resources>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}" />
|
||||
<Setter Property="ContextMenuService.Placement" Value="Right" />
|
||||
<Setter Property="ContextMenuService.VerticalOffset" Value="-3" />
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid HorizontalAlignment="Stretch">
|
||||
<Grid.InputBindings>
|
||||
<MouseBinding Gesture="LeftDoubleClick"
|
||||
Command="{Binding GeomEntityDoubleClick_Command}"/>
|
||||
</Grid.InputBindings>
|
||||
<TextBlock Text="{Binding ghName}">
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<UniformGrid Grid.Row="4"
|
||||
Rows="1"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Visibility="{Binding IsImport_Visibility}"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
|
||||
@@ -316,8 +316,9 @@ Public Class ManagePartPanelVM
|
||||
EgtRelocateGlob(PrintSolidEntity.nId, nPrintPartLayerId, GDB_POS.LAST_SON)
|
||||
' calcolo box superficie per creazione riferimento
|
||||
EgtGetBBoxGlob(PrintSolidEntity.nId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(PrintSolidEntity.nId)
|
||||
EgtSetStatus(PrintSolidEntity.nId, GDB_ST.ON_)
|
||||
If PrintSolidEntity.sName <> PrintSolidEntity.nId.ToString() Then
|
||||
EgtSetInfo(PrintSolidEntity.nId, ENTITY_NAME, PrintSolidEntity.sName)
|
||||
End If
|
||||
@@ -341,8 +342,9 @@ Public Class ManagePartPanelVM
|
||||
nMachStartId = EgtCreateCurveCompo(nMachStartLayerId, PartManager_GeomEntity.nId, True)
|
||||
End Select
|
||||
EgtSetName(nMachStartId, START_GEOM)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(nMachStartId)
|
||||
EgtSetStatus(nMachStartId, GDB_ST.ON_)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
@@ -352,47 +354,60 @@ Public Class ManagePartPanelVM
|
||||
Dim ptStart As Point3d = b3PrintSolid.Center() - 0.6 * b3PrintSolid.DimY() * Vector3d.Y_AX() - 0.5 * b3PrintSolid.DimZ() * Vector3d.Z_AX()
|
||||
nMachStartId = EgtCreateGeoPoint(nMachStartLayerId, ptStart, GDB_RT.GLOB)
|
||||
EgtSetName(nMachStartId, START_GEOM)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(nMachStartId)
|
||||
EgtSetStatus(nMachStartId, GDB_ST.ON_)
|
||||
End If
|
||||
Case ManagePart_Layer.LayerType.RIBS
|
||||
nRibsLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nRibsLayerId, LAY_RIBS)
|
||||
EgtSetColor(nRibsLayerId, GeomEntityColors.c3Rib)
|
||||
Dim nRibsIndex As Integer = 1
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, RIB_ID, nRibsIndex)
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nRibsLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
EgtSetStatus(PartManager_GeomEntity.nId, GDB_ST.ON_)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
nRibsIndex += 1
|
||||
Next
|
||||
Case ManagePart_Layer.LayerType.SHELL_NUMBER
|
||||
nShellNumberLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nShellNumberLayerId, LAY_SHELL_NBR)
|
||||
EgtSetColor(nShellNumberLayerId, GeomEntityColors.c3ShellNumber)
|
||||
Dim nShellNumberIndex As Integer = 1
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, SHELLNUMBER_ID, nShellNumberIndex)
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nShellNumberLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
EgtSetStatus(PartManager_GeomEntity.nId, GDB_ST.ON_)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
nShellNumberIndex += 1
|
||||
Next
|
||||
Case ManagePart_Layer.LayerType.AUX_SOLIDS
|
||||
nAuxSolidsLayerId = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nAuxSolidsLayerId, LAY_AUX_SOLIDS)
|
||||
EgtSetColor(nAuxSolidsLayerId, GeomEntityColors.c3AuxSolids)
|
||||
Dim nFilledSolidIndex As Integer = 1
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, FILLEDSOLID_ID, nFilledSolidIndex)
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nAuxSolidsLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
EgtSetStatus(PartManager_GeomEntity.nId, GDB_ST.ON_)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
nFilledSolidIndex += 1
|
||||
Next
|
||||
Case ManagePart_Layer.LayerType.OTHERS
|
||||
nOthersLayerId = EgtCreateGroup(nPartId)
|
||||
@@ -400,8 +415,9 @@ Public Class ManagePartPanelVM
|
||||
EgtSetColor(nOthersLayerId, GeomEntityColors.c3Others)
|
||||
For Each PartManager_GeomEntity In ManagePart_Layer.EntityList
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
EgtSetStatus(PartManager_GeomEntity.nId, GDB_ST.ON_)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
@@ -414,16 +430,18 @@ Public Class ManagePartPanelVM
|
||||
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
|
||||
' la trasformo in curva compo
|
||||
Dim nOtherId As Integer = EgtCreateCurveCompo(nOthersLayerId, PartManager_GeomEntity.nId, True)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
EgtSetStatus(PartManager_GeomEntity.nId, GDB_ST.ON_)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(nOtherId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
Case Else
|
||||
' altrimenti la sposto solamente
|
||||
EgtRelocateGlob(PartManager_GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
|
||||
' elimino colore entita'
|
||||
' elimino colore entita' e rendo visibile
|
||||
EgtResetColor(PartManager_GeomEntity.nId)
|
||||
EgtSetStatus(PartManager_GeomEntity.nId, GDB_ST.ON_)
|
||||
If PartManager_GeomEntity.sName <> PartManager_GeomEntity.nId.ToString() Then
|
||||
EgtSetInfo(PartManager_GeomEntity.nId, ENTITY_NAME, PartManager_GeomEntity.sName)
|
||||
End If
|
||||
@@ -432,17 +450,11 @@ Public Class ManagePartPanelVM
|
||||
End If
|
||||
End Select
|
||||
Next
|
||||
' aggiungo riferimento
|
||||
' aggiungo layer riferimento
|
||||
Dim nPartReferenceLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nPartReferenceLayerId, LAY_PARTREFERENCE)
|
||||
Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nReferenceLayerId, LAY_REFERENCE)
|
||||
' Creo riferimento
|
||||
Dim ptOrig As New Point3d(b3PrintSolid.Min())
|
||||
Dim frPrintSolid As New Frame3d(ptOrig)
|
||||
nFrameId = EgtCreateGeoFrame(nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
|
||||
If nFrameId Then
|
||||
EgtSetName(nFrameId, FRAME_PART)
|
||||
EgtSetMode(nFrameId, GDB_MD.LOCKED)
|
||||
End If
|
||||
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.BL)
|
||||
' appoggio il pezzo sulla tavola
|
||||
EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
|
||||
@@ -452,8 +464,11 @@ Public Class ManagePartPanelVM
|
||||
EgtSetInfo(nPartId, FILE_PATH, sFilePath)
|
||||
EgtSetInfo(nPartId, PART_NAME, ManagePart_Part.sName)
|
||||
EgtSetInfo(nPartId, "PartOnTable", 1)
|
||||
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
|
||||
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nPartReferenceLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
|
||||
Map.refTopPanelVM.PartList.Add(NewPart)
|
||||
' aggiorno riferimento
|
||||
Map.refReferencePanelVM.UpdateFramePosition(NewPart)
|
||||
Map.refSliceManagerVM.UpdateDimensions()
|
||||
Next
|
||||
End If
|
||||
'EgtAddMachGroup("3dPrint")
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
@@ -375,10 +376,11 @@ Public Class ManagePart_Layer
|
||||
|
||||
Public Enum LayerType As Integer
|
||||
PRINT_SOLID = 1
|
||||
MACH_START = 2
|
||||
RIBS = 3
|
||||
SHELL_NUMBER = 4
|
||||
AUX_SOLIDS = 5
|
||||
'REFERENCE = 2
|
||||
MACH_START = 3
|
||||
RIBS = 4
|
||||
SHELL_NUMBER = 5
|
||||
AUX_SOLIDS = 6
|
||||
OTHERS = 7
|
||||
CHANGENAME = 15
|
||||
DELETE = 16
|
||||
@@ -510,11 +512,11 @@ Public Class ManagePart_Layer
|
||||
m_nLayerId = PrintPart.nAuxSolidsLayerId
|
||||
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
||||
While nEntityId <> GDB_ID.NULL
|
||||
'Dim ShellType As Integer = ShellNumberEntity.ShellNumberTypes.FROMDRAW
|
||||
'EgtGetInfo(nEntityId, KEY_SHELLNBR_TYPE, ShellType)
|
||||
'If ShellType = ShellNumberEntity.ShellNumberTypes.FROMIMPORT Then
|
||||
m_EntityList.Add(New PartManager_GeomEntity(Me, nEntityId))
|
||||
'End If
|
||||
Dim FIlledSolidType As Integer = FilledSolidEntity.FilledSolidTypes.FROMDRAW
|
||||
EgtGetInfo(nEntityId, KEY_AUXSOLID_TYPE, FIlledSolidType)
|
||||
If FIlledSolidType = FilledSolidEntity.FilledSolidTypes.FROMIMPORT Then
|
||||
m_EntityList.Add(New PartManager_GeomEntity(Me, nEntityId))
|
||||
End If
|
||||
nEntityId = EgtGetNext(nEntityId)
|
||||
End While
|
||||
Case LayerType.OTHERS
|
||||
@@ -639,12 +641,14 @@ Public Class GeomEntity_MenuItem
|
||||
End If
|
||||
' se e' presente elimino flag di spostamento a 45 gradi
|
||||
Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId))
|
||||
EgtRemoveInfo(nPartId, "MovedPart")
|
||||
EgtRemoveInfo(nPartId, KEY_MOVEDPART)
|
||||
EgtDraw()
|
||||
' aggiorno riferimenti nel context menu item
|
||||
Map.refManagePartPanelVM.UpdateAllEntityContextMenu()
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
If Map.refManagePartPanelVM.Type = ManagePartPanelVM.ManagePartType.MODIFY Then
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End If
|
||||
End If
|
||||
Return
|
||||
ElseIf m_Type = ManagePart_Layer.LayerType.NEWPART Then
|
||||
@@ -666,6 +670,8 @@ Public Class GeomEntity_MenuItem
|
||||
NewLayer.EntityList.Add(m_OrigEntity)
|
||||
' aggiorno riferimenti nell'entita'
|
||||
m_OrigEntity.UpdateOrigLayer(NewLayer)
|
||||
' aggiorno colore
|
||||
EgtSetColor(m_OrigEntity.nId, GetColor(LayerType.PRINTPART))
|
||||
End If
|
||||
End If
|
||||
' aggiorno i contextmenu di tutti gli entity
|
||||
@@ -684,52 +690,50 @@ Public Class GeomEntity_MenuItem
|
||||
' creo layer solido di stampa
|
||||
Dim nPrintPartLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nPrintPartLayerId, PRINT_SOLID)
|
||||
EgtSetColor(nPrintPartLayerId, GeomEntityColors.c3Print)
|
||||
EgtRelocateGlob(m_OrigEntity.nId, nPrintPartLayerId, GDB_POS.LAST_SON)
|
||||
' calcolo box superficie per creazione riferimento
|
||||
EgtGetBBoxGlob(m_OrigEntity.nId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
' coloro l'entita'
|
||||
EgtSetColor(m_OrigEntity.nId, GeomEntityColors.c3Print)
|
||||
' creo layer mach start
|
||||
Dim nMachStartLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nMachStartLayerId, LAY_MACH_START)
|
||||
EgtSetColor(nMachStartLayerId, GeomEntityColors.c3MachStart)
|
||||
Dim nMachStartId As Integer = GDB_ID.NULL
|
||||
' creo punto di partenza
|
||||
Dim ptStart As Point3d = b3PrintSolid.Center() - 0.6 * b3PrintSolid.DimY() * Vector3d.Y_AX() - 0.5 * b3PrintSolid.DimZ() * Vector3d.Z_AX()
|
||||
nMachStartId = EgtCreateGeoPoint(nMachStartLayerId, ptStart, GDB_RT.GLOB)
|
||||
EgtSetName(nMachStartId, START_GEOM)
|
||||
' coloro l'entita' di rosso
|
||||
EgtSetColor(nMachStartId, GeomEntityColors.c3MachStart)
|
||||
' creo layer ribs
|
||||
Dim nRibsLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nRibsLayerId, LAY_RIBS)
|
||||
EgtSetColor(nRibsLayerId, GeomEntityColors.c3Rib)
|
||||
' creo layer shell number
|
||||
Dim nShellNumberLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nShellNumberLayerId, LAY_SHELL_NBR)
|
||||
EgtSetColor(nShellNumberLayerId, GeomEntityColors.c3ShellNumber)
|
||||
' creo layer aux
|
||||
Dim nAuxSolidsLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nAuxSolidsLayerId, LAY_AUX_SOLIDS)
|
||||
EgtSetColor(nAuxSolidsLayerId, GeomEntityColors.c3AuxSolids)
|
||||
' creo layer others
|
||||
Dim nOthersLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nOthersLayerId, LAY_OTHERS)
|
||||
EgtSetColor(nOthersLayerId, GeomEntityColors.c3Others)
|
||||
' aggiungo riferimento
|
||||
Dim nPartReferenceLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nPartReferenceLayerId, LAY_PARTREFERENCE)
|
||||
Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId)
|
||||
EgtSetName(nReferenceLayerId, LAY_REFERENCE)
|
||||
' Creo riferimento
|
||||
Dim ptOrig As New Point3d(b3PrintSolid.Min())
|
||||
Dim frPrintSolid As New Frame3d(ptOrig)
|
||||
nFrameId = EgtCreateGeoFrame(nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
|
||||
If nFrameId Then
|
||||
EgtSetName(nFrameId, FRAME_PART)
|
||||
EgtSetMode(nFrameId, GDB_MD.LOCKED)
|
||||
End If
|
||||
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.BL)
|
||||
' appoggio il pezzo sulla tavola
|
||||
EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
|
||||
' lo aggiungo a lista pezzi
|
||||
EgtSetInfo(nPartId, FILE_PATH, sFilePath)
|
||||
EgtSetInfo(nPartId, "PartOnTable", 1)
|
||||
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
|
||||
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nPartReferenceLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
|
||||
Map.refTopPanelVM.PartList.Add(NewPart)
|
||||
' aggiorno riferimento
|
||||
Map.refReferencePanelVM.UpdateFramePosition(NewPart)
|
||||
Dim ManagePart_Part As ManagePart_Part = New ManagePart_Part(NewPart)
|
||||
' elimino da posizione originale
|
||||
m_OrigEntity.OrigLayer.EntityList.Remove(m_OrigEntity)
|
||||
@@ -741,9 +745,10 @@ Public Class GeomEntity_MenuItem
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End Select
|
||||
'' aggiorno visibilita' da check di categoria
|
||||
'Dim PrintLayer As ViewLayer = Map.refViewLayerManagerVM.LayerList.FirstOrDefault(Function(x) x.Type = ViewLayer.ViewLayerType.PRINT_SOLID)
|
||||
'EgtSetStatus(m_OrigEntity.nId, If(IsNothing(PrintLayer.bIsVisible) OrElse PrintLayer.bIsVisible, GDB_ST.ON_, GDB_ST.OFF))
|
||||
' aggiorno visibilita' da check di categoria
|
||||
Dim PrintViewlayer As ViewLayer = Map.refViewLayerManagerVM.LayerList.FirstOrDefault(Function(x) x.Type = ViewLayer.ViewLayerType.PRINT_SOLID)
|
||||
EgtSetStatus(m_OrigEntity.nId, If(IsNothing(PrintViewlayer.bIsVisible) OrElse PrintViewlayer.bIsVisible, GDB_ST.ON_, GDB_ST.OFF))
|
||||
EgtDraw()
|
||||
Return
|
||||
End If
|
||||
Select Case Map.refManagePartPanelVM.Type
|
||||
@@ -763,11 +768,18 @@ Public Class GeomEntity_MenuItem
|
||||
NewLayer.EntityList.Add(m_OrigEntity)
|
||||
' aggiorno riferimenti nell'entita'
|
||||
m_OrigEntity.UpdateOrigLayer(NewLayer)
|
||||
' aggiorno colore
|
||||
EgtSetColor(m_OrigEntity.nId, GetColor(m_Type))
|
||||
' aggiorno visibilita' da check di categoria
|
||||
Dim PrintViewlayer As ViewLayer = Map.refViewLayerManagerVM.LayerList.FirstOrDefault(Function(x) x.Type = m_Type)
|
||||
EgtSetStatus(m_OrigEntity.nId, If(IsNothing(PrintViewlayer.bIsVisible) OrElse PrintViewlayer.bIsVisible, GDB_ST.ON_, GDB_ST.OFF))
|
||||
EgtDraw()
|
||||
End If
|
||||
End If
|
||||
' aggiorno riferimenti nel context menu item
|
||||
m_OrigEntity.UpdateContextMenu()
|
||||
Map.refManagePartPanelVM.UpdateAllEntityContextMenu()
|
||||
Case ManagePartPanelVM.ManagePartType.MODIFY
|
||||
Dim bIsMovedPartOrRib As Boolean = False
|
||||
' recupero layer da pezzo
|
||||
Dim nLayerId As Integer = GDB_ID.NULL
|
||||
Select Case m_Type
|
||||
@@ -789,18 +801,21 @@ Public Class GeomEntity_MenuItem
|
||||
' elimino info vecchio layer
|
||||
Select Case m_OrigEntity.OrigLayer.Type
|
||||
Case ManagePart_Layer.LayerType.PRINT_SOLID
|
||||
EgtResetMark(m_OrigEntity.nId)
|
||||
'EgtResetMark(m_OrigEntity.nId)
|
||||
' se e' presente flag di spostamento a 45 gradi
|
||||
Dim nPartId As Integer = EgtGetParent(EgtGetParent(m_OrigEntity.nId))
|
||||
Dim vtMoved As Vector3d
|
||||
If EgtGetInfo(nPartId, "MovedPart", vtMoved) Then
|
||||
If EgtGetInfo(nPartId, KEY_MOVEDPART, vtMoved) Then
|
||||
' lo sposto e rimuovo info
|
||||
EgtMove(m_OrigEntity.nId, -vtMoved, GDB_RT.GLOB)
|
||||
EgtRemoveInfo(nPartId, "MovedPart")
|
||||
EgtRemoveInfo(nPartId, KEY_MOVEDPART)
|
||||
End If
|
||||
bIsMovedPartOrRib = True
|
||||
Case ManagePart_Layer.LayerType.MACH_START
|
||||
Case ManagePart_Layer.LayerType.RIBS
|
||||
EgtRemoveInfo(m_OrigEntity.nId, KEY_RIB_TYPE)
|
||||
EgtRemoveInfo(m_OrigEntity.nId, RIB_ID)
|
||||
bIsMovedPartOrRib = True
|
||||
Case ManagePart_Layer.LayerType.SHELL_NUMBER
|
||||
EgtRemoveInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE)
|
||||
Case ManagePart_Layer.LayerType.AUX_SOLIDS
|
||||
@@ -824,28 +839,33 @@ Public Class GeomEntity_MenuItem
|
||||
Select Case m_Type
|
||||
Case ManagePart_Layer.LayerType.PRINT_SOLID
|
||||
EgtSetName(m_OrigEntity.nId, PRINT_SOLID)
|
||||
EgtSetColor(m_OrigEntity.nId, c3Print)
|
||||
' rimuovo eventuale nota spostamento per 45 gradi
|
||||
EgtRemoveInfo(m_OrigEntity.OrigLayer.OrigPart.nId, "MovedPart")
|
||||
EgtRemoveInfo(m_OrigEntity.OrigLayer.OrigPart.nId, KEY_MOVEDPART)
|
||||
bIsMovedPartOrRib = True
|
||||
Case ManagePart_Layer.LayerType.MACH_START
|
||||
EgtSetName(m_OrigEntity.nId, LAY_MACH_START)
|
||||
EgtSetColor(m_OrigEntity.nId, c3MachStart)
|
||||
Case ManagePart_Layer.LayerType.RIBS
|
||||
EgtSetName(m_OrigEntity.nId, LAY_RIBS)
|
||||
EgtSetInfo(m_OrigEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetColor(m_OrigEntity.nId, c3Rib)
|
||||
EgtSetInfo(m_OrigEntity.nId, RIB_ID, RibPanelVM.GetNextRibIndex())
|
||||
bIsMovedPartOrRib = True
|
||||
Case ManagePart_Layer.LayerType.SHELL_NUMBER
|
||||
EgtSetName(m_OrigEntity.nId, LAY_SHELL_NBR)
|
||||
EgtSetInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
|
||||
EgtSetColor(m_OrigEntity.nId, c3ShellNumber)
|
||||
Case ManagePart_Layer.LayerType.AUX_SOLIDS
|
||||
EgtSetName(m_OrigEntity.nId, LAY_AUX_SOLIDS)
|
||||
EgtSetInfo(m_OrigEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
|
||||
EgtSetColor(m_OrigEntity.nId, c3AuxSolids)
|
||||
Case ManagePart_Layer.LayerType.OTHERS
|
||||
EgtSetName(m_OrigEntity.nId, LAY_OTHERS)
|
||||
EgtSetColor(m_OrigEntity.nId, c3Others)
|
||||
End Select
|
||||
' resetto colore entita'
|
||||
EgtResetColor(m_OrigEntity.nId)
|
||||
' se spostato un Rib, aggiorno posizione riferimento e pezzo
|
||||
If bIsMovedPartOrRib Then
|
||||
Map.refReferencePanelVM.UpdateFramePosition(NewPart.PrintPart)
|
||||
Map.refDispositionPanelVM.UpdateZPos()
|
||||
Map.refSliceManagerVM.UpdateDimensions()
|
||||
End If
|
||||
EgtDraw()
|
||||
' aggiorno riferimenti nel context menu item
|
||||
If bUpdateAllContextMenu Then
|
||||
@@ -924,7 +944,8 @@ Public Class ManagerPart_MenuItem
|
||||
Select Case Map.refManagePartPanelVM.Type
|
||||
Case ManagePartPanelVM.ManagePartType.IMPORT
|
||||
For Each Layer In m_OrigPart.LayerList
|
||||
For Each Entity In Layer.EntityList
|
||||
For EntityIndex = Layer.EntityList.Count - 1 To 0 Step -1
|
||||
Dim Entity As PartManager_GeomEntity = Layer.EntityList(EntityIndex)
|
||||
' le rimuovo da lista entita' pezzo
|
||||
Layer.EntityList.Remove(Entity)
|
||||
' la rimetto in lista importati
|
||||
@@ -947,7 +968,9 @@ Public Class ManagerPart_MenuItem
|
||||
' aggiorno riferimenti nel context menu item
|
||||
Map.refManagePartPanelVM.UpdateAllEntityContextMenu()
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
If Not IsNothing(Map.refTopPanelVM.SelPart) Then ' in prima importazione non c'e' alcun pezzo selezionato
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End If
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ Public Class Material
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub UpdateIsModified()
|
||||
m_bIsModified = m_CathegoryList.Any(Function(x) x.MaterialParamList.Any(Function(y) y.bIsModified))
|
||||
m_bIsModified = m_CathegoryList.Any(Function(x) x.MaterialParamList.Any(Function(y) y.bIsModified)) OrElse bIsModifiedName
|
||||
NotifyPropertyChanged(NameOf(ghName))
|
||||
End Sub
|
||||
|
||||
@@ -31,23 +31,32 @@ Public Class Material
|
||||
Return m_nIndex
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetIndex(nValue As Integer)
|
||||
m_nIndex = nValue
|
||||
End Sub
|
||||
|
||||
Private m_sGUID As String
|
||||
Public ReadOnly Property sGUID As String
|
||||
Public Property sGUID As String
|
||||
Get
|
||||
Return m_sGUID
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sGUID = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sOrigName As String = ""
|
||||
Private m_sName As String
|
||||
Public Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim bIsModified As Boolean = m_sName <> value
|
||||
m_sName = value
|
||||
Map.refMaterialDbVM.SetNameVisibility(False)
|
||||
NotifyPropertyChanged(NameOf(ghName))
|
||||
If bIsModified Then UpdateIsModified()
|
||||
Map.refMaterialDbVM.SetIsEnabled(True)
|
||||
End Set
|
||||
End Property
|
||||
Public ReadOnly Property ghName As String
|
||||
@@ -55,12 +64,18 @@ Public Class Material
|
||||
Return m_sName & If(m_bIsModified, "*", "")
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property bIsModifiedName As Boolean
|
||||
Get
|
||||
Return m_sName <> m_sOrigName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' per lettura da file
|
||||
Sub New(nIndex As Integer)
|
||||
m_nIndex = nIndex
|
||||
ReadMaterialParamString(nIndex, MAT_GUID, "", m_sGUID)
|
||||
ReadMaterialParamString(nIndex, MAT_NAME, "", m_sName)
|
||||
m_sOrigName = m_sName
|
||||
'EgtGetStringUtf8FromIni(nIndex, MAT_NAME, "", m_sName, sMatIniFilePath)
|
||||
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.GENERAL, nIndex))
|
||||
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.TEMPERATURES, nIndex))
|
||||
@@ -76,7 +91,8 @@ Public Class Material
|
||||
Sub New()
|
||||
m_nIndex = Map.refMaterialDbVM.MaterialList.Max(Function(x) x.nIndex) + 1
|
||||
m_sGUID = Guid.NewGuid.ToString()
|
||||
m_sName = "New Material Param"
|
||||
m_sName = "New Material"
|
||||
m_sOrigName = m_sName
|
||||
Dim nCopyIndex As Integer = Map.refMaterialDbVM.SelMaterial.m_nIndex
|
||||
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.GENERAL, nCopyIndex))
|
||||
Dim Orig As StringMaterialParam = m_CathegoryList(0).MaterialParamList.FirstOrDefault(Function(x) x.Type = MaterialParam.Params.ORIG)
|
||||
@@ -133,6 +149,16 @@ Public Class Material
|
||||
'm_dRibsLeadOutWipeDir = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADOUTWIPEDIR, 0, CurrentMachine.sMachiningFilePath)
|
||||
End Sub
|
||||
|
||||
Private Sub SaveName()
|
||||
m_sOrigName = m_sName
|
||||
End Sub
|
||||
|
||||
Private Sub ResetName()
|
||||
m_sName = m_sOrigName
|
||||
NotifyPropertyChanged(NameOf(ghName))
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
End Sub
|
||||
|
||||
Friend Sub Save()
|
||||
If bIsModified Then
|
||||
' salvo tutti i parametri su orig
|
||||
@@ -145,15 +171,17 @@ Public Class Material
|
||||
End Sub
|
||||
|
||||
Private Sub SaveParams()
|
||||
SaveName()
|
||||
For Each Cathegory In m_CathegoryList
|
||||
Cathegory.SaveParams()
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub ResetModification()
|
||||
ResetName()
|
||||
If bIsModified Then
|
||||
' annullo le modifiche di tutti i parametri
|
||||
SaveParams()
|
||||
ResetParams()
|
||||
' resetto stato di modificata
|
||||
UpdateIsModified()
|
||||
End If
|
||||
@@ -165,12 +193,12 @@ Public Class Material
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamsOnDb(nIndex As Integer)
|
||||
WriteMaterialParam(nIndex, MAT_GUID, m_sGUID)
|
||||
WriteMaterialParam(nIndex, MAT_NAME, m_sName)
|
||||
Friend Sub WriteParamsOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
WriteMaterialParam(nIndex, MAT_GUID, m_sGUID, sFilePath)
|
||||
WriteMaterialParam(nIndex, MAT_NAME, m_sName, sFilePath)
|
||||
' EgtWriteStringUtf8toIni(nIndex, MAT_NAME, m_sName)
|
||||
For Each Cathegory In m_CathegoryList
|
||||
Cathegory.WriteParamOnDb(nIndex)
|
||||
Cathegory.WriteParamOnDb(nIndex, sFilePath)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
@@ -215,6 +243,7 @@ Public Class MaterialIndex
|
||||
|
||||
Friend Function GetSelMaterialData(Param As MaterialParam.Params) As Double
|
||||
Dim sParamKey As String = ""
|
||||
Dim dDefault As Double = 0
|
||||
Select Case Param
|
||||
Case MaterialParam.Params.T1
|
||||
sParamKey = MAT_T1
|
||||
@@ -228,8 +257,10 @@ Public Class MaterialIndex
|
||||
sParamKey = MAT_T5
|
||||
Case MaterialParam.Params.K_EXTRUSION
|
||||
sParamKey = MAT_KEXTRUSION
|
||||
dDefault = 100
|
||||
Case MaterialParam.Params.K_LAY_TIME
|
||||
sParamKey = MAT_KLAYERTIME
|
||||
dDefault = 100
|
||||
Case MaterialParam.Params.C1
|
||||
sParamKey = MAT_C1
|
||||
Case MaterialParam.Params.C2
|
||||
@@ -255,7 +286,7 @@ Public Class MaterialIndex
|
||||
Case MaterialParam.Params.KN
|
||||
sParamKey = MAT_KN
|
||||
End Select
|
||||
Return ReadMaterialParamDouble(m_nIndex, sParamKey, 0)
|
||||
Return ReadMaterialParamDouble(m_nIndex, sParamKey, dDefault)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
@@ -355,9 +386,9 @@ Public Class MaterialCathegory
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
For Each Param In m_MaterialParamList
|
||||
Param.WriteParamOnDb(nIndex)
|
||||
Param.WriteParamOnDb(nIndex, sFilePath)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
@@ -453,7 +484,7 @@ Public MustInherit Class MaterialParam
|
||||
End Sub
|
||||
|
||||
|
||||
Friend MustOverride Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend MustOverride Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Friend MustOverride Sub SaveParam()
|
||||
Friend MustOverride Sub ResetParam()
|
||||
|
||||
@@ -556,7 +587,7 @@ Public Class NumericMaterialParam
|
||||
m_dOrigValue = m_dValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Dim sWriteValue As String = ""
|
||||
If m_bIsLen Then
|
||||
sWriteValue = LenToString(m_dValue, 5)
|
||||
@@ -565,43 +596,43 @@ Public Class NumericMaterialParam
|
||||
End If
|
||||
Select Case Type
|
||||
Case Params.T1
|
||||
WriteMaterialParam(nIndex, MAT_T1, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_T1, sWriteValue, sFilePath)
|
||||
Case Params.T2
|
||||
WriteMaterialParam(nIndex, MAT_T2, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_T2, sWriteValue, sFilePath)
|
||||
Case Params.T3
|
||||
WriteMaterialParam(nIndex, MAT_T3, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_T3, sWriteValue, sFilePath)
|
||||
Case Params.T4
|
||||
WriteMaterialParam(nIndex, MAT_T4, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_T4, sWriteValue, sFilePath)
|
||||
Case Params.T5
|
||||
WriteMaterialParam(nIndex, MAT_T5, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_T5, sWriteValue, sFilePath)
|
||||
Case Params.K_EXTRUSION
|
||||
WriteMaterialParam(nIndex, MAT_KEXTRUSION, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_KEXTRUSION, sWriteValue, sFilePath)
|
||||
Case Params.K_LAY_TIME
|
||||
WriteMaterialParam(nIndex, MAT_KLAYERTIME, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_KLAYERTIME, sWriteValue, sFilePath)
|
||||
Case Params.C1
|
||||
WriteMaterialParam(nIndex, MAT_C1, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_C1, sWriteValue, sFilePath)
|
||||
Case Params.C2
|
||||
WriteMaterialParam(nIndex, MAT_C2, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_C2, sWriteValue, sFilePath)
|
||||
Case Params.DENSITY
|
||||
WriteMaterialParam(nIndex, MAT_DENSITY, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_DENSITY, sWriteValue, sFilePath)
|
||||
Case Params.AMAX
|
||||
WriteMaterialParam(nIndex, MAT_AMAX, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_AMAX, sWriteValue, sFilePath)
|
||||
Case Params.ATRG
|
||||
WriteMaterialParam(nIndex, MAT_ATRG, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_ATRG, sWriteValue, sFilePath)
|
||||
Case Params.AMIN
|
||||
WriteMaterialParam(nIndex, MAT_AMIN, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_AMIN, sWriteValue, sFilePath)
|
||||
Case Params.BMAX
|
||||
WriteMaterialParam(nIndex, MAT_BMAX, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_BMAX, sWriteValue, sFilePath)
|
||||
Case Params.BTRG
|
||||
WriteMaterialParam(nIndex, MAT_BTRG, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_BTRG, sWriteValue, sFilePath)
|
||||
Case Params.BMIN
|
||||
WriteMaterialParam(nIndex, MAT_BMIN, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_BMIN, sWriteValue, sFilePath)
|
||||
Case Params.KW
|
||||
WriteMaterialParam(nIndex, MAT_KW, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_KW, sWriteValue, sFilePath)
|
||||
Case Params.KZ
|
||||
WriteMaterialParam(nIndex, MAT_KZ, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_KZ, sWriteValue, sFilePath)
|
||||
Case Params.KN
|
||||
WriteMaterialParam(nIndex, MAT_KN, sWriteValue)
|
||||
WriteMaterialParam(nIndex, MAT_KN, sWriteValue, sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -618,8 +649,6 @@ End Class
|
||||
Public Class StringMaterialParam
|
||||
Inherits MaterialParam
|
||||
|
||||
Public Const DEFAULT_MATERIAL As String = "***"
|
||||
|
||||
Private m_sGUID As String
|
||||
Public Property sGUID As String
|
||||
Get
|
||||
@@ -684,9 +713,9 @@ Public Class StringMaterialParam
|
||||
Case Params.ORIG
|
||||
Dim sOrigGUID As String = ""
|
||||
ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID)
|
||||
If sOrigGUID = DEFAULT_MATERIAL Then
|
||||
m_sGUID = DEFAULT_MATERIAL
|
||||
m_sValue = DEFAULT_MATERIAL
|
||||
If sOrigGUID = ORIG_MATERIAL Then
|
||||
m_sGUID = ORIG_MATERIAL
|
||||
m_sValue = ORIG_MATERIAL
|
||||
' se livello alto, lo visualizzo comunque
|
||||
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
|
||||
m_String_Visibility = Visibility.Visible
|
||||
@@ -711,10 +740,10 @@ Public Class StringMaterialParam
|
||||
m_sOrigValue = m_sValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Select Case Type
|
||||
Case Params.ORIG
|
||||
WriteMaterialParam(nIndex, MAT_ORIG, m_sGUID)
|
||||
WriteMaterialParam(nIndex, MAT_ORIG, m_sGUID, sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -741,8 +770,8 @@ Public Class StringMaterialParam
|
||||
|
||||
Public Sub Original()
|
||||
If MessageBox.Show("Are you sure you want to set this material as original?", "Original material confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
m_sGUID = DEFAULT_MATERIAL
|
||||
m_sValue = DEFAULT_MATERIAL
|
||||
m_sGUID = ORIG_MATERIAL
|
||||
m_sValue = ORIG_MATERIAL
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
End If
|
||||
End Sub
|
||||
@@ -798,10 +827,10 @@ Public Class ComboMaterialParam
|
||||
m_OrigSelValue = m_SelValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Select Case Type
|
||||
'Case Params.STRANDORDER
|
||||
' WriteMaterialParam(nIndex, MAC_STRANDORDER, m_SelValue.Id)
|
||||
' WriteMaterialParam(nIndex, MAC_STRANDORDER, m_SelValue.Id, sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -849,7 +878,7 @@ Public Class CheckMaterialParam
|
||||
m_bOrigValue = m_bValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
||||
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
|
||||
Select Case Type
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -1,54 +1,118 @@
|
||||
<UserControl x:Class="MaterialDbV"
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus">
|
||||
<Border VerticalAlignment="Center"
|
||||
Style="{StaticResource RightPanel_Border}">
|
||||
<Grid>
|
||||
<Grid x:Class="MaterialDbV"
|
||||
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"
|
||||
xmlns:PrintApp="clr-namespace:Icarus"
|
||||
Width="310"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Margin="0,0,0,2.5"
|
||||
Style="{StaticResource Title_Border}">
|
||||
<TextBlock Text="MATERIAL DATABASE"
|
||||
Style="{StaticResource Title_TextBlock}"/>
|
||||
</Border>
|
||||
<Border Grid.Row="1"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource BottomGrayRow_Border}">
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<UniformGrid Rows="1">
|
||||
<Grid HorizontalAlignment="Center"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Content="Copy"
|
||||
Command="{Binding Copy_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Save"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_Button}"/>
|
||||
<Button Grid.Column="1"
|
||||
Content="Save"
|
||||
Command="{Binding Save_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Delete"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_Button}"/>
|
||||
<Button Grid.Column="2" Content="Delete"
|
||||
Command="{Binding Delete_Command}"
|
||||
IsEnabled="{Binding Delete_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
</UniformGrid>
|
||||
<ComboBox Grid.Row="1"
|
||||
Name="MaterialCombo"
|
||||
ItemsSource="{Binding MaterialList}"
|
||||
SelectedItem="{Binding SelMaterial}"
|
||||
DisplayMemberPath="ghName"/>
|
||||
<Grid Grid.Row="2"
|
||||
Visibility="{Binding Name_Visibility}">
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_Button}"/>
|
||||
<Button Grid.Column="3"
|
||||
Command="{Binding Import_Command}"
|
||||
ToolTip="{Binding Import_ToolTip}"
|
||||
IsEnabled="{Binding ImpExp_IsEnabled}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/MaterialDB/MaterialImport.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Grid.Column="4"
|
||||
Command="{Binding Export_Command}"
|
||||
ToolTip="{Binding Export_ToolTip}"
|
||||
IsEnabled="{Binding ImpExp_IsEnabled}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/MaterialDB/MaterialExport.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1"
|
||||
Margin="0,2.5,0,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Name_Msg}"/>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||
Text="{Binding SelectedItem.sName, ElementName=MaterialCombo, UpdateSourceTrigger=Explicit}"/>
|
||||
<ComboBox Name="MaterialCombo"
|
||||
ItemsSource="{Binding MaterialList}"
|
||||
SelectedItem="{Binding SelMaterial}"
|
||||
DisplayMemberPath="ghName"
|
||||
Visibility="{Binding Combo_Visibility}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Text="{Binding SelectedItem.sName, ElementName=MaterialCombo, UpdateSourceTrigger=Explicit}"
|
||||
ExplicitUpdateSource="EnterKeyPressOrLostFocus"
|
||||
IsExplicitFocused="{Binding UserShouldEditValueNow}"
|
||||
Visibility="{Binding Name_Visibility}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource OptionTextBox2}"/>
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding EditName_Command}"
|
||||
ToolTip="{Binding EditName_ToolTip}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/MaterialDB/Edit.png"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
<ScrollViewer Grid.Row="3"
|
||||
<ScrollViewer Grid.Row="2"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled">
|
||||
<ItemsControl Grid.Row="1"
|
||||
ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MaterialCombo}">
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
Margin="1,0,0,2.5"
|
||||
Padding="0"
|
||||
BorderThickness="0"
|
||||
Style="{StaticResource RightPanel_ScrollViewer}">
|
||||
<ItemsControl ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MaterialCombo}"
|
||||
BorderThickness="0"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Vertical"/>
|
||||
<StackPanel Orientation="Vertical"
|
||||
Margin="0"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
@@ -57,11 +121,14 @@
|
||||
IsExpanded="{Binding Cathegory_IsExpanded}"
|
||||
VerticalContentAlignment="Top"
|
||||
Visibility="{Binding Cathegory_Visibility}">
|
||||
<ItemsControl ItemsSource="{Binding MaterialParamList}">
|
||||
<ItemsControl ItemsSource="{Binding MaterialParamList}"
|
||||
BorderThickness="0"
|
||||
Margin="0"
|
||||
Padding="0">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="1"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<StackPanel Orientation="Vertical"
|
||||
Margin="0"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemContainerStyle>
|
||||
@@ -71,34 +138,32 @@
|
||||
</ItemsControl.ItemContainerStyle>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type PrintApp:NumericMaterialParam}">
|
||||
<Grid>
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding dValue}"/>
|
||||
<!--<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
Text="{Binding dValue}"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:StringMaterialParam}">
|
||||
<Grid Visibility="{Binding String_Visibility}">
|
||||
<Grid Visibility="{Binding String_Visibility}"
|
||||
Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding sValue}"
|
||||
IsReadOnly="True"/>
|
||||
@@ -113,49 +178,37 @@
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:ComboMaterialParam}">
|
||||
<Grid>
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<!--<ColumnDefinition Width="Auto"/>-->
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<!--<Button Grid.Column="1"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
HorizontalAlignment="Stretch"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:CheckMaterialParam}">
|
||||
<Grid>
|
||||
<Grid Height="22"
|
||||
Margin="0,1,2.5,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<!--<ColumnDefinition Width="Auto"/>-->
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
<!--<Button Grid.Column="1"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
CommandParameter="dCurrStrandH"
|
||||
IsEnabled="{Binding bCurrStrandH_IsModified}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>-->
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
@@ -165,11 +218,14 @@
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
<UniformGrid Grid.Row="4" Rows="1">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
</UniformGrid>
|
||||
<Button Grid.Row="3"
|
||||
Command="{Binding Ok_Command}"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
Margin="0,2.5,0,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
</UserControl>
|
||||
</Grid>
|
||||
|
||||
@@ -60,10 +60,13 @@ Public Class MaterialDbVM
|
||||
Return m_Name_Visibility
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetNameVisibility(bValue As Boolean)
|
||||
m_Name_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
NotifyPropertyChanged(NameOf(Name_Visibility))
|
||||
End Sub
|
||||
|
||||
Private m_Combo_Visibility As Visibility = Visibility.Visible
|
||||
Public ReadOnly Property Combo_Visibility As Visibility
|
||||
Get
|
||||
Return m_Combo_Visibility
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' variabile che indica se una qualunque lavorazione e' stata modificata
|
||||
Private m_bIsModified As Boolean
|
||||
@@ -76,10 +79,22 @@ Public Class MaterialDbVM
|
||||
m_bIsModified = value
|
||||
End Sub
|
||||
|
||||
Private m_IsEnabled As Boolean = True
|
||||
Public ReadOnly Property IsEnabled As Boolean
|
||||
Get
|
||||
Return m_IsEnabled
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetIsEnabled(value As Boolean)
|
||||
m_IsEnabled = value
|
||||
NotifyPropertyChanged(NameOf(IsEnabled))
|
||||
NotifyPropertyChanged(NameOf(Delete_IsEnabled))
|
||||
End Sub
|
||||
|
||||
Private m_Delete_IsEnabled As Boolean = True
|
||||
Public ReadOnly Property Delete_IsEnabled As Boolean
|
||||
Get
|
||||
Return m_Delete_IsEnabled
|
||||
Return m_IsEnabled AndAlso m_Delete_IsEnabled
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetDeleteIsEnabled(value As Boolean)
|
||||
@@ -91,11 +106,58 @@ Public Class MaterialDbVM
|
||||
NotifyPropertyChanged(NameOf(Delete_IsEnabled))
|
||||
End Sub
|
||||
|
||||
Private m_UserShouldEditValueNow As Boolean = False
|
||||
Public Property UserShouldEditValueNow As Boolean
|
||||
Get
|
||||
Return m_UserShouldEditValueNow
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_UserShouldEditValueNow = value
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetUserShouldEditValueNow()
|
||||
m_UserShouldEditValueNow = True
|
||||
NotifyPropertyChanged(NameOf(UserShouldEditValueNow))
|
||||
m_UserShouldEditValueNow = False
|
||||
NotifyPropertyChanged(NameOf(UserShouldEditValueNow))
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property ImpExp_IsEnabled As Boolean
|
||||
Get
|
||||
Return m_IsEnabled AndAlso (IsNothing(m_SelMaterial) OrElse Not m_SelMaterial.bIsModified)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property Import_ToolTip As String
|
||||
Get
|
||||
Return "Import"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Export_ToolTip As String
|
||||
Get
|
||||
Return "Export"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property EditName_ToolTip As String
|
||||
Get
|
||||
Return "Edit Name"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Tooltip
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdCopy As ICommand
|
||||
Private m_cmdSave As ICommand
|
||||
Private m_cmdDelete As ICommand
|
||||
Private m_cmdEditName As ICommand
|
||||
Private m_cmdImport As ICommand
|
||||
Private m_cmdExport As ICommand
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
@@ -133,6 +195,14 @@ Public Class MaterialDbVM
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub SetNameVisibility(bValue As Boolean)
|
||||
m_Name_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
m_Combo_Visibility = If(Not bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
NotifyPropertyChanged(NameOf(Name_Visibility))
|
||||
NotifyPropertyChanged(NameOf(Combo_Visibility))
|
||||
If bValue Then SetUserShouldEditValueNow()
|
||||
End Sub
|
||||
|
||||
Private Function SelMaterialIsOriginal() As Boolean
|
||||
If IsNothing(m_SelMaterial) Then Return False
|
||||
' verifico abilitazione delete
|
||||
@@ -140,7 +210,7 @@ Public Class MaterialDbVM
|
||||
If Not IsNothing(General) Then
|
||||
Dim Original As MaterialParam = General.MaterialParamList.FirstOrDefault(Function(x) x.Type = MaterialParam.Params.ORIG)
|
||||
If Not IsNothing(Original) Then
|
||||
If DirectCast(Original, StringMaterialParam).sValue = StringMaterialParam.DEFAULT_MATERIAL Then
|
||||
If DirectCast(Original, StringMaterialParam).sValue = ORIG_MATERIAL Then
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
@@ -176,7 +246,7 @@ Public Class MaterialDbVM
|
||||
End Select
|
||||
End If
|
||||
If m_bIsModified Then
|
||||
Dim sBakMatIniFilePath As String = Path.ChangeExtension(CurrentMachine.sMaterialsFilePath, ".bak")
|
||||
Dim sBakMatIniFilePath As String = Path.ChangeExtension(CurrentMachine.sMaterialFilePath, ".bak")
|
||||
If File.Exists(sBakMatIniFilePath) Then
|
||||
Try
|
||||
' cambio estensione in bak a file Db vecchio
|
||||
@@ -184,24 +254,24 @@ Public Class MaterialDbVM
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
If File.Exists(CurrentMachine.sMaterialsFilePath) Then
|
||||
If File.Exists(CurrentMachine.sMaterialFilePath) Then
|
||||
Try
|
||||
' cambio estensione in bak a file Db vecchio
|
||||
File.Move(CurrentMachine.sMaterialsFilePath, sBakMatIniFilePath)
|
||||
File.Move(CurrentMachine.sMaterialFilePath, sBakMatIniFilePath)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
' se ancora esiste lo elimino
|
||||
If File.Exists(CurrentMachine.sMaterialsFilePath) Then
|
||||
If File.Exists(CurrentMachine.sMaterialFilePath) Then
|
||||
Try
|
||||
File.Delete(CurrentMachine.sMaterialsFilePath)
|
||||
File.Delete(CurrentMachine.sMaterialFilePath)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
' creo nuovo file
|
||||
If Not File.Exists(CurrentMachine.sMaterialsFilePath) Then
|
||||
If Not File.Exists(CurrentMachine.sMaterialFilePath) Then
|
||||
Try
|
||||
File.WriteAllLines(CurrentMachine.sMaterialsFilePath, {"; Commento per evitare BOM con UTF-8"})
|
||||
File.WriteAllLines(CurrentMachine.sMaterialFilePath, {"; Commento per evitare BOM con UTF-8"})
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
@@ -291,12 +361,28 @@ Public Class MaterialDbVM
|
||||
End Property
|
||||
|
||||
Public Sub Delete()
|
||||
Dim sCheckMessage As String = "Are you sure you want to delete selected material?"
|
||||
' se materiale originale, esco
|
||||
If SelMaterialIsOriginal() Then Return
|
||||
If SelMaterialIsOriginal() Then
|
||||
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
|
||||
If MessageBox.Show("Trying to delete an Original Material! Are you sure you want to delete it?", "", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
|
||||
Return
|
||||
End If
|
||||
sCheckMessage = "Trying to delete an Original Material! Are you ABSOLUTELY sure you want to delete it?"
|
||||
Else
|
||||
MessageBox.Show("Original material impossible to delete!")
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
' chiedo conferma
|
||||
Select Case MessageBox.Show("Are you sure you want to delete selected material?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Select Case MessageBox.Show(sCheckMessage, "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Case MessageBoxResult.Yes
|
||||
m_MaterialList.Remove(m_SelMaterial)
|
||||
SetIsModified(True)
|
||||
If m_MaterialList.Count > 0 Then
|
||||
SelMaterial = m_MaterialList(0)
|
||||
NotifyPropertyChanged(NameOf(SelMaterial))
|
||||
End If
|
||||
' segno Db come modificato
|
||||
Map.refMaterialDbVM.SetIsModified(True)
|
||||
Case MessageBoxResult.No
|
||||
@@ -306,6 +392,78 @@ Public Class MaterialDbVM
|
||||
|
||||
#End Region ' Delete
|
||||
|
||||
#Region "EditName"
|
||||
|
||||
Public ReadOnly Property EditName_Command As ICommand
|
||||
Get
|
||||
If m_cmdEditName Is Nothing Then
|
||||
m_cmdEditName = New Command(AddressOf EditName)
|
||||
End If
|
||||
Return m_cmdEditName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub EditName()
|
||||
If IsNothing(m_SelMaterial) Then Return
|
||||
SetNameVisibility(True)
|
||||
SetIsEnabled(False)
|
||||
End Sub
|
||||
|
||||
#End Region ' EditName
|
||||
|
||||
#Region "Import"
|
||||
|
||||
Public ReadOnly Property Import_Command As ICommand
|
||||
Get
|
||||
If m_cmdImport Is Nothing Then
|
||||
m_cmdImport = New Command(AddressOf Import)
|
||||
End If
|
||||
Return m_cmdImport
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Import()
|
||||
' chiedo il nome del file .data da aprire
|
||||
Dim OpenFileDlg As New System.Windows.Forms.OpenFileDialog() With {.Title = EgtMsg(31451) & " " & EgtMsg(31452),
|
||||
.Filter = "Material file data (*" & ImportExportMachiningPanelVM.MaterialDataExtension & ")|*" & ImportExportMachiningPanelVM.MaterialDataExtension &
|
||||
"|Original Material file data (*" & ImportExportMachiningPanelVM.OriginalMaterialDataExtension & ")|*" & ImportExportMachiningPanelVM.OriginalMaterialDataExtension &
|
||||
"|All Material file data (*" & ImportExportMachiningPanelVM.MaterialDataExtension & "," & ImportExportMachiningPanelVM.OriginalMaterialDataExtension & ")|*" &
|
||||
ImportExportMachiningPanelVM.MaterialDataExtension & ";*" & ImportExportMachiningPanelVM.OriginalMaterialDataExtension,
|
||||
.FilterIndex = 3,
|
||||
.FileName = String.Empty}
|
||||
If OpenFileDlg.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
|
||||
Dim ImportWindowVM As New ImportExportMachiningPanelVM(ImportExportMachiningPanelVM.WindowTypeEnum.MATERIAL, ImportExportMachiningPanelVM.WindowModeEnum.IMPORT, OpenFileDlg.FileName)
|
||||
If ImportWindowVM.WindowMode <> ImportExportMachiningPanelVM.WindowModeEnum.IMPORT_ORIG Then
|
||||
Dim ImportWindowV As New ImportExportMachiningPanelV(Application.Current.MainWindow, ImportWindowVM)
|
||||
ImportWindowV.ShowDialog()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' Import
|
||||
|
||||
#Region "Export"
|
||||
|
||||
Public ReadOnly Property Export_Command As ICommand
|
||||
Get
|
||||
If m_cmdExport Is Nothing Then
|
||||
m_cmdExport = New Command(AddressOf Export)
|
||||
End If
|
||||
Return m_cmdExport
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Export()
|
||||
Dim ExportMode As ImportExportMachiningPanelVM.WindowModeEnum = ImportExportMachiningPanelVM.WindowModeEnum.EXPORT
|
||||
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 AndAlso (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
ExportMode = ImportExportMachiningPanelVM.WindowModeEnum.EXPORT_ORIG
|
||||
End If
|
||||
Dim ExportWindowVM As New ImportExportMachiningPanelVM(ImportExportMachiningPanelVM.WindowTypeEnum.MATERIAL, ExportMode)
|
||||
Dim ExportWindowV As New ImportExportMachiningPanelV(Application.Current.MainWindow, ExportWindowVM)
|
||||
ExportWindowV.ShowDialog()
|
||||
End Sub
|
||||
|
||||
#End Region ' Export
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -70,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.5.1.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.1.1")>
|
||||
<Assembly: AssemblyVersion("2.5.3.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.3.1")>
|
||||
|
||||
@@ -0,0 +1,223 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="OptionWindowV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:Icarus="clr-namespace:Icarus"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
Title="{Binding Title}" Icon="/Resources/Icarus.ico"
|
||||
Background="Transparent"
|
||||
AllowsTransparency="True"
|
||||
BorderThickness="0"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="0" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
|
||||
MinWidth="400" MinHeight="382"
|
||||
Width="400" Height="412">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Margin="0,0,0,2.5"
|
||||
Style="{StaticResource Title_Border}">
|
||||
<TextBlock Text="SETTINGS"
|
||||
Style="{StaticResource Title_TextBlock}"/>
|
||||
</Border>
|
||||
|
||||
<Border Grid.Row="1"
|
||||
Margin="0,2.5,0,0"
|
||||
CornerRadius="4"
|
||||
Style="{StaticResource WhiteBottomBlueRow_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TabControl Margin="5,5,5,5">
|
||||
<TabItem Header="{Binding GenericMsg}">
|
||||
<StackPanel Margin="5,5,5,0">
|
||||
<!--<GroupBox Header="{Binding CurrentLanguageMsg}"
|
||||
Margin="0,0,0,5">
|
||||
<UniformGrid Rows="2" Margin="3,3,3,3">
|
||||
<ComboBox ItemsSource="{Binding LanguageList, Mode=OneWay}" Height="25"
|
||||
DisplayMemberPath="Name" SelectedItem="{Binding SelectedLanguage}"
|
||||
Margin="0,0,0,5"/>
|
||||
<TextBlock Text="{Binding LanguageAdvertMsg}" TextWrapping="Wrap"
|
||||
TextAlignment="Center"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>-->
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding TopSceneBackgroundMsg}" VerticalAlignment="Center"/>
|
||||
<Button Background="{Binding TopSceneBackground}"
|
||||
Command="{Binding TopSceneBackground_Command}"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding BotSceneBackgroundMsg}" VerticalAlignment="Center"/>
|
||||
<Button Background="{Binding BotSceneBackground}"
|
||||
Command="{Binding BotSceneBackground_Command}"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding GridColorMsg}" VerticalAlignment="Center"/>
|
||||
<Button Background="{Binding GridColor}"
|
||||
Command="{Binding GridColor_Command}"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</UniformGrid>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding ThickLineMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding ThickLine}"
|
||||
Grid.Column="1" Grid.Row="0" Margin="22,5,0,5" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding SmoothTriMeshMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="1" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding SmoothTriMesh}"
|
||||
Grid.Column="1" Grid.Row="1" Margin="22,5,0,5" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
<Grid Margin="5,5,5,5">
|
||||
<Button Content="{Binding UpdateLicenceMsg}" Command="{Binding UpdateLicence_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding CADMsg}">
|
||||
<StackPanel Margin="5,5,5,0">
|
||||
<UniformGrid Grid.ColumnSpan="2" Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding GeometryToleranceMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding GeometryTolerance}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,0"/>
|
||||
</UniformGrid>
|
||||
<ItemsControl ItemsSource="{Binding LayerColorList}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding Color_Msg}" VerticalAlignment="Center"/>
|
||||
<Grid Margin="10,0,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="35"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Background="{Binding Background}"
|
||||
Command="{Binding Color_Command}"
|
||||
Margin="0,0,5,0"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
<Slider Grid.Column="1"
|
||||
Value="{Binding dAlpha}"
|
||||
Minimum="10"
|
||||
Maximum="100"
|
||||
TickPlacement="BottomRight"
|
||||
TickFrequency="10"
|
||||
IsSnapToTickEnabled="True"
|
||||
Margin="0,0,5,0"/>
|
||||
<TextBlock Grid.Column="2"
|
||||
Text="{Binding sAlpha}"
|
||||
TextAlignment="Right"/>
|
||||
</Grid>
|
||||
</UniformGrid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</StackPanel>
|
||||
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding ImportMsg}">
|
||||
<StackPanel Margin="5,5,5,0">
|
||||
<Grid Margin="0,5,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="0.8*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0" Grid.Column="1"
|
||||
VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||
Text="{Binding UnitScaleMsg}" />
|
||||
<TextBlock Grid.Row="0" Grid.Column="2"
|
||||
VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||
Text="{Binding FactorScaleMsg}"/>
|
||||
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
Text="{Binding DxfScaleFactorMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox Grid.Row="1" Grid.Column="1"
|
||||
ItemsSource="{Binding ScaleDXFList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedDXFScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBox Grid.Row="1" Grid.Column="2"
|
||||
Text="{Binding DxfScaleFactor}" Height="25"
|
||||
IsEnabled="{Binding DXFScaleEnable, UpdateSourceTrigger=LostFocus}"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBlock Grid.Row="2" Grid.Column="0"
|
||||
Text="{Binding StlScaleFactorMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox Grid.Row="2" Grid.Column="1"
|
||||
ItemsSource="{Binding ScaleSTLList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedSTLScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBox Grid.Row="2" Grid.Column="2"
|
||||
Text="{Binding StlScaleFactor}" Height="25"
|
||||
IsEnabled="{Binding STLScaleEnable, UpdateSourceTrigger=LostFocus}"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
<!--<TabItem Header="{Binding ExportMsg}">
|
||||
<StackPanel>
|
||||
<GroupBox Grid.Column="1" Grid.RowSpan="2"
|
||||
Header="{Binding ImageMsg}"
|
||||
Margin="5,5,5,0">
|
||||
<UniformGrid Grid.ColumnSpan="2" Columns="2">
|
||||
<TextBlock Text="{Binding ImageWidthMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ImageWidth}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBlock Text="{Binding ImageHeightMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ImageHeight}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,0,0,5"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>
|
||||
</StackPanel>
|
||||
</TabItem>-->
|
||||
<TabItem Header="{Binding CAMMsg}">
|
||||
<StackPanel>
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Button Content="{Binding AddMachineMsg}" Command="{Binding AddMachine_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Button Content="{Binding ExportMachineMsg}" Command="{Binding ExportMachine_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Grid.Row="1"
|
||||
IsCancel="True"
|
||||
HorizontalAlignment="Center"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -1133,7 +1133,7 @@ Public Class OptionWindowVM
|
||||
' aggiungo i file della Macchina
|
||||
Dim sMachineDir As String = Map.refMainWindowVM.MainWindowM.sMachinesRoot & "\" & sCurrMachineName
|
||||
If Directory.Exists(sMachineDir) Then
|
||||
zip.AddItem(sMachineDir, sCurrMachineName)
|
||||
zip.AddSelectedFiles( "name != *\.git\*.* and name != *.git*", sMachineDir, sCurrMachineName, True)
|
||||
End If
|
||||
' salvo lo zip
|
||||
zip.Save()
|
||||
@@ -1162,11 +1162,12 @@ Public Class LayerColor
|
||||
|
||||
Public Enum LayerType As Integer
|
||||
PRINTPART = 1
|
||||
RIBS = 2
|
||||
SHELLNUMBERS = 3
|
||||
AUXSOLIDS = 4
|
||||
MACHSTART = 5
|
||||
OTHERS = 6
|
||||
'REFERENCE = 2
|
||||
MACHSTART = 3
|
||||
RIBS = 4
|
||||
SHELLNUMBERS = 5
|
||||
AUXSOLIDS = 6
|
||||
OTHERS = 7
|
||||
End Enum
|
||||
|
||||
Private m_Type As LayerType
|
||||
|
||||
@@ -9,19 +9,23 @@
|
||||
<Button Command="{Binding New_Command}"
|
||||
ToolTip="{Binding NewToolTip}"
|
||||
IsEnabled="{Binding ProjCmd_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/New.png" Stretch="Uniform"/>
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ProjManager_Button}">
|
||||
<Image Source="/Resources/ProjectManager/New.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Command="{Binding OpenCommand}"
|
||||
ToolTip="{Binding OpenToolTip}"
|
||||
ContextMenuService.Placement="Bottom"
|
||||
Tag="{Binding}"
|
||||
IsEnabled="{Binding ProjCmd_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ProjManager_Button}">
|
||||
<Button.ContextMenu>
|
||||
<ContextMenu ItemsSource="{Binding MruFileNames}">
|
||||
<ContextMenu ItemsSource="{Binding MruFileNames}"
|
||||
Style="{StaticResource Icarus_ContextMenu}">
|
||||
<ContextMenu.Resources>
|
||||
<Style TargetType="{x:Type MenuItem}">
|
||||
<Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource Icarus_MenuItem}">
|
||||
<Setter Property="Command"
|
||||
Value="{Binding PlacementTarget.Tag.OpenMruFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}" />
|
||||
<Setter Property="CommandParameter" Value="{Binding}" />
|
||||
@@ -29,47 +33,58 @@
|
||||
</ContextMenu.Resources>
|
||||
</ContextMenu>
|
||||
</Button.ContextMenu>
|
||||
<Image Source="/Resources/ProjectManager/Open.png" Stretch="Uniform"/>
|
||||
<Image Source="/Resources/ProjectManager/Open.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Command="{Binding SaveCommand}"
|
||||
ToolTip="{Binding SaveToolTip}"
|
||||
IsEnabled="{Binding ProjCmd_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Save.png" Stretch="Uniform"/>
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ProjManager_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Save.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Command="{Binding SaveAsCommand}"
|
||||
ToolTip="{Binding SaveAsToolTip}"
|
||||
IsEnabled="{Binding ProjCmd_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/SaveAs.png" Stretch="Uniform"/>
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ProjManager_Button}">
|
||||
<Image Source="/Resources/ProjectManager/SaveAs.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Command="{Binding ImportCommand}"
|
||||
ToolTip="{Binding ImportToolTip}"
|
||||
IsEnabled="{Binding ProjCmd_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Import.png" Stretch="Uniform"/>
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ProjManager_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Import.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Command="{Binding ExportCommand}"
|
||||
ToolTip="{Binding ExportToolTip}"
|
||||
IsEnabled="{Binding ProjCmd_IsEnabled}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Export.png" Stretch="Uniform"/>
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ProjManager_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Export.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<!--<Button Command="{Binding ExportCommand}" ToolTip="{Binding ExportToolTip}"
|
||||
IsEnabled="{Binding DrawIsChecked}">
|
||||
<Image Source="/Resources/ProjectManager/Export.png" Stretch="Uniform"/>
|
||||
</Button>-->
|
||||
<Button Command="{Binding OptionsCommand}"
|
||||
Width="30"
|
||||
ToolTip="{Binding OptionsToolTip}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Options.png" Height="22" />
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ProjManager_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Options.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button Command="{Binding SendFeedbackCommand}"
|
||||
Width="30"
|
||||
ToolTip="{Binding SendFeedbackToolTip}"
|
||||
Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Send.png" Height="22" />
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ProjManager_Button}">
|
||||
<Image Source="/Resources/ProjectManager/Send.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
@@ -88,34 +88,24 @@ Public Class ProjManagerVM
|
||||
Return EgtMsg(MSG_TOPCOMMANDBAR + 4)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property InsertToolTip As String
|
||||
Public ReadOnly Property ImportToolTip As String
|
||||
Get
|
||||
Return EgtMsg(MSG_TOPCOMMANDBAR + 5)
|
||||
Return "Import"
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property ImportBTL_ToolTip As String
|
||||
Public ReadOnly Property ExportToolTip As String
|
||||
Get
|
||||
Return EgtMsg(61840)
|
||||
Return "Export"
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property UpdateBTL_ToolTip As String
|
||||
Public ReadOnly Property OptionsToolTip As String
|
||||
Get
|
||||
Return EgtMsg(61834)
|
||||
Return "Options"
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property ExportProject_ToolTip As String
|
||||
Public ReadOnly Property SendFeedbackToolTip As String
|
||||
Get
|
||||
Return EgtMsg(61838)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property ImportProject_ToolTip As String
|
||||
Get
|
||||
Return EgtMsg(61839)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property GoToProd_ToolTip As String
|
||||
Get
|
||||
Return EgtMsg(61835)
|
||||
Return "Send Feedback"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
@@ -1,66 +1,119 @@
|
||||
<EgtFloating:EgtFloatingManager x:Class="ProjectV"
|
||||
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"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
xmlns:PrintApp="clr-namespace:Icarus">
|
||||
<DockPanel x:Class="ProjectV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:PrintApp="clr-namespace:Icarus">
|
||||
|
||||
<Grid DockPanel.Dock="Top" Margin="0,20,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
<ColumnDefinition Width="5*"/>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid DockPanel.Dock="Top">
|
||||
<PrintApp:TopPanelV Grid.Column="1"
|
||||
DataContext="{StaticResource TopPanelVM }"/>
|
||||
</Grid>
|
||||
<Grid DockPanel.Dock="Bottom">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="315"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="315"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="67"/>
|
||||
</Grid.RowDefinitions>
|
||||
<PrintApp:LayerAdvancementSliderV Grid.Column="2"
|
||||
Grid.ColumnSpan="3"
|
||||
DockPanel.Dock="Bottom"
|
||||
DataContext="{StaticResource SliderManagerVM}"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<!--StatusBar -->
|
||||
<PrintApp:StatusBarV DataContext="{StaticResource StatusBarVM}"/>
|
||||
<PrintApp:MachinePanelV Grid.Column="1"
|
||||
DataContext="{StaticResource MachinePanelVM}"/>
|
||||
<PrintApp:ControllerInputPanelV Grid.Row="1"
|
||||
Grid.ColumnSpan="2"
|
||||
DataContext="{StaticResource ControllerInputPanelVM}"/>
|
||||
<PrintApp:MessagePanelV Grid.Row="1"
|
||||
Grid.ColumnSpan="2"
|
||||
DataContext="{StaticResource StatusBarVM}"/>
|
||||
<PrintApp:ShowPanelV Grid.Column="2"
|
||||
Grid.Row="1"
|
||||
DataContext="{StaticResource ShowPanelVM}"/>
|
||||
<PrintApp:ViewPanelV Grid.Column="3"
|
||||
Grid.Row="1"
|
||||
DataContext="{StaticResource ViewPanelVM}"/>
|
||||
<PrintApp:InstrumentPanelV Grid.Column="4"
|
||||
Grid.Row="1"
|
||||
DataContext="{StaticResource InstrumentPanelVM}"/>
|
||||
<PrintApp:StatusBarV Grid.Column="6"
|
||||
Grid.Row="1"
|
||||
DataContext="{StaticResource StatusBarVM}"/>
|
||||
</Grid>
|
||||
|
||||
<DockPanel DockPanel.Dock="Bottom"
|
||||
<!--<DockPanel DockPanel.Dock="Bottom"
|
||||
LastChildFill="False">
|
||||
<PrintApp:SliceManagerV DockPanel.Dock="Right"
|
||||
DataContext="{StaticResource SliceManagerVM}"
|
||||
Margin="5"/>
|
||||
<PrintApp:LayerAdvancementSliderV DockPanel.Dock="Bottom"
|
||||
DataContext="{StaticResource SliderManagerVM}"
|
||||
HorizontalAlignment="Center"/>
|
||||
<Grid DockPanel.Dock="Bottom"
|
||||
--><!--<Grid DockPanel.Dock="Bottom"
|
||||
HorizontalAlignment="Stretch">
|
||||
<PrintApp:ControllerInputPanelV Grid.Column="3"
|
||||
DataContext="{StaticResource ControllerInputPanelVM}"
|
||||
HorizontalAlignment="Center"/>
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</Grid>--><!--
|
||||
</DockPanel>-->
|
||||
|
||||
<PrintApp:ViewLayerManagerV DockPanel.Dock="Bottom"
|
||||
HorizontalAlignment="Left"
|
||||
DataContext="{StaticResource ViewLayerManagerVM}"/>
|
||||
|
||||
<Grid DockPanel.Dock="Left">
|
||||
<PrintApp:LeftPanelV Grid.Row="1"
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<PrintApp:LeftPanelV Grid.ColumnSpan="2"
|
||||
DataContext="{StaticResource LeftPanelVM}"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding DataContext.LeftPanel_Visibility,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type PrintApp:ProjectV}}}"/>
|
||||
<PrintApp:ViewLayerManagerV Grid.Row="1"
|
||||
VerticalAlignment="Bottom"
|
||||
HorizontalAlignment="Left"
|
||||
DataContext="{StaticResource ViewLayerManagerVM}"/>
|
||||
</Grid>
|
||||
|
||||
<Grid DockPanel.Dock="Right">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="40"/>
|
||||
<RowDefinition Height="20*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Grid.ColumnSpan="2"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Right">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<!--<PrintApp:MachineViewPanelV DataContext="{StaticResource MachineViewPanelVM}"/>-->
|
||||
<PrintApp:LayerIndexSliderV DataContext="{StaticResource SliderManagerVM}"
|
||||
VerticalAlignment="Stretch"
|
||||
HorizontalAlignment="Right"/>
|
||||
<PrintApp:RightPanelV Grid.Column="1"
|
||||
DataContext="{StaticResource RightPanelVM}"/>
|
||||
</Grid>
|
||||
<PrintApp:SliceManagerV Grid.Column="1"
|
||||
Grid.Row="3"
|
||||
DataContext="{StaticResource SliceManagerVM}"
|
||||
HorizontalAlignment="Right"/>
|
||||
</Grid>
|
||||
|
||||
<PrintApp:RightPanelV DockPanel.Dock="Right"
|
||||
DataContext="{StaticResource RightPanelVM}"/>
|
||||
|
||||
<PrintApp:LayerIndexSliderV DockPanel.Dock="Right"
|
||||
DataContext="{StaticResource SliderManagerVM}"
|
||||
VerticalAlignment="Stretch"/>
|
||||
|
||||
<!-- Grid che occupa lo spazio della scena -->
|
||||
<Grid Background="Transparent"/>
|
||||
|
||||
</EgtFloating:EgtFloatingManager>
|
||||
</DockPanel>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<UserControl x:Class="ReferencePanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Border Style="{StaticResource LeftPanelPopup_Border}">
|
||||
<Border Padding="2.5"
|
||||
Style="{StaticResource LeftPanel_PopupButton_Border}">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
@@ -14,11 +15,13 @@
|
||||
Padding="0">
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Rows="3"/>
|
||||
<UniformGrid Rows="3"
|
||||
Margin="0"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Setter Property="Margin" Value="0"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ListBoxItem}">
|
||||
@@ -34,6 +37,7 @@
|
||||
IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"
|
||||
FontSize="40"
|
||||
GroupName="ReferenceRadio"
|
||||
Margin="2.5,2.5,2.5,2.5"
|
||||
Style="{StaticResource OptionPanel_NestingToggleButton}"/>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
@@ -42,7 +46,8 @@
|
||||
Content="From Import"
|
||||
IsChecked="{Binding FromImport_IsChecked}"
|
||||
GroupName="ReferenceRadio"
|
||||
Margin="2.5"
|
||||
Style="{StaticResource OptionPanel_ToggleButton}"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Border>
|
||||
</UserControl>
|
||||
|
||||
@@ -30,6 +30,7 @@ Public Class ReferencePanelVM
|
||||
End Get
|
||||
Set(value As ReferenceBtn)
|
||||
m_SelReference = value.Type
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nReferenceLayerId, KEY_REFERENCE, value.Type)
|
||||
UpdateFramePosition()
|
||||
End Set
|
||||
End Property
|
||||
@@ -42,6 +43,7 @@ Public Class ReferencePanelVM
|
||||
If value Then
|
||||
m_SelReference = ReferenceBtn.References.FROM_IMPORT
|
||||
NotifyPropertyChanged(NameOf(ghSelReference))
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nReferenceLayerId, KEY_REFERENCE, ReferenceBtn.References.FROM_IMPORT)
|
||||
UpdateFramePosition()
|
||||
End If
|
||||
End Set
|
||||
@@ -68,45 +70,55 @@ Public Class ReferencePanelVM
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateFramePosition(Optional SelPart As Print3dPartVM = Nothing)
|
||||
If IsNothing(SelPart) Then SelPart = Map.refTopPanelVM.SelPart
|
||||
Dim SelReference As Integer = ReferenceBtn.References.BL
|
||||
If IsNothing(SelPart) Then
|
||||
SelPart = Map.refTopPanelVM.SelPart
|
||||
End If
|
||||
EgtGetInfo(SelPart.nReferenceLayerId, KEY_REFERENCE, SelReference)
|
||||
' elimino precedente
|
||||
EgtEmptyGroup(SelPart.nReferenceLayerId)
|
||||
' Creo riferimento
|
||||
Dim frPrintSolid As New Frame3d()
|
||||
If m_SelReference = ReferenceBtn.References.FROM_IMPORT Then
|
||||
If SelReference = ReferenceBtn.References.FROM_IMPORT Then
|
||||
EgtGetGlobFrame(SelPart.nPrintSolidId, frPrintSolid)
|
||||
frPrintSolid.Setup(New Point3d(frPrintSolid.Orig.x, frPrintSolid.Orig.y, 0))
|
||||
Else
|
||||
Dim b3PrintSolid As New BBox3d
|
||||
EgtGetBBoxGlob(SelPart.nPrintSolidId, GDB_BB.STANDARD, b3PrintSolid)
|
||||
Dim b3ToBePrintSolid As BBox3d = Map.refDispositionPanelVM.GetSolidForReferenceBBox(SelPart)
|
||||
' Creo riferimento
|
||||
Dim ptOrig As New Point3d(b3PrintSolid.Min())
|
||||
Select Case m_SelReference
|
||||
Dim ptOrig As New Point3d(b3ToBePrintSolid.Min())
|
||||
Select Case SelReference
|
||||
Case ReferenceBtn.References.TL
|
||||
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX
|
||||
ptOrig += b3ToBePrintSolid.DimY() * Vector3d.Y_AX
|
||||
Case ReferenceBtn.References.TR
|
||||
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
||||
ptOrig += b3ToBePrintSolid.DimY() * Vector3d.Y_AX + b3ToBePrintSolid.DimX() * Vector3d.X_AX
|
||||
Case ReferenceBtn.References.BL
|
||||
Case ReferenceBtn.References.BR
|
||||
ptOrig += b3PrintSolid.DimX() * Vector3d.X_AX
|
||||
ptOrig += b3ToBePrintSolid.DimX() * Vector3d.X_AX
|
||||
Case ReferenceBtn.References.TC
|
||||
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
ptOrig += b3ToBePrintSolid.DimY() * Vector3d.Y_AX + b3ToBePrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
Case ReferenceBtn.References.ML
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX
|
||||
ptOrig += b3ToBePrintSolid.DimY() / 2 * Vector3d.Y_AX
|
||||
Case ReferenceBtn.References.MR
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
||||
ptOrig += b3ToBePrintSolid.DimY() / 2 * Vector3d.Y_AX + b3ToBePrintSolid.DimX() * Vector3d.X_AX
|
||||
Case ReferenceBtn.References.TC
|
||||
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
ptOrig += b3ToBePrintSolid.DimY() * Vector3d.Y_AX + b3ToBePrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
Case ReferenceBtn.References.MR
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
||||
ptOrig += b3ToBePrintSolid.DimY() / 2 * Vector3d.Y_AX + b3ToBePrintSolid.DimX() * Vector3d.X_AX
|
||||
Case ReferenceBtn.References.BC
|
||||
ptOrig += b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
ptOrig += b3ToBePrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
Case ReferenceBtn.References.MC
|
||||
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
ptOrig += b3ToBePrintSolid.DimY() / 2 * Vector3d.Y_AX + b3ToBePrintSolid.DimX() / 2 * Vector3d.X_AX
|
||||
End Select
|
||||
Dim vtMovedPart As Vector3d
|
||||
EgtGetInfo(SelPart.nPartId, "MovedPart", vtMovedPart)
|
||||
ptOrig = ptOrig - vtMovedPart
|
||||
If EgtGetInfo(SelPart.nPartId, KEY_MOVEDPART, vtMovedPart) Then
|
||||
ptOrig = ptOrig - vtMovedPart
|
||||
ElseIf EgtGetInfo(SelPart.nPartId, KEY_MOVEDPART2, vtMovedPart) Then
|
||||
ptOrig = ptOrig - vtMovedPart
|
||||
End If
|
||||
Dim nPartFrameId As Integer = EgtCreateGeoFrame(SelPart.nPartReferenceLayerId, New Frame3d(ptOrig), GDB_RT.GLOB)
|
||||
EgtSetStatus(nPartFrameId, GDB_ST.OFF)
|
||||
' elimino componente Z
|
||||
ptOrig = ptOrig + New Vector3d(0, 0, -ptOrig.z)
|
||||
frPrintSolid = New Frame3d(ptOrig)
|
||||
End If
|
||||
Dim nFrameId As Integer = EgtCreateGeoFrame(SelPart.nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
|
||||
@@ -115,7 +127,7 @@ Public Class ReferencePanelVM
|
||||
EgtSetMode(nFrameId, GDB_MD.LOCKED)
|
||||
SelPart.UpdateReferenceId(nFrameId)
|
||||
End If
|
||||
EgtSetInfo(SelPart.nReferenceLayerId, KEY_REFERENCE, m_SelReference)
|
||||
Map.refDispositionPanelVM.RefreshPos()
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 311 B |
|
After Width: | Height: | Size: 580 B |
|
Before Width: | Height: | Size: 901 B After Width: | Height: | Size: 758 B |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 790 B |
|
Before Width: | Height: | Size: 708 B |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 780 B |
|
Before Width: | Height: | Size: 707 B |
|
Before Width: | Height: | Size: 422 B |
|
Before Width: | Height: | Size: 994 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 764 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 713 B |
|
Before Width: | Height: | Size: 662 B |
|
Before Width: | Height: | Size: 658 B After Width: | Height: | Size: 476 B |
|
Before Width: | Height: | Size: 932 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 555 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 594 B |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 509 B |
|
Before Width: | Height: | Size: 714 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 595 B After Width: | Height: | Size: 522 B |
|
Before Width: | Height: | Size: 735 B |
|
Before Width: | Height: | Size: 921 B |
|
Before Width: | Height: | Size: 749 B |
|
Before Width: | Height: | Size: 437 B |
|
Before Width: | Height: | Size: 538 B |
|
Before Width: | Height: | Size: 707 B After Width: | Height: | Size: 739 B |
|
Before Width: | Height: | Size: 749 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 792 B |
|
Before Width: | Height: | Size: 658 B |
|
Before Width: | Height: | Size: 686 B |
|
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 311 B |
|
Before Width: | Height: | Size: 682 B |
|
Before Width: | Height: | Size: 620 B |
|
Before Width: | Height: | Size: 549 B |
|
Before Width: | Height: | Size: 1.0 KiB |