Compare commits
70 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 37abbd79d5 | |||
| f959cb157c | |||
| 93b573f1f0 | |||
| e19c3bf83d | |||
| 63fa6ba9b8 | |||
| 91582b4ab9 | |||
| 4604ae3558 | |||
| 624eb0566f | |||
| c32bfd55d0 | |||
| 3ef8843b1d | |||
| cb261ce99b | |||
| 13bfc40f9f | |||
| 1acf7d0d87 | |||
| eb0f3adec2 | |||
| 958dd8d029 | |||
| 43f8c020c6 | |||
| 6dcaf822a6 | |||
| db65ef9e15 | |||
| d2a6a27200 | |||
| d2463769ec | |||
| 6bad0e177f | |||
| 9a17bd37b7 | |||
| 667b8fde7c | |||
| fddc66b820 | |||
| 48d0063167 | |||
| 13d89a3857 | |||
| df7bb978b8 | |||
| d4b55f730a | |||
| d74bc0f4d2 | |||
| c17e80af2b | |||
| 088be26abf | |||
| 2e81f09a85 | |||
| 21692af684 | |||
| 6c36f856e6 | |||
| 33b90967c6 | |||
| 47ea4e3646 | |||
| cc41ca8d82 | |||
| 554b1a662e | |||
| 10a0745449 | |||
| f47b202499 | |||
| 1a0eb0cb31 | |||
| 33176f40fa | |||
| bbb6d16483 | |||
| 317321d46c | |||
| 57baab72d5 | |||
| 13401bc486 | |||
| 91d8e8aa1f | |||
| 65288427f3 | |||
| a234c6f6f1 | |||
| f1819fc61c | |||
| e67c79992c | |||
| 209cab548b | |||
| fa737c7c80 | |||
| 4811a37fe7 | |||
| d43acd1678 | |||
| 2850e07360 | |||
| 9ae9a6df88 | |||
| f5206ce8bf | |||
| f4dea984be | |||
| 8a7af066d9 | |||
| bbb52b6ade | |||
| 7fe2c09bca | |||
| a5be2180ea | |||
| 6e5db6e147 | |||
| 589156d963 | |||
| 566770255c | |||
| 8cac7b43fb | |||
| 3c0490e659 | |||
| db66fa17cd | |||
| 2a248795b1 |
@@ -72,13 +72,15 @@ Public Module TreeViewItemHelper
|
||||
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)
|
||||
If Not IsNothing(treeViewItem.ContextMenu) Then
|
||||
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
|
||||
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
|
||||
End If
|
||||
e.Handled = True
|
||||
End If
|
||||
|
||||
@@ -1,71 +1,50 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="ChooseMachineWndV"
|
||||
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:Icarus="clr-namespace:Icarus"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
WindowStyle="None" ResizeMode="NoResize"
|
||||
SizeToContent="WidthAndHeight"
|
||||
MinWidth="500"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
IsClosable="False"
|
||||
IsMinimizable="False"
|
||||
IsResizable="False"
|
||||
Title="ProjectType">
|
||||
<StackPanel Margin="5,5,5,0">
|
||||
<Border Grid.Row="1"
|
||||
BorderThickness="1"
|
||||
BorderBrush="DarkGray"
|
||||
Background="White"
|
||||
Margin="5">
|
||||
<Grid Margin="5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="ChooseMachineWndV"
|
||||
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:Icarus="clr-namespace:Icarus"
|
||||
Title="New Project"
|
||||
SizeToContent="WidthAndHeight"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Style="{StaticResource Dialog_Window}">
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid HorizontalAlignment="Center"
|
||||
Grid.Row="0"
|
||||
Margin="15">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding ChooseMachine_Msg}"
|
||||
Style="{StaticResource OptionTextBlock}"
|
||||
Grid.Row="0" Grid.ColumnSpan="2"/>
|
||||
<Rectangle Height="22" Grid.Row="1"/>
|
||||
<ComboBox ItemsSource="{Binding MachineList}" DisplayMemberPath="Name"
|
||||
SelectedItem="{Binding SelMachine}" SelectedValuePath="Name"
|
||||
Grid.Row="2"
|
||||
Style="{StaticResource BtlData_ComboBox}"/>
|
||||
</Grid>
|
||||
<TextBlock Text="{Binding ChooseMachine_Msg}"
|
||||
Margin="20,20,20,2.5"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<ComboBox Grid.Row="1"
|
||||
ItemsSource="{Binding MachineList}"
|
||||
SelectedItem="{Binding SelMachine}"
|
||||
DisplayMemberPath="Name"
|
||||
SelectedValuePath="Name"
|
||||
Width="160"
|
||||
HorizontalAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="2.5,10,2.5,2.5"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
|
||||
<Grid Grid.Row="2" Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
IsDefault="True"
|
||||
Grid.Column="1"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
<Button Content="Cancel"
|
||||
IsCancel="True"
|
||||
Grid.Column="3"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</Grid>
|
||||
<UniformGrid Grid.Row="2"
|
||||
Rows="1"
|
||||
Margin="0,20,0,0">
|
||||
<Button Command="{Binding Ok_Command}"
|
||||
IsDefault="True"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button IsCancel="True"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Cancel.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
|
||||
</Grid>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
</Grid>
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
|
||||
@@ -40,7 +40,7 @@ Public Class ChooseMachineWndVM
|
||||
|
||||
Public ReadOnly Property ChooseMachine_Msg As String
|
||||
Get
|
||||
Return "Macchina: "
|
||||
Return "Select the new project machine from the list"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -66,7 +66,8 @@ Public Class ChooseMachineWndVM
|
||||
RaiseEvent m_CloseWindow(True)
|
||||
Else
|
||||
' se non seleziono nessuna macchina lo segnalo con un MessageBox
|
||||
MessageBox.Show("No machine selected", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
' MessageBox.Show("No machine selected", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "No machine selected", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
Public Const TABLE = "Table"
|
||||
Public Const TABLE_OUTLINE = "TableOutline"
|
||||
Public Const EXTRUSION_AREA = "ExtrusionArea"
|
||||
Public Const EXTRUSION_RECT = "ExtrusionRect"
|
||||
Public Const PART = "Part"
|
||||
Public Const PRINT_SOLID = "PrintSolid"
|
||||
Public Const LAY_MACH_START = "MachStart"
|
||||
@@ -88,6 +90,7 @@
|
||||
Public Const MAC_LINKTYPE = "LinkType"
|
||||
Public Const MAC_LINKPARAM = "LinkParam"
|
||||
Public Const MAC_LINKZUP = "LinkZup"
|
||||
Public Const MAC_INNERSHELLWIDTH = "InnerStrandW"
|
||||
Public Const MAC_OFFSETLEADPOINT = "OffsetLeadPoint"
|
||||
Public Const MAC_LEADIN = "LeadIn"
|
||||
Public Const MAC_LEADINTANGDIST = "LeadInTangDist"
|
||||
@@ -104,6 +107,11 @@
|
||||
Public Const MAC_G0FEED = "G0Feed"
|
||||
Public Const MAC_G0FEEDZ = "G0FeedZ"
|
||||
Public Const MAC_TOOLDIAM = "ToolDiam"
|
||||
Public Const MAC_PREFLOWDELAY = "PreFlowDelay"
|
||||
Public Const MAC_POSTFLOWDELAY = "PostFlowDelay"
|
||||
Public Const MAC_SCREWBACK = "ScrewBack"
|
||||
Public Const MAC_SLICINGHEIGHT = "SlicingHeight"
|
||||
Public Const MAC_RIBSSTRANDWIDTH = "RibsStrandW"
|
||||
Public Const MAC_RIBSTYPE = "RibsType"
|
||||
Public Const MAC_RIBSOVERLAP = "RibsOverlap"
|
||||
Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount"
|
||||
@@ -123,15 +131,39 @@
|
||||
Public Const MAC_SHELLNBRCOASTING = "ShellNbrCoasting"
|
||||
Public Const MAC_SHELLNBRWIPE = "ShellNbrWipe"
|
||||
Public Const MAC_SHELLNBRWIPEDIR = "ShellNbrWipeDir"
|
||||
Public Const MAC_AUXSOLIDSSTRANDWIDTH = "AuxSolidsStrandW"
|
||||
Public Const MAC_AUXSOLIDSOVERLAP = "AuxSolidsOverlap"
|
||||
Public Const MAC_AUXSOLIDSINFILL = "AuxSolidsInfill"
|
||||
Public Const MAC_AUXSOLIDSINFILLLINK = "AuxSolidsInfillLink"
|
||||
Public Const MAC_AUXSOLIDSSTRANDCOUNT = "AuxSolidsStrandCount"
|
||||
Public Const MAC_AUXSOLIDSSTRANDORDER = "AuxSolidsStrandOrder"
|
||||
Public Const MAC_AUXSOLIDSLINKTYPE = "AuxSolidsLinkType"
|
||||
Public Const MAC_AUXSOLIDSLINKPARAM = "AuxSolidsLinkParam"
|
||||
Public Const MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE = "AuxSolidsStartPointOffsetOnSlice"
|
||||
Public Const MAC_AUXSOLIDSOFFSETLEADPOINT = "AuxSolidsOffsetLeadPoint"
|
||||
Public Const MAC_AUXSOLIDSDENSITY = "AuxSolidsDensity"
|
||||
Public Const MAC_AUXSOLIDSGRIDOVERLAP = "AuxSolidsGridOverlap"
|
||||
Public Const MAC_AUXSOLIDSDIRECTION = "AuxSolidsDirection"
|
||||
Public Const MAC_AUXSOLIDSOFFSETX = "AuxSolidsOffsetX"
|
||||
Public Const MAC_AUXSOLIDSOFFSETY = "AuxSolidsOffsetY"
|
||||
Public Const MAC_AUXSOLIDSCOASTINGLEN = "AuxSolidsCoastingLen"
|
||||
Public Const MAC_AUXSOLIDSWIPELEN = "AuxSolidsWipeLen"
|
||||
Public Const MAC_AUXSOLIDSWIPEDIR = "AuxSolidsWipeDir"
|
||||
Public Const MAC_INFILLSTRANDWIDTH = "InfillStrandW"
|
||||
Public Const MAC_FLOORTYPE = "FloorType"
|
||||
Public Const MAC_CEILCOUNT = "CeilCount"
|
||||
Public Const MAC_CEILTYPE = "CeilType"
|
||||
Public Const MAC_INFILLTYPE = "InfillType"
|
||||
Public Const MAC_INFILLLINK = "InfillLink"
|
||||
Public Const MAC_INFILLDENSITY = "InfillDensity"
|
||||
Public Const MAC_INFILLOVERLAP = "InfillOverlap"
|
||||
Public Const MAC_INFILLGRIDOVERLAP = "InfillGridOverlap"
|
||||
Public Const MAC_INFILLDIRECTION = "InfillDirection"
|
||||
Public Const MAC_INFILLOFFSETX = "InfillOffsetX"
|
||||
Public Const MAC_INFILLOFFSETY = "InfillOffsetY"
|
||||
Public Const MAC_INFILLCOASTING = "InfillCoasting"
|
||||
Public Const MAC_INFILLWIPE = "InfillWipe"
|
||||
Public Const MAC_INFILLWIPEDIR = "InfillWipeDir"
|
||||
Public Const MAC_DYNAMICMODE = "DynamicMode"
|
||||
Public Const MAC_PRINTORDER = "PrintOrder"
|
||||
Public Const MAC_CONSTANT = "Constant"
|
||||
|
||||
@@ -21,6 +21,7 @@ Public Module ConstGen
|
||||
' File con dati di licenza
|
||||
Public Const LIC_FILE_NAME As String = "Icarus.lic"
|
||||
Public Const S_LICENCE As String = "Licence"
|
||||
Public Const K_LOCKID As String = "LockId"
|
||||
Public Const K_KEY As String = "Key"
|
||||
Public Const K_NESTKEY As String = "NestKey"
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ Public Module ConstIni
|
||||
'Public Const K_MESSAGES As String = "Messages"
|
||||
'Public Const K_WINPLACE As String = "WinPlace"
|
||||
'Public Const K_LASTPROJ As String = "LastProj"
|
||||
Public Const K_NETKEY As String = "NetKey"
|
||||
Public Const K_LASTNGEDIR As String = "LastNgeDir"
|
||||
Public Const K_LASTIMPDIR As String = "LastImpDir"
|
||||
'Public Const K_SUPPORT As String = "Support"
|
||||
@@ -125,4 +126,7 @@ Public Module ConstIni
|
||||
Public Const S_MRUFILES As String = "MruFiles"
|
||||
Public Const S_MRUIMPORTFILES As String = "MruImportFiles"
|
||||
|
||||
Public Const S_TEMPLETESEL As String = "TempleteSel"
|
||||
Public Const K_CURRTEMPLETESEL As String = "CurrTempleteSel"
|
||||
|
||||
End Module
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
'----------------------------------------------------------------------------
|
||||
' EgalTech 2015-2015
|
||||
'----------------------------------------------------------------------------
|
||||
' File : ConstIni.vb Data : 12.02.15 Versione : 1.6b3
|
||||
' Contenuto : Modulo costanti sezione e chiavi per file Ini.
|
||||
'
|
||||
'
|
||||
'
|
||||
' Modifiche : 12.02.15 DS Creazione modulo.
|
||||
'
|
||||
'
|
||||
'----------------------------------------------------------------------------
|
||||
|
||||
Public Module ConstMachDataIni
|
||||
|
||||
Public Const MACHDATA_INI_FILE_NAME As String = "Data.ini"
|
||||
|
||||
Public Const S_TABLE As String = "Table"
|
||||
Public Const K_DIMX As String = "DimX"
|
||||
Public Const K_DIMY As String = "DimY"
|
||||
Public Const K_POSX As String = "PosX"
|
||||
Public Const K_POSY As String = "PosY"
|
||||
Public Const K_POSZ As String = "PosZ"
|
||||
|
||||
Public Const S_VERTICAL As String = "Vertical"
|
||||
Public Const S_45DEGX As String = "45DegX"
|
||||
Public Const S_45DEGY As String = "45DegY"
|
||||
Public Const S_HORIZONTAL As String = "Horizontal"
|
||||
Public Const K_MINX As String = "MinX"
|
||||
Public Const K_MAXX As String = "MaxX"
|
||||
Public Const K_MINY As String = "MinY"
|
||||
Public Const K_MAXY As String = "MaxY"
|
||||
|
||||
|
||||
End Module
|
||||
@@ -1,31 +1,6 @@
|
||||
Public Module ConstMachIni
|
||||
|
||||
Public Const MACH_INI_FILE_NAME As String = "MachData.ini"
|
||||
Public Const GETWALLDATA_FILE_NAME As String = "GetWallData.lua"
|
||||
Public Const GETTS3DATA_FILE_NAME As String = "GetTs3Data.lua"
|
||||
|
||||
Public Const K_NCTYPE As String = "NCType"
|
||||
Public Const K_CONNECTIONSTRING As String = "ConnectionString"
|
||||
|
||||
Public Const S_CHANNELS As String = "Channels"
|
||||
|
||||
Public Const S_PARTPROGRAM As String = "PartProgram"
|
||||
Public Const S_EXTENSION As String = "Extension"
|
||||
|
||||
' Variables della macchina corrente
|
||||
Public Const S_MAINVARIABLES As String = "MainVariables"
|
||||
Public Const S_VARIABLES As String = "Variables"
|
||||
Public Const S_INPUTVARIABLES As String = "InputVariables"
|
||||
Public Const S_OUTPUTVARIABLES As String = "OutputVariables"
|
||||
Public Const S_MDI As String = "MDI"
|
||||
|
||||
Public Const K_BEAM As String = "Beam"
|
||||
Public Const K_WALL As String = "Wall"
|
||||
Public Const K_SCRIPT As String = "Scripts"
|
||||
Public Const K_SETUP As String = "Setup"
|
||||
Public Const K_FLOW As String = "Flow"
|
||||
|
||||
Public Const TS3DATA_FILE As String = "Ts3Data.lua"
|
||||
|
||||
Public Const S_MACHINING As String = "Machining"
|
||||
Public Const K_MACH_INITSCRIPT As String = "InitScript"
|
||||
@@ -35,5 +10,8 @@
|
||||
Public Const K_SLICINGTYPE As String = "SlicingType"
|
||||
Public Const K_SPEED_MIN As String = "SpeedMin"
|
||||
Public Const K_SPEED_MAX As String = "SpeedMax"
|
||||
Public Const K_MAX_HEIGHT As String = "HMax"
|
||||
|
||||
Public Const S_MINMAX As String = "MinMax"
|
||||
|
||||
End Module
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Height="38"
|
||||
Visibility="{Binding DoneBtn_Visibility}"
|
||||
Visibility="{Binding Message_Visibility}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="45,0,0,0"
|
||||
Padding="0"
|
||||
|
||||
@@ -111,6 +111,7 @@ Public Class CurrMachining
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, False))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, False))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, False))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.INFILL, nPartId, m_nIndex, False))
|
||||
For Each Cathegory In m_CathegoryList
|
||||
For Each MachiningParam In Cathegory.MachiningParamList
|
||||
AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged
|
||||
@@ -128,6 +129,7 @@ Public Class CurrMachining
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, True))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, True))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, True))
|
||||
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.INFILL, nPartId, m_nIndex, True))
|
||||
For Each Cathegory In m_CathegoryList
|
||||
For Each MachiningParam In Cathegory.MachiningParamList
|
||||
AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged
|
||||
@@ -199,74 +201,137 @@ Public Class CurrMachiningCathegory
|
||||
Select Case m_Type
|
||||
Case Cathegories.GENERAL
|
||||
m_sName = "General"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.SPIRALVASE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDH, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDW, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.OFFSET, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.STRANDORDER, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.DIRECTION, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.G0FEED, nPartId, nIndex, bForceFromDb),
|
||||
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 CurrOrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nPartId, nIndex, bForceFromDb)})
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.SPIRALVASE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDH, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDW, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.OFFSET, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.STRANDORDER, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.DIRECTION, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.G0FEED, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.G0FEEDZ, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LINKZUP, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrOrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.PREFLOWDELAY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.POSTFLOWDELAY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SCREWBACK, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nPartId, nIndex, bForceFromDb, Me)})
|
||||
Case Cathegories.LINK
|
||||
m_sName = "Shell"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LINKPARAM, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LINKZUP, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.LEADIN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb)})
|
||||
'New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb)})
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.INNERSHELLWIDTH, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LINKPARAM, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.LEADIN, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb, Me)})
|
||||
'New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
|
||||
Case Cathegories.RIBS
|
||||
m_sName = "Ribs"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.RIBSTYPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb),
|
||||
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 CurrCheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nPartId, nIndex, bForceFromDb)})
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDWIDTH, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.RIBSTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
|
||||
Case Cathegories.SHELL_NUMBER
|
||||
m_sName = "Reduce Shell Number"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRCOASTING, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nPartId, nIndex, bForceFromDb)})
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRCOASTING, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
|
||||
Case Cathegories.AUX_SOLID
|
||||
m_sName = "Filled Solid"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nPartId, nIndex, bForceFromDb),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nPartId, nIndex, bForceFromDb),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nPartId, nIndex, bForceFromDb)})
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDWIDTH, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETLEADPOINT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDENSITY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSGRIDOVERLAP, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDIRECTION, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETX, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
|
||||
Case Cathegories.INFILL
|
||||
m_sName = "Infill"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.INFILLSTRANDWIDTH, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.FLOORTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.CEILCOUNT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.CEILTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.INFILLTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.INFILLLINK, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLDENSITY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLGRIDOVERLAP, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLDIRECTION, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLOFFSETX, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLOFFSETY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLOVERLAP, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLCOASTING, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLWIPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLWIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
|
||||
End Select
|
||||
' verifico dipendenze tra parametri
|
||||
Select Case m_Type
|
||||
Case Cathegories.LINK
|
||||
For Each Param In {MachiningParam.Params.LINKTYPE, MachiningParam.Params.LEADIN, MachiningParam.Params.LEADOUT}
|
||||
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
Case Cathegories.RIBS
|
||||
For Each Param In {MachiningParam.Params.RIBSTYPE}
|
||||
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
Case Cathegories.AUX_SOLID
|
||||
For Each Param In {MachiningParam.Params.AUXSOLIDSINFILL}
|
||||
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
For Each Param In {MachiningParam.Params.AUXSOLIDSSTRANDCOUNT}
|
||||
Dim MachiningParam As NumericMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
Case Cathegories.INFILL
|
||||
For Each Param In {MachiningParam.Params.FLOORCOUNT, MachiningParam.Params.CEILCOUNT}
|
||||
Dim MachiningParam As NumericMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
For Each Param In {MachiningParam.Params.INFILLTYPE}
|
||||
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -292,13 +357,39 @@ Public Class CurrNumericMachiningParam
|
||||
Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString(m_dValue, 2))
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dTempValue As Double = 0
|
||||
If m_bIsLen Then
|
||||
StringToLen(value, m_dValue)
|
||||
StringToLen(value, dTempValue)
|
||||
Else
|
||||
StringToDouble(value, m_dValue)
|
||||
StringToDouble(value, dTempValue)
|
||||
End If
|
||||
If m_bIsActiveMinMax Then
|
||||
If m_MinMaxType = MinMaxTypes.ABSOLUT Then
|
||||
If dTempValue >= m_dMinValue AndAlso dTempValue <= m_dMaxValue Then
|
||||
m_dValue = dTempValue
|
||||
End If
|
||||
ElseIf m_MinMaxType = MinMaxTypes.PERCENTAGE Then
|
||||
Dim LinkedParam As MachiningParam = Nothing
|
||||
' cerco il parametro a cui e' collegato
|
||||
For Each CurrCathegory In Map.refMachiningDbVM.SelMachining.CathegoryList
|
||||
LinkedParam = CurrCathegory.MachiningParamList.FirstOrDefault(Function(x) x.Type = m_MinMaxLinkedParam)
|
||||
If Not IsNothing(LinkedParam) Then Exit For
|
||||
Next
|
||||
If Not IsNothing(LinkedParam) AndAlso TypeOf LinkedParam Is NumericMachiningParam Then
|
||||
Dim NumericLinkedParam As NumericMachiningParam = DirectCast(LinkedParam, NumericMachiningParam)
|
||||
If dTempValue >= NumericLinkedParam.dValue * m_dMinValue / 100 AndAlso dTempValue <= NumericLinkedParam.dValue * m_dMaxValue / 100 Then
|
||||
m_dValue = dTempValue
|
||||
End If
|
||||
Else
|
||||
m_dValue = dTempValue
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
m_dValue = dTempValue
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
|
||||
ManageDependencyParam()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -318,8 +409,8 @@ Public Class CurrNumericMachiningParam
|
||||
' 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)
|
||||
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, nIndex, Cathegory)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.STRANDH
|
||||
@@ -346,6 +437,9 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.LINKZUP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_LINKZUP, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.INNERSHELLWIDTH
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INNERSHELLWIDTH, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.OFFSETLEADPOINT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_OFFSETLEADPOINT, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -388,6 +482,21 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.TOOLDIAM
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_TOOLDIAM, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.PREFLOWDELAY
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_PREFLOWDELAY, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.POSTFLOWDELAY
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_POSTFLOWDELAY, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.SCREWBACK
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SCREWBACK, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.SLICINGHEIGHT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGHEIGHT, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSSTRANDWIDTH
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDWIDTH, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dValue)
|
||||
m_bIsLen = False
|
||||
@@ -421,15 +530,39 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.SHELLNBRWIPEDIR
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SHELLNBRWIPEDIR, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSSTRANDWIDTH
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDWIDTH, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKPARAM, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSOFFSETLEADPOINT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETLEADPOINT, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSDENSITY
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSDENSITY, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSGRIDOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSGRIDOVERLAP, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSDIRECTION
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSDIRECTION, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSOFFSETX
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETX, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSOFFSETY
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETY, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSCOASTINGLEN
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSCOASTINGLEN, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -442,27 +575,66 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.FLOWRATE_PC
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_CONSTANT, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.CEILCOUNT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_CEILCOUNT, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.INFILLSTRANDWIDTH
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLSTRANDWIDTH, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.INFILLDENSITY
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLDENSITY, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.INFILLOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLOVERLAP, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.INFILLGRIDOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLGRIDOVERLAP, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.INFILLDIRECTION
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLDIRECTION, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.INFILLOFFSETX
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLOFFSETX, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.INFILLOFFSETY
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLOFFSETY, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.INFILLCOASTING
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLCOASTING, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.INFILLWIPE
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLWIPE, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.INFILLWIPEDIR
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLWIPEDIR, m_dValue)
|
||||
m_bIsLen = False
|
||||
End Select
|
||||
m_dOrigValue = m_dValue
|
||||
If nIndex > 0 Then
|
||||
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
|
||||
Select Case Type
|
||||
Case Params.STRANDH, Params.STRANDW, Params.STRANDCOUNT, Params.OFFSET, Params.STRANDOVERLAP, Params.STARTPOINTOFFSETONSLICE,
|
||||
Params.FLOORCOUNT, Params.G0FEED, Params.G0FEEDZ, Params.TOOLDIAM, Params.FLOWRATE_PC
|
||||
Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK, Params.SLICINGHEIGHT
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.LINKPARAM, Params.LINKZUP, Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST,
|
||||
Case Params.LINKPARAM, Params.INNERSHELLWIDTH, Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST,
|
||||
Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED_PC,
|
||||
Params.WIPELEN, Params.WIPEFEED_PC ' Params.WIPEDIR
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION,
|
||||
Case Params.RIBSSTRANDWIDTH, Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION,
|
||||
Params.RIBSLEADININVERT, Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING,
|
||||
Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.SHELLNBRDIFFERENCE, Params.SHELLNBRCOASTING, Params.SHELLNBRWIPE, Params.SHELLNBRWIPEDIR
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.SHELL_NUMBER).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.AUXSOLIDSOVERLAP, Params.AUXSOLIDSLINKPARAM, Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE,
|
||||
Params.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR
|
||||
Case Params.AUXSOLIDSSTRANDWIDTH, Params.AUXSOLIDSOVERLAP, Params.AUXSOLIDSLINKPARAM, Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE,
|
||||
Params.AUXSOLIDSOFFSETLEADPOINT, Params.AUXSOLIDSDENSITY, Params.AUXSOLIDSGRIDOVERLAP,
|
||||
Params.AUXSOLIDSDIRECTION, Params.AUXSOLIDSOFFSETX, Params.AUXSOLIDSOFFSETY,
|
||||
Params.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR, Params.AUXSOLIDSSTRANDCOUNT
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.INFILLSTRANDWIDTH, Params.FLOORCOUNT, Params.CEILCOUNT, Params.INFILLDENSITY, Params.INFILLOVERLAP,
|
||||
Params.INFILLGRIDOVERLAP, Params.INFILLDIRECTION, Params.INFILLOFFSETX,
|
||||
Params.INFILLOFFSETY, Params.INFILLCOASTING, Params.INFILLWIPE, Params.INFILLWIPEDIR
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.INFILL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
m_dValue = m_DbParam.dOrigValue
|
||||
@@ -501,6 +673,8 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_LINKPARAM, sWriteValue)
|
||||
Case Params.LINKZUP
|
||||
EgtSetInfo(nPartId, MAC_LINKZUP, sWriteValue)
|
||||
Case Params.INNERSHELLWIDTH
|
||||
EgtSetInfo(nPartId, MAC_INNERSHELLWIDTH, sWriteValue)
|
||||
Case Params.OFFSETLEADPOINT
|
||||
EgtSetInfo(nPartId, MAC_OFFSETLEADPOINT, sWriteValue)
|
||||
Case Params.LEADINTANGDIST
|
||||
@@ -529,6 +703,16 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_G0FEEDZ, sWriteValue)
|
||||
Case Params.TOOLDIAM
|
||||
EgtSetInfo(nPartId, MAC_TOOLDIAM, sWriteValue)
|
||||
Case Params.PREFLOWDELAY
|
||||
EgtSetInfo(nPartId, MAC_PREFLOWDELAY, sWriteValue)
|
||||
Case Params.POSTFLOWDELAY
|
||||
EgtSetInfo(nPartId, MAC_POSTFLOWDELAY, sWriteValue)
|
||||
Case Params.SCREWBACK
|
||||
EgtSetInfo(nPartId, MAC_SCREWBACK, sWriteValue)
|
||||
Case Params.SLICINGHEIGHT
|
||||
EgtSetInfo(nPartId, MAC_SLICINGHEIGHT, sWriteValue)
|
||||
Case Params.RIBSSTRANDWIDTH
|
||||
EgtSetInfo(nPartId, MAC_RIBSSTRANDWIDTH, sWriteValue)
|
||||
Case Params.RIBSOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue)
|
||||
Case Params.RIBSSTRANDCOUNT
|
||||
@@ -551,12 +735,28 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_SHELLNBRWIPE, sWriteValue)
|
||||
Case Params.SHELLNBRWIPEDIR
|
||||
EgtSetInfo(nPartId, MAC_SHELLNBRWIPEDIR, sWriteValue)
|
||||
Case Params.AUXSOLIDSSTRANDWIDTH
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSSTRANDWIDTH, sWriteValue)
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue)
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, sWriteValue)
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSLINKPARAM, sWriteValue)
|
||||
Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, sWriteValue)
|
||||
Case Params.AUXSOLIDSOFFSETLEADPOINT
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSOFFSETLEADPOINT, sWriteValue)
|
||||
Case Params.AUXSOLIDSDENSITY
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSDENSITY, sWriteValue)
|
||||
Case Params.AUXSOLIDSGRIDOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSGRIDOVERLAP, sWriteValue)
|
||||
Case Params.AUXSOLIDSDIRECTION
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSDIRECTION, sWriteValue)
|
||||
Case Params.AUXSOLIDSOFFSETX
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSOFFSETX, sWriteValue)
|
||||
Case Params.AUXSOLIDSOFFSETY
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSOFFSETY, sWriteValue)
|
||||
Case Params.AUXSOLIDSCOASTINGLEN
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue)
|
||||
Case Params.AUXSOLIDSWIPELEN
|
||||
@@ -565,6 +765,28 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, sWriteValue)
|
||||
Case Params.FLOWRATE_PC
|
||||
EgtSetInfo(nPartId, MAC_CONSTANT, sWriteValue)
|
||||
Case Params.INFILLSTRANDWIDTH
|
||||
EgtSetInfo(nPartId, MAC_INFILLSTRANDWIDTH, sWriteValue)
|
||||
Case Params.CEILCOUNT
|
||||
EgtSetInfo(nPartId, MAC_CEILCOUNT, sWriteValue)
|
||||
Case Params.INFILLDENSITY
|
||||
EgtSetInfo(nPartId, MAC_INFILLDENSITY, sWriteValue)
|
||||
Case Params.INFILLOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_INFILLOVERLAP, sWriteValue)
|
||||
Case Params.INFILLGRIDOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_INFILLGRIDOVERLAP, sWriteValue)
|
||||
Case Params.INFILLDIRECTION
|
||||
EgtSetInfo(nPartId, MAC_INFILLDIRECTION, sWriteValue)
|
||||
Case Params.INFILLOFFSETX
|
||||
EgtSetInfo(nPartId, MAC_INFILLOFFSETX, sWriteValue)
|
||||
Case Params.INFILLOFFSETY
|
||||
EgtSetInfo(nPartId, MAC_INFILLOFFSETY, sWriteValue)
|
||||
Case Params.INFILLCOASTING
|
||||
EgtSetInfo(nPartId, MAC_INFILLCOASTING, sWriteValue)
|
||||
Case Params.INFILLWIPE
|
||||
EgtSetInfo(nPartId, MAC_INFILLWIPE, sWriteValue)
|
||||
Case Params.INFILLWIPEDIR
|
||||
EgtSetInfo(nPartId, MAC_INFILLWIPEDIR, sWriteValue)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -621,8 +843,8 @@ Public Class CurrStringMachiningParam
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nIndex As Integer)
|
||||
MyBase.New(Type, nIndex)
|
||||
Sub New(Type As Params, nIndex As Integer, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, nIndex, Cathegory)
|
||||
m_sValue = sValue
|
||||
m_sOrigValue = m_sValue
|
||||
End Sub
|
||||
@@ -677,6 +899,11 @@ Public Class CurrComboMachiningParam
|
||||
m_SelValue = value
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
|
||||
ManageDependencyParam()
|
||||
' se aggiorno SlicingType
|
||||
If m_Type = Params.SLICINGTYPE Then
|
||||
CurrentMachine.UpdateExtrusionArea()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -696,8 +923,8 @@ Public Class CurrComboMachiningParam
|
||||
' 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)
|
||||
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, nIndex, Cathegory)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.SLICINGTYPE
|
||||
@@ -762,9 +989,14 @@ Public Class CurrComboMachiningParam
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSTYPE, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
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")})
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")})
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILL, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
@@ -787,6 +1019,28 @@ Public Class CurrComboMachiningParam
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_DYNAMICMODE, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.FLOORTYPE
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag")})
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_FLOORTYPE, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.CEILTYPE
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag")})
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_CEILTYPE, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
Case Params.INFILLTYPE
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")})
|
||||
Dim nSelValue As Integer = 0
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLTYPE, nSelValue)
|
||||
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
||||
End Select
|
||||
m_OrigSelValue = m_SelValue
|
||||
If nIndex > 0 Then
|
||||
@@ -800,6 +1054,8 @@ Public Class CurrComboMachiningParam
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.AUXSOLIDSINFILL, Params.AUXSOLIDSSTRANDORDER, Params.AUXSOLIDSLINKTYPE
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.FLOORTYPE, Params.CEILTYPE, Params.INFILLTYPE
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.INFILL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
m_SelValue = m_DbParam.OrigSelValue
|
||||
@@ -838,6 +1094,12 @@ Public Class CurrComboMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id)
|
||||
Case Params.DYNAMIC_MODE
|
||||
EgtSetInfo(nPartId, MAC_DYNAMICMODE, m_SelValue.Id)
|
||||
Case Params.FLOORTYPE
|
||||
EgtSetInfo(nPartId, MAC_FLOORTYPE, m_SelValue.Id)
|
||||
Case Params.CEILTYPE
|
||||
EgtSetInfo(nPartId, MAC_CEILTYPE, m_SelValue.Id)
|
||||
Case Params.INFILLTYPE
|
||||
EgtSetInfo(nPartId, MAC_INFILLTYPE, m_SelValue.Id)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -848,6 +1110,7 @@ Public Class CurrComboMachiningParam
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_SelValue = m_OrigSelValue
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
CurrentMachine.UpdateExtrusionArea()
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -867,6 +1130,7 @@ Public Class CurrComboMachiningParam
|
||||
m_SelValue = DbParam.OrigSelValue
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
|
||||
CurrentMachine.UpdateExtrusionArea()
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetParam
|
||||
@@ -905,8 +1169,8 @@ Public Class CurrCheckMachiningParam
|
||||
' 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)
|
||||
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, nIndex, Cathegory)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.SPIRALVASE
|
||||
@@ -925,6 +1189,10 @@ Public Class CurrCheckMachiningParam
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bValue)
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, m_bValue)
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, m_bValue)
|
||||
Case Params.INFILLLINK
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLLINK, m_bValue)
|
||||
End Select
|
||||
m_bOrigValue = m_bValue
|
||||
If nIndex > 0 Then
|
||||
@@ -934,6 +1202,10 @@ Public Class CurrCheckMachiningParam
|
||||
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.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)
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.INFILLLINK
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.INFILL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
m_bValue = m_DbParam.bOrigValue
|
||||
@@ -960,6 +1232,10 @@ Public Class CurrCheckMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
EgtSetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0))
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0))
|
||||
Case Params.INFILLLINK
|
||||
EgtSetInfo(nPartId, MAC_INFILLLINK, If(m_bValue, 1, 0))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -1016,8 +1292,8 @@ Public Class CurrOrderedMachiningParam
|
||||
' 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)
|
||||
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, nIndex, Cathegory)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.PRINT_ORDER
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<Grid x:Class="CurrMachiningPanelV"
|
||||
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">
|
||||
@@ -46,19 +47,27 @@
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<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}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<EgtWPFLib5:EgtTextBox2 Grid.Column="1"
|
||||
Text="{Binding sValue, UpdateSourceTrigger=Explicit}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBox2}"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
@@ -70,15 +79,23 @@
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<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}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
@@ -97,15 +114,23 @@
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}">
|
||||
<Grid Height="22"
|
||||
Margin="0,1,2.5,1">
|
||||
Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<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}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
|
||||
@@ -0,0 +1,324 @@
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="EgtColorPickerV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="{Binding sTitle}"
|
||||
SizeToContent="WidthAndHeight"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Style="{StaticResource Dialog_Window}">
|
||||
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0"
|
||||
Text="{Binding BasicColor_Msg}"
|
||||
Margin="5,0,5,0"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<ListBox Grid.Row="1"
|
||||
ItemsSource="{Binding BasicColors}"
|
||||
SelectedItem="{Binding SelColor}"
|
||||
HorizontalAlignment="Center">
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="8"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Rectangle Width="20"
|
||||
Height="20"
|
||||
Margin="4"
|
||||
Stroke="Black"
|
||||
StrokeThickness="0.5"
|
||||
Fill="{Binding Fill}"/>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<TextBlock Grid.Row="2"
|
||||
Text="{Binding CustomColor_Msg}"
|
||||
Margin="5,0,5,0"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<ListBox Grid.Row="3"
|
||||
Margin="5,0,0,0"
|
||||
ItemsSource="{Binding CustomColors}"
|
||||
SelectedItem="{Binding SelCustomColor}"
|
||||
HorizontalAlignment="Center">
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="8"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Rectangle Width="20"
|
||||
Height="20"
|
||||
Margin="4"
|
||||
Stroke="Black"
|
||||
StrokeThickness="0.5"
|
||||
Fill="{Binding Fill}"/>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid x:Name="CanvasGrid"
|
||||
VerticalAlignment="Stretch"
|
||||
HorizontalAlignment="Stretch"
|
||||
Margin="5,10,5,0">
|
||||
<Canvas x:Name="MyCanvas"
|
||||
MouseDown="ColorRectangle_MouseDown"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Width="260"
|
||||
Height="{Binding ActualHeight, ElementName=CanvasGrid}">
|
||||
<Rectangle Grid.Column="0"
|
||||
Width="{Binding ActualWidth, ElementName=MyCanvas}"
|
||||
Height="{Binding ActualHeight, ElementName=MyCanvas}"
|
||||
Stroke="Black"
|
||||
StrokeThickness="0.5"
|
||||
IsEnabled="True">
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush StartPoint="0, 0.5" EndPoint="1.6, 0.5" >
|
||||
<GradientStop Color="Red" Offset="0" />
|
||||
<GradientStop Color="Yellow" Offset="0.1" />
|
||||
<GradientStop Color="Lime" Offset="0.2" />
|
||||
<GradientStop Color="Cyan" Offset="0.3" />
|
||||
<GradientStop Color="Blue" Offset="0.4" />
|
||||
<GradientStop Color="Purple" Offset="0.5" />
|
||||
<GradientStop Color="Red" Offset="0.6" />
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<Rectangle Grid.Column="0"
|
||||
Width="{Binding ActualWidth, ElementName=MyCanvas}"
|
||||
Height="{Binding ActualHeight, ElementName=MyCanvas}"
|
||||
Stroke="Black"
|
||||
StrokeThickness="0.5"
|
||||
IsEnabled="True">
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush StartPoint="0.5, 0" EndPoint="0.5, 1" >
|
||||
<GradientStop Color="#00ffffff" Offset="0" />
|
||||
<GradientStop Color="Gray" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<Ellipse x:Name="Ellipse"
|
||||
Stroke="Black"
|
||||
StrokeThickness="1"
|
||||
Width="15"
|
||||
Height="15"/>
|
||||
</Canvas>
|
||||
</Grid>
|
||||
<Grid x:Name="CanvasGridL"
|
||||
VerticalAlignment="Stretch"
|
||||
HorizontalAlignment="Stretch"
|
||||
Grid.Column="1"
|
||||
Margin="5,10,10,0">
|
||||
<Canvas x:Name="MyCanvasL"
|
||||
MouseMove="Luminosity_MouseMove"
|
||||
MouseDown="Luminosity_MouseDown"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Top"
|
||||
Height="{Binding ActualHeight, ElementName=CanvasGridL}"
|
||||
Width="20">
|
||||
<!--<Rectangle x:Name="LRect"
|
||||
Grid.Column="1"
|
||||
Width="20"
|
||||
Height="{Binding ActualHeight, ElementName=MyCanvasL}"
|
||||
Stroke="Black"
|
||||
StrokeThickness="0.5"
|
||||
Fill="{Binding Luminosity_Fill}"/>-->
|
||||
<Rectangle Grid.Column="1"
|
||||
Width="20"
|
||||
Height="{Binding ActualHeight, ElementName=MyCanvasL}"
|
||||
Stroke="Black"
|
||||
StrokeThickness="0.5">
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush StartPoint="0.5, 0" EndPoint="0.5, 1" >
|
||||
<GradientStop Color="White" Offset="0" />
|
||||
<GradientStop x:Name="LightnessColor" Offset="0.5"/>
|
||||
<GradientStop Color="Black" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<Path x:Name="Arrow"
|
||||
Grid.Column="1"
|
||||
Data="M0,0 l4,4 l0,2 l-4,-4 l-4,4 l0,-2 z "
|
||||
Canvas.Left="0"
|
||||
Canvas.Top="10"
|
||||
Stroke="Black"
|
||||
Fill="Black"
|
||||
StrokeThickness="1">
|
||||
<!--Data="M13.5,10.697 l-3.497-3.6,-3.497,3.6 L6.494,8.328 l3.503-3.631 l3.48,3.592 L13.494,10.697z"-->
|
||||
<Path.RenderTransform>
|
||||
<RotateTransform Angle="270" />
|
||||
</Path.RenderTransform>
|
||||
</Path>
|
||||
</Canvas>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1" >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Margin="0,10,5,0"
|
||||
HorizontalAlignment="Left">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle Width="100"
|
||||
Height="70"
|
||||
Stroke="Black"
|
||||
StrokeThickness="0.5"
|
||||
Fill="{Binding CurrColor}"/>
|
||||
<Button x:Name="SaveColor"
|
||||
Grid.Row="1"
|
||||
Margin="0,5,0,0"
|
||||
Content="{Binding AddCColor_Msg}"
|
||||
Command="{Binding SaveColor_Command}"
|
||||
Style="{StaticResource LeftPanel_TextButton}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*" />
|
||||
<ColumnDefinition Width="1*" />
|
||||
<ColumnDefinition Width="1*" />
|
||||
<ColumnDefinition Width="1*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding Red_Msg}"
|
||||
Margin="0,10,5,0"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="0,10,5,0"
|
||||
IsReadOnly="False"
|
||||
Text="{Binding Red, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<TextBlock Grid.Row="1"
|
||||
Text="{Binding Green_Msg}"
|
||||
Margin="5,5,5,0"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="5,5,5,0"
|
||||
IsReadOnly="False"
|
||||
Text="{Binding Green, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<TextBlock Grid.Row="2"
|
||||
Text="{Binding Blu_Msg}"
|
||||
Margin="5,5,5,0"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="5,5,5,0"
|
||||
IsReadOnly="False"
|
||||
Text="{Binding Blue, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<TextBlock Grid.Column="2"
|
||||
Text="H"
|
||||
Margin="0,10,5,0"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Grid.Column="3"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="0,10,5,0"
|
||||
IsReadOnly="False"
|
||||
Text="{Binding Hue, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<TextBlock Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Text="S"
|
||||
Margin="5,5,5,0"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Grid.Column="3"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="5,5,5,0"
|
||||
IsReadOnly="False"
|
||||
Text="{Binding Saturation, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<TextBlock Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Text="L"
|
||||
Margin="5,5,5,0"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Grid.Column="3"
|
||||
Grid.Row="2"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="5,5,5,0"
|
||||
IsReadOnly="False"
|
||||
Text="{Binding Lightness, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<TextBlock Grid.Row="3"
|
||||
Grid.ColumnSpan="2"
|
||||
Text="{Binding Hexadecimal_Msg}"
|
||||
Margin="5,5,5,0"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Grid.Column="2"
|
||||
Grid.ColumnSpan="2"
|
||||
Grid.Row="3"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="5,5,5,0"
|
||||
Text="{Binding Hexadecimal, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<UniformGrid Grid.Row="2"
|
||||
Rows="1"
|
||||
Margin="10,10,10,0">
|
||||
<Button IsDefault="True"
|
||||
Content="OK"
|
||||
Command="{Binding Ok_Command}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
@@ -0,0 +1,313 @@
|
||||
Imports System.Drawing.Configuration
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Public Class EgtColorPickerV
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Private WithEvents m_EgtColorPickerVM As EgtColorPickerVM
|
||||
|
||||
Private Shadows DialogResult As DialogResult
|
||||
|
||||
Public Property CustomColors As Integer()
|
||||
Get
|
||||
Return m_EgtColorPickerVM.GetCustomColors()
|
||||
End Get
|
||||
Set(value As Integer())
|
||||
m_EgtColorPickerVM.SetCustomColors(value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Color As System.Drawing.Color
|
||||
Get
|
||||
Dim RgbColor As Color = HSLColor.HslToRgb(m_EgtColorPickerVM.HSLColor)
|
||||
Return System.Drawing.Color.FromArgb(255, RgbColor.R, RgbColor.G, RgbColor.B)
|
||||
End Get
|
||||
Set(value As System.Drawing.Color)
|
||||
m_EgtColorPickerVM.SetHSLColor(System.Windows.Media.Color.FromArgb(255, value.R, value.G, value.B))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_dH As Double = 0
|
||||
Private m_dS As Double = 0
|
||||
Private m_dL As Double = 0.5
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New(Owner As Window, EtgColorPickerVM As EgtColorPickerVM)
|
||||
MyBase.New(Owner)
|
||||
InitializeComponent()
|
||||
Me.DataContext = EtgColorPickerVM
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
m_EgtColorPickerVM = EtgColorPickerVM
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "EVENTS"
|
||||
|
||||
Private Sub CloseWindow(DialogResult As MessageBoxResult) Handles m_EgtColorPickerVM.m_CloseWindow
|
||||
Me.DialogResult = DialogResult
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub EgtColorPickerVM_SetLuminosityFill(color As Color) Handles m_EgtColorPickerVM.m_SetLuminosityFill
|
||||
LightnessColor.Color = color
|
||||
End Sub
|
||||
|
||||
Private Sub EgtColorPickerVM_SetLuminosityFills() Handles m_EgtColorPickerVM.m_UpdateCursorsPos
|
||||
Dim dX As Double = m_EgtColorPickerVM.HSLColor.Hue / 360 * MyCanvas.ActualWidth
|
||||
Dim dY As Double = (1 - m_EgtColorPickerVM.HSLColor.Saturation) * MyCanvas.ActualHeight
|
||||
Dim dYL As Double = (1 - m_EgtColorPickerVM.HSLColor.Lightness) * MyCanvasL.ActualHeight
|
||||
Canvas.SetLeft(Ellipse, dX - (Ellipse.Width / 2))
|
||||
Canvas.SetTop(Ellipse, dY - (Ellipse.Height / 2))
|
||||
Canvas.SetTop(Arrow, dYL)
|
||||
Canvas.SetLeft(Arrow, MyCanvasL.ActualWidth)
|
||||
End Sub
|
||||
|
||||
Private Sub EgtColorPickerV_ContentRendered(sender As Object, e As EventArgs) Handles Me.ContentRendered
|
||||
EgtColorPickerVM_SetLuminosityFills()
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Seleziona il colore all'interno del rettangolo nominato ColorRectangle attraverso un'ellisse
|
||||
''' </summary>
|
||||
Private Sub ColorRectangle_MouseDown(sender As Object, e As MouseButtonEventArgs)
|
||||
Dim dX As Double = Mouse.GetPosition(MyCanvas).X
|
||||
Dim dY As Double = Mouse.GetPosition(MyCanvas).Y
|
||||
|
||||
Dim sat As Double = dX / MyCanvas.ActualWidth * 360
|
||||
Dim ton As Double = 1 - dY / MyCanvas.ActualHeight
|
||||
|
||||
m_EgtColorPickerVM.UpdateHue(Math.Round(sat, MidpointRounding.AwayFromZero))
|
||||
m_EgtColorPickerVM.UpdateSaturation(Math.Round(ton, 2))
|
||||
m_EgtColorPickerVM.UpdateLightness(0.5)
|
||||
|
||||
'Dim r, g, b As Integer
|
||||
|
||||
If dX > 0 AndAlso dX < MyCanvas.ActualWidth And dY > 0 AndAlso dY < MyCanvas.ActualHeight Then
|
||||
Canvas.SetTop(Ellipse, dY - (Ellipse.Height / 2))
|
||||
Canvas.SetLeft(Ellipse, dX - (Ellipse.Width / 2))
|
||||
Canvas.SetTop(Arrow, MyCanvas.Height / 2)
|
||||
Canvas.SetLeft(Arrow, MyCanvasL.ActualWidth)
|
||||
End If
|
||||
|
||||
'HlsToRgb(sat, lum, 1 - ton, r, g, b)
|
||||
|
||||
'Dim colargb As System.Drawing.Color = ColorFromHSV(sat, ton, lum)
|
||||
|
||||
'Dim col As Color = Media.Color.FromRgb(colargb.R, colargb.G, colargb.B)
|
||||
'Dim col As Color = Media.Color.FromRgb(r, g, b)
|
||||
'm_EgtColorPickerVM.SetCurrColorFill(col)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Permette il movimento della freccia dall'alto verso il basso
|
||||
''' </summary>
|
||||
Private Sub Luminosity_MouseMove(sender As Object, e As Input.MouseEventArgs)
|
||||
'Dim dX As Double = Mouse.GetPosition(MyCanvasL).X
|
||||
'Dim dY As Double = Mouse.GetPosition(MyCanvasL).Y
|
||||
|
||||
'If dX > 0 AndAlso dX < MyCanvasL.ActualWidth And dY > 0 AndAlso dY < MyCanvasL.ActualHeight Then
|
||||
' Arrow.Visibility = Visibility.Visible
|
||||
' Canvas.SetTop(Arrow, dY)
|
||||
' Canvas.SetLeft(Arrow, MyCanvasL.ActualWidth)
|
||||
'Else
|
||||
' Arrow.Visibility = Visibility.Collapsed
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Modifica la luminosità del colore selezionato
|
||||
''' </summary>
|
||||
Private Sub Luminosity_MouseDown(sender As Object, e As MouseButtonEventArgs)
|
||||
|
||||
Arrow.Visibility = Visibility.Visible
|
||||
Dim dYPos As Double = Mouse.GetPosition(MyCanvasL).Y
|
||||
Canvas.SetTop(Arrow, dYPos)
|
||||
|
||||
Dim dX As Double = Canvas.GetLeft(Ellipse)
|
||||
Dim dY As Double = Canvas.GetTop(Ellipse)
|
||||
Dim dL As Double = Mouse.GetPosition(MyCanvasL).Y
|
||||
|
||||
Dim sat As Double = dX / MyCanvas.ActualWidth * 360
|
||||
Dim ton As Double = dY / MyCanvas.ActualHeight
|
||||
Dim lum As Double = dL / MyCanvasL.ActualHeight
|
||||
|
||||
m_EgtColorPickerVM.UpdateLightness(1 - Math.Round(lum, 2))
|
||||
|
||||
Dim r, g, b As Integer
|
||||
|
||||
HslToRgb(m_dH, m_dS, 1 - m_dL, r, g, b)
|
||||
' HslToRgb(sat, 1 - ton, 1 - lum, r, g, b)
|
||||
' HlsToRgb(sat, 1 - lum, 1 - ton, r, g, b)
|
||||
|
||||
'Dim col As Color = Media.Color.FromRgb(r, g, b)
|
||||
'm_EgtColorPickerVM.SetCurrColorFill(col)
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Private Shared Function HslToRgb(ByVal h As Double, ByVal s As Double, ByVal l As Double, ByRef r As Integer, ByRef g As Integer, ByRef b As Integer) As Color
|
||||
Dim dConversionH As Double = Math.Round(h, MidpointRounding.AwayFromZero)
|
||||
Dim dConversionS As Double = Math.Round(s, 2)
|
||||
Dim dConversionL As Double = Math.Round(l, 2)
|
||||
Dim C As Double = (1 - Math.Abs(2 * dConversionL - 1)) * dConversionS
|
||||
Dim X = C * (1 - Math.Abs((dConversionH / 60) Mod 2 - 1))
|
||||
Dim m = dConversionL - C / 2
|
||||
Dim dRPrimo As Double
|
||||
Dim dGPrimo As Double
|
||||
Dim dBPrimo As Double
|
||||
|
||||
If dConversionH >= 0 Then
|
||||
If dConversionH < 60 Then
|
||||
dRPrimo = C
|
||||
dGPrimo = X
|
||||
dBPrimo = 0
|
||||
ElseIf dConversionH < 120 Then
|
||||
dRPrimo = X
|
||||
dGPrimo = C
|
||||
dBPrimo = 0
|
||||
ElseIf dConversionH < 180 Then
|
||||
dRPrimo = 0
|
||||
dGPrimo = C
|
||||
dBPrimo = X
|
||||
ElseIf dConversionH < 240 Then
|
||||
dRPrimo = 0
|
||||
dGPrimo = X
|
||||
dBPrimo = C
|
||||
ElseIf dConversionH < 300 Then
|
||||
dRPrimo = X
|
||||
dGPrimo = 0
|
||||
dBPrimo = C
|
||||
ElseIf dConversionH < 360 Then
|
||||
dRPrimo = C
|
||||
dGPrimo = 0
|
||||
dBPrimo = X
|
||||
End If
|
||||
End If
|
||||
|
||||
r = (dRPrimo + m) * 255
|
||||
g = (dGPrimo + m) * 255
|
||||
b = (dBPrimo + m) * 255
|
||||
End Function
|
||||
|
||||
Friend Shared Function RgbToHsl(ByVal r As Integer, ByVal g As Integer, ByVal b As Integer, ByRef h As Double, ByRef s As Double, ByRef l As Double) As Color
|
||||
Dim dRPrimo As Double = r / 255
|
||||
Dim dGPrimo As Double = g / 255
|
||||
Dim dBPrimo As Double = b / 255
|
||||
Dim CMax As Double = Math.Max(Math.Max(dRPrimo, dGPrimo), dBPrimo)
|
||||
Dim CMin As Double = Math.Min(Math.Min(dRPrimo, dGPrimo), dBPrimo)
|
||||
Dim Delta As Double = CMax - CMin
|
||||
If Delta = 0 Then
|
||||
h = 0
|
||||
ElseIf CMax = dRPrimo Then
|
||||
h = 60 * (((dGPrimo - dBPrimo) / Delta) Mod 6)
|
||||
ElseIf CMax = dGPrimo Then
|
||||
h = 60 * (((dBPrimo - dRPrimo) / Delta) + 2)
|
||||
ElseIf CMax = dBPrimo Then
|
||||
h = 60 * (((dRPrimo - dRPrimo) / Delta) + 4)
|
||||
End If
|
||||
|
||||
l = (CMax + CMin) / 2
|
||||
|
||||
If Delta = 0 Then
|
||||
s = 0
|
||||
Else
|
||||
s = Delta / (1 - Math.Abs(2 * l - 1))
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
'''' <summary>
|
||||
'''' Converte il colore selezionato da HLS ( tonalità, luminosità, saturazione) in RGB
|
||||
'''' </summary>
|
||||
'''' <param name="h">Tonalità del colore selezionato espressa in double</param>
|
||||
'''' <param name="l">Luminosità del colore selezionato espressa in double</param>
|
||||
'''' <param name="s">Saturazione del colore selezionato espressa in double</param>
|
||||
'''' <param name="r">Colore Rosso restituito dalla funzione espresso in intero</param>
|
||||
'''' <param name="g">Colore Verde restituito dalla funzione espresso in intero</param>
|
||||
'''' <param name="b">Colore Blu restituito dalla funzione espresso in intero</param>
|
||||
'Private Shared Sub HlsToRgb(ByVal h As Double, ByVal l As Double, ByVal s As Double, <Out> ByRef r As Integer, <Out> ByRef g As Integer, <Out> ByRef b As Integer)
|
||||
' Dim p2 As Double
|
||||
|
||||
' If l <= 0.5 Then
|
||||
' p2 = l * (1 + s)
|
||||
' Else
|
||||
' p2 = l + s - l * s
|
||||
' End If
|
||||
|
||||
' Dim p1 As Double = 2 * l - p2
|
||||
' Dim double_r, double_g, double_b As Double
|
||||
|
||||
' If s = 0 Then
|
||||
' double_r = l
|
||||
' double_g = l
|
||||
' double_b = l
|
||||
' Else
|
||||
' double_r = QqhToRgb(p1, p2, h + 120)
|
||||
' double_g = QqhToRgb(p1, p2, h)
|
||||
' double_b = QqhToRgb(p1, p2, h - 120)
|
||||
' End If
|
||||
|
||||
' r = CInt((double_r * 255.0))
|
||||
' g = CInt((double_g * 255.0))
|
||||
' b = CInt((double_b * 255.0))
|
||||
'End Sub
|
||||
|
||||
'Private Shared Function QqhToRgb(ByVal q1 As Double, ByVal q2 As Double, ByVal hue As Double) As Double
|
||||
' If hue > 360 Then
|
||||
' hue -= 360
|
||||
' ElseIf hue < 0 Then
|
||||
' hue += 360
|
||||
' End If
|
||||
|
||||
' If hue < 60 Then Return q1 + (q2 - q1) * hue / 60
|
||||
' If hue < 180 Then Return q2
|
||||
' If hue < 240 Then Return q1 + (q2 - q1) * (240 - hue) / 60
|
||||
' Return q1
|
||||
'End Function
|
||||
|
||||
Public Shared Function ColorFromHSV(ByVal hue As Double, ByVal saturation As Double, ByVal value As Double) As System.Drawing.Color
|
||||
Dim hi As Integer = Convert.ToInt32(Math.Floor(hue / 60)) Mod 6
|
||||
Dim f As Double = hue / 60 - Math.Floor(hue / 60)
|
||||
value *= 255
|
||||
Dim v As Integer = Convert.ToInt32(value)
|
||||
Dim p As Integer = Convert.ToInt32(value * (1 - saturation))
|
||||
Dim q As Integer = Convert.ToInt32(value * (1 - f * saturation))
|
||||
Dim t As Integer = Convert.ToInt32(value * (1 - (1 - f) * saturation))
|
||||
|
||||
If hi = 0 Then
|
||||
Return System.Drawing.Color.FromArgb(255, v, t, p)
|
||||
ElseIf hi = 1 Then
|
||||
Return System.Drawing.Color.FromArgb(255, q, v, p)
|
||||
ElseIf hi = 2 Then
|
||||
Return System.Drawing.Color.FromArgb(255, p, v, t)
|
||||
ElseIf hi = 3 Then
|
||||
Return System.Drawing.Color.FromArgb(255, p, q, v)
|
||||
ElseIf hi = 4 Then
|
||||
Return System.Drawing.Color.FromArgb(255, t, p, v)
|
||||
Else
|
||||
Return System.Drawing.Color.FromArgb(255, v, p, q)
|
||||
End If
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Apre una finestra EgtColorPicker
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Overloads Function ShowDialog() As DialogResult
|
||||
MyBase.ShowDialog()
|
||||
Return Me.DialogResult
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,873 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class EgtColorPickerVM
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Friend Event m_CloseWindow(bDialogResult As MessageBoxResult)
|
||||
|
||||
Friend Event m_SetLuminosityFill(color As Color)
|
||||
Friend Event m_UpdateCursorsPos()
|
||||
|
||||
Private m_sTitle As String = ""
|
||||
Public ReadOnly Property sTitle As String
|
||||
Get
|
||||
Return m_sTitle
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_BasicColors As New List(Of EgtColorPicker)
|
||||
Public Property BasicColors As List(Of EgtColorPicker)
|
||||
Get
|
||||
Return m_BasicColors
|
||||
End Get
|
||||
Set(value As List(Of EgtColorPicker))
|
||||
m_BasicColors = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_CustomColors As New List(Of EgtColorPicker)
|
||||
Public Property CustomColors As List(Of EgtColorPicker)
|
||||
Get
|
||||
Return m_CustomColors
|
||||
End Get
|
||||
Set(value As List(Of EgtColorPicker))
|
||||
m_CustomColors = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend Sub SetCustomColors(value As Integer())
|
||||
Dim coloraRGB As System.Drawing.Color
|
||||
Dim colorRGB As Color
|
||||
For i As Integer = 0 To value.Length - 1
|
||||
coloraRGB = System.Drawing.Color.FromArgb(value(i).ToString)
|
||||
colorRGB = Color.FromRgb(coloraRGB.R, coloraRGB.G, coloraRGB.B)
|
||||
m_CustomColors.Insert(i, New EgtColorPicker(New SolidColorBrush(colorRGB)))
|
||||
m_CustomColors.RemoveAt(m_CustomColors.Count - 1)
|
||||
Next
|
||||
m_CustomColors.Reverse()
|
||||
SelCustomColor = m_CustomColors(0)
|
||||
NotifyPropertyChanged(NameOf(SelCustomColor))
|
||||
End Sub
|
||||
|
||||
Friend Function GetCustomColors() As Integer()
|
||||
Dim arrayColor As Integer() = New Integer(m_CustomColors.Count - 1) {}
|
||||
Dim coloraRGB As System.Drawing.Color
|
||||
Dim colorCode As Integer
|
||||
For i As Integer = 0 To m_CustomColors.Count - 1
|
||||
Dim intValue As Integer = Integer.Parse(m_CustomColors(i).Fill.ToString().TrimStart("#FF"), System.Globalization.NumberStyles.HexNumber)
|
||||
coloraRGB = System.Drawing.Color.FromArgb(intValue)
|
||||
'colorCode = BitConverter.ToInt32(New Byte() {coloraRGB.R, coloraRGB.G, coloraRGB.B, &H0}, i)
|
||||
colorCode = coloraRGB.ToArgb()
|
||||
'arrayColor.Append(colorCode)
|
||||
arrayColor(i) = colorCode
|
||||
Next
|
||||
Return arrayColor
|
||||
End Function
|
||||
|
||||
Private m_HSLColor As New HSLColor
|
||||
Public ReadOnly Property HSLColor As HSLColor
|
||||
Get
|
||||
Return m_HSLColor
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetHSLColor(value As Color)
|
||||
Dim dHue, dSaturation, dLightness As Double
|
||||
HSLColor.RgbToHsl(value, dHue, dSaturation, dLightness)
|
||||
m_HSLColor.SetHue(dHue)
|
||||
m_HSLColor.SetSaturation(dSaturation)
|
||||
m_HSLColor.SetLightness(dLightness)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
SetLightnessColor()
|
||||
UpdateHue()
|
||||
UpdateSaturation()
|
||||
UpdateLightness()
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
RaiseEvent m_UpdateCursorsPos()
|
||||
End Sub
|
||||
|
||||
Private m_CurrColor As Color
|
||||
Public ReadOnly Property CurrColor As SolidColorBrush
|
||||
Get
|
||||
Return New SolidColorBrush(HSLColor.HslToRgb(m_HSLColor.Hue, m_HSLColor.Saturation, m_HSLColor.Lightness))
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SelColor As EgtColorPicker
|
||||
Public Property SelColor As EgtColorPicker
|
||||
Get
|
||||
Return m_SelColor
|
||||
End Get
|
||||
Set(value As EgtColorPicker)
|
||||
m_SelColor = value
|
||||
SetHSLColor(value.Fill.Color)
|
||||
'm_Fill = m_Color.Fill
|
||||
'm_CurrColor = m_Color.Fill.Color
|
||||
'm_Luminosity_Fill = m_Color.Fill.Color
|
||||
'm_Red = m_Color.Fill.Color.R.ToString
|
||||
'm_Green = m_Color.Fill.Color.G.ToString
|
||||
'm_Blue = m_Color.Fill.Color.B.ToString
|
||||
'm_Hexadecimal = "#" + System.Drawing.Color.FromArgb(m_Red, m_Green, m_Blue).ToArgb().ToString("X6")
|
||||
'NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
'NotifyPropertyChanged(NameOf(Fill))
|
||||
'NotifyPropertyChanged(NameOf(CurrColor))
|
||||
'NotifyPropertyChanged(NameOf(Luminosity_Fill))
|
||||
'NotifyPropertyChanged(NameOf(Red))
|
||||
'NotifyPropertyChanged(NameOf(Green))
|
||||
'NotifyPropertyChanged(NameOf(Blue))
|
||||
'If Not IsNothing(m_CustomColor) Then
|
||||
' m_CustomColor.SetFill(m_Color.Fill)
|
||||
'End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_CustomColor As EgtColorPicker
|
||||
Public Property SelCustomColor As EgtColorPicker
|
||||
Get
|
||||
Return m_CustomColor
|
||||
End Get
|
||||
Set(value As EgtColorPicker)
|
||||
m_CustomColor = value
|
||||
m_CurrColor = m_CustomColor.Fill.Color
|
||||
m_Luminosity_Fill = m_CustomColor.Fill.Color
|
||||
m_Red = m_CustomColor.Fill.Color.R.ToString
|
||||
m_Green = m_CustomColor.Fill.Color.G.ToString
|
||||
m_Blue = m_CustomColor.Fill.Color.B.ToString
|
||||
m_Hexadecimal = "#" + System.Drawing.Color.FromArgb(m_Red, m_Green, m_Blue).ToArgb().ToString("X6")
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
NotifyPropertyChanged(NameOf(Luminosity_Fill))
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
UpdateHue()
|
||||
UpdateSaturation()
|
||||
UpdateLightness()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_Fill As SolidColorBrush
|
||||
Public ReadOnly Property Fill As SolidColorBrush
|
||||
Get
|
||||
Return m_Fill
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetCurrColorFill(value As Color)
|
||||
m_CurrColor = value
|
||||
SetRed(m_CurrColor.R)
|
||||
SetGreen(m_CurrColor.G)
|
||||
SetBlu(m_CurrColor.B)
|
||||
SetHexadecimal(m_CurrColor.ToString)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
NotifyPropertyChanged(NameOf(Luminosity_Fill))
|
||||
UpdateHue()
|
||||
UpdateSaturation()
|
||||
UpdateLightness()
|
||||
End Sub
|
||||
|
||||
Private m_Luminosity_Fill As Color
|
||||
Public ReadOnly Property Luminosity_Fill As SolidColorBrush
|
||||
Get
|
||||
Return New SolidColorBrush(m_Luminosity_Fill)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Friend Sub SetLuminosityColorFill(value As Color)
|
||||
m_CurrColor = value
|
||||
SetRed(m_CurrColor.R)
|
||||
SetGreen(m_CurrColor.G)
|
||||
SetBlu(m_CurrColor.B)
|
||||
SetHexadecimal(m_CurrColor.ToString)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
RaiseEvent m_SetLuminosityFill(value)
|
||||
UpdateHue()
|
||||
UpdateSaturation()
|
||||
UpdateLightness()
|
||||
End Sub
|
||||
|
||||
Private m_Hexadecimal As String
|
||||
Public Property Hexadecimal As String
|
||||
Get
|
||||
Dim RgbColor As Color = HSLColor.HslToRgb(m_HSLColor)
|
||||
Return "#" & System.Drawing.Color.FromArgb(RgbColor.R, RgbColor.G, RgbColor.B).ToArgb().ToString("X6")
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_Hexadecimal = value
|
||||
If m_Hexadecimal.Length >= 8 AndAlso m_Hexadecimal >= "#FF000000" And m_Hexadecimal <= "#FFFFFFFF" Then
|
||||
Dim Color As Color = CType(ColorConverter.ConvertFromString(m_Hexadecimal), Color)
|
||||
SetCurrColorFill(Color)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(Fill))
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend Sub SetHexadecimal(value As String)
|
||||
m_Hexadecimal = value
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
End Sub
|
||||
|
||||
Private m_Red As Double
|
||||
Public Property Red As String
|
||||
Get
|
||||
Dim RgbColor As Color = HSLColor.HslToRgb(m_HSLColor)
|
||||
Return DoubleToString(RgbColor.R, 0)
|
||||
End Get
|
||||
Set(value As String)
|
||||
If StringToDouble(value, m_Red) And (m_Red >= 0 AndAlso m_Red <= 255) Then
|
||||
UpdateRed(m_Red)
|
||||
'm_Red = value
|
||||
m_Fill = New SolidColorBrush(Color.FromRgb(m_Red, m_Green, m_Blue))
|
||||
SetCurrColorFill(m_Fill.Color)
|
||||
NotifyPropertyChanged(NameOf(Fill))
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetRed(value As Double)
|
||||
m_Red = value
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
End Sub
|
||||
|
||||
Private m_Green As Double
|
||||
Public Property Green As String
|
||||
Get
|
||||
Dim RgbColor As Color = HSLColor.HslToRgb(m_HSLColor)
|
||||
Return DoubleToString(RgbColor.G, 0)
|
||||
End Get
|
||||
Set(value As String)
|
||||
If StringToDouble(value, m_Green) And (m_Green >= 0 AndAlso m_Green <= 255) Then
|
||||
UpdateGreen(value)
|
||||
m_Green = value
|
||||
m_Fill = New SolidColorBrush(Color.FromRgb(m_Red, m_Green, m_Blue))
|
||||
SetCurrColorFill(m_Fill.Color)
|
||||
NotifyPropertyChanged(NameOf(Fill))
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetGreen(value As Double)
|
||||
m_Green = value
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
End Sub
|
||||
|
||||
Private m_Blue As Double
|
||||
Public Property Blue As String
|
||||
Get
|
||||
Dim RgbColor As Color = HSLColor.HslToRgb(m_HSLColor)
|
||||
Return DoubleToString(RgbColor.B, 0)
|
||||
End Get
|
||||
Set(value As String)
|
||||
If StringToDouble(value, m_Blue) And (m_Blue >= 0 AndAlso m_Blue <= 255) Then
|
||||
UpdateBlue(value)
|
||||
m_Blue = value
|
||||
m_Fill = New SolidColorBrush(Color.FromRgb(m_Red, m_Green, m_Blue))
|
||||
SetCurrColorFill(m_Fill.Color)
|
||||
NotifyPropertyChanged(NameOf(Fill))
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetBlu(value As Double)
|
||||
m_Blue = value
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
End Sub
|
||||
|
||||
Private m_Hue As String
|
||||
Public Property Hue As String
|
||||
Get
|
||||
Return m_Hue
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dHue As Double = 0
|
||||
If StringToDouble(value, dHue) AndAlso dHue >= 0 AndAlso dHue < 360 Then
|
||||
UpdateHue(dHue)
|
||||
m_Hue = If(value.Last() = "."c, value, DoubleToString(m_HSLColor.Hue, 2))
|
||||
RaiseEvent m_UpdateCursorsPos()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(Hue))
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub UpdateHue()
|
||||
m_Hue = DoubleToString(m_HSLColor.Hue, 0)
|
||||
NotifyPropertyChanged(NameOf(Hue))
|
||||
End Sub
|
||||
|
||||
Private m_Saturation As String
|
||||
Public Property Saturation As String
|
||||
Get
|
||||
Return m_Saturation
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dSaturation As Double = 0
|
||||
If StringToDouble(value, dSaturation) AndAlso dSaturation >= 0 AndAlso dSaturation <= 100 Then
|
||||
UpdateSaturation(dSaturation / 100)
|
||||
m_Saturation = If(value.Last() = "."c, value, DoubleToString(m_HSLColor.Saturation * 100, 2))
|
||||
RaiseEvent m_UpdateCursorsPos()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(Saturation))
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub UpdateSaturation()
|
||||
m_Saturation = DoubleToString(m_HSLColor.Saturation * 100, 2)
|
||||
NotifyPropertyChanged(NameOf(Saturation))
|
||||
End Sub
|
||||
|
||||
Private m_Lightness As String
|
||||
Public Property Lightness As String
|
||||
Get
|
||||
Return m_Lightness
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dLightness As Double = 0
|
||||
If StringToDouble(value, dLightness) AndAlso dLightness >= 0 AndAlso dLightness <= 100 Then
|
||||
UpdateLightness(dLightness / 100)
|
||||
m_Lightness = If(value.Last() = "."c, value, DoubleToString(m_HSLColor.Lightness * 100, 2))
|
||||
RaiseEvent m_UpdateCursorsPos()
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(Lightness))
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub UpdateLightness()
|
||||
m_Lightness = DoubleToString(m_HSLColor.Lightness * 100, 2)
|
||||
NotifyPropertyChanged(NameOf(Lightness))
|
||||
End Sub
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdCancel As ICommand
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdSaveColor As ICommand
|
||||
|
||||
#Region "Messages"
|
||||
Public ReadOnly Property Red_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15050)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Green_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15051)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Blu_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15052)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Hexadecimal_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15053)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property AddCColor_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15054)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property BasicColor_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15055)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property CustomColor_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15056)
|
||||
End Get
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New()
|
||||
EgtColorPicker.SetOwner(Me)
|
||||
|
||||
'Colori di Base
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.LightCoral)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Khaki)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.LightGreen)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.PaleGreen)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Aqua)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.SteelBlue)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Pink)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.HotPink)))
|
||||
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Red)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Yellow)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Lime)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.LimeGreen)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Cyan)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.CornflowerBlue)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.MediumPurple)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Magenta)))
|
||||
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Brown)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Orange)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Green)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.MediumSeaGreen)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.MediumBlue)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.MediumSlateBlue)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.MediumVioletRed)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DeepPink)))
|
||||
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkRed)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkOrange)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.OliveDrab)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkOliveGreen)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Blue)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Navy)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkMagenta)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.BlueViolet)))
|
||||
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Maroon)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Firebrick)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.ForestGreen)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkGreen)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkBlue)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.MidnightBlue)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkSlateBlue)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Indigo)))
|
||||
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Black)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkKhaki)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Olive)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkGray)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.MediumAquamarine)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.Gray)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.DarkViolet)))
|
||||
m_BasicColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
|
||||
'Colori Personalizzati
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
m_CustomColors.Add(New EgtColorPicker(New SolidColorBrush(Colors.White)))
|
||||
|
||||
NotifyPropertyChanged(NameOf(BasicColors))
|
||||
NotifyPropertyChanged(NameOf(CustomColors))
|
||||
|
||||
SelCustomColor = m_CustomColors(0)
|
||||
NotifyPropertyChanged(NameOf(SelCustomColor))
|
||||
End Sub
|
||||
|
||||
#End Region 'CONTRUCTORS"
|
||||
Friend Sub UpdateHue(value As Double)
|
||||
m_HSLColor.SetHue(value)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
SetLightnessColor()
|
||||
UpdateSaturation()
|
||||
UpdateLightness()
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
End Sub
|
||||
Friend Sub UpdateSaturation(value As Double)
|
||||
m_HSLColor.SetSaturation(value)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
SetLightnessColor()
|
||||
UpdateHue()
|
||||
UpdateLightness()
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
End Sub
|
||||
Friend Sub UpdateLightness(value As Double)
|
||||
m_HSLColor.SetLightness(value)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
SetLightnessColor()
|
||||
UpdateHue()
|
||||
UpdateSaturation()
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
End Sub
|
||||
Friend Sub UpdateRed(value As Double)
|
||||
Dim RGBColor As Color = HSLColor.HslToRgb(m_HSLColor)
|
||||
Dim h, s, l As Double
|
||||
HSLColor.RgbToHsl(Color.FromRgb(value, RGBColor.G, RGBColor.B), h, s, l)
|
||||
SetRed(value)
|
||||
m_HSLColor.SetHue(h)
|
||||
m_HSLColor.SetSaturation(s)
|
||||
m_HSLColor.SetLightness(l)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
SetLightnessColor()
|
||||
UpdateHue()
|
||||
UpdateSaturation()
|
||||
UpdateLightness()
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
End Sub
|
||||
Friend Sub UpdateGreen(value As Double)
|
||||
Dim RGBColor As Color = HSLColor.HslToRgb(m_HSLColor)
|
||||
Dim h, s, l As Double
|
||||
HSLColor.RgbToHsl(Color.FromRgb(RGBColor.R, value, RGBColor.B), h, s, l)
|
||||
m_HSLColor.SetHue(h)
|
||||
m_HSLColor.SetSaturation(s)
|
||||
m_HSLColor.SetLightness(l)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
SetLightnessColor()
|
||||
UpdateHue()
|
||||
UpdateSaturation()
|
||||
UpdateLightness()
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateBlue(value As Double)
|
||||
Dim RGBColor As Color = HSLColor.HslToRgb(m_HSLColor)
|
||||
Dim h, s, l As Double
|
||||
HSLColor.RgbToHsl(Color.FromRgb(RGBColor.R, RGBColor.G, value), h, s, l)
|
||||
m_HSLColor.SetHue(h)
|
||||
m_HSLColor.SetSaturation(s)
|
||||
m_HSLColor.SetLightness(l)
|
||||
NotifyPropertyChanged(NameOf(CurrColor))
|
||||
SetLightnessColor()
|
||||
UpdateHue()
|
||||
UpdateSaturation()
|
||||
UpdateLightness()
|
||||
NotifyPropertyChanged(NameOf(Red))
|
||||
NotifyPropertyChanged(NameOf(Green))
|
||||
NotifyPropertyChanged(NameOf(Blue))
|
||||
NotifyPropertyChanged(NameOf(Hexadecimal))
|
||||
End Sub
|
||||
|
||||
|
||||
Friend Sub SetLightnessColor()
|
||||
RaiseEvent m_SetLuminosityFill(HSLColor.HslToRgb(m_HSLColor.Hue, m_HSLColor.Saturation, 0.5))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
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()
|
||||
RaiseEvent m_CloseWindow(DialogResult.OK)
|
||||
End Sub
|
||||
|
||||
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()
|
||||
RaiseEvent m_CloseWindow(DialogResult.Cancel)
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property SaveColor_Command As ICommand
|
||||
Get
|
||||
If m_cmdSaveColor Is Nothing Then
|
||||
m_cmdSaveColor = New Command(AddressOf SaveColor)
|
||||
End If
|
||||
Return m_cmdSaveColor
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub SaveColor()
|
||||
If Not IsNothing(m_CustomColor) Then
|
||||
m_CustomColor.SetFill(CurrColor)
|
||||
Dim nIndex As Integer = m_CustomColors.IndexOf(SelCustomColor)
|
||||
m_CustomColor = If(nIndex >= 0 AndAlso nIndex < m_CustomColors.Count - 1, m_CustomColors(nIndex + 1), m_CustomColors(0))
|
||||
NotifyPropertyChanged(NameOf(SelCustomColor))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region 'COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
Public Class EgtColorPicker
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Private Shared Owner As EgtColorPickerVM
|
||||
|
||||
Private m_Fill As SolidColorBrush
|
||||
Public ReadOnly Property Fill As SolidColorBrush
|
||||
Get
|
||||
Return m_Fill
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Friend Sub SetFill(value As SolidColorBrush)
|
||||
m_Fill = value
|
||||
NotifyPropertyChanged(NameOf(Fill))
|
||||
End Sub
|
||||
|
||||
Private m_Luminosity_Fill As SolidColorBrush
|
||||
Public ReadOnly Property Luminosity_Fill As SolidColorBrush
|
||||
Get
|
||||
Return m_Luminosity_Fill
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Friend Sub SetLumFill(value As SolidColorBrush)
|
||||
m_Luminosity_Fill = value
|
||||
NotifyPropertyChanged(NameOf(Luminosity_Fill))
|
||||
End Sub
|
||||
|
||||
Private m_CurrColorFill As SolidColorBrush
|
||||
Public ReadOnly Property CurrColor_Fill As SolidColorBrush
|
||||
Get
|
||||
Return m_CurrColorFill
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Friend Sub SetCurrFill(value As SolidColorBrush)
|
||||
m_CurrColorFill = value
|
||||
NotifyPropertyChanged(NameOf(CurrColor_Fill))
|
||||
End Sub
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New(Fill As SolidColorBrush)
|
||||
m_Fill = Fill
|
||||
End Sub
|
||||
|
||||
#End Region 'CONTRUCTORS"
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Shared Sub SetOwner(value As EgtColorPickerVM)
|
||||
Owner = value
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
End Class
|
||||
|
||||
Public Class HSLColor
|
||||
|
||||
Private m_Hue As Double
|
||||
Public ReadOnly Property Hue As Double
|
||||
Get
|
||||
Return m_Hue
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetHue(value As Double)
|
||||
m_Hue = value
|
||||
End Sub
|
||||
|
||||
Private m_Saturation As Double
|
||||
Public ReadOnly Property Saturation As Double
|
||||
Get
|
||||
Return m_Saturation
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetSaturation(value As Double)
|
||||
m_Saturation = value
|
||||
End Sub
|
||||
|
||||
Private m_Lightness As Double
|
||||
Public ReadOnly Property Lightness As Double
|
||||
Get
|
||||
Return m_Lightness
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetLightness(value As Double)
|
||||
m_Lightness = value
|
||||
End Sub
|
||||
|
||||
Sub New()
|
||||
End Sub
|
||||
|
||||
Sub New(Hue As Double, Saturation As Double, Lightness As Double)
|
||||
m_Hue = Hue
|
||||
m_Saturation = Saturation
|
||||
m_Lightness = Lightness
|
||||
End Sub
|
||||
|
||||
'Private Shared Function HslToRgb(ByVal h As Double, ByVal s As Double, ByVal l As Double, ByRef r As Integer, ByRef g As Integer, ByRef b As Integer) As Boolean
|
||||
' Dim dConversionH As Double = Math.Round(h, MidpointRounding.AwayFromZero)
|
||||
' Dim dConversionS As Double = Math.Round(s, 2)
|
||||
' Dim dConversionL As Double = Math.Round(l, 2)
|
||||
' Dim C As Double = (1 - Math.Abs(2 * dConversionL - 1)) * dConversionS
|
||||
' Dim X = C * (1 - Math.Abs((dConversionH / 60) Mod 2 - 1))
|
||||
' Dim m = dConversionL - C / 2
|
||||
' Dim dRPrimo As Double
|
||||
' Dim dGPrimo As Double
|
||||
' Dim dBPrimo As Double
|
||||
|
||||
' If dConversionH >= 0 Then
|
||||
' If dConversionH < 60 Then
|
||||
' dRPrimo = C
|
||||
' dGPrimo = X
|
||||
' dBPrimo = 0
|
||||
' ElseIf dConversionH < 120 Then
|
||||
' dRPrimo = X
|
||||
' dGPrimo = C
|
||||
' dBPrimo = 0
|
||||
' ElseIf dConversionH < 180 Then
|
||||
' dRPrimo = 0
|
||||
' dGPrimo = C
|
||||
' dBPrimo = X
|
||||
' ElseIf dConversionH < 240 Then
|
||||
' dRPrimo = 0
|
||||
' dGPrimo = X
|
||||
' dBPrimo = C
|
||||
' ElseIf dConversionH < 300 Then
|
||||
' dRPrimo = X
|
||||
' dGPrimo = 0
|
||||
' dBPrimo = C
|
||||
' ElseIf dConversionH < 360 Then
|
||||
' dRPrimo = C
|
||||
' dGPrimo = 0
|
||||
' dBPrimo = X
|
||||
' End If
|
||||
' End If
|
||||
|
||||
' r = (dRPrimo + m) * 255
|
||||
' g = (dGPrimo + m) * 255
|
||||
' b = (dBPrimo + m) * 255
|
||||
'End Function
|
||||
|
||||
Friend Shared Function HslToRgb(ByVal h As Double, ByVal s As Double, ByVal l As Double) As Color
|
||||
Dim dConversionH As Double = Math.Round(h, MidpointRounding.AwayFromZero)
|
||||
Dim dConversionS As Double = Math.Round(s, 2)
|
||||
Dim dConversionL As Double = Math.Round(l, 2)
|
||||
Dim C As Double = (1 - Math.Abs(2 * dConversionL - 1)) * dConversionS
|
||||
Dim X = C * (1 - Math.Abs((dConversionH / 60) Mod 2 - 1))
|
||||
Dim m = dConversionL - C / 2
|
||||
Dim dRPrimo As Double
|
||||
Dim dGPrimo As Double
|
||||
Dim dBPrimo As Double
|
||||
|
||||
If dConversionH >= 0 Then
|
||||
If dConversionH < 60 Then
|
||||
dRPrimo = C
|
||||
dGPrimo = X
|
||||
dBPrimo = 0
|
||||
ElseIf dConversionH < 120 Then
|
||||
dRPrimo = X
|
||||
dGPrimo = C
|
||||
dBPrimo = 0
|
||||
ElseIf dConversionH < 180 Then
|
||||
dRPrimo = 0
|
||||
dGPrimo = C
|
||||
dBPrimo = X
|
||||
ElseIf dConversionH < 240 Then
|
||||
dRPrimo = 0
|
||||
dGPrimo = X
|
||||
dBPrimo = C
|
||||
ElseIf dConversionH < 300 Then
|
||||
dRPrimo = X
|
||||
dGPrimo = 0
|
||||
dBPrimo = C
|
||||
ElseIf dConversionH < 360 Then
|
||||
dRPrimo = C
|
||||
dGPrimo = 0
|
||||
dBPrimo = X
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim r As Double = Math.Floor((dRPrimo + m) * 255)
|
||||
Dim g As Double = Math.Floor((dGPrimo + m) * 255)
|
||||
Dim b As Double = Math.Floor((dBPrimo + m) * 255)
|
||||
Return Color.FromArgb(255, r, g, b)
|
||||
End Function
|
||||
|
||||
Friend Shared Function HslToRgb(HSLColor As HSLColor) As Color
|
||||
Return HslToRgb(HSLColor.Hue, HSLColor.Saturation, HSLColor.Lightness)
|
||||
End Function
|
||||
|
||||
Friend Shared Function RgbToHsl(ByVal r As Integer, ByVal g As Integer, ByVal b As Integer, ByRef h As Double, ByRef s As Double, ByRef l As Double) As Boolean
|
||||
Dim dRPrimo As Double = r / 255
|
||||
Dim dGPrimo As Double = g / 255
|
||||
Dim dBPrimo As Double = b / 255
|
||||
Dim CMax As Double = Math.Max(dRPrimo, Math.Max(dGPrimo, dBPrimo))
|
||||
Dim CMin As Double = Math.Min(dRPrimo, Math.Min(dGPrimo, dBPrimo))
|
||||
Dim Delta As Double = CMax - CMin
|
||||
If Delta = 0 Then
|
||||
h = 0
|
||||
ElseIf CMax = dRPrimo Then
|
||||
Dim hMod = (((dGPrimo - dBPrimo) / Delta) Mod 6)
|
||||
If hMod < 0 Then
|
||||
h = 60 * (hMod + 6)
|
||||
Else
|
||||
h = 60 * hMod
|
||||
End If
|
||||
ElseIf CMax = dGPrimo Then
|
||||
h = 60 * ((dBPrimo - dRPrimo) / Delta + 2)
|
||||
ElseIf CMax = dBPrimo Then
|
||||
h = 60 * ((dRPrimo - dGPrimo) / Delta + 4)
|
||||
End If
|
||||
|
||||
l = (CMax + CMin) / 2
|
||||
|
||||
If Delta = 0 Then
|
||||
s = 0
|
||||
Else
|
||||
s = Delta / (1 - Math.Abs(2 * l - 1))
|
||||
End If
|
||||
h = Math.Round(h, 1)
|
||||
s = Math.Round(s, 1)
|
||||
l = Math.Round(l, 1)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Friend Shared Function RgbToHsl(RgbColor As Color, ByRef h As Double, ByRef s As Double, ByRef l As Double) As Boolean
|
||||
Return RgbToHsl(RgbColor.R, RgbColor.G, RgbColor.B, h, s, l)
|
||||
End Function
|
||||
|
||||
Friend Shared Function RgbToHsl(RgbColor As System.Drawing.Color, ByRef h As Double, ByRef s As Double, ByRef l As Double) As Boolean
|
||||
Return RgbToHsl(RgbColor.R, RgbColor.G, RgbColor.B, h, s, l)
|
||||
End Function
|
||||
Friend Shared Function RgbToHsl(RgbColor As System.Drawing.Color) As HSLColor
|
||||
Dim h, s, l As Double
|
||||
RgbToHsl(RgbColor.R, RgbColor.G, RgbColor.B, h, s, l)
|
||||
Dim NewHSLColor As New HSLColor(h, s, l)
|
||||
Return NewHSLColor
|
||||
End Function
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,426 @@
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="EgtManageFileDialogV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
xmlns:local="clr-namespace:Icarus"
|
||||
Title="{Binding sTitle}"
|
||||
Height="500"
|
||||
Width="800"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Style="{StaticResource Dialog_Window}">
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Command="{Binding GoBack_Command}"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="2.5,0,5,0"
|
||||
BorderBrush="Transparent"
|
||||
Style="{StaticResource RightPanel_Button}">
|
||||
<Image Source="\Resources\EgtDialog\Restore.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<TextBlock Grid.Column="1"
|
||||
Margin="5"
|
||||
Text="{Binding sSelPath}"
|
||||
HorizontalAlignment="Left"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<ComboBox Grid.Column="2"
|
||||
HorizontalAlignment="Right"
|
||||
IsSynchronizedWithCurrentItem="True"
|
||||
ItemsSource="{Binding ViewModeList}"
|
||||
SelectedItem="{Binding SelViewMode}"
|
||||
Width="200"
|
||||
Height="30"
|
||||
Margin="2.5,5,2.5,5"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
</Grid>
|
||||
<Grid Grid.Row="1"
|
||||
Margin="5,5,5,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="4*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TreeView x:Name="FileTree"
|
||||
ItemsSource="{Binding RootList}"
|
||||
Margin="10"
|
||||
FontSize="15"
|
||||
BorderBrush="White"
|
||||
Foreground="{StaticResource Icarus_Gray}">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type local:EgtFolder}"
|
||||
ItemsSource="{Binding TreeItemList_View}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="{Binding sIconSource}"
|
||||
Height="15"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:EgtItem}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Image Source="{Binding sIconSource}"
|
||||
Height="15"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</TreeView.Resources>
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
</TreeView>
|
||||
<TabControl Grid.Column="1"
|
||||
Background="Transparent"
|
||||
BorderBrush="White"
|
||||
BorderThickness="0"
|
||||
SelectedIndex="{Binding nSelTab}">
|
||||
<TabControl.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TabItem}">
|
||||
<Setter Property="Visibility" Value="Collapsed"/>
|
||||
</Style>
|
||||
</TabControl.ItemContainerStyle>
|
||||
<TabItem Header="LISTBOX">
|
||||
<ListBox x:Name="FileList"
|
||||
Grid.Row="1"
|
||||
Margin="5,5,5,5"
|
||||
BorderBrush="White"
|
||||
IsSynchronizedWithCurrentItem="True"
|
||||
ItemsSource="{Binding SelTreeItem.FolderList, Mode=TwoWay}"
|
||||
SelectedItem="{Binding ItemSelected, Mode=TwoWay}">
|
||||
<ListBox.Resources>
|
||||
<DataTemplate x:Key="ListTemplateView"
|
||||
DataType="{x:Type local:EgtDirectory}">
|
||||
<Grid Margin="5,5,5,0"
|
||||
Height="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image Source="{Binding sIconSource}"
|
||||
Height="15"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
<TextBlock Grid.Column="1"
|
||||
Text="{Binding sName}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="TilesTemplateView"
|
||||
DataType="{x:Type local:EgtDirectory}">
|
||||
<Grid Margin="5,5,5,0"
|
||||
Height="50"
|
||||
Width="250">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image Source="{Binding sIconSource}"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
<UniformGrid Grid.Column="1"
|
||||
Rows="3"
|
||||
Margin="2.5,0,2.5,5">
|
||||
<TextBlock TextAlignment="Left"
|
||||
Text="{Binding sName}"
|
||||
HorizontalAlignment="Left"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBlock TextAlignment="Left"
|
||||
Text="{Binding ghTypeItem}"
|
||||
HorizontalAlignment="Left"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBlock TextAlignment="Left"
|
||||
Text="{Binding sDimension}"
|
||||
HorizontalAlignment="Left"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="ContentTemplateView"
|
||||
DataType="{x:Type local:EgtDirectory}">
|
||||
<Grid Margin="5,5,5,0"
|
||||
Height="50">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image Source="{Binding sIconSource}"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
<UniformGrid Grid.Column="1"
|
||||
Rows="2"
|
||||
Margin="2.5,0,2.5,5">
|
||||
<TextBlock TextAlignment="Left"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{Binding sName}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBlock TextAlignment="Left"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{Binding ghTypeItem}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Grid.Column="2"
|
||||
Rows="2"
|
||||
Margin="2.5,0,2.5,5">
|
||||
<TextBlock TextAlignment="Left"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{Binding sLastModifyDate}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBlock TextAlignment="Left"
|
||||
HorizontalAlignment="Left"
|
||||
Text="{Binding sDimension}"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
<Border Grid.Row="1"
|
||||
BorderThickness="1"
|
||||
BorderBrush="LightGray"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.Resources>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type local:EgtDirectory}">
|
||||
<ContentControl Content="{Binding}">
|
||||
<ContentControl.Style>
|
||||
<Style TargetType="{x:Type ContentControl}">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}" Value="0">
|
||||
<Setter Property="ContentTemplate" Value="{StaticResource ListTemplateView}" />
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}" Value="1">
|
||||
<Setter Property="ContentTemplate" Value="{StaticResource TilesTemplateView}" />
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}" Value="2">
|
||||
<Setter Property="ContentTemplate" Value="{StaticResource ContentTemplateView}" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ContentControl.Style>
|
||||
</ContentControl>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
<EventSetter Event="MouseDoubleClick" Handler="ListBoxItem_MouseDoubleClick"/>
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
<ListBox.Style>
|
||||
<Style TargetType="{x:Type ListBox}">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}"
|
||||
Value="0">
|
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
|
||||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled"/>
|
||||
<Setter Property="ItemsPanel">
|
||||
<Setter.Value>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel Orientation="Vertical"/>
|
||||
</ItemsPanelTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}"
|
||||
Value="1">
|
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
|
||||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
|
||||
<Setter Property="ItemsPanel">
|
||||
<Setter.Value>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel Orientation="Horizontal"/>
|
||||
</ItemsPanelTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding DataContext.nSelTempleteListView, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}"
|
||||
Value="2">
|
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
|
||||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
|
||||
<Setter Property="ItemsPanel">
|
||||
<Setter.Value>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Vertical"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
</ItemsPanelTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ListBox.Style>
|
||||
</ListBox>
|
||||
</TabItem>
|
||||
<TabItem Header="DATAGRID">
|
||||
<DataGrid AutoGenerateColumns="False"
|
||||
IsReadOnly="True"
|
||||
Margin="5,5,5,10"
|
||||
ItemsSource="{Binding SelTreeItem.FolderList, Mode=TwoWay}"
|
||||
SelectedItem="{Binding ItemSelected}"
|
||||
ColumnHeaderStyle="{StaticResource EgtManageFile_DataGridColumnHeader}">
|
||||
<DataGrid.Columns>
|
||||
<!--<DataGridTemplateColumn Width="SizeToCells">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<Image Source="{Binding sIconSource}"
|
||||
Height="15"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>-->
|
||||
<DataGridTemplateColumn Width="5*">
|
||||
<DataGridTemplateColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding DataContext.Name_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
|
||||
HorizontalAlignment="Left"/>
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.HeaderTemplate>
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image Source="{Binding sIconSource}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
<TextBlock Grid.Column="1"
|
||||
Text="{Binding sName}"
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
<!--<DataGridTemplateColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||
<Setter Property="TextAlignment" Value="Left"/>
|
||||
<Setter Property="Padding" Value="12,6,12,6"/>
|
||||
</Style>
|
||||
</DataGridTemplateColumn.ElementStyle>-->
|
||||
</DataGridTemplateColumn>
|
||||
<DataGridTextColumn Binding="{Binding sLastModifyDate}"
|
||||
Width="2*">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding DataContext.LastModify_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
|
||||
HorizontalAlignment="Left"/>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||
<Setter Property="TextAlignment" Value="Left"/>
|
||||
<Setter Property="Padding" Value="12,6,12,6"/>
|
||||
</Style>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
<DataGridTextColumn Binding="{Binding ghTypeItem}"
|
||||
Width="1*">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding DataContext.Type_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
|
||||
HorizontalAlignment="Left"/>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||
<Setter Property="TextAlignment" Value="Left"/>
|
||||
<Setter Property="Padding" Value="12,6,12,6"/>
|
||||
</Style>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
<DataGridTextColumn Binding="{Binding sDimension}"
|
||||
Width="1*">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding DataContext.Dimension_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"
|
||||
HorizontalAlignment="Left"/>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
<DataGridTextColumn.ElementStyle>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="HorizontalAlignment" Value="Right"/>
|
||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||
<Setter Property="TextAlignment" Value="Right"/>
|
||||
<Setter Property="Padding" Value="12,6,12,6"/>
|
||||
</Style>
|
||||
</DataGridTextColumn.ElementStyle>
|
||||
</DataGridTextColumn>
|
||||
</DataGrid.Columns>
|
||||
<DataGrid.RowStyle>
|
||||
<Style TargetType="DataGridRow" BasedOn="{StaticResource RowDataGrid_CustomHighLight}"/>
|
||||
</DataGrid.RowStyle>
|
||||
<DataGrid.InputBindings>
|
||||
<MouseBinding MouseAction="LeftDoubleClick" Command="{Binding DataContext.DoubleClick_Command, RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}"/>
|
||||
</DataGrid.InputBindings>
|
||||
</DataGrid>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</Grid>
|
||||
<Grid Grid.Row="2"
|
||||
Margin="5,5,5,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Margin="5,5,5,5"
|
||||
Text="{Binding FileName_Msg}"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Margin="2.5,2.5,2.5,5"
|
||||
TextAlignment="Left"
|
||||
HorizontalAlignment="Stretch"
|
||||
Text="{Binding sSaveFileName}"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<ComboBox Grid.Column="2"
|
||||
IsSynchronizedWithCurrentItem="True"
|
||||
ItemsSource="{Binding FilterList}"
|
||||
SelectedItem="{Binding SelFilter}"
|
||||
DisplayMemberPath="sNameExstension"
|
||||
HorizontalAlignment="Right"
|
||||
Width="200"
|
||||
Height="30"
|
||||
Margin="10,2.5,2.5,5"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
</Grid>
|
||||
<UniformGrid Grid.Row="3"
|
||||
Rows="1"
|
||||
Margin="2.5,0,2.5,0">
|
||||
<Button IsDefault="True"
|
||||
Content="OK"
|
||||
Command="{Binding Ok_Command}"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="15,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
@@ -0,0 +1,104 @@
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Public Class EgtManageFileDialogV
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Private WithEvents m_EgtManageFileDialogVM As EgtManageFileDialogVM
|
||||
|
||||
Private Shadows DialogResult As DialogResult
|
||||
|
||||
''' <summary>
|
||||
''' Stringa che specifica il titolo da mostrare
|
||||
''' </summary>
|
||||
Public Overloads Property Title As String
|
||||
Get
|
||||
Return m_EgtManageFileDialogVM.sTitle
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_EgtManageFileDialogVM.sTitle = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Filter As String
|
||||
Get
|
||||
Return m_EgtManageFileDialogVM.sFilter
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_EgtManageFileDialogVM.sFilter = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property InitialDirectory As String
|
||||
Get
|
||||
Return m_EgtManageFileDialogVM.sInitialDirectory
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_EgtManageFileDialogVM.sInitialDirectory = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property FileName As String
|
||||
Get
|
||||
Return m_EgtManageFileDialogVM.sFileName
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_EgtManageFileDialogVM.sFileName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property FilterIndex As Integer
|
||||
Get
|
||||
Return m_EgtManageFileDialogVM.nFilterIndex
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_EgtManageFileDialogVM.nFilterIndex = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property Mode As Integer
|
||||
Get
|
||||
Return m_EgtManageFileDialogVM.nMode
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_EgtManageFileDialogVM.nMode = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New(Owner As Window, EgtManageFileDialogVM As EgtManageFileDialogVM)
|
||||
MyBase.New(Owner)
|
||||
InitializeComponent()
|
||||
Me.DataContext = EgtManageFileDialogVM
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
m_EgtManageFileDialogVM = EgtManageFileDialogVM
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "EVENTS"
|
||||
|
||||
Private Sub CloseWindow(DialogResult As MessageBoxResult) Handles m_EgtManageFileDialogVM.m_CloseWindow
|
||||
Me.DialogResult = DialogResult
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Public Overloads Function ShowDialog() As DialogResult
|
||||
MyBase.ShowDialog()
|
||||
Return Me.DialogResult
|
||||
End Function
|
||||
|
||||
Private Sub ListBoxItem_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs)
|
||||
m_EgtManageFileDialogVM.MouseDoubleClick()
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,882 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.IO
|
||||
Imports System.Windows.Forms
|
||||
Imports EgtWPFLib5
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class EgtManageFileDialogVM
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Public Enum VisualizationContainerType As Integer
|
||||
LISTBOX = 0
|
||||
DATAGRID = 1
|
||||
End Enum
|
||||
|
||||
Public Enum VisualizationType As Integer
|
||||
LISTTEMPLATE = 0
|
||||
TILESTEMPLATE = 1
|
||||
CONTENTTEMPLATE = 2
|
||||
DETAILSTEMPLATE = 3
|
||||
End Enum
|
||||
|
||||
Public Enum ModeTypes As Integer
|
||||
FILE = 1
|
||||
FOLDER = 2
|
||||
End Enum
|
||||
|
||||
Private m_sTitle As String
|
||||
Public Property sTitle As String
|
||||
Get
|
||||
Return m_sTitle
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sTitle = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Scelta della modalità di salvataggio 1 = file 2 = folder
|
||||
Private m_nMode As Integer
|
||||
Public Property nMode As Integer
|
||||
Get
|
||||
Return m_nMode
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nMode = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_RootList As New ObservableCollection(Of EgtDirectory)
|
||||
Public Property RootList As ObservableCollection(Of EgtDirectory)
|
||||
Get
|
||||
Return m_RootList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of EgtDirectory))
|
||||
m_RootList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public m_SelTreeItem As EgtDirectory
|
||||
Public Property SelTreeItem As EgtDirectory
|
||||
Get
|
||||
Return m_SelTreeItem
|
||||
End Get
|
||||
Set(value As EgtDirectory)
|
||||
m_SelTreeItem = value
|
||||
NotifyPropertyChanged(NameOf(SelTreeItem))
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub UpdateSelTreeItem(Item As EgtDirectory)
|
||||
m_SelTreeItem = Item
|
||||
NotifyPropertyChanged(NameOf(SelTreeItem))
|
||||
End Sub
|
||||
|
||||
Public m_ItemSelected As EgtDirectory
|
||||
Public Property ItemSelected As EgtDirectory
|
||||
Get
|
||||
Return m_ItemSelected
|
||||
End Get
|
||||
Set(value As EgtDirectory)
|
||||
m_ItemSelected = value
|
||||
Dim Item As EgtItem = TryCast(m_ItemSelected, EgtItem)
|
||||
If Not IsNothing(Item) Then
|
||||
sSaveFileName = Item.sName
|
||||
Else
|
||||
Dim Folder As EgtFolder = TryCast(m_ItemSelected, EgtFolder)
|
||||
If Not IsNothing(Folder) Then
|
||||
sSaveFileName = Folder.sName
|
||||
End If
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetItemSelected(value As EgtDirectory)
|
||||
m_ItemSelected = value
|
||||
NotifyPropertyChanged(NameOf(ItemSelected))
|
||||
End Sub
|
||||
|
||||
'Percorso del file o della cartella
|
||||
Private m_sSelPath As String
|
||||
Public Overloads Property sSelPath As String
|
||||
Get
|
||||
Return m_sSelPath
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sSelPath = value
|
||||
NotifyPropertyChanged(NameOf(sSelPath))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Textbox per visualizzare il file o la folder selezionata
|
||||
Private m_sSaveFileName As String
|
||||
Public Property sSaveFileName As String
|
||||
Get
|
||||
Return m_sSaveFileName
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sSaveFileName = value
|
||||
NotifyPropertyChanged(NameOf(sSaveFileName))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Lista filtri estensione
|
||||
Private m_FilterList As ObservableCollection(Of EgtExstension)
|
||||
Public Property FilterList As ObservableCollection(Of EgtExstension)
|
||||
Get
|
||||
Return m_FilterList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of EgtExstension))
|
||||
m_FilterList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Scelta filtro estensione per visualizzazione
|
||||
Public m_SelFilter As EgtExstension
|
||||
Public Property SelFilter As EgtExstension
|
||||
Get
|
||||
Return m_SelFilter
|
||||
End Get
|
||||
Set(value As EgtExstension)
|
||||
m_SelFilter = value
|
||||
Dim CurrItem As EgtFolder = TryCast(m_SelTreeItem, EgtFolder)
|
||||
If Not IsNothing(CurrItem) Then
|
||||
CollectionViewSource.GetDefaultView(CurrItem.FolderList).Refresh()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Lista modalita' di visualizzazione
|
||||
Private m_ViewModeList As ObservableCollection(Of IdNameStruct)
|
||||
Public Property ViewModeList As ObservableCollection(Of IdNameStruct)
|
||||
Get
|
||||
Return m_ViewModeList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of IdNameStruct))
|
||||
m_ViewModeList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Scelta modalita' di visualizzazione
|
||||
Private m_SelViewMode As IdNameStruct
|
||||
Public Property SelViewMode As IdNameStruct
|
||||
Get
|
||||
Return m_SelViewMode
|
||||
End Get
|
||||
Set(value As IdNameStruct)
|
||||
m_SelViewMode = value
|
||||
Select Case m_SelViewMode.Id
|
||||
Case VisualizationType.LISTTEMPLATE
|
||||
m_nSelTab = VisualizationContainerType.LISTBOX
|
||||
nSelTempleteListView = 0
|
||||
WriteMainPrivateProfileString(S_TEMPLETESEL, K_CURRTEMPLETESEL, VisualizationType.LISTTEMPLATE)
|
||||
Case VisualizationType.TILESTEMPLATE
|
||||
m_nSelTab = VisualizationContainerType.LISTBOX
|
||||
nSelTempleteListView = 1
|
||||
WriteMainPrivateProfileString(S_TEMPLETESEL, K_CURRTEMPLETESEL, VisualizationType.TILESTEMPLATE)
|
||||
Case VisualizationType.CONTENTTEMPLATE
|
||||
m_nSelTab = VisualizationContainerType.LISTBOX
|
||||
nSelTempleteListView = 2
|
||||
WriteMainPrivateProfileString(S_TEMPLETESEL, K_CURRTEMPLETESEL, VisualizationType.CONTENTTEMPLATE)
|
||||
Case VisualizationType.DETAILSTEMPLATE
|
||||
m_nSelTab = VisualizationContainerType.DATAGRID
|
||||
WriteMainPrivateProfileString(S_TEMPLETESEL, K_CURRTEMPLETESEL, VisualizationType.DETAILSTEMPLATE)
|
||||
End Select
|
||||
NotifyPropertyChanged(NameOf(nSelTab))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Indice modalita' di visualizzazione
|
||||
Private m_nSelViewModeIndex As Integer
|
||||
Public Property nSelViewModeIndex As Integer
|
||||
Get
|
||||
Return m_nSelViewModeIndex
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nSelViewModeIndex = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' indice di selezione del TabControl che cambia la ListBox/DataGrid
|
||||
Private m_nSelTab As Integer
|
||||
Public Property nSelTab As Integer
|
||||
Get
|
||||
Return m_nSelTab
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nSelTab = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#Region "Initial data from window opening"
|
||||
|
||||
' Indice del filtro estensione impostato durante creazione finestra
|
||||
Private m_nFilterIndex As Integer
|
||||
Public Property nFilterIndex As Integer
|
||||
Get
|
||||
Return m_nFilterIndex
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nFilterIndex = value
|
||||
m_SelFilter = m_FilterList.FirstOrDefault(Function(x) x.nIndexExstension = m_nFilterIndex)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' lista delle estensioni impostata durante creazione finestra
|
||||
Private m_sFilter As String
|
||||
Public Property sFilter As String
|
||||
Get
|
||||
Return m_sFilter
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sFilter = value
|
||||
Dim nIndex As Integer = 1
|
||||
If Not IsNothing(sFilter) Then
|
||||
Dim FilterListSplit As String() = sFilter.Split("|"c)
|
||||
For i As Integer = 0 To FilterListSplit.Count - 1
|
||||
If i Mod 2 = 0 Then
|
||||
Dim strExstension As New EgtExstension() With {.m_nIndexExstension = nIndex, .sNameExstension = FilterListSplit(i), .sExstension = FilterListSplit(i + 1)}
|
||||
m_FilterList.Add(strExstension)
|
||||
nIndex += 1
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Path della cartella iniziale impostata durante creazione finestra
|
||||
Private m_sInitialDirectory As String
|
||||
Public Property sInitialDirectory As String
|
||||
Get
|
||||
Return m_sInitialDirectory
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sInitialDirectory = value
|
||||
m_sSaveFileName = "New.icrs"
|
||||
m_sSelPath = m_sInitialDirectory
|
||||
Dim DirectoryStart As String() = m_sInitialDirectory.Split("\"c)
|
||||
|
||||
For i As Integer = 0 To m_RootList.Count - 1
|
||||
If m_RootList(i).sName.Trim("\") = DirectoryStart(0) Then
|
||||
m_RootList(i).IsExpanded = True
|
||||
Dim CurrItem As EgtFolder = TryCast(m_RootList(i), EgtFolder)
|
||||
If Not IsNothing(CurrItem) Then
|
||||
For j As Integer = 0 To CurrItem.FolderList.Count - 1
|
||||
If CurrItem.FolderList(j).sName = DirectoryStart(1) Then
|
||||
CurrItem.FolderList(j).IsExpanded = True
|
||||
Dim ItemFolder As EgtFolder = TryCast(CurrItem.FolderList(j), EgtFolder)
|
||||
If Not IsNothing(ItemFolder) Then
|
||||
For y As Integer = 0 To ItemFolder.FolderList.Count - 1
|
||||
If ItemFolder.FolderList(y).sName = DirectoryStart(2) Then
|
||||
ItemFolder.FolderList(y).IsExpanded = True
|
||||
ItemFolder.FolderList(y).IsSelected = True
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Nome del file iniziale impostato durante creazione finestra
|
||||
Private m_sFileName As String
|
||||
Public Property sFileName As String
|
||||
Get
|
||||
Return m_sFileName
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sFileName = value
|
||||
m_sSaveFileName = m_sFileName
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Initial data from window opening
|
||||
|
||||
' Scelta per la visualizzazione del templete della lista
|
||||
Private m_nSelTempleteListView As Integer
|
||||
Public Property nSelTempleteListView As String
|
||||
Get
|
||||
Return m_nSelTempleteListView
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_nSelTempleteListView = value
|
||||
NotifyPropertyChanged(NameOf(nSelTempleteListView))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#Region "Messages"
|
||||
|
||||
Public ReadOnly Property Name_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15060)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property LastModify_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15061)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Type_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15062)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Dimension_Msg As String
|
||||
Get
|
||||
Return EgtMsg(15063)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property FileName_Msg As String
|
||||
Get
|
||||
Return If(m_nMode = ModeTypes.FILE, EgtMsg(15065), EgtMsg(15066)) ' File Name Folder Name
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
'Comandi
|
||||
Private m_cmdCancel As ICommand
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdGoBack As ICommand
|
||||
Private m_cmdDoubleClick As ICommand
|
||||
Friend Event m_CloseWindow(bDialogResult As MessageBoxResult)
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New()
|
||||
m_RootList.Clear()
|
||||
EgtDirectory.refUpdateSelTreeItem = AddressOf UpdateSelTreeItem
|
||||
Dim drives As DriveInfo() = DriveInfo.GetDrives().Where(Function(d) d.IsReady).ToArray()
|
||||
|
||||
m_FilterList = New ObservableCollection(Of EgtExstension)
|
||||
|
||||
EgtFolder.SetEgtManageFileDialogVM(Me)
|
||||
|
||||
For i As Integer = 0 To drives.Count() - 1
|
||||
Dim directory As New EgtFolder(drives(i).RootDirectory, Nothing, "\Resources\EgtDialog\Root.png")
|
||||
m_RootList.Add(directory)
|
||||
Next
|
||||
|
||||
m_SelFilter = New EgtExstension()
|
||||
SetVisualizzationList()
|
||||
|
||||
Dim IndexTemplete As Integer = GetMainPrivateProfileInt(S_TEMPLETESEL, K_CURRTEMPLETESEL, VisualizationContainerType.DATAGRID)
|
||||
|
||||
SelViewMode = m_ViewModeList.FirstOrDefault(Function(x) x.Id = IndexTemplete)
|
||||
'If IndexTemplete = 3 Then
|
||||
' m_nSelTab = VisualizationContainerType.DATAGRID
|
||||
'Else
|
||||
' nSelTempleteListView = IndexTemplete
|
||||
'End If
|
||||
|
||||
NotifyPropertyChanged(NameOf(RootList))
|
||||
NotifyPropertyChanged(NameOf(FilterList))
|
||||
NotifyPropertyChanged(NameOf(ViewModeList))
|
||||
NotifyPropertyChanged(NameOf(FileName_Msg))
|
||||
NotifyPropertyChanged(NameOf(SelViewMode))
|
||||
End Sub
|
||||
|
||||
#End Region ' CONTRUCTORS
|
||||
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
'Private Function RootListFilter(CurrItem As Object) As Boolean
|
||||
' Return TypeOf CurrItem Is EgtFolder
|
||||
'End Function
|
||||
|
||||
''' <summary>
|
||||
''' Inizializza la ComboBox per la scelta dei template
|
||||
''' </summary>
|
||||
Private Sub SetVisualizzationList()
|
||||
m_ViewModeList = New ObservableCollection(Of IdNameStruct)
|
||||
Dim ItemVisualization As New IdNameStruct With {
|
||||
.Id = 0,
|
||||
.Name = EgtMsg(15067) 'List Templete
|
||||
}
|
||||
m_ViewModeList.Add(ItemVisualization)
|
||||
ItemVisualization.Id = 3
|
||||
ItemVisualization.Name = EgtMsg(15068) 'Detalis Templete
|
||||
m_ViewModeList.Add(ItemVisualization)
|
||||
ItemVisualization.Id = 1
|
||||
ItemVisualization.Name = EgtMsg(15069) 'Tiles Templete
|
||||
m_ViewModeList.Add(ItemVisualization)
|
||||
ItemVisualization.Id = 2
|
||||
ItemVisualization.Name = EgtMsg(15070) 'Content Templete
|
||||
m_ViewModeList.Add(ItemVisualization)
|
||||
End Sub
|
||||
|
||||
'Private Sub Directory_PropertyChanged(sender As Object, e As PropertyChangedEventArgs)
|
||||
' If e.PropertyName = "IsSelected" Then
|
||||
' 'UpdateSelRoot()
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#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()
|
||||
Dim CurrItem As EgtItem = TryCast(m_ItemSelected, EgtItem)
|
||||
If nMode = ModeTypes.FILE Then
|
||||
If Not IsNothing(CurrItem) Then
|
||||
m_sFileName = m_SelTreeItem.sFullName
|
||||
Else
|
||||
m_sFileName = m_SelTreeItem.sFullName & "\" & m_sSaveFileName
|
||||
End If
|
||||
ElseIf nMode = ModeTypes.FOLDER Then
|
||||
m_sFileName = m_SelTreeItem.sFullName
|
||||
End If
|
||||
RaiseEvent m_CloseWindow(DialogResult.OK)
|
||||
End Sub
|
||||
#End Region 'Ok
|
||||
|
||||
#Region "GoBack"
|
||||
|
||||
Public ReadOnly Property GoBack_Command As ICommand
|
||||
Get
|
||||
If m_cmdGoBack Is Nothing Then
|
||||
m_cmdGoBack = New Command(AddressOf GoBack)
|
||||
End If
|
||||
Return m_cmdGoBack
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub GoBack()
|
||||
If Not IsNothing(m_SelTreeItem) AndAlso Not IsNothing(m_SelTreeItem.m_ParentFolder) Then
|
||||
If TypeOf m_SelTreeItem.m_ParentFolder Is EgtFolder Then
|
||||
Dim CurrParentFolder As EgtFolder = DirectCast(m_SelTreeItem.m_ParentFolder, EgtFolder)
|
||||
CurrParentFolder.SetIsSelected(True, False)
|
||||
End If
|
||||
m_sSelPath = DirectCast(m_SelTreeItem, EgtFolder).sFullName
|
||||
NotifyPropertyChanged(NameOf(sSelPath))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region 'GoBack
|
||||
|
||||
#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()
|
||||
RaiseEvent m_CloseWindow(DialogResult.Cancel)
|
||||
End Sub
|
||||
|
||||
#End Region 'Cancel
|
||||
|
||||
#Region "DoubleClick"
|
||||
|
||||
Public ReadOnly Property DoubleClick_Command As ICommand
|
||||
Get
|
||||
If m_cmdDoubleClick Is Nothing Then
|
||||
m_cmdDoubleClick = New Command(AddressOf MouseDoubleClick)
|
||||
End If
|
||||
Return m_cmdDoubleClick
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub MouseDoubleClick()
|
||||
m_ItemSelected.IsExpanded = True
|
||||
If TypeOf m_ItemSelected Is EgtFolder Then
|
||||
Dim CurrItemSelected As EgtFolder = DirectCast(m_ItemSelected, EgtFolder)
|
||||
CurrItemSelected.SetIsSelected(True, True)
|
||||
m_sSelPath = CurrItemSelected.sFullName
|
||||
Else
|
||||
m_ItemSelected.IsSelected = True
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(sSelPath))
|
||||
End Sub
|
||||
|
||||
#End Region 'DoubleClick
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
Public Class EgtExstension
|
||||
Inherits VMBase
|
||||
|
||||
' Indice estensione
|
||||
Public m_nIndexExstension As Integer
|
||||
Public Property nIndexExstension As Integer
|
||||
Get
|
||||
Return m_nIndexExstension
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_nIndexExstension = value
|
||||
NotifyPropertyChanged(NameOf(nIndexExstension))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Nome della stringa Filter Splittata m_sNameExstension = Icarus project
|
||||
Public m_sNameExstension As String
|
||||
Public Property sNameExstension As String
|
||||
Get
|
||||
Return m_sNameExstension
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sNameExstension = value
|
||||
NotifyPropertyChanged(NameOf(sNameExstension))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Estensione della stringa Filter Splittata m_sExstension = *.icrs
|
||||
Public m_sExstension As String
|
||||
Public Property sExstension As String
|
||||
Get
|
||||
Return m_sExstension
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sExstension = value
|
||||
NotifyPropertyChanged(NameOf(sExstension))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
End Class
|
||||
|
||||
Public MustInherit Class EgtDirectory
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Friend Shared refUpdateSelTreeItem As Action(Of EgtDirectory)
|
||||
|
||||
Friend Shared m_refEgtManageFileDialogVM As EgtManageFileDialogVM
|
||||
Friend Shared Sub SetEgtManageFileDialogVM(EgtManageFileDialogVM As EgtManageFileDialogVM)
|
||||
m_refEgtManageFileDialogVM = EgtManageFileDialogVM
|
||||
End Sub
|
||||
|
||||
Protected m_bIsSelected As Boolean
|
||||
Public MustOverride Property IsSelected As Boolean
|
||||
|
||||
Protected m_bIsExpanded As Boolean
|
||||
Public Overridable Property IsExpanded As Boolean
|
||||
|
||||
Public MustOverride ReadOnly Property sFullName As String
|
||||
|
||||
Protected m_sName As String
|
||||
Public MustOverride ReadOnly Property sName As String
|
||||
|
||||
Protected m_sIconSource As String
|
||||
Public Overridable ReadOnly Property sIconSource As String
|
||||
Get
|
||||
Return m_sIconSource
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Protected m_sTypeItem As String
|
||||
Public MustOverride ReadOnly Property sTypeItem As String
|
||||
|
||||
Protected m_ghTypeItem As String
|
||||
Public Overridable ReadOnly Property ghTypeItem As String
|
||||
|
||||
Protected m_dtLastModifyDate As Date
|
||||
Public MustOverride ReadOnly Property sLastModifyDate As String
|
||||
|
||||
Public m_ParentFolder As EgtFolder
|
||||
Public Property ParentFolder As EgtFolder
|
||||
Get
|
||||
Return m_ParentFolder
|
||||
End Get
|
||||
Set(value As EgtFolder)
|
||||
m_ParentFolder = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
End Class
|
||||
|
||||
Public Class EgtFolder
|
||||
Inherits EgtDirectory
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Private m_ItemList_View As CollectionView = Nothing
|
||||
Private m_TreeItemList_ViewSource As CollectionViewSource = Nothing
|
||||
Private m_TreeItemList_View As CollectionView = Nothing
|
||||
Public ReadOnly Property TreeItemList_View As CollectionView
|
||||
Get
|
||||
Return m_TreeItemList_View
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_DirectoryInfo As DirectoryInfo
|
||||
|
||||
Private m_FolderList As New ObservableCollection(Of EgtDirectory)
|
||||
Public Property FolderList As ObservableCollection(Of EgtDirectory)
|
||||
Get
|
||||
Return m_FolderList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of EgtDirectory))
|
||||
m_FolderList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property sFullName As String
|
||||
Get
|
||||
Return m_DirectoryInfo.FullName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property sName As String
|
||||
Get
|
||||
Return m_DirectoryInfo.Name
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property sTypeItem As String
|
||||
Get
|
||||
Return EgtMsg(15064)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property sLastModifyDate As String
|
||||
Get
|
||||
Return m_DirectoryInfo.LastWriteTime.ToString("dd/MM/yyyy HH:mm:ss")
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides Property IsExpanded As Boolean
|
||||
Get
|
||||
Return m_bIsExpanded
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsExpanded = value
|
||||
NotifyPropertyChanged(NameOf(IsExpanded))
|
||||
If m_bIsExpanded Then
|
||||
SetFolderList()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Overrides Property IsSelected As Boolean
|
||||
Get
|
||||
Return m_bIsSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsSelected = value
|
||||
m_refEgtManageFileDialogVM.sSelPath = m_DirectoryInfo.FullName
|
||||
If m_bIsSelected Then
|
||||
SetFolderList()
|
||||
refUpdateSelTreeItem(Me)
|
||||
NotifyPropertyChanged(NameOf(IsSelected))
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetIsSelected(value As Boolean, bRefreshList As Boolean)
|
||||
Dim sSelListItemPath As String = ""
|
||||
If Not IsNothing(m_refEgtManageFileDialogVM.SelTreeItem) Then
|
||||
sSelListItemPath = m_refEgtManageFileDialogVM.SelTreeItem.sFullName
|
||||
End If
|
||||
m_bIsSelected = value
|
||||
m_refEgtManageFileDialogVM.sSelPath = m_DirectoryInfo.FullName
|
||||
If m_bIsSelected Then
|
||||
If bRefreshList Then SetFolderList()
|
||||
refUpdateSelTreeItem(Me)
|
||||
End If
|
||||
If Not IsNothing(sSelListItemPath) Then
|
||||
Dim SelFolderItem As EgtDirectory = m_FolderList.FirstOrDefault(Function(x) x.sFullName = sSelListItemPath)
|
||||
If Not IsNothing(SelFolderItem) Then
|
||||
m_refEgtManageFileDialogVM.SetItemSelected(SelFolderItem)
|
||||
End If
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(IsSelected))
|
||||
End Sub
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New()
|
||||
End Sub
|
||||
|
||||
Sub New(DirectoryInfo As DirectoryInfo, Parent As EgtDirectory, Optional IconSource As String = "\Resources\EgtDialog\Folder.png")
|
||||
m_DirectoryInfo = DirectoryInfo
|
||||
m_sIconSource = IconSource
|
||||
Try
|
||||
If DirectoryInfo.EnumerateDirectories.Count > 0 Then
|
||||
m_FolderList.Add(New EgtFolder())
|
||||
End If
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
m_ParentFolder = Parent
|
||||
|
||||
m_ItemList_View = CollectionViewSource.GetDefaultView(m_FolderList)
|
||||
m_ItemList_View.Filter = AddressOf ItemFilter
|
||||
m_TreeItemList_ViewSource = New CollectionViewSource() With {.Source = m_FolderList}
|
||||
m_TreeItemList_View = m_TreeItemList_ViewSource.View
|
||||
m_TreeItemList_View.Filter = AddressOf TreeItemListFilter
|
||||
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
NotifyPropertyChanged(NameOf(sLastModifyDate))
|
||||
NotifyPropertyChanged(NameOf(sTypeItem))
|
||||
NotifyPropertyChanged(NameOf(sIconSource))
|
||||
NotifyPropertyChanged(NameOf(FolderList))
|
||||
NotifyPropertyChanged(NameOf(ParentFolder))
|
||||
End Sub
|
||||
|
||||
#End Region ' CONTRUCTORS
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per la visualizzazione delle sole cartelle nell'albero TreeView
|
||||
''' </summary>
|
||||
''' <param name="CurrItem"></param>
|
||||
''' <returns></returns>
|
||||
Private Function TreeItemListFilter(CurrItem As Object) As Boolean
|
||||
Return TypeOf CurrItem Is EgtFolder
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per il controllo del filtro per i singoli Item se l'estensione scelta e' .icrs verrano visualizzati tutti i file con l'estensione .icrs
|
||||
''' </summary>
|
||||
''' <param name="Item"></param>
|
||||
''' <returns></returns>
|
||||
Private Function ItemFilter(Item As Object) As Boolean
|
||||
Dim CurrItem As EgtItem = TryCast(Item, EgtItem)
|
||||
If Not IsNothing(CurrItem) AndAlso Not IsNothing(m_refEgtManageFileDialogVM.m_SelFilter.m_sExstension) Then
|
||||
If CurrItem.sTypeItem = m_refEgtManageFileDialogVM.m_SelFilter.m_sExstension.TrimStart("*") Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per popolare la lista FolderList
|
||||
''' </summary>
|
||||
Private Sub SetFolderList()
|
||||
Dim DirectoryList() As DirectoryInfo
|
||||
Dim FileList() As FileInfo
|
||||
Try
|
||||
DirectoryList = m_DirectoryInfo.GetDirectories().Where(Function(file) (file.Attributes And FileAttributes.Hidden And file.Name <> EgtMsg(15071)) = 0).ToArray()
|
||||
FileList = m_DirectoryInfo.GetFiles().Where(Function(file) (file.Attributes And FileAttributes.Hidden) = 0).ToArray()
|
||||
Catch ex As Exception
|
||||
DirectoryList = Nothing
|
||||
FileList = Nothing
|
||||
End Try
|
||||
m_FolderList.Clear()
|
||||
If Not IsNothing(DirectoryList) AndAlso m_FolderList.Count = 0 Then
|
||||
For Each subDir As DirectoryInfo In DirectoryList
|
||||
Dim directory As New EgtFolder(subDir, Me)
|
||||
m_FolderList.Add(directory)
|
||||
Next
|
||||
End If
|
||||
If Not IsNothing(FileList) Then
|
||||
For Each files As FileInfo In FileList
|
||||
Dim file As New EgtItem(files)
|
||||
m_FolderList.Add(file)
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
|
||||
Public Class EgtItem
|
||||
Inherits EgtDirectory
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Private m_FileInfo As FileInfo
|
||||
|
||||
Public Overrides ReadOnly Property sFullName As String
|
||||
Get
|
||||
Return m_FileInfo.FullName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property sName As String
|
||||
Get
|
||||
Return m_FileInfo.Name
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property sTypeItem As String
|
||||
Get
|
||||
If Not IsNothing(m_FileInfo) AndAlso Not IsNothing(m_FileInfo.Extension) AndAlso Not String.IsNullOrWhiteSpace(m_FileInfo.Extension) Then
|
||||
Return m_FileInfo.Extension
|
||||
Else
|
||||
Return ""
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property ghTypeItem As String
|
||||
Get
|
||||
Return If(Not String.IsNullOrWhiteSpace(sTypeItem), "File " & sTypeItem.ToUpper(), "")
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property sDimension As String
|
||||
Get
|
||||
Return If(m_FileInfo.Length / 1024 / 1024 > 1, String.Format("{0:#,##0.00}", m_FileInfo.Length / 1024 / 1024) & " Mb", String.Format("{0:#,##0.00}", m_FileInfo.Length / 1024) & " Kb")
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides ReadOnly Property sLastModifyDate As String
|
||||
Get
|
||||
Return m_FileInfo.LastWriteTime.ToString("dd/MM/yyyy HH:mm:ss")
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overrides Property IsSelected As Boolean
|
||||
Get
|
||||
Return m_bIsSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsSelected = value
|
||||
refUpdateSelTreeItem(Me)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New(FileInfo As FileInfo)
|
||||
m_FileInfo = FileInfo
|
||||
m_sIconSource = "\Resources\EgtDialog\New.png"
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
NotifyPropertyChanged(NameOf(sDimension))
|
||||
NotifyPropertyChanged(NameOf(sLastModifyDate))
|
||||
NotifyPropertyChanged(NameOf(sTypeItem))
|
||||
NotifyPropertyChanged(NameOf(sIconSource))
|
||||
End Sub
|
||||
|
||||
#End Region ' CONTRUCTORS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="EgtMessageBoxV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="{Binding sTitle}"
|
||||
SizeToContent="WidthAndHeight"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Style="{StaticResource Dialog_Window}">
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Margin="20,20,20,20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image Source="{Binding sIconSource}"
|
||||
Margin="0,0,0,0"/>
|
||||
<TextBlock Grid.Column="1"
|
||||
Text="{Binding sMessage}"
|
||||
Margin="5,0,5,0"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
</Grid>
|
||||
<ItemsControl Grid.Row="1"
|
||||
ItemsSource="{Binding ButtonList}"
|
||||
HorizontalAlignment="Center">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Rows="1"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Button IsDefault="{Binding bIsDefault}"
|
||||
Content="{Binding sMessage}"
|
||||
Command="{Binding Command_Command}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
|
||||
</ItemsControl>
|
||||
<!--<UniformGrid Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Rows="1">
|
||||
<Button IsCancel="True"
|
||||
Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
</UniformGrid>-->
|
||||
</Grid>
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
Public Class EgtMessageBoxV
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Private WithEvents m_EgtMessageBoxVM As EgtMessageBoxVM
|
||||
|
||||
Private Shadows DialogResult As MessageBoxResult
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New(Owner As Window, EgtMessageBoxVM As EgtMessageBoxVM)
|
||||
MyBase.New(Owner)
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
Me.DataContext = EgtMessageBoxVM
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
m_EgtMessageBoxVM = EgtMessageBoxVM
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
''' <summary>
|
||||
''' Apre una EgtMessageBox con un messaggio che ritorna un risultato
|
||||
''' </summary>
|
||||
''' <param name="Owner">Finestra di appartenenza</param>
|
||||
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
|
||||
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
|
||||
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String) As MessageBoxResult
|
||||
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText))
|
||||
NewMessagebox.ShowDialog()
|
||||
Return NewMessagebox.DialogResult
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Apre una EgtMessageBox con un titolo ed un messaggio che ritorna un risultato
|
||||
''' </summary>
|
||||
''' <param name="Owner">Finestra di appartenenza</param>
|
||||
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
|
||||
''' <param name="sCaption">Stringa che specifica il titolo da mostrare</param>
|
||||
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
|
||||
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String) As MessageBoxResult
|
||||
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption))
|
||||
NewMessagebox.ShowDialog()
|
||||
Return NewMessagebox.DialogResult
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Apre una EgtMessageBox con un titolo ed un messaggio che ritorna un risultato
|
||||
''' </summary>
|
||||
''' <param name="Owner">Finestra di appartenenza</param>
|
||||
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
|
||||
''' <param name="sCaption">Stringa che specifica il titolo da mostrare</param>
|
||||
''' <param name="Button">Valore che specifica quali bottoni mostrare</param>
|
||||
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
|
||||
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String, Button As MessageBoxButton) As MessageBoxResult
|
||||
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption, Button))
|
||||
NewMessagebox.ShowDialog()
|
||||
Return NewMessagebox.DialogResult
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Apre una EgtMessageBox con un titolo ed un messaggio che ritorna un risultato
|
||||
''' </summary>
|
||||
''' <param name="Owner">Finestra di appartenenza</param>
|
||||
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
|
||||
''' <param name="sCaption">Stringa che specifica il titolo da mostrare</param>
|
||||
''' <param name="Button">Valore che specifica quali bottoni mostrare</param>
|
||||
''' <param name="Icon">Valore che specifica quale icona mostrare</param>
|
||||
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
|
||||
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage) As MessageBoxResult
|
||||
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption, Button, Icon))
|
||||
NewMessagebox.ShowDialog()
|
||||
Return NewMessagebox.DialogResult
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Apre una EgtMessageBox con un titolo ed un messaggio che ritorna un risultato
|
||||
''' </summary>
|
||||
''' <param name="Owner">Finestra di appartenenza</param>
|
||||
''' <param name="sMessageBoxText">Stringa che specifica il messaggio da mostrare</param>
|
||||
''' <param name="sCaption">Stringa che specifica il titolo da mostrare</param>
|
||||
''' <param name="Button">Valore che specifica quali bottoni mostrare</param>
|
||||
''' <param name="Icon">Valore che specifica quale icona mostrare</param>
|
||||
''' <param name="DefaultResult">Valore che specifica il bottone di default</param>
|
||||
''' <returns>Valore che specifica quale bottone e' stato premuto dall'utente</returns>
|
||||
Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage, DefaultResult As MessageBoxResult) As MessageBoxResult
|
||||
Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption, Button, Icon, DefaultResult))
|
||||
NewMessagebox.ShowDialog()
|
||||
Return NewMessagebox.DialogResult
|
||||
End Function
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "EVENTS"
|
||||
|
||||
Private Sub CloseWindow(DialogResult As MessageBoxResult) Handles m_EgtMessageBoxVM.m_CloseWindow
|
||||
Me.DialogResult = DialogResult
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,236 @@
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class EgtMessageBoxVM
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Friend Event m_CloseWindow(DialogResult As MessageBoxResult)
|
||||
|
||||
Private m_sTitle As String = ""
|
||||
Public ReadOnly Property sTitle As String
|
||||
Get
|
||||
Return m_sTitle
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sMessage As String = ""
|
||||
Public ReadOnly Property sMessage As String
|
||||
Get
|
||||
Return m_sMessage
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_Button As MessageBoxButton
|
||||
|
||||
Private m_Icon As MessageBoxImage
|
||||
Public ReadOnly Property sIconSource As String
|
||||
Get
|
||||
Select Case m_Icon
|
||||
Case MessageBoxImage.Hand
|
||||
Return "\Resources\EgtMessageBox\Error.png"
|
||||
Case MessageBoxImage.Question
|
||||
Return "\Resources\EgtMessageBox\Question.png"
|
||||
Case MessageBoxImage.Exclamation
|
||||
Return "\Resources\EgtMessageBox\Warning.png"
|
||||
Case MessageBoxImage.Asterisk
|
||||
Return "\Resources\EgtMessageBox\Information.png"
|
||||
Case MessageBoxImage.Stop
|
||||
Return "\Resources\EgtMessageBox\Error.png"
|
||||
Case MessageBoxImage.Error
|
||||
Return "\Resources\EgtMessageBox\Error.png"
|
||||
Case MessageBoxImage.Warning
|
||||
Return "\Resources\EgtMessageBox\Warning.png"
|
||||
Case MessageBoxImage.Information
|
||||
Return "\Resources\EgtMessageBox\Information.png"
|
||||
Case Else ' MessageBoxImage.None
|
||||
Return ""
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_ButtonList As New List(Of EgtMsgBoxButton)
|
||||
Public Property ButtonList As List(Of EgtMsgBoxButton)
|
||||
Get
|
||||
Return m_ButtonList
|
||||
End Get
|
||||
Set(value As List(Of EgtMsgBoxButton))
|
||||
m_ButtonList = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New(sMessageBoxText As String)
|
||||
EgtMsgBoxButton.SetOwner(Me)
|
||||
m_sMessage = sMessageBoxText
|
||||
m_Button = MessageBoxButton.OK
|
||||
m_Icon = MessageBoxImage.None
|
||||
NotifyPropertyChanged(NameOf(ButtonList))
|
||||
NotifyPropertyChanged(NameOf(sIconSource))
|
||||
End Sub
|
||||
|
||||
Sub New(sMessageBoxText As String, sCaption As String)
|
||||
MyClass.New(sMessageBoxText)
|
||||
m_sTitle = sCaption
|
||||
End Sub
|
||||
|
||||
Sub New(sMessageBoxText As String, sCaption As String, Button As MessageBoxButton)
|
||||
MyClass.New(sMessageBoxText, sCaption)
|
||||
m_Button = Button
|
||||
Select Case m_Button
|
||||
Case MessageBoxButton.OK
|
||||
m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.OK))
|
||||
Case MessageBoxButton.OKCancel
|
||||
m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.OK))
|
||||
m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.CANCEL))
|
||||
Case MessageBoxButton.YesNoCancel
|
||||
m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.YES))
|
||||
m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.NO))
|
||||
m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.CANCEL))
|
||||
Case MessageBoxButton.YesNo
|
||||
m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.YES))
|
||||
m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.NO))
|
||||
End Select
|
||||
NotifyPropertyChanged(NameOf(ButtonList))
|
||||
End Sub
|
||||
|
||||
Sub New(sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage)
|
||||
MyClass.New(sMessageBoxText, sCaption, Button)
|
||||
m_Icon = Icon
|
||||
NotifyPropertyChanged(NameOf(sIconSource))
|
||||
End Sub
|
||||
|
||||
Sub New(sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage, DefaultResult As MessageBoxResult)
|
||||
MyClass.New(sMessageBoxText, sCaption, Button, Icon)
|
||||
Dim DefaultBtn As EgtMsgBoxButton = m_ButtonList.FirstOrDefault(Function(x) (x.Type = EgtMsgBoxButton.Types.OK AndAlso DefaultResult = MessageBoxResult.OK) OrElse
|
||||
(x.Type = EgtMsgBoxButton.Types.CANCEL AndAlso DefaultResult = MessageBoxResult.Cancel) OrElse
|
||||
(x.Type = EgtMsgBoxButton.Types.YES AndAlso DefaultResult = MessageBoxResult.Yes) OrElse
|
||||
(x.Type = EgtMsgBoxButton.Types.NO AndAlso DefaultResult = MessageBoxResult.No))
|
||||
If Not IsNothing(DefaultBtn) Then
|
||||
DefaultBtn.SetIsDefault(True)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(ButtonList))
|
||||
End Sub
|
||||
|
||||
#End Region ' CONTRUCTORS
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Sub CloseWindow(DialogResult As MessageBoxResult)
|
||||
RaiseEvent m_CloseWindow(DialogResult)
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Public Class EgtMsgBoxButton
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Public Enum Types As Integer
|
||||
OK = 1
|
||||
CANCEL = 2
|
||||
YES = 3
|
||||
NO = 4
|
||||
End Enum
|
||||
|
||||
Private Shared Owner As EgtMessageBoxVM
|
||||
|
||||
Private m_Type As Types
|
||||
Public ReadOnly Property Type As Types
|
||||
Get
|
||||
Return m_Type
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sMessage As String
|
||||
Public ReadOnly Property sMessage As String
|
||||
Get
|
||||
Return m_sMessage
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bIsDefault As Boolean = False
|
||||
Public ReadOnly Property bIsDefault As Boolean
|
||||
Get
|
||||
Return m_bIsDefault
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetIsDefault(bValue As Boolean)
|
||||
m_bIsDefault = bValue
|
||||
End Sub
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdCommand As ICommand
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "CONTRUCTORS"
|
||||
|
||||
Sub New(Type As Types)
|
||||
m_Type = Type
|
||||
Select Case m_Type
|
||||
Case Types.OK
|
||||
m_sMessage = EgtMsg(35001)
|
||||
Case Types.CANCEL
|
||||
m_sMessage = EgtMsg(35002)
|
||||
Case Types.YES
|
||||
m_sMessage = EgtMsg(35003)
|
||||
Case Types.NO
|
||||
m_sMessage = EgtMsg(35004)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Sub New(Type As Types, bIsDefault As Boolean)
|
||||
MyClass.New(Type)
|
||||
m_bIsDefault = bIsDefault
|
||||
End Sub
|
||||
|
||||
#End Region ' CONTRUCTORS
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Shared Sub SetOwner(value As EgtMessageBoxVM)
|
||||
Owner = value
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "Command"
|
||||
|
||||
Public ReadOnly Property Command_Command As ICommand
|
||||
Get
|
||||
If m_cmdCommand Is Nothing Then
|
||||
m_cmdCommand = New Command(AddressOf Command)
|
||||
End If
|
||||
Return m_cmdCommand
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Command()
|
||||
Select Case m_Type
|
||||
Case Types.OK
|
||||
Owner.CloseWindow(MessageBoxResult.OK)
|
||||
Case Types.CANCEL
|
||||
Owner.CloseWindow(MessageBoxResult.Cancel)
|
||||
Case Types.YES
|
||||
Owner.CloseWindow(MessageBoxResult.Yes)
|
||||
Case Types.NO
|
||||
Owner.CloseWindow(MessageBoxResult.No)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
#End Region ' Command
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
@@ -35,6 +35,10 @@ Public Class FilledSolidPanelVM
|
||||
Return m_SelFilledSolid
|
||||
End Get
|
||||
Set(value As FilledSolidEntity)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse Map.refFilledSolidPanelVM.bCPlaneObj_IsActive Then
|
||||
NotifyPropertyChanged(NameOf(SelFilledSolid))
|
||||
Return
|
||||
End If
|
||||
m_SelFilledSolid = value
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(value) Then
|
||||
@@ -213,7 +217,7 @@ Public Class FilledSolidPanelVM
|
||||
Return m_bAdd_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bAdd_IsChecked = value
|
||||
If value Then
|
||||
m_bEdit_IsChecked = False
|
||||
@@ -235,7 +239,7 @@ Public Class FilledSolidPanelVM
|
||||
Return m_bEdit_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not IsNothing(m_SelFilledSolid) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not IsNothing(m_SelFilledSolid) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bEdit_IsChecked = value
|
||||
If value Then
|
||||
m_bAdd_IsChecked = False
|
||||
@@ -259,7 +263,7 @@ Public Class FilledSolidPanelVM
|
||||
Return m_bGrid_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bGrid_IsChecked = value
|
||||
If value Then
|
||||
m_bAdd_IsChecked = False
|
||||
@@ -287,7 +291,7 @@ Public Class FilledSolidPanelVM
|
||||
Return m_bMove_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not IsNothing(m_SelFilledSolid) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not IsNothing(m_SelFilledSolid) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bMove_IsChecked = value
|
||||
If value Then
|
||||
m_bAdd_IsChecked = False
|
||||
@@ -311,7 +315,7 @@ Public Class FilledSolidPanelVM
|
||||
Return m_bRotate_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not IsNothing(m_SelFilledSolid) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not IsNothing(m_SelFilledSolid) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bRotate_IsChecked = value
|
||||
If value Then
|
||||
m_bAdd_IsChecked = False
|
||||
@@ -335,7 +339,7 @@ Public Class FilledSolidPanelVM
|
||||
Return m_bMachParam_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not IsNothing(m_SelFilledSolid) AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not IsNothing(Map.refTopPanelVM.SelMachining) AndAlso value Then
|
||||
If Not IsNothing(m_SelFilledSolid) AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive AndAlso Not IsNothing(Map.refTopPanelVM.SelMachining) AndAlso value Then
|
||||
m_bMachParam_IsChecked = True
|
||||
m_bAdd_IsChecked = False
|
||||
m_bEdit_IsChecked = False
|
||||
@@ -349,6 +353,8 @@ Public Class FilledSolidPanelVM
|
||||
NotifyPropertyChanged(NameOf(bRotate_IsChecked))
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.AUXSOLIDPARAM)
|
||||
NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled))
|
||||
' disattivo interfaccia
|
||||
ManageInterface(False)
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked))
|
||||
End If
|
||||
@@ -358,6 +364,8 @@ Public Class FilledSolidPanelVM
|
||||
m_bMachParam_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(bMachParam_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled))
|
||||
' riattivo interfaccia
|
||||
ManageInterface(True)
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property Compo_Visibility As Visibility
|
||||
@@ -366,11 +374,17 @@ Public Class FilledSolidPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_FilledSolidList_IsEnabled As Boolean = False
|
||||
Public ReadOnly Property FilledSolidList_IsEnabled As Boolean
|
||||
Get
|
||||
Return Not m_bMachParam_IsChecked
|
||||
Return If(m_FilledSolidList.Count > 0, m_FilledSolidList_IsEnabled, False)
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetFilledSolidListIsEnabled(bValue As Boolean)
|
||||
m_FilledSolidList_IsEnabled = bValue
|
||||
NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled))
|
||||
End Sub
|
||||
|
||||
' riferimento griglia all'ingresso in questa pagina
|
||||
Private m_OriginalGridFrame As New Frame3d
|
||||
|
||||
@@ -388,6 +402,8 @@ Public Class FilledSolidPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bEscOnLine2P As Boolean = False
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property Import_ToolTip As String
|
||||
@@ -517,7 +533,6 @@ Public Class FilledSolidPanelVM
|
||||
Private m_cmdCPlaneObj As ICommand
|
||||
Private m_cmdDragMove As ICommand
|
||||
Private m_cmdDragRotate As ICommand
|
||||
Private m_cmdMachParam As ICommand
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
@@ -572,6 +587,8 @@ Public Class FilledSolidPanelVM
|
||||
SelFilledSolid = m_FilledSolidList(0)
|
||||
NotifyPropertyChanged(NameOf(SelFilledSolid))
|
||||
End If
|
||||
' attivo lista filled solid
|
||||
SetFilledSolidListIsEnabled(True)
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
@@ -607,8 +624,13 @@ Public Class FilledSolidPanelVM
|
||||
EgtSelectObj(m_SelFilledSolid.nCurveId)
|
||||
Case FilledSolidSelectionTypes.EXTRUSION
|
||||
' creo layer per estrusione
|
||||
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewExtrusionLayerId, LAY_NEWEXTRUSION)
|
||||
Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
|
||||
If nNewExtrusionLayerId = GDB_ID.NULL Then
|
||||
nNewExtrusionLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewExtrusionLayerId, LAY_NEWEXTRUSION)
|
||||
Else
|
||||
EgtEmptyGroup(nNewExtrusionLayerId)
|
||||
End If
|
||||
EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
|
||||
EgtSelectObj(m_SelFilledSolid.nCurveId)
|
||||
Case FilledSolidSelectionTypes.BOTH
|
||||
@@ -616,6 +638,8 @@ Public Class FilledSolidPanelVM
|
||||
EgtSelectObj(m_SelFilledSolid.nExtrusionId)
|
||||
End Select
|
||||
EgtDraw()
|
||||
' disattivo il resto dell'interfaccia
|
||||
ManageInterface(False)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
@@ -625,6 +649,7 @@ Public Class FilledSolidPanelVM
|
||||
End Sub
|
||||
|
||||
Friend Sub OnExecCmdEnd(command As Controller.CMD)
|
||||
m_bEscOnLine2P = False
|
||||
Select Case command
|
||||
Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE
|
||||
' leggo altezza estrusione
|
||||
@@ -664,6 +689,10 @@ Public Class FilledSolidPanelVM
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End Select
|
||||
' se non ho creato percorso riabilito interfaccia
|
||||
If Not m_bIsCreatingPath Then
|
||||
ManageInterface(True)
|
||||
End If
|
||||
If command <> Controller.CMD.LINE2P AndAlso command <> Controller.CMD.EXTRUDE Then Return
|
||||
' se finita creazione estrusione
|
||||
If m_bIsCreatingExtrusion Then
|
||||
@@ -706,6 +735,7 @@ Public Class FilledSolidPanelVM
|
||||
If NewGeomType = GDB_TY.CRV_COMPO Then
|
||||
If Not EgtCurveIsClosed(nNewEntityId) Then
|
||||
EgtCloseCurveCompo(nNewEntityId)
|
||||
m_bEscOnLine2P = True
|
||||
End If
|
||||
EgtSetName(nNewEntityId, RIB_CURVE)
|
||||
' resetto colore entita'
|
||||
@@ -718,9 +748,15 @@ Public Class FilledSolidPanelVM
|
||||
' lo seleziono
|
||||
SelFilledSolid = NewEntity
|
||||
NotifyPropertyChanged(NameOf(SelFilledSolid))
|
||||
' creo layer per estrusione
|
||||
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewExtrusionLayerId, LAY_NEWEXTRUSION)
|
||||
' verifico se esiste gia' layer estrusione e lo svuoto
|
||||
Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
|
||||
If nNewExtrusionLayerId <> GDB_ID.NULL Then
|
||||
EgtEmptyGroup(nNewExtrusionLayerId)
|
||||
Else
|
||||
' altrimenti lo creo
|
||||
nNewExtrusionLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewExtrusionLayerId, LAY_NEWEXTRUSION)
|
||||
End If
|
||||
EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
|
||||
' seleziono percorso da estrudere
|
||||
EgtDeselectAll()
|
||||
@@ -752,6 +788,13 @@ Public Class FilledSolidPanelVM
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End If
|
||||
' se esc su creazione percorso, lo annullo, altrimenti riabilito interfaccia
|
||||
If m_bEscOnLine2P Then
|
||||
m_bEscOnLine2P = False
|
||||
Else
|
||||
If m_bIsCreatingExtrusion Then m_bIsCreatingExtrusion = False
|
||||
ManageInterface(True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -787,6 +830,18 @@ Public Class FilledSolidPanelVM
|
||||
Return nFilledSolidIndex + 1
|
||||
End Function
|
||||
|
||||
Friend Sub ManageInterface(bValue As Boolean)
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(bValue)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(bValue)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(bValue)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(bValue)
|
||||
Map.refInstrumentPanelVM.SetInstrumentPanelIsEnabled(bValue)
|
||||
SetFilledSolidListIsEnabled(bValue)
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -809,8 +864,10 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
|
||||
''' </summary>
|
||||
Public Sub Import(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.InsertFilledSolid()
|
||||
ManageInterface(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Import
|
||||
@@ -833,7 +890,8 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
|
||||
''' </summary>
|
||||
Public Sub Line2P(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Dim nNewShellNumberLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWRIB)
|
||||
If nNewShellNumberLayerId = GDB_ID.NULL Then nNewShellNumberLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewShellNumberLayerId, LAY_NEWRIB)
|
||||
@@ -858,7 +916,7 @@ Public Class FilledSolidPanelVM
|
||||
End Property
|
||||
|
||||
Public Sub Delete()
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
If IsNothing(SelFilledSolid) Then Return
|
||||
Dim bOk As Boolean = False
|
||||
Select Case m_SelFilledSolid.Type
|
||||
@@ -882,6 +940,7 @@ Public Class FilledSolidPanelVM
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelFilledSolid))
|
||||
End If
|
||||
SetFilledSolidListIsEnabled(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Delete
|
||||
@@ -904,7 +963,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
|
||||
''' </summary>
|
||||
Public Sub ModifyCurve(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(FilledSolidSelectionTypes.CURVE)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MODIFYCURVE)
|
||||
End Sub
|
||||
@@ -929,7 +988,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
|
||||
''' </summary>
|
||||
Public Sub AddPointCurve(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(FilledSolidSelectionTypes.CURVE)
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOARC)
|
||||
@@ -958,7 +1017,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
|
||||
''' </summary>
|
||||
Public Sub RemovePointCurve(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(FilledSolidSelectionTypes.CURVE)
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOLINE)
|
||||
@@ -987,7 +1046,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the Extrude. This method is invoked by the ExtrudeCommand.
|
||||
''' </summary>
|
||||
Public Sub Extrude(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(FilledSolidSelectionTypes.EXTRUSION)
|
||||
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
|
||||
m_bIsCreatingExtrusion = True
|
||||
@@ -1015,7 +1074,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneTop(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.TOP)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1040,7 +1099,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneFront. This method is invoked by the CPlaneFrontCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneFront(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.FRONT)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1065,7 +1124,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneRight. This method is invoked by the CPlaneRightCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneRight(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.RIGHT)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1090,7 +1149,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneBack. This method is invoked by the CPlaneBackCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneBack(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.BACK)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1115,7 +1174,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneLeft. This method is invoked by the CPlaneLeftCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneLeft(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.LEFT)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1140,7 +1199,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneBottom. This method is invoked by the CPlaneBottomCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneBottom(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.BOTTOM)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1165,7 +1224,8 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneElevation. This method is invoked by the CPlaneElevationCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneElevation(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ELEVATION)
|
||||
End Sub
|
||||
|
||||
@@ -1189,7 +1249,8 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneOrigin. This method is invoked by the CPlaneOriginCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneOrigin(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ORIGIN)
|
||||
End Sub
|
||||
|
||||
@@ -1213,7 +1274,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneRotate(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) <> ModifierKeys.Shift Then
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE)
|
||||
Else
|
||||
@@ -1241,7 +1302,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlane3P(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_3P)
|
||||
End Sub
|
||||
|
||||
@@ -1265,7 +1326,7 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlanePerpObj(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_PERPCURVE)
|
||||
End Sub
|
||||
|
||||
@@ -1305,7 +1366,8 @@ Public Class FilledSolidPanelVM
|
||||
''' Execute the CPlaneObj. This method is invoked by the CPlaneObjCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneObj(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
' salvo selezione precedente e deseleziono altri oggetti
|
||||
m_PrevSelObjs.Clear()
|
||||
Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
|
||||
@@ -1315,7 +1377,7 @@ Public Class FilledSolidPanelVM
|
||||
End While
|
||||
EgtDeselectAll()
|
||||
m_bCPlaneObj_IsActive = True
|
||||
' Map.refControllerInputPanelVM.PrepareInputBox("Grid from Selection", "Select the face of the object where to place the grid", "", False, False)
|
||||
Map.refControllerInputPanelVM.ShowMessage("Grid from Selection", "Select the face of the object where to place the grid")
|
||||
End Sub
|
||||
|
||||
#End Region ' CPlaneObj
|
||||
@@ -1332,7 +1394,7 @@ Public Class FilledSolidPanelVM
|
||||
End Property
|
||||
|
||||
Public Sub DragMove()
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(FilledSolidSelectionTypes.BOTH)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MOVE)
|
||||
End Sub
|
||||
@@ -1351,41 +1413,13 @@ Public Class FilledSolidPanelVM
|
||||
End Property
|
||||
|
||||
Public Sub DragRotate()
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(FilledSolidSelectionTypes.BOTH)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.ROTATE)
|
||||
End Sub
|
||||
|
||||
#End Region ' DragRotate
|
||||
|
||||
#Region "MachParam"
|
||||
|
||||
Public ReadOnly Property MachParam_Command As ICommand
|
||||
Get
|
||||
If m_cmdMachParam Is Nothing Then
|
||||
m_cmdMachParam = New Command(AddressOf MachParam)
|
||||
End If
|
||||
Return m_cmdMachParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub MachParam()
|
||||
If IsNothing(Map.refTopPanelVM.SelMachining) Then Return
|
||||
m_bAdd_IsChecked = False
|
||||
m_bEdit_IsChecked = False
|
||||
m_bGrid_IsChecked = False
|
||||
m_bMove_IsChecked = False
|
||||
m_bRotate_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(bAdd_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bEdit_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bGrid_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bMove_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bRotate_IsChecked))
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.AUXSOLIDPARAM)
|
||||
End Sub
|
||||
|
||||
#End Region ' MachParam
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -33,7 +33,8 @@
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
@@ -57,7 +58,8 @@
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
@@ -82,18 +84,51 @@
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<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}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0"/>
|
||||
<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}"/>
|
||||
<Button Command="{Binding Ok_Command}"
|
||||
IsDefault="True"
|
||||
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>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
@@ -42,17 +42,34 @@ Public Class FilledSolidParamPanelVM
|
||||
|
||||
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)})
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDWIDTH, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidCheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETLEADPOINT, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDENSITY, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSGRIDOVERLAP, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDIRECTION, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETX, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETY, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nFilledSolidId, nPartId, Me)})
|
||||
NotifyPropertyChanged(NameOf(MachiningParamList))
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
' verifico dipendenze tra parametri
|
||||
Select Case m_Type
|
||||
Case Cathegories.AUX_SOLID
|
||||
For Each Param In {MachiningParam.Params.AUXSOLIDSINFILL}
|
||||
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Sub SaveCurrParams()
|
||||
@@ -178,10 +195,18 @@ Public Class FilledSolidNumericMachiningParam
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nFilledSolidId As Integer, nPartId As Integer)
|
||||
MyBase.New(Type)
|
||||
Sub New(Type As Params, nFilledSolidId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, Cathegory)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSSTRANDWIDTH
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDWIDTH, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, m_dPartValue)
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, m_dPartValue)
|
||||
@@ -194,6 +219,30 @@ Public Class FilledSolidNumericMachiningParam
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSOFFSETLEADPOINT
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETLEADPOINT, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSDENSITY
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSDENSITY, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSGRIDOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSGRIDOVERLAP, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSDIRECTION
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSDIRECTION, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSOFFSETX
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETX, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSOFFSETY
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETY, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSCOASTINGLEN
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSCOASTINGLEN, m_dPartValue)
|
||||
@@ -222,6 +271,18 @@ Public Class FilledSolidNumericMachiningParam
|
||||
sWriteValue = DoubleToString(m_dValue, 2)
|
||||
End If
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSSTRANDWIDTH
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH)
|
||||
End If
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT)
|
||||
End If
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, sWriteValue)
|
||||
@@ -240,6 +301,42 @@ Public Class FilledSolidNumericMachiningParam
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE)
|
||||
End If
|
||||
Case Params.AUXSOLIDSOFFSETLEADPOINT
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT)
|
||||
End If
|
||||
Case Params.AUXSOLIDSDENSITY
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY)
|
||||
End If
|
||||
Case Params.AUXSOLIDSGRIDOVERLAP
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP)
|
||||
End If
|
||||
Case Params.AUXSOLIDSDIRECTION
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION)
|
||||
End If
|
||||
Case Params.AUXSOLIDSOFFSETX
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX)
|
||||
End If
|
||||
Case Params.AUXSOLIDSOFFSETY
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY)
|
||||
End If
|
||||
Case Params.AUXSOLIDSCOASTINGLEN
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue)
|
||||
@@ -305,6 +402,7 @@ Public Class FilledSolidComboMachiningParam
|
||||
m_SelValue = value
|
||||
NotifyPropertyChanged(NameOf(SelValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
ManageDependencyParam()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -324,15 +422,20 @@ Public Class FilledSolidComboMachiningParam
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nRibId As Integer, nPartId As Integer)
|
||||
MyBase.New(Type)
|
||||
Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, Cathegory)
|
||||
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")})
|
||||
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"),
|
||||
New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")})
|
||||
Dim nSelValue As Integer = 1
|
||||
bReadFromRib = EgtGetInfo(nRibId, MAC_AUXSOLIDSINFILL, nSelValue)
|
||||
If bReadFromRib Then
|
||||
@@ -370,7 +473,7 @@ Public Class FilledSolidComboMachiningParam
|
||||
Else
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_INFILL.NONE)
|
||||
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_INFILL_TYPE.NONE)
|
||||
m_SelValue = m_OrigSelValue
|
||||
Case Params.AUXSOLIDSSTRANDORDER
|
||||
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_STRANDORDERS.OUTTOIN)
|
||||
@@ -438,4 +541,95 @@ Public Class FilledSolidComboMachiningParam
|
||||
#End Region ' COMMANDS
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Public Class FilledSolidCheckMachiningParam
|
||||
Inherits CheckMachiningParam
|
||||
|
||||
Public Overrides Property bValue As Boolean
|
||||
Get
|
||||
Return m_bValue
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bValue = value
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected m_bPartValue As Boolean
|
||||
Public ReadOnly Property bPartValue As Boolean
|
||||
Get
|
||||
Return m_bPartValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bIsModifiedFromPart As Boolean
|
||||
Get
|
||||
Return m_bValue <> m_bPartValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nAuxSolidId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, Cathegory)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
bReadFromPart = EgtGetInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK, m_bValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, m_bPartValue)
|
||||
End Select
|
||||
m_bOrigValue = m_bValue
|
||||
If Not bReadFromPart Then
|
||||
m_bValue = m_bPartValue
|
||||
m_bOrigValue = m_bPartValue
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamInRib(nAuxSolidId As Integer)
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0))
|
||||
Else
|
||||
EgtRemoveInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK)
|
||||
End If
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub SaveParam()
|
||||
m_bOrigValue = m_bValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_bValue = m_bOrigValue
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
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_bValue = m_bPartValue
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetParam
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -124,6 +124,7 @@
|
||||
<Compile Include="Constants\ConstDataGridColumnsIni.vb" />
|
||||
<Compile Include="Constants\ConstDims.vb" />
|
||||
<Compile Include="Constants\ConstGen.vb" />
|
||||
<Compile Include="Constants\ConstMachDataIni.vb" />
|
||||
<Compile Include="Constants\ConstIni.vb" />
|
||||
<Compile Include="Constants\ConstMachComm.vb" />
|
||||
<Compile Include="Constants\ConstMachIni.vb" />
|
||||
@@ -149,6 +150,18 @@
|
||||
<DependentUpon>DispositionPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DispositionPanel\DispositionPanelVM.vb" />
|
||||
<Compile Include="EgtMessageBox\EgtMessageBoxV.xaml.vb">
|
||||
<DependentUpon>EgtMessageBoxV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="EgtMessageBox\EgtMessageBoxVM.vb" />
|
||||
<Compile Include="EgtColorPicker\EgtColorPickerV.xaml.vb">
|
||||
<DependentUpon>EgtColorPickerV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="EgtColorPicker\EgtColorPickerVM.vb" />
|
||||
<Compile Include="EgtManageFileDialog\EgtManageFileDialogV.xaml.vb">
|
||||
<DependentUpon>EgtManageFileDialogV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="EgtManageFileDialog\EgtManageFileDialogVM.vb" />
|
||||
<Compile Include="FilledSolidPanel\FilledSolidPanelV.xaml.vb">
|
||||
<DependentUpon>FilledSolidPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -161,6 +174,10 @@
|
||||
<DependentUpon>ImportExportMachiningPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ImportExportMachiningPanel\ImportExportMachiningPanelVM.vb" />
|
||||
<Compile Include="ImportLoadingWnd\ImportLoadingWndV.xaml.vb">
|
||||
<DependentUpon>ImportLoadingWndV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ImportLoadingWnd\ImportLoadingWndVM.vb" />
|
||||
<Compile Include="InstrumentPanel\InstrumentPanelV.xaml.vb">
|
||||
<DependentUpon>InstrumentPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -201,8 +218,11 @@
|
||||
<DependentUpon>MaterialDbV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MaterialDb\MaterialDbVM.vb" />
|
||||
<Compile Include="OptionsWindow\MachineBox.xaml.vb">
|
||||
<DependentUpon>MachineBox.xaml</DependentUpon>
|
||||
<Compile Include="TSFEditor\ColumnHeader.xaml.vb">
|
||||
<DependentUpon>ColumnHeader.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UpdateMachine\UpdateMachineV.xaml.vb">
|
||||
<DependentUpon>UpdateMachineV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OptionsWindow\OptionModule.vb" />
|
||||
<Compile Include="OptionsWindow\OptionWindowV.xaml.vb">
|
||||
@@ -304,6 +324,7 @@
|
||||
<Compile Include="TSFEditor\TFSEditorV.xaml.vb">
|
||||
<DependentUpon>TFSEditorV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UpdateMachine\UpdateMachineVM.vb" />
|
||||
<Compile Include="Utility\CurrentMachine.vb" />
|
||||
<Compile Include="Utility\Dictionary.xaml.vb">
|
||||
<DependentUpon>Dictionary.xaml</DependentUpon>
|
||||
@@ -353,6 +374,18 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="EgtMessageBox\EgtMessageBoxV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="EgtColorPicker\EgtColorPickerV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="EgtManageFileDialog\EgtManageFileDialogV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="FilledSolidPanel\FilledSolidPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -365,6 +398,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>XamlIntelliSenseFileGenerator</Generator>
|
||||
</Page>
|
||||
<Page Include="ImportLoadingWnd\ImportLoadingWndV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="InstrumentPanel\InstrumentPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
@@ -417,7 +454,11 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="OptionsWindow\MachineBox.xaml">
|
||||
<Page Include="TSFEditor\ColumnHeader.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="UpdateMachine\UpdateMachineV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
@@ -587,6 +628,7 @@
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<Resource Include="Resources\EgtMessageBox\Error.png" />
|
||||
<Resource Include="Resources\Fonts\Roboto-Regular.ttf" />
|
||||
<Resource Include="Resources\Fonts\Roboto-Light.ttf" />
|
||||
</ItemGroup>
|
||||
@@ -787,9 +829,74 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ViewPanel\LookFromISO_SE.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\Common\Close.png" />
|
||||
<Resource Include="Resources\Common\Maximize.png" />
|
||||
<Resource Include="Resources\Common\Minimize.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\Common\Restore.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SliceManager\StopCalculation.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SplashScreen\BlueSplashscreen.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SliceManager\Dimensions.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TFSEditor\Reduce.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ReferencePanel\BC.png" />
|
||||
<Resource Include="Resources\ReferencePanel\BL.png" />
|
||||
<Resource Include="Resources\ReferencePanel\BR.png" />
|
||||
<Resource Include="Resources\ReferencePanel\MC.png" />
|
||||
<Resource Include="Resources\ReferencePanel\ML.png" />
|
||||
<Resource Include="Resources\ReferencePanel\MR.png" />
|
||||
<Resource Include="Resources\ReferencePanel\TC.png" />
|
||||
<Resource Include="Resources\ReferencePanel\TL.png" />
|
||||
<Resource Include="Resources\ReferencePanel\TR.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ReferencePanel\White_BC.png" />
|
||||
<Resource Include="Resources\ReferencePanel\White_BL.png" />
|
||||
<Resource Include="Resources\ReferencePanel\White_BR.png" />
|
||||
<Resource Include="Resources\ReferencePanel\White_MC.png" />
|
||||
<Resource Include="Resources\ReferencePanel\White_ML.png" />
|
||||
<Resource Include="Resources\ReferencePanel\White_MR.png" />
|
||||
<Resource Include="Resources\ReferencePanel\White_TC.png" />
|
||||
<Resource Include="Resources\ReferencePanel\White_TL.png" />
|
||||
<Resource Include="Resources\ReferencePanel\White_TR.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SliceManager\Mass.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\SliceManager\Time.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\RibParamPanel\CopyFrom.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\EgtMessageBox\Information.png" />
|
||||
<Resource Include="Resources\EgtMessageBox\Question.png" />
|
||||
<Resource Include="Resources\EgtMessageBox\Warning.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\EgtDialog\Restore.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\EgtDialog\New.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\EgtDialog\Folder.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\EgtDialog\Root.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="ImportExportMachiningPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="{Binding OkMsg}"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
|
||||
Width="400" Height="500">
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="ImportExportMachiningPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="{Binding OkMsg}"
|
||||
SizeToContent="WidthAndHeight"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Style="{StaticResource Dialog_Window}">
|
||||
|
||||
<Grid>
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="7*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<ListBox ItemsSource="{Binding MachiningList}">
|
||||
<ListBox ItemsSource="{Binding MachiningList}"
|
||||
Height="400"
|
||||
Width="250">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type EgtWPFLib5:ImpExpMachiningItem}">
|
||||
<Grid Height="20">
|
||||
@@ -32,7 +33,7 @@
|
||||
Margin="0,0,5,0"
|
||||
VerticalContentAlignment="Center"
|
||||
Visibility="{Binding Path=DataContext.Active_Visibility,
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
|
||||
RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}"/>
|
||||
<TextBlock Grid.Column="1"
|
||||
Text="{Binding sName}"
|
||||
FontSize="15"
|
||||
@@ -46,17 +47,26 @@
|
||||
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
|
||||
<Button Command="{Binding OkCommand}"
|
||||
Content="{Binding OkMsg}"
|
||||
IsEnabled="{Binding IsEnabledOkBtn, Mode=OneWay}"
|
||||
Grid.Row="1"
|
||||
Height="30" Width="100"
|
||||
Margin="10" />
|
||||
<UniformGrid Grid.Row="2"
|
||||
Rows="1"
|
||||
Margin="0,20,0,0">
|
||||
<Button Command="{Binding OkCommand}"
|
||||
IsEnabled="{Binding IsEnabledOkBtn, Mode=OneWay}"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button IsCancel="True"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Cancel.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
|
||||
</Grid>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
|
||||
@@ -157,7 +157,8 @@ Public Class ImportExportMachiningPanelVM
|
||||
nIndex += 1
|
||||
End While
|
||||
If bIsOriginal AndAlso bIsCustom Then
|
||||
MessageBox.Show("Corrupted file! Impossible to import it!")
|
||||
'MessageBox.Show("Corrupted file! Impossible to import it!")
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "Corrupted file! Impossible to import it!")
|
||||
ElseIf bIsOriginal Then
|
||||
LoadOriginalMaterial()
|
||||
End If
|
||||
@@ -301,9 +302,12 @@ Public Class ImportExportMachiningPanelVM
|
||||
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.")
|
||||
'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.")
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "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
|
||||
@@ -353,9 +357,12 @@ Public Class ImportExportMachiningPanelVM
|
||||
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.")
|
||||
'MessageBox.Show("List of the materials:" & Environment.NewLine &
|
||||
' sMaterialList & Environment.NewLine &
|
||||
' "Import successfully completed.")
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "List of the materials:" & Environment.NewLine &
|
||||
sMaterialList & Environment.NewLine &
|
||||
"Import successfully completed.")
|
||||
Return
|
||||
End Sub
|
||||
|
||||
@@ -471,7 +478,7 @@ Public Class ImportExportMachiningPanelVM
|
||||
End Select
|
||||
Case WindowModeEnum.EXPORT, WindowModeEnum.EXPORT_ORIG
|
||||
' chiedo il nome con cui salvare il file
|
||||
Dim sExtension As String =""
|
||||
Dim sExtension As String = ""
|
||||
If m_WindowType = WindowTypeEnum.MATERIAL Then
|
||||
If m_WindowMode = WindowModeEnum.EXPORT_ORIG Then
|
||||
sExtension = OriginalMaterialDataExtension
|
||||
@@ -580,7 +587,8 @@ Public Class ImpExpMachiningItem
|
||||
If m_AlreadyExist Then
|
||||
Select Case m_WindowType
|
||||
Case WindowTypeEnum.MATERIAL
|
||||
Select Case System.Windows.MessageBox.Show("Material already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel)
|
||||
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, "Material will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
'System.Windows.MessageBox.Show("Material already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel)
|
||||
Case MessageBoxResult.Yes
|
||||
m_ChangeName = False
|
||||
m_Active = True
|
||||
@@ -594,7 +602,8 @@ Public Class ImpExpMachiningItem
|
||||
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)
|
||||
'System.Windows.MessageBox.Show("Material will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "Material will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
m_ChangeName = True
|
||||
m_Active = True
|
||||
@@ -602,7 +611,8 @@ Public Class ImpExpMachiningItem
|
||||
m_Active = False
|
||||
End Select
|
||||
Case WindowTypeEnum.MACHINING
|
||||
Select Case System.Windows.MessageBox.Show("Machining already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel)
|
||||
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, "Machining already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel)
|
||||
'System.Windows.MessageBox.Show("Machining already existing in Db. Overwrite it?", "", MessageBoxButton.YesNoCancel)
|
||||
Case MessageBoxResult.Yes
|
||||
m_ChangeName = False
|
||||
m_Active = True
|
||||
@@ -616,7 +626,8 @@ Public Class ImpExpMachiningItem
|
||||
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)
|
||||
'System.Windows.MessageBox.Show("Machining will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "Machining will be imported with the name: " & m_sName, "", MessageBoxButton.OK)
|
||||
NotifyPropertyChanged(NameOf(sName))
|
||||
m_ChangeName = True
|
||||
m_Active = True
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="ImportLoadingWndV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="New Project"
|
||||
SizeToContent="WidthAndHeight"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Style="{StaticResource Dialog_Window}">
|
||||
<Grid Margin="2.5,2.5,2.5,2.5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding Loading_Msg}"
|
||||
Margin="20,20,20,2.5"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<Grid Grid.Row="1"
|
||||
Margin="2.5,2.5,2.5,2.5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<ProgressBar Value="{Binding Loading_Value}"
|
||||
Width="200"
|
||||
Margin="0,0,2.5,20"
|
||||
Style="{StaticResource Icarus_ProgressBar}"/>
|
||||
<!--<Button Grid.Column="1"
|
||||
Grid.RowSpan="2"
|
||||
Command="{Binding Stop_Command}"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource TopPanel_Button}">
|
||||
<Image Source="\Resources\SliceManager\StopCalculation.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>-->
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
@@ -0,0 +1,14 @@
|
||||
Public Class ImportLoadingWndV
|
||||
|
||||
Private WithEvents m_ImportLoadingWndVM As ImportLoadingWndVM
|
||||
|
||||
Sub New(Owner As Window, ImportLoadingWndVM As ImportLoadingWndVM)
|
||||
MyBase.New(Owner)
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
Me.DataContext = ImportLoadingWndVM
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
m_ImportLoadingWndVM = ImportLoadingWndVM
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,91 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib.EgtInterface
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class ImportLoadingWndVM
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
' Funzioni di callback per output in interfaccia da LUA
|
||||
Private m_ProcEventsCallback As New ProcessEventsCallback(AddressOf ProcessEvents)
|
||||
|
||||
Private m_bStopLoading As Boolean = False
|
||||
|
||||
Private m_Loading_Value As Double
|
||||
Public Property Loading_Value As Double
|
||||
Get
|
||||
Return m_Loading_Value
|
||||
End Get
|
||||
Set(value As Double)
|
||||
m_Loading_Value = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdStop As ICommand
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
#Region "MESSAGES"
|
||||
|
||||
Public ReadOnly Property Loading_Msg As String
|
||||
Get
|
||||
Return "Importing file..."
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' MESSAGES
|
||||
|
||||
#Region "CONSTRUCTORS"
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in Map
|
||||
Map.SetRefImportLoadingWndVM(Me)
|
||||
End Sub
|
||||
|
||||
#End Region ' CONSTRUCTORS
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Function ProcessEvents(ByVal nProg As Integer, ByVal nPause As Integer) As Integer
|
||||
m_Loading_Value = nProg
|
||||
NotifyPropertyChanged(NameOf(Loading_Value))
|
||||
' Costringo ad aggiornare
|
||||
UpdateUI()
|
||||
' Eventuale attesa
|
||||
Threading.Thread.Sleep(nPause)
|
||||
' Ritorno eventuale stop
|
||||
If m_bStopLoading Then
|
||||
m_bStopLoading = False
|
||||
Return 1
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
Return 0
|
||||
End Function
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "Stop"
|
||||
|
||||
Public ReadOnly Property Stop_Command As ICommand
|
||||
Get
|
||||
If m_cmdStop Is Nothing Then
|
||||
m_cmdStop = New Command(AddressOf StopLoading)
|
||||
End If
|
||||
Return m_cmdStop
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub StopLoading()
|
||||
m_bStopLoading = True
|
||||
End Sub
|
||||
|
||||
#End Region ' Stop
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
@@ -3,6 +3,7 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:local="clr-namespace:Icarus"
|
||||
IsEnabled="{Binding InstrumentPanel_IsEnabled}"
|
||||
Orientation="Horizontal">
|
||||
|
||||
<local:CheckedImageToggleButton ToolTip="{Binding GetDist_ToolTip}"
|
||||
|
||||
@@ -96,8 +96,9 @@ Public Class MyInstrumentPanelVM
|
||||
EgtDraw()
|
||||
' Ripristino stato segnalazione modifica
|
||||
DisableMgr.ReEnable()
|
||||
MessageBox.Show(sResult)
|
||||
Else
|
||||
'MessageBox.Show(sResult)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sResult)
|
||||
Else
|
||||
' Disabilito segnalazione modificato
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
' cancello tutti i gruppi con i chunk
|
||||
|
||||
@@ -1,50 +1,42 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="MachSaveInDbWndV"
|
||||
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"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
Title="Machining Param Name"
|
||||
Height="150" Width="300"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Icon="/Resources/Icarus.ico"
|
||||
WindowStyle="None" ResizeMode="NoResize"
|
||||
ShowInTaskbar="False"
|
||||
IsMinimizable="False">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="MachSaveInDbWndV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="Save in Database"
|
||||
SizeToContent="WidthAndHeight"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Style="{StaticResource Dialog_Window}">
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="10"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Text="Name"
|
||||
Margin="0,0,10,0"
|
||||
Style="{Binding OptionTextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Column="2"
|
||||
Grid.Row="1"
|
||||
Width="180"
|
||||
Text="{Binding sName}"
|
||||
Style="{StaticResource LeftPanel_TextBox}"/>
|
||||
<UniformGrid Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Grid.Row="3"
|
||||
Rows="1">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
<TextBlock Text="Write the new Database machining name"
|
||||
Margin="20,20,20,2.5"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<EgtWPFLib5:EgtTextBox2 Grid.Row="1"
|
||||
Text="{Binding sName}"
|
||||
IsExplicitFocused="True"
|
||||
Width="160"
|
||||
Margin="20,10,20,2.5"
|
||||
Style="{StaticResource LeftPanel_TextBox2}"/>
|
||||
<UniformGrid Grid.Row="3"
|
||||
Rows="1"
|
||||
Margin="0,20,0,0">
|
||||
<Button Command="{Binding Ok_Command}"
|
||||
IsDefault="True"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
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>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
|
||||
@@ -48,7 +48,8 @@ Public Class MachSaveInDbWndVM
|
||||
|
||||
Public Sub Ok()
|
||||
If Map.refTopPanelVM.MachiningList.Any(Function(x As MachiningIndex) x.sName = m_sName) Then
|
||||
MessageBox.Show("Name already used in Db! Please insert a different name.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
'MessageBox.Show("Name already used in Db! Please insert a different name.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "Name already used in Db! Please insert a different name.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
Return
|
||||
End If
|
||||
RaiseEvent m_CloseWindow(True)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
Width="40"
|
||||
Style="{StaticResource SelViewSlider_ComboBox}">
|
||||
<ComboBoxItem>
|
||||
<Image Source="\Resources\SimulationPanel\HeadMode.png"
|
||||
<Image Source="\Resources\SimulationPanel\ToolMode.png"
|
||||
Style="{StaticResource ComboBox.Image}"/>
|
||||
</ComboBoxItem>
|
||||
<ComboBoxItem>
|
||||
|
||||
@@ -4,32 +4,27 @@ Imports EgtWPFLib5
|
||||
Public Class MachineViewPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_nSelMachView As MCH_LOOK
|
||||
Public Property ghSelMachView As Integer
|
||||
Get
|
||||
Return m_nSelMachView - 1
|
||||
Return If(Not IsNothing(Map.refSimulationPanelVM) AndAlso Not IsNothing(Map.refSimulationPanelVM.MySimul), Map.refSimulationPanelVM.MySimul.GetMachLook() - 1, Nothing)
|
||||
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)
|
||||
If Not IsNothing(Map.refSimulationPanelVM) AndAlso Not IsNothing(Map.refSimulationPanelVM.MySimul) Then
|
||||
Map.refSimulationPanelVM.MySimul.SetMachLook(value + 1)
|
||||
' aggiorno lo stato della macchina e la sua visualizzazione
|
||||
EgtSetMachineLook(MySimul.GetMachLook())
|
||||
WriteMainPrivateProfileString(S_SIMUL, K_MACHVIEWMODE, m_nSelMachView)
|
||||
EgtSetMachineLook(Map.refSimulationPanelVM.MySimul.GetMachLook())
|
||||
WriteMainPrivateProfileString(S_SIMUL, K_MACHVIEWMODE, value + 1)
|
||||
End If
|
||||
EgtDraw()
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub SetSelViewSlider(value As MCH_LOOK)
|
||||
m_nSelMachView = value
|
||||
Friend Sub RefreshSelViewSlider()
|
||||
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)
|
||||
' Creo riferimento a questa classe in OmagOFFICEMap
|
||||
Map.SetRefMachineViewPanelVM(Me)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -134,29 +134,45 @@
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</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,0,0"
|
||||
Style="{StaticResource ParameterList_TextBox}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<EgtWPFLib5:EgtTextBox2 Grid.Column="1"
|
||||
Text="{Binding sValue, UpdateSourceTrigger=Explicit}"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ParameterList_TextBox2}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1">
|
||||
<Grid Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
@@ -167,14 +183,22 @@
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}">
|
||||
<Grid Height="22"
|
||||
Margin="0,1,2.5,1">
|
||||
Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
|
||||
@@ -26,7 +26,8 @@ Public Class MachiningDbVM
|
||||
' verifico se modificato
|
||||
If m_SelMachining.bIsModified Then
|
||||
' chiedo se salvare
|
||||
Select Case MessageBox.Show("Do you want to save the modification done on the selected machining?", "Info", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, "Do you want to save the modification done on the selected machining?", "Info", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
'MessageBox.Show("Do you want to save the modification done on the selected machining?", "Info", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
Case MessageBoxResult.Yes
|
||||
m_SelMachining.Save()
|
||||
Case MessageBoxResult.No
|
||||
@@ -198,7 +199,8 @@ Public Class MachiningDbVM
|
||||
Public Sub Ok()
|
||||
If Not IsNothing(m_SelMachining) AndAlso m_SelMachining.bIsModified Then
|
||||
' chiedo se salvare
|
||||
Select Case MessageBox.Show("Do you want to save modified parameters?", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)
|
||||
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, "Do you want to save modified parameters?", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)
|
||||
'MessageBox.Show("Do you want to save modified parameters?", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)
|
||||
Case MessageBoxResult.Yes
|
||||
m_SelMachining.Save()
|
||||
Case MessageBoxResult.No
|
||||
@@ -309,7 +311,8 @@ Public Class MachiningDbVM
|
||||
Public Sub Delete()
|
||||
If IsNothing(m_SelMachining) Then Return
|
||||
' chiedo conferma
|
||||
Select Case MessageBox.Show("Are you sure you want to delete the selected machining?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, "Are you sure you want to delete the selected machining?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
'MessageBox.Show("Are you sure you want to delete the selected machining?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Case MessageBoxResult.Yes
|
||||
m_MachiningList.Remove(m_SelMachining)
|
||||
SetIsModified(True)
|
||||
|
||||
@@ -75,13 +75,6 @@ Public Class MainWindowM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bAutoNestOption As Boolean = False
|
||||
Friend ReadOnly Property AutoNestOption As Boolean
|
||||
Get
|
||||
Return m_bAutoNestOption
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Friend ReadOnly Property sVersion As String
|
||||
Get
|
||||
Return My.Application.Info.Version.Major.ToString() & "." &
|
||||
@@ -189,14 +182,17 @@ Public Class MainWindowM
|
||||
Dim sKey As String = String.Empty
|
||||
EgtUILib.GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile)
|
||||
EgtSetKey(sKey)
|
||||
Dim sNestKey As String = ""
|
||||
EgtUILib.GetPrivateProfileString(S_LICENCE, K_NESTKEY, "", sNestKey, sLicFile)
|
||||
'EgtSetNestKey(sNestKey)
|
||||
' Verifico abilitazione nesting automatico
|
||||
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
|
||||
' Impostazioni per chiave di rete
|
||||
Dim bNetKey As Boolean = ( GetMainPrivateProfileInt( S_GENERAL, K_NETKEY, 0) = 1)
|
||||
EgtSetNetHwKey( bNetKey)
|
||||
Dim sLockId As String = ""
|
||||
EgtUILib.GetPrivateProfileString( S_LICENCE, K_LOCKID, "", sLockId, sLicFile)
|
||||
If Not String.IsNullOrEmpty( sLockId) Then
|
||||
EgtSetLockId( sLockId)
|
||||
End If
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2502, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5583, 2502, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2510, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5583, 2510, 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())
|
||||
|
||||
@@ -1,20 +1,14 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="MainWindowV"
|
||||
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"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
Title="{Binding sTitle}" Icon="/Resources/Icarus.ico"
|
||||
MinHeight="600" MinWidth="800" WindowStyle="None" ResizeMode="NoResize"
|
||||
AllowDrop="True" Drop="MainWindowV_Drop"
|
||||
ShowInTaskbar="True"
|
||||
Topmost="False"
|
||||
CloseCommand="{Binding CloseApplicationCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
|
||||
<!--<EgtWPFLib5:EgtCustomWindow.TitlePanel>
|
||||
|
||||
<PrintApp:ProjManagerV DataContext="{StaticResource ProjManagerVM}"/>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow.TitlePanel>-->
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="MainWindowV"
|
||||
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"
|
||||
MinHeight="600" MinWidth="800"
|
||||
AllowDrop="True"
|
||||
Drop="MainWindowV_Drop"
|
||||
ShowInTaskbar="True"
|
||||
Topmost="False"
|
||||
Style="{StaticResource NoStyle_Window}">
|
||||
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
@@ -23,14 +17,5 @@
|
||||
</Grid.RowDefinitions>
|
||||
<PrintApp:SceneHostV Grid.Row="1"/>
|
||||
</Grid>
|
||||
<!--Pannello principale --><!--
|
||||
<DockPanel>
|
||||
|
||||
--><!--StatusBar --><!--
|
||||
<PrintApp:StatusBarV DataContext="{StaticResource StatusBarVM}"
|
||||
DockPanel.Dock="Bottom"/>
|
||||
<PrintApp:ProjectV DataContext="{StaticResource ProjectVM}"/>
|
||||
|
||||
</DockPanel>-->
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
|
||||
@@ -5,7 +5,6 @@ Imports System.Windows.Interop
|
||||
Class MainWindowV
|
||||
|
||||
Private m_MainWindowVM As MainWindowVM
|
||||
Private m_SceneHostWnd As SecondaryWindowV
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
@@ -20,6 +19,8 @@ Class MainWindowV
|
||||
AddHandler Me.Closing, AddressOf MainWindowV_Closing
|
||||
AddHandler Me.KeyDown, AddressOf MainWindowV_KeyDown
|
||||
AddHandler Me.StateChanged, AddressOf MainWindowV_StateChanged
|
||||
'AddHandler Me.LocationChanged, AddressOf MainWindowV_LocationChanged
|
||||
'AddHandler Me.SizeChanged, AddressOf MainWindowV_SizeChanged
|
||||
End Sub
|
||||
|
||||
#End Region ' CONSTRUCTOR
|
||||
@@ -60,15 +61,27 @@ Class MainWindowV
|
||||
Me.Activate()
|
||||
' Recupero l'array di stringhe con i nomi del file
|
||||
Dim sFiles() As String = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub MainWindowV_LocationChanged(sender As Object, e As EventArgs)
|
||||
If Not IsNothing(Map.refSecondaryWindowV) Then
|
||||
Map.refSecondaryWindowV.Top = Me.Top
|
||||
Map.refSecondaryWindowV.Left = Me.Left
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub MainWindowV_SizeChanged(sender As Object, e As SizeChangedEventArgs)
|
||||
If Not IsNothing(Map.refSecondaryWindowV) Then
|
||||
If e.WidthChanged Then Map.refSecondaryWindowV.Width = e.NewSize.Width
|
||||
If e.HeightChanged Then Map.refSecondaryWindowV.Height = e.NewSize.Height
|
||||
Map.refSecondaryWindowV.InvalidateVisual()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub MainWindowV_StateChanged(sender As Object, e As EventArgs)
|
||||
If Not IsNothing(Map.refSecondaryWindowV) AndAlso Not Map.refSecondaryWindowV.WindowChangingState Then
|
||||
Map.refSecondaryWindowV.WindowState = Me.WindowState
|
||||
'Application.Current.MainWindow.Topmost = True
|
||||
'Application.Current.MainWindow.Topmost = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -7,9 +7,6 @@ Imports System.Windows.Threading
|
||||
Public Class MainWindowVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_SupervisorCommThread As Thread
|
||||
Private m_Supervisor_Timer As New DispatcherTimer
|
||||
|
||||
' Riferimento al Model della MainWindow
|
||||
Private m_MainWindowM As MainWindowM
|
||||
Friend ReadOnly Property MainWindowM As MainWindowM
|
||||
@@ -18,6 +15,9 @@ Public Class MainWindowVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Funzioni di callback per output in interfaccia da LUA
|
||||
Private m_ProcEventsCallback As New ProcessEventsCallback(AddressOf ProcessEvents)
|
||||
|
||||
' Variabile che indica che il programma è stato avviato correttamente (sia la mappa che l'ambiente Egt)
|
||||
Private m_bInitStatus As Boolean
|
||||
Friend ReadOnly Property bInitStatus As Boolean
|
||||
@@ -27,25 +27,34 @@ Public Class MainWindowVM
|
||||
End Property
|
||||
|
||||
' Titolo
|
||||
Private m_sTitle As String
|
||||
Public Property sTitle As String
|
||||
Public ReadOnly Property sTitle As String
|
||||
Get
|
||||
Return m_sTitle
|
||||
Return "Icarus"
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sTitle = value
|
||||
NotifyPropertyChanged(NameOf(sTitle))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' proprietà che seleziona la giusta pagina del TabControl
|
||||
Public Property nSelTabPage As Integer
|
||||
Public ReadOnly Property sProjectName As String
|
||||
Get
|
||||
' Return If(IsNothing(Map.refMainMenuVM.SelPage) OrElse Map.refMainMenuVM.SelPage = -1 OrElse Map.refMainMenuVM.SelPage = Pages.VIEW OrElse Map.refMainMenuVM.SelPage = Pages.MACHINING, 0, 1)
|
||||
Return -1
|
||||
Dim sFilePath As String = ""
|
||||
EgtGetCurrFilePath(sFilePath)
|
||||
If String.IsNullOrEmpty(sFilePath) Then
|
||||
sFilePath = EgtMsg(MSG_TOPCOMMANDBAR + 1) & Map.refMainWindowVM.MainWindowM.nInstance.ToString()
|
||||
Return sFilePath
|
||||
Else
|
||||
Return Path.GetFileNameWithoutExtension(sFilePath) & If(EgtGetModified(), "*", "")
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property sProjectPath As String
|
||||
Get
|
||||
Dim sFilePath As String = ""
|
||||
EgtGetCurrFilePath(sFilePath)
|
||||
If String.IsNullOrEmpty(sFilePath) Then
|
||||
sFilePath = EgtMsg(MSG_TOPCOMMANDBAR + 1) & Map.refMainWindowVM.MainWindowM.nInstance.ToString()
|
||||
End If
|
||||
Return sFilePath
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_MachinePanelVM As MachinePanelVM
|
||||
@@ -55,9 +64,6 @@ Public Class MainWindowVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'Friend m_SupervisorStop As Boolean = False
|
||||
'Private BlockedWnd As BlockedWndV
|
||||
|
||||
' definizione comandi
|
||||
Private m_cmdAboutBox As ICommand
|
||||
Private m_cmdCloseApplication As ICommand
|
||||
@@ -71,117 +77,18 @@ Public Class MainWindowVM
|
||||
m_MainWindowM = New MainWindowM
|
||||
' inizializzo machine panel
|
||||
m_MachinePanelVM = New MachinePanelVM
|
||||
' inizializzo contatore per blocco da supervisore
|
||||
m_Supervisor_Timer.Interval = TimeSpan.FromMilliseconds(500)
|
||||
' AddHandler m_Supervisor_Timer.Tick, AddressOf SupervisorTimer_Tick
|
||||
m_Supervisor_Timer.Start()
|
||||
' Installo funzione gestione eventi per lua
|
||||
EgtSetProcessEvents(m_ProcEventsCallback)
|
||||
End Sub
|
||||
|
||||
#End Region ' CONSTRUCTOR
|
||||
|
||||
'#Region "METHODS"
|
||||
|
||||
Friend Sub SetTitle(sTitle As String)
|
||||
m_sTitle = sTitle
|
||||
NotifyPropertyChanged(NameOf(sTitle))
|
||||
' aggiorno titolo nella secondaryPage che e' quello che si vede nella barra in alto
|
||||
Map.refSecondaryWindowVM.SetTitle(sTitle)
|
||||
End Sub
|
||||
|
||||
'Public Sub UpdateTitle()
|
||||
' m_Title = ""
|
||||
' Select Case Map.refMainMenuVM.SelPage
|
||||
' Case Pages.VIEW
|
||||
' If Not IsNothing(Map.refProjManagerVM.CurrProj) Then
|
||||
' If Map.refProjManagerVM.CurrProj.bIsNew Then m_Title = "New - "
|
||||
' m_Title &= Map.refProjManagerVM.CurrProj.nProjId.ToString("0000") & " - " & Map.refProjManagerVM.CurrProj.sBTLFileName
|
||||
' End If
|
||||
' Case Pages.MACHINING
|
||||
' If Not IsNothing(Map.refProdManagerVM.CurrProd) Then
|
||||
' If Map.refProdManagerVM.CurrProd.bIsNew Then m_Title = "New - "
|
||||
' m_Title &= Map.refProdManagerVM.CurrProd.nProdId.ToString("0000") & " - " & Map.refProdManagerVM.CurrProd.sBTLFileName
|
||||
' End If
|
||||
' Case Pages.CONFIG
|
||||
' m_Title = "Configuration Page"
|
||||
' End Select
|
||||
' m_Title &= " - EgtBEAMWALL"
|
||||
' NotifyPropertyChanged(NameOf(Title))
|
||||
'End Sub
|
||||
|
||||
Friend Sub ContentRendered()
|
||||
'DbControllers.Init()
|
||||
'' chiamata a caso su Db per inizializzarlo
|
||||
'DbControllers.m_ProjController.FindByProjDbId(0)
|
||||
'' Verifico che l'inizializzazione di tutte le parti del programma sia andata a buon fine
|
||||
'If Map.EndInit() Then
|
||||
' m_bInitStatus = True
|
||||
' ' altrimenti chiudo il programma
|
||||
'Else
|
||||
' m_bInitStatus = False
|
||||
'End If
|
||||
'' Aggiorno visualizzazione unità di misura
|
||||
''Map.refStatusBarVM.SetMeasureUnit(If(EgtUiUnitsAreMM(), MeasureUnitOpt.MM, MeasureUnitOpt.INCH))
|
||||
'' imposto MainWindow per finestra di Loading
|
||||
'LoadingWndHelper.SetMainWindow(Application.Current.MainWindow)
|
||||
'' leggo riga di comando
|
||||
'Dim nCommandType As Integer = 0
|
||||
'Dim nPage As Pages = Pages.VIEW
|
||||
'Dim nProdId As Integer = 0
|
||||
'If ProcessCommandLine(nCommandType, nPage, nProdId) Then
|
||||
' Select Case nCommandType
|
||||
' Case 1
|
||||
' Map.refProdManagerVM.SetCurrProd(nProdId)
|
||||
' Case 2
|
||||
' ' pagina gia' impostata nella variabile
|
||||
' End Select
|
||||
'Else
|
||||
' ' setto il primo file dalla lista degli MRU come progetto corrente da aprire
|
||||
' Dim sLastProjectPath As String = String.Empty
|
||||
' GetMainPrivateProfileString(S_MRUPROJFILES, K_FILE & "1", String.Empty, sLastProjectPath)
|
||||
' If Not String.IsNullOrWhiteSpace(sLastProjectPath) AndAlso File.Exists(sLastProjectPath) Then
|
||||
' ' ricavo l'Id e il progetto associato per l'apertura di quest'ultimo
|
||||
' Dim PjId As Integer = 0
|
||||
' Dim sPjId As String = Path.GetFileNameWithoutExtension(sLastProjectPath)
|
||||
' Integer.TryParse(sPjId, PjId)
|
||||
' Map.refProjManagerVM.SetCurrProj(PjId)
|
||||
' End If
|
||||
'End If
|
||||
'' seleziono pagina da aprire
|
||||
'Map.refMainMenuVM.SelPage = nPage
|
||||
|
||||
'' inizializzo thread di aggiornamento e comunicazione con DB
|
||||
'' creo thread gestione macchina
|
||||
'm_SupervisorCommThread = New Thread(Sub()
|
||||
' SupervisorCommThread.SupervisorCommThreadFunction()
|
||||
' End Sub)
|
||||
'm_SupervisorCommThread.SetApartmentState(ApartmentState.STA)
|
||||
'' avvio thread di gestione della macchina che avvia la connessione
|
||||
'm_SupervisorCommThread.Start()
|
||||
|
||||
End Sub
|
||||
|
||||
' Friend Function ProcessCommandLine(ByRef nCommandType As Integer, ByRef nPage As Pages, ByRef nProdId As Integer) As Boolean
|
||||
' ' Se non ci sono veri parametri su linea di comando, esco (il primo è sempre il nome del programma)
|
||||
' If Environment.GetCommandLineArgs.Count() <= 1 Then Return False
|
||||
' ' Recupero primo parametro che dovrebbe essere il tipo di modalita' riga di comando
|
||||
' Dim sFile As String = Environment.GetCommandLineArgs(1)
|
||||
' If String.IsNullOrWhiteSpace(sFile) OrElse Not Integer.TryParse(sFile, nCommandType) OrElse nCommandType <= 0 Then Return False
|
||||
' Select Case nCommandType
|
||||
' Case 1 ' apri progetto in ottimizzatore
|
||||
' ' recupero secondo parametro
|
||||
' Dim sProdId As String = Environment.GetCommandLineArgs(2)
|
||||
' If Not Integer.TryParse(sProdId, nProdId) OrElse nProdId <= 0 Then Return False
|
||||
' nPage = Pages.MACHINING
|
||||
' Return True
|
||||
' Case 2 ' apri pagina specifica senza progetto specifico
|
||||
' ' recupero secondo parametro
|
||||
' Dim sPage As String = Environment.GetCommandLineArgs(2)
|
||||
' If Not Integer.TryParse(sPage, nPage) OrElse (nPage <> Pages.VIEW AndAlso nPage <> Pages.MACHINING) Then Return False
|
||||
' Return True
|
||||
' End Select
|
||||
' Return False
|
||||
' End Function
|
||||
|
||||
Friend Sub KeyDown(PressedKey As Key)
|
||||
' Con ESC esco dall'azione corrente
|
||||
If PressedKey = Key.Escape Then
|
||||
@@ -209,7 +116,7 @@ Public Class MainWindowVM
|
||||
End If
|
||||
' annullo trasparenza attivata durante edit rib
|
||||
If Not IsNothing(Map.refRibPanelVM.SelRib) Then
|
||||
EgtSetAlpha(Map.refRibPanelVM.SelRib.nExtrusionId, 100)
|
||||
'EgtSetAlpha(Map.refRibPanelVM.SelRib.nExtrusionId, 100)
|
||||
End If
|
||||
ElseIf Map.refTopPanelVM.SelModifyMode.ModifyMode = ModifyModes.SHELLNUMBER Then
|
||||
' cancello eventuali layer di modifica
|
||||
@@ -225,7 +132,7 @@ Public Class MainWindowVM
|
||||
End If
|
||||
' annullo trasparenza attivata durante edit rib
|
||||
If Not IsNothing(Map.refShellNumberPanelVM.SelShellNumber) Then
|
||||
EgtSetAlpha(Map.refShellNumberPanelVM.SelShellNumber.nExtrusionId, 100)
|
||||
'EgtSetAlpha(Map.refShellNumberPanelVM.SelShellNumber.nExtrusionId, 100)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
@@ -240,36 +147,17 @@ Public Class MainWindowVM
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Friend m_ManagingSupervisorStop As Boolean = False
|
||||
Private Function ProcessEvents(ByVal nProg As Integer, ByVal nPause As Integer) As Integer
|
||||
If Map.refSliceManagerVM.bCalculating OrElse Map.refSliceManagerVM.bCalcSolid Then
|
||||
Map.refSliceManagerVM.ProcessEvents(nProg, nPause)
|
||||
End If
|
||||
If Not IsNothing(Map.refImportLoadingWndVM) Then
|
||||
Map.refImportLoadingWndVM.ProcessEvents(nProg, nPause)
|
||||
End If
|
||||
Map.refMyStatusBarVM.ProcessEvents(nProg, nPause)
|
||||
Return 0
|
||||
End Function
|
||||
|
||||
' Private Sub SupervisorTimer_Tick()
|
||||
' If SupervisorCommThread.bViewerOptimizerBlocked And Not m_ManagingSupervisorStop Then
|
||||
' m_ManagingSupervisorStop = True
|
||||
' BlockedWnd = New BlockedWndV(Application.Current.MainWindow, New BlockedWndVM)
|
||||
' BlockedWnd.ShowDialog()
|
||||
' ElseIf Not SupervisorCommThread.bViewerOptimizerBlocked And m_ManagingSupervisorStop Then
|
||||
' m_ManagingSupervisorStop = False
|
||||
' BlockedWnd.Close()
|
||||
' End If
|
||||
' End Sub
|
||||
|
||||
'#End Region ' METHODS
|
||||
|
||||
'#Region "COMMANDS"
|
||||
|
||||
'#Region "CloseApplicationCommand"
|
||||
|
||||
' ' Returns a command that manage the MainWindow_Unloaded command
|
||||
' Public ReadOnly Property CloseApplicationCommand() As ICommand
|
||||
' Get
|
||||
' If m_cmdCloseApplication Is Nothing Then
|
||||
' m_cmdCloseApplication = New Command(AddressOf CloseApplication)
|
||||
' End If
|
||||
' Return m_cmdCloseApplication
|
||||
' End Get
|
||||
' End Property
|
||||
|
||||
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
|
||||
Friend Sub CloseApplication()
|
||||
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
|
||||
Return
|
||||
@@ -278,14 +166,7 @@ Public Class MainWindowVM
|
||||
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)
|
||||
' se salvataggio annullato, rimango
|
||||
If Not bOk Then Return
|
||||
Dim bAllowClose As Boolean = Map.refSceneHostVM.MainController.ManageModified()
|
||||
' Salvo impostazione macchina corrente
|
||||
'Map.refMachinePanelVM.SaveCurrentMachine()
|
||||
Dim bAllowClose As Boolean = Map.refSceneHostVM.ManageModified()
|
||||
' Se non confermata chiusura, esco
|
||||
If Not bAllowClose Then Return
|
||||
' salvo modo di visualizzazione
|
||||
@@ -300,8 +181,53 @@ Public Class MainWindowVM
|
||||
Application.Current.Shutdown()
|
||||
End Sub
|
||||
|
||||
'#End Region ' CloseApplicationCommand
|
||||
#Region "COMMANDS"
|
||||
|
||||
'#End Region ' COMMANDS
|
||||
#Region "AboutBoxCommand"
|
||||
|
||||
' Returns a command that manage the MainWindow_Unloaded command
|
||||
Public ReadOnly Property AboutBoxCommand() As ICommand
|
||||
Get
|
||||
If m_cmdAboutBox Is Nothing Then
|
||||
m_cmdAboutBox = New Command(AddressOf AboutBox)
|
||||
End If
|
||||
Return m_cmdAboutBox
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
|
||||
Public Sub AboutBox(ByVal param As Object)
|
||||
Dim AboutBoxWindow As New AboutBoxV
|
||||
AboutBoxWindow.Owner = Application.Current.MainWindow
|
||||
AboutBoxWindow.ShowDialog()
|
||||
End Sub
|
||||
|
||||
#End Region ' AboutBoxCommand
|
||||
|
||||
#Region "CloseApplicationCommand"
|
||||
|
||||
' Returns a command that manage the MainWindow_Unloaded command
|
||||
Public ReadOnly Property CloseApplicationCommand() As ICommand
|
||||
Get
|
||||
If m_cmdCloseApplication Is Nothing Then
|
||||
m_cmdCloseApplication = New Command(AddressOf CloseApplication)
|
||||
End If
|
||||
Return m_cmdCloseApplication
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
|
||||
Public Sub CloseApplication(ByVal param As Object)
|
||||
If Map.refSliceManagerVM.bCalculating Then
|
||||
'MessageBox.Show("Impossible closing software! Wait end of calculation!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "Impossible closing software! Wait end of calculation!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
Return
|
||||
End If
|
||||
CloseApplication()
|
||||
End Sub
|
||||
|
||||
#End Region ' CloseApplicationCommand
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -145,13 +145,20 @@
|
||||
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}"
|
||||
<Button Command="{Binding Ok_Command}"
|
||||
IsDefault="True"
|
||||
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}"
|
||||
Visibility="{Binding IsImport_Visibility}"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}"/>
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Cancel.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
@@ -286,7 +286,8 @@ Public Class ManagePartPanelVM
|
||||
Next
|
||||
Next
|
||||
If sErr.Count > 0 Then
|
||||
MessageBox.Show(String.Concat(sErr), "Error")
|
||||
'MessageBox.Show(String.Concat(sErr), "Error")
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, String.Concat(sErr), "Error")
|
||||
Return
|
||||
Else
|
||||
' Creo pezzi e layer necessari
|
||||
|
||||
@@ -629,7 +629,8 @@ Public Class GeomEntity_MenuItem
|
||||
Map.refManagePartPanelVM.SetIsEnabled(True)
|
||||
Return
|
||||
ElseIf m_Type = ManagePart_Layer.LayerType.DELETE Then
|
||||
If MessageBox.Show("Are you sure you want to delete this entity?", "Delete confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
'If MessageBox.Show("Are you sure you want to delete this entity?", "Delete confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
If EgtMessageBoxV.Show(Application.Current.MainWindow, "Are you sure you want to delete this entity?", "Delete confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
EgtErase(m_OrigEntity.nId)
|
||||
' se l'entita' e' gia' in lista pezzi
|
||||
If Not IsNothing(m_OrigEntity.OrigLayer) Then
|
||||
@@ -1037,7 +1038,8 @@ Public Class ManagerLayer_MenuItem
|
||||
Case Else ' PartMenuCmd.IMPORTPRINT
|
||||
Dim bDeleteOldPrint As Boolean = False
|
||||
If m_OrigLayer.EntityList.Count > 0 Then
|
||||
If MessageBox.Show("Importing a new print solid the current one will be deleted. Are you sure you want to proced?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
|
||||
'If MessageBox.Show("Importing a new print solid the current one will be deleted. Are you sure you want to proced?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
|
||||
If EgtMessageBoxV.Show(Application.Current.MainWindow, "Importing a new print solid the current one will be deleted. Are you sure you want to proced?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
|
||||
Return
|
||||
Else
|
||||
bDeleteOldPrint = True
|
||||
|
||||
@@ -769,7 +769,8 @@ Public Class StringMaterialParam
|
||||
End Property
|
||||
|
||||
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
|
||||
'If MessageBox.Show("Are you sure you want to set this material as original?", "Original material confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
If EgtMessageBoxV.Show(Application.Current.MainWindow, "Are you sure you want to set this material as original?", "Original material confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
m_sGUID = ORIG_MATERIAL
|
||||
m_sValue = ORIG_MATERIAL
|
||||
NotifyPropertyChanged(NameOf(sValue))
|
||||
|
||||
@@ -24,7 +24,8 @@ Public Class MaterialDbVM
|
||||
' verifico se modificato
|
||||
If Not IsNothing(m_SelMaterial) AndAlso m_SelMaterial.bIsModified Then
|
||||
' chiedo se salvare
|
||||
Select Case MessageBox.Show("Do you want to save material modification?", "Info", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
'Select Case MessageBox.Show("Do you want to save material modification?", "Info", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, "Do you want to save material modification?", "Info", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
|
||||
Case MessageBoxResult.Yes
|
||||
m_SelMaterial.Save()
|
||||
Case MessageBoxResult.No
|
||||
@@ -236,7 +237,8 @@ Public Class MaterialDbVM
|
||||
Public Sub Ok()
|
||||
If Not IsNothing(m_SelMaterial) AndAlso m_SelMaterial.bIsModified Then
|
||||
' chiedo se salvare
|
||||
Select Case MessageBox.Show("Do you want to save material modification?", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)
|
||||
'Select Case MessageBox.Show("Do you want to save material modification?", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)
|
||||
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, "Do you want to save material modification?", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)
|
||||
Case MessageBoxResult.Yes
|
||||
m_SelMaterial.Save()
|
||||
Case MessageBoxResult.No
|
||||
@@ -365,17 +367,20 @@ Public Class MaterialDbVM
|
||||
' se materiale originale, esco
|
||||
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
|
||||
'If MessageBox.Show("Trying to delete an Original Material! Are you sure you want to delete it?", "", MessageBoxButton.YesNo, MessageBoxImage.Warning) <> MessageBoxResult.Yes Then
|
||||
If EgtMessageBoxV.Show(Application.Current.MainWindow, "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!")
|
||||
'MessageBox.Show("Original material impossible to delete!")
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "Original material impossible to delete!")
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
' chiedo conferma
|
||||
Select Case MessageBox.Show(sCheckMessage, "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, sCheckMessage, "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
'MessageBox.Show(sCheckMessage, "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
Case MessageBoxResult.Yes
|
||||
m_MaterialList.Remove(m_SelMaterial)
|
||||
SetIsModified(True)
|
||||
|
||||
@@ -70,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.5.3.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.3.1")>
|
||||
<Assembly: AssemblyVersion("2.5.10.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.10.1")>
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="MachineBox"
|
||||
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="160" Width="380" WindowStyle="None" ResizeMode="NoResize"
|
||||
TitleBarHeight="30" IsResizable="False" IsMinimizable="False"
|
||||
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
|
||||
|
||||
<Border BorderThickness="2" BorderBrush="LightBlue">
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.25*"/>
|
||||
<ColumnDefinition Width="5*"/>
|
||||
<ColumnDefinition Width="0.25*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.25*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="0.25*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="0.25*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock Name="MessageLbl" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<UniformGrid Grid.Column="1" Grid.Row="3" Columns="3">
|
||||
<Button Name="ReplaceBtn" Height="26" Margin="0,0,5,0"/>
|
||||
<Button Name="UpdateBtn" Height="26" Margin="5,0,5,0"/>
|
||||
<Button Name="CancelBtn" IsDefault="True" Height="26" Margin="5,0,0,0"/>
|
||||
</UniformGrid>
|
||||
|
||||
</Grid>
|
||||
|
||||
</Border>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -1,45 +0,0 @@
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class MachineBox
|
||||
|
||||
Public Shadows DialogResult As MessageBoxResult = MessageBoxResult.Cancel
|
||||
|
||||
Public Sub New( Owner As Window, sMachName As String)
|
||||
|
||||
InitializeComponent()
|
||||
|
||||
Me.Owner = Owner
|
||||
|
||||
Title = EgtMsg( 6534) ' Avviso
|
||||
|
||||
MessageLbl.Text = String.Format( EgtMsg( 6528), sMachName) ' La macchina "{0}" esiste già,<br/> cosa vuoi fare ?
|
||||
|
||||
ReplaceBtn.Content = EgtMsg( 6531) ' Sostituisci
|
||||
|
||||
UpdateBtn.Content = EgtMsg( 6532) ' Aggiorna
|
||||
|
||||
CancelBtn.Content = EgtMsg( 6533) ' Annulla
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ReplaceBtn_Click( sender As Object, e As RoutedEventArgs) Handles ReplaceBtn.Click
|
||||
DialogResult = MessageBoxResult.Yes
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateBtn_Click( sender As Object, e As RoutedEventArgs) Handles UpdateBtn.Click
|
||||
DialogResult = MessageBoxResult.No
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
Private Sub CancelBtn_Click( sender As Object, e As RoutedEventArgs) Handles CancelBtn.Click
|
||||
DialogResult = MessageBoxResult.Cancel
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
Public Overloads Function ShowDialog() As MessageBoxResult
|
||||
MyBase.ShowDialog()
|
||||
Return DialogResult
|
||||
End Function
|
||||
|
||||
End Class
|
||||
@@ -1,328 +1,342 @@
|
||||
<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"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
|
||||
MinWidth="400" MinHeight="382"
|
||||
Width="400" Height="412">
|
||||
<EgtWPFLib5:EgtMainWindow 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="{StaticResource Dialog_Window}"
|
||||
Title="{Binding Title}" Icon="/Resources/Icarus.ico"
|
||||
WindowStyle="None" ResizeMode="NoResize"
|
||||
WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
|
||||
MinWidth="400" MinHeight="382"
|
||||
Width="400" Height="412">
|
||||
|
||||
<!--<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<local:GeomTypeConverter x:Key="GeomTypeConverter"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.Resources>-->
|
||||
|
||||
<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"
|
||||
<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">
|
||||
<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>
|
||||
<!--<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding FontMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding FontList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedTextFont}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
</UniformGrid>-->
|
||||
<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>
|
||||
<!--<GroupBox Grid.Column="1" Grid.RowSpan="2"
|
||||
Header="{Binding DimensionMsg}"
|
||||
Margin="0,0,0,5">
|
||||
<UniformGrid Grid.ColumnSpan="2" Columns="2">
|
||||
<TextBlock Text="{Binding ExtLineLenMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ExtLineLen}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding ArrowLenMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ArrowLen}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding TextDistMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding TextDist}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding LenIsMMMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding UnitMeasureList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedUnitMeasure}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding DecDigitMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding DecDigit}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding FontMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding FontList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedFont}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding TextHeightMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding TextHeight}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>-->
|
||||
</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"/>
|
||||
<!--<TextBlock Grid.Row="3" Grid.Column="0"
|
||||
Text="{Binding ImageScaleFactorMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox Grid.Row="3" Grid.Column="1"
|
||||
ItemsSource="{Binding ScaleImageList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedImageScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBox Grid.Row="3" Grid.Column="2"
|
||||
Text="{Binding ImageScaleFactor}" Height="25"
|
||||
IsEnabled="{Binding ImageScaleEnable, 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>
|
||||
<!--<GroupBox Grid.Column="1" Grid.RowSpan="2"
|
||||
Header="{Binding MachiningSelGeomMsg}"
|
||||
Margin="5,5,5,0">
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="{Binding GeomTypeDrillingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedDrillingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeSawingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedSawingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeMillingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedMillingGeomType}" Height="25"
|
||||
<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">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypePocketingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedPocketingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeMortisingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedMortisingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeChiselingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedChiselingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding TopSceneBackgroundMsg}" VerticalAlignment="Center"/>
|
||||
<Button Background="{Binding TopSceneBackground}"
|
||||
Command="{Binding TopSceneBackground_Command}"
|
||||
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>-->
|
||||
<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>
|
||||
<!--<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding FontMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding FontList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedTextFont}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
</UniformGrid>-->
|
||||
<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>
|
||||
<!--<GroupBox Grid.Column="1" Grid.RowSpan="2"
|
||||
Header="{Binding DimensionMsg}"
|
||||
Margin="0,0,0,5">
|
||||
<UniformGrid Grid.ColumnSpan="2" Columns="2">
|
||||
<TextBlock Text="{Binding ExtLineLenMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ExtLineLen}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding ArrowLenMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ArrowLen}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding TextDistMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding TextDist}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding LenIsMMMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding UnitMeasureList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedUnitMeasure}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding DecDigitMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding DecDigit}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding FontMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding FontList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedFont}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
<TextBlock Text="{Binding TextHeightMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding TextHeight}" Height="25"
|
||||
VerticalContentAlignment="Center"
|
||||
Margin="10,5,0,0"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>-->
|
||||
</StackPanel>
|
||||
|
||||
<!--<Grid Margin="5,5,5,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding NewMachiningPosMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="0" Margin="0,0,0,5"/>
|
||||
<CheckBox IsChecked="{Binding NewMachiningIsLastOne}"
|
||||
Grid.Column="1" Grid.Row="0" Margin="4,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding UseDispositionScriptMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="1" Margin="0,0,0,5"/>
|
||||
<CheckBox IsChecked="{Binding UseDispositionScript}"
|
||||
Grid.Column="1" Grid.Row="1" Margin="4,0,0,0" VerticalAlignment="Center"/>
|
||||
</Grid>-->
|
||||
</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}"/>
|
||||
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Button Content="{Binding AddMachineMsg}" Command="{Binding AddMachine_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
<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"/>
|
||||
<!--<TextBlock Grid.Row="3" Grid.Column="0"
|
||||
Text="{Binding ImageScaleFactorMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox Grid.Row="3" Grid.Column="1"
|
||||
ItemsSource="{Binding ScaleImageList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedImageScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
|
||||
Margin="10,0,0,5"/>
|
||||
<TextBox Grid.Row="3" Grid.Column="2"
|
||||
Text="{Binding ImageScaleFactor}" Height="25"
|
||||
IsEnabled="{Binding ImageScaleEnable, 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>
|
||||
<!--<GroupBox Grid.Column="1" Grid.RowSpan="2"
|
||||
Header="{Binding MachiningSelGeomMsg}"
|
||||
Margin="5,5,5,0">
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="{Binding GeomTypeDrillingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedDrillingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeSawingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedSawingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeMillingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedMillingGeomType}" Height="25"
|
||||
Margin="0,0,0,5">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypePocketingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedPocketingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeMortisingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedMortisingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeChiselingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedChiselingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</UniformGrid>
|
||||
</GroupBox>-->
|
||||
|
||||
<Grid Margin="5,5,5,0">
|
||||
<Button Content="{Binding ExportMachineMsg}" Command="{Binding ExportMachine_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<!--<Grid Margin="5,5,5,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding NewMachiningPosMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="0" Margin="0,0,0,5"/>
|
||||
<CheckBox IsChecked="{Binding NewMachiningIsLastOne}"
|
||||
Grid.Column="1" Grid.Row="0" Margin="4,0,0,0" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding UseDispositionScriptMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="1" Margin="0,0,0,5"/>
|
||||
<CheckBox IsChecked="{Binding UseDispositionScript}"
|
||||
Grid.Column="1" Grid.Row="1" Margin="4,0,0,0" VerticalAlignment="Center"/>
|
||||
</Grid>-->
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
<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"
|
||||
Command="{Binding Ok_Command}"
|
||||
IsCancel="True"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
|
||||
@@ -563,17 +563,17 @@ Public Class OptionWindowVM
|
||||
End Property
|
||||
Public ReadOnly Property ThickLineMsg As String
|
||||
Get
|
||||
Return EgtMsg( 6536) ' Linee spesse
|
||||
Return EgtMsg(6536) ' Linee spesse
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property SmoothTriMeshMsg As String
|
||||
Get
|
||||
Return EgtMsg( 6518) ' Superfici smussate
|
||||
Return EgtMsg(6518) ' Superfici smussate
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property UpdateLicenceMsg As String
|
||||
Get
|
||||
Return EgtMsg( 6553) ' Aggiorna licenza
|
||||
Return EgtMsg(6553) ' Aggiorna licenza
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -759,15 +759,19 @@ Public Class OptionWindowVM
|
||||
End If
|
||||
Next
|
||||
' Creo dialogo colori
|
||||
Dim ColorDlg As New System.Windows.Forms.ColorDialog
|
||||
ColorDlg.FullOpen = True
|
||||
ColorDlg.CustomColors = nCustomColors.ToArray()
|
||||
ColorDlg.Color = Col.ToColor()
|
||||
'Dim ColorDlg As New System.Windows.Forms.ColorDialog
|
||||
'ColorDlg.FullOpen = True
|
||||
'ColorDlg.CustomColors = nCustomColors.ToArray()
|
||||
'ColorDlg.Color = Col.ToColor()
|
||||
Dim ColorDlg As New EgtColorPickerV(Application.Current.MainWindow, New EgtColorPickerVM()) With {
|
||||
.CustomColors = nCustomColors.ToArray(),
|
||||
.Color = Col.ToColor()
|
||||
}
|
||||
' Visualizzo dialogo
|
||||
If ColorDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return False
|
||||
' Recupero colore scelto
|
||||
'Recupero colore scelto
|
||||
NewCol.FromColor(ColorDlg.Color)
|
||||
' Salvo eventuali modifiche ai colori custom
|
||||
''Salvo eventuali modifiche ai colori custom
|
||||
sCustomColors = ""
|
||||
For Each Color In ColorDlg.CustomColors
|
||||
sCustomColors &= Color.ToString() & ","
|
||||
@@ -797,6 +801,9 @@ Public Class OptionWindowVM
|
||||
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
||||
''' </summary>
|
||||
Public Sub TopSceneBackgroundCmd()
|
||||
Dim x As New Forms.ColorDialog
|
||||
x.ShowDialog()
|
||||
|
||||
' Recupero colore da Ini
|
||||
Dim BackTopColor As New Color3d(192, 192, 192)
|
||||
GetMainPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor)
|
||||
@@ -953,71 +960,74 @@ Public Class OptionWindowVM
|
||||
Dim sMachDir As String = Path.Combine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, sMachName)
|
||||
' Preparo direttorio temporaneo
|
||||
Dim sTempDir As String = Path.Combine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, "Temp")
|
||||
If My.Computer.FileSystem.DirectoryExists( sTempDir) Then
|
||||
My.Computer.FileSystem.DeleteDirectory( sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
If My.Computer.FileSystem.DirectoryExists(sTempDir) Then
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
End If
|
||||
My.Computer.FileSystem.CreateDirectory( sTempDir)
|
||||
My.Computer.FileSystem.CreateDirectory(sTempDir)
|
||||
' Unzip nel direttorio temporaneo
|
||||
Using zip As New Ionic.Zip.ZipFile(sMachZip)
|
||||
zip.ExtractAll( sTempDir, Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite)
|
||||
zip.ExtractAll(sTempDir, Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite)
|
||||
End Using
|
||||
' Se non è una macchina segnalo il problema ed esco
|
||||
If Not My.Computer.FileSystem.FileExists( Path.Combine( sTempDir, sMachName, sMachName & ".ini")) Or
|
||||
Not My.Computer.FileSystem.FileExists( Path.Combine( sTempDir, sMachName, sMachName & ".mlde")) Then
|
||||
If Not My.Computer.FileSystem.FileExists(Path.Combine(sTempDir, sMachName, sMachName & ".ini")) Or
|
||||
Not My.Computer.FileSystem.FileExists(Path.Combine(sTempDir, sMachName, sMachName & ".mlde")) Then
|
||||
' Il file {0} non contiene una macchina - Avviso
|
||||
Dim sOut As String = String.Format(EgtMsg(6529), sMachZip)
|
||||
MessageBox.Show(sOut, EgtMsg(MSG_MESSAGEBOX + 2), MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
'MessageBox.Show(sOut, EgtMsg(MSG_MESSAGEBOX + 2), MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sOut, EgtMsg(MSG_MESSAGEBOX + 2), MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
' Rimuovo il direttorio temporaneo ed esco
|
||||
My.Computer.FileSystem.DeleteDirectory( sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
Return
|
||||
End If
|
||||
' Imposto data e ora correnti al file mlde della macchina
|
||||
Try
|
||||
File.SetLastWriteTime( Path.Combine( sTempDir, sMachName, sMachName & ".mlde"), System.DateTime.Now)
|
||||
File.SetLastWriteTime(Path.Combine(sTempDir, sMachName, sMachName & ".mlde"), System.DateTime.Now)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
' Verifico esistenza di una macchina con lo stesso nome
|
||||
Dim bOldExists As Boolean = My.Computer.FileSystem.DirectoryExists( sMachDir)
|
||||
Dim bOldExists As Boolean = My.Computer.FileSystem.DirectoryExists(sMachDir)
|
||||
Dim bUpdate As Boolean = True
|
||||
If bOldExists Then
|
||||
Dim MachBox As New MachineBox( Application.Current.MainWindow, sMachName)
|
||||
Select MachBox.ShowDialog()
|
||||
Case MessageBoxResult.Yes
|
||||
bUpdate = False
|
||||
Case MessageBoxResult.No
|
||||
bUpdate = True
|
||||
Case MessageBoxResult.Cancel
|
||||
' Rimuovo il direttorio temporaneo ed esco
|
||||
My.Computer.FileSystem.DeleteDirectory( sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
Return
|
||||
Dim MachBox As New UpdateMachineV(Application.Current.MainWindow, New UpdateMachineVM(sMachName))
|
||||
MachBox.ShowDialog()
|
||||
Select Case MachBox.DialogResult
|
||||
Case MessageBoxResult.Yes
|
||||
bUpdate = False
|
||||
Case MessageBoxResult.No
|
||||
bUpdate = True
|
||||
Case MessageBoxResult.Cancel
|
||||
' Rimuovo il direttorio temporaneo ed esco
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
Return
|
||||
End Select
|
||||
' Faccio una copia di backup della macchina corrente
|
||||
Dim sBackupDir As String = sMachDir & ".old"
|
||||
If My.Computer.FileSystem.DirectoryExists( sBackupDir) Then
|
||||
My.Computer.FileSystem.DeleteDirectory( sBackupDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
If My.Computer.FileSystem.DirectoryExists(sBackupDir) Then
|
||||
My.Computer.FileSystem.DeleteDirectory(sBackupDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
End If
|
||||
Try
|
||||
My.Computer.FileSystem.MoveDirectory( sMachDir, sBackupDir, True)
|
||||
My.Computer.FileSystem.MoveDirectory(sMachDir, sBackupDir, True)
|
||||
Catch ex As Exception
|
||||
' Ripristino lo stato originale ed esco
|
||||
My.Computer.FileSystem.MoveDirectory( sBackupDir, sMachDir, True)
|
||||
My.Computer.FileSystem.MoveDirectory(sBackupDir, sMachDir, True)
|
||||
' L'aggiornamento della macchina "{0}" non è riuscito.
|
||||
Dim sKo As String = String.Format(EgtMsg(6535), sMachName)
|
||||
EgtOutLog( sKo)
|
||||
MessageBox.Show(sKo, EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK)
|
||||
EgtOutLog(sKo)
|
||||
'MessageBox.Show(sKo, EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sKo, EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK)
|
||||
Return
|
||||
End Try
|
||||
End If
|
||||
' Installo la macchina
|
||||
My.Computer.FileSystem.MoveDirectory( Path.Combine( sTempDir, sMachName), sMachDir, True)
|
||||
My.Computer.FileSystem.MoveDirectory(Path.Combine(sTempDir, sMachName), sMachDir, True)
|
||||
' Se è un aggiornamento, recupero utensili, lavorazioni, attrezzaggi e dati per travi
|
||||
If bOldExists And bUpdate Then
|
||||
Dim sBackupDir As String = sMachDir & ".old"
|
||||
If My.Computer.FileSystem.DirectoryExists( sBackupDir & "\Tools") Then
|
||||
If My.Computer.FileSystem.DirectoryExists( sMachDir & "\Tools") Then
|
||||
My.Computer.FileSystem.DeleteDirectory( sMachDir & "\Tools", FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
If My.Computer.FileSystem.DirectoryExists(sBackupDir & "\Tools") Then
|
||||
If My.Computer.FileSystem.DirectoryExists(sMachDir & "\Tools") Then
|
||||
My.Computer.FileSystem.DeleteDirectory(sMachDir & "\Tools", FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
End If
|
||||
My.Computer.FileSystem.CopyDirectory( sBackupDir & "\Tools", sMachDir & "\Tools", True)
|
||||
My.Computer.FileSystem.CopyDirectory(sBackupDir & "\Tools", sMachDir & "\Tools", True)
|
||||
End If
|
||||
If My.Computer.FileSystem.DirectoryExists(sBackupDir & "\Machinings") Then
|
||||
If My.Computer.FileSystem.DirectoryExists(sMachDir & "\Machinings") Then
|
||||
@@ -1037,57 +1047,20 @@ Public Class OptionWindowVM
|
||||
End If
|
||||
My.Computer.FileSystem.CopyDirectory(sBackupDir & "\SetUp", sMachDir & "\SetUp", True)
|
||||
End If
|
||||
'If My.Computer.FileSystem.DirectoryExists( sBackupDir & "\Beam") Then
|
||||
' ' Flag per sovrascrivere vecchio file BeamData.lua con nuovo
|
||||
' Dim bBeamDataExists As Boolean = False
|
||||
' Const sBeamData As String = "\BeamData.lua"
|
||||
' ' Flag per sovrascrivere vecchio file MachiningTypes.ini
|
||||
' Dim bMchgTypesExists As Boolean = False
|
||||
' Const sMchgTypes As String = "\MachiningTypes.ini"
|
||||
' If My.Computer.FileSystem.DirectoryExists( sMachDir & "\Beam") Then
|
||||
' If My.Computer.FileSystem.FileExists( sMachDir & "\Beam" & sBeamData) Then
|
||||
' bBeamDataExists = True
|
||||
' My.Computer.FileSystem.MoveFile( sMachDir & "\Beam" & sBeamData, sMachDir & sBeamData, True)
|
||||
' End If
|
||||
' If My.Computer.FileSystem.FileExists( sMachDir & "\Beam" & sMchgTypes) Then
|
||||
' bMchgTypesExists = True
|
||||
' My.Computer.FileSystem.MoveFile( sMachDir & "\Beam" & sMchgTypes, sMachDir & sMchgTypes, True)
|
||||
' End If
|
||||
' My.Computer.FileSystem.DeleteDirectory( sMachDir & "\Beam", FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
' End If
|
||||
' My.Computer.FileSystem.CopyDirectory( sBackupDir & "\Beam", sMachDir & "\Beam", True)
|
||||
' If bBeamDataExists Then My.Computer.FileSystem.MoveFile( sMachDir & sBeamData, sMachDir & "\Beam" & sBeamData, True)
|
||||
' If bMchgTypesExists Then My.Computer.FileSystem.MoveFile( sMachDir & sMchgTypes, sMachDir & "\Beam" & sMchgTypes, True)
|
||||
'End If
|
||||
'If My.Computer.FileSystem.DirectoryExists( sBackupDir & "\Wall") Then
|
||||
' ' Flag per sovrascrittura vecchio file WallData.lua con nuovo
|
||||
' Dim bWallDataExists As Boolean = False
|
||||
' Const sWallData As String = "\WallData.lua"
|
||||
' ' Flag per sovrascrivere vecchio file MachiningTypes.ini
|
||||
' Dim bMchgTypesExists As Boolean = False
|
||||
' Const sMchgTypes As String = "\MachiningTypes.ini"
|
||||
' If My.Computer.FileSystem.DirectoryExists( sMachDir & "\Wall") Then
|
||||
' If My.Computer.FileSystem.FileExists( sMachDir & "\Wall" & sWallData) Then
|
||||
' bWallDataExists = True
|
||||
' My.Computer.FileSystem.MoveFile( sMachDir & "\Wall" & sWallData, sMachDir & sWallData, True)
|
||||
' End If
|
||||
' If My.Computer.FileSystem.FileExists( sMachDir & "\Wall" & sMchgTypes) Then
|
||||
' bMchgTypesExists = True
|
||||
' My.Computer.FileSystem.MoveFile( sMachDir & "\Wall" & sMchgTypes, sMachDir & sMchgTypes, True)
|
||||
' End If
|
||||
' My.Computer.FileSystem.DeleteDirectory( sMachDir & "\Wall", FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
' End If
|
||||
' My.Computer.FileSystem.CopyDirectory( sBackupDir & "\Wall", sMachDir & "\Wall", True)
|
||||
' If bWallDataExists Then My.Computer.FileSystem.MoveFile( sMachDir & sWallData, sMachDir & "\Wall" & sWallData, True)
|
||||
' If bMchgTypesExists Then My.Computer.FileSystem.MoveFile( sMachDir & sMchgTypes, sMachDir & "\Wall" & sMchgTypes, True)
|
||||
'End If
|
||||
If My.Computer.FileSystem.DirectoryExists(sBackupDir & "\CustomData") Then
|
||||
If My.Computer.FileSystem.DirectoryExists(sMachDir & "\CustomData") Then
|
||||
My.Computer.FileSystem.DeleteDirectory(sMachDir & "\CustomData", FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
End If
|
||||
My.Computer.FileSystem.CopyDirectory(sBackupDir & "\CustomData", sMachDir & "\CustomData", True)
|
||||
End If
|
||||
End If
|
||||
'La macchina "{0}" è stata aggiornata con successo.
|
||||
Dim sOk As String = String.Format(EgtMsg(6530), sMachName)
|
||||
EgtOutLog( sOk)
|
||||
MessageBox.Show(sOk, EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK)
|
||||
EgtOutLog(sOk)
|
||||
'MessageBox.Show(sOk, EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sOk, EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK)
|
||||
' Rimuovo il direttorio temporaneo
|
||||
My.Computer.FileSystem.DeleteDirectory( sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
' Aggiorno la lista delle macchina
|
||||
MyMachine.InsertMachine(sMachDir, Map.refMachinePanelVM.MachineList)
|
||||
End Sub
|
||||
@@ -1133,7 +1106,7 @@ Public Class OptionWindowVM
|
||||
' aggiungo i file della Macchina
|
||||
Dim sMachineDir As String = Map.refMainWindowVM.MainWindowM.sMachinesRoot & "\" & sCurrMachineName
|
||||
If Directory.Exists(sMachineDir) Then
|
||||
zip.AddSelectedFiles( "name != *\.git\*.* and name != *.git*", sMachineDir, sCurrMachineName, True)
|
||||
zip.AddSelectedFiles("name != *\.git\*.* and name != *.git*", sMachineDir, sCurrMachineName, True)
|
||||
End If
|
||||
' salvo lo zip
|
||||
zip.Save()
|
||||
@@ -1143,12 +1116,14 @@ Public Class OptionWindowVM
|
||||
' L'esportazione della macchina "{0}" non è riuscita.
|
||||
Dim sKo As String = String.Format(EgtMsg(6551), sCurrMachineName)
|
||||
EgtOutLog(sKo)
|
||||
MessageBox.Show(sKo, EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK)
|
||||
'MessageBox.Show(sKo, EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sKo, EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK)
|
||||
End Try
|
||||
'La macchina "{0}" è stata esportata con successo.
|
||||
Dim sOk As String = String.Format(EgtMsg(6552), sCurrMachineName)
|
||||
EgtOutLog(sOk)
|
||||
MessageBox.Show(sOk, EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK)
|
||||
'MessageBox.Show(sOk, EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sOk, EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK)
|
||||
End Sub
|
||||
|
||||
#End Region ' ExportMachine
|
||||
@@ -1255,10 +1230,15 @@ Public Class LayerColor
|
||||
End If
|
||||
Next
|
||||
' Creo dialogo colori
|
||||
Dim ColorDlg As New System.Windows.Forms.ColorDialog
|
||||
ColorDlg.FullOpen = True
|
||||
ColorDlg.CustomColors = nCustomColors.ToArray()
|
||||
ColorDlg.Color = Col.ToColor()
|
||||
'Dim ColorDlg As New System.Windows.Forms.ColorDialog
|
||||
'ColorDlg.FullOpen = True
|
||||
'ColorDlg.CustomColors = nCustomColors.ToArray()
|
||||
'ColorDlg.Color = Col.ToColor()
|
||||
'' Visualizzo dialogo
|
||||
Dim ColorDlg As New EgtColorPickerV(Application.Current.MainWindow, New EgtColorPickerVM()) With {
|
||||
.CustomColors = nCustomColors.ToArray(),
|
||||
.Color = Col.ToColor()
|
||||
}
|
||||
' Visualizzo dialogo
|
||||
If ColorDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return False
|
||||
' Recupero colore scelto
|
||||
|
||||
@@ -150,6 +150,20 @@ Public Class ProjManagerVM
|
||||
''' </summary>
|
||||
Public Sub NewProjectCmd()
|
||||
NewProject(True)
|
||||
'Dim x As New OpenFileDialog()
|
||||
'x.ShowDialog()
|
||||
|
||||
Dim sDir As String = "C:\EgtData\Test3dPrinting"
|
||||
Dim od As New EgtManageFileDialogV(Application.Current.MainWindow, New EgtManageFileDialogVM()) With {
|
||||
.Title = "Open",
|
||||
.Filter = "Icarus project(*.icrs)|*.icrs" &
|
||||
"|New geometry EgalTech(*.nge)|*.nge",
|
||||
.FileName = "New.icrs",
|
||||
.FilterIndex = 1,
|
||||
.InitialDirectory = sDir,
|
||||
.Mode = 1}
|
||||
od.ShowDialog()
|
||||
Dim sFilePath As String = od.FileName
|
||||
End Sub
|
||||
|
||||
Friend Sub NewProject(bDialog As Boolean)
|
||||
@@ -193,23 +207,11 @@ Public Class ProjManagerVM
|
||||
''' Execute the Open. This method is invoked by the OpenCommand.
|
||||
''' </summary>
|
||||
Friend Sub Open()
|
||||
OpenProject(Nothing)
|
||||
OpenProject("")
|
||||
End Sub
|
||||
|
||||
Friend Function OpenProject(sFilePath As String) As Boolean
|
||||
If String.IsNullOrEmpty(sFilePath) Then
|
||||
' Recupero cartella dell'ultimo progetto aperto
|
||||
Dim sDir As String = Map.refSceneHostVM.MainController.GetCurrFile()
|
||||
If String.IsNullOrWhiteSpace(sDir) Then
|
||||
GetMainPrivateProfileString(S_MRUFILES, K_FILE & 1, "", sDir)
|
||||
End If
|
||||
If Not String.IsNullOrWhiteSpace(sDir) Then
|
||||
sDir = Path.GetDirectoryName(sDir)
|
||||
End If
|
||||
Return Map.refSceneHostVM.MainController.OpenProject(sDir)
|
||||
Else
|
||||
Return Map.refSceneHostVM.MainController.OpenProject(sFilePath, False)
|
||||
End If
|
||||
Return Map.refSceneHostVM.OpenProject(sFilePath)
|
||||
End Function
|
||||
|
||||
#End Region ' OpenCommand
|
||||
@@ -382,7 +384,8 @@ Public Class ProjManagerVM
|
||||
GetMainPrivateProfileString(S_GENERAL, K_SUPPORT, "support@egaltech.com", sSupportAddress)
|
||||
' se vuoto do messaggio di errore ed esco
|
||||
If String.IsNullOrWhiteSpace(sSupportAddress) Then
|
||||
MessageBox.Show(EgtMsg(MSG_TOPCOMMANDBAR + 10), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
'MessageBox.Show(EgtMsg(MSG_TOPCOMMANDBAR + 10), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(MSG_TOPCOMMANDBAR + 10), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
Return
|
||||
End If
|
||||
' Recupero numero chiave
|
||||
@@ -393,14 +396,16 @@ Public Class ProjManagerVM
|
||||
EgtGetCurrFilePath(sCurrProject)
|
||||
' se nome file vuoto o con estensione non valida, chiedo se si vuole salvare
|
||||
If String.IsNullOrWhiteSpace(sCurrProject) Or EgtGetFileType(sCurrProject) <> FT.NGE Then
|
||||
If MessageBox.Show(EgtMsg(MSG_TOPCOMMANDBAR + 11), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
'If MessageBox.Show(EgtMsg(MSG_TOPCOMMANDBAR + 11), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
If EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(MSG_TOPCOMMANDBAR + 11), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
Map.refSceneHostVM.SaveProject()
|
||||
End If
|
||||
EgtGetCurrFilePath(sCurrProject)
|
||||
' se modificato, chiedo se si vuole salvare
|
||||
' se modificato, chiedo se si vuole salvare
|
||||
Else
|
||||
If EgtGetModified() Then
|
||||
If MessageBox.Show(EgtMsg(MSG_TOPCOMMANDBAR + 11), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
'If MessageBox.Show(EgtMsg(MSG_TOPCOMMANDBAR + 11), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
If EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(MSG_TOPCOMMANDBAR + 11), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
Map.refSceneHostVM.SaveProject()
|
||||
End If
|
||||
End If
|
||||
@@ -487,7 +492,8 @@ Public Class ProjManagerVM
|
||||
bEx = True
|
||||
End Try
|
||||
If bEx OrElse EgtWPFLib5.MapiMailMessage.m_ErrorCode <> 0 Then
|
||||
MessageBox.Show(String.Format(EgtMsg(MSG_TOPCOMMANDBAR + 12), sSupportAddress, sZipToCreate), EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
'MessageBox.Show(String.Format(EgtMsg(MSG_TOPCOMMANDBAR + 12), sSupportAddress, sZipToCreate), EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, String.Format(EgtMsg(MSG_TOPCOMMANDBAR + 12), sSupportAddress, sZipToCreate), EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
Else
|
||||
Map.refMyStatusBarVM.SetOutputMessage(EgtMsg(MSG_TOPCOMMANDBAR + 14), 5)
|
||||
End If
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:PrintApp="clr-namespace:Icarus">
|
||||
|
||||
<DockPanel.Resources>
|
||||
<PrintApp:VisibilityToRowConverter x:Key="VisibilityToRowConverter"/>
|
||||
</DockPanel.Resources>
|
||||
<Grid DockPanel.Dock="Top">
|
||||
<PrintApp:TopPanelV Grid.Column="1"
|
||||
DataContext="{StaticResource TopPanelVM }"/>
|
||||
@@ -27,12 +29,27 @@
|
||||
DataContext="{StaticResource SliderManagerVM}"
|
||||
HorizontalAlignment="Stretch"/>
|
||||
<!--StatusBar -->
|
||||
<PrintApp:ControllerInputPanelV Grid.Row="1"
|
||||
<Grid Grid.RowSpan="2"
|
||||
Grid.ColumnSpan="2">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="67"/>
|
||||
</Grid.RowDefinitions>
|
||||
<PrintApp:MessagePanelV Grid.Row="{Binding DataContext.Message_Visibility, ElementName=ControllerInputPanelV, Converter={StaticResource VisibilityToRowConverter}}"
|
||||
Grid.ColumnSpan="2"
|
||||
DataContext="{StaticResource StatusBarVM}"/>
|
||||
<PrintApp:ControllerInputPanelV x:Name="ControllerInputPanelV" Grid.Row="2"
|
||||
Grid.ColumnSpan="2"
|
||||
DataContext="{StaticResource ControllerInputPanelVM}"/>
|
||||
</Grid>
|
||||
|
||||
<!--<PrintApp:ControllerInputPanelV Grid.Row="1"
|
||||
Grid.ColumnSpan="2"
|
||||
DataContext="{StaticResource ControllerInputPanelVM}"/>
|
||||
<PrintApp:MessagePanelV Grid.Row="1"
|
||||
Grid.ColumnSpan="2"
|
||||
DataContext="{StaticResource StatusBarVM}"/>
|
||||
DataContext="{StaticResource StatusBarVM}"/>-->
|
||||
<PrintApp:ShowPanelV Grid.Column="2"
|
||||
Grid.Row="1"
|
||||
DataContext="{StaticResource ShowPanelVM}"/>
|
||||
|
||||
@@ -3,6 +3,7 @@ Imports EgtWPFLib5
|
||||
Imports EgtUILib
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.IO
|
||||
Imports System.Globalization
|
||||
|
||||
Public Class ProjectVM
|
||||
Inherits VMBase
|
||||
@@ -28,3 +29,15 @@ Public Class ProjectVM
|
||||
|
||||
End Class
|
||||
|
||||
Public Class VisibilityToRowConverter
|
||||
Implements IValueConverter
|
||||
|
||||
Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.Convert
|
||||
If IsNothing(value) Then Return 2
|
||||
Return If(value = Visibility.Visible, 1, 2)
|
||||
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
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<UserControl x:Class="ReferencePanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:PrintApp="clr-namespace:Icarus">
|
||||
<Border Padding="2.5"
|
||||
Style="{StaticResource LeftPanel_PopupButton_Border}">
|
||||
<Grid>
|
||||
@@ -33,12 +34,33 @@
|
||||
</ListBox.ItemContainerStyle>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<RadioButton Content="{Binding sText}"
|
||||
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}"/>
|
||||
<PrintApp:CheckedImageRadioButton IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"
|
||||
ImageSource="{Binding sText}"
|
||||
CheckedImageSource="{Binding sSelText}"
|
||||
FontSize="40"
|
||||
GroupName="ReferenceRadio"
|
||||
Margin="2.5,2.5,2.5,2.5">
|
||||
<!--<RadioButton.Resources>
|
||||
<DataTemplate x:Key="Normal">
|
||||
<Image Source="{Binding sText}"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="Selected">
|
||||
<Image Source="{Binding sSelText}"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</DataTemplate>
|
||||
</RadioButton.Resources>
|
||||
<RadioButton.Style>
|
||||
<Style TargetType="{x:Type RadioButton}" BasedOn="{StaticResource OptionPanel_NestingToggleButton}">
|
||||
<Setter Property="ContentTemplate" Value="{StaticResource Normal}"/>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsChecked" Value="True">
|
||||
<Setter Property="ContentTemplate" Value="{StaticResource Selected}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</RadioButton.Style>-->
|
||||
</PrintApp:CheckedImageRadioButton>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
|
||||
@@ -190,25 +190,52 @@ Public Class ReferenceBtn
|
||||
Get
|
||||
Select Case Type
|
||||
Case References.TL
|
||||
Return "┌"
|
||||
Return "/Resources/ReferencePanel/TL.png" '"┌"
|
||||
Case References.TR
|
||||
Return "┐"
|
||||
Return "/Resources/ReferencePanel/TR.png" '"┐"
|
||||
Case References.BL
|
||||
Return "└"
|
||||
Return "/Resources/ReferencePanel/BL.png" '"└"
|
||||
Case References.BR
|
||||
Return "┘"
|
||||
Return "/Resources/ReferencePanel/BR.png" '"┘"
|
||||
Case References.TC
|
||||
Return "┬"
|
||||
Return "/Resources/ReferencePanel/TC.png" '"┬"
|
||||
Case References.ML
|
||||
Return "├"
|
||||
Return "/Resources/ReferencePanel/ML.png" '"├"
|
||||
Case References.MR
|
||||
Return "┤"
|
||||
Return "/Resources/ReferencePanel/MR.png" '"┤"
|
||||
Case References.BC
|
||||
Return "┴"
|
||||
Return "/Resources/ReferencePanel/BC.png" '"┴"
|
||||
Case References.MC
|
||||
Return "┼"
|
||||
Return "/Resources/ReferencePanel/MC.png" '"┼"
|
||||
Case Else
|
||||
Return "X"
|
||||
Return "" '"X"
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property sSelText As String
|
||||
Get
|
||||
Select Case Type
|
||||
Case References.TL
|
||||
Return "/Resources/ReferencePanel/White_TL.png" '"┌"
|
||||
Case References.TR
|
||||
Return "/Resources/ReferencePanel/White_TR.png" '"┐"
|
||||
Case References.BL
|
||||
Return "/Resources/ReferencePanel/White_BL.png" '"└"
|
||||
Case References.BR
|
||||
Return "/Resources/ReferencePanel/White_BR.png" '"┘"
|
||||
Case References.TC
|
||||
Return "/Resources/ReferencePanel/White_TC.png" '"┬"
|
||||
Case References.ML
|
||||
Return "/Resources/ReferencePanel/White_ML.png" '"├"
|
||||
Case References.MR
|
||||
Return "/Resources/ReferencePanel/White_MR.png" '"┤"
|
||||
Case References.BC
|
||||
Return "/Resources/ReferencePanel/White_BC.png" '"┴"
|
||||
Case References.MC
|
||||
Return "/Resources/ReferencePanel/White_MC.png" '"┼"
|
||||
Case Else
|
||||
Return "" '"X"
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 136 B |
|
After Width: | Height: | Size: 254 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 374 B |
|
After Width: | Height: | Size: 254 B |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 311 B |
|
After Width: | Height: | Size: 311 B |
|
After Width: | Height: | Size: 311 B |
|
After Width: | Height: | Size: 321 B |
|
After Width: | Height: | Size: 197 B |
|
After Width: | Height: | Size: 226 B |
|
After Width: | Height: | Size: 235 B |
|
After Width: | Height: | Size: 366 B |
|
After Width: | Height: | Size: 229 B |
|
After Width: | Height: | Size: 199 B |
|
After Width: | Height: | Size: 204 B |
|
After Width: | Height: | Size: 215 B |
|
After Width: | Height: | Size: 233 B |
|
After Width: | Height: | Size: 221 B |
|
After Width: | Height: | Size: 197 B |
|
After Width: | Height: | Size: 226 B |
|
After Width: | Height: | Size: 197 B |
|
After Width: | Height: | Size: 229 B |
|
After Width: | Height: | Size: 199 B |
|
After Width: | Height: | Size: 204 B |
|
After Width: | Height: | Size: 215 B |
|
After Width: | Height: | Size: 233 B |
|
After Width: | Height: | Size: 221 B |
|
After Width: | Height: | Size: 411 B |
|
After Width: | Height: | Size: 528 B |
|
After Width: | Height: | Size: 566 B |
|
Before Width: | Height: | Size: 407 B After Width: | Height: | Size: 331 B |
|
After Width: | Height: | Size: 431 B |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 311 B |
|
After Width: | Height: | Size: 341 B |
@@ -42,6 +42,10 @@ Public Class RibPanelVM
|
||||
Return m_SelRib
|
||||
End Get
|
||||
Set(value As RibEntity)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse Map.refRibPanelVM.bCPlaneObj_IsActive Then
|
||||
NotifyPropertyChanged(NameOf(SelRib))
|
||||
Return
|
||||
End If
|
||||
m_SelRib = value
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(value) Then
|
||||
@@ -238,7 +242,7 @@ Public Class RibPanelVM
|
||||
Return m_bAdd_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bAdd_IsChecked = value
|
||||
If value Then
|
||||
m_bEdit_IsChecked = False
|
||||
@@ -260,7 +264,7 @@ Public Class RibPanelVM
|
||||
Return m_bEdit_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not IsNothing(m_SelRib) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not IsNothing(m_SelRib) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bEdit_IsChecked = value
|
||||
If value Then
|
||||
m_bAdd_IsChecked = False
|
||||
@@ -284,7 +288,7 @@ Public Class RibPanelVM
|
||||
Return m_bGrid_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bGrid_IsChecked = value
|
||||
If value Then
|
||||
m_bAdd_IsChecked = False
|
||||
@@ -312,7 +316,7 @@ Public Class RibPanelVM
|
||||
Return m_bMove_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not IsNothing(m_SelRib) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not IsNothing(m_SelRib) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bMove_IsChecked = value
|
||||
If value Then
|
||||
m_bAdd_IsChecked = False
|
||||
@@ -336,7 +340,7 @@ Public Class RibPanelVM
|
||||
Return m_bRotate_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not IsNothing(m_SelRib) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then
|
||||
If Not IsNothing(m_SelRib) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
|
||||
m_bRotate_IsChecked = value
|
||||
If value Then
|
||||
m_bAdd_IsChecked = False
|
||||
@@ -360,7 +364,7 @@ Public Class RibPanelVM
|
||||
Return m_bMachParam_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Not IsNothing(m_SelRib) AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not IsNothing(Map.refTopPanelVM.SelMachining) AndAlso value Then
|
||||
If Not IsNothing(m_SelRib) AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive AndAlso Not IsNothing(Map.refTopPanelVM.SelMachining) AndAlso value Then
|
||||
m_bMachParam_IsChecked = True
|
||||
m_bAdd_IsChecked = False
|
||||
m_bEdit_IsChecked = False
|
||||
@@ -374,6 +378,8 @@ Public Class RibPanelVM
|
||||
NotifyPropertyChanged(NameOf(bRotate_IsChecked))
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.RIBPARAM)
|
||||
NotifyPropertyChanged(NameOf(RibList_IsEnabled))
|
||||
' disattivo interfaccia
|
||||
ManageInterface(False)
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked))
|
||||
End If
|
||||
@@ -383,6 +389,8 @@ Public Class RibPanelVM
|
||||
m_bMachParam_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(bMachParam_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(RibList_IsEnabled))
|
||||
' riattivo interfaccia
|
||||
ManageInterface(True)
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property Compo_Visibility As Visibility
|
||||
@@ -391,11 +399,17 @@ Public Class RibPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_RibList_IsEnabled As Boolean = False
|
||||
Public ReadOnly Property RibList_IsEnabled As Boolean
|
||||
Get
|
||||
Return Not m_bMachParam_IsChecked
|
||||
Return If(m_RibList.Count > 0, m_RibList_IsEnabled, False)
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetRibListIsEnabled(bValue As Boolean)
|
||||
m_RibList_IsEnabled = bValue
|
||||
NotifyPropertyChanged(NameOf(RibList_IsEnabled))
|
||||
End Sub
|
||||
|
||||
' riferimento griglia all'ingresso in questa pagina
|
||||
Private m_OriginalGridFrame As New Frame3d
|
||||
|
||||
@@ -413,6 +427,8 @@ Public Class RibPanelVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bEscOnLine2P As Boolean = False
|
||||
|
||||
#Region "Tooltip"
|
||||
|
||||
Public ReadOnly Property Import_ToolTip As String
|
||||
@@ -542,7 +558,6 @@ Public Class RibPanelVM
|
||||
Private m_cmdCPlaneObj As ICommand
|
||||
Private m_cmdDragMove As ICommand
|
||||
Private m_cmdDragRotate As ICommand
|
||||
Private m_cmdMachParam As ICommand
|
||||
|
||||
#End Region ' FIELDS & PROPERTIES
|
||||
|
||||
@@ -597,6 +612,8 @@ Public Class RibPanelVM
|
||||
SelRib = m_RibList(0)
|
||||
NotifyPropertyChanged(NameOf(SelRib))
|
||||
End If
|
||||
' abilito lista ribs
|
||||
SetRibListIsEnabled(True)
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End Sub
|
||||
|
||||
@@ -624,7 +641,7 @@ Public Class RibPanelVM
|
||||
' attivo modifiche su scena
|
||||
Map.refSceneHostVM.MainScene.ResetStatus()
|
||||
' rendo traspanete estrusione
|
||||
EgtSetAlpha(m_SelRib.nExtrusionId, 50)
|
||||
'EgtSetAlpha(m_SelRib.nExtrusionId, 50)
|
||||
' seleziono percorso corrente
|
||||
EgtDeselectAll()
|
||||
Select Case RibSelectionType
|
||||
@@ -632,8 +649,13 @@ Public Class RibPanelVM
|
||||
EgtSelectObj(m_SelRib.nCurveId)
|
||||
Case RibSelectionTypes.EXTRUSION
|
||||
' creo layer per estrusione
|
||||
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewExtrusionLayerId, LAY_NEWEXTRUSION)
|
||||
Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
|
||||
If nNewExtrusionLayerId = GDB_ID.NULL Then
|
||||
nNewExtrusionLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewExtrusionLayerId, LAY_NEWEXTRUSION)
|
||||
Else
|
||||
EgtEmptyGroup(nNewExtrusionLayerId)
|
||||
End If
|
||||
EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
|
||||
EgtSelectObj(m_SelRib.nCurveId)
|
||||
Case RibSelectionTypes.BOTH
|
||||
@@ -641,6 +663,8 @@ Public Class RibPanelVM
|
||||
EgtSelectObj(m_SelRib.nExtrusionId)
|
||||
End Select
|
||||
EgtDraw()
|
||||
' disattivo il resto dell'interfaccia
|
||||
ManageInterface(False)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
@@ -650,6 +674,7 @@ Public Class RibPanelVM
|
||||
End Sub
|
||||
|
||||
Friend Sub OnExecCmdEnd(command As Controller.CMD)
|
||||
m_bEscOnLine2P = False
|
||||
Select Case command
|
||||
Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE
|
||||
' leggo altezza estrusione
|
||||
@@ -667,12 +692,12 @@ Public Class RibPanelVM
|
||||
' seleziono nuova estrusione
|
||||
EgtSelectObj(m_SelRib.nExtrusionId)
|
||||
' ripristino trasparenza estrusione
|
||||
EgtSetAlpha(m_SelRib.nExtrusionId, 100)
|
||||
'EgtSetAlpha(m_SelRib.nExtrusionId, 100)
|
||||
EgtDraw()
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
Case Controller.CMD.MOVE, Controller.CMD.ROTATE
|
||||
EgtSetAlpha(Map.refRibPanelVM.SelRib.nExtrusionId, 100)
|
||||
' EgtSetAlpha(Map.refRibPanelVM.SelRib.nExtrusionId, 100)
|
||||
' seleziono nuova estrusione
|
||||
EgtSelectObj(m_SelRib.nExtrusionId)
|
||||
EgtDraw()
|
||||
@@ -689,6 +714,10 @@ Public Class RibPanelVM
|
||||
' Imposto flag di ricalcolo slice
|
||||
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
||||
End Select
|
||||
' se non ho creato percorso riabilito interfaccia
|
||||
If Not m_bIsCreatingPath Then
|
||||
ManageInterface(True)
|
||||
End If
|
||||
If command <> Controller.CMD.LINE2P AndAlso command <> Controller.CMD.EXTRUDE Then Return
|
||||
' se finita creazione estrusione
|
||||
If m_bIsCreatingExtrusion Then
|
||||
@@ -740,18 +769,25 @@ Public Class RibPanelVM
|
||||
' lo seleziono
|
||||
SelRib = NewEntity
|
||||
NotifyPropertyChanged(NameOf(SelRib))
|
||||
' creo layer per estrusione
|
||||
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewExtrusionLayerId, LAY_NEWEXTRUSION)
|
||||
' verifico se esiste gia' layer estrusione e lo svuoto
|
||||
Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
|
||||
If nNewExtrusionLayerId <> GDB_ID.NULL Then
|
||||
EgtEmptyGroup(nNewExtrusionLayerId)
|
||||
Else
|
||||
' altrimenti lo creo
|
||||
nNewExtrusionLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewExtrusionLayerId, LAY_NEWEXTRUSION)
|
||||
End If
|
||||
EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
|
||||
' seleziono percorso da estrudere
|
||||
EgtDeselectAll()
|
||||
EgtSelectObj(nNewEntityId)
|
||||
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
|
||||
m_bIsCreatingExtrusion = True
|
||||
If Not EgtCurveIsClosed(nNewEntityId) Then
|
||||
m_bEscOnLine2P = True
|
||||
End If
|
||||
Else
|
||||
' cancello layer
|
||||
'EgtErase(nNewRibLayerId)
|
||||
EgtErase(nNewExtrusionLayerId)
|
||||
End If
|
||||
End If
|
||||
@@ -774,6 +810,13 @@ Public Class RibPanelVM
|
||||
' rimetto la selezione scena a null
|
||||
Map.refSceneHostVM.MainScene.SetStatusNull()
|
||||
End If
|
||||
' se esc su creazione percorso, lo annullo, altrimenti riabilito interfaccia
|
||||
If m_bEscOnLine2P Then
|
||||
m_bEscOnLine2P = False
|
||||
Else
|
||||
If m_bIsCreatingExtrusion Then m_bIsCreatingExtrusion = False
|
||||
ManageInterface(True)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -809,6 +852,18 @@ Public Class RibPanelVM
|
||||
Return nRibIndex + 1
|
||||
End Function
|
||||
|
||||
Friend Sub ManageInterface(bValue As Boolean)
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(bValue)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(bValue)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(bValue)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(bValue)
|
||||
Map.refSliceManagerVM.SetButtonsIsEnabled(bValue)
|
||||
Map.refInstrumentPanelVM.SetInstrumentPanelIsEnabled(bValue)
|
||||
SetRibListIsEnabled(bValue)
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -831,8 +886,10 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
|
||||
''' </summary>
|
||||
Public Sub Import(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.InsertRib()
|
||||
ManageInterface(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Import
|
||||
@@ -855,7 +912,8 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
|
||||
''' </summary>
|
||||
Public Sub Line2P(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Dim nNewRibLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWRIB)
|
||||
If nNewRibLayerId = GDB_ID.NULL Then nNewRibLayerId = EgtCreateGroup(m_nPartId)
|
||||
EgtSetName(nNewRibLayerId, LAY_NEWRIB)
|
||||
@@ -880,7 +938,7 @@ Public Class RibPanelVM
|
||||
End Property
|
||||
|
||||
Public Sub Delete()
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
If IsNothing(SelRib) Then Return
|
||||
Dim bOk As Boolean = False
|
||||
Select Case m_SelRib.Type
|
||||
@@ -900,10 +958,11 @@ Public Class RibPanelVM
|
||||
Else
|
||||
SelRib = Nothing
|
||||
m_bEdit_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf( bEdit_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bEdit_IsChecked))
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(SelRib))
|
||||
End If
|
||||
SetRibListIsEnabled(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Delete
|
||||
@@ -926,7 +985,7 @@ Public Class RibPanelVM
|
||||
''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
|
||||
''' </summary>
|
||||
Public Sub ModifyCurve(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(RibSelectionTypes.CURVE)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MODIFYCURVE)
|
||||
End Sub
|
||||
@@ -951,7 +1010,7 @@ Public Class RibPanelVM
|
||||
''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
|
||||
''' </summary>
|
||||
Public Sub AddPointCurve(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(RibSelectionTypes.CURVE)
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOARC)
|
||||
@@ -980,7 +1039,7 @@ Public Class RibPanelVM
|
||||
''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
|
||||
''' </summary>
|
||||
Public Sub RemovePointCurve(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(RibSelectionTypes.CURVE)
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOLINE)
|
||||
@@ -1009,7 +1068,7 @@ Public Class RibPanelVM
|
||||
''' Execute the Extrude. This method is invoked by the ExtrudeCommand.
|
||||
''' </summary>
|
||||
Public Sub Extrude(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(RibSelectionTypes.EXTRUSION)
|
||||
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
|
||||
m_bIsCreatingExtrusion = True
|
||||
@@ -1036,7 +1095,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneTop(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.TOP)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1061,7 +1120,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneFront. This method is invoked by the CPlaneFrontCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneFront(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.FRONT)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1086,7 +1145,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneRight. This method is invoked by the CPlaneRightCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneRight(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.RIGHT)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1111,7 +1170,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneBack. This method is invoked by the CPlaneBackCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneBack(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.BACK)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1136,7 +1195,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneLeft. This method is invoked by the CPlaneLeftCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneLeft(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.LEFT)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1161,7 +1220,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneBottom. This method is invoked by the CPlaneBottomCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneBottom(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.SetLastInteger(Controller.GRID_TYPE.BOTTOM)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
|
||||
End Sub
|
||||
@@ -1186,7 +1245,8 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneElevation. This method is invoked by the CPlaneElevationCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneElevation(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ELEVATION)
|
||||
End Sub
|
||||
|
||||
@@ -1210,7 +1270,8 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneOrigin. This method is invoked by the CPlaneOriginCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneOrigin(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ORIGIN)
|
||||
End Sub
|
||||
|
||||
@@ -1234,7 +1295,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneRotate(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) <> ModifierKeys.Shift Then
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE)
|
||||
Else
|
||||
@@ -1262,7 +1323,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlane3P(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_3P)
|
||||
End Sub
|
||||
|
||||
@@ -1286,7 +1347,7 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlanePerpObj(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_PERPCURVE)
|
||||
End Sub
|
||||
|
||||
@@ -1326,7 +1387,8 @@ Public Class RibPanelVM
|
||||
''' Execute the CPlaneObj. This method is invoked by the CPlaneObjCommand.
|
||||
''' </summary>
|
||||
Public Sub CPlaneObj(ByVal param As Object)
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
ManageInterface(False)
|
||||
' salvo selezione precedente e deseleziono altri oggetti
|
||||
m_PrevSelObjs.Clear()
|
||||
Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
|
||||
@@ -1336,7 +1398,7 @@ Public Class RibPanelVM
|
||||
End While
|
||||
EgtDeselectAll()
|
||||
m_bCPlaneObj_IsActive = True
|
||||
' Map.refControllerInputPanelVM.PrepareInputBox("Grid from Selection", "Select the face of the object where to place the grid", "", False, False)
|
||||
Map.refControllerInputPanelVM.ShowMessage("Grid from Selection", "Select the face of the object where to place the grid")
|
||||
End Sub
|
||||
|
||||
#End Region ' CPlaneObj
|
||||
@@ -1353,6 +1415,7 @@ Public Class RibPanelVM
|
||||
End Property
|
||||
|
||||
Public Sub DragMove()
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(RibSelectionTypes.BOTH)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MOVE)
|
||||
End Sub
|
||||
@@ -1371,40 +1434,13 @@ Public Class RibPanelVM
|
||||
End Property
|
||||
|
||||
Public Sub DragRotate()
|
||||
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
|
||||
InitCommand(RibSelectionTypes.BOTH)
|
||||
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.ROTATE)
|
||||
End Sub
|
||||
|
||||
#End Region ' DragRotate
|
||||
|
||||
#Region "MachParam"
|
||||
|
||||
Public ReadOnly Property MachParam_Command As ICommand
|
||||
Get
|
||||
If m_cmdMachParam Is Nothing Then
|
||||
m_cmdMachParam = New Command(AddressOf MachParam)
|
||||
End If
|
||||
Return m_cmdMachParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub MachParam()
|
||||
If IsNothing(Map.refTopPanelVM.SelMachining) Then Return
|
||||
m_bAdd_IsChecked = False
|
||||
m_bEdit_IsChecked = False
|
||||
m_bGrid_IsChecked = False
|
||||
m_bMove_IsChecked = False
|
||||
m_bRotate_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(bAdd_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bEdit_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bGrid_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bMove_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(bRotate_IsChecked))
|
||||
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.RIBPARAM)
|
||||
End Sub
|
||||
|
||||
#End Region ' MachParam
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1,35 +1,45 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="CopyFromWndV"
|
||||
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"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
Title="{Binding sTitle}" Icon="/Resources/Icarus.ico"
|
||||
WindowStyle="None" ResizeMode="NoResize" IsClosable="False"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
SizeToContent="WidthAndHeight">
|
||||
<Grid Margin="5">
|
||||
<EgtWPFLib5:EgtMainWindow x:Class="CopyFromWndV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="Copy From"
|
||||
SizeToContent="WidthAndHeight"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
Style="{StaticResource Dialog_Window}">
|
||||
<Grid Margin="2.5,2.5,2.5,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="Select Rib to Copy"
|
||||
HorizontalAlignment="Center"
|
||||
Margin="0,0,0,2.5"/>
|
||||
Margin="20,20,20,2.5"
|
||||
Style="{StaticResource DialogWindow_TextBlock}"/>
|
||||
<ComboBox Grid.Row="1"
|
||||
ItemsSource="{Binding RibList}"
|
||||
SelectedItem="{Binding SelRib}"
|
||||
DisplayMemberPath="ghName"
|
||||
Margin="0,2.5,0,2.5"/>
|
||||
Width="160"
|
||||
HorizontalAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="2.5,10,2.5,2.5"
|
||||
Style="{StaticResource RightPanel_ComboBox}"/>
|
||||
<UniformGrid Grid.Row="2"
|
||||
Rows="1"
|
||||
Margin="0,2.5,0,0">
|
||||
<Button Content="Ok"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
<Button Content="Cancel"
|
||||
Command="{Binding Cancel_Command}"
|
||||
Style="{StaticResource ToolBar_TextButton}"/>
|
||||
Margin="0,20,0,0">
|
||||
<Button Command="{Binding Ok_Command}"
|
||||
IsDefault="True"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Ok.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
<Button IsCancel="True"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource RightPanel_HalfRound_Button}">
|
||||
<Image Source="\Resources\Common\Cancel.png"
|
||||
Style="{StaticResource Button_Image}"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
</EgtWPFLib5:EgtMainWindow>
|
||||
|
||||