Compare commits

..

43 Commits

Author SHA1 Message Date
Demetrio Cassarino d4b55f730a - Aggiornamento di tutte le messagebox a egtmessagebox 2023-05-26 10:21:46 +02:00
Emmanuele Sassi d74bc0f4d2 - ottimizzazione costruttori in EgtMessageBoxVM 2023-05-25 15:54:32 +02:00
Emmanuele Sassi c17e80af2b - Aggiunta EgtMessageBox 2023-05-25 14:57:31 +02:00
DarioS 088be26abf Icarus 2.5e1 :
- ricompilazione con cambio versione
- miglioria indicazione unità di misura di tempo (min:s).
2023-05-03 11:54:59 +02:00
DarioS 2e81f09a85 Icarus :
- modifica per far funzionara la ProgressBar anche con il calcolo dei solidi.
2023-04-24 15:35:11 +02:00
DarioS 21692af684 Icarus 2.5d4 :
- al parametro ScrewBack viene assegnato valore di default 45 (per progetti vecchi o nuove lavorazioni di libreria).
2023-04-20 16:16:10 +02:00
DarioS 6c36f856e6 Icarus 2.5d3 :
- ricompilazione con cambio versione.
2023-04-18 19:36:16 +02:00
Emmanuele Sassi 33b90967c6 - disattivato pannello Instrument quando modifiche in corso
- gestita visibilita' contemporanea di InputPanele MessagePanel
2023-04-18 17:21:03 +02:00
Emmanuele Sassi 47ea4e3646 - correzioni creazione solidi
- migliorata dis/attivazione interfaccia durante creazione solidi
2023-04-18 09:01:20 +02:00
Emmanuele Sassi cc41ca8d82 - correzione disabilitazione parametri LeadOut in CurrMachining
- cambiata gestione della modalita' di modifica selezionata
- corezione impostazione pagina modifica dopo apertura progetto
- verifica che non ci siano operazioni di modifica in corso prima di far partire slice
- correzione errore su chiusura percorso disegnato
- disabilitata interfaccia quando comando in corso in modifica
2023-04-17 20:00:50 +02:00
DarioS 554b1a662e Icarus :
- correzione per caricamento file icrs con drag.
2023-04-11 15:24:16 +02:00
DarioS 10a0745449 Merge remote-tracking branch 'origin/FlowDocument' 2023-04-11 13:38:26 +02:00
Emmanuele Sassi f47b202499 - introdotta EgtTextBox2 su lavorazioni da Db e Curr 2023-04-11 13:36:19 +02:00
DarioS 1a0eb0cb31 Icarus :
- lettura MinMax ora da Ini macchina.
2023-04-11 13:27:10 +02:00
DarioS 33176f40fa Icarus 2.5d2 :
- ricompilazione con cambio versione.
2023-04-11 11:19:41 +02:00
Emmanuele Sassi bbb6d16483 Merge branch 'FlowDocument' 2023-04-11 09:40:29 +02:00
Emmanuele Sassi 317321d46c - eliminata funzione import inutile
- trasformate funzioni di gestione progetto da sub a function
2023-04-11 09:40:13 +02:00
Emmanuele Sassi 57baab72d5 Merge branch 'FlowDocument' 2023-04-08 12:30:03 +02:00
Emmanuele Sassi 13401bc486 - aggiunta area di estrusione
- aggiunto file di dati della macchina
- messaggi di errore su slice se pezzo fuori da area stampabile
2023-04-08 12:29:45 +02:00
Emmanuele Sassi 91d8e8aa1f Merge branch 'develop' 2023-04-07 15:54:38 +02:00
Emmanuele Sassi 65288427f3 Merge remote-tracking branch 'ICARUS/main' into develop 2023-04-07 15:54:10 +02:00
Emmanuele Sassi a234c6f6f1 - Aggiunta estensione icrs in apertura progetto 2023-04-07 15:53:58 +02:00
DarioS f1819fc61c Icarus 2.5d1 :
- ricompilazione con cambio versione e aggiornamento codici di protezione mensili.
2023-04-07 10:30:15 +02:00
Emmanuele Sassi e67c79992c - aggiornati bottoni Ok, Cancel su molte pagine
- cambiate icone Reference
- aggiunte icone in slice manager
- spostato Update in TFS vicino a Reset
2023-04-07 09:49:44 +02:00
Emmanuele Sassi 209cab548b - aggiunta finestra di caricamento import
- spostato processEvent in main che rimanda alle varie parti del programma
2023-04-03 18:05:01 +02:00
Emmanuele Sassi fa737c7c80 - riattivata visualizzazione macchina su simulazione
- aggiornata icona vista tool
- gestita visualizzazione strati dopo calcolo slice
- uniformata textbox assi macchina in simulazione
2023-04-03 13:33:44 +02:00
Emmanuele Sassi 4811a37fe7 - aggiunto nuovo splashscreen
- aggiunta opacita' finestra all'avvio
2023-04-03 08:53:59 +02:00
Emmanuele Sassi d43acd1678 - aggiunto messaggio input su griglia da oggetto
- migliorata gestione griglia da oggetto
2023-04-01 12:36:00 +02:00
Emmanuele Sassi 2850e07360 - correzione attivazione parametri di lavorazione 2023-03-30 09:03:44 +02:00
Emmanuele Sassi 9ae9a6df88 - aggiunta gestione dipendenze tra parametri di lavorazione
- aggiunti min e max per parametri di lavorazione
2023-03-30 08:58:45 +02:00
Emmanuele Sassi f5206ce8bf - aggiunta possibilita' di impostare min e max per parametri di lavorazione 2023-03-29 16:26:48 +02:00
Emmanuele Sassi f4dea984be - introdotta estensione progetti icrs 2023-03-29 15:15:00 +02:00
Emmanuele Sassi 8a7af066d9 - fermato timer splashscreen
- introdotta estensione progetti icrs
2023-03-29 15:14:34 +02:00
Emmanuele Sassi bbb52b6ade Merge branch 'NewWidow' into develop 2023-03-28 20:34:19 +02:00
Emmanuele Sassi 7fe2c09bca Merge branch 'NewInterface' into NewWidow 2023-03-28 20:31:22 +02:00
Emmanuele Sassi a5be2180ea - aggiornate finestre a EgtMainWindow
- aggiunti nome e path del progetto
- gestito bordo della finestra che sparisce quando massimizzata
- creata finestra UpdateMachine al posto di MachineBox
2023-03-28 20:28:36 +02:00
Emmanuele Sassi 6e5db6e147 - modifiche a finestre 2023-03-24 19:42:58 +01:00
Emmanuele Sassi 589156d963 - modificata grafica delle finestre 2023-03-24 16:44:30 +01:00
Emmanuele Sassi 566770255c - Convertiti alla nuova window ed alla nuova grafica tutti i dialoghi 2023-03-11 11:04:32 +01:00
Emmanuele Sassi 8cac7b43fb - riattivati comandi su aboutBox e CloseApplication 2023-03-08 17:35:36 +01:00
Emmanuele Sassi 3c0490e659 - aggiunte icone finestra
- aggiunta gestione TitlePanel
2023-03-08 10:35:20 +01:00
Emmanuele Sassi db66fa17cd - aggiunti ProjectName e ProjectPath 2023-03-06 10:53:20 +01:00
Emmanuele Sassi 2a248795b1 - work in progress 2023-03-03 15:08:27 +01:00
120 changed files with 4248 additions and 1898 deletions
+47 -68
View File
@@ -1,71 +1,50 @@
<EgtWPFLib5:EgtCustomWindow x:Class="ChooseMachineWndV" <EgtWPFLib5:EgtMainWindow x:Class="ChooseMachineWndV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:Icarus="clr-namespace:Icarus" xmlns:Icarus="clr-namespace:Icarus"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Title="New Project"
WindowStyle="None" ResizeMode="NoResize" SizeToContent="WidthAndHeight"
SizeToContent="WidthAndHeight" WindowStartupLocation="CenterOwner"
MinWidth="500" Style="{StaticResource Dialog_Window}">
WindowStartupLocation="CenterOwner" <Grid Margin="2.5,2.5,2.5,0">
IsClosable="False" <Grid.RowDefinitions>
IsMinimizable="False" <RowDefinition Height="Auto"/>
IsResizable="False" <RowDefinition Height="Auto"/>
Title="ProjectType"> <RowDefinition Height="Auto"/>
<StackPanel Margin="5,5,5,0"> </Grid.RowDefinitions>
<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>
<Grid HorizontalAlignment="Center" <TextBlock Text="{Binding ChooseMachine_Msg}"
Grid.Row="0" Margin="20,20,20,2.5"
Margin="15"> Style="{StaticResource DialogWindow_TextBlock}"/>
<Grid.RowDefinitions> <ComboBox Grid.Row="1"
<RowDefinition Height="Auto"/> ItemsSource="{Binding MachineList}"
<RowDefinition Height="1*"/> SelectedItem="{Binding SelMachine}"
<RowDefinition Height="Auto"/> DisplayMemberPath="Name"
</Grid.RowDefinitions> SelectedValuePath="Name"
<Grid.ColumnDefinitions> Width="160"
<ColumnDefinition Width="Auto"/> HorizontalAlignment="Center"
</Grid.ColumnDefinitions> HorizontalContentAlignment="Center"
<TextBlock Text="{Binding ChooseMachine_Msg}" Margin="2.5,10,2.5,2.5"
Style="{StaticResource OptionTextBlock}" Style="{StaticResource RightPanel_ComboBox}"/>
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>
<Grid Grid.Row="2" Margin="5"> <UniformGrid Grid.Row="2"
<Grid.ColumnDefinitions> Rows="1"
<ColumnDefinition Width="1*"/> Margin="0,20,0,0">
<ColumnDefinition Width="Auto"/> <Button Command="{Binding Ok_Command}"
<ColumnDefinition Width="1*"/> IsDefault="True"
<ColumnDefinition Width="Auto"/> Margin="0,0,2.5,0"
<ColumnDefinition Width="1*"/> Style="{StaticResource RightPanel_HalfRound_Button}">
</Grid.ColumnDefinitions> <Image Source="\Resources\Common\Ok.png"
<Button Content="Ok" Style="{StaticResource Button_Image}"/>
Command="{Binding Ok_Command}" </Button>
IsDefault="True" <Button IsCancel="True"
Grid.Column="1" Margin="0,0,2.5,0"
Style="{StaticResource EgtWPFLib5_InputButton}"/> Style="{StaticResource RightPanel_HalfRound_Button}">
<Button Content="Cancel" <Image Source="\Resources\Common\Cancel.png"
IsCancel="True" Style="{StaticResource Button_Image}"/>
Grid.Column="3" </Button>
Style="{StaticResource EgtWPFLib5_InputButton}"/> </UniformGrid>
</Grid>
</Grid> </Grid>
</Border> </EgtWPFLib5:EgtMainWindow>
</StackPanel>
</EgtWPFLib5:EgtCustomWindow>
@@ -40,7 +40,7 @@ Public Class ChooseMachineWndVM
Public ReadOnly Property ChooseMachine_Msg As String Public ReadOnly Property ChooseMachine_Msg As String
Get Get
Return "Macchina: " Return "Select the new project machine from the list"
End Get End Get
End Property End Property
@@ -66,7 +66,8 @@ Public Class ChooseMachineWndVM
RaiseEvent m_CloseWindow(True) RaiseEvent m_CloseWindow(True)
Else Else
' se non seleziono nessuna macchina lo segnalo con un MessageBox ' 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 If
End Sub End Sub
+4
View File
@@ -2,6 +2,7 @@
Public Const TABLE = "Table" Public Const TABLE = "Table"
Public Const TABLE_OUTLINE = "TableOutline" Public Const TABLE_OUTLINE = "TableOutline"
Public Const EXTRUSION_AREA = "ExtrusionArea"
Public Const PART = "Part" Public Const PART = "Part"
Public Const PRINT_SOLID = "PrintSolid" Public Const PRINT_SOLID = "PrintSolid"
Public Const LAY_MACH_START = "MachStart" Public Const LAY_MACH_START = "MachStart"
@@ -104,6 +105,9 @@
Public Const MAC_G0FEED = "G0Feed" Public Const MAC_G0FEED = "G0Feed"
Public Const MAC_G0FEEDZ = "G0FeedZ" Public Const MAC_G0FEEDZ = "G0FeedZ"
Public Const MAC_TOOLDIAM = "ToolDiam" Public Const MAC_TOOLDIAM = "ToolDiam"
Public Const MAC_PREFLOWDELAY = "PreFlowDelay"
Public Const MAC_POSTFLOWDELAY = "PostFlowDelay"
Public Const MAC_SCREWBACK = "ScrewBack"
Public Const MAC_RIBSTYPE = "RibsType" Public Const MAC_RIBSTYPE = "RibsType"
Public Const MAC_RIBSOVERLAP = "RibsOverlap" Public Const MAC_RIBSOVERLAP = "RibsOverlap"
Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount" Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount"
+35
View File
@@ -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
+2 -25
View File
@@ -1,31 +1,6 @@
Public Module ConstMachIni Public Module ConstMachIni
Public Const MACH_INI_FILE_NAME As String = "MachData.ini" 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 S_MACHINING As String = "Machining"
Public Const K_MACH_INITSCRIPT As String = "InitScript" Public Const K_MACH_INITSCRIPT As String = "InitScript"
@@ -36,4 +11,6 @@
Public Const K_SPEED_MIN As String = "SpeedMin" Public Const K_SPEED_MIN As String = "SpeedMin"
Public Const K_SPEED_MAX As String = "SpeedMax" Public Const K_SPEED_MAX As String = "SpeedMax"
Public Const S_MINMAX As String = "MinMax"
End Module End Module
@@ -3,7 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Height="38" Height="38"
Visibility="{Binding DoneBtn_Visibility}" Visibility="{Binding Message_Visibility}"
HorizontalAlignment="Left" HorizontalAlignment="Left"
Margin="45,0,0,0" Margin="45,0,0,0"
Padding="0" Padding="0"
+125 -74
View File
@@ -199,74 +199,95 @@ Public Class CurrMachiningCathegory
Select Case m_Type Select Case m_Type
Case Cathegories.GENERAL Case Cathegories.GENERAL
m_sName = "General" m_sName = "General"
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.SLICINGTYPE, 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), New CurrCheckMachiningParam(MachiningParam.Params.SPIRALVASE, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDH, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.STRANDH, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDW, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.STRANDW, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.OFFSET, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.OFFSET, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.STRANDORDER, nPartId, nIndex, bForceFromDb), New CurrComboMachiningParam(MachiningParam.Params.STRANDORDER, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.DIRECTION, nPartId, nIndex, bForceFromDb), New CurrComboMachiningParam(MachiningParam.Params.DIRECTION, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.G0FEED, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.G0FEED, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.G0FEEDZ, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.G0FEEDZ, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.LINKZUP, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nPartId, nIndex, bForceFromDb, Me),
New CurrOrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nPartId, nIndex, bForceFromDb)}) 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)})
Case Cathegories.LINK Case Cathegories.LINK
m_sName = "Shell" m_sName = "Shell"
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb), m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.LINKPARAM, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.LINKPARAM, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.LINKZUP, nPartId, nIndex, bForceFromDb), New CurrComboMachiningParam(MachiningParam.Params.LEADIN, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.LEADIN, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb), New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb, Me)})
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nPartId, nIndex, bForceFromDb)}) 'New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
'New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb)})
Case Cathegories.RIBS Case Cathegories.RIBS
m_sName = "Ribs" m_sName = "Ribs"
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.RIBSTYPE, nPartId, nIndex, bForceFromDb), m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.RIBSTYPE, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb), New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb, Me),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nPartId, nIndex, bForceFromDb)}) New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
Case Cathegories.SHELL_NUMBER Case Cathegories.SHELL_NUMBER
m_sName = "Reduce Shell Number" m_sName = "Reduce Shell Number"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, 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), New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRCOASTING, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPE, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPE, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nPartId, nIndex, bForceFromDb)}) New CurrNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nPartId, nIndex, bForceFromDb, Me)})
Case Cathegories.AUX_SOLID Case Cathegories.AUX_SOLID
m_sName = "Filled Solid" m_sName = "Filled Solid"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nPartId, nIndex, bForceFromDb), m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nPartId, nIndex, bForceFromDb), New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nPartId, nIndex, bForceFromDb), New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nPartId, nIndex, bForceFromDb, Me),
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nPartId, nIndex, bForceFromDb), New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nPartId, nIndex, bForceFromDb), New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nPartId, nIndex, bForceFromDb, Me),
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nPartId, nIndex, bForceFromDb)}) New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, 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
End Select End Select
End Sub End Sub
@@ -292,10 +313,18 @@ Public Class CurrNumericMachiningParam
Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString(m_dValue, 2)) Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString(m_dValue, 2))
End Get End Get
Set(value As String) Set(value As String)
Dim dTempValue As Double = 0
If m_bIsLen Then If m_bIsLen Then
StringToLen(value, m_dValue) StringToLen(value, dTempValue)
Else Else
StringToDouble(value, m_dValue) StringToDouble(value, dTempValue)
End If
If m_bIsActiveMinMax Then
If dTempValue >= m_dMinValue AndAlso dTempValue <= m_dMaxValue Then
m_dValue = dTempValue
End If
Else
m_dValue = dTempValue
End If End If
NotifyPropertyChanged(NameOf(sValue)) NotifyPropertyChanged(NameOf(sValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb)) NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
@@ -318,8 +347,8 @@ Public Class CurrNumericMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean) Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Cathegory As MachiningCathegory)
MyBase.New(Type, nIndex) MyBase.New(Type, nIndex, Cathegory)
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.STRANDH Case Params.STRANDH
@@ -388,6 +417,15 @@ Public Class CurrNumericMachiningParam
Case Params.TOOLDIAM Case Params.TOOLDIAM
bReadFromPart = EgtGetInfo(nPartId, MAC_TOOLDIAM, m_dValue) bReadFromPart = EgtGetInfo(nPartId, MAC_TOOLDIAM, m_dValue)
m_bIsLen = True 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.RIBSOVERLAP Case Params.RIBSOVERLAP
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dValue) bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dValue)
m_bIsLen = False m_bIsLen = False
@@ -448,9 +486,9 @@ Public Class CurrNumericMachiningParam
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex) Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
Select Case Type Select Case Type
Case Params.STRANDH, Params.STRANDW, Params.STRANDCOUNT, Params.OFFSET, Params.STRANDOVERLAP, Params.STARTPOINTOFFSETONSLICE, 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.FLOORCOUNT, Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type) 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.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST,
Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED_PC, Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED_PC,
Params.WIPELEN, Params.WIPEFEED_PC ' Params.WIPEDIR 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) m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
@@ -529,6 +567,12 @@ Public Class CurrNumericMachiningParam
EgtSetInfo(nPartId, MAC_G0FEEDZ, sWriteValue) EgtSetInfo(nPartId, MAC_G0FEEDZ, sWriteValue)
Case Params.TOOLDIAM Case Params.TOOLDIAM
EgtSetInfo(nPartId, MAC_TOOLDIAM, sWriteValue) 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.RIBSOVERLAP Case Params.RIBSOVERLAP
EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue) EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue)
Case Params.RIBSSTRANDCOUNT Case Params.RIBSSTRANDCOUNT
@@ -621,8 +665,8 @@ Public Class CurrStringMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nIndex As Integer) Sub New(Type As Params, nIndex As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type, nIndex) MyBase.New(Type, nIndex, Cathegory)
m_sValue = sValue m_sValue = sValue
m_sOrigValue = m_sValue m_sOrigValue = m_sValue
End Sub End Sub
@@ -677,6 +721,11 @@ Public Class CurrComboMachiningParam
m_SelValue = value m_SelValue = value
NotifyPropertyChanged(NameOf(SelValue)) NotifyPropertyChanged(NameOf(SelValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb)) NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
ManageDependencyParam()
' se aggiorno SlicingType
If m_Type = Params.SLICINGTYPE Then
CurrentMachine.UpdateExtrusionArea()
End If
End Set End Set
End Property End Property
@@ -696,8 +745,8 @@ Public Class CurrComboMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean) Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Cathegory As MachiningCathegory)
MyBase.New(Type, nIndex) MyBase.New(Type, nIndex, Cathegory)
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.SLICINGTYPE Case Params.SLICINGTYPE
@@ -848,6 +897,7 @@ Public Class CurrComboMachiningParam
Friend Overrides Sub ResetParam() Friend Overrides Sub ResetParam()
m_SelValue = m_OrigSelValue m_SelValue = m_OrigSelValue
NotifyPropertyChanged(NameOf(SelValue)) NotifyPropertyChanged(NameOf(SelValue))
CurrentMachine.UpdateExtrusionArea()
End Sub End Sub
#Region "COMMANDS" #Region "COMMANDS"
@@ -867,6 +917,7 @@ Public Class CurrComboMachiningParam
m_SelValue = DbParam.OrigSelValue m_SelValue = DbParam.OrigSelValue
NotifyPropertyChanged(NameOf(SelValue)) NotifyPropertyChanged(NameOf(SelValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb)) NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
CurrentMachine.UpdateExtrusionArea()
End Sub End Sub
#End Region ' ResetParam #End Region ' ResetParam
@@ -905,8 +956,8 @@ Public Class CurrCheckMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean) Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Cathegory As MachiningCathegory)
MyBase.New(Type, nIndex) MyBase.New(Type, nIndex, Cathegory)
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.SPIRALVASE Case Params.SPIRALVASE
@@ -1016,8 +1067,8 @@ Public Class CurrOrderedMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean) Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean, Cathegory As MachiningCathegory)
MyBase.New(Type, nIndex) MyBase.New(Type, nIndex, Cathegory)
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.PRINT_ORDER Case Params.PRINT_ORDER
@@ -1,6 +1,7 @@
<Grid x:Class="CurrMachiningPanelV" <Grid x:Class="CurrMachiningPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus" xmlns:PrintApp="clr-namespace:Icarus"
Width="310" Width="310"
VerticalAlignment="Center"> VerticalAlignment="Center">
@@ -46,7 +47,8 @@
</ItemsControl.ItemsPanel> </ItemsControl.ItemsPanel>
<ItemsControl.Resources> <ItemsControl.Resources>
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}"> <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> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
@@ -55,10 +57,10 @@
<TextBlock Text="{Binding sName}" <TextBlock Text="{Binding sName}"
Margin="0,0,2.5,0" Margin="0,0,2.5,0"
Style="{StaticResource ParameterList_TextBlock}"/> Style="{StaticResource ParameterList_TextBlock}"/>
<TextBox Grid.Column="1" <EgtWPFLib5:EgtTextBox2 Grid.Column="1"
Text="{Binding sValue}" Text="{Binding sValue, UpdateSourceTrigger=Explicit}"
Margin="2.5,0,2.5,0" Margin="2.5,0,2.5,0"
Style="{StaticResource ParameterList_TextBox}"/> Style="{StaticResource ParameterList_TextBox2}"/>
<Button Grid.Column="2" <Button Grid.Column="2"
Content="R" Content="R"
Command="{Binding ResetParam_Command}" Command="{Binding ResetParam_Command}"
@@ -70,7 +72,8 @@
</Grid> </Grid>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}"> <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> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
@@ -97,7 +100,8 @@
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}"> <DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}">
<Grid Height="22" <Grid Height="22"
Margin="0,1,2.5,1"> Margin="0,1,2.5,1"
IsEnabled="{Binding bIsActive}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
+55
View File
@@ -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>
+107
View File
@@ -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
+234
View File
@@ -0,0 +1,234 @@
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 ' Ok
#End Region ' COMMANDS
End Class
+99 -63
View File
@@ -35,6 +35,10 @@ Public Class FilledSolidPanelVM
Return m_SelFilledSolid Return m_SelFilledSolid
End Get End Get
Set(value As FilledSolidEntity) 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 m_SelFilledSolid = value
EgtDeselectAll() EgtDeselectAll()
If Not IsNothing(value) Then If Not IsNothing(value) Then
@@ -213,7 +217,7 @@ Public Class FilledSolidPanelVM
Return m_bAdd_IsChecked Return m_bAdd_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bAdd_IsChecked = value
If value Then If value Then
m_bEdit_IsChecked = False m_bEdit_IsChecked = False
@@ -235,7 +239,7 @@ Public Class FilledSolidPanelVM
Return m_bEdit_IsChecked Return m_bEdit_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bEdit_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -259,7 +263,7 @@ Public Class FilledSolidPanelVM
Return m_bGrid_IsChecked Return m_bGrid_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bGrid_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -287,7 +291,7 @@ Public Class FilledSolidPanelVM
Return m_bMove_IsChecked Return m_bMove_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bMove_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -311,7 +315,7 @@ Public Class FilledSolidPanelVM
Return m_bRotate_IsChecked Return m_bRotate_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bRotate_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -335,7 +339,7 @@ Public Class FilledSolidPanelVM
Return m_bMachParam_IsChecked Return m_bMachParam_IsChecked
End Get End Get
Set(value As Boolean) 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_bMachParam_IsChecked = True
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
m_bEdit_IsChecked = False m_bEdit_IsChecked = False
@@ -349,6 +353,8 @@ Public Class FilledSolidPanelVM
NotifyPropertyChanged(NameOf(bRotate_IsChecked)) NotifyPropertyChanged(NameOf(bRotate_IsChecked))
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.AUXSOLIDPARAM) Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.AUXSOLIDPARAM)
NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled)) NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled))
' disattivo interfaccia
ManageInterface(False)
Else Else
NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked)) NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked))
End If End If
@@ -358,6 +364,8 @@ Public Class FilledSolidPanelVM
m_bMachParam_IsChecked = False m_bMachParam_IsChecked = False
NotifyPropertyChanged(NameOf(bMachParam_IsChecked)) NotifyPropertyChanged(NameOf(bMachParam_IsChecked))
NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled)) NotifyPropertyChanged(NameOf(FilledSolidList_IsEnabled))
' riattivo interfaccia
ManageInterface(True)
End Sub End Sub
Public ReadOnly Property Compo_Visibility As Visibility Public ReadOnly Property Compo_Visibility As Visibility
@@ -366,11 +374,17 @@ Public Class FilledSolidPanelVM
End Get End Get
End Property End Property
Private m_FilledSolidList_IsEnabled As Boolean = False
Public ReadOnly Property FilledSolidList_IsEnabled As Boolean Public ReadOnly Property FilledSolidList_IsEnabled As Boolean
Get Get
Return Not m_bMachParam_IsChecked Return If(m_FilledSolidList.Count > 0, m_FilledSolidList_IsEnabled, False)
End Get End Get
End Property 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 ' riferimento griglia all'ingresso in questa pagina
Private m_OriginalGridFrame As New Frame3d Private m_OriginalGridFrame As New Frame3d
@@ -388,6 +402,8 @@ Public Class FilledSolidPanelVM
End Get End Get
End Property End Property
Private m_bEscOnLine2P As Boolean = False
#Region "Tooltip" #Region "Tooltip"
Public ReadOnly Property Import_ToolTip As String Public ReadOnly Property Import_ToolTip As String
@@ -517,7 +533,6 @@ Public Class FilledSolidPanelVM
Private m_cmdCPlaneObj As ICommand Private m_cmdCPlaneObj As ICommand
Private m_cmdDragMove As ICommand Private m_cmdDragMove As ICommand
Private m_cmdDragRotate As ICommand Private m_cmdDragRotate As ICommand
Private m_cmdMachParam As ICommand
#End Region ' FIELDS & PROPERTIES #End Region ' FIELDS & PROPERTIES
@@ -572,6 +587,8 @@ Public Class FilledSolidPanelVM
SelFilledSolid = m_FilledSolidList(0) SelFilledSolid = m_FilledSolidList(0)
NotifyPropertyChanged(NameOf(SelFilledSolid)) NotifyPropertyChanged(NameOf(SelFilledSolid))
End If End If
' attivo lista filled solid
SetFilledSolidListIsEnabled(True)
Map.refSceneHostVM.MainScene.SetStatusNull() Map.refSceneHostVM.MainScene.SetStatusNull()
End Sub End Sub
@@ -607,8 +624,13 @@ Public Class FilledSolidPanelVM
EgtSelectObj(m_SelFilledSolid.nCurveId) EgtSelectObj(m_SelFilledSolid.nCurveId)
Case FilledSolidSelectionTypes.EXTRUSION Case FilledSolidSelectionTypes.EXTRUSION
' creo layer per estrusione ' creo layer per estrusione
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId) Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
EgtSetName(nNewExtrusionLayerId, 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) EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
EgtSelectObj(m_SelFilledSolid.nCurveId) EgtSelectObj(m_SelFilledSolid.nCurveId)
Case FilledSolidSelectionTypes.BOTH Case FilledSolidSelectionTypes.BOTH
@@ -616,6 +638,8 @@ Public Class FilledSolidPanelVM
EgtSelectObj(m_SelFilledSolid.nExtrusionId) EgtSelectObj(m_SelFilledSolid.nExtrusionId)
End Select End Select
EgtDraw() EgtDraw()
' disattivo il resto dell'interfaccia
ManageInterface(False)
Return True Return True
End Function End Function
@@ -625,6 +649,7 @@ Public Class FilledSolidPanelVM
End Sub End Sub
Friend Sub OnExecCmdEnd(command As Controller.CMD) Friend Sub OnExecCmdEnd(command As Controller.CMD)
m_bEscOnLine2P = False
Select Case command Select Case command
Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE
' leggo altezza estrusione ' leggo altezza estrusione
@@ -664,6 +689,10 @@ Public Class FilledSolidPanelVM
' Imposto flag di ricalcolo slice ' Imposto flag di ricalcolo slice
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True) EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End Select 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 If command <> Controller.CMD.LINE2P AndAlso command <> Controller.CMD.EXTRUDE Then Return
' se finita creazione estrusione ' se finita creazione estrusione
If m_bIsCreatingExtrusion Then If m_bIsCreatingExtrusion Then
@@ -718,9 +747,15 @@ Public Class FilledSolidPanelVM
' lo seleziono ' lo seleziono
SelFilledSolid = NewEntity SelFilledSolid = NewEntity
NotifyPropertyChanged(NameOf(SelFilledSolid)) NotifyPropertyChanged(NameOf(SelFilledSolid))
' creo layer per estrusione ' verifico se esiste gia' layer estrusione e lo svuoto
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId) Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
EgtSetName(nNewExtrusionLayerId, 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) EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
' seleziono percorso da estrudere ' seleziono percorso da estrudere
EgtDeselectAll() EgtDeselectAll()
@@ -728,6 +763,9 @@ Public Class FilledSolidPanelVM
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
m_bIsCreatingExtrusion = True m_bIsCreatingExtrusion = True
Map.refControllerInputPanelVM.IsChecked = True Map.refControllerInputPanelVM.IsChecked = True
If Not EgtCurveIsClosed(nNewEntityId) Then
m_bEscOnLine2P = True
End If
Else Else
' cancello layer ' cancello layer
EgtErase(nNewExtrusionLayerId) EgtErase(nNewExtrusionLayerId)
@@ -752,6 +790,13 @@ Public Class FilledSolidPanelVM
' rimetto la selezione scena a null ' rimetto la selezione scena a null
Map.refSceneHostVM.MainScene.SetStatusNull() Map.refSceneHostVM.MainScene.SetStatusNull()
End If 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 If
End Sub End Sub
@@ -787,6 +832,18 @@ Public Class FilledSolidPanelVM
Return nFilledSolidIndex + 1 Return nFilledSolidIndex + 1
End Function 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 #End Region ' METHODS
#Region "COMMANDS" #Region "COMMANDS"
@@ -809,8 +866,10 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub Import(ByVal param As Object) 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() Map.refSceneHostVM.InsertFilledSolid()
ManageInterface(True)
End Sub End Sub
#End Region ' Import #End Region ' Import
@@ -833,7 +892,8 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub Line2P(ByVal param As Object) 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) Dim nNewShellNumberLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWRIB)
If nNewShellNumberLayerId = GDB_ID.NULL Then nNewShellNumberLayerId = EgtCreateGroup(m_nPartId) If nNewShellNumberLayerId = GDB_ID.NULL Then nNewShellNumberLayerId = EgtCreateGroup(m_nPartId)
EgtSetName(nNewShellNumberLayerId, LAY_NEWRIB) EgtSetName(nNewShellNumberLayerId, LAY_NEWRIB)
@@ -858,7 +918,7 @@ Public Class FilledSolidPanelVM
End Property End Property
Public Sub Delete() 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 If IsNothing(SelFilledSolid) Then Return
Dim bOk As Boolean = False Dim bOk As Boolean = False
Select Case m_SelFilledSolid.Type Select Case m_SelFilledSolid.Type
@@ -882,6 +942,7 @@ Public Class FilledSolidPanelVM
End If End If
NotifyPropertyChanged(NameOf(SelFilledSolid)) NotifyPropertyChanged(NameOf(SelFilledSolid))
End If End If
SetFilledSolidListIsEnabled(True)
End Sub End Sub
#End Region ' Delete #End Region ' Delete
@@ -904,7 +965,7 @@ Public Class FilledSolidPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub ModifyCurve(ByVal param As Object) 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) InitCommand(FilledSolidSelectionTypes.CURVE)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MODIFYCURVE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MODIFYCURVE)
End Sub End Sub
@@ -929,7 +990,7 @@ Public Class FilledSolidPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub AddPointCurve(ByVal param As Object) 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) InitCommand(FilledSolidSelectionTypes.CURVE)
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOARC) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOARC)
@@ -958,7 +1019,7 @@ Public Class FilledSolidPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub RemovePointCurve(ByVal param As Object) 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) InitCommand(FilledSolidSelectionTypes.CURVE)
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOLINE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOLINE)
@@ -987,7 +1048,7 @@ Public Class FilledSolidPanelVM
''' Execute the Extrude. This method is invoked by the ExtrudeCommand. ''' Execute the Extrude. This method is invoked by the ExtrudeCommand.
''' </summary> ''' </summary>
Public Sub Extrude(ByVal param As Object) 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) InitCommand(FilledSolidSelectionTypes.EXTRUSION)
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
m_bIsCreatingExtrusion = True m_bIsCreatingExtrusion = True
@@ -1015,7 +1076,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub CPlaneTop(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.TOP)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1040,7 +1101,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneFront. This method is invoked by the CPlaneFrontCommand. ''' Execute the CPlaneFront. This method is invoked by the CPlaneFrontCommand.
''' </summary> ''' </summary>
Public Sub CPlaneFront(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.FRONT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1065,7 +1126,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneRight. This method is invoked by the CPlaneRightCommand. ''' Execute the CPlaneRight. This method is invoked by the CPlaneRightCommand.
''' </summary> ''' </summary>
Public Sub CPlaneRight(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.RIGHT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1090,7 +1151,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneBack. This method is invoked by the CPlaneBackCommand. ''' Execute the CPlaneBack. This method is invoked by the CPlaneBackCommand.
''' </summary> ''' </summary>
Public Sub CPlaneBack(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.BACK)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1115,7 +1176,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneLeft. This method is invoked by the CPlaneLeftCommand. ''' Execute the CPlaneLeft. This method is invoked by the CPlaneLeftCommand.
''' </summary> ''' </summary>
Public Sub CPlaneLeft(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.LEFT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1140,7 +1201,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneBottom. This method is invoked by the CPlaneBottomCommand. ''' Execute the CPlaneBottom. This method is invoked by the CPlaneBottomCommand.
''' </summary> ''' </summary>
Public Sub CPlaneBottom(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.BOTTOM)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1165,7 +1226,8 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneElevation. This method is invoked by the CPlaneElevationCommand. ''' Execute the CPlaneElevation. This method is invoked by the CPlaneElevationCommand.
''' </summary> ''' </summary>
Public Sub CPlaneElevation(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ELEVATION)
End Sub End Sub
@@ -1189,7 +1251,8 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneOrigin. This method is invoked by the CPlaneOriginCommand. ''' Execute the CPlaneOrigin. This method is invoked by the CPlaneOriginCommand.
''' </summary> ''' </summary>
Public Sub CPlaneOrigin(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ORIGIN)
End Sub End Sub
@@ -1213,7 +1276,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand. ''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand.
''' </summary> ''' </summary>
Public Sub CPlaneRotate(ByVal param As Object) 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 If (Keyboard.Modifiers And ModifierKeys.Shift) <> ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE)
Else Else
@@ -1241,7 +1304,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand. ''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand.
''' </summary> ''' </summary>
Public Sub CPlane3P(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_3P)
End Sub End Sub
@@ -1265,7 +1328,7 @@ Public Class FilledSolidPanelVM
''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand. ''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand.
''' </summary> ''' </summary>
Public Sub CPlanePerpObj(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_PERPCURVE)
End Sub End Sub
@@ -1305,7 +1368,8 @@ Public Class FilledSolidPanelVM
''' Execute the CPlaneObj. This method is invoked by the CPlaneObjCommand. ''' Execute the CPlaneObj. This method is invoked by the CPlaneObjCommand.
''' </summary> ''' </summary>
Public Sub CPlaneObj(ByVal param As Object) 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 ' salvo selezione precedente e deseleziono altri oggetti
m_PrevSelObjs.Clear() m_PrevSelObjs.Clear()
Dim nSelObjId As Integer = EgtGetFirstSelectedObj() Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
@@ -1315,7 +1379,7 @@ Public Class FilledSolidPanelVM
End While End While
EgtDeselectAll() EgtDeselectAll()
m_bCPlaneObj_IsActive = True 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 Sub
#End Region ' CPlaneObj #End Region ' CPlaneObj
@@ -1332,7 +1396,7 @@ Public Class FilledSolidPanelVM
End Property End Property
Public Sub DragMove() 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) InitCommand(FilledSolidSelectionTypes.BOTH)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MOVE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MOVE)
End Sub End Sub
@@ -1351,41 +1415,13 @@ Public Class FilledSolidPanelVM
End Property End Property
Public Sub DragRotate() 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) InitCommand(FilledSolidSelectionTypes.BOTH)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.ROTATE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.ROTATE)
End Sub End Sub
#End Region ' DragRotate #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 Region ' COMMANDS
End Class End Class
@@ -33,7 +33,8 @@
</ItemsControl.ItemsPanel> </ItemsControl.ItemsPanel>
<ItemsControl.Resources> <ItemsControl.Resources>
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}"> <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> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
@@ -57,7 +58,8 @@
</Grid> </Grid>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}"> <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> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
@@ -88,12 +90,19 @@
<UniformGrid Grid.Row="1" <UniformGrid Grid.Row="1"
Rows="1" Rows="1"
Margin="0,2.5,0,0"> Margin="0,2.5,0,0">
<Button Content="Ok" <Button Command="{Binding Ok_Command}"
Command="{Binding Ok_Command}" IsDefault="True"
Style="{StaticResource RightPanel_HalfRound_Button}"/> Margin="0,0,2.5,0"
<Button Content="Cancel" Style="{StaticResource RightPanel_HalfRound_Button}">
Command="{Binding Cancel_Command}" <Image Source="\Resources\Common\Ok.png"
Style="{StaticResource RightPanel_HalfRound_Button}"/> 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> </UniformGrid>
</Grid> </Grid>
</Border> </Border>
@@ -42,17 +42,25 @@ Public Class FilledSolidParamPanelVM
m_Type = Cathegories.AUX_SOLID m_Type = Cathegories.AUX_SOLID
m_sName = "Filled Solid" m_sName = "Filled Solid"
m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nFilledSolidId, nPartId), m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nFilledSolidId, nPartId, Me),
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId), New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId, Me),
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nFilledSolidId, nPartId), New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nFilledSolidId, nPartId, Me),
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nFilledSolidId, nPartId), New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nFilledSolidId, nPartId, Me),
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nFilledSolidId, nPartId), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nFilledSolidId, nPartId, Me),
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nFilledSolidId, nPartId), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nFilledSolidId, nPartId, Me),
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nFilledSolidId, nPartId), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nFilledSolidId, nPartId, Me),
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nFilledSolidId, nPartId), New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nFilledSolidId, nPartId, Me),
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nFilledSolidId, nPartId)}) New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nFilledSolidId, nPartId, Me)})
NotifyPropertyChanged(NameOf(MachiningParamList)) NotifyPropertyChanged(NameOf(MachiningParamList))
NotifyPropertyChanged(NameOf(sName)) 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 End Sub
Friend Sub SaveCurrParams() Friend Sub SaveCurrParams()
@@ -178,8 +186,8 @@ Public Class FilledSolidNumericMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nFilledSolidId As Integer, nPartId As Integer) Sub New(Type As Params, nFilledSolidId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.AUXSOLIDSOVERLAP Case Params.AUXSOLIDSOVERLAP
@@ -305,6 +313,7 @@ Public Class FilledSolidComboMachiningParam
m_SelValue = value m_SelValue = value
NotifyPropertyChanged(NameOf(SelValue)) NotifyPropertyChanged(NameOf(SelValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromPart)) NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
ManageDependencyParam()
End Set End Set
End Property End Property
@@ -324,8 +333,8 @@ Public Class FilledSolidComboMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nRibId As Integer, nPartId As Integer) Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
Dim bReadFromRib As Boolean = False Dim bReadFromRib As Boolean = False
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
+82 -3
View File
@@ -124,6 +124,7 @@
<Compile Include="Constants\ConstDataGridColumnsIni.vb" /> <Compile Include="Constants\ConstDataGridColumnsIni.vb" />
<Compile Include="Constants\ConstDims.vb" /> <Compile Include="Constants\ConstDims.vb" />
<Compile Include="Constants\ConstGen.vb" /> <Compile Include="Constants\ConstGen.vb" />
<Compile Include="Constants\ConstMachDataIni.vb" />
<Compile Include="Constants\ConstIni.vb" /> <Compile Include="Constants\ConstIni.vb" />
<Compile Include="Constants\ConstMachComm.vb" /> <Compile Include="Constants\ConstMachComm.vb" />
<Compile Include="Constants\ConstMachIni.vb" /> <Compile Include="Constants\ConstMachIni.vb" />
@@ -149,6 +150,10 @@
<DependentUpon>DispositionPanelV.xaml</DependentUpon> <DependentUpon>DispositionPanelV.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="DispositionPanel\DispositionPanelVM.vb" /> <Compile Include="DispositionPanel\DispositionPanelVM.vb" />
<Compile Include="EgtMessageBox\EgtMessageBoxV.xaml.vb">
<DependentUpon>EgtMessageBoxV.xaml</DependentUpon>
</Compile>
<Compile Include="EgtMessageBox\EgtMessageBoxVM.vb" />
<Compile Include="FilledSolidPanel\FilledSolidPanelV.xaml.vb"> <Compile Include="FilledSolidPanel\FilledSolidPanelV.xaml.vb">
<DependentUpon>FilledSolidPanelV.xaml</DependentUpon> <DependentUpon>FilledSolidPanelV.xaml</DependentUpon>
</Compile> </Compile>
@@ -161,6 +166,10 @@
<DependentUpon>ImportExportMachiningPanelV.xaml</DependentUpon> <DependentUpon>ImportExportMachiningPanelV.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="ImportExportMachiningPanel\ImportExportMachiningPanelVM.vb" /> <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"> <Compile Include="InstrumentPanel\InstrumentPanelV.xaml.vb">
<DependentUpon>InstrumentPanelV.xaml</DependentUpon> <DependentUpon>InstrumentPanelV.xaml</DependentUpon>
</Compile> </Compile>
@@ -201,8 +210,11 @@
<DependentUpon>MaterialDbV.xaml</DependentUpon> <DependentUpon>MaterialDbV.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="MaterialDb\MaterialDbVM.vb" /> <Compile Include="MaterialDb\MaterialDbVM.vb" />
<Compile Include="OptionsWindow\MachineBox.xaml.vb"> <Compile Include="TSFEditor\ColumnHeader.xaml.vb">
<DependentUpon>MachineBox.xaml</DependentUpon> <DependentUpon>ColumnHeader.xaml</DependentUpon>
</Compile>
<Compile Include="UpdateMachine\UpdateMachineV.xaml.vb">
<DependentUpon>UpdateMachineV.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="OptionsWindow\OptionModule.vb" /> <Compile Include="OptionsWindow\OptionModule.vb" />
<Compile Include="OptionsWindow\OptionWindowV.xaml.vb"> <Compile Include="OptionsWindow\OptionWindowV.xaml.vb">
@@ -304,6 +316,7 @@
<Compile Include="TSFEditor\TFSEditorV.xaml.vb"> <Compile Include="TSFEditor\TFSEditorV.xaml.vb">
<DependentUpon>TFSEditorV.xaml</DependentUpon> <DependentUpon>TFSEditorV.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="UpdateMachine\UpdateMachineVM.vb" />
<Compile Include="Utility\CurrentMachine.vb" /> <Compile Include="Utility\CurrentMachine.vb" />
<Compile Include="Utility\Dictionary.xaml.vb"> <Compile Include="Utility\Dictionary.xaml.vb">
<DependentUpon>Dictionary.xaml</DependentUpon> <DependentUpon>Dictionary.xaml</DependentUpon>
@@ -353,6 +366,10 @@
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Include="EgtMessageBox\EgtMessageBoxV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="FilledSolidPanel\FilledSolidPanelV.xaml"> <Page Include="FilledSolidPanel\FilledSolidPanelV.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -365,6 +382,10 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>XamlIntelliSenseFileGenerator</Generator> <Generator>XamlIntelliSenseFileGenerator</Generator>
</Page> </Page>
<Page Include="ImportLoadingWnd\ImportLoadingWndV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="InstrumentPanel\InstrumentPanelV.xaml"> <Page Include="InstrumentPanel\InstrumentPanelV.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -417,7 +438,11 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</Page> </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> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
@@ -587,6 +612,7 @@
<LastGenOutput>Settings.Designer.vb</LastGenOutput> <LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None> </None>
<None Include="packages.config" /> <None Include="packages.config" />
<Resource Include="Resources\EgtMessageBox\Error.png" />
<Resource Include="Resources\Fonts\Roboto-Regular.ttf" /> <Resource Include="Resources\Fonts\Roboto-Regular.ttf" />
<Resource Include="Resources\Fonts\Roboto-Light.ttf" /> <Resource Include="Resources\Fonts\Roboto-Light.ttf" />
</ItemGroup> </ItemGroup>
@@ -787,9 +813,62 @@
<ItemGroup> <ItemGroup>
<Resource Include="Resources\ViewPanel\LookFromISO_SE.png" /> <Resource Include="Resources\ViewPanel\LookFromISO_SE.png" />
</ItemGroup> </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> <ItemGroup>
<Resource Include="Resources\SliceManager\StopCalculation.png" /> <Resource Include="Resources\SliceManager\StopCalculation.png" />
</ItemGroup> </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>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup> <PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe <PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR32.exe
@@ -1,20 +1,21 @@
<EgtWPFLib5:EgtCustomWindow x:Class="ImportExportMachiningPanelV" <EgtWPFLib5:EgtMainWindow x:Class="ImportExportMachiningPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding OkMsg}" Title="{Binding OkMsg}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" SizeToContent="WidthAndHeight"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False" WindowStartupLocation="CenterOwner"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False" Style="{StaticResource Dialog_Window}">
Width="400" Height="500">
<Grid> <Grid Margin="2.5,2.5,2.5,0">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="7*"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<ListBox ItemsSource="{Binding MachiningList}"> <ListBox ItemsSource="{Binding MachiningList}"
Height="400"
Width="250">
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type EgtWPFLib5:ImpExpMachiningItem}"> <DataTemplate DataType="{x:Type EgtWPFLib5:ImpExpMachiningItem}">
<Grid Height="20"> <Grid Height="20">
@@ -32,7 +33,7 @@
Margin="0,0,5,0" Margin="0,0,5,0"
VerticalContentAlignment="Center" VerticalContentAlignment="Center"
Visibility="{Binding Path=DataContext.Active_Visibility, Visibility="{Binding Path=DataContext.Active_Visibility,
RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/> RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtMainWindow}}}"/>
<TextBlock Grid.Column="1" <TextBlock Grid.Column="1"
Text="{Binding sName}" Text="{Binding sName}"
FontSize="15" FontSize="15"
@@ -46,17 +47,26 @@
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</ListBox.ItemTemplate> </ListBox.ItemTemplate>
</ListBox> </ListBox>
<UniformGrid Grid.Row="2"
<Button Command="{Binding OkCommand}" Rows="1"
Content="{Binding OkMsg}" Margin="0,20,0,0">
IsEnabled="{Binding IsEnabledOkBtn, Mode=OneWay}" <Button Command="{Binding OkCommand}"
Grid.Row="1" IsEnabled="{Binding IsEnabledOkBtn, Mode=OneWay}"
Height="30" Width="100" Style="{StaticResource RightPanel_HalfRound_Button}">
Margin="10" /> <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> </Grid>
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtMainWindow>
@@ -157,7 +157,8 @@ Public Class ImportExportMachiningPanelVM
nIndex += 1 nIndex += 1
End While End While
If bIsOriginal AndAlso bIsCustom Then 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 ElseIf bIsOriginal Then
LoadOriginalMaterial() LoadOriginalMaterial()
End If End If
@@ -301,9 +302,12 @@ Public Class ImportExportMachiningPanelVM
sDuplicatedMaterialList &= " - " & m_MachiningList(Index).sName & Environment.NewLine sDuplicatedMaterialList &= " - " & m_MachiningList(Index).sName & Environment.NewLine
End If End If
Next Next
MessageBox.Show("Impossible to import the package because materials named:" & Environment.NewLine & 'MessageBox.Show("Impossible to import the package because materials named:" & Environment.NewLine &
sDuplicatedMaterialList & Environment.NewLine & ' sDuplicatedMaterialList & Environment.NewLine &
"Please modify the names of these machining and then retry to import the materials.") ' "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 Return
End If End If
' aggiorno/aggiungo materiali ' aggiorno/aggiungo materiali
@@ -353,9 +357,12 @@ Public Class ImportExportMachiningPanelVM
For Index = 0 To ImportedMaterialList.Count - 1 For Index = 0 To ImportedMaterialList.Count - 1
sMaterialList &= " - " & m_MachiningList(Index).sName & " (" & If(ImportedMaterialList(Index) = MaterialState.NOTFOUND, "New", "Updated") & ")" & Environment.NewLine sMaterialList &= " - " & m_MachiningList(Index).sName & " (" & If(ImportedMaterialList(Index) = MaterialState.NOTFOUND, "New", "Updated") & ")" & Environment.NewLine
Next Next
MessageBox.Show("List of the materials:" & Environment.NewLine & 'MessageBox.Show("List of the materials:" & Environment.NewLine &
sMaterialList & Environment.NewLine & ' sMaterialList & Environment.NewLine &
"Import successfully completed.") ' "Import successfully completed.")
EgtMessageBoxV.Show(Application.Current.MainWindow, "List of the materials:" & Environment.NewLine &
sMaterialList & Environment.NewLine &
"Import successfully completed.")
Return Return
End Sub End Sub
@@ -471,7 +478,7 @@ Public Class ImportExportMachiningPanelVM
End Select End Select
Case WindowModeEnum.EXPORT, WindowModeEnum.EXPORT_ORIG Case WindowModeEnum.EXPORT, WindowModeEnum.EXPORT_ORIG
' chiedo il nome con cui salvare il file ' chiedo il nome con cui salvare il file
Dim sExtension As String ="" Dim sExtension As String = ""
If m_WindowType = WindowTypeEnum.MATERIAL Then If m_WindowType = WindowTypeEnum.MATERIAL Then
If m_WindowMode = WindowModeEnum.EXPORT_ORIG Then If m_WindowMode = WindowModeEnum.EXPORT_ORIG Then
sExtension = OriginalMaterialDataExtension sExtension = OriginalMaterialDataExtension
@@ -580,7 +587,8 @@ Public Class ImpExpMachiningItem
If m_AlreadyExist Then If m_AlreadyExist Then
Select Case m_WindowType Select Case m_WindowType
Case WindowTypeEnum.MATERIAL 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 Case MessageBoxResult.Yes
m_ChangeName = False m_ChangeName = False
m_Active = True m_Active = True
@@ -594,7 +602,8 @@ Public Class ImpExpMachiningItem
End While End While
End If End If
m_sName = m_sOrigName & IMPEXPNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "") 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)) NotifyPropertyChanged(NameOf(sName))
m_ChangeName = True m_ChangeName = True
m_Active = True m_Active = True
@@ -602,7 +611,8 @@ Public Class ImpExpMachiningItem
m_Active = False m_Active = False
End Select End Select
Case WindowTypeEnum.MACHINING 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 Case MessageBoxResult.Yes
m_ChangeName = False m_ChangeName = False
m_Active = True m_Active = True
@@ -616,7 +626,8 @@ Public Class ImpExpMachiningItem
End While End While
End If End If
m_sName = m_sOrigName & IMPEXPNAME & If(nImpNameIndex > 0, "_" & nImpNameIndex, "") 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)) NotifyPropertyChanged(NameOf(sName))
m_ChangeName = True m_ChangeName = True
m_Active = 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:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:Icarus" xmlns:local="clr-namespace:Icarus"
IsEnabled="{Binding InstrumentPanel_IsEnabled}"
Orientation="Horizontal"> Orientation="Horizontal">
<local:CheckedImageToggleButton ToolTip="{Binding GetDist_ToolTip}" <local:CheckedImageToggleButton ToolTip="{Binding GetDist_ToolTip}"
@@ -96,8 +96,9 @@ Public Class MyInstrumentPanelVM
EgtDraw() EgtDraw()
' Ripristino stato segnalazione modifica ' Ripristino stato segnalazione modifica
DisableMgr.ReEnable() DisableMgr.ReEnable()
MessageBox.Show(sResult) 'MessageBox.Show(sResult)
Else EgtMessageBoxV.Show(Application.Current.MainWindow, sResult)
Else
' Disabilito segnalazione modificato ' Disabilito segnalazione modificato
Dim DisableMgr As New DisableModifiedMgr Dim DisableMgr As New DisableModifiedMgr
' cancello tutti i gruppi con i chunk ' cancello tutti i gruppi con i chunk
+35 -43
View File
@@ -1,50 +1,42 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MachSaveInDbWndV" <EgtWPFLib5:EgtMainWindow x:Class="MachSaveInDbWndV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Title="Save in Database"
Title="Machining Param Name" SizeToContent="WidthAndHeight"
Height="150" Width="300" WindowStartupLocation="CenterOwner"
WindowStartupLocation="CenterOwner" Style="{StaticResource Dialog_Window}">
Icon="/Resources/Icarus.ico" <Grid Margin="2.5,2.5,2.5,0">
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>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="10"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Grid.Column="1" <TextBlock Text="Write the new Database machining name"
Grid.Row="1" Margin="20,20,20,2.5"
Text="Name" Style="{StaticResource DialogWindow_TextBlock}"/>
Margin="0,0,10,0" <EgtWPFLib5:EgtTextBox2 Grid.Row="1"
Style="{Binding OptionTextBlock}"/> Text="{Binding sName}"
<EgtWPFLib5:EgtTextBox Grid.Column="2" IsExplicitFocused="True"
Grid.Row="1" Width="160"
Width="180" Margin="20,10,20,2.5"
Text="{Binding sName}" Style="{StaticResource LeftPanel_TextBox2}"/>
Style="{StaticResource LeftPanel_TextBox}"/> <UniformGrid Grid.Row="3"
<UniformGrid Grid.Column="1" Rows="1"
Grid.ColumnSpan="2" Margin="0,20,0,0">
Grid.Row="3" <Button Command="{Binding Ok_Command}"
Rows="1">
<Button Content="Ok"
Command="{Binding Ok_Command}"
IsDefault="True" IsDefault="True"
Style="{StaticResource ToolBar_TextButton}"/> Margin="0,0,2.5,0"
<Button Content="Cancel" Style="{StaticResource RightPanel_HalfRound_Button}">
Command="{Binding Cancel_Command}" <Image Source="\Resources\Common\Ok.png"
Style="{StaticResource ToolBar_TextButton}"/> 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> </UniformGrid>
</Grid> </Grid>
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtMainWindow>
+2 -1
View File
@@ -48,7 +48,8 @@ Public Class MachSaveInDbWndVM
Public Sub Ok() Public Sub Ok()
If Map.refTopPanelVM.MachiningList.Any(Function(x As MachiningIndex) x.sName = m_sName) Then 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 Return
End If End If
RaiseEvent m_CloseWindow(True) RaiseEvent m_CloseWindow(True)
@@ -7,7 +7,7 @@
Width="40" Width="40"
Style="{StaticResource SelViewSlider_ComboBox}"> Style="{StaticResource SelViewSlider_ComboBox}">
<ComboBoxItem> <ComboBoxItem>
<Image Source="\Resources\SimulationPanel\HeadMode.png" <Image Source="\Resources\SimulationPanel\ToolMode.png"
Style="{StaticResource ComboBox.Image}"/> Style="{StaticResource ComboBox.Image}"/>
</ComboBoxItem> </ComboBoxItem>
<ComboBoxItem> <ComboBoxItem>
+8 -13
View File
@@ -4,32 +4,27 @@ Imports EgtWPFLib5
Public Class MachineViewPanelVM Public Class MachineViewPanelVM
Inherits VMBase Inherits VMBase
Private m_nSelMachView As MCH_LOOK
Public Property ghSelMachView As Integer Public Property ghSelMachView As Integer
Get 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 End Get
Set(value As Integer) Set(value As Integer)
m_nSelMachView = value + 1 If Not IsNothing(Map.refSimulationPanelVM) AndAlso Not IsNothing(Map.refSimulationPanelVM.MySimul) Then
If Not IsNothing(Map.refSimulationPanelVM) Then Map.refSimulationPanelVM.MySimul.SetMachLook(value + 1)
Dim MySimul As SimulationVM = Map.refSimulationPanelVM.MySimul
MySimul.SetMachLook(m_nSelMachView)
' aggiorno lo stato della macchina e la sua visualizzazione ' aggiorno lo stato della macchina e la sua visualizzazione
EgtSetMachineLook(MySimul.GetMachLook()) EgtSetMachineLook(Map.refSimulationPanelVM.MySimul.GetMachLook())
WriteMainPrivateProfileString(S_SIMUL, K_MACHVIEWMODE, m_nSelMachView) WriteMainPrivateProfileString(S_SIMUL, K_MACHVIEWMODE, value + 1)
End If End If
EgtDraw() EgtDraw()
End Set End Set
End Property End Property
Friend Sub SetSelViewSlider(value As MCH_LOOK) Friend Sub RefreshSelViewSlider()
m_nSelMachView = value
NotifyPropertyChanged(NameOf(ghSelMachView)) NotifyPropertyChanged(NameOf(ghSelMachView))
End Sub End Sub
Sub New() Sub New()
' leggo vista macchina da ini e la imposto ' Creo riferimento a questa classe in OmagOFFICEMap
Dim DefaultMachViewMode As Integer = GetMainPrivateProfileInt(S_SIMUL, K_MACHVIEWMODE, 3) Map.SetRefMachineViewPanelVM(Me)
SetSelViewSlider(DefaultMachViewMode)
End Sub End Sub
End Class End Class
+247 -103
View File
@@ -1,8 +1,10 @@
Imports System.Collections.ObjectModel Imports System.Collections.ObjectModel
Imports System.Collections.Specialized Imports System.Collections.Specialized
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Reflection
Imports EgtUILib Imports EgtUILib
Imports EgtWPFLib5 Imports EgtWPFLib5
Imports Icarus.Machining
Public Class Machining Public Class Machining
Inherits VMBase Inherits VMBase
@@ -314,74 +316,77 @@ Public Class MachiningCathegory
Select Case m_Type Select Case m_Type
Case Cathegories.GENERAL Case Cathegories.GENERAL
m_sName = "General" m_sName = "General"
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nIndex), m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.SPIRALVASE, nIndex), New CheckMachiningParam(MachiningParam.Params.SPIRALVASE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.STRANDH, nIndex), New NumericMachiningParam(MachiningParam.Params.STRANDH, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.STRANDW, nIndex), New NumericMachiningParam(MachiningParam.Params.STRANDW, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nIndex), New NumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.OFFSET, nIndex), New NumericMachiningParam(MachiningParam.Params.OFFSET, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nIndex), New NumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nIndex), New NumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.STRANDORDER, nIndex), New ComboMachiningParam(MachiningParam.Params.STRANDORDER, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.DIRECTION, nIndex), New ComboMachiningParam(MachiningParam.Params.DIRECTION, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nIndex), New NumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.G0FEED, nIndex), New NumericMachiningParam(MachiningParam.Params.G0FEED, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.G0FEEDZ, nIndex), New NumericMachiningParam(MachiningParam.Params.G0FEEDZ, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.TOOLDIAM, nIndex), New NumericMachiningParam(MachiningParam.Params.LINKZUP, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nIndex), New NumericMachiningParam(MachiningParam.Params.TOOLDIAM, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nIndex), New NumericMachiningParam(MachiningParam.Params.FLOWRATE_PC, nIndex, Me),
New OrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nIndex)}) New ComboMachiningParam(MachiningParam.Params.DYNAMIC_MODE, nIndex, Me),
New OrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.PREFLOWDELAY, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.POSTFLOWDELAY, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.SCREWBACK, nIndex, Me)})
Case Cathegories.LINK Case Cathegories.LINK
m_sName = "Shell" m_sName = "Shell"
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.LINKTYPE, nIndex), m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LINKPARAM, nIndex), New ComboMachiningParam(MachiningParam.Params.LINKTYPE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LINKZUP, nIndex), New NumericMachiningParam(MachiningParam.Params.LINKPARAM, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.LEADIN, nIndex), New ComboMachiningParam(MachiningParam.Params.LEADIN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nIndex), New NumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nIndex), New NumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nIndex), New ComboMachiningParam(MachiningParam.Params.LEADOUT, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.LEADOUT, nIndex), New NumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nIndex), New NumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nIndex), New NumericMachiningParam(MachiningParam.Params.COASTINGLEN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.COASTINGLEN, nIndex), New NumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.COASTINGFEED_PC, nIndex), New NumericMachiningParam(MachiningParam.Params.WIPELEN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.WIPELEN, nIndex), New NumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nIndex, Me)})
New NumericMachiningParam(MachiningParam.Params.WIPEFEED_PC, nIndex)}) 'New NumericMachiningParam(MachiningParam.Params.WIPEDIR, nIndex, Me)})
'New NumericMachiningParam(MachiningParam.Params.WIPEDIR, nIndex)})
Case Cathegories.RIBS Case Cathegories.RIBS
m_sName = "Ribs" m_sName = "Ribs"
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.RIBSTYPE, nIndex), m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.RIBSTYPE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nIndex), New CheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex), New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nIndex, Me),
New CheckMachiningParam(MachiningParam.Params.RIBSLIMITUNBOUNDEDWITHSOLID, nIndex)}) New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nIndex, Me)})
Case Cathegories.SHELL_NUMBER Case Cathegories.SHELL_NUMBER
m_sName = "Reduce Shell Number" m_sName = "Reduce Shell Number"
m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nIndex), m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.SHELLNBRCOASTING, nIndex), New NumericMachiningParam(MachiningParam.Params.SHELLNBRCOASTING, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.SHELLNBRWIPE, nIndex), New NumericMachiningParam(MachiningParam.Params.SHELLNBRWIPE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nIndex)}) New NumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nIndex, Me)})
Case Cathegories.AUX_SOLID Case Cathegories.AUX_SOLID
m_sName = "Filled Solid" m_sName = "Filled Solid"
m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nIndex), m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nIndex), New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nIndex), New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nIndex, Me),
New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nIndex), New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nIndex), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nIndex), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nIndex), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nIndex), New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nIndex, Me),
New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nIndex)}) New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nIndex, Me)})
Case Cathegories.MATERIALS Case Cathegories.MATERIALS
m_sName = "Materials" m_sName = "Materials"
Dim sMaterials As String = "" Dim sMaterials As String = ""
@@ -389,7 +394,25 @@ Public Class MachiningCathegory
Dim MaterialGuidList As List(Of String) = sMaterials.Split(";"c).ToList() Dim MaterialGuidList As List(Of String) = sMaterials.Split(";"c).ToList()
m_MachiningParamList = New List(Of MachiningParam) m_MachiningParamList = New List(Of MachiningParam)
For Each Material In Map.refTopPanelVM.MaterialList For Each Material In Map.refTopPanelVM.MaterialList
m_MachiningParamList.Add(New MaterialMachiningParam(Material.sName, Material.sGUID, MaterialGuidList.Contains(Material.sGUID))) m_MachiningParamList.Add(New MaterialMachiningParam(Material.sName, Material.sGUID, MaterialGuidList.Contains(Material.sGUID), Me))
Next
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 Next
End Select End Select
End Sub End Sub
@@ -433,26 +456,29 @@ Public MustInherit Class MachiningParam
DIRECTION = 10 DIRECTION = 10
FLOORCOUNT = 11 FLOORCOUNT = 11
G0FEED = 12 G0FEED = 12
G0FEEDZ = 13 LINKZUP = 13
TOOLDIAM = 14 G0FEEDZ = 14
FLOWRATE_PC = 15 TOOLDIAM = 15
DYNAMIC_MODE = 16 FLOWRATE_PC = 16
PRINT_ORDER = 17 DYNAMIC_MODE = 17
PRINT_ORDER = 18
PREFLOWDELAY = 19
POSTFLOWDELAY = 20
SCREWBACK = 21
LINKTYPE = 51 LINKTYPE = 51
LINKPARAM = 52 LINKPARAM = 52
LINKZUP = 53 LEADIN = 53
LEADIN = 54 LEADINTANGDIST = 54
LEADINTANGDIST = 55 LEADINORTHODIST = 55
LEADINORTHODIST = 56 OFFSETLEADPOINT = 56
OFFSETLEADPOINT = 57 LEADOUT = 57
LEADOUT = 58 LEADOUTTANGDIST = 58
LEADOUTTANGDIST = 59 LEADOUTORTHODIST = 59
LEADOUTORTHODIST = 60 COASTINGLEN = 60
COASTINGLEN = 61 COASTINGFEED_PC = 61
COASTINGFEED_PC = 62 WIPELEN = 62
WIPELEN = 63 WIPEFEED_PC = 63
WIPEFEED_PC = 64 'WIPEDIR = 64
'WIPEDIR = 65
RIBSTYPE = 101 RIBSTYPE = 101
RIBSOVERLAP = 102 RIBSOVERLAP = 102
RIBSSTRANDCOUNT = 103 RIBSSTRANDCOUNT = 103
@@ -500,8 +526,16 @@ Public MustInherit Class MachiningParam
Public MustOverride ReadOnly Property bIsModified As Boolean Public MustOverride ReadOnly Property bIsModified As Boolean
Sub New(Type As Params) Protected m_Cathegory As MachiningCathegory
Public ReadOnly Property Cathegory As MachiningCathegory
Get
Return m_Cathegory
End Get
End Property
Sub New(Type As Params, Cathegory As MachiningCathegory)
m_Type = Type m_Type = Type
m_Cathegory = Cathegory
Select Case m_Type Select Case m_Type
Case Params.SLICINGTYPE Case Params.SLICINGTYPE
m_sName = "Slicing direction" m_sName = "Slicing direction"
@@ -555,6 +589,12 @@ Public MustInherit Class MachiningParam
m_sName = "G0 Feed Z" m_sName = "G0 Feed Z"
Case Params.TOOLDIAM Case Params.TOOLDIAM
m_sName = "Nozzle Diameter" m_sName = "Nozzle Diameter"
Case Params.PREFLOWDELAY
m_sName = "Pre Flow Delay"
Case Params.POSTFLOWDELAY
m_sName = "Post Flow Delay"
Case Params.SCREWBACK
m_sName = "Screw Back"
Case Params.RIBSTYPE Case Params.RIBSTYPE
m_sName = "Type" m_sName = "Type"
Case Params.RIBSOVERLAP Case Params.RIBSOVERLAP
@@ -626,8 +666,9 @@ Public MustInherit Class MachiningParam
End Select End Select
End Sub End Sub
Sub New(sName As String) Sub New(sName As String, Cathegory As MachiningCathegory)
m_Type = Params.MATERIALS m_Type = Params.MATERIALS
m_Cathegory = Cathegory
m_sName = sName m_sName = sName
End Sub End Sub
@@ -644,6 +685,10 @@ Public Class NumericMachiningParam
Protected m_bIsLen As Boolean = False Protected m_bIsLen As Boolean = False
Protected m_bIsActiveMinMax As Boolean = False
Protected m_dMinValue As Double
Protected m_dMaxValue As Double
Protected m_dValue As Double Protected m_dValue As Double
Public ReadOnly Property dValue As Double Public ReadOnly Property dValue As Double
Get Get
@@ -655,10 +700,18 @@ Public Class NumericMachiningParam
Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString(m_dValue, 2)) Return If(m_bIsLen, LenToString(m_dValue, 1), DoubleToString(m_dValue, 2))
End Get End Get
Set(value As String) Set(value As String)
Dim dTempValue As Double = 0
If m_bIsLen Then If m_bIsLen Then
StringToLen(value, m_dValue) StringToLen(value, dTempValue)
Else Else
StringToDouble(value, m_dValue) StringToDouble(value, dTempValue)
End If
If m_bIsActiveMinMax Then
If dTempValue >= m_dMinValue AndAlso dTempValue <= m_dMaxValue Then
m_dValue = dTempValue
End If
Else
m_dValue = dTempValue
End If End If
NotifyPropertyChanged(NameOf(sValue)) NotifyPropertyChanged(NameOf(sValue))
End Set End Set
@@ -677,12 +730,36 @@ Public Class NumericMachiningParam
End Get End Get
End Property End Property
Sub New(Type As Params) Protected m_bIsActive As Boolean = True
MyBase.New(Type) Public ReadOnly Property bIsActive As Boolean
Get
Return m_bIsActive
End Get
End Property
Friend Sub SetIsActive(bValue As Boolean)
m_bIsActive = bValue
NotifyPropertyChanged(NameOf(bIsActive))
End Sub End Sub
Sub New(Type As Params, nIndex As Integer) Sub New(Type As Params, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
End Sub
Sub New(Type As Params, nIndex As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type, Cathegory)
' leggo ed imposto eventuali min e max
Dim sMinMax As String = ""
If GetPrivateProfileString(S_MINMAX, Type, "", sMinMax, CurrentMachine.sMachIniFile) > 0 Then
Dim sMinMaxValues() As String = sMinMax.Split(","c)
Dim dMin As Double = 0
Dim dMax As Double = 0
If StringToDouble(sMinMaxValues(0), dMin) AndAlso StringToDouble(sMinMaxValues(1), dMax) Then
m_dMinValue = dMin
m_dMaxValue = dMax
m_bIsActiveMinMax = True
End If
End If
' leggo parametri da Db
If nIndex = 0 Then If nIndex = 0 Then
m_dValue = 0 m_dValue = 0
m_bIsLen = True m_bIsLen = True
@@ -754,6 +831,15 @@ Public Class NumericMachiningParam
Case Params.TOOLDIAM Case Params.TOOLDIAM
m_dValue = ReadMachiningParamDouble(nIndex, MAC_TOOLDIAM, 0) m_dValue = ReadMachiningParamDouble(nIndex, MAC_TOOLDIAM, 0)
m_bIsLen = True m_bIsLen = True
Case Params.PREFLOWDELAY
m_dValue = ReadMachiningParamDouble(nIndex, MAC_PREFLOWDELAY, 0)
m_bIsLen = False
Case Params.POSTFLOWDELAY
m_dValue = ReadMachiningParamDouble(nIndex, MAC_POSTFLOWDELAY, 0)
m_bIsLen = False
Case Params.SCREWBACK
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SCREWBACK, 45)
m_bIsLen = False
Case Params.RIBSOVERLAP Case Params.RIBSOVERLAP
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSOVERLAP, 0) m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSOVERLAP, 0)
m_bIsLen = False m_bIsLen = False
@@ -865,6 +951,12 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_G0FEEDZ, sWriteValue, sFilePath) WriteMachiningParam(nIndex, MAC_G0FEEDZ, sWriteValue, sFilePath)
Case Params.TOOLDIAM Case Params.TOOLDIAM
WriteMachiningParam(nIndex, MAC_TOOLDIAM, sWriteValue, sFilePath) WriteMachiningParam(nIndex, MAC_TOOLDIAM, sWriteValue, sFilePath)
Case Params.PREFLOWDELAY
WriteMachiningParam(nIndex, MAC_PREFLOWDELAY, sWriteValue, sFilePath)
Case Params.POSTFLOWDELAY
WriteMachiningParam(nIndex, MAC_POSTFLOWDELAY, sWriteValue, sFilePath)
Case Params.SCREWBACK
WriteMachiningParam(nIndex, MAC_SCREWBACK, sWriteValue, sFilePath)
Case Params.RIBSOVERLAP Case Params.RIBSOVERLAP
WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue, sFilePath) WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue, sFilePath)
Case Params.RIBSSTRANDCOUNT Case Params.RIBSSTRANDCOUNT
@@ -942,8 +1034,8 @@ Public Class StringMachiningParam
End Get End Get
End Property End Property
Sub New(Type As Params, nIndex As Integer) Sub New(Type As Params, nIndex As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
m_sValue = sValue m_sValue = sValue
m_sOrigValue = m_sValue m_sOrigValue = m_sValue
End Sub End Sub
@@ -984,6 +1076,7 @@ Public Class ComboMachiningParam
Set(value As IdNameStruct) Set(value As IdNameStruct)
m_SelValue = value m_SelValue = value
NotifyPropertyChanged(NameOf(SelValue)) NotifyPropertyChanged(NameOf(SelValue))
ManageDependencyParam()
End Set End Set
End Property End Property
@@ -1000,12 +1093,23 @@ Public Class ComboMachiningParam
End Get End Get
End Property End Property
Sub New(Type As Params) Protected m_bIsActive As Boolean = True
MyBase.New(Type) Public ReadOnly Property bIsActive As Boolean
Get
Return m_bIsActive
End Get
End Property
Friend Sub SetIsActive(bValue As Boolean)
m_bIsActive = bValue
NotifyPropertyChanged(NameOf(bIsActive))
End Sub End Sub
Sub New(Type As Params, nIndex As Integer) Sub New(Type As Params, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
End Sub
Sub New(Type As Params, nIndex As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type, Cathegory)
If nIndex = 0 Then If nIndex = 0 Then
m_ValueList = New List(Of IdNameStruct) m_ValueList = New List(Of IdNameStruct)
m_SelValue = Nothing m_SelValue = Nothing
@@ -1082,6 +1186,35 @@ Public Class ComboMachiningParam
m_OrigSelValue = m_SelValue m_OrigSelValue = m_SelValue
End Sub End Sub
Friend Sub ManageDependencyParam()
' gestisco dis/attivazione parametri dipendenti
Select Case m_Type
Case Params.LINKTYPE
Dim NumMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.LINKPARAM)
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_LINKTYPES.NONE)
Case Params.LEADIN
Dim NumMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.LEADINTANGDIST)
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_LEADINOUT.NONE)
NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.LEADINORTHODIST)
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_LEADINOUT.NONE)
Case Params.LEADOUT
Dim NumMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.LEADOUTTANGDIST)
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_LEADINOUT.NONE)
NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.LEADOUTORTHODIST)
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_LEADINOUT.NONE)
Case Params.RIBSTYPE
Dim CheckMachiningParam As CheckMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.RIBSLIMITUNBOUNDEDWITHSOLID)
CheckMachiningParam.SetIsActive(m_SelValue.Id = MPAR_RIBSTYPE.UNBOUNDED)
Case Params.AUXSOLIDSINFILL
Dim ComboMachiningParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTRANDORDER)
ComboMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL.OFFSET)
ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKTYPE)
ComboMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL.OFFSET)
Dim NumMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKPARAM)
NumMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL.OFFSET)
End Select
End Sub
Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "") Friend Overrides Sub WriteParamOnDb(nIndex As Integer, Optional sFilePath As String = "")
Select Case Type Select Case Type
Case Params.SLICINGTYPE Case Params.SLICINGTYPE
@@ -1147,12 +1280,23 @@ Public Class CheckMachiningParam
End Get End Get
End Property End Property
Sub New(Type As Params) Protected m_bIsActive As Boolean = True
MyBase.New(Type) Public ReadOnly Property bIsActive As Boolean
Get
Return m_bIsActive
End Get
End Property
Friend Sub SetIsActive(bValue As Boolean)
m_bIsActive = bValue
NotifyPropertyChanged(NameOf(bIsActive))
End Sub End Sub
Sub New(Type As Params, nIndex As Integer) Sub New(Type As Params, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
End Sub
Sub New(Type As Params, nIndex As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type, Cathegory)
If nIndex = 0 Then If nIndex = 0 Then
m_bValue = 0 m_bValue = 0
Else Else
@@ -1247,8 +1391,8 @@ Public Class MaterialMachiningParam
End Get End Get
End Property End Property
Sub New(sName As String, sGUID As String, bValue As Boolean) Sub New(sName As String, sGUID As String, bValue As Boolean, Cathegory As MachiningCathegory)
MyBase.New(sName) MyBase.New(sName, Cathegory)
m_sGUID = sGUID m_sGUID = sGUID
m_bValue = bValue m_bValue = bValue
m_bOrigValue = m_bValue m_bOrigValue = m_bValue
@@ -1373,12 +1517,12 @@ Public Class OrderedMachiningParam
Private m_cmdMoveDownOrder As ICommand Private m_cmdMoveDownOrder As ICommand
Private m_cmdResetOrder As ICommand Private m_cmdResetOrder As ICommand
Sub New(Type As Params) Sub New(Type As Params, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
End Sub End Sub
Sub New(Type As Params, nIndex As Integer) Sub New(Type As Params, nIndex As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
If nIndex = 0 Then If nIndex = 0 Then
Select Case Type Select Case Type
Case Params.PRINT_ORDER Case Params.PRINT_ORDER
+10 -7
View File
@@ -134,7 +134,8 @@
</ItemsControl.ItemsPanel> </ItemsControl.ItemsPanel>
<ItemsControl.Resources> <ItemsControl.Resources>
<DataTemplate DataType="{x:Type PrintApp:NumericMachiningParam}"> <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> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
@@ -142,14 +143,15 @@
<TextBlock Text="{Binding sName}" <TextBlock Text="{Binding sName}"
Margin="0,0,2.5,0" Margin="0,0,2.5,0"
Style="{StaticResource ParameterList_TextBlock}"/> Style="{StaticResource ParameterList_TextBlock}"/>
<TextBox Grid.Column="1" <EgtWPFLib5:EgtTextBox2 Grid.Column="1"
Text="{Binding sValue}" Text="{Binding sValue, UpdateSourceTrigger=Explicit}"
Margin="2.5,0,0,0" Margin="2.5,0,0,0"
Style="{StaticResource ParameterList_TextBox}"/> Style="{StaticResource ParameterList_TextBox2}"/>
</Grid> </Grid>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type PrintApp:ComboMachiningParam}"> <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> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
@@ -167,7 +169,8 @@
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}"> <DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}">
<Grid Height="22" <Grid Height="22"
Margin="0,1,2.5,1"> Margin="0,1,2.5,1"
IsEnabled="{Binding bIsActive}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
+6 -3
View File
@@ -26,7 +26,8 @@ Public Class MachiningDbVM
' verifico se modificato ' verifico se modificato
If m_SelMachining.bIsModified Then If m_SelMachining.bIsModified Then
' chiedo se salvare ' 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 Case MessageBoxResult.Yes
m_SelMachining.Save() m_SelMachining.Save()
Case MessageBoxResult.No Case MessageBoxResult.No
@@ -198,7 +199,8 @@ Public Class MachiningDbVM
Public Sub Ok() Public Sub Ok()
If Not IsNothing(m_SelMachining) AndAlso m_SelMachining.bIsModified Then If Not IsNothing(m_SelMachining) AndAlso m_SelMachining.bIsModified Then
' chiedo se salvare ' 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 Case MessageBoxResult.Yes
m_SelMachining.Save() m_SelMachining.Save()
Case MessageBoxResult.No Case MessageBoxResult.No
@@ -309,7 +311,8 @@ Public Class MachiningDbVM
Public Sub Delete() Public Sub Delete()
If IsNothing(m_SelMachining) Then Return If IsNothing(m_SelMachining) Then Return
' chiedo conferma ' 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 Case MessageBoxResult.Yes
m_MachiningList.Remove(m_SelMachining) m_MachiningList.Remove(m_SelMachining)
SetIsModified(True) SetIsModified(True)
+2 -2
View File
@@ -195,8 +195,8 @@ Public Class MainWindowM
' Verifico abilitazione nesting automatico ' Verifico abilitazione nesting automatico
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey) m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero livello e opzioni della chiave ' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2502, 1, m_nKeyLevel) And Dim bKey As Boolean = EgtGetKeyLevel(5583, 2505, 1, m_nKeyLevel) And
EgtGetKeyOptions(5583, 2502, 1, m_nKeyOptions) EgtGetKeyOptions(5583, 2505, 1, m_nKeyOptions)
' Inizializzazione generale di EgtInterface ' Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0) m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString()) m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
+12 -27
View File
@@ -1,20 +1,14 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MainWindowV" <EgtWPFLib5:EgtMainWindow x:Class="MainWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus" xmlns:PrintApp="clr-namespace:Icarus"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" MinHeight="600" MinWidth="800"
Title="{Binding sTitle}" Icon="/Resources/Icarus.ico" AllowDrop="True"
MinHeight="600" MinWidth="800" WindowStyle="None" ResizeMode="NoResize" Drop="MainWindowV_Drop"
AllowDrop="True" Drop="MainWindowV_Drop" ShowInTaskbar="True"
ShowInTaskbar="True" Topmost="False"
Topmost="False" Style="{StaticResource NoStyle_Window}">
CloseCommand="{Binding CloseApplicationCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
<!--<EgtWPFLib5:EgtCustomWindow.TitlePanel>
<PrintApp:ProjManagerV DataContext="{StaticResource ProjManagerVM}"/>
</EgtWPFLib5:EgtCustomWindow.TitlePanel>-->
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
@@ -23,14 +17,5 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<PrintApp:SceneHostV Grid.Row="1"/> <PrintApp:SceneHostV Grid.Row="1"/>
</Grid> </Grid>
<!--Pannello principale --><!--
<DockPanel>
--><!--StatusBar --><!-- </EgtWPFLib5:EgtMainWindow>
<PrintApp:StatusBarV DataContext="{StaticResource StatusBarVM}"
DockPanel.Dock="Bottom"/>
<PrintApp:ProjectV DataContext="{StaticResource ProjectVM}"/>
</DockPanel>-->
</EgtWPFLib5:EgtCustomWindow>
+16 -3
View File
@@ -5,7 +5,6 @@ Imports System.Windows.Interop
Class MainWindowV Class MainWindowV
Private m_MainWindowVM As MainWindowVM Private m_MainWindowVM As MainWindowVM
Private m_SceneHostWnd As SecondaryWindowV
#Region "CONSTRUCTOR" #Region "CONSTRUCTOR"
@@ -20,6 +19,8 @@ Class MainWindowV
AddHandler Me.Closing, AddressOf MainWindowV_Closing AddHandler Me.Closing, AddressOf MainWindowV_Closing
AddHandler Me.KeyDown, AddressOf MainWindowV_KeyDown AddHandler Me.KeyDown, AddressOf MainWindowV_KeyDown
AddHandler Me.StateChanged, AddressOf MainWindowV_StateChanged AddHandler Me.StateChanged, AddressOf MainWindowV_StateChanged
'AddHandler Me.LocationChanged, AddressOf MainWindowV_LocationChanged
'AddHandler Me.SizeChanged, AddressOf MainWindowV_SizeChanged
End Sub End Sub
#End Region ' CONSTRUCTOR #End Region ' CONSTRUCTOR
@@ -60,15 +61,27 @@ Class MainWindowV
Me.Activate() Me.Activate()
' Recupero l'array di stringhe con i nomi del file ' Recupero l'array di stringhe con i nomi del file
Dim sFiles() As String = DirectCast(e.Data.GetData(DataFormats.FileDrop), String()) 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 If
End Sub End Sub
Private Sub MainWindowV_StateChanged(sender As Object, e As EventArgs) Private Sub MainWindowV_StateChanged(sender As Object, e As EventArgs)
If Not IsNothing(Map.refSecondaryWindowV) AndAlso Not Map.refSecondaryWindowV.WindowChangingState Then If Not IsNothing(Map.refSecondaryWindowV) AndAlso Not Map.refSecondaryWindowV.WindowChangingState Then
Map.refSecondaryWindowV.WindowState = Me.WindowState Map.refSecondaryWindowV.WindowState = Me.WindowState
'Application.Current.MainWindow.Topmost = True
'Application.Current.MainWindow.Topmost = False
End If End If
End Sub End Sub
+84 -151
View File
@@ -7,9 +7,6 @@ Imports System.Windows.Threading
Public Class MainWindowVM Public Class MainWindowVM
Inherits VMBase Inherits VMBase
Private m_SupervisorCommThread As Thread
Private m_Supervisor_Timer As New DispatcherTimer
' Riferimento al Model della MainWindow ' Riferimento al Model della MainWindow
Private m_MainWindowM As MainWindowM Private m_MainWindowM As MainWindowM
Friend ReadOnly Property MainWindowM As MainWindowM Friend ReadOnly Property MainWindowM As MainWindowM
@@ -18,6 +15,9 @@ Public Class MainWindowVM
End Get End Get
End Property 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) ' Variabile che indica che il programma è stato avviato correttamente (sia la mappa che l'ambiente Egt)
Private m_bInitStatus As Boolean Private m_bInitStatus As Boolean
Friend ReadOnly Property bInitStatus As Boolean Friend ReadOnly Property bInitStatus As Boolean
@@ -27,25 +27,34 @@ Public Class MainWindowVM
End Property End Property
' Titolo ' Titolo
Private m_sTitle As String Public ReadOnly Property sTitle As String
Public Property sTitle As String
Get Get
Return m_sTitle Return "Icarus"
End Get End Get
Set(value As String)
m_sTitle = value
NotifyPropertyChanged(NameOf(sTitle))
End Set
End Property End Property
' proprietà che seleziona la giusta pagina del TabControl Public ReadOnly Property sProjectName As String
Public Property nSelTabPage As Integer
Get 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) Dim sFilePath As String = ""
Return -1 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 End Get
Set(value As Integer)
End Set
End Property End Property
Private m_MachinePanelVM As MachinePanelVM Private m_MachinePanelVM As MachinePanelVM
@@ -55,9 +64,6 @@ Public Class MainWindowVM
End Get End Get
End Property End Property
'Friend m_SupervisorStop As Boolean = False
'Private BlockedWnd As BlockedWndV
' definizione comandi ' definizione comandi
Private m_cmdAboutBox As ICommand Private m_cmdAboutBox As ICommand
Private m_cmdCloseApplication As ICommand Private m_cmdCloseApplication As ICommand
@@ -71,117 +77,18 @@ Public Class MainWindowVM
m_MainWindowM = New MainWindowM m_MainWindowM = New MainWindowM
' inizializzo machine panel ' inizializzo machine panel
m_MachinePanelVM = New MachinePanelVM m_MachinePanelVM = New MachinePanelVM
' inizializzo contatore per blocco da supervisore ' Installo funzione gestione eventi per lua
m_Supervisor_Timer.Interval = TimeSpan.FromMilliseconds(500) EgtSetProcessEvents(m_ProcEventsCallback)
' AddHandler m_Supervisor_Timer.Tick, AddressOf SupervisorTimer_Tick
m_Supervisor_Timer.Start()
End Sub End Sub
#End Region ' CONSTRUCTOR #End Region ' CONSTRUCTOR
'#Region "METHODS" '#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() 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 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) Friend Sub KeyDown(PressedKey As Key)
' Con ESC esco dall'azione corrente ' Con ESC esco dall'azione corrente
If PressedKey = Key.Escape Then If PressedKey = Key.Escape Then
@@ -240,36 +147,17 @@ Public Class MainWindowVM
End If End If
End Sub 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() Friend Sub CloseApplication()
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
Return Return
@@ -300,8 +188,53 @@ Public Class MainWindowVM
Application.Current.Shutdown() Application.Current.Shutdown()
End Sub 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 End Class
+13 -6
View File
@@ -145,13 +145,20 @@
Rows="1" Rows="1"
IsEnabled="{Binding IsEnabled}" IsEnabled="{Binding IsEnabled}"
Margin="0,2.5,0,0"> Margin="0,2.5,0,0">
<Button Content="Ok" <Button Command="{Binding Ok_Command}"
Command="{Binding Ok_Command}" IsDefault="True"
Style="{StaticResource RightPanel_HalfRound_Button}"/> Margin="0,0,2.5,0"
<Button Content="Cancel" Style="{StaticResource RightPanel_HalfRound_Button}">
Command="{Binding Cancel_Command}" <Image Source="\Resources\Common\Ok.png"
Style="{StaticResource Button_Image}"/>
</Button>
<Button Command="{Binding Cancel_Command}"
Visibility="{Binding IsImport_Visibility}" 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> </UniformGrid>
</Grid> </Grid>
</Border> </Border>
+2 -1
View File
@@ -286,7 +286,8 @@ Public Class ManagePartPanelVM
Next Next
Next Next
If sErr.Count > 0 Then 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 Return
Else Else
' Creo pezzi e layer necessari ' Creo pezzi e layer necessari
+4 -2
View File
@@ -629,7 +629,8 @@ Public Class GeomEntity_MenuItem
Map.refManagePartPanelVM.SetIsEnabled(True) Map.refManagePartPanelVM.SetIsEnabled(True)
Return Return
ElseIf m_Type = ManagePart_Layer.LayerType.DELETE Then 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) EgtErase(m_OrigEntity.nId)
' se l'entita' e' gia' in lista pezzi ' se l'entita' e' gia' in lista pezzi
If Not IsNothing(m_OrigEntity.OrigLayer) Then If Not IsNothing(m_OrigEntity.OrigLayer) Then
@@ -1037,7 +1038,8 @@ Public Class ManagerLayer_MenuItem
Case Else ' PartMenuCmd.IMPORTPRINT Case Else ' PartMenuCmd.IMPORTPRINT
Dim bDeleteOldPrint As Boolean = False Dim bDeleteOldPrint As Boolean = False
If m_OrigLayer.EntityList.Count > 0 Then 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 Return
Else Else
bDeleteOldPrint = True bDeleteOldPrint = True
+2 -1
View File
@@ -769,7 +769,8 @@ Public Class StringMaterialParam
End Property End Property
Public Sub Original() 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_sGUID = ORIG_MATERIAL
m_sValue = ORIG_MATERIAL m_sValue = ORIG_MATERIAL
NotifyPropertyChanged(NameOf(sValue)) NotifyPropertyChanged(NameOf(sValue))
+10 -5
View File
@@ -24,7 +24,8 @@ Public Class MaterialDbVM
' verifico se modificato ' verifico se modificato
If Not IsNothing(m_SelMaterial) AndAlso m_SelMaterial.bIsModified Then If Not IsNothing(m_SelMaterial) AndAlso m_SelMaterial.bIsModified Then
' chiedo se salvare ' 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 Case MessageBoxResult.Yes
m_SelMaterial.Save() m_SelMaterial.Save()
Case MessageBoxResult.No Case MessageBoxResult.No
@@ -236,7 +237,8 @@ Public Class MaterialDbVM
Public Sub Ok() Public Sub Ok()
If Not IsNothing(m_SelMaterial) AndAlso m_SelMaterial.bIsModified Then If Not IsNothing(m_SelMaterial) AndAlso m_SelMaterial.bIsModified Then
' chiedo se salvare ' 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 Case MessageBoxResult.Yes
m_SelMaterial.Save() m_SelMaterial.Save()
Case MessageBoxResult.No Case MessageBoxResult.No
@@ -365,17 +367,20 @@ Public Class MaterialDbVM
' se materiale originale, esco ' se materiale originale, esco
If SelMaterialIsOriginal() Then If SelMaterialIsOriginal() Then
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 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 Return
End If End If
sCheckMessage = "Trying to delete an Original Material! Are you ABSOLUTELY sure you want to delete it?" sCheckMessage = "Trying to delete an Original Material! Are you ABSOLUTELY sure you want to delete it?"
Else 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 Return
End If End If
End If End If
' chiedo conferma ' 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 Case MessageBoxResult.Yes
m_MaterialList.Remove(m_SelMaterial) m_MaterialList.Remove(m_SelMaterial)
SetIsModified(True) SetIsModified(True)
+2 -2
View File
@@ -70,5 +70,5 @@ Imports System.Windows
' by using the '*' as shown below: ' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.5.3.1")> <Assembly: AssemblyVersion("2.5.5.1")>
<Assembly: AssemblyFileVersion("2.5.3.1")> <Assembly: AssemblyFileVersion("2.5.5.1")>
-36
View File
@@ -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>
-45
View File
@@ -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
+330 -316
View File
@@ -1,328 +1,342 @@
<EgtWPFLib5:EgtCustomWindow x:Class="OptionWindowV" <EgtWPFLib5:EgtMainWindow x:Class="OptionWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:Icarus="clr-namespace:Icarus" xmlns:Icarus="clr-namespace:Icarus"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Style="{StaticResource Dialog_Window}"
Title="{Binding Title}" Icon="/Resources/Icarus.ico" Title="{Binding Title}" Icon="/Resources/Icarus.ico"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False" WindowStyle="None" ResizeMode="NoResize"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
MinWidth="400" MinHeight="382" MinWidth="400" MinHeight="382"
Width="400" Height="412"> Width="400" Height="412">
<!--<EgtWPFLib5:EgtCustomWindow.Resources> <!--<EgtWPFLib5:EgtCustomWindow.Resources>
<local:GeomTypeConverter x:Key="GeomTypeConverter"/> <local:GeomTypeConverter x:Key="GeomTypeConverter"/>
</EgtWPFLib5:EgtCustomWindow.Resources>--> </EgtWPFLib5:EgtCustomWindow.Resources>-->
<TabControl Margin="5,5,5,5"> <Grid>
<TabItem Header="{Binding GenericMsg}"> <Grid.RowDefinitions>
<StackPanel Margin="5,5,5,0"> <RowDefinition Height="1*"/>
<!--<GroupBox Header="{Binding CurrentLanguageMsg}" <RowDefinition Height="Auto"/>
Margin="0,0,0,5"> </Grid.RowDefinitions>
<UniformGrid Rows="2" Margin="3,3,3,3"> <TabControl Margin="5,5,5,5">
<ComboBox ItemsSource="{Binding LanguageList, Mode=OneWay}" Height="25" <TabItem Header="{Binding GenericMsg}">
DisplayMemberPath="Name" SelectedItem="{Binding SelectedLanguage}" <StackPanel Margin="5,5,5,0">
Margin="0,0,0,5"/> <!--<GroupBox Header="{Binding CurrentLanguageMsg}"
<TextBlock Text="{Binding LanguageAdvertMsg}" TextWrapping="Wrap"
TextAlignment="Center"/>
</UniformGrid>
</GroupBox>-->
<UniformGrid Columns="2"
Margin="0,0,0,5"> Margin="0,0,0,5">
<TextBlock Text="{Binding TopSceneBackgroundMsg}" VerticalAlignment="Center"/> <UniformGrid Rows="2" Margin="3,3,3,3">
<Button Background="{Binding TopSceneBackground}" <ComboBox ItemsSource="{Binding LanguageList, Mode=OneWay}" Height="25"
Command="{Binding TopSceneBackground_Command}" DisplayMemberPath="Name" SelectedItem="{Binding SelectedLanguage}"
Style="{StaticResource EgtWPFLib5_InputButton}"/> Margin="0,0,0,5"/>
</UniformGrid> <TextBlock Text="{Binding LanguageAdvertMsg}" TextWrapping="Wrap"
<UniformGrid Columns="2" TextAlignment="Center"/>
Margin="0,0,0,5"> </UniformGrid>
<TextBlock Text="{Binding BotSceneBackgroundMsg}" VerticalAlignment="Center"/> </GroupBox>-->
<Button Background="{Binding BotSceneBackground}" <UniformGrid Columns="2"
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"
Margin="0,0,0,5"> Margin="0,0,0,5">
<ComboBox.ItemTemplate> <TextBlock Text="{Binding TopSceneBackgroundMsg}" VerticalAlignment="Center"/>
<DataTemplate> <Button Background="{Binding TopSceneBackground}"
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/> Command="{Binding TopSceneBackground_Command}"
</DataTemplate> Style="{StaticResource EgtWPFLib5_InputButton}"/>
</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> </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"> </TabItem>
<Grid.ColumnDefinitions> <TabItem Header="{Binding ImportMsg}">
<ColumnDefinition Width="2*"/> <StackPanel Margin="5,5,5,0">
<ColumnDefinition Width="1*"/> <Grid Margin="0,5,0,0">
</Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<Grid.RowDefinitions> <ColumnDefinition Width="1*"/>
<RowDefinition Height="1*"/> <ColumnDefinition Width="0.8*"/>
<RowDefinition Height="1*"/> <ColumnDefinition Width="1*"/>
</Grid.RowDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding NewMachiningPosMsg}" VerticalAlignment="Center" <Grid.RowDefinitions>
Grid.Row="0" Margin="0,0,0,5"/> <RowDefinition Height="1*"/>
<CheckBox IsChecked="{Binding NewMachiningIsLastOne}" <RowDefinition Height="1*"/>
Grid.Column="1" Grid.Row="0" Margin="4,0,0,0" VerticalAlignment="Center"/> <RowDefinition Height="1*"/>
<TextBlock Text="{Binding UseDispositionScriptMsg}" VerticalAlignment="Center" <RowDefinition Height="1*"/>
Grid.Row="1" Margin="0,0,0,5"/> </Grid.RowDefinitions>
<CheckBox IsChecked="{Binding UseDispositionScript}" <TextBlock Grid.Row="0" Grid.Column="1"
Grid.Column="1" Grid.Row="1" Margin="4,0,0,0" VerticalAlignment="Center"/> VerticalAlignment="Center" HorizontalAlignment="Center"
</Grid>--> Text="{Binding UnitScaleMsg}" />
<TextBlock Grid.Row="0" Grid.Column="2"
VerticalAlignment="Center" HorizontalAlignment="Center"
Text="{Binding FactorScaleMsg}"/>
<Grid Margin="5,5,5,0"> <TextBlock Grid.Row="1" Grid.Column="0"
<Button Content="{Binding AddMachineMsg}" Command="{Binding AddMachine_Command}" Height="26" Margin="100,1"/> Text="{Binding DxfScaleFactorMsg}" VerticalAlignment="Center"/>
</Grid> <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"> <!--<Grid Margin="5,5,5,0">
<Button Content="{Binding ExportMachineMsg}" Command="{Binding ExportMachine_Command}" Height="26" Margin="100,1"/> <Grid.ColumnDefinitions>
</Grid> <ColumnDefinition Width="2*"/>
</StackPanel> <ColumnDefinition Width="1*"/>
</TabItem> </Grid.ColumnDefinitions>
</TabControl> <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>
+52 -84
View File
@@ -563,17 +563,17 @@ Public Class OptionWindowVM
End Property End Property
Public ReadOnly Property ThickLineMsg As String Public ReadOnly Property ThickLineMsg As String
Get Get
Return EgtMsg( 6536) ' Linee spesse Return EgtMsg(6536) ' Linee spesse
End Get End Get
End Property End Property
Public ReadOnly Property SmoothTriMeshMsg As String Public ReadOnly Property SmoothTriMeshMsg As String
Get Get
Return EgtMsg( 6518) ' Superfici smussate Return EgtMsg(6518) ' Superfici smussate
End Get End Get
End Property End Property
Public ReadOnly Property UpdateLicenceMsg As String Public ReadOnly Property UpdateLicenceMsg As String
Get Get
Return EgtMsg( 6553) ' Aggiorna licenza Return EgtMsg(6553) ' Aggiorna licenza
End Get End Get
End Property End Property
@@ -953,71 +953,74 @@ Public Class OptionWindowVM
Dim sMachDir As String = Path.Combine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, sMachName) Dim sMachDir As String = Path.Combine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, sMachName)
' Preparo direttorio temporaneo ' Preparo direttorio temporaneo
Dim sTempDir As String = Path.Combine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, "Temp") Dim sTempDir As String = Path.Combine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, "Temp")
If My.Computer.FileSystem.DirectoryExists( sTempDir) Then If My.Computer.FileSystem.DirectoryExists(sTempDir) Then
My.Computer.FileSystem.DeleteDirectory( sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents) My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
End If End If
My.Computer.FileSystem.CreateDirectory( sTempDir) My.Computer.FileSystem.CreateDirectory(sTempDir)
' Unzip nel direttorio temporaneo ' Unzip nel direttorio temporaneo
Using zip As New Ionic.Zip.ZipFile(sMachZip) Using zip As New Ionic.Zip.ZipFile(sMachZip)
zip.ExtractAll( sTempDir, Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite) zip.ExtractAll(sTempDir, Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite)
End Using End Using
' Se non è una macchina segnalo il problema ed esco ' Se non è una macchina segnalo il problema ed esco
If Not My.Computer.FileSystem.FileExists( Path.Combine( sTempDir, sMachName, sMachName & ".ini")) Or 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 Not My.Computer.FileSystem.FileExists(Path.Combine(sTempDir, sMachName, sMachName & ".mlde")) Then
' Il file {0} non contiene una macchina - Avviso ' Il file {0} non contiene una macchina - Avviso
Dim sOut As String = String.Format(EgtMsg(6529), sMachZip) 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 ' Rimuovo il direttorio temporaneo ed esco
My.Computer.FileSystem.DeleteDirectory( sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents) My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
Return Return
End If End If
' Imposto data e ora correnti al file mlde della macchina ' Imposto data e ora correnti al file mlde della macchina
Try 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 Catch ex As Exception
End Try End Try
' Verifico esistenza di una macchina con lo stesso nome ' 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 Dim bUpdate As Boolean = True
If bOldExists Then If bOldExists Then
Dim MachBox As New MachineBox( Application.Current.MainWindow, sMachName) Dim MachBox As New UpdateMachineV(Application.Current.MainWindow, New UpdateMachineVM(sMachName))
Select MachBox.ShowDialog() MachBox.ShowDialog()
Case MessageBoxResult.Yes Select Case MachBox.DialogResult
bUpdate = False Case MessageBoxResult.Yes
Case MessageBoxResult.No bUpdate = False
bUpdate = True Case MessageBoxResult.No
Case MessageBoxResult.Cancel bUpdate = True
' Rimuovo il direttorio temporaneo ed esco Case MessageBoxResult.Cancel
My.Computer.FileSystem.DeleteDirectory( sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents) ' Rimuovo il direttorio temporaneo ed esco
Return My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
Return
End Select End Select
' Faccio una copia di backup della macchina corrente ' Faccio una copia di backup della macchina corrente
Dim sBackupDir As String = sMachDir & ".old" Dim sBackupDir As String = sMachDir & ".old"
If My.Computer.FileSystem.DirectoryExists( sBackupDir) Then If My.Computer.FileSystem.DirectoryExists(sBackupDir) Then
My.Computer.FileSystem.DeleteDirectory( sBackupDir, FileIO.DeleteDirectoryOption.DeleteAllContents) My.Computer.FileSystem.DeleteDirectory(sBackupDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
End If End If
Try Try
My.Computer.FileSystem.MoveDirectory( sMachDir, sBackupDir, True) My.Computer.FileSystem.MoveDirectory(sMachDir, sBackupDir, True)
Catch ex As Exception Catch ex As Exception
' Ripristino lo stato originale ed esco ' 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. ' L'aggiornamento della macchina "{0}" non è riuscito.
Dim sKo As String = String.Format(EgtMsg(6535), sMachName) Dim sKo As String = String.Format(EgtMsg(6535), sMachName)
EgtOutLog( sKo) 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)
Return Return
End Try End Try
End If End If
' Installo la macchina ' 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 ' Se è un aggiornamento, recupero utensili, lavorazioni, attrezzaggi e dati per travi
If bOldExists And bUpdate Then If bOldExists And bUpdate Then
Dim sBackupDir As String = sMachDir & ".old" Dim sBackupDir As String = sMachDir & ".old"
If My.Computer.FileSystem.DirectoryExists( sBackupDir & "\Tools") Then If My.Computer.FileSystem.DirectoryExists(sBackupDir & "\Tools") Then
If My.Computer.FileSystem.DirectoryExists( sMachDir & "\Tools") Then If My.Computer.FileSystem.DirectoryExists(sMachDir & "\Tools") Then
My.Computer.FileSystem.DeleteDirectory( sMachDir & "\Tools", FileIO.DeleteDirectoryOption.DeleteAllContents) My.Computer.FileSystem.DeleteDirectory(sMachDir & "\Tools", FileIO.DeleteDirectoryOption.DeleteAllContents)
End If End If
My.Computer.FileSystem.CopyDirectory( sBackupDir & "\Tools", sMachDir & "\Tools", True) My.Computer.FileSystem.CopyDirectory(sBackupDir & "\Tools", sMachDir & "\Tools", True)
End If End If
If My.Computer.FileSystem.DirectoryExists(sBackupDir & "\Machinings") Then If My.Computer.FileSystem.DirectoryExists(sBackupDir & "\Machinings") Then
If My.Computer.FileSystem.DirectoryExists(sMachDir & "\Machinings") Then If My.Computer.FileSystem.DirectoryExists(sMachDir & "\Machinings") Then
@@ -1037,57 +1040,20 @@ Public Class OptionWindowVM
End If End If
My.Computer.FileSystem.CopyDirectory(sBackupDir & "\SetUp", sMachDir & "\SetUp", True) My.Computer.FileSystem.CopyDirectory(sBackupDir & "\SetUp", sMachDir & "\SetUp", True)
End If End If
'If My.Computer.FileSystem.DirectoryExists( sBackupDir & "\Beam") Then If My.Computer.FileSystem.DirectoryExists(sBackupDir & "\CustomData") Then
' ' Flag per sovrascrivere vecchio file BeamData.lua con nuovo If My.Computer.FileSystem.DirectoryExists(sMachDir & "\CustomData") Then
' Dim bBeamDataExists As Boolean = False My.Computer.FileSystem.DeleteDirectory(sMachDir & "\CustomData", FileIO.DeleteDirectoryOption.DeleteAllContents)
' Const sBeamData As String = "\BeamData.lua" End If
' ' Flag per sovrascrivere vecchio file MachiningTypes.ini My.Computer.FileSystem.CopyDirectory(sBackupDir & "\CustomData", sMachDir & "\CustomData", True)
' Dim bMchgTypesExists As Boolean = False End If
' 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
End If End If
'La macchina "{0}" è stata aggiornata con successo. 'La macchina "{0}" è stata aggiornata con successo.
Dim sOk As String = String.Format(EgtMsg(6530), sMachName) Dim sOk As String = String.Format(EgtMsg(6530), sMachName)
EgtOutLog( sOk) 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)
' Rimuovo il direttorio temporaneo ' 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 ' Aggiorno la lista delle macchina
MyMachine.InsertMachine(sMachDir, Map.refMachinePanelVM.MachineList) MyMachine.InsertMachine(sMachDir, Map.refMachinePanelVM.MachineList)
End Sub End Sub
@@ -1133,7 +1099,7 @@ Public Class OptionWindowVM
' aggiungo i file della Macchina ' aggiungo i file della Macchina
Dim sMachineDir As String = Map.refMainWindowVM.MainWindowM.sMachinesRoot & "\" & sCurrMachineName Dim sMachineDir As String = Map.refMainWindowVM.MainWindowM.sMachinesRoot & "\" & sCurrMachineName
If Directory.Exists(sMachineDir) Then 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 End If
' salvo lo zip ' salvo lo zip
zip.Save() zip.Save()
@@ -1143,12 +1109,14 @@ Public Class OptionWindowVM
' L'esportazione della macchina "{0}" non è riuscita. ' L'esportazione della macchina "{0}" non è riuscita.
Dim sKo As String = String.Format(EgtMsg(6551), sCurrMachineName) Dim sKo As String = String.Format(EgtMsg(6551), sCurrMachineName)
EgtOutLog(sKo) 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 End Try
'La macchina "{0}" è stata esportata con successo. 'La macchina "{0}" è stata esportata con successo.
Dim sOk As String = String.Format(EgtMsg(6552), sCurrMachineName) Dim sOk As String = String.Format(EgtMsg(6552), sCurrMachineName)
EgtOutLog(sOk) 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 Sub
#End Region ' ExportMachine #End Region ' ExportMachine
+14 -19
View File
@@ -149,6 +149,9 @@ Public Class ProjManagerVM
''' Execute the Save. This method is invoked by the SaveCommand. ''' Execute the Save. This method is invoked by the SaveCommand.
''' </summary> ''' </summary>
Public Sub NewProjectCmd() Public Sub NewProjectCmd()
' 'MessageBox.Show("Testo di prova EgtMessageBox", "Titolo di prova")
' Dim x = EgtMessageBoxV.Show(Application.Current.MainWindow, "Testo di prova EgtMessageBox", "Titolo di prova", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning, MessageBoxResult.Yes)
NewProject(True) NewProject(True)
End Sub End Sub
@@ -193,23 +196,11 @@ Public Class ProjManagerVM
''' Execute the Open. This method is invoked by the OpenCommand. ''' Execute the Open. This method is invoked by the OpenCommand.
''' </summary> ''' </summary>
Friend Sub Open() Friend Sub Open()
OpenProject(Nothing) OpenProject("")
End Sub End Sub
Friend Function OpenProject(sFilePath As String) As Boolean Friend Function OpenProject(sFilePath As String) As Boolean
If String.IsNullOrEmpty(sFilePath) Then Return Map.refSceneHostVM.OpenProject(sFilePath)
' 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
End Function End Function
#End Region ' OpenCommand #End Region ' OpenCommand
@@ -382,7 +373,8 @@ Public Class ProjManagerVM
GetMainPrivateProfileString(S_GENERAL, K_SUPPORT, "support@egaltech.com", sSupportAddress) GetMainPrivateProfileString(S_GENERAL, K_SUPPORT, "support@egaltech.com", sSupportAddress)
' se vuoto do messaggio di errore ed esco ' se vuoto do messaggio di errore ed esco
If String.IsNullOrWhiteSpace(sSupportAddress) Then 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 Return
End If End If
' Recupero numero chiave ' Recupero numero chiave
@@ -393,14 +385,16 @@ Public Class ProjManagerVM
EgtGetCurrFilePath(sCurrProject) EgtGetCurrFilePath(sCurrProject)
' se nome file vuoto o con estensione non valida, chiedo se si vuole salvare ' 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 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() Map.refSceneHostVM.SaveProject()
End If End If
EgtGetCurrFilePath(sCurrProject) EgtGetCurrFilePath(sCurrProject)
' se modificato, chiedo se si vuole salvare ' se modificato, chiedo se si vuole salvare
Else Else
If EgtGetModified() Then 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() Map.refSceneHostVM.SaveProject()
End If End If
End If End If
@@ -487,7 +481,8 @@ Public Class ProjManagerVM
bEx = True bEx = True
End Try End Try
If bEx OrElse EgtWPFLib5.MapiMailMessage.m_ErrorCode <> 0 Then 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 Else
Map.refMyStatusBarVM.SetOutputMessage(EgtMsg(MSG_TOPCOMMANDBAR + 14), 5) Map.refMyStatusBarVM.SetOutputMessage(EgtMsg(MSG_TOPCOMMANDBAR + 14), 5)
End If End If
+20 -3
View File
@@ -2,7 +2,9 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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"> xmlns:PrintApp="clr-namespace:Icarus">
<DockPanel.Resources>
<PrintApp:VisibilityToRowConverter x:Key="VisibilityToRowConverter"/>
</DockPanel.Resources>
<Grid DockPanel.Dock="Top"> <Grid DockPanel.Dock="Top">
<PrintApp:TopPanelV Grid.Column="1" <PrintApp:TopPanelV Grid.Column="1"
DataContext="{StaticResource TopPanelVM }"/> DataContext="{StaticResource TopPanelVM }"/>
@@ -27,12 +29,27 @@
DataContext="{StaticResource SliderManagerVM}" DataContext="{StaticResource SliderManagerVM}"
HorizontalAlignment="Stretch"/> HorizontalAlignment="Stretch"/>
<!--StatusBar --> <!--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" Grid.ColumnSpan="2"
DataContext="{StaticResource ControllerInputPanelVM}"/> DataContext="{StaticResource ControllerInputPanelVM}"/>
<PrintApp:MessagePanelV Grid.Row="1" <PrintApp:MessagePanelV Grid.Row="1"
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
DataContext="{StaticResource StatusBarVM}"/> DataContext="{StaticResource StatusBarVM}"/>-->
<PrintApp:ShowPanelV Grid.Column="2" <PrintApp:ShowPanelV Grid.Column="2"
Grid.Row="1" Grid.Row="1"
DataContext="{StaticResource ShowPanelVM}"/> DataContext="{StaticResource ShowPanelVM}"/>
+13
View File
@@ -3,6 +3,7 @@ Imports EgtWPFLib5
Imports EgtUILib Imports EgtUILib
Imports System.Collections.ObjectModel Imports System.Collections.ObjectModel
Imports System.IO Imports System.IO
Imports System.Globalization
Public Class ProjectVM Public Class ProjectVM
Inherits VMBase Inherits VMBase
@@ -28,3 +29,15 @@ Public Class ProjectVM
End Class 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
+29 -7
View File
@@ -1,6 +1,7 @@
<UserControl x:Class="ReferencePanelV" <UserControl x:Class="ReferencePanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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" <Border Padding="2.5"
Style="{StaticResource LeftPanel_PopupButton_Border}"> Style="{StaticResource LeftPanel_PopupButton_Border}">
<Grid> <Grid>
@@ -33,12 +34,33 @@
</ListBox.ItemContainerStyle> </ListBox.ItemContainerStyle>
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate> <DataTemplate>
<RadioButton Content="{Binding sText}" <PrintApp:CheckedImageRadioButton IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"
IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}" ImageSource="{Binding sText}"
FontSize="40" CheckedImageSource="{Binding sSelText}"
GroupName="ReferenceRadio" FontSize="40"
Margin="2.5,2.5,2.5,2.5" GroupName="ReferenceRadio"
Style="{StaticResource OptionPanel_NestingToggleButton}"/> 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> </DataTemplate>
</ListBox.ItemTemplate> </ListBox.ItemTemplate>
</ListBox> </ListBox>
+37 -10
View File
@@ -190,25 +190,52 @@ Public Class ReferenceBtn
Get Get
Select Case Type Select Case Type
Case References.TL Case References.TL
Return "" Return "/Resources/ReferencePanel/TL.png" '""
Case References.TR Case References.TR
Return "" Return "/Resources/ReferencePanel/TR.png" '""
Case References.BL Case References.BL
Return "" Return "/Resources/ReferencePanel/BL.png" '""
Case References.BR Case References.BR
Return "" Return "/Resources/ReferencePanel/BR.png" '""
Case References.TC Case References.TC
Return "" Return "/Resources/ReferencePanel/TC.png" '""
Case References.ML Case References.ML
Return "" Return "/Resources/ReferencePanel/ML.png" '""
Case References.MR Case References.MR
Return "" Return "/Resources/ReferencePanel/MR.png" '""
Case References.BC Case References.BC
Return "" Return "/Resources/ReferencePanel/BC.png" '""
Case References.MC Case References.MC
Return "" Return "/Resources/ReferencePanel/MC.png" '""
Case Else 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 Select
End Get End Get
End Property End Property
Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

+100 -64
View File
@@ -42,6 +42,10 @@ Public Class RibPanelVM
Return m_SelRib Return m_SelRib
End Get End Get
Set(value As RibEntity) 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 m_SelRib = value
EgtDeselectAll() EgtDeselectAll()
If Not IsNothing(value) Then If Not IsNothing(value) Then
@@ -238,7 +242,7 @@ Public Class RibPanelVM
Return m_bAdd_IsChecked Return m_bAdd_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bAdd_IsChecked = value
If value Then If value Then
m_bEdit_IsChecked = False m_bEdit_IsChecked = False
@@ -260,7 +264,7 @@ Public Class RibPanelVM
Return m_bEdit_IsChecked Return m_bEdit_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bEdit_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -284,7 +288,7 @@ Public Class RibPanelVM
Return m_bGrid_IsChecked Return m_bGrid_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bGrid_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -312,7 +316,7 @@ Public Class RibPanelVM
Return m_bMove_IsChecked Return m_bMove_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bMove_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -336,7 +340,7 @@ Public Class RibPanelVM
Return m_bRotate_IsChecked Return m_bRotate_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bRotate_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -360,7 +364,7 @@ Public Class RibPanelVM
Return m_bMachParam_IsChecked Return m_bMachParam_IsChecked
End Get End Get
Set(value As Boolean) 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_bMachParam_IsChecked = True
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
m_bEdit_IsChecked = False m_bEdit_IsChecked = False
@@ -374,6 +378,8 @@ Public Class RibPanelVM
NotifyPropertyChanged(NameOf(bRotate_IsChecked)) NotifyPropertyChanged(NameOf(bRotate_IsChecked))
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.RIBPARAM) Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.RIBPARAM)
NotifyPropertyChanged(NameOf(RibList_IsEnabled)) NotifyPropertyChanged(NameOf(RibList_IsEnabled))
' disattivo interfaccia
ManageInterface(False)
Else Else
NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked)) NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked))
End If End If
@@ -383,6 +389,8 @@ Public Class RibPanelVM
m_bMachParam_IsChecked = False m_bMachParam_IsChecked = False
NotifyPropertyChanged(NameOf(bMachParam_IsChecked)) NotifyPropertyChanged(NameOf(bMachParam_IsChecked))
NotifyPropertyChanged(NameOf(RibList_IsEnabled)) NotifyPropertyChanged(NameOf(RibList_IsEnabled))
' riattivo interfaccia
ManageInterface(True)
End Sub End Sub
Public ReadOnly Property Compo_Visibility As Visibility Public ReadOnly Property Compo_Visibility As Visibility
@@ -391,11 +399,17 @@ Public Class RibPanelVM
End Get End Get
End Property End Property
Private m_RibList_IsEnabled As Boolean = False
Public ReadOnly Property RibList_IsEnabled As Boolean Public ReadOnly Property RibList_IsEnabled As Boolean
Get Get
Return Not m_bMachParam_IsChecked Return If(m_RibList.Count > 0, m_RibList_IsEnabled, False)
End Get End Get
End Property 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 ' riferimento griglia all'ingresso in questa pagina
Private m_OriginalGridFrame As New Frame3d Private m_OriginalGridFrame As New Frame3d
@@ -413,6 +427,8 @@ Public Class RibPanelVM
End Get End Get
End Property End Property
Private m_bEscOnLine2P As Boolean = False
#Region "Tooltip" #Region "Tooltip"
Public ReadOnly Property Import_ToolTip As String Public ReadOnly Property Import_ToolTip As String
@@ -542,7 +558,6 @@ Public Class RibPanelVM
Private m_cmdCPlaneObj As ICommand Private m_cmdCPlaneObj As ICommand
Private m_cmdDragMove As ICommand Private m_cmdDragMove As ICommand
Private m_cmdDragRotate As ICommand Private m_cmdDragRotate As ICommand
Private m_cmdMachParam As ICommand
#End Region ' FIELDS & PROPERTIES #End Region ' FIELDS & PROPERTIES
@@ -597,6 +612,8 @@ Public Class RibPanelVM
SelRib = m_RibList(0) SelRib = m_RibList(0)
NotifyPropertyChanged(NameOf(SelRib)) NotifyPropertyChanged(NameOf(SelRib))
End If End If
' abilito lista ribs
SetRibListIsEnabled(True)
Map.refSceneHostVM.MainScene.SetStatusNull() Map.refSceneHostVM.MainScene.SetStatusNull()
End Sub End Sub
@@ -632,8 +649,13 @@ Public Class RibPanelVM
EgtSelectObj(m_SelRib.nCurveId) EgtSelectObj(m_SelRib.nCurveId)
Case RibSelectionTypes.EXTRUSION Case RibSelectionTypes.EXTRUSION
' creo layer per estrusione ' creo layer per estrusione
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId) Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
EgtSetName(nNewExtrusionLayerId, 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) EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
EgtSelectObj(m_SelRib.nCurveId) EgtSelectObj(m_SelRib.nCurveId)
Case RibSelectionTypes.BOTH Case RibSelectionTypes.BOTH
@@ -641,6 +663,8 @@ Public Class RibPanelVM
EgtSelectObj(m_SelRib.nExtrusionId) EgtSelectObj(m_SelRib.nExtrusionId)
End Select End Select
EgtDraw() EgtDraw()
' disattivo il resto dell'interfaccia
ManageInterface(False)
Return True Return True
End Function End Function
@@ -650,6 +674,7 @@ Public Class RibPanelVM
End Sub End Sub
Friend Sub OnExecCmdEnd(command As Controller.CMD) Friend Sub OnExecCmdEnd(command As Controller.CMD)
m_bEscOnLine2P = False
Select Case command Select Case command
Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE
' leggo altezza estrusione ' leggo altezza estrusione
@@ -689,6 +714,10 @@ Public Class RibPanelVM
' Imposto flag di ricalcolo slice ' Imposto flag di ricalcolo slice
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True) EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End Select 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 If command <> Controller.CMD.LINE2P AndAlso command <> Controller.CMD.EXTRUDE Then Return
' se finita creazione estrusione ' se finita creazione estrusione
If m_bIsCreatingExtrusion Then If m_bIsCreatingExtrusion Then
@@ -740,18 +769,25 @@ Public Class RibPanelVM
' lo seleziono ' lo seleziono
SelRib = NewEntity SelRib = NewEntity
NotifyPropertyChanged(NameOf(SelRib)) NotifyPropertyChanged(NameOf(SelRib))
' creo layer per estrusione ' verifico se esiste gia' layer estrusione e lo svuoto
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId) Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
EgtSetName(nNewExtrusionLayerId, 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) EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
' seleziono percorso da estrudere ' seleziono percorso da estrudere
EgtDeselectAll() EgtDeselectAll()
EgtSelectObj(nNewEntityId) EgtSelectObj(nNewEntityId)
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
m_bIsCreatingExtrusion = True m_bIsCreatingExtrusion = True
If Not EgtCurveIsClosed(nNewEntityId) Then
m_bEscOnLine2P = True
End If
Else Else
' cancello layer
'EgtErase(nNewRibLayerId)
EgtErase(nNewExtrusionLayerId) EgtErase(nNewExtrusionLayerId)
End If End If
End If End If
@@ -774,6 +810,13 @@ Public Class RibPanelVM
' rimetto la selezione scena a null ' rimetto la selezione scena a null
Map.refSceneHostVM.MainScene.SetStatusNull() Map.refSceneHostVM.MainScene.SetStatusNull()
End If 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 If
End Sub End Sub
@@ -809,6 +852,18 @@ Public Class RibPanelVM
Return nRibIndex + 1 Return nRibIndex + 1
End Function 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 #End Region ' METHODS
#Region "COMMANDS" #Region "COMMANDS"
@@ -831,8 +886,10 @@ Public Class RibPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub Import(ByVal param As Object) 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() Map.refSceneHostVM.InsertRib()
ManageInterface(True)
End Sub End Sub
#End Region ' Import #End Region ' Import
@@ -855,7 +912,8 @@ Public Class RibPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub Line2P(ByVal param As Object) 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) Dim nNewRibLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWRIB)
If nNewRibLayerId = GDB_ID.NULL Then nNewRibLayerId = EgtCreateGroup(m_nPartId) If nNewRibLayerId = GDB_ID.NULL Then nNewRibLayerId = EgtCreateGroup(m_nPartId)
EgtSetName(nNewRibLayerId, LAY_NEWRIB) EgtSetName(nNewRibLayerId, LAY_NEWRIB)
@@ -880,7 +938,7 @@ Public Class RibPanelVM
End Property End Property
Public Sub Delete() 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 If IsNothing(SelRib) Then Return
Dim bOk As Boolean = False Dim bOk As Boolean = False
Select Case m_SelRib.Type Select Case m_SelRib.Type
@@ -900,10 +958,11 @@ Public Class RibPanelVM
Else Else
SelRib = Nothing SelRib = Nothing
m_bEdit_IsChecked = False m_bEdit_IsChecked = False
NotifyPropertyChanged(NameOf( bEdit_IsChecked)) NotifyPropertyChanged(NameOf(bEdit_IsChecked))
End If End If
NotifyPropertyChanged(NameOf(SelRib)) NotifyPropertyChanged(NameOf(SelRib))
End If End If
SetRibListIsEnabled(True)
End Sub End Sub
#End Region ' Delete #End Region ' Delete
@@ -926,7 +985,7 @@ Public Class RibPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub ModifyCurve(ByVal param As Object) 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) InitCommand(RibSelectionTypes.CURVE)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MODIFYCURVE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MODIFYCURVE)
End Sub End Sub
@@ -951,7 +1010,7 @@ Public Class RibPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub AddPointCurve(ByVal param As Object) 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) InitCommand(RibSelectionTypes.CURVE)
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOARC) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOARC)
@@ -980,7 +1039,7 @@ Public Class RibPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub RemovePointCurve(ByVal param As Object) 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) InitCommand(RibSelectionTypes.CURVE)
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOLINE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOLINE)
@@ -1009,7 +1068,7 @@ Public Class RibPanelVM
''' Execute the Extrude. This method is invoked by the ExtrudeCommand. ''' Execute the Extrude. This method is invoked by the ExtrudeCommand.
''' </summary> ''' </summary>
Public Sub Extrude(ByVal param As Object) 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) InitCommand(RibSelectionTypes.EXTRUSION)
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
m_bIsCreatingExtrusion = True m_bIsCreatingExtrusion = True
@@ -1036,7 +1095,7 @@ Public Class RibPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub CPlaneTop(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.TOP)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1061,7 +1120,7 @@ Public Class RibPanelVM
''' Execute the CPlaneFront. This method is invoked by the CPlaneFrontCommand. ''' Execute the CPlaneFront. This method is invoked by the CPlaneFrontCommand.
''' </summary> ''' </summary>
Public Sub CPlaneFront(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.FRONT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1086,7 +1145,7 @@ Public Class RibPanelVM
''' Execute the CPlaneRight. This method is invoked by the CPlaneRightCommand. ''' Execute the CPlaneRight. This method is invoked by the CPlaneRightCommand.
''' </summary> ''' </summary>
Public Sub CPlaneRight(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.RIGHT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1111,7 +1170,7 @@ Public Class RibPanelVM
''' Execute the CPlaneBack. This method is invoked by the CPlaneBackCommand. ''' Execute the CPlaneBack. This method is invoked by the CPlaneBackCommand.
''' </summary> ''' </summary>
Public Sub CPlaneBack(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.BACK)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1136,7 +1195,7 @@ Public Class RibPanelVM
''' Execute the CPlaneLeft. This method is invoked by the CPlaneLeftCommand. ''' Execute the CPlaneLeft. This method is invoked by the CPlaneLeftCommand.
''' </summary> ''' </summary>
Public Sub CPlaneLeft(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.LEFT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1161,7 +1220,7 @@ Public Class RibPanelVM
''' Execute the CPlaneBottom. This method is invoked by the CPlaneBottomCommand. ''' Execute the CPlaneBottom. This method is invoked by the CPlaneBottomCommand.
''' </summary> ''' </summary>
Public Sub CPlaneBottom(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.BOTTOM)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1186,7 +1245,8 @@ Public Class RibPanelVM
''' Execute the CPlaneElevation. This method is invoked by the CPlaneElevationCommand. ''' Execute the CPlaneElevation. This method is invoked by the CPlaneElevationCommand.
''' </summary> ''' </summary>
Public Sub CPlaneElevation(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ELEVATION)
End Sub End Sub
@@ -1210,7 +1270,8 @@ Public Class RibPanelVM
''' Execute the CPlaneOrigin. This method is invoked by the CPlaneOriginCommand. ''' Execute the CPlaneOrigin. This method is invoked by the CPlaneOriginCommand.
''' </summary> ''' </summary>
Public Sub CPlaneOrigin(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ORIGIN)
End Sub End Sub
@@ -1234,7 +1295,7 @@ Public Class RibPanelVM
''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand. ''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand.
''' </summary> ''' </summary>
Public Sub CPlaneRotate(ByVal param As Object) 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 If (Keyboard.Modifiers And ModifierKeys.Shift) <> ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE)
Else Else
@@ -1262,7 +1323,7 @@ Public Class RibPanelVM
''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand. ''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand.
''' </summary> ''' </summary>
Public Sub CPlane3P(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_3P)
End Sub End Sub
@@ -1286,7 +1347,7 @@ Public Class RibPanelVM
''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand. ''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand.
''' </summary> ''' </summary>
Public Sub CPlanePerpObj(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_PERPCURVE)
End Sub End Sub
@@ -1326,7 +1387,8 @@ Public Class RibPanelVM
''' Execute the CPlaneObj. This method is invoked by the CPlaneObjCommand. ''' Execute the CPlaneObj. This method is invoked by the CPlaneObjCommand.
''' </summary> ''' </summary>
Public Sub CPlaneObj(ByVal param As Object) 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 ' salvo selezione precedente e deseleziono altri oggetti
m_PrevSelObjs.Clear() m_PrevSelObjs.Clear()
Dim nSelObjId As Integer = EgtGetFirstSelectedObj() Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
@@ -1336,7 +1398,7 @@ Public Class RibPanelVM
End While End While
EgtDeselectAll() EgtDeselectAll()
m_bCPlaneObj_IsActive = True 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 Sub
#End Region ' CPlaneObj #End Region ' CPlaneObj
@@ -1353,6 +1415,7 @@ Public Class RibPanelVM
End Property End Property
Public Sub DragMove() Public Sub DragMove()
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
InitCommand(RibSelectionTypes.BOTH) InitCommand(RibSelectionTypes.BOTH)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MOVE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MOVE)
End Sub End Sub
@@ -1371,40 +1434,13 @@ Public Class RibPanelVM
End Property End Property
Public Sub DragRotate() Public Sub DragRotate()
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
InitCommand(RibSelectionTypes.BOTH) InitCommand(RibSelectionTypes.BOTH)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.ROTATE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.ROTATE)
End Sub End Sub
#End Region ' DragRotate #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 Region ' COMMANDS
End Class End Class
+31 -21
View File
@@ -1,35 +1,45 @@
<EgtWPFLib5:EgtCustomWindow x:Class="CopyFromWndV" <EgtWPFLib5:EgtMainWindow x:Class="CopyFromWndV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Title="Copy From"
Title="{Binding sTitle}" Icon="/Resources/Icarus.ico" SizeToContent="WidthAndHeight"
WindowStyle="None" ResizeMode="NoResize" IsClosable="False" WindowStartupLocation="CenterOwner"
WindowStartupLocation="CenterOwner" Style="{StaticResource Dialog_Window}">
SizeToContent="WidthAndHeight"> <Grid Margin="2.5,2.5,2.5,0">
<Grid Margin="5">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="Select Rib to Copy" <TextBlock Text="Select Rib to Copy"
HorizontalAlignment="Center" Margin="20,20,20,2.5"
Margin="0,0,0,2.5"/> Style="{StaticResource DialogWindow_TextBlock}"/>
<ComboBox Grid.Row="1" <ComboBox Grid.Row="1"
ItemsSource="{Binding RibList}" ItemsSource="{Binding RibList}"
SelectedItem="{Binding SelRib}" SelectedItem="{Binding SelRib}"
DisplayMemberPath="ghName" 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" <UniformGrid Grid.Row="2"
Rows="1" Rows="1"
Margin="0,2.5,0,0"> Margin="0,20,0,0">
<Button Content="Ok" <Button Command="{Binding Ok_Command}"
Command="{Binding Ok_Command}" IsDefault="True"
Style="{StaticResource ToolBar_TextButton}"/> Margin="0,0,2.5,0"
<Button Content="Cancel" Style="{StaticResource RightPanel_HalfRound_Button}">
Command="{Binding Cancel_Command}" <Image Source="\Resources\Common\Ok.png"
Style="{StaticResource ToolBar_TextButton}"/> 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> </UniformGrid>
</Grid> </Grid>
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtMainWindow>
+2 -1
View File
@@ -51,7 +51,8 @@ Public Class CopyFromWndVM
Public Sub Ok() Public Sub Ok()
If IsNothing(m_SelRib) Then If IsNothing(m_SelRib) Then
MessageBox.Show("Please select the rib from which to copy the parameters!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning) 'MessageBox.Show("Please select the rib from which to copy the parameters!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
EgtMessageBoxV.Show(Application.Current.MainWindow, "Please select the rib from which to copy the parameters!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
Return Return
End If End If
' copio i parametri nella rib corrente ' copio i parametri nella rib corrente
+19 -9
View File
@@ -114,15 +114,25 @@
<UniformGrid Grid.Row="1" <UniformGrid Grid.Row="1"
Rows="1" Rows="1"
Margin="0,2.5,0,0"> Margin="0,2.5,0,0">
<Button Content="Ok" <Button Command="{Binding Ok_Command}"
Command="{Binding Ok_Command}" Margin="0,0,2.5,0"
Style="{StaticResource RightPanel_HalfRound_Button}"/> Style="{StaticResource RightPanel_HalfRound_Button}">
<Button Content="Cancel" <Image Source="\Resources\Common\Ok.png"
Command="{Binding Cancel_Command}" Style="{StaticResource Button_Image}"/>
Style="{StaticResource RightPanel_HalfRound_Button}"/> </Button>
<Button Content="Copy From" <Button Command="{Binding Cancel_Command}"
Command="{Binding CopyFrom_Command}" Margin="0,0,2.5,0"
Style="{StaticResource RightPanel_HalfRound_Button}"/> Style="{StaticResource RightPanel_HalfRound_Button}">
<Image Source="\Resources\Common\Cancel.png"
Style="{StaticResource Button_Image}"/>
</Button>
<Button Command="{Binding CopyFrom_Command}"
ToolTip="Copy From"
Margin="0,0,2.5,0"
Style="{StaticResource RightPanel_HalfRound_Button}">
<Image Source="\Resources\RibParamPanel\CopyFrom.png"
Style="{StaticResource Button_Image}"/>
</Button>
</UniformGrid> </UniformGrid>
</Grid> </Grid>
</Border> </Border>
+21 -19
View File
@@ -42,19 +42,19 @@ Public Class RibParamPanelVM
m_Type = Cathegories.RIBS m_Type = Cathegories.RIBS
m_sName = "Ribs" m_sName = "Ribs"
m_MachiningParamList = New List(Of MachiningParam)({New RibComboMachiningParam(MachiningParam.Params.RIBSTYPE, nRibId, nPartId), m_MachiningParamList = New List(Of MachiningParam)({New RibComboMachiningParam(MachiningParam.Params.RIBSTYPE, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nRibId, nPartId), New RibNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nRibId, nPartId), New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSLINK, nRibId, nPartId), New RibCheckMachiningParam(MachiningParam.Params.RIBSLINK, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nRibId, nPartId), New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nRibId, nPartId), New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nRibId, nPartId), New RibCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nRibId, nPartId), New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nRibId, nPartId, Me),
New RibCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nRibId, nPartId), New RibCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nRibId, nPartId), New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nRibId, nPartId), New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nRibId, nPartId), New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nRibId, nPartId, Me),
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nRibId, nPartId)}) New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nRibId, nPartId, Me)})
NotifyPropertyChanged(NameOf(MachiningParamList)) NotifyPropertyChanged(NameOf(MachiningParamList))
NotifyPropertyChanged(NameOf(sName)) NotifyPropertyChanged(NameOf(sName))
End Sub End Sub
@@ -135,6 +135,8 @@ Public Class RibParamPanelVM
Map.refSliceManagerVM.UpdateDimensions() Map.refSliceManagerVM.UpdateDimensions()
End If End If
End If End If
' riattivo lista ribs
Map.refRibPanelVM.SetRibListIsEnabled(False)
' ripristino modalita' standard ' ripristino modalita' standard
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL) Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
Map.refRibPanelVM.ResetMachParamIsChecked() Map.refRibPanelVM.ResetMachParamIsChecked()
@@ -224,8 +226,8 @@ Public Class RibNumericMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nRibId As Integer, nPartId As Integer) Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.RIBSOVERLAP Case Params.RIBSOVERLAP
@@ -420,8 +422,8 @@ Public Class RibComboMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nRibId As Integer, nPartId As Integer) Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
Dim bReadFromRib As Boolean = False Dim bReadFromRib As Boolean = False
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
@@ -525,8 +527,8 @@ Public Class RibCheckMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nRibId As Integer, nPartId As Integer) Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.RIBSLINK Case Params.RIBSLINK
+151 -111
View File
@@ -85,21 +85,23 @@ Public Class MySceneHostVM
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore" ' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3) Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1) Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error) 'MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
' Altrimenti manca la licenza ' Altrimenti manca la licenza
Else Else
EgtOutLog("Problems with Licence") EgtOutLog("Problems with Licence")
' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore" ' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore"
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 5) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 6) Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 5) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 6)
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1) Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
If MessageBox.Show(sText, sTitle, MessageBoxButton.OKCancel, MessageBoxImage.Error) = MessageBoxResult.OK Then 'If MessageBox.Show(sText, sTitle, MessageBoxButton.OKCancel, MessageBoxImage.Error) = MessageBoxResult.OK Then
If EgtMessageBoxV.Show(Application.Current.MainWindow, sText, sTitle, MessageBoxButton.OKCancel, MessageBoxImage.Error) = MessageBoxResult.OK Then
' Apro dialogo per richiesta file licenza ' Apro dialogo per richiesta file licenza
Dim LicDlg As New Microsoft.Win32.OpenFileDialog() With { Dim LicDlg As New Microsoft.Win32.OpenFileDialog() With {
.DefaultExt = ".lic", .DefaultExt = ".lic",
.Filter = "Licences (.lic)|*.lic", .Filter = "Licences (.lic)|*.lic",
.CheckFileExists = True, .CheckFileExists = True,
.ValidateNames = True .ValidateNames = True
} }
If LicDlg.ShowDialog() = True Then If LicDlg.ShowDialog() = True Then
' Recupero il direttorio del file ' Recupero il direttorio del file
Dim sDir As String = Path.GetDirectoryName(LicDlg.FileName) Dim sDir As String = Path.GetDirectoryName(LicDlg.FileName)
@@ -234,32 +236,22 @@ Public Class MySceneHostVM
End Sub End Sub
Friend Sub EmitTitle() Friend Sub EmitTitle()
' nome file
Dim sTitle As String = MainController.GetCurrFile()
If String.IsNullOrEmpty(sTitle) Then
sTitle = EgtMsg(MSG_TOPCOMMANDBAR + 1) & Map.refMainWindowVM.MainWindowM.nInstance.ToString()
End If
' indicazione di modificato
If MainController.GetModified() Then
sTitle += "*"
End If
' dati del prodotto
sTitle += " - Icarus"
' emissione del titolo ' emissione del titolo
Map.refMainWindowVM.SetTitle(sTitle) Map.refSecondaryWindowVM.SetTitle()
End Sub End Sub
#End Region ' METHODS #End Region ' METHODS
#Region "ProjectManager" #Region "ProjectManager"
Public Overrides Sub NewProject() Public Overrides Function NewProject() As Boolean
EgtSetCurrentContext(MainScene.GetCtx()) EgtSetCurrentContext(MainScene.GetCtx())
Dim bOk As Boolean = MainController.NewProject() Dim bOk As Boolean = MainController.NewProject()
MainScene.SetStatusNull() MainScene.SetStatusNull()
End Sub Return bOk
End Function
Public Overrides Sub OpenProject(sFilePath As String) Public Overrides Function OpenProject(sFilePath As String) As Boolean
EgtSetCurrentContext(MainScene.GetCtx()) EgtSetCurrentContext(MainScene.GetCtx())
Dim bOk As Boolean = False Dim bOk As Boolean = False
If String.IsNullOrEmpty(sFilePath) Then If String.IsNullOrEmpty(sFilePath) Then
@@ -271,39 +263,76 @@ Public Class MySceneHostVM
If Not String.IsNullOrWhiteSpace(sDir) Then If Not String.IsNullOrWhiteSpace(sDir) Then
sDir = Path.GetDirectoryName(sDir) sDir = Path.GetDirectoryName(sDir)
End If End If
bOk = MainController.OpenProject(sDir) Dim OpenFileDialog As New Windows.Forms.OpenFileDialog With {
Else .Title = "Open",
bOk = MainController.OpenProject(sFilePath, False) .Filter = "Icarus project(*.icrs)|*.icrs" &
"|New geometry EgalTech(*.nge)|*.nge",
.FilterIndex = 1,
.InitialDirectory = sDir
}
If Not OpenFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then Return False
sFilePath = OpenFileDialog.FileName
End If End If
bOk = MainController.OpenProject(sFilePath, False)
' Imposto stato gestione mouse diretto della scena a nessuno
MainScene.SetStatusNull() MainScene.SetStatusNull()
' imposto modalita' import Return bOk
Map.refTopPanelVM.SelPage = Pages.NULL End Function
End Sub
Public Overrides Sub SaveProject() Public Overrides Function SaveProject() As Boolean
' Se nome progetto non definito o con estensione non valida lo chiedo ' Se nome progetto non definito o con estensione non valida lo chiedo
Dim sCurrFile As String = "" Dim sCurrFile As String = ""
EgtGetCurrFilePath(sCurrFile) EgtGetCurrFilePath(sCurrFile)
Dim bOk As Boolean = False
If String.IsNullOrWhiteSpace(sCurrFile) Or EgtGetFileType(sCurrFile) <> FT.NGE Then If String.IsNullOrWhiteSpace(sCurrFile) Or EgtGetFileType(sCurrFile) <> FT.NGE Then
MyBase.SaveAsProject() bOk = SaveAsProject()
Return Else
Dim bDeleteNgeFile As Boolean = Path.GetExtension(sCurrFile) = ".nge"
EgtSetCurrFilePath(Path.ChangeExtension(sCurrFile, "icrs"))
' Salvataggio standard
bOk = MainController.SaveProject()
If bOk AndAlso bDeleteNgeFile AndAlso File.Exists(sCurrFile) Then
Try
File.Delete(sCurrFile)
Catch ex As Exception
EgtOutLog("Delete nge file failed!")
End Try
End If
End If End If
' Salvataggio standard
MyBase.SaveProject()
' Imposto stato gestione mouse diretto della scena a nessuno ' Imposto stato gestione mouse diretto della scena a nessuno
MainScene.SetStatusNull() MainScene.SetStatusNull()
End Sub Return bOk
End Function
Public Overrides Sub SaveAsProject() Public Overrides Function SaveAsProject() As Boolean
m_bIsSaveAs = True m_bIsSaveAs = True
MyBase.SaveAsProject() Dim sFile As String = ""
EgtGetCurrFilePath(sFile)
Dim bOk As Boolean = False
' Se nome vuoto, assegno "New"
If String.IsNullOrWhiteSpace(sFile) Then sFile = "New.icrs"
' Eventuale sistemazione estensione
sFile = IO.Path.ChangeExtension(sFile, "icrs")
' Assegnazione nome file con dialogo
Dim SaveFileDialog As New Windows.Forms.SaveFileDialog With {
.Title = "Save",
.Filter = "Icarus Project(*.icrs)|*.icrs",
.FileName = sFile,
.InitialDirectory = IO.Path.GetDirectoryName(sFile)
}
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim sFileName As String = SaveFileDialog.FileName
EgtSetCurrFilePath(sFileName)
' Salvataggio standard
bOk = MainController.SaveProject()
End If
m_bIsSaveAs = False m_bIsSaveAs = False
' Imposto stato gestione mouse diretto della scena a nessuno ' Imposto stato gestione mouse diretto della scena a nessuno
MainScene.SetStatusNull() MainScene.SetStatusNull()
End Sub Return bOk
End Function
Public Overrides Sub InsertProject() Public Overrides Function InsertProject() As Boolean
' eseguo
' Recupero cartella dell'ultimo progetto aperto ' Recupero cartella dell'ultimo progetto aperto
Dim sDir As String = MainController.GetCurrFile() Dim sDir As String = MainController.GetCurrFile()
If String.IsNullOrWhiteSpace(sDir) Then If String.IsNullOrWhiteSpace(sDir) Then
@@ -324,7 +353,7 @@ Public Class MySceneHostVM
.FilterIndex = ExtIndex, .FilterIndex = ExtIndex,
.InitialDirectory = sDir} .InitialDirectory = sDir}
If Not OpenFileDialog.ShowDialog Then If Not OpenFileDialog.ShowDialog Then
Return Return False
End If End If
WriteMainPrivateProfileString(S_PRINTING3D, K_IMPORTCURREXTENSION, OpenFileDialog.FilterIndex) WriteMainPrivateProfileString(S_PRINTING3D, K_IMPORTCURREXTENSION, OpenFileDialog.FilterIndex)
Dim sFile As String = String.Empty Dim sFile As String = String.Empty
@@ -338,8 +367,12 @@ Public Class MySceneHostVM
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False) Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
Map.refInstrumentPanelVM.SetEdgeAnalysisIsEnabled(False) Map.refInstrumentPanelVM.SetEdgeAnalysisIsEnabled(False)
Map.refSliderManagerVM.SetSliderVisibility(False) Map.refSliderManagerVM.SetSliderVisibility(False)
' mostro finestra di caricamento
Dim ImportLoadingWnd As ImportLoadingWndV = New ImportLoadingWndV(Application.Current.MainWindow, New ImportLoadingWndVM)
ImportLoadingWnd.Show()
' importo la nuova geometria ' importo la nuova geometria
If MainController.InsertProject(sFile, False) Then Dim bOk As Boolean = MainController.InsertProject(sFile, False)
If bOk Then
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(True) Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(True)
' la sposto in centro tavola ' la sposto in centro tavola
Dim nNewPartId As Integer = EgtGetLastPart() Dim nNewPartId As Integer = EgtGetLastPart()
@@ -357,10 +390,13 @@ Public Class MySceneHostVM
Map.refInstrumentPanelVM.SetEdgeAnalysisIsEnabled(True) Map.refInstrumentPanelVM.SetEdgeAnalysisIsEnabled(True)
Map.refSliderManagerVM.SetSliderVisibility(True) Map.refSliderManagerVM.SetSliderVisibility(True)
End If End If
' chiudo finestra di caricamento
ImportLoadingWnd.Close()
EgtDraw() EgtDraw()
End Sub Return bOk
End Function
Public Sub InsertRib() Public Function InsertRib() As Boolean
' Recupero cartella dell'ultimo progetto aperto ' Recupero cartella dell'ultimo progetto aperto
Dim sDir As String = MainController.GetCurrFile() Dim sDir As String = MainController.GetCurrFile()
If String.IsNullOrWhiteSpace(sDir) Then If String.IsNullOrWhiteSpace(sDir) Then
@@ -380,12 +416,13 @@ Public Class MySceneHostVM
.FilterIndex = 1, .FilterIndex = 1,
.InitialDirectory = sDir} .InitialDirectory = sDir}
If Not OpenFileDialog.ShowDialog Then If Not OpenFileDialog.ShowDialog Then
Return Return False
End If End If
Dim sFile As String = String.Empty Dim sFile As String = String.Empty
sFile = OpenFileDialog.FileName sFile = OpenFileDialog.FileName
' importo la nuova geometria ' importo la nuova geometria
If MainController.InsertProject(sFile, False) Then Dim bOk As Boolean = MainController.InsertProject(sFile, False)
If bOk Then
' sposto le nuove geometrie nel layer rib del pezzo ' sposto le nuove geometrie nel layer rib del pezzo
Dim nNewPartId As Integer = EgtGetLastPart() Dim nNewPartId As Integer = EgtGetLastPart()
Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId) Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId)
@@ -427,9 +464,10 @@ Public Class MySceneHostVM
' Imposto flag di ricalcolo slice ' Imposto flag di ricalcolo slice
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True) EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End If End If
End Sub Return bOk
End Function
Public Sub InsertPrint(MenuItem As ManagerLayer_MenuItem) Public Function InsertPrint(MenuItem As ManagerLayer_MenuItem) As Boolean
' Recupero cartella dell'ultimo progetto aperto ' Recupero cartella dell'ultimo progetto aperto
Dim sDir As String = MainController.GetCurrFile() Dim sDir As String = MainController.GetCurrFile()
If String.IsNullOrWhiteSpace(sDir) Then If String.IsNullOrWhiteSpace(sDir) Then
@@ -449,18 +487,20 @@ Public Class MySceneHostVM
.FilterIndex = 1, .FilterIndex = 1,
.InitialDirectory = sDir} .InitialDirectory = sDir}
If Not OpenFileDialog.ShowDialog Then If Not OpenFileDialog.ShowDialog Then
Return Return False
End If End If
Dim sFile As String = String.Empty Dim sFile As String = String.Empty
sFile = OpenFileDialog.FileName sFile = OpenFileDialog.FileName
' importo la nuova geometria ' importo la nuova geometria
If MainController.InsertProject(sFile, False) Then Dim bOk As Boolean = MainController.InsertProject(sFile, False)
If bOk Then
' sposto le nuove geometrie nel layer rib del pezzo ' sposto le nuove geometrie nel layer rib del pezzo
Dim nNewPartId As Integer = EgtGetLastPart() Dim nNewPartId As Integer = EgtGetLastPart()
Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId) Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId)
' verifico che ci sia una sola entita' ' verifico che ci sia una sola entita'
If EgtGetGroupObjs(nNewLayerId) <> 1 Then If EgtGetGroupObjs(nNewLayerId) <> 1 Then
MessageBox.Show("Impossible importing file that contains more than one entity.", "Error", MessageBoxButton.OK, MessageBoxImage.Error) 'MessageBox.Show("Impossible importing file that contains more than one entity.", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, "Impossible importing file that contains more than one entity.", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
Else Else
' elimino eventuale entita' vecchia ' elimino eventuale entita' vecchia
If MenuItem.OrigLayer.EntityList.Count > 0 AndAlso MenuItem.OrigLayer.EntityList(0).nId <> GDB_ID.NULL Then EgtErase(MenuItem.OrigLayer.EntityList(0).nId) If MenuItem.OrigLayer.EntityList.Count > 0 AndAlso MenuItem.OrigLayer.EntityList(0).nId <> GDB_ID.NULL Then EgtErase(MenuItem.OrigLayer.EntityList(0).nId)
@@ -483,9 +523,10 @@ Public Class MySceneHostVM
EgtErase(nNewPartId) EgtErase(nNewPartId)
EgtDraw() EgtDraw()
End If End If
End Sub Return bOk
End Function
Public Sub InsertShellNumber() Public Function InsertShellNumber() As Boolean
' Recupero cartella dell'ultimo progetto aperto ' Recupero cartella dell'ultimo progetto aperto
Dim sDir As String = MainController.GetCurrFile() Dim sDir As String = MainController.GetCurrFile()
If String.IsNullOrWhiteSpace(sDir) Then If String.IsNullOrWhiteSpace(sDir) Then
@@ -505,12 +546,13 @@ Public Class MySceneHostVM
.FilterIndex = 1, .FilterIndex = 1,
.InitialDirectory = sDir} .InitialDirectory = sDir}
If Not OpenFileDialog.ShowDialog Then If Not OpenFileDialog.ShowDialog Then
Return Return False
End If End If
Dim sFile As String = String.Empty Dim sFile As String = String.Empty
sFile = OpenFileDialog.FileName sFile = OpenFileDialog.FileName
' importo la nuova geometria ' importo la nuova geometria
If MainController.InsertProject(sFile, False) Then Dim bOk As Boolean = MainController.InsertProject(sFile, False)
If bOk Then
' sposto le nuove geometrie nel layer ShellNumber del pezzo ' sposto le nuove geometrie nel layer ShellNumber del pezzo
Dim nNewPartId As Integer = EgtGetLastPart() Dim nNewPartId As Integer = EgtGetLastPart()
Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId) Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId)
@@ -552,9 +594,10 @@ Public Class MySceneHostVM
' Imposto flag di ricalcolo slice ' Imposto flag di ricalcolo slice
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True) EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End If End If
End Sub Return bOk
End Function
Public Sub InsertFilledSolid() Public Function InsertFilledSolid() As Boolean
' Recupero cartella dell'ultimo progetto aperto ' Recupero cartella dell'ultimo progetto aperto
Dim sDir As String = MainController.GetCurrFile() Dim sDir As String = MainController.GetCurrFile()
If String.IsNullOrWhiteSpace(sDir) Then If String.IsNullOrWhiteSpace(sDir) Then
@@ -574,12 +617,13 @@ Public Class MySceneHostVM
.FilterIndex = 1, .FilterIndex = 1,
.InitialDirectory = sDir} .InitialDirectory = sDir}
If Not OpenFileDialog.ShowDialog Then If Not OpenFileDialog.ShowDialog Then
Return Return False
End If End If
Dim sFile As String = String.Empty Dim sFile As String = String.Empty
sFile = OpenFileDialog.FileName sFile = OpenFileDialog.FileName
' importo la nuova geometria ' importo la nuova geometria
If MainController.InsertProject(sFile, False) Then Dim bOk As Boolean = MainController.InsertProject(sFile, False)
If bOk Then
' sposto le nuove geometrie nel layer ShellNumber del pezzo ' sposto le nuove geometrie nel layer ShellNumber del pezzo
Dim nNewPartId As Integer = EgtGetLastPart() Dim nNewPartId As Integer = EgtGetLastPart()
Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId) Dim nNewLayerId As Integer = EgtGetFirstGroupInGroup(nNewPartId)
@@ -621,21 +665,10 @@ Public Class MySceneHostVM
' Imposto flag di ricalcolo slice ' Imposto flag di ricalcolo slice
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True) EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End If End If
End Sub Return bOk
End Function
Public Overrides Sub ImportProject() Public Overrides Function ExportProject() As Boolean
Dim sDir As String = String.Empty
GetMainPrivateProfileString(S_MRUIMPORT, K_FILE & "1", "", sDir)
If Not String.IsNullOrWhiteSpace(sDir) Then
sDir = Path.GetDirectoryName(sDir)
End If
sDir.TrimEnd("\"c)
MainController.ImportProject(sDir)
' Imposto stato gestione mouse diretto della scena a nessuno
MainScene.SetStatusNull()
End Sub
Public Overrides Sub ExportProject()
' Reset controller e scena ' Reset controller e scena
MainController.ResetStatus() MainController.ResetStatus()
'Assegnazione nome file con dialogo 'Assegnazione nome file con dialogo
@@ -647,18 +680,19 @@ Public Class MySceneHostVM
.FileName = Path.ChangeExtension(MainController.GetCurrFile(), "").TrimEnd("."c) .FileName = Path.ChangeExtension(MainController.GetCurrFile(), "").TrimEnd("."c)
} }
Dim DialogResult As Boolean? = SaveFileDialog.ShowDialog Dim DialogResult As Boolean? = SaveFileDialog.ShowDialog
If IsNothing(DialogResult) OrElse Not DialogResult Then Return If IsNothing(DialogResult) OrElse Not DialogResult Then Return False
MainController.SetDefaultFilterForExport(EEX_FLT.DEFAULT + EEX_FLT.LEV_TEMP) MainController.SetDefaultFilterForExport(EEX_FLT.DEFAULT + EEX_FLT.LEV_TEMP)
MainController.ExportProject(SaveFileDialog.FileName, False) Return MainController.ExportProject(SaveFileDialog.FileName, False)
End Sub End Function
Friend Shadows Sub ExecScript(sFilePath As String) Public Overrides Function ExecScript(sFilePath As String) As Boolean
Dim bOk As Boolean = False
If String.IsNullOrEmpty(sFilePath) Then If String.IsNullOrEmpty(sFilePath) Then
Dim sDir As String = String.Empty Dim sDir As String = String.Empty
'GetMainPrivateProfileString(S_GENERAL, K_LASTLUADIR, "", sDir) 'GetMainPrivateProfileString(S_GENERAL, K_LASTLUADIR, "", sDir)
MainController.Exec(sDir) bOk = MainController.Exec(sDir)
Else Else
MainController.Exec(sFilePath, False) bOk = MainController.Exec(sFilePath, False)
End If End If
Dim bMachiningMode As Boolean = EgtGetCurrMachGroup() <> GDB_ID.NULL Dim bMachiningMode As Boolean = EgtGetCurrMachGroup() <> GDB_ID.NULL
If Not bMachiningMode And EgtGetCurrLayer() = GDB_ID.NULL Then If Not bMachiningMode And EgtGetCurrLayer() = GDB_ID.NULL Then
@@ -667,7 +701,8 @@ Public Class MySceneHostVM
EgtResetCurrPartLayer() EgtResetCurrPartLayer()
End If End If
End If End If
End Sub Return bOk
End Function
#End Region ' ProjectManager #End Region ' ProjectManager
@@ -961,33 +996,15 @@ Public Class MySceneHostVM
Map.refDispositionPanelVM.OnKeyDown(e.KeyData) Map.refDispositionPanelVM.OnKeyDown(e.KeyData)
Case ModifyModes.REFERENCE Case ModifyModes.REFERENCE
Case ModifyModes.STARTMACH Case ModifyModes.STARTMACH
Map.refStartMachPanelVM.OnKeyDown(e.KeyData)
Case ModifyModes.RIBS Case ModifyModes.RIBS
Map.refRibPanelVM.OnKeyDown(e.KeyData)
Case ModifyModes.SHELLNUMBER Case ModifyModes.SHELLNUMBER
Map.refShellNumberPanelVM.OnKeyDown(e.KeyData) Map.refShellNumberPanelVM.OnKeyDown(e.KeyData)
Case ModifyModes.AUXSOLIDS Case ModifyModes.AUXSOLIDS
Map.refFilledSolidPanelVM.OnKeyDown(e.KeyData) Map.refFilledSolidPanelVM.OnKeyDown(e.KeyData)
End Select End Select
End If End If
'' Se in modalità edit L250
'If Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refFreeContourManagerVM.bIsActive Then
' ' Con DEL eseguo cancellazione delle entità selezionate
' If e.KeyData = System.Windows.Forms.Keys.Delete Then
' MainController.SetLastInteger(GDB_ID.SEL)
' MainController.ExecuteCommand(Controller.CMD.DELETE)
' ' Con SPAZIO ripeto l'ultimo comando
' ElseIf e.KeyData = System.Windows.Forms.Keys.Space Then
' MainController.RepeatLastCommand()
' ' Con 'A' e in modalità continuazione, forzo il passaggio ad arco
' ElseIf e.KeyData = System.Windows.Forms.Keys.A And MainController.GetContinue() Then
' MainController.ContinueArcPDP()
' ' Con 'L' e in modalità continuazione, forzo il passaggio a retta
' ElseIf e.KeyData = System.Windows.Forms.Keys.L And MainController.GetContinue() Then
' MainController.ContinueLine2P()
' ' Con 'V' cambio lo stato del check
' ElseIf e.KeyData = System.Windows.Forms.Keys.V Then
' Map.refFreeContourInputVM.ChangeInputBoxCheck()
' End If
'End If
End Sub End Sub
Private Sub OnCloseGetDist(sender As System.Object) Private Sub OnCloseGetDist(sender As System.Object)
@@ -1007,12 +1024,14 @@ Public Class MySceneHostVM
EgtErase(EgtGetFirstPart()) EgtErase(EgtGetFirstPart())
CurrentMachine.CreateMachineTable() CurrentMachine.CreateMachineTable()
If Not bOk Then If Not bOk Then
MessageBox.Show(Application.Current.MainWindow, EgtMsg(10002), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error on new file - Error 'MessageBox.Show(Application.Current.MainWindow, EgtMsg(10002), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error on new file - Error
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(10002), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error)
End If End If
Map.refTopPanelVM.PartList.Clear() Map.refTopPanelVM.PartList.Clear()
Map.refTopPanelVM.SetSelModifyMode(ModifyModes.NULL) Map.refTopPanelVM.SetSelModifyMode(ModifyModes.NULL)
Map.refSliceManagerVM.UpdateTimeAndMass() Map.refSliceManagerVM.UpdateTimeAndMass()
Map.refSliceManagerVM.UpdateDimensions()
Map.refSliderManagerVM.RefreshSlider(0, 0) Map.refSliderManagerVM.RefreshSlider(0, 0)
Map.refSliderManagerVM.SetLayerIndexToMax() Map.refSliderManagerVM.SetLayerIndexToMax()
@@ -1035,7 +1054,8 @@ Public Class MySceneHostVM
Else Else
sMsg = EgtMsg(10009) & " '" & sFile & "'" 'Missing file sMsg = EgtMsg(10009) & " '" & sFile & "'" 'Missing file
End If End If
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) 'Error 'MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) 'Error
EgtMessageBoxV.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error)
End If End If
' leggo materiale e macchina ' leggo materiale e macchina
Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE) Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
@@ -1047,7 +1067,8 @@ Public Class MySceneHostVM
' imposto la macchina ' imposto la macchina
Map.refMachinePanelVM.SelectedMachine = ProjectMachine Map.refMachinePanelVM.SelectedMachine = ProjectMachine
Else Else
MessageBox.Show("Project machine not found! Impossible to open the project.", "Error", MessageBoxButton.OK, MessageBoxImage.Error) 'MessageBox.Show("Project machine not found! Impossible to open the project.", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, "Project machine not found! Impossible to open the project.", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
Map.refProjManagerVM.NewProject(False) Map.refProjManagerVM.NewProject(False)
Return Return
End If End If
@@ -1070,7 +1091,9 @@ Public Class MySceneHostVM
Else Else
Dim sMaterialName As String = "" Dim sMaterialName As String = ""
EgtGetInfo(nTabPartId, KEY_MATERIAL_NAME, sMaterialName) EgtGetInfo(nTabPartId, KEY_MATERIAL_NAME, sMaterialName)
MessageBox.Show("Project material (Guid:" & sMaterialGuid & " Name:""" & sMaterialName & """) not found!" & Environment.NewLine & 'MessageBox.Show("Project material (Guid:" & sMaterialGuid & " Name:""" & sMaterialName & """) not found!" & Environment.NewLine &
' "Please select another material!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
EgtMessageBoxV.Show(Application.Current.MainWindow, "Project material (Guid:" & sMaterialGuid & " Name:""" & sMaterialName & """) not found!" & Environment.NewLine &
"Please select another material!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning) "Please select another material!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
End If End If
End If End If
@@ -1119,6 +1142,7 @@ Public Class MySceneHostVM
' aggiorno tempo e massa ' aggiorno tempo e massa
Map.refSliceManagerVM.UpdateTimeAndMass() Map.refSliceManagerVM.UpdateTimeAndMass()
Map.refSliceManagerVM.UpdateDimensions()
Map.refSliderManagerVM.SetLayerIndexToMax() Map.refSliderManagerVM.SetLayerIndexToMax()
@@ -1153,7 +1177,8 @@ Public Class MySceneHostVM
Else Else
Map.refProjManagerVM.MruFiles.Remove(sFile) Map.refProjManagerVM.MruFiles.Remove(sFile)
Dim sMsg As String = EgtMsg(10004) & " '" & sFile & "'" 'Error saving file Dim sMsg As String = EgtMsg(10004) & " '" & sFile & "'" 'Error saving file
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error 'MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error
EgtMessageBoxV.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error)
End If End If
End Sub End Sub
@@ -1161,7 +1186,8 @@ Public Class MySceneHostVM
' Segnalo eventuale errore ' Segnalo eventuale errore
If Not bOk Then If Not bOk Then
Dim sMsg As String = EgtMsg(10006) & " '" & sFile & "'" 'Error importing file Dim sMsg As String = EgtMsg(10006) & " '" & sFile & "'" 'Error importing file
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error 'MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error
EgtMessageBoxV.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error)
End If End If
Map.refProjManagerVM.MruImportFiles.Add(sFile) Map.refProjManagerVM.MruImportFiles.Add(sFile)
EgtSetInfo(EgtGetLastPart(), FILE_PATH, sFile) EgtSetInfo(EgtGetLastPart(), FILE_PATH, sFile)
@@ -1179,7 +1205,8 @@ Public Class MySceneHostVM
' Abilito progress e bottone stop ' Abilito progress e bottone stop
Map.refMyStatusBarVM.StartLoading("", True) Map.refMyStatusBarVM.StartLoading("", True)
Else Else
MessageBox.Show(Application.Current.MainWindow, EgtMsg(10005), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' File type unknown - Error 'MessageBox.Show(Application.Current.MainWindow, EgtMsg(10005), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' File type unknown - Error
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(10005), EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' File type unknown - Error
End If End If
End Sub End Sub
@@ -1192,7 +1219,8 @@ Public Class MySceneHostVM
' Segnalo eventuale errore ' Segnalo eventuale errore
If Not bOk Then If Not bOk Then
Dim sMsg As String = EgtMsg(10006) & " '" & sFile & "'" 'Error importing file Dim sMsg As String = EgtMsg(10006) & " '" & sFile & "'" 'Error importing file
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error 'MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error
EgtMessageBoxV.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) ' Error
ElseIf Path.GetExtension(sFile) <> ".cnc" Then ElseIf Path.GetExtension(sFile) <> ".cnc" Then
' creo oggetto pezzo in lista ' creo oggetto pezzo in lista
'Map.refProjectVM. 'Map.refProjectVM.
@@ -1462,7 +1490,10 @@ Public Class MySceneHostVM
Friend Sub StartMach_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Friend Sub StartMach_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Se eseguito drag ' Se eseguito drag
If Not m_bDragToStart Then If Not m_bDragToStart Then
' se in scelta piano da oggetto resetto eventuale selezione
If Map.refRibPanelVM.bCPlaneObj_IsActive Then
EgtDeselectAll()
End If
' Se selezione da eseguire ' Se selezione da eseguire
ElseIf m_nIdToSel <> GDB_ID.NULL Then ElseIf m_nIdToSel <> GDB_ID.NULL Then
If Map.refStartMachPanelVM.bCPlaneObj_IsActive Then If Map.refStartMachPanelVM.bCPlaneObj_IsActive Then
@@ -1543,7 +1574,10 @@ Public Class MySceneHostVM
Friend Sub Rib_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Friend Sub Rib_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Se eseguito drag ' Se eseguito drag
If Not m_bDragToStart Then If Not m_bDragToStart Then
' se in scelta piano da oggetto resetto eventuale selezione
If Map.refRibPanelVM.bCPlaneObj_IsActive Then
EgtDeselectAll()
End If
' Se selezione da eseguire ' Se selezione da eseguire
ElseIf m_nIdToSel <> GDB_ID.NULL Then ElseIf m_nIdToSel <> GDB_ID.NULL Then
If Map.refRibPanelVM.bCPlaneObj_IsActive Then If Map.refRibPanelVM.bCPlaneObj_IsActive Then
@@ -1625,7 +1659,10 @@ Public Class MySceneHostVM
Friend Sub ShellNumber_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Friend Sub ShellNumber_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Se eseguito drag ' Se eseguito drag
If Not m_bDragToStart Then If Not m_bDragToStart Then
' se in scelta piano da oggetto resetto eventuale selezione
If Map.refRibPanelVM.bCPlaneObj_IsActive Then
EgtDeselectAll()
End If
' Se selezione da eseguire ' Se selezione da eseguire
ElseIf m_nIdToSel <> GDB_ID.NULL Then ElseIf m_nIdToSel <> GDB_ID.NULL Then
If Map.refShellNumberPanelVM.bCPlaneObj_IsActive Then If Map.refShellNumberPanelVM.bCPlaneObj_IsActive Then
@@ -1707,7 +1744,10 @@ Public Class MySceneHostVM
Friend Sub FilledSolid_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Friend Sub FilledSolid_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Se eseguito drag ' Se eseguito drag
If Not m_bDragToStart Then If Not m_bDragToStart Then
' se in scelta piano da oggetto resetto eventuale selezione
If Map.refRibPanelVM.bCPlaneObj_IsActive Then
EgtDeselectAll()
End If
' Se selezione da eseguire ' Se selezione da eseguire
ElseIf m_nIdToSel <> GDB_ID.NULL Then ElseIf m_nIdToSel <> GDB_ID.NULL Then
If Map.refFilledSolidPanelVM.bCPlaneObj_IsActive Then If Map.refFilledSolidPanelVM.bCPlaneObj_IsActive Then
+20 -22
View File
@@ -1,24 +1,24 @@
<EgtWPFLib5:EgtCustomWindow x:Class="SecondaryWindowV" <EgtWPFLib5:EgtMainWindow x:Class="SecondaryWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus" xmlns:PrintApp="clr-namespace:Icarus"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Title="{Binding sTitle}"
Title="{Binding sTitle}" Icon="/Resources/Icarus.ico" ProjectName="{Binding sProjectName}"
WindowStyle="None" ResizeMode="NoResize" ProjectPath="{Binding sProjectPath}"
ShowInTaskbar="False" Icon="/Resources/Icarus.ico"
AllowsTransparency="True" CloseCommand="{Binding CloseApplicationCommand, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
Background="Transparent" ShowInTaskbar="False"
AboutBoxCommand="{Binding AboutBoxCommand}" AllowsTransparency="True"
CloseCommand="{Binding CloseApplicationCommand, Background="Transparent"
Mode=OneWay, Style="{DynamicResource {x:Type EgtWPFLib5:EgtMainWindow}}">
UpdateSourceTrigger=PropertyChanged}" <EgtWPFLib5:EgtMainWindow.TitlePanel>
>
<EgtWPFLib5:EgtCustomWindow.TitlePanel>
<PrintApp:ProjManagerV DataContext="{StaticResource ProjManagerVM}"/> <PrintApp:ProjManagerV DataContext="{StaticResource ProjManagerVM}"/>
</EgtWPFLib5:EgtMainWindow.TitlePanel>
<EgtWPFLib5:EgtMainWindow.OpacityMask>
<SolidColorBrush Color="White" Opacity="{Binding Window_Opacity}"/>
</EgtWPFLib5:EgtMainWindow.OpacityMask>
</EgtWPFLib5:EgtCustomWindow.TitlePanel>
<!--Pannello principale --> <!--Pannello principale -->
<DockPanel> <DockPanel>
@@ -26,7 +26,5 @@
<PrintApp:ProjectV DataContext="{StaticResource ProjectVM}"/> <PrintApp:ProjectV DataContext="{StaticResource ProjectVM}"/>
</DockPanel> </DockPanel>
<!--<PrintApp:SceneHostV/>-->
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtMainWindow>
@@ -27,15 +27,15 @@ Public Class SecondaryWindowV
AddHandler Me.StateChanged, AddressOf SecondaryWindowV_StateChanged AddHandler Me.StateChanged, AddressOf SecondaryWindowV_StateChanged
End Sub End Sub
Private Sub SecondaryWindowV_ContentRendered(sender As Object, e As EventArgs)
m_SecondaryWindowVM.ContentRendered()
End Sub
Private Sub SecondaryWindowV_Loaded(sender As Object, e As RoutedEventArgs) Private Sub SecondaryWindowV_Loaded(sender As Object, e As RoutedEventArgs)
' Carico e imposto posizione finestra ' Carico e imposto posizione finestra
WinPosFromIniToWindow(S_GENERAL, K_WINPLACE, Me) WinPosFromIniToWindow(S_GENERAL, K_WINPLACE, Me)
End Sub End Sub
Private Sub SecondaryWindowV_ContentRendered(sender As Object, e As EventArgs)
m_SecondaryWindowVM.ContentRendered()
End Sub
Private Sub SecondaryWindowV_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs) Private Sub SecondaryWindowV_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs)
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
e.Cancel = True e.Cancel = True
+48 -14
View File
@@ -1,5 +1,6 @@
Imports EgtWPFLib5 Imports EgtWPFLib5
Imports EgtUILib Imports EgtUILib
Imports System.IO
Imports System.Windows.Threading Imports System.Windows.Threading
Public Class SecondaryWindowVM Public Class SecondaryWindowVM
@@ -8,16 +9,42 @@ Public Class SecondaryWindowVM
Private m_SplashScreen_Timer As New DispatcherTimer Private m_SplashScreen_Timer As New DispatcherTimer
Private m_WaitAfterRender As Integer = 0 Private m_WaitAfterRender As Integer = 0
' Titolo Private m_Window_Opacity As Double = 0.2
Private m_sTitle As String Public ReadOnly Property Window_Opacity As Double
Public Property sTitle As String
Get Get
Return m_sTitle Return m_Window_Opacity
End Get
End Property
' Titolo
Public ReadOnly Property sTitle As String
Get
Return "Icarus"
End Get
End Property
Public ReadOnly Property sProjectName As String
Get
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 End Get
Set(value As String)
m_sTitle = value
NotifyPropertyChanged(NameOf(sTitle))
End Set
End Property End Property
Private m_Visibility As Boolean Private m_Visibility As Boolean
@@ -37,11 +64,13 @@ Public Class SecondaryWindowVM
End If End If
End Sub End Sub
Friend Sub SetTitle(sTitle As String) Friend Sub SetTitle()
m_sTitle = sTitle
NotifyPropertyChanged(NameOf(sTitle)) NotifyPropertyChanged(NameOf(sTitle))
NotifyPropertyChanged(NameOf(sProjectName))
NotifyPropertyChanged(NameOf(sProjectPath))
End Sub End Sub
' definizione comandi ' definizione comandi
Private m_cmdAboutBox As ICommand Private m_cmdAboutBox As ICommand
Private m_cmdCloseApplication As ICommand Private m_cmdCloseApplication As ICommand
@@ -84,8 +113,11 @@ Public Class SecondaryWindowVM
Private Sub SplashScreenTimer_Tick() Private Sub SplashScreenTimer_Tick()
If m_WaitAfterRender > 1 Then If m_WaitAfterRender > 1 Then
m_Window_Opacity = 1
NotifyPropertyChanged(NameOf(Window_Opacity))
' chiudo SplashScreen ' chiudo SplashScreen
Map.refSplashScreen.Close() Map.refSplashScreen.Close()
m_SplashScreen_Timer.Stop()
ElseIf m_WaitAfterRender > 0 Then ElseIf m_WaitAfterRender > 0 Then
m_WaitAfterRender += 1 m_WaitAfterRender += 1
End If End If
@@ -98,7 +130,10 @@ Public Class SecondaryWindowVM
Dim sFile As String = Environment.GetCommandLineArgs(1) Dim sFile As String = Environment.GetCommandLineArgs(1)
Dim sExt As String = IO.Path.GetExtension(sFile).ToLower() Dim sExt As String = IO.Path.GetExtension(sFile).ToLower()
If String.IsNullOrWhiteSpace(sFile) OrElse String.IsNullOrWhiteSpace(sExt) Then Return False If String.IsNullOrWhiteSpace(sFile) OrElse String.IsNullOrWhiteSpace(sExt) Then Return False
Return OpenStdFile(sFile) Dim bOk As Boolean = OpenStdFile(sFile)
m_Window_Opacity = 1
NotifyPropertyChanged(NameOf(Window_Opacity))
Return bOk
End Function End Function
Friend Function OpenStdFile(sFile As String) As Boolean Friend Function OpenStdFile(sFile As String) As Boolean
@@ -106,8 +141,6 @@ Public Class SecondaryWindowVM
Select Case nFileType Select Case nFileType
Case FT.NGE Case FT.NGE
Return Map.refProjManagerVM.OpenProject(sFile) Return Map.refProjManagerVM.OpenProject(sFile)
'Case FT.DXF, FT.STL, FT._3MF, FT.OBJ, FT.CNC, FT.CSF, FT.BTL, FT.BTLX, FT.IMG, FT.PNT, FT.IGES, FT.STEP_, FT.ACIS, FT.PARASOLID, FT.JT, FT.VRML, FT.C3D
' Return m_Controller.ImportProject(sFile, False)
End Select End Select
Return False Return False
End Function End Function
@@ -150,7 +183,8 @@ Public Class SecondaryWindowVM
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded. ' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub CloseApplication(ByVal param As Object) Public Sub CloseApplication(ByVal param As Object)
If Map.refSliceManagerVM.bCalculating Then If Map.refSliceManagerVM.bCalculating Then
MessageBox.Show("Impossible closing software! Wait end of calculation!", "Error", MessageBoxButton.OK, MessageBoxImage.Error) '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 Return
End If End If
Map.refMainWindowVM.CloseApplication() Map.refMainWindowVM.CloseApplication()
+100 -63
View File
@@ -40,6 +40,10 @@ Public Class ShellNumberPanelVM
Return m_SelShellNumber Return m_SelShellNumber
End Get End Get
Set(value As ShellNumberEntity) Set(value As ShellNumberEntity)
If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse Map.refShellNumberPanelVM.bCPlaneObj_IsActive Then
NotifyPropertyChanged(NameOf(SelShellNumber))
Return
End If
m_SelShellNumber = value m_SelShellNumber = value
EgtDeselectAll() EgtDeselectAll()
If Not IsNothing(value) Then If Not IsNothing(value) Then
@@ -218,7 +222,7 @@ Public Class ShellNumberPanelVM
Return m_bAdd_IsChecked Return m_bAdd_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bAdd_IsChecked = value
If value Then If value Then
m_bEdit_IsChecked = False m_bEdit_IsChecked = False
@@ -240,7 +244,7 @@ Public Class ShellNumberPanelVM
Return m_bEdit_IsChecked Return m_bEdit_IsChecked
End Get End Get
Set(value As Boolean) Set(value As Boolean)
If Not IsNothing(m_SelShellNumber) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then If Not IsNothing(m_SelShellNumber) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
m_bEdit_IsChecked = value m_bEdit_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -264,7 +268,7 @@ Public Class ShellNumberPanelVM
Return m_bGrid_IsChecked Return m_bGrid_IsChecked
End Get End Get
Set(value As Boolean) 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 m_bGrid_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -292,7 +296,7 @@ Public Class ShellNumberPanelVM
Return m_bMove_IsChecked Return m_bMove_IsChecked
End Get End Get
Set(value As Boolean) Set(value As Boolean)
If Not IsNothing(m_SelShellNumber) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then If Not IsNothing(m_SelShellNumber) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
m_bMove_IsChecked = value m_bMove_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -316,7 +320,7 @@ Public Class ShellNumberPanelVM
Return m_bRotate_IsChecked Return m_bRotate_IsChecked
End Get End Get
Set(value As Boolean) Set(value As Boolean)
If Not IsNothing(m_SelShellNumber) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 Then If Not IsNothing(m_SelShellNumber) AndAlso Not m_bMachParam_IsChecked AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not m_bCPlaneObj_IsActive Then
m_bRotate_IsChecked = value m_bRotate_IsChecked = value
If value Then If value Then
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
@@ -340,7 +344,7 @@ Public Class ShellNumberPanelVM
Return m_bMachParam_IsChecked Return m_bMachParam_IsChecked
End Get End Get
Set(value As Boolean) Set(value As Boolean)
If Not IsNothing(m_SelShellNumber) AndAlso Map.refSceneHostVM.MainController.GetStep = 0 AndAlso Not IsNothing(Map.refTopPanelVM.SelMachining) AndAlso value Then If Not IsNothing(m_SelShellNumber) 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_bMachParam_IsChecked = True
m_bAdd_IsChecked = False m_bAdd_IsChecked = False
m_bEdit_IsChecked = False m_bEdit_IsChecked = False
@@ -354,6 +358,8 @@ Public Class ShellNumberPanelVM
NotifyPropertyChanged(NameOf(bRotate_IsChecked)) NotifyPropertyChanged(NameOf(bRotate_IsChecked))
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.SHELLNUMBERPARAM) Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.SHELLNUMBERPARAM)
NotifyPropertyChanged(NameOf(ShellNumberList_IsEnabled)) NotifyPropertyChanged(NameOf(ShellNumberList_IsEnabled))
' disattivo interfaccia
ManageInterface(False)
Else Else
NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked)) NotifyPropertyChanged(NameOf(m_bMachParam_IsChecked))
End If End If
@@ -363,6 +369,8 @@ Public Class ShellNumberPanelVM
m_bMachParam_IsChecked = False m_bMachParam_IsChecked = False
NotifyPropertyChanged(NameOf(bMachParam_IsChecked)) NotifyPropertyChanged(NameOf(bMachParam_IsChecked))
NotifyPropertyChanged(NameOf(ShellNumberList_IsEnabled)) NotifyPropertyChanged(NameOf(ShellNumberList_IsEnabled))
' riattivo interfaccia
ManageInterface(True)
End Sub End Sub
Public ReadOnly Property Compo_Visibility As Visibility Public ReadOnly Property Compo_Visibility As Visibility
@@ -371,11 +379,17 @@ Public Class ShellNumberPanelVM
End Get End Get
End Property End Property
Private m_ShellNumberList_IsEnabled As Boolean = False
Public ReadOnly Property ShellNumberList_IsEnabled As Boolean Public ReadOnly Property ShellNumberList_IsEnabled As Boolean
Get Get
Return Not m_bMachParam_IsChecked Return If(m_ShellNumberList.Count > 0, m_ShellNumberList_IsEnabled, False)
End Get End Get
End Property End Property
Friend Sub SetShellNumberListIsEnabled(bValue As Boolean)
m_ShellNumberList_IsEnabled = bValue
NotifyPropertyChanged(NameOf(ShellNumberList_IsEnabled))
End Sub
' riferimento griglia all'ingresso in questa pagina ' riferimento griglia all'ingresso in questa pagina
Private m_OriginalGridFrame As New Frame3d Private m_OriginalGridFrame As New Frame3d
@@ -393,6 +407,8 @@ Public Class ShellNumberPanelVM
End Get End Get
End Property End Property
Private m_bEscOnLine2P As Boolean = False
#Region "Tooltip" #Region "Tooltip"
Public ReadOnly Property Import_ToolTip As String Public ReadOnly Property Import_ToolTip As String
@@ -522,7 +538,6 @@ Public Class ShellNumberPanelVM
Private m_cmdCPlaneObj As ICommand Private m_cmdCPlaneObj As ICommand
Private m_cmdDragMove As ICommand Private m_cmdDragMove As ICommand
Private m_cmdDragRotate As ICommand Private m_cmdDragRotate As ICommand
Private m_cmdMachParam As ICommand
#End Region ' FIELDS & PROPERTIES #End Region ' FIELDS & PROPERTIES
@@ -577,6 +592,8 @@ Public Class ShellNumberPanelVM
SelShellNumber = m_ShellNumberList(0) SelShellNumber = m_ShellNumberList(0)
NotifyPropertyChanged(NameOf(SelShellNumber)) NotifyPropertyChanged(NameOf(SelShellNumber))
End If End If
' abilito lista shell number
SetShellNumberListIsEnabled(True)
Map.refSceneHostVM.MainScene.SetStatusNull() Map.refSceneHostVM.MainScene.SetStatusNull()
End Sub End Sub
@@ -612,8 +629,13 @@ Public Class ShellNumberPanelVM
EgtSelectObj(m_SelShellNumber.nCurveId) EgtSelectObj(m_SelShellNumber.nCurveId)
Case ShellNumberSelectionTypes.EXTRUSION Case ShellNumberSelectionTypes.EXTRUSION
' creo layer per estrusione ' creo layer per estrusione
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId) Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
EgtSetName(nNewExtrusionLayerId, 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) EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
EgtSelectObj(m_SelShellNumber.nCurveId) EgtSelectObj(m_SelShellNumber.nCurveId)
Case ShellNumberSelectionTypes.BOTH Case ShellNumberSelectionTypes.BOTH
@@ -621,6 +643,8 @@ Public Class ShellNumberPanelVM
EgtSelectObj(m_SelShellNumber.nExtrusionId) EgtSelectObj(m_SelShellNumber.nExtrusionId)
End Select End Select
EgtDraw() EgtDraw()
' disattivo il resto dell'interfaccia
ManageInterface(False)
Return True Return True
End Function End Function
@@ -630,6 +654,7 @@ Public Class ShellNumberPanelVM
End Sub End Sub
Friend Sub OnExecCmdEnd(command As Controller.CMD) Friend Sub OnExecCmdEnd(command As Controller.CMD)
m_bEscOnLine2P = False
Select Case command Select Case command
Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE Case Controller.CMD.MODIFYCURVE, Controller.CMD.ADDPOINTCURVE, Controller.CMD.REMOVEPOINTCURVE
' leggo altezza estrusione ' leggo altezza estrusione
@@ -669,6 +694,10 @@ Public Class ShellNumberPanelVM
' Imposto flag di ricalcolo slice ' Imposto flag di ricalcolo slice
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True) EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
End Select 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 If command <> Controller.CMD.LINE2P AndAlso command <> Controller.CMD.EXTRUDE Then Return
' se finita creazione estrusione ' se finita creazione estrusione
If m_bIsCreatingExtrusion Then If m_bIsCreatingExtrusion Then
@@ -723,9 +752,15 @@ Public Class ShellNumberPanelVM
' lo seleziono ' lo seleziono
SelShellNumber = NewEntity SelShellNumber = NewEntity
NotifyPropertyChanged(NameOf(SelShellNumber)) NotifyPropertyChanged(NameOf(SelShellNumber))
' creo layer per estrusione ' verifico se esiste gia' layer estrusione e lo svuoto
Dim nNewExtrusionLayerId As Integer = EgtCreateGroup(m_nPartId) Dim nNewExtrusionLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWEXTRUSION)
EgtSetName(nNewExtrusionLayerId, 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) EgtSetCurrPartLayer(m_nPartId, nNewExtrusionLayerId)
' seleziono percorso da estrudere ' seleziono percorso da estrudere
EgtDeselectAll() EgtDeselectAll()
@@ -733,6 +768,9 @@ Public Class ShellNumberPanelVM
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
m_bIsCreatingExtrusion = True m_bIsCreatingExtrusion = True
Map.refControllerInputPanelVM.IsChecked = True Map.refControllerInputPanelVM.IsChecked = True
If Not EgtCurveIsClosed(nNewEntityId) Then
m_bEscOnLine2P = True
End If
Else Else
' cancello layer ' cancello layer
EgtErase(nNewExtrusionLayerId) EgtErase(nNewExtrusionLayerId)
@@ -757,6 +795,13 @@ Public Class ShellNumberPanelVM
' rimetto la selezione scena a null ' rimetto la selezione scena a null
Map.refSceneHostVM.MainScene.SetStatusNull() Map.refSceneHostVM.MainScene.SetStatusNull()
End If 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 If
End Sub End Sub
@@ -792,6 +837,19 @@ Public Class ShellNumberPanelVM
Return nShellNumberIndex + 1 Return nShellNumberIndex + 1
End Function 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)
SetShellNumberListIsEnabled(bValue)
End Sub
#End Region ' METHODS #End Region ' METHODS
#Region "COMMANDS" #Region "COMMANDS"
@@ -814,8 +872,10 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub Import(ByVal param As Object) 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.InsertShellNumber() Map.refSceneHostVM.InsertShellNumber()
ManageInterface(True)
End Sub End Sub
#End Region ' Import #End Region ' Import
@@ -838,7 +898,8 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub Line2P(ByVal param As Object) 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) Dim nNewShellNumberLayerId As Integer = EgtGetFirstNameInGroup(m_nPartId, LAY_NEWRIB)
If nNewShellNumberLayerId = GDB_ID.NULL Then nNewShellNumberLayerId = EgtCreateGroup(m_nPartId) If nNewShellNumberLayerId = GDB_ID.NULL Then nNewShellNumberLayerId = EgtCreateGroup(m_nPartId)
EgtSetName(nNewShellNumberLayerId, LAY_NEWRIB) EgtSetName(nNewShellNumberLayerId, LAY_NEWRIB)
@@ -863,7 +924,7 @@ Public Class ShellNumberPanelVM
End Property End Property
Public Sub Delete() 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(SelShellNumber) Then Return If IsNothing(SelShellNumber) Then Return
Dim bOk As Boolean = False Dim bOk As Boolean = False
Select Case m_SelShellNumber.Type Select Case m_SelShellNumber.Type
@@ -887,6 +948,7 @@ Public Class ShellNumberPanelVM
End If End If
NotifyPropertyChanged(NameOf(SelShellNumber)) NotifyPropertyChanged(NameOf(SelShellNumber))
End If End If
SetShellNumberListIsEnabled(True)
End Sub End Sub
#End Region ' Delete #End Region ' Delete
@@ -909,7 +971,7 @@ Public Class ShellNumberPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub ModifyCurve(ByVal param As Object) 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(ShellNumberSelectionTypes.CURVE) InitCommand(ShellNumberSelectionTypes.CURVE)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MODIFYCURVE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MODIFYCURVE)
End Sub End Sub
@@ -934,7 +996,7 @@ Public Class ShellNumberPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub AddPointCurve(ByVal param As Object) 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(ShellNumberSelectionTypes.CURVE) InitCommand(ShellNumberSelectionTypes.CURVE)
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOARC) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOARC)
@@ -963,7 +1025,7 @@ Public Class ShellNumberPanelVM
''' Execute the LinearDimension. This method is invoked by the LinDimCommand. ''' Execute the LinearDimension. This method is invoked by the LinDimCommand.
''' </summary> ''' </summary>
Public Sub RemovePointCurve(ByVal param As Object) 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(ShellNumberSelectionTypes.CURVE) InitCommand(ShellNumberSelectionTypes.CURVE)
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOLINE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.CURVETOLINE)
@@ -992,7 +1054,7 @@ Public Class ShellNumberPanelVM
''' Execute the Extrude. This method is invoked by the ExtrudeCommand. ''' Execute the Extrude. This method is invoked by the ExtrudeCommand.
''' </summary> ''' </summary>
Public Sub Extrude(ByVal param As Object) 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(ShellNumberSelectionTypes.EXTRUSION) InitCommand(ShellNumberSelectionTypes.EXTRUSION)
If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.EXTRUDE) Then
m_bIsCreatingExtrusion = True m_bIsCreatingExtrusion = True
@@ -1020,7 +1082,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand. ''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary> ''' </summary>
Public Sub CPlaneTop(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.TOP)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1045,7 +1107,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneFront. This method is invoked by the CPlaneFrontCommand. ''' Execute the CPlaneFront. This method is invoked by the CPlaneFrontCommand.
''' </summary> ''' </summary>
Public Sub CPlaneFront(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.FRONT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1070,7 +1132,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneRight. This method is invoked by the CPlaneRightCommand. ''' Execute the CPlaneRight. This method is invoked by the CPlaneRightCommand.
''' </summary> ''' </summary>
Public Sub CPlaneRight(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.RIGHT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1095,7 +1157,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneBack. This method is invoked by the CPlaneBackCommand. ''' Execute the CPlaneBack. This method is invoked by the CPlaneBackCommand.
''' </summary> ''' </summary>
Public Sub CPlaneBack(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.BACK)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1120,7 +1182,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneLeft. This method is invoked by the CPlaneLeftCommand. ''' Execute the CPlaneLeft. This method is invoked by the CPlaneLeftCommand.
''' </summary> ''' </summary>
Public Sub CPlaneLeft(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.LEFT)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1145,7 +1207,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneBottom. This method is invoked by the CPlaneBottomCommand. ''' Execute the CPlaneBottom. This method is invoked by the CPlaneBottomCommand.
''' </summary> ''' </summary>
Public Sub CPlaneBottom(ByVal param As Object) 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.SetLastInteger(Controller.GRID_TYPE.BOTTOM)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID)
End Sub End Sub
@@ -1170,7 +1232,8 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneElevation. This method is invoked by the CPlaneElevationCommand. ''' Execute the CPlaneElevation. This method is invoked by the CPlaneElevationCommand.
''' </summary> ''' </summary>
Public Sub CPlaneElevation(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ELEVATION)
End Sub End Sub
@@ -1194,7 +1257,8 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneOrigin. This method is invoked by the CPlaneOriginCommand. ''' Execute the CPlaneOrigin. This method is invoked by the CPlaneOriginCommand.
''' </summary> ''' </summary>
Public Sub CPlaneOrigin(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ORIGIN)
End Sub End Sub
@@ -1218,7 +1282,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand. ''' Execute the CPlaneRotate. This method is invoked by the CPlaneRotateCommand.
''' </summary> ''' </summary>
Public Sub CPlaneRotate(ByVal param As Object) 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 If (Keyboard.Modifiers And ModifierKeys.Shift) <> ModifierKeys.Shift Then
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_ROTATE)
Else Else
@@ -1246,7 +1310,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand. ''' Execute the CPlane3P. This method is invoked by the CPlane3PCommand.
''' </summary> ''' </summary>
Public Sub CPlane3P(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_3P)
End Sub End Sub
@@ -1270,7 +1334,7 @@ Public Class ShellNumberPanelVM
''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand. ''' Execute the CPlanePerpObj. This method is invoked by the CPlanePerpObjCommand.
''' </summary> ''' </summary>
Public Sub CPlanePerpObj(ByVal param As Object) 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) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.GRID_PERPCURVE)
End Sub End Sub
@@ -1310,7 +1374,8 @@ Public Class ShellNumberPanelVM
''' Execute the CPlaneObj. This method is invoked by the CPlaneObjCommand. ''' Execute the CPlaneObj. This method is invoked by the CPlaneObjCommand.
''' </summary> ''' </summary>
Public Sub CPlaneObj(ByVal param As Object) 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 ' salvo selezione precedente e deseleziono altri oggetti
m_PrevSelObjs.Clear() m_PrevSelObjs.Clear()
Dim nSelObjId As Integer = EgtGetFirstSelectedObj() Dim nSelObjId As Integer = EgtGetFirstSelectedObj()
@@ -1320,7 +1385,7 @@ Public Class ShellNumberPanelVM
End While End While
EgtDeselectAll() EgtDeselectAll()
m_bCPlaneObj_IsActive = True 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 Sub
#End Region ' CPlaneObj #End Region ' CPlaneObj
@@ -1337,7 +1402,7 @@ Public Class ShellNumberPanelVM
End Property End Property
Public Sub DragMove() Public Sub DragMove()
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
InitCommand(ShellNumberSelectionTypes.BOTH) InitCommand(ShellNumberSelectionTypes.BOTH)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MOVE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.MOVE)
End Sub End Sub
@@ -1356,41 +1421,13 @@ Public Class ShellNumberPanelVM
End Property End Property
Public Sub DragRotate() Public Sub DragRotate()
If Map.refSceneHostVM.MainController.GetStep <> 0 Then Return If Map.refSceneHostVM.MainController.GetStep <> 0 OrElse m_bCPlaneObj_IsActive Then Return
InitCommand(ShellNumberSelectionTypes.BOTH) InitCommand(ShellNumberSelectionTypes.BOTH)
Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.ROTATE) Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.ROTATE)
End Sub End Sub
#End Region ' DragRotate #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.SHELLNUMBERPARAM)
End Sub
#End Region ' MachParam
#End Region ' COMMANDS #End Region ' COMMANDS
End Class End Class
@@ -41,10 +41,10 @@ Public Class ShellNumberParamPanelVM
m_Type = Cathegories.SHELL_NUMBER m_Type = Cathegories.SHELL_NUMBER
m_sName = "Reduce Shell Number" m_sName = "Reduce Shell Number"
m_MachiningParamList = New List(Of MachiningParam)({New ShellNumberNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nShellNumberId, nPartId), m_MachiningParamList = New List(Of MachiningParam)({New ShellNumberNumericMachiningParam(MachiningParam.Params.SHELLNBRDIFFERENCE, nShellNumberId, nPartId, Me),
New ShellNumberNumericMachiningParam(MachiningParam.Params.SHELLNBRCOASTING, nShellNumberId, nPartId), New ShellNumberNumericMachiningParam(MachiningParam.Params.SHELLNBRCOASTING, nShellNumberId, nPartId, Me),
New ShellNumberNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPE, nShellNumberId, nPartId), New ShellNumberNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPE, nShellNumberId, nPartId, Me),
New ShellNumberNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nShellNumberId, nPartId)}) New ShellNumberNumericMachiningParam(MachiningParam.Params.SHELLNBRWIPEDIR, nShellNumberId, nPartId, Me)})
NotifyPropertyChanged(NameOf(MachiningParamList)) NotifyPropertyChanged(NameOf(MachiningParamList))
NotifyPropertyChanged(NameOf(sName)) NotifyPropertyChanged(NameOf(sName))
End Sub End Sub
@@ -164,8 +164,8 @@ Public Class ShellNumberNumericMachiningParam
' Definizione comandi ' Definizione comandi
Private m_cmdResetParam As ICommand Private m_cmdResetParam As ICommand
Sub New(Type As Params, nShellNumberId As Integer, nPartId As Integer) Sub New(Type As Params, nShellNumberId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
MyBase.New(Type) MyBase.New(Type, Cathegory)
Dim bReadFromPart As Boolean = False Dim bReadFromPart As Boolean = False
Select Case Type Select Case Type
Case Params.SHELLNBRDIFFERENCE Case Params.SHELLNBRDIFFERENCE
+6 -3
View File
@@ -71,11 +71,14 @@ Public Class MySimulation
Case MCH_SIM.OUTSTROKE Case MCH_SIM.OUTSTROKE
Dim sInfo As String = String.Empty Dim sInfo As String = String.Empty
EgtGetOutstrokeInfo(sInfo) EgtGetOutstrokeInfo(sInfo)
MessageBox.Show(EgtMsg(MSG_SIMULATIONPAGEUC + 2) & " " & sInfo, EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop) 'Extracorsa ... 'MessageBox.Show(EgtMsg(MSG_SIMULATIONPAGEUC + 2) & " " & sInfo, EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop) 'Extracorsa ...
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(MSG_SIMULATIONPAGEUC + 2) & " " & sInfo, EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop)
Case MCH_SIM.DIR_ERR Case MCH_SIM.DIR_ERR
MessageBox.Show(EgtMsg(MSG_SIMULATIONPAGEUC + 3), EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop) 'Direzione utensile irraggiungibile 'MessageBox.Show(EgtMsg(MSG_SIMULATIONPAGEUC + 3), EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop) 'Direzione utensile irraggiungibile
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(MSG_SIMULATIONPAGEUC + 3), EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop)
Case Else Case Else
MessageBox.Show(EgtMsg(MSG_SIMULATIONPAGEUC + 4), EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop) 'Errore 'MessageBox.Show(EgtMsg(MSG_SIMULATIONPAGEUC + 4), EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop) 'Errore
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(MSG_SIMULATIONPAGEUC + 4), EgtMsg(MSG_SIMULATIONPAGEUC + 5), MessageBoxButton.OK, MessageBoxImage.Stop)
End Select End Select
End If End If
' Aggiorno stato visualizzazione macchina (dipende anche da utensile) ' Aggiorno stato visualizzazione macchina (dipende anche da utensile)
+141 -133
View File
@@ -2,146 +2,154 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Width="310" xmlns:PrintApp="clr-namespace:Icarus"
VerticalAlignment="Center"> VerticalAlignment="Center">
<Grid.Resources> <Grid.Resources>
<SolidColorBrush x:Key="SliderThumb.Track.Background" Color="{StaticResource Icarus_Blue_Color}"/> <SolidColorBrush x:Key="SliderThumb.Track.Background" Color="{StaticResource Icarus_Blue_Color}"/>
<SolidColorBrush x:Key="SliderThumb.Track.Border" Color="{StaticResource Icarus_Blue_Color}"/> <SolidColorBrush x:Key="SliderThumb.Track.Border" Color="{StaticResource Icarus_Blue_Color}"/>
</Grid.Resources> </Grid.Resources>
<Grid.RowDefinitions> <Grid.ColumnDefinitions>
<RowDefinition Height="Auto"/> <ColumnDefinition Width="Auto"/>
<RowDefinition Height="1*"/> <ColumnDefinition Width="Auto"/>
</Grid.RowDefinitions> </Grid.ColumnDefinitions>
<Border Margin="0,0,0,2.5" <PrintApp:MachineViewPanelV DataContext="{StaticResource MachineViewPanelVM}"
Style="{StaticResource Title_Border}"> Margin="0,0,5,0"/>
<TextBlock Text="SIMULATION" <Grid Grid.Column="1"
Style="{StaticResource Title_TextBlock}"/> Width="310">
</Border> <Grid.RowDefinitions>
<Border Grid.Row="1" <RowDefinition Height="Auto"/>
Margin="0,2.5,0,0" <RowDefinition Height="1*"/>
Style="{StaticResource BottomGrayRow_Border}"> </Grid.RowDefinitions>
<Grid> <Border Margin="0,0,0,2.5"
<Grid.RowDefinitions> Style="{StaticResource Title_Border}">
<RowDefinition Height="Auto"/> <TextBlock Text="SIMULATION"
<RowDefinition Height="Auto"/> Style="{StaticResource Title_TextBlock}"/>
<RowDefinition Height="Auto"/> </Border>
</Grid.RowDefinitions> <Border Grid.Row="1"
Margin="0,2.5,0,0"
Style="{StaticResource BottomGrayRow_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<StackPanel DataContext="{Binding MySimul}" <StackPanel DataContext="{Binding MySimul}"
Margin="2.5"> Margin="2.5">
<UniformGrid Columns="3" <UniformGrid Columns="3"
Margin="0,2.5,0,2.5"> Margin="0,2.5,0,2.5">
<Button Grid.Column="0" <Button Grid.Column="0"
Grid.Row="3" Grid.Row="3"
Command="{Binding StepCommand}" Command="{Binding StepCommand}"
ToolTip="{Binding OneStepToolTip}" ToolTip="{Binding OneStepToolTip}"
Margin="2.5,0,2.5,0" Margin="2.5,0,2.5,0"
Style="{StaticResource SimulationPanel_Button}"> Style="{StaticResource SimulationPanel_Button}">
<Image Source="/Resources/SimulationPanel/PlayStep.png" <Image Source="/Resources/SimulationPanel/PlayStep.png"
Style="{StaticResource SimulationButton_Image}"/> Style="{StaticResource SimulationButton_Image}"/>
</Button> </Button>
<Button Grid.Column="1" <Button Grid.Column="1"
Grid.Row="3" Grid.Row="3"
Command="{Binding PlayPauseCommand}" Command="{Binding PlayPauseCommand}"
ToolTip="{Binding PlayPauseToolTip}" ToolTip="{Binding PlayPauseToolTip}"
Margin="2.5,0,2.5,0" Margin="2.5,0,2.5,0"
Style="{StaticResource SimulationPanel_Button}"> Style="{StaticResource SimulationPanel_Button}">
<Image Source="{Binding PlayPauseImage}" <Image Source="{Binding PlayPauseImage}"
Style="{StaticResource SimulationButton_Image}"/> Style="{StaticResource SimulationButton_Image}"/>
</Button> </Button>
<Button Grid.Column="2" Grid.Row="3" <Button Grid.Column="2" Grid.Row="3"
Command="{Binding StopCommand}" Command="{Binding StopCommand}"
ToolTip="{Binding StopHomeToolTip}" ToolTip="{Binding StopHomeToolTip}"
Margin="2.5,0,2.5,0" Margin="2.5,0,2.5,0"
Style="{StaticResource SimulationPanel_Button}"> Style="{StaticResource SimulationPanel_Button}">
<Image Source="/Resources/SimulationPanel/Stop.png" <Image Source="/Resources/SimulationPanel/Stop.png"
Style="{StaticResource SimulationButton_Image}"/> Style="{StaticResource SimulationButton_Image}"/>
</Button> </Button>
</UniformGrid> </UniformGrid>
<TextBlock Text="{Binding StatusMsg}" <TextBlock Text="{Binding StatusMsg}"
TextAlignment="Center" TextAlignment="Center"
Margin="2.5"
Style="{StaticResource Simulation_TextBlock}"/>
<Slider Name="SpeedSlider"
Foreground="{StaticResource Icarus_Gray}"
Value="{Binding SliderValue}"
Minimum="1"
Maximum="100"
TickPlacement="TopLeft"
TickFrequency="5"
Margin="2.5"
Style="{StaticResource LayerIndex_Slider}"/>
<Grid Margin="2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Border Style="{StaticResource SimulPanel_KeyValue_Border}">
<TextBlock Text="{Binding TName}"
Margin="2.5,2.5,2.5,2.5"
Style="{StaticResource Simulation_TextBlock}"/>
</Border>
<Border Grid.Column="1"
Style="{StaticResource SimulPanel_KeyValue_Border}">
<TextBlock Text="{Binding SValue}"
Margin="2.5,2.5,2.5,2.5"
Style="{StaticResource Simulation_TextBlock}"/>
</Border>
<Border Grid.Row="1"
Style="{StaticResource SimulPanel_KeyValue_Border}">
<TextBlock Text="{Binding GCode}"
Margin="2.5,2.5,2.5,2.5"
Style="{StaticResource Simulation_TextBlock}"/>
</Border>
<Border Grid.Column="1"
Grid.Row="1"
Style="{StaticResource SimulPanel_KeyValue_Border}">
<TextBlock Text="{Binding FValue}"
Margin="2.5,2.5,2.5,2.5"
Style="{StaticResource Simulation_TextBlock}"/>
</Border>
</Grid>
<ItemsControl ItemsSource="{Binding MachineAxisList}"
Margin="2.5" Margin="2.5"
BorderThickness="0" Style="{StaticResource Simulation_TextBlock}"/>
Padding="0"> <Slider Name="SpeedSlider"
<ItemsControl.ItemTemplate> Foreground="{StaticResource Icarus_Gray}"
<DataTemplate> Value="{Binding SliderValue}"
<Border Style="{StaticResource SimulPanel_KeyValue_Border}" Minimum="1"
Margin="0,1,0,1"> Maximum="100"
<Grid> TickPlacement="TopLeft"
<Grid.ColumnDefinitions> TickFrequency="5"
<ColumnDefinition Width="1*"/> Margin="2.5"
<ColumnDefinition Width="1*"/> Style="{StaticResource LayerIndex_Slider}"/>
</Grid.ColumnDefinitions> <Grid Margin="2.5">
<TextBlock Text="{Binding Token}" <Grid.ColumnDefinitions>
Style="{StaticResource Simulation_TextBlock}"/> <ColumnDefinition Width="1*"/>
<EgtWPFLib5:EgtTextBox Grid.Column="1" <ColumnDefinition Width="1*"/>
BorderThickness="0" </Grid.ColumnDefinitions>
Text="{Binding Value, UpdateSourceTrigger=Explicit}" <Grid.RowDefinitions>
IsReadOnly="{Binding IsReadOnlyAxesValue}" <RowDefinition Height="1*"/>
IsEnabled="{Binding IsEnabledAxesValue}" <RowDefinition Height="1*"/>
Style="{StaticResource SimulationPanel_Axes_TextBox}"> </Grid.RowDefinitions>
</EgtWPFLib5:EgtTextBox> <Border Style="{StaticResource SimulPanel_KeyValue_Border}">
</Grid> <TextBlock Text="{Binding TName}"
</Border> Margin="2.5,2.5,2.5,2.5"
</DataTemplate> Style="{StaticResource Simulation_TextBlock}"/>
</ItemsControl.ItemTemplate> </Border>
</ItemsControl> <Border Grid.Column="1"
</StackPanel> Style="{StaticResource SimulPanel_KeyValue_Border}">
<Button Grid.Row="3" <TextBlock Text="{Binding SValue}"
Command="{Binding Ok_Command}" Margin="2.5,2.5,2.5,2.5"
Style="{StaticResource RightPanel_HalfRound_Button}"> Style="{StaticResource Simulation_TextBlock}"/>
<Image Source="\Resources\Common\Ok.png" </Border>
Style="{StaticResource Button_Image}"/> <Border Grid.Row="1"
</Button> Style="{StaticResource SimulPanel_KeyValue_Border}">
</Grid> <TextBlock Text="{Binding GCode}"
</Border> Margin="2.5,2.5,2.5,2.5"
Style="{StaticResource Simulation_TextBlock}"/>
</Border>
<Border Grid.Column="1"
Grid.Row="1"
Style="{StaticResource SimulPanel_KeyValue_Border}">
<TextBlock Text="{Binding FValue}"
Margin="2.5,2.5,2.5,2.5"
Style="{StaticResource Simulation_TextBlock}"/>
</Border>
</Grid>
<ItemsControl ItemsSource="{Binding MachineAxisList}"
Margin="2.5"
BorderThickness="0"
Padding="0">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Style="{StaticResource SimulPanel_KeyValue_Border}"
Margin="0,1,0,1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Token}"
Style="{StaticResource Simulation_TextBlock}"/>
<EgtWPFLib5:EgtTextBox2 Grid.Column="1"
BorderThickness="0"
Text="{Binding Value, UpdateSourceTrigger=Explicit}"
IsReadOnly="{Binding IsReadOnlyAxesValue}"
IsEnabled="{Binding IsEnabledAxesValue}"
Style="{StaticResource SimulationPanel_Axes_TextBox}">
</EgtWPFLib5:EgtTextBox2>
</Grid>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
<Button Grid.Row="3"
Command="{Binding Ok_Command}"
Style="{StaticResource RightPanel_HalfRound_Button}">
<Image Source="\Resources\Common\Ok.png"
Style="{StaticResource Button_Image}"/>
</Button>
</Grid>
</Border>
</Grid>
</Grid> </Grid>
+11 -8
View File
@@ -52,6 +52,10 @@ Public Class SimulationPanelVM
' Creo riferimento a questa classe in OmagOFFICEMap ' Creo riferimento a questa classe in OmagOFFICEMap
Map.SetRefSimulationPanelVM(Me) Map.SetRefSimulationPanelVM(Me)
MySimul = New MySimulation MySimul = New MySimulation
' leggo vista macchina da ini e la imposto
Dim DefaultMachViewMode As Integer = GetMainPrivateProfileInt(S_SIMUL, K_MACHVIEWMODE, 3)
MySimul.SetMachLook(DefaultMachViewMode)
Map.refMachineViewPanelVM.RefreshSelViewSlider()
End Sub End Sub
#End Region ' CONSTRUCTOR #End Region ' CONSTRUCTOR
@@ -76,7 +80,6 @@ Public Class SimulationPanelVM
'Cambio la vista della scena 'Cambio la vista della scena
EgtGetGenericView(m_dPrevAngVertDegView, m_dPrevAngHorizDegView) EgtGetGenericView(m_dPrevAngVertDegView, m_dPrevAngHorizDegView)
EgtSetView(VT.ISO_SW, False) EgtSetView(VT.ISO_SW, False)
MySimul.SetMachLook(MCH_LOOK.ALL)
EgtSetMachineLook(MySimul.GetMachLook()) EgtSetMachineLook(MySimul.GetMachLook())
' Nascondo griglia ' Nascondo griglia
EgtSetGridShow(False, False) EgtSetGridShow(False, False)
@@ -85,10 +88,12 @@ Public Class SimulationPanelVM
If Not EgtSimInit() OrElse Not EgtSimStart() Then If Not EgtSimInit() OrElse Not EgtSimStart() Then
If EgtGetLastMachMgrErrorId() <> 0 Then If EgtGetLastMachMgrErrorId() <> 0 Then
Dim sErr As String = EgtGetLastMachMgrErrorString() Dim sErr As String = EgtGetLastMachMgrErrorString()
MessageBox.Show(sErr, EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Exclamation) 'MessageBox.Show(sErr, EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Exclamation)
Else EgtMessageBoxV.Show(Application.Current.MainWindow, sErr, EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Exclamation)
MessageBox.Show(EgtMsg(MSG_MESSAGEBOX + 10), EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Error) Else
End If 'MessageBox.Show(EgtMsg(MSG_MESSAGEBOX + 10), EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Error)
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(MSG_MESSAGEBOX + 10), EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Error)
End If
End If End If
' Imposto stato corrente ' Imposto stato corrente
MySimul.SetSimulationStatus(MCH_SIM_ST.UI_STOP) MySimul.SetSimulationStatus(MCH_SIM_ST.UI_STOP)
@@ -111,6 +116,7 @@ Public Class SimulationPanelVM
Map.refSliderManagerVM.SetLayerIndexIsEnabled(False) Map.refSliderManagerVM.SetLayerIndexIsEnabled(False)
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False) Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
Map.refInstrumentPanelVM.SetEdgeAnalysisIsEnabled(False) Map.refInstrumentPanelVM.SetEdgeAnalysisIsEnabled(False)
EgtDraw()
End Sub End Sub
Private Function LoadCurrTools() As Boolean Private Function LoadCurrTools() As Boolean
@@ -138,9 +144,6 @@ Public Class SimulationPanelVM
Map.refMyStatusBarVM.ClearOutputMessage() Map.refMyStatusBarVM.ClearOutputMessage()
' Mi assicuro di terminare la simulazione ' Mi assicuro di terminare la simulazione
MySimul.ResetSimulation() MySimul.ResetSimulation()
' Ripristino visibilità standard
MySimul.SetMachLook(MCH_LOOK.TAB)
EgtSetMachineLook(MySimul.GetMachLook())
'' Nascondo tutte le lavorazioni '' Nascondo tutte le lavorazioni
'CamAuto.HideAllMachinings() 'CamAuto.HideAllMachinings()
' Abilito impostazione modificato ' Abilito impostazione modificato
+59 -17
View File
@@ -15,21 +15,63 @@
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="{Binding ghTime}" <Grid HorizontalAlignment="Center"
Visibility="{Binding Time_Visibility}" Visibility="{Binding Time_Visibility}"
FontSize="35" Margin="0,0,0,5">
Style="{StaticResource SliceManager_TextBlock}"/> <Grid.ColumnDefinitions>
<TextBlock Grid.Row="1" <ColumnDefinition Width="Auto"/>
Text="{Binding ghDimensions}" <ColumnDefinition Width="1*"/>
FontSize="18" </Grid.ColumnDefinitions>
Margin="0,0,0,5" <Image Source="\Resources\SliceManager\Time.png"
Style="{StaticResource SliceManager_TextBlock}"/> Height="25"
<TextBlock Grid.Row="2" Width="25"
Text="{Binding ghMass}" Margin="0,0,2.5,0"
Visibility="{Binding Mass_Visibility}" Style="{StaticResource Button_Image}"/>
FontSize="18" <TextBlock Grid.Column="1"
Margin="0,0,0,5" Text="{Binding ghTime}"
Style="{StaticResource SliceManager_TextBlock}"/> FontSize="35"
Style="{StaticResource SliceManager_TextBlock}"/>
</Grid>
<Grid Grid.Row="1"
HorizontalAlignment="Center"
Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Source="\Resources\SliceManager\Dimensions.png"
Visibility="{Binding ghDimensions, Converter={StaticResource StringToVisibilityConverter}}"
Height="25"
Width="25"
Margin="0,0,2.5,0"
Style="{StaticResource Button_Image}"/>
<TextBlock Grid.Column="1"
Text="{Binding ghDimensions}"
FontSize="18"
HorizontalAlignment="Left"
Margin="2.5,0,0,0"
Style="{StaticResource SliceManager_TextBlock}"/>
</Grid>
<Grid Grid.Row="2"
HorizontalAlignment="Center"
Visibility="{Binding Mass_Visibility}"
Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Source="\Resources\SliceManager\Mass.png"
Height="25"
Width="25"
Margin="0,0,2.5,0"
Style="{StaticResource Button_Image}"/>
<TextBlock Grid.Column="1"
Text="{Binding ghMass}"
FontSize="18"
HorizontalAlignment="Left"
Margin="2.5,0,0,0"
Style="{StaticResource SliceManager_TextBlock}"/>
</Grid>
<TextBlock Grid.Row="3" <TextBlock Grid.Row="3"
Text="{Binding sLoadingText}" Text="{Binding sLoadingText}"
Visibility="{Binding Loading_Visibility}" Visibility="{Binding Loading_Visibility}"
@@ -76,12 +118,12 @@
Visibility="{Binding ModifyMode_Visibility}" Visibility="{Binding ModifyMode_Visibility}"
Margin="2.5,0,2.5,0" Margin="2.5,0,2.5,0"
Style="{StaticResource SliceMannager_Button}"/> Style="{StaticResource SliceMannager_Button}"/>
<Button Content="Update" <!--<Button Content="Update"
Command="{Binding Update_Command}" Command="{Binding Update_Command}"
IsEnabled="{Binding Buttons_IsEnabled}" IsEnabled="{Binding Buttons_IsEnabled}"
Visibility="{Binding SliceMode_Visibility}" Visibility="{Binding SliceMode_Visibility}"
Margin="2.5,0,2.5,0" Margin="2.5,0,2.5,0"
Style="{StaticResource SliceMannager_Button}"/> Style="{StaticResource SliceMannager_Button}"/>-->
<Button Content="Generate" <Button Content="Generate"
Command="{Binding Generate_Command}" Command="{Binding Generate_Command}"
IsEnabled="{Binding Buttons_IsEnabled}" IsEnabled="{Binding Buttons_IsEnabled}"

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