Compare commits

...

161 Commits

Author SHA1 Message Date
Nicola Pievani 0fa0d4e612 Gestione Engrave in ImportDXF 2024-02-14 18:57:19 +01:00
Nicola Pievani 600da701b1 Merge commit 'c534b459aeb33e06b2f2f41d6eee978d92ab26b9' into develop 2024-02-14 13:12:40 +01:00
Nicola Pievani c534b459ae Gestione cambio nome lastra nel MachGroup 2024-02-14 13:12:28 +01:00
Nicola Pievani d7522c4eb8 Aggiornamento versione 2024-02-13 15:14:45 +01:00
Demetrio Cassarino 1f7a918ac2 migliorata gestione textbox 2024-02-13 15:11:27 +01:00
Nicola Pievani e4a87dc475 Gestione Style ComboBox Default 2024-02-13 14:37:49 +01:00
Nicola Pievani 3a76d6c91a Modificata disposizione comandi 2024-01-24 11:55:47 +01:00
Nicola Pievani 4d691cee62 Merge commit 'ce3ff4e3d65711fa19ff66a54ce0b694d52012fe' into develop 2024-01-24 09:33:13 +01:00
Dario Sassi ce3ff4e3d6 OmagOFFICE :
- correzione inizializzazione lavorazioni compatibili con materiale e spessore.
2024-01-23 12:14:10 +01:00
Nicola Pievani 3d1d62398a Aggiornamento versione 2.6a1 2024-01-22 15:38:54 +01:00
Nicola Pievani 91f86f8682 Aggiornamento versione 2024-01-22 15:05:12 +01:00
Nicola Pievani 7d457be9c5 Merge commit '3e097b81a644cb2b44ebfd494e20b56d1dcdd099' into develop 2023-12-05 16:28:55 +01:00
Nicola Pievani 3e097b81a6 Gestione sfondo ComboBoxList 2023-12-05 16:27:08 +01:00
Nicola Pievani 155d9615b0 Migliorata importazione DXF 2023-11-28 09:49:56 +01:00
Nicola Pievani 2864f6fd16 Merge branch 'develop' 2023-11-28 09:36:01 +01:00
Demetrio Cassarino 19eb5b2110 modifica treeview path per tooldb 2023-11-07 08:34:08 +01:00
Demetrio Cassarino b171f05956 modifica treeview path 2023-11-06 17:27:56 +01:00
Demetrio Cassarino 14bf3ae7e2 aggiunta grafica datagrid 2023-11-06 12:15:48 +01:00
Demetrio Cassarino 8df9640d96 Merge branch 'develop' of https://gitlab.steamware.net/egalware-cadcam/interfacce/omagoffice into develop 2023-11-06 12:02:13 +01:00
Demetrio Cassarino 9f7b62502c sistemate proprietà borderthickness 2023-11-06 12:01:08 +01:00
Nicola Pievani 8e9a3cdb73 Calcolo del tempo di esecizione operazioni 2023-11-03 12:21:15 +01:00
Nicola Pievani f47c365db2 Inserite icone nell'elenco delle lavorazioni 2023-10-27 11:36:32 +02:00
Nicola Pievani ccdb690225 Aggiornati messaggi 2023-10-26 16:13:55 +02:00
Nicola Pievani 7ac6fb42c6 Merge commit '1ddb8a27fb907505684da52e2b4aacc494d36192' into develop 2023-10-24 18:09:36 +02:00
Nicola Pievani 1ddb8a27fb Aggiunto comando "Muovi" per i tagli diretti 2023-10-24 17:37:11 +02:00
Nicola Pievani 41ca5127c6 Merge commit '6fc916051c7939ae1e0d42d2919eeb126499becc' into Features/Add_Single_CUT 2023-10-23 18:11:56 +02:00
Nicola Pievani 860823c929 Nuova impaginazione dati Split, correzione apertura file Log 2023-10-23 18:11:29 +02:00
Nicola Pievani 9cd0b4aefa Gestione Selezione multipla da Scena 2023-10-20 14:39:14 +02:00
Nicola Pievani 6fc916051c Gestione colore testi Compo 2023-10-19 18:08:45 +02:00
Nicola Pievani 8df36d2768 Aggiornata pagina CSV 2023-10-19 17:20:33 +02:00
Nicola Pievani 997ca13934 Merge commit '9b6761af37c0801aa8825592aed0941c2d3d5238' into Features/Manage_Icons 2023-10-19 14:55:22 +02:00
Nicola Pievani 9b6761af37 Gestione comando Escape per interrompere 2023-10-19 11:05:08 +02:00
Nicola Pievani 732c05fd9c Creazione taglio SplitCut da contorno pezzo 2023-10-18 13:38:40 +02:00
Nicola Pievani 71372bf51a Merge commit '30cc0e29e4b79b951543f4d56293bbffae853233' into Features/Add_Single_CUT 2023-10-18 10:34:02 +02:00
Nicola Pievani a63089a0c8 Gestione eliminazione tagli diretti 2023-10-06 17:43:10 +02:00
Nicola Pievani 5d6c666128 Inizio inserimento tagli separazione in Splitting 2023-10-05 18:45:39 +02:00
Demetrio Cassarino 30cc0e29e4 Aggiornamento label grafica 2023-10-04 08:45:15 +02:00
Demetrio Cassarino 882f7ba82f Creazioen label apertura file log 2023-10-03 17:35:40 +02:00
Demetrio Cassarino 1bf0979c94 Sostituzione ioniczip con dotnetzip 2023-10-03 16:59:47 +02:00
Demetrio Cassarino f5bb24a4db Merge remote-tracking branch 'origin/Features/Manage_Icons' into Demetrio/Manage_Color 2023-10-03 11:33:45 +02:00
Demetrio Cassarino 470a88bd95 Modifica colore isSelected datagrid 2023-10-03 11:32:17 +02:00
Nicola Pievani b63a7f3046 Merge commit '7bc6619e92d7d29e4fc0429535b6542c5f6c5420' into Features/Manage_Icons 2023-10-02 15:51:49 +02:00
Demetrio Cassarino 7bc6619e92 Merge remote-tracking branch 'origin/Features/Manage_Icons' into Demetrio/Manage_Color 2023-09-25 11:05:57 +02:00
Nicola Pievani a39cfeb4dd Gestione pagina DB waterjet 2023-09-22 19:15:31 +02:00
Demetrio Cassarino 3a71247913 Merge commit '422538b5fe9525a13892a7caa9d647545b7a1396' into Demetrio/Manage_Color 2023-09-21 08:33:05 +02:00
Nicola Pievani 422538b5fe Migliorata grafica finestre 2023-09-20 18:21:08 +02:00
Nicola Pievani ab32986539 Merge remote-tracking branch 'origin/Demetrio/Manage_Color' into Features/Manage_Icons 2023-09-19 17:53:49 +02:00
Demetrio Cassarino 9eb196b942 Aggiunta stile listbox 2023-09-19 17:26:22 +02:00
Demetrio Cassarino ab87952edb Merge remote-tracking branch 'origin/Features/Manage_Icons' into Demetrio/Manage_Color 2023-09-19 15:56:00 +02:00
Nicola Pievani b59fe318cf Aggiunta finestra SetUpWindow 2023-09-19 15:52:48 +02:00
Nicola Pievani 83c63bd583 Cambio versione 2023-09-18 18:13:46 +02:00
Nicola Pievani cca2a923ee Merge remote-tracking branch 'origin/Demetrio/Manage_Color' into Features/Manage_Icons 2023-09-18 18:07:26 +02:00
Nicola Pievani a6e9747da8 Gestione comandi Import/Export/Reload 2023-09-18 18:07:07 +02:00
Demetrio Cassarino 65f8d69361 Gestione interfaccia 2023-09-18 17:56:38 +02:00
Demetrio Cassarino f3b7f4fd04 Merge remote-tracking branch 'origin/Features/Manage_Icons' into Demetrio/Manage_Color 2023-09-15 16:47:06 +02:00
Nicola Pievani 2d77634314 Gestione dimensione bottone Mach/Tool Window 2023-09-15 16:40:36 +02:00
Nicola Pievani bd79698a6e Merge remote-tracking branch 'origin/Demetrio/Manage_Color' into Features/Manage_Icons 2023-09-15 16:39:40 +02:00
Demetrio Cassarino efe5199258 nuovi parametri datagrid 2023-09-15 16:38:26 +02:00
Nicola Pievani 3171b3d6ea Gestione ToolDBWindow 2023-09-15 16:38:16 +02:00
Demetrio Cassarino 9eb75eb8f9 Merge remote-tracking branch 'origin/Features/Manage_Icons' into Demetrio/Manage_Color 2023-09-15 11:42:49 +02:00
Nicola Pievani edcbec6597 Aggiunte nuove icone 2023-09-14 18:08:45 +02:00
Nicola Pievani d083b465fd Merge remote-tracking branch 'origin/Demetrio/Manage_Color' into Features/Manage_Icons 2023-09-14 17:44:19 +02:00
Nicola Pievani 5327830ea7 Gestione icone MachDB 2023-09-14 17:43:59 +02:00
Demetrio Cassarino c06eddcd12 Nuovi parametri grafica 2023-09-14 17:39:00 +02:00
Demetrio Cassarino 83388c0b97 Gestione pagina SawingStone 2023-09-13 15:01:08 +02:00
Demetrio Cassarino 72a6ca774e Merge commit 'f7f321fba7d98af5959bbdb6d793754e571fb61c' into Demetrio/Manage_Color 2023-09-12 15:38:10 +02:00
Nicola Pievani f7f321fba7 Definizione style nuovi parametri EgtTextBox 2023-09-12 15:26:57 +02:00
Nicola Pievani eba9686148 Inizio gestione colori GENERAL EgtTextBox 2023-09-07 18:14:34 +02:00
Nicola Pievani 41f5b6ba70 Gestione colori interfaccia MachiningDB 2023-09-07 14:59:39 +02:00
Nicola Pievani 66685b7e4f Inizio preparazione interfaccia scura 2023-08-24 17:32:14 +02:00
Nicola Pievani fd6da1f694 Merge commit 'ee85507b11dd60950c6e7a5af9b97a8439d0a259' 2023-08-07 09:08:04 +02:00
Nicola Pievani e91b0e3087 Merge commit 'ee85507b11dd60950c6e7a5af9b97a8439d0a259' into Features/Manage_Icons 2023-08-03 19:14:54 +02:00
Nicola Pievani ee85507b11 Correzione a seguito del merge con il Master 2023-08-03 19:14:30 +02:00
Nicola Pievani f9c184a81c Merge commit '6545afb8311769aa04c050d3605318ea667a7631' into develop 2023-08-03 19:10:41 +02:00
Nicola Pievani 1fb59b293f Migliorata posizione punti SpotReg 2023-08-03 15:27:06 +02:00
Nicola Pievani 3d93d98603 Migliorata gestione Layer per SpotReg 2023-08-02 17:19:23 +02:00
Nicola Pievani 1ea76d1caa Inserimento SpotReg nel grezzo 2023-07-31 16:52:48 +02:00
Nicola Pievani 4bea9d2483 Migliorato dizionario 2023-06-29 18:46:23 +02:00
Nicola Pievani eaf4a836fa Rimosso FloatingManager da OptionPanel 2023-06-13 15:27:53 +02:00
Nicola Pievani a5b9957c76 Modifica stile interfaccia (Colore e icone) 2023-06-13 13:03:54 +02:00
Nicola Pievani b8b92e637c Merge commit '83b1b5b5318e305cedc042ddb5e1ab61d988190d' into Features/Manage_Icons 2023-06-05 15:57:27 +02:00
Nicola Pievani 83b1b5b531 Aggiornamento programma 2023-06-05 15:57:07 +02:00
Emmanuele Sassi 6545afb831 - modificate funzioni gestione progetto da sub a function 2023-04-11 09:52:28 +02:00
Nicola Pievani c530f172bb Merge branch 'develop' 2023-03-21 15:59:16 +01:00
Nicola Pievani 98dcbc65e7 Cambio versione e milgiorata gestione SplitRaws 2023-03-21 15:58:23 +01:00
Nicola Pievani bc92139a3d Merge branch 'develop' 2023-02-28 17:12:08 +01:00
Nicola Pievani a88c804370 Merge branch 'master' into develop 2023-02-28 17:11:26 +01:00
NicolaP ce21ef3a71 Aggiunta icona Quality 2023-02-20 19:46:19 +01:00
NicolaP 15021a7d0f Merge branch 'develop' into Features/Manage_Icons 2023-02-20 19:42:15 +01:00
NicolaP 7c21db7055 Merge branch 'Features/Manage_Quality_WaterJet' into develop 2023-02-20 19:22:02 +01:00
NicolaP 4c142df7ef Gestione qualità tagli WJ in SplitPage 2023-02-20 19:21:21 +01:00
NicolaP 72f41bacab Migliorata gestione salvataggio lavorazioni
(cherry picked from commit c01972f99e)
2023-02-20 13:02:09 +01:00
NicolaP b91dc8972d Aggiunte icone nella pagina Split 2023-02-20 12:55:07 +01:00
NicolaP c01972f99e Migliorata gestione salvataggio lavorazioni 2023-02-20 10:08:54 +01:00
NicolaP 5fe6b03a89 Merge branch 'develop' 2023-02-15 13:21:08 +01:00
NicolaP be30ebadbf Migliorata spaziatura nella pagina Split 2023-02-15 12:52:40 +01:00
NicolaP e67cf50f50 Merge branch 'Features/Set_CurrSawing' into develop 2023-02-15 12:30:41 +01:00
NicolaP f82a6495bd Gestione setting lavorazioni correnti di Office 2023-02-15 12:30:07 +01:00
NicolaP 9168da183e Merge branch 'develop' 2023-02-13 18:55:13 +01:00
NicolaP c6262613c8 Aggiorno dati di stime di lavoro 2023-02-13 15:37:06 +01:00
NicolaP 31edd150bd Aggiunti commenti per preprare aggiornamento SelezionaLavorazione 2023-02-13 13:08:47 +01:00
NicolaP 9fdd7b4b77 Migliorata gestione stampa progetto corrente 2023-02-13 10:52:40 +01:00
NicolaP 0ed3efed11 Merge branch 'develop' 2023-02-10 14:05:02 +01:00
NicolaP b0bae3af98 Correzione gestione parcheggio 2023-02-10 13:25:50 +01:00
NicolaP 235ec10a2d Correzione non visualizzazione Magnetico in VeinMatch 2023-02-09 16:22:11 +01:00
NicolaP 66061ad262 Rimosso pulsante magnetico in VeinMatch 2023-02-09 15:10:07 +01:00
NicolaP 3e99eb1a8f Merge branch 'Features/Print_LayOut_Machine' into develop 2023-02-09 10:00:25 +01:00
NicolaP 753ff7b4f1 Recupero dimensione corrente orgetto per stampa 2023-02-09 09:49:04 +01:00
NicolaP 1edfe486cb Migliorato rapporto di stsampa immagini 2023-02-08 19:36:09 +01:00
NicolaP 7190993f11 Aggiunto bottone per stampa layout corrente 2023-02-08 18:13:12 +01:00
NicolaP 249289144f Merge branch 'master' into develop 2023-02-08 14:51:06 +01:00
NicolaP 36ee5e4352 Cambio versione 2.5b1 2023-02-03 16:32:25 +01:00
NicolaP 147099b702 Merge branch 'develop' 2023-02-03 16:29:01 +01:00
NicolaP dd81384bb8 Migliorata gestione rotazione in park 2023-01-30 15:38:13 +01:00
NicolaP 9cf61d691d Gestione rotazione pezzi con Drag 2023-01-20 12:24:10 +01:00
NicolaP 358c5df390 Merge remote-tracking branch 'origin/HEAD' 2023-01-18 18:09:32 +01:00
NicolaP ccaec9af5a Merge branch 'develop' 2023-01-18 18:04:12 +01:00
NicolaP 1dbecd0083 Gestione allungamento tagli curvi 2023-01-18 18:03:57 +01:00
DarioS 11c6f95378 OmagOFFICE :
- aggiornamento info programma.
2023-01-18 09:17:16 +01:00
NicolaP 3604a85cc1 Merge branch 'develop' 2023-01-05 18:58:40 +01:00
NicolaP 3aaaa0fcb6 Lettura StarEndModifyOnIntCorner da file macchina, ver 2.5a1 2023-01-05 18:58:04 +01:00
NicolaP 52da2bc2c9 Merge branch 'develop' 2022-12-07 19:55:29 +01:00
NicolaP 4de476907f Migliorata gestione ventose 2022-12-07 19:55:06 +01:00
NicolaP 07bcb7479b Merge branch 'master' into develop 2022-11-09 10:32:11 +01:00
NicolaP 92818aafd4 Cambio versione 2.4k1 2022-11-09 10:31:37 +01:00
NicolaP f4326b27b7 Merge branch 'develop' 2022-11-09 10:29:46 +01:00
NicolaP 1f4a0afd75 Merge commit '565ba3c7564c5c4610b99ac1b6460b627f3a7708' into develop 2022-11-07 18:19:27 +01:00
NicolaP 565ba3c756 Gestione primo Engrave inclinato 2022-11-07 18:19:11 +01:00
NicolaP 7ab4e56594 Merge branch 'Features/StartEnd_Modify_On_Internal_Corner' into develop 2022-11-07 17:16:11 +01:00
NicolaP 697fb4c730 Gestioena modifica tagli su angoli interni 2022-11-07 17:09:47 +01:00
NicolaP 4f5804206d Merge branch 'master' into develop 2022-10-24 09:48:15 +02:00
NicolaP 58828cf846 Merge branch 'master' of https://gitlab.steamware.net/egaltech/omagoffice 2022-10-24 09:47:44 +02:00
NicolaP 36138ec459 Merge branch 'develop' 2022-10-24 09:43:54 +02:00
NicolaP 7fc49b0d1d Merge branch 'master' into develop 2022-10-24 09:39:13 +02:00
NicolaP cf9379272c Merge branch 'develop' 2022-10-24 09:38:49 +02:00
NicolaP cd6714752e Cambio versione 2.4j1 2022-10-24 09:37:48 +02:00
DarioS 4c62410c20 OmagOFFICE 2.4j1 :
- ricompilazione con cambio versione.
2022-10-24 08:48:12 +02:00
NicolaP b017fef2b9 Merge branch 'develop' 2022-10-17 14:39:17 +02:00
NicolaP 17785afc20 Merge branch 'Features/Manage_Raw' into develop 2022-10-17 14:39:04 +02:00
NicolaP 62953c981e Correzione creazione nuovo grezzo in macchina 2022-10-17 14:36:08 +02:00
NicolaP c3a3057420 Merge branch 'master' into develop 2022-10-06 16:15:58 +02:00
NicolaP 8fa7b6188c Cambio versione: 2.4i4 2022-10-06 13:05:43 +02:00
NicolaP f3770dfc7c Eliinazione caratteri speciali da perocrosi file 2022-10-06 11:11:43 +02:00
NicolaP 1358cef04a Merge branch 'develop' 2022-10-05 19:57:08 +02:00
NicolaP e0fe4d9444 Migliorata abilitazione bottoni gruppi di lavoro 2022-10-05 19:39:48 +02:00
NicolaP 05186db728 Merge remote-tracking branch 'origin/HEAD' into develop 2022-10-05 10:17:32 +02:00
DarioS 5b21559e56 OmagOFFICE 2.4i3 :
- modifiche per gestione multidirettori di base delle macchine.
2022-10-04 11:16:17 +02:00
NicolaP 13a774429e Merge branch 'develop' 2022-09-19 15:08:51 +02:00
NicolaP bde6c38733 Migliorata gestione lavorazioni con ponticelli 2022-09-19 15:08:35 +02:00
NicolaP e3beaf2aa3 Merge branch 'develop' 2022-09-15 12:10:23 +02:00
NicolaP deb8b34402 Gestione eliminazione Pezzi/Ponticelli, migliorata gestione reset ponticelli 2022-09-15 12:10:03 +02:00
NicolaP 49311579ec Merge branch 'develop' 2022-09-15 11:27:01 +02:00
NicolaP 589b7211ab Migliorata gestione selezione lati per ponticelli 2022-09-15 11:26:14 +02:00
NicolaP 892806d32a Merge remote-tracking branch 'origin/master' into develop 2022-09-15 11:21:12 +02:00
DarioS 914a89014e OmagOFFICE :
- aggiunte altre info per Bridges.
2022-09-14 10:11:55 +02:00
NicolaP 3043a717d3 Merge branch 'develop' 2022-09-13 15:40:13 +02:00
NicolaP 8a3b52e082 Migliorato caricamento direttori macchine 2022-09-13 15:39:52 +02:00
NicolaP f4126dba7a Reset Bridges se muovo grezzo 2022-09-13 15:32:07 +02:00
NicolaP 6009db35cd Merge branch 'develop' 2022-09-13 12:08:32 +02:00
NicolaP 4a42374891 Migliorata gestione Bridges 2022-09-13 12:08:05 +02:00
NicolaP 64c6a6cf9b Merge remote-tracking branch 'origin/master' into develop 2022-09-13 11:36:27 +02:00
268 changed files with 44173 additions and 2917 deletions
+27 -27
View File
@@ -3,60 +3,60 @@
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"
DockPanel.Dock="Bottom"> DockPanel.Dock="Bottom">
<Grid Visibility="{Binding Top_Visibility}" <Grid Visibility="{Binding Top_Visibility}"
Margin="0,0,0,5"> Margin="0,0,0,5">
<TextBlock Text="{Binding TopMsg}"/> <TextBlock Text="{Binding TopMsg}" Foreground="{DynamicResource Omag_White}"/>
<CheckBox IsChecked="{Binding TopIsChecked}" <CheckBox IsChecked="{Binding TopIsChecked}"
HorizontalAlignment="Right" Margin="6,0,6,0"/> HorizontalAlignment="Right" Margin="6,0,6,0"/>
</Grid> </Grid>
<Button Content="{Binding TrfDataMsg}" <Button Content="{Binding TrfDataMsg}"
Command="{Binding TrfData_Command}" Command="{Binding TrfData_Command}"
Visibility="{Binding TrfData_Visibility}" Visibility="{Binding TrfData_Visibility}"
Margin="0,0,0,5" Margin="0,0,0,5"
Style="{StaticResource CompoWindow_Button}"/> Style="{StaticResource CompoWindow_Button}"/>
<Button Content="{Binding CsvDataMsg}" <Button Content="{Binding CsvDataMsg}"
Command="{Binding CsvData_Command}" Command="{Binding CsvData_Command}"
Visibility="{Binding CsvData_Visibility}" Visibility="{Binding CsvData_Visibility}"
Margin="0,0,0,5" Margin="0,0,0,5"
Style="{StaticResource CompoWindow_Button}"/> Style="{StaticResource CompoWindow_Button}"/>
<Grid Visibility="{Binding PartName_Visibility}" <Grid Visibility="{Binding PartName_Visibility}"
Margin="0,0,0,5"> Margin="0,0,0,5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding PartNameMsg}" Grid.Column="0"/> <TextBlock Text="{Binding PartNameMsg}" Grid.Column="0" Foreground="{DynamicResource Omag_White}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding PartName}" Grid.Column="1" Width="130"/> <EgtWPFLib5:EgtTextBox Text="{Binding PartName}" Grid.Column="1" Width="130"/>
</Grid> </Grid>
<Grid Visibility="{Binding PartNum_Visibility}" <Grid Visibility="{Binding PartNum_Visibility}"
Margin="0,0,0,5"> Margin="0,0,0,5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding PartNumMsg}"/> <TextBlock Text="{Binding PartNumMsg}" Foreground="{DynamicResource Omag_White}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding PartNum}" Grid.Column="1" Width="60"/> <EgtWPFLib5:EgtTextBox Text="{Binding PartNum}" Grid.Column="1" Width="60"/>
</Grid> </Grid>
<UniformGrid Columns="2" <UniformGrid Columns="2"
Margin="0,0,0,5" Margin="0,0,0,5"
Visibility="{Binding OkExit_Visibility}"> Visibility="{Binding OkExit_Visibility}">
<Button Content="{Binding OkMsg}" <Button Content="{Binding OkMsg}"
Command="{Binding OkCommand}" Command="{Binding OkCommand}"
Style="{StaticResource CompoWindow_Button}"/> Style="{StaticResource CompoWindow_Button}"/>
<Button Content="{Binding ExitMsg}" IsCancel="True" <Button Content="{Binding ExitMsg}" IsCancel="True"
Style="{StaticResource CompoWindow_Button}"/> Style="{StaticResource CompoWindow_Button}"/>
</UniformGrid> </UniformGrid>
</StackPanel> </StackPanel>
+63 -63
View File
@@ -4,13 +4,13 @@
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE" xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"> xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
<DockPanel> <DockPanel>
<UniformGrid Columns="3" <UniformGrid Columns="3"
DockPanel.Dock="Top" DockPanel.Dock="Top"
Visibility="{Binding SideEntity_Visibility}" Visibility="{Binding SideEntity_Visibility}"
Margin="0,0,0,0"> Margin="0,0,0,0">
<!--Inclina lati--> <!--Inclina lati-->
<ToggleButton <ToggleButton
IsChecked="{Binding SideAngle_IsChecked}" IsChecked="{Binding SideAngle_IsChecked}"
@@ -21,7 +21,7 @@
<AccessText TextWrapping="Wrap" Text="{Binding SideAngleMsg}"/> <AccessText TextWrapping="Wrap" Text="{Binding SideAngleMsg}"/>
</ToggleButton.Content> </ToggleButton.Content>
</ToggleButton> </ToggleButton>
<!--FiloTop--> <!--FiloTop-->
<!--<ToggleButton Padding="0" <!--<ToggleButton Padding="0"
IsChecked="{Binding FiloTop_IsChecked}" IsChecked="{Binding FiloTop_IsChecked}"
@@ -32,7 +32,7 @@
<AccessText TextWrapping="Wrap" Text="{Binding FiloTopMsg}"/> <AccessText TextWrapping="Wrap" Text="{Binding FiloTopMsg}"/>
</ToggleButton.Content> </ToggleButton.Content>
</ToggleButton>--> </ToggleButton>-->
<!--Incidi--> <!--Incidi-->
<ToggleButton Padding="0" <ToggleButton Padding="0"
IsChecked="{Binding Engrave_IsChecked}" IsChecked="{Binding Engrave_IsChecked}"
@@ -50,100 +50,100 @@
Margin="1.75,0,0,0" Margin="1.75,0,0,0"
IsEnabled="{Binding Drip_IsEnabled}"> IsEnabled="{Binding Drip_IsEnabled}">
<ToggleButton.Content> <ToggleButton.Content>
<AccessText TextWrapping="Wrap" Text="{Binding DripMsg}" /> <AccessText TextWrapping="Wrap" Text="{Binding DripMsg}" />
</ToggleButton.Content> </ToggleButton.Content>
</ToggleButton> </ToggleButton>
</UniformGrid> </UniformGrid>
<StackPanel DockPanel.Dock="Bottom"> <StackPanel DockPanel.Dock="Bottom">
<ContentControl Content="{Binding CompoManagerControl, <ContentControl Content="{Binding CompoManagerControl,
UpdateSourceTrigger=PropertyChanged}" UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding CompoManagerControl_Visibility}"/> Visibility="{Binding CompoManagerControl_Visibility}"/>
<Button Command="{Binding BackCommand}" <Button Command="{Binding BackCommand}"
Visibility="{Binding Back_Visibility}" Visibility="{Binding Back_Visibility}"
Style="{StaticResource CompoWindow_Button}" Style="{StaticResource CompoWindow_Button}"
Focusable="False" Focusable="False"
Margin="0,0,0,5"> Margin="0,0,0,5">
<Image Source="/Resources/MachiningTab/BackArrow.png"/> <Image Source="/Resources/MachiningTab/BackArrow.png"/>
</Button> </Button>
</StackPanel>
<Grid> </StackPanel>
<ContentControl VerticalAlignment="Center" <Grid>
<ContentControl VerticalAlignment="Center"
Content="{Binding SideEntityControl}"/> Content="{Binding SideEntityControl}"/>
<StackPanel VerticalAlignment="Center" <StackPanel VerticalAlignment="Center"
Visibility="{Binding Measure_Visibility}"> Visibility="{Binding Measure_Visibility}">
<ItemsControl ItemsSource="{Binding CompoParamList}"> <ItemsControl ItemsSource="{Binding CompoParamList}">
<ItemsControl.Resources> <ItemsControl.Resources>
<DataTemplate DataType="{x:Type OmagOFFICE:TextParamItem}"> <DataTemplate DataType="{x:Type OmagOFFICE:TextParamItem}">
<Grid Margin="0,0,0,5"> <Grid Margin="0,0,0,5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}" VerticalAlignment="Center"/> <TextBlock Text="{Binding Name}" VerticalAlignment="Center" Foreground="{DynamicResource Omag_White}"/>
<EgtWPFLib5:EgtTextBox Grid.Column="1" <EgtWPFLib5:EgtTextBox Grid.Column="1"
Text="{Binding Value}" IsEnabled="{Binding IsEnable}"/> Text="{Binding Value}" IsEnabled="{Binding IsEnable}"/>
</Grid> </Grid>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type OmagOFFICE:CheckParamItem}"> <DataTemplate DataType="{x:Type OmagOFFICE:CheckParamItem}">
<Grid Margin="0,0,0,5"> <Grid Margin="0,0,0,5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}"/> <TextBlock Text="{Binding Name}" Foreground="{DynamicResource Omag_White}"/>
<CheckBox Grid.Column="1" <CheckBox Grid.Column="1"
IsChecked="{Binding Value}" IsEnabled="{Binding IsEnable}" IsChecked="{Binding Value}" IsEnabled="{Binding IsEnable}"
HorizontalAlignment="Center"/> HorizontalAlignment="Center"/>
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</ItemsControl.Resources> </ItemsControl.Resources>
<ItemsControl.ItemsPanel> <ItemsControl.ItemsPanel>
<ItemsPanelTemplate> <ItemsPanelTemplate>
<StackPanel/> <StackPanel/>
</ItemsPanelTemplate> </ItemsPanelTemplate>
</ItemsControl.ItemsPanel> </ItemsControl.ItemsPanel>
</ItemsControl> </ItemsControl>
<TextBlock Text="{Binding OutputMessage}" <TextBlock Text="{Binding OutputMessage}"
Foreground="{Binding MsgColor}" Foreground="{Binding MsgColor}"
TextWrapping="Wrap" TextWrapping="Wrap"
TextAlignment="Justify" TextAlignment="Justify"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<Button Content="{Binding InternalMsg}" <Button Content="{Binding InternalMsg}"
Command="{Binding InternalCommand}" Command="{Binding InternalCommand}"
Visibility="{Binding Internal_Visibility}" Visibility="{Binding Internal_Visibility}"
Style="{StaticResource CompoWindow_Button}"/> Style="{StaticResource CompoWindow_Button}"/>
<Button Content="{Binding AlzAndFrontMsg}" <Button Content="{Binding AlzAndFrontMsg}"
Command="{Binding AlzAndFrontCommand}" Command="{Binding AlzAndFrontCommand}"
Visibility="{Binding AlzAndFront_Visibility}" Visibility="{Binding AlzAndFront_Visibility}"
Style="{StaticResource CompoWindow_Button}"/> Style="{StaticResource CompoWindow_Button}"/>
<UniformGrid Columns="2" <UniformGrid Columns="2"
Margin="0,0,0,5" Margin="0,0,0,5"
Visibility="{Binding AddRemove_Visibility}"> Visibility="{Binding AddRemove_Visibility}">
<Button Content="{Binding AddMsg}" <Button Content="{Binding AddMsg}"
Command="{Binding AddCommand}" Command="{Binding AddCommand}"
Style="{StaticResource CompoWindow_Button}"/> Style="{StaticResource CompoWindow_Button}"/>
<Button Content="{Binding CancelMsg}" <Button Content="{Binding CancelMsg}"
Command="{Binding CancelCommand}" Command="{Binding CancelCommand}"
Style="{StaticResource CompoWindow_Button}"/> Style="{StaticResource CompoWindow_Button}"/>
</UniformGrid> </UniformGrid>
</StackPanel> </StackPanel>
</Grid> </Grid>
</DockPanel> </DockPanel>
</UserControl> </UserControl>
+2
View File
@@ -104,6 +104,7 @@ Module ConstIni
Public Const K_ENGRAVENUMBER2 As String = "EngraveNumber2" Public Const K_ENGRAVENUMBER2 As String = "EngraveNumber2"
Public Const K_ENGRAVEDEPTH As String = "EngraveDepth" Public Const K_ENGRAVEDEPTH As String = "EngraveDepth"
Public Const K_ENGRAVESHORT As String = "EngraveShort" Public Const K_ENGRAVESHORT As String = "EngraveShort"
Public Const K_ENGRAVEANGLE As String = "EngraveAngle"
Public Const K_ENGRAVEDEPTH2 As String = "EngraveDepth2" Public Const K_ENGRAVEDEPTH2 As String = "EngraveDepth2"
Public Const K_DRIPOFFSET As String = "DripOffset" Public Const K_DRIPOFFSET As String = "DripOffset"
Public Const K_DRIPOFFSET2 As String = "DripOffset2" Public Const K_DRIPOFFSET2 As String = "DripOffset2"
@@ -125,6 +126,7 @@ Module ConstIni
Public Const K_AUTOMATICOPTIMIZE As String = "AutomaticOptimize" Public Const K_AUTOMATICOPTIMIZE As String = "AutomaticOptimize"
Public Const K_AUTOMATICMAXTIME As String = "AutomaticMaxTime" Public Const K_AUTOMATICMAXTIME As String = "AutomaticMaxTime"
Public Const K_DRAGRECTANGLE As String = "DragRectangle" Public Const K_DRAGRECTANGLE As String = "DragRectangle"
Public Const K_STARTENDMODIFYONINTCORNER As String = "StartEndModifyOnIntCorner"
Public Const S_SPLIT As String = "Split" Public Const S_SPLIT As String = "Split"
Public Const K_MOVE_LEV As String = "MoveLevel" Public Const K_MOVE_LEV As String = "MoveLevel"
Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

+87 -76
View File
@@ -13,101 +13,112 @@
MaxWidth="500" MaxWidth="500"
ResizeMode="NoResize"> ResizeMode="NoResize">
<DockPanel Margin="5,5,5,0"> <DockPanel Margin="5,5,5,0" Background="{StaticResource Omag_DarkGray}">
<TextBlock Text="{Binding CsvPath}"
DockPanel.Dock="Top" <UniformGrid Columns="15"
Margin="0,0,0,5"/> DockPanel.Dock="Top"
<UniformGrid Columns="2"
DockPanel.Dock="Bottom"
Margin="0,0,0,5"> Margin="0,0,0,5">
<Button Content="{Binding InsertMsg}" <Button Command="{Binding NewCommand}"
Margin="0,0,2.5,0"
Style = "{DynamicResource CSV_Button}">
<Image Source="/Resources/TopCommandBar/Reset.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding OpenCommand}"
Margin="2.5,0,2.5,0"
Style = "{DynamicResource CSV_Button}">
<Image Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"/>
</Button>
<ToggleButton IsChecked="{Binding Plus_IsChecked}"
Style="{DynamicResource CSV_ToggleButton}"
Margin="2.5,0,2.5,0">
<Image Source="/Resources/CsvWindow/CsvPlus - Color.png"/>
</ToggleButton>
<ToggleButton IsChecked="{Binding Minus_IsChecked}"
Style="{DynamicResource CSV_ToggleButton}"
Margin="2.5,0,0,0">
<Image Source="/Resources/CsvWindow/CsvMinus - Color.png"/>
</ToggleButton>
<Button ToolTip="{Binding InsertMsg}"
Command="{Binding InsertCommand}" Command="{Binding InsertCommand}"
Margin="0,0,2.5,0" Margin="0,0,2.5,0"
Style="{StaticResource CompoWindow_Button}"/> Style = "{DynamicResource CSV_Button}">
<Button Content="{Binding RemoveMsg}" <Image Source="/Resources/CsvWindow/Inserisci-pezzo CSV.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding RemoveMsg}"
Command="{Binding RemoveCommand}" Command="{Binding RemoveCommand}"
Margin="2.5,0,0,0" Margin="2.5,0,0,0"
Style="{StaticResource CompoWindow_Button}"/> Style = "{DynamicResource CSV_Button}">
</UniformGrid> <Image Source="/Resources/CsvWindow/Parcheggia-pezzo CSV.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<UniformGrid Columns="4" <TextBlock Text="{Binding CsvPath}"
DockPanel.Dock="Bottom" DockPanel.Dock="Top"
Margin="0,0,0,5"> Foreground="{StaticResource Omag_White}"
<Button Command="{Binding NewCommand}" Margin="0,0,0,5"/>
Margin="0,0,2.5,0">
<Image Source="/Resources/CsvWindow/CsvNew.png"/> <TreeView ItemsSource="{Binding CsvTypeList}"
</Button> Background="Transparent"
<Button Command="{Binding OpenCommand}" BorderThickness="0"
Margin="2.5,0,2.5,0">
<Image Source="/Resources/CsvWindow/CsvOpen.png"/>
</Button>
<ToggleButton IsChecked="{Binding Plus_IsChecked}"
Margin="2.5,0,2.5,0">
<Image Source="/Resources/CsvWindow/CsvPlus.png"/>
</ToggleButton>
<ToggleButton IsChecked="{Binding Minus_IsChecked}"
Margin="2.5,0,0,0">
<Image Source="/Resources/CsvWindow/CsvMinus.png"/>
</ToggleButton>
</UniformGrid>
<TreeView ItemsSource="{Binding CsvTypeList}"
Margin="0,0,0,5" > Margin="0,0,0,5" >
<TreeView.ItemContainerStyle> <TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}"> <Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" /> <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<EventSetter Event="MouseUp" Handler="PartTypeClick"/> <EventSetter Event="MouseUp" Handler="PartTypeClick"/>
</Style> </Style>
</TreeView.ItemContainerStyle> </TreeView.ItemContainerStyle>
<TreeView.Resources> <TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type OmagOFFICE:CsvPartType}" <HierarchicalDataTemplate DataType="{x:Type OmagOFFICE:CsvPartType}"
ItemsSource="{Binding CsvPartList}"> ItemsSource="{Binding CsvPartList}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0,8,6,4" /> <Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0,8,6,4" />
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="10" /> <TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="10" Foreground="{StaticResource Omag_White}"/>
</Grid> </Grid>
<HierarchicalDataTemplate.ItemContainerStyle> <HierarchicalDataTemplate.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}"> <Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="MouseUp" Handler="PartItemClick"/> <EventSetter Event="MouseUp" Handler="PartItemClick"/>
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding bIsActive}" Value="False"> <DataTrigger Binding="{Binding bIsActive}" Value="true">
<Setter Property="Foreground" Value="{StaticResource Omag_Gray}"/> <Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
</DataTrigger> </DataTrigger>
</Style.Triggers> <DataTrigger Binding="{Binding bIsActive}" Value="False">
</Style> <Setter Property="Foreground" Value="{StaticResource Omag_Gray}"/>
</HierarchicalDataTemplate.ItemContainerStyle> </DataTrigger>
</Style.Triggers>
</Style>
</HierarchicalDataTemplate.ItemContainerStyle>
</HierarchicalDataTemplate> </HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type OmagOFFICE:CsvPartItem}"> <DataTemplate DataType="{x:Type OmagOFFICE:CsvPartItem}">
<Grid Width="246" Margin="0,5,0,5"> <Grid Width="246" Margin="0,5,0,5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="60"/> <ColumnDefinition Width="60"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Name}" Height="18" FontSize="14" HorizontalAlignment="Right"/> <TextBlock Grid.Column="0" Text="{Binding Name}" Height="18" FontSize="14" HorizontalAlignment="Right"/>
<TextBlock Grid.Column="1" Text="{Binding sText1}" Height="18" FontSize="14" HorizontalAlignment="Center"/> <TextBlock Grid.Column="1" Text="{Binding sText1}" Height="18" FontSize="14" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding sText2}" Height="18" FontSize="14" HorizontalAlignment="Left"/> <TextBlock Grid.Column="2" Text="{Binding sText2}" Height="18" FontSize="14" HorizontalAlignment="Left"/>
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</TreeView.Resources> </TreeView.Resources>
</TreeView> </TreeView>
</DockPanel> </DockPanel>
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtCustomWindow>
+13 -2
View File
@@ -6,19 +6,21 @@
IsResizable="False" IsResizable="False"
IsMinimizable="False" IsMinimizable="False"
IsClosable="False" IsClosable="False"
ShowInTaskbar="False" ShowInTaskbar="False"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStartupLocation="CenterOwner" WindowStartupLocation="CenterOwner"
Width="270" ResizeMode="NoResize" SizeToContent="Height"> Width="270" ResizeMode="NoResize" SizeToContent="Height">
<StackPanel Margin="5,5,5,0"> <StackPanel Margin="5,5,5,0">
<!--TAGLIO--> <!--TAGLIO-->
<TextBlock Text="{Binding CurrSawingMsg}" <TextBlock Text="{Binding CurrSawingMsg}"
Visibility="{Binding CurrSawing_Visibility}" Visibility="{Binding CurrSawing_Visibility}"
Style="{StaticResource RawTextBlock}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<ComboBox ItemsSource="{Binding CurrSawingList}" <ComboBox ItemsSource="{Binding CurrSawingList}"
SelectedItem="{Binding SelCurrSawing}" SelectedItem="{Binding SelCurrSawing}"
Visibility="{Binding CurrSawing_Visibility}" Visibility="{Binding CurrSawing_Visibility}"
Style="{DynamicResource Raw_ComboBox}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<!--<TextBlock Text="{Binding AuxMachTypeMsg}" <!--<TextBlock Text="{Binding AuxMachTypeMsg}"
@@ -33,30 +35,37 @@
<!--FORATURA--> <!--FORATURA-->
<TextBlock Text="{Binding CurrDrillingMsg}" <TextBlock Text="{Binding CurrDrillingMsg}"
Visibility="{Binding CurrDrilling_Visibility}" Visibility="{Binding CurrDrilling_Visibility}"
Style="{StaticResource RawTextBlock}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<ComboBox ItemsSource="{Binding CurrDrillingList}" <ComboBox ItemsSource="{Binding CurrDrillingList}"
SelectedItem="{Binding SelCurrDrilling}" SelectedItem="{Binding SelCurrDrilling}"
Visibility="{Binding CurrDrilling_Visibility}" Visibility="{Binding CurrDrilling_Visibility}"
Style="{DynamicResource Raw_ComboBox}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<!--FRESATURA--> <!--FRESATURA-->
<TextBlock Text="{Binding CurrMillingMsg}" <TextBlock Text="{Binding CurrMillingMsg}"
Visibility="{Binding CurrMilling_Visibility}" Visibility="{Binding CurrMilling_Visibility}"
Style="{StaticResource RawTextBlock}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<ComboBox ItemsSource="{Binding CurrMillingList}" <ComboBox ItemsSource="{Binding CurrMillingList}"
SelectedItem="{Binding SelCurrMilling}" SelectedItem="{Binding SelCurrMilling}"
Visibility="{Binding CurrMilling_Visibility}" Visibility="{Binding CurrMilling_Visibility}"
Style="{DynamicResource Raw_ComboBox}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<!--SVUOTATURA--> <!--SVUOTATURA-->
<TextBlock Text="{Binding CurrPocketingMsg}" <TextBlock Text="{Binding CurrPocketingMsg}"
Visibility="{Binding CurrPocketing_Visibility}" Visibility="{Binding CurrPocketing_Visibility}"
Style="{StaticResource RawTextBlock}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<ComboBox ItemsSource="{Binding CurrPocketingList}" <ComboBox ItemsSource="{Binding CurrPocketingList}"
SelectedItem="{Binding SelCurrPocketing}" SelectedItem="{Binding SelCurrPocketing}"
Visibility="{Binding CurrPocketing_Visibility}" Visibility="{Binding CurrPocketing_Visibility}"
Style="{DynamicResource Raw_ComboBox}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<!--WATERJET--> <!--WATERJET-->
<TextBlock Text="{Binding CurrWaterjettingMsg}" <TextBlock Text="{Binding CurrWaterjettingMsg}"
Visibility="{Binding CurrWaterjetting_Visibility}" Visibility="{Binding CurrWaterjetting_Visibility}"
Style="{StaticResource RawTextBlock}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@@ -66,12 +75,14 @@
<ComboBox ItemsSource="{Binding CurrWaterjettingList}" <ComboBox ItemsSource="{Binding CurrWaterjettingList}"
SelectedItem="{Binding SelCurrWaterjetting}" SelectedItem="{Binding SelCurrWaterjetting}"
Visibility="{Binding CurrWaterjetting_Visibility}" Visibility="{Binding CurrWaterjetting_Visibility}"
Style="{DynamicResource Raw_ComboBox}"
Margin="0,0,5,5"/> Margin="0,0,5,5"/>
<!--Quality--> <!--Quality-->
<ComboBox ItemsSource="{Binding CurrWaterjettingQualityList}" <ComboBox ItemsSource="{Binding CurrWaterjettingQualityList}"
SelectedItem="{Binding SelCurrWaterjettingQuality}" SelectedItem="{Binding SelCurrWaterjettingQuality}"
Visibility="{Binding CurrWaterjetting_Visibility}" Visibility="{Binding CurrWaterjetting_Visibility}"
Style="{DynamicResource Raw_ComboBox}"
Margin="5,0,0,5" Margin="5,0,0,5"
Grid.Column="1"> Grid.Column="1">
</ComboBox> </ComboBox>
+6
View File
@@ -9,6 +9,12 @@
Me.DataContext = CurrMachWindowVM Me.DataContext = CurrMachWindowVM
' Assegno al riferimento locale al VM il VM preso dal DataContext ' Assegno al riferimento locale al VM il VM preso dal DataContext
m_CurrMachWindowVM = CurrMachWindowVM m_CurrMachWindowVM = CurrMachWindowVM
End Sub
Private Sub Me_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
Me.Top = Owner.Top + Owner.Height / 2 - Me.ActualHeight / 2
Me.Left = Owner.Left + Owner.Width / 2 - Me.ActualWidth / 2
End Sub End Sub
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
+86 -16
View File
@@ -29,9 +29,17 @@ Public Class CurrMachWindowVM
m_SelCurrSawing = value m_SelCurrSawing = value
End If End If
CurrentMachine.sCurrSawing = m_SelCurrSawing CurrentMachine.sCurrSawing = m_SelCurrSawing
' salvo la lvorazione corrente
WritePrivateProfileString(S_MACH_MACH, K_CURRSAWING_OFFICE, m_SelCurrSawing, sMachIniFile)
End Set End Set
End Property End Property
Public Sub SetCurrSawing(sCurrOfficeSawing As String)
m_SelCurrSawing = sCurrOfficeSawing
CurrentMachine.sCurrSawing = m_SelCurrSawing
NotifyPropertyChanged("SelCurrSawing")
End Sub
Public ReadOnly Property CurrSawing_Visibility As Visibility Public ReadOnly Property CurrSawing_Visibility As Visibility
Get Get
If EgtGetHeadId("H1") = GDB_ID.NULL Then If EgtGetHeadId("H1") = GDB_ID.NULL Then
@@ -149,10 +157,18 @@ Public Class CurrMachWindowVM
If value <> m_SelCurrDrilling Then If value <> m_SelCurrDrilling Then
m_SelCurrDrilling = value m_SelCurrDrilling = value
CurrentMachine.sCurrDrilling = m_SelCurrDrilling CurrentMachine.sCurrDrilling = m_SelCurrDrilling
' salvo la lvorazione corrente
WritePrivateProfileString(S_MACH_MACH, K_CURRDRILLING_OFFICE, m_SelCurrDrilling, sMachIniFile)
End If End If
End Set End Set
End Property End Property
Public Sub SetCurrDrilling(sCurrOfficeDrilling As String)
m_SelCurrDrilling = sCurrOfficeDrilling
CurrentMachine.sCurrDrilling = m_SelCurrDrilling
NotifyPropertyChanged("SelCurrDrilling")
End Sub
Private m_CurrDrilling_Visibility As Visibility Private m_CurrDrilling_Visibility As Visibility
Public Property CurrDrilling_Visibility As Visibility Public Property CurrDrilling_Visibility As Visibility
Get Get
@@ -187,10 +203,18 @@ Public Class CurrMachWindowVM
If value <> m_SelCurrMilling Then If value <> m_SelCurrMilling Then
m_SelCurrMilling = value m_SelCurrMilling = value
CurrentMachine.sCurrMilling = m_SelCurrMilling CurrentMachine.sCurrMilling = m_SelCurrMilling
' salvo la lvorazione corrente
WritePrivateProfileString(S_MACH_MACH, K_CURRMILLING_OFFICE, m_SelCurrMilling, sMachIniFile)
End If End If
End Set End Set
End Property End Property
Public Sub SetCurrMilling(sCurrOfficeMilling As String)
m_SelCurrMilling = sCurrOfficeMilling
CurrentMachine.sCurrMilling = m_SelCurrMilling
NotifyPropertyChanged("SelCurrMilling")
End Sub
Private m_CurrMilling_Visibility As Visibility Private m_CurrMilling_Visibility As Visibility
Public Property CurrMilling_Visibility As Visibility Public Property CurrMilling_Visibility As Visibility
Get Get
@@ -225,10 +249,18 @@ Public Class CurrMachWindowVM
If value <> m_SelCurrPocketing Then If value <> m_SelCurrPocketing Then
m_SelCurrPocketing = value m_SelCurrPocketing = value
CurrentMachine.sCurrPocketing = m_SelCurrPocketing CurrentMachine.sCurrPocketing = m_SelCurrPocketing
' salvo la lvorazione corrente
WritePrivateProfileString(S_MACH_MACH, K_CURRPOCKETING_OFFICE, m_SelCurrPocketing, sMachIniFile)
End If End If
End Set End Set
End Property End Property
Public Sub SetCurrPocketing(sCurrOfficePocketing As String)
m_SelCurrPocketing = sCurrOfficePocketing
CurrentMachine.sCurrPocketing = m_SelCurrPocketing
NotifyPropertyChanged("SelCurrPocketing")
End Sub
Private m_CurrPocketing_Visibility As Visibility Private m_CurrPocketing_Visibility As Visibility
Public Property CurrPocketing_Visibility As Visibility Public Property CurrPocketing_Visibility As Visibility
Get Get
@@ -263,10 +295,18 @@ Public Class CurrMachWindowVM
If value <> m_SelCurrWaterjetting Then If value <> m_SelCurrWaterjetting Then
m_SelCurrWaterjetting = value m_SelCurrWaterjetting = value
CurrentMachine.sCurrWaterJetting = m_SelCurrWaterjetting CurrentMachine.sCurrWaterJetting = m_SelCurrWaterjetting
' salvo la lvorazione corrente
WritePrivateProfileString(S_MACH_MACH, K_CURRWATERJETTING_OFFICE, m_SelCurrWaterjetting, sMachIniFile)
End If End If
End Set End Set
End Property End Property
Public Sub SetCurrWaterjetting(sCurrOfficeWaterjetting As String)
m_SelCurrWaterjetting = sCurrOfficeWaterjetting
CurrentMachine.sCurrWaterJetting = m_SelCurrWaterjetting
NotifyPropertyChanged("SelCurrWaterjetting")
End Sub
Private m_CurrWaterjettingQualityList As New List(Of String) Private m_CurrWaterjettingQualityList As New List(Of String)
Public Property CurrWaterjettingQualityList As List(Of String) Public Property CurrWaterjettingQualityList As List(Of String)
Get Get
@@ -286,10 +326,18 @@ Public Class CurrMachWindowVM
If value <> m_SelCurrWaterjettingQuality Then If value <> m_SelCurrWaterjettingQuality Then
m_SelCurrWaterjettingQuality = value m_SelCurrWaterjettingQuality = value
CurrentMachine.sCurrWaterJettingQuality = m_SelCurrWaterjettingQuality CurrentMachine.sCurrWaterJettingQuality = m_SelCurrWaterjettingQuality
' salvo la lvorazione corrente
WritePrivateProfileString(S_MACH_MACH, K_CURRWATERJETTINGQUALITY_OFFICE, m_SelCurrWaterjettingQuality, sMachIniFile)
End If End If
End Set End Set
End Property End Property
Public Sub SetCurrWaterjettingQuality(sCurrOfficeWaterjettingQuality As String)
m_SelCurrWaterjettingQuality = sCurrOfficeWaterjettingQuality
CurrentMachine.sCurrWaterJettingQuality = m_SelCurrWaterjettingQuality
NotifyPropertyChanged("SelCurrWaterjetting")
End Sub
Private m_CurrWaterjetting_Visibility As Visibility = Visibility.Collapsed Private m_CurrWaterjetting_Visibility As Visibility = Visibility.Collapsed
Public Property CurrWaterjetting_Visibility As Visibility Public Property CurrWaterjetting_Visibility As Visibility
Get Get
@@ -408,28 +456,28 @@ Public Class CurrMachWindowVM
' --- DRILL --- ' --- DRILL ---
CreateMachiningList(MCH_MY.DRILLING, m_AvailableDrillList, m_CurrDrillingList) CreateMachiningList(MCH_MY.DRILLING, m_AvailableDrillList, m_CurrDrillingList)
' Se la lista è vuota cancello la lavorazione corrente di questo tipo ' Se la lista è vuota cancello la lavorazione corrente di questo tipo
If m_CurrDrillingList.Count = 0 Then If m_CurrDrillingList.Count <= 1 Then
CurrentMachine.sCurrDrilling = String.Empty CurrentMachine.sCurrDrilling = String.Empty
End If End If
' --- MILL --- ' --- MILL ---
CreateMachiningList(MCH_MY.MILLING, m_AvailableMillList, m_CurrMillingList) CreateMachiningList(MCH_MY.MILLING, m_AvailableMillList, m_CurrMillingList)
' Se la lista è vuota cancello la lavorazione corrente di questo tipo ' Se la lista è vuota cancello la lavorazione corrente di questo tipo
If m_CurrMillingList.Count = 0 Then If m_CurrMillingList.Count <= 1 Then
CurrentMachine.sCurrMilling = String.Empty CurrentMachine.sCurrMilling = String.Empty
End If End If
' --- SCASSO --- ' --- SCASSO ---
CreateMachiningList(MCH_MY.POCKETING, m_AvailableMillList, m_CurrPocketingList) CreateMachiningList(MCH_MY.POCKETING, m_AvailableMillList, m_CurrPocketingList)
' Se la lista è vuota cancello la lavorazione corrente di questo tipo ' Se la lista è vuota cancello la lavorazione corrente di questo tipo
If m_CurrPocketingList.Count = 0 Then If m_CurrPocketingList.Count <= 1 Then
CurrentMachine.sCurrPocketing = String.Empty CurrentMachine.sCurrPocketing = String.Empty
End If End If
' --- WATERJET --- ' --- WATERJET ---
CreateMachiningList(MCH_MY.WATERJETTING, m_AvailableWaterjetList, m_CurrWaterjettingList) CreateMachiningList(MCH_MY.WATERJETTING, m_AvailableWaterjetList, m_CurrWaterjettingList)
' Se la lista è vuota cancello la lavorazione corrente di questo tipo ' Se la lista è vuota cancello la lavorazione corrente di questo tipo
If m_CurrWaterjettingList.Count = 0 Then If m_CurrWaterjettingList.Count <= 1 Then
CurrentMachine.sCurrWaterJetting = String.Empty CurrentMachine.sCurrWaterJetting = String.Empty
End If End If
m_CurrWaterjettingQualityList = New List(Of String)(CurrentMachine.Qualities) m_CurrWaterjettingQualityList = New List(Of String)(CurrentMachine.Qualities)
@@ -439,28 +487,28 @@ Public Class CurrMachWindowVM
' --- DRILL --- ' --- DRILL ---
CreateMachiningList(MCH_MY.DRILLING, m_AvailableDrillList, m_CurrDrillingList) CreateMachiningList(MCH_MY.DRILLING, m_AvailableDrillList, m_CurrDrillingList)
' Se la lista è vuota cancello la lavorazione corrente di questo tipo ' Se la lista è vuota cancello la lavorazione corrente di questo tipo
If m_CurrDrillingList.Count = 0 Then If m_CurrDrillingList.Count <= 1 Then
CurrentMachine.sCurrDrilling = String.Empty CurrentMachine.sCurrDrilling = String.Empty
End If End If
' --- MILL --- ' --- MILL ---
CreateMachiningList(MCH_MY.MILLING, m_AvailableMillList, m_CurrMillingList) CreateMachiningList(MCH_MY.MILLING, m_AvailableMillList, m_CurrMillingList)
' Se la lista è vuota cancello la lavorazione corrente di questo tipo ' Se la lista è vuota cancello la lavorazione corrente di questo tipo
If m_CurrMillingList.Count = 0 Then If m_CurrMillingList.Count <= 1 Then
CurrentMachine.sCurrMilling = String.Empty CurrentMachine.sCurrMilling = String.Empty
End If End If
' --- SCASSO --- ' --- SCASSO ---
CreateMachiningList(MCH_MY.POCKETING, m_AvailableMillList, m_CurrPocketingList) CreateMachiningList(MCH_MY.POCKETING, m_AvailableMillList, m_CurrPocketingList)
' Se la lista è vuota cancello la lavorazione corrente di questo tipo ' Se la lista è vuota cancello la lavorazione corrente di questo tipo
If m_CurrPocketingList.Count = 0 Then If m_CurrPocketingList.Count <= 1 Then
CurrentMachine.sCurrPocketing = String.Empty CurrentMachine.sCurrPocketing = String.Empty
End If End If
' --- WATERJET --- ' --- WATERJET ---
CreateMachiningList(MCH_MY.WATERJETTING, m_AvailableWaterjetList, m_CurrWaterjettingList) CreateMachiningList(MCH_MY.WATERJETTING, m_AvailableWaterjetList, m_CurrWaterjettingList)
' Se la lista è vuota cancello la lavorazione corrente di questo tipo ' Se la lista è vuota cancello la lavorazione corrente di questo tipo
If m_CurrWaterjettingList.Count = 0 Then If m_CurrWaterjettingList.Count <= 1 Then
CurrentMachine.sCurrWaterJetting = String.Empty CurrentMachine.sCurrWaterJetting = String.Empty
End If End If
m_CurrWaterjettingQualityList = New List(Of String)(CurrentMachine.Qualities) m_CurrWaterjettingQualityList = New List(Of String)(CurrentMachine.Qualities)
@@ -472,11 +520,13 @@ Public Class CurrMachWindowVM
If m_CurrSawingList.Count > 0 Then If m_CurrSawingList.Count > 0 Then
If CurrentMachine.sCurrSawing <> String.Empty Then If CurrentMachine.sCurrSawing <> String.Empty Then
SelCurrSawing = CurrentMachine.sCurrSawing SetCurrSawing(CurrentMachine.sCurrSawing)
Else Else
Dim sCurrSawing As String = "" Dim sCurrSawing As String = ""
GetPrivateProfileString(S_MACH_MACH, K_CURRSAWING, Nothing, sCurrSawing, sMachIniFile) ' GetPrivateProfileString(S_MACH_MACH, K_CURRSAWING, Nothing, sCurrSawing, sMachIniFile)
SelCurrSawing = sCurrSawing GetPrivateProfileString(S_MACH_MACH, K_CURRSAWING_OFFICE, Nothing, sCurrSawing, sMachIniFile)
'SelCurrSawing = sCurrSawing
SetCurrSawing(sCurrSawing)
End If End If
Else Else
CurrentMachine.sCurrSawing = String.Empty CurrentMachine.sCurrSawing = String.Empty
@@ -486,7 +536,11 @@ Public Class CurrMachWindowVM
If CurrentMachine.bDrilling And m_CurrDrillingList.Count > 1 Then If CurrentMachine.bDrilling And m_CurrDrillingList.Count > 1 Then
CurrDrilling_Visibility = Visibility.Visible CurrDrilling_Visibility = Visibility.Visible
If CurrentMachine.sCurrDrilling <> String.Empty Then If CurrentMachine.sCurrDrilling <> String.Empty Then
SelCurrDrilling = CurrentMachine.sCurrDrilling SetCurrDrilling(CurrentMachine.sCurrDrilling)
Else
Dim sCurrMachining As String = ""
GetPrivateProfileString(S_MACH_MACH, K_CURRDRILLING_OFFICE, Nothing, sCurrMachining, sMachIniFile)
SetCurrDrilling(sCurrMachining)
End If End If
Else Else
CurrDrilling_Visibility = Visibility.Collapsed CurrDrilling_Visibility = Visibility.Collapsed
@@ -495,7 +549,11 @@ Public Class CurrMachWindowVM
If CurrentMachine.bMilling And m_CurrMillingList.Count > 1 Then If CurrentMachine.bMilling And m_CurrMillingList.Count > 1 Then
CurrMilling_Visibility = Visibility.Visible CurrMilling_Visibility = Visibility.Visible
If CurrentMachine.sCurrMilling <> String.Empty Then If CurrentMachine.sCurrMilling <> String.Empty Then
SelCurrMilling = CurrentMachine.sCurrMilling SetCurrMilling(CurrentMachine.sCurrMilling)
Else
Dim sCurrMachining As String = ""
GetPrivateProfileString(S_MACH_MACH, K_CURRMILLING_OFFICE, Nothing, sCurrMachining, sMachIniFile)
SetCurrMilling(sCurrMachining)
End If End If
Else Else
CurrMilling_Visibility = Visibility.Collapsed CurrMilling_Visibility = Visibility.Collapsed
@@ -504,7 +562,11 @@ Public Class CurrMachWindowVM
If CurrentMachine.bPocketing And CurrPocketingList.Count > 1 Then If CurrentMachine.bPocketing And CurrPocketingList.Count > 1 Then
CurrPocketing_Visibility = Visibility.Visible CurrPocketing_Visibility = Visibility.Visible
If CurrentMachine.sCurrPocketing <> String.Empty Then If CurrentMachine.sCurrPocketing <> String.Empty Then
SelCurrPocketing = CurrentMachine.sCurrPocketing SetCurrPocketing(CurrentMachine.sCurrPocketing)
Else
Dim sCurrMachining As String = ""
GetPrivateProfileString(S_MACH_MACH, K_CURRPOCKETING_OFFICE, Nothing, sCurrMachining, sMachIniFile)
SetCurrPocketing(sCurrMachining)
End If End If
Else Else
CurrPocketing_Visibility = Visibility.Collapsed CurrPocketing_Visibility = Visibility.Collapsed
@@ -515,10 +577,18 @@ Public Class CurrMachWindowVM
' se DB WaterJet abilitato avrò anche la CmBx della Quality solo la CmBx del Waterjetting corrente ' se DB WaterJet abilitato avrò anche la CmBx della Quality solo la CmBx del Waterjetting corrente
If CurrentMachine.bFromDBWaterJet Then If CurrentMachine.bFromDBWaterJet Then
If CurrentMachine.sCurrWaterJetting <> String.Empty Then If CurrentMachine.sCurrWaterJetting <> String.Empty Then
SelCurrWaterjetting = CurrentMachine.sCurrWaterJetting SetCurrWaterjetting(CurrentMachine.sCurrWaterJetting)
Else
Dim sCurrMachining As String = ""
GetPrivateProfileString(S_MACH_MACH, K_CURRWATERJETTING_OFFICE, Nothing, sCurrMachining, sMachIniFile)
SetCurrWaterjetting(sCurrMachining)
End If End If
If CurrentMachine.sCurrWaterJettingQuality <> String.Empty Then If CurrentMachine.sCurrWaterJettingQuality <> String.Empty Then
SelCurrWaterjettingQuality = CurrentMachine.sCurrWaterJettingQuality SetCurrWaterjettingQuality(CurrentMachine.sCurrWaterJettingQuality)
Else
Dim sCurrMachining As String = ""
GetPrivateProfileString(S_MACH_MACH, K_CURRWATERJETTINGQUALITY_OFFICE, Nothing, sCurrMachining, sMachIniFile)
SetCurrWaterjettingQuality(sCurrMachining)
End If End If
CurrWaterjettingQuality_Visibility = Visibility.Visible CurrWaterjettingQuality_Visibility = Visibility.Visible
Else Else
+1 -1
View File
@@ -112,7 +112,7 @@ Public Class DxfImportSceneHostV
Private Sub OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ImportDxfScene.OnMouseDownScene Private Sub OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ImportDxfScene.OnMouseDownScene
' Solo se in modalità angoli o gocciolatoio su lati esterni ' Solo se in modalità angoli o gocciolatoio su lati esterni
If DxfImportWindowMap.refDxfImportWindowVM.SideAngle_IsChecked Or DxfImportWindowMap.refDxfImportWindowVM.Drip_IsChecked Then If DxfImportWindowMap.refDxfImportWindowVM.SideAngle_IsChecked Or DxfImportWindowMap.refDxfImportWindowVM.Drip_IsChecked Or DxfImportWindowMap.refDxfImportWindowVM.Engrave_IsChecked Then
OnMouseDownSceneSideAngle(e) OnMouseDownSceneSideAngle(e)
ElseIf DxfImportWindowMap.refDxfImportWindowVM.FiloTop_IsChecked Then ElseIf DxfImportWindowMap.refDxfImportWindowVM.FiloTop_IsChecked Then
OnMouseDownSceneFiloTop(e) OnMouseDownSceneFiloTop(e)
+283 -83
View File
@@ -6,14 +6,200 @@
Title="{Binding TitleMsg}" Title="{Binding TitleMsg}"
IsMinimizable="False" IsMinimizable="False"
ShowInTaskbar="False" ShowInTaskbar="False"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" WindowStartupLocation="CenterOwner"> Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" WindowStartupLocation="CenterOwner"
xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero">
<EgtWPFLib5:EgtCustomWindow.Resources>
<!--gradiente colore-->
<!--<Style x:Key="ScrollBarButton" TargetType="{x:Type RepeatButton}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RepeatButton}">
<theme:ScrollChrome x:Name="Chrome" RenderPressed="{TemplateBinding IsPressed}" RenderMouseOver="{TemplateBinding IsMouseOver}" SnapsToDevicePixels="true" theme:ScrollChrome.ScrollGlyph="{TemplateBinding theme:ScrollChrome.ScrollGlyph}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>-->
<Style x:Key="ScrollBarThumb" TargetType="{x:Type Thumb}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Border x:Name="Background" CornerRadius="0" Background="Transparent" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}">
<Grid Background="Transparent" Margin="1">
<Border Opacity="0" x:Name="BackgroundAnimation" Background="Transparent" />
<Rectangle x:Name="BackgroundGradient" RadiusX="8" RadiusY="8" Fill="#FF095CA8" Stroke="#1C1D22" StrokeThickness="0.5">
<!--<Rectangle.Fill>
<LinearGradientBrush StartPoint=".7,0" EndPoint=".7,1">
<GradientStop Color="#1C1D22" Offset="0.375" />
<GradientStop Color="#1C1D22" Offset="0.625" />
</LinearGradientBrush>
</Rectangle.Fill>-->
</Rectangle>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--<Style x:Key="HorizontalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RepeatButton}">
<Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>-->
<Style x:Key="VerticalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RepeatButton}">
<Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ScrollBarStyle1" TargetType="{x:Type ScrollBar}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="false"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="Width" Value="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"/>
<Setter Property="MinWidth" Value="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollBar}">
<Grid x:Name="Bg" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
<Grid.RowDefinitions>
<RowDefinition MaxHeight="1"/>
<RowDefinition Height="0.00001*"/>
<RowDefinition MaxHeight="1"/>
</Grid.RowDefinitions>
<!--<RepeatButton Command="{x:Static ScrollBar.LineUpCommand}" IsEnabled="{TemplateBinding IsMouseOver}" />-->
<Track x:Name="PART_Track" IsDirectionReversed="true" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="1">
<Track.DecreaseRepeatButton>
<RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource VerticalScrollBarPageButton}"/>
</Track.DecreaseRepeatButton>
<Track.IncreaseRepeatButton>
<RepeatButton Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource VerticalScrollBarPageButton}"/>
</Track.IncreaseRepeatButton>
<Track.Thumb>
<Thumb Style="{StaticResource ScrollBarThumb}"/>
</Track.Thumb>
</Track>
<!--<RepeatButton Command="{x:Static ScrollBar.LineDownCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="2" theme:ScrollChrome.ScrollGlyph="DownArrow"/>-->
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Background" TargetName="Bg" Value="Transparent"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<!--<Style.Triggers>
<Trigger Property="Orientation" Value="Horizontal">
<Setter Property="Width" Value="Auto"/>
<Setter Property="MinWidth" Value="0"/>
<Setter Property="Height" Value="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarHeightKey}}"/>
<Setter Property="MinHeight" Value="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarHeightKey}}"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollBar}">
<Grid x:Name="Bg" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
<Grid.ColumnDefinitions>
<ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/>
<ColumnDefinition Width="0.00001*"/>
<ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/>
</Grid.ColumnDefinitions>
<RepeatButton Command="{x:Static ScrollBar.LineLeftCommand}" IsEnabled="{TemplateBinding IsMouseOver}" theme:ScrollChrome.ScrollGlyph="LeftArrow" Style="{StaticResource CustomScrollBarButton}"/>
<Track x:Name="PART_Track" Grid.Column="1" IsEnabled="{TemplateBinding IsMouseOver}">
<Track.DecreaseRepeatButton>
<RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource CustomScrollBarButton}"/>
</Track.DecreaseRepeatButton>
<Track.IncreaseRepeatButton>
<RepeatButton Command="{x:Static ScrollBar.PageRightCommand}" Style="{StaticResource CustomScrollBarButton}"/>
</Track.IncreaseRepeatButton>
<Track.Thumb>
<Thumb Style="{StaticResource ScrollBarThumb}"/>
</Track.Thumb>
</Track>
<RepeatButton Command="{x:Static ScrollBar.LineRightCommand}" Grid.Column="2" IsEnabled="{TemplateBinding IsMouseOver}" theme:ScrollChrome.ScrollGlyph="RightArrow" Style="{StaticResource CustomScrollBarButton}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Background" TargetName="Bg" Value="Transparent"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>-->
</Style>
<Style x:Key="ScrollViewerStyle1" TargetType="{x:Type ScrollViewer}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid x:Name="Grid" Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Rectangle x:Name="Corner" Grid.Column="1" Fill="{StaticResource Omag_Black}" Grid.Row="1"/>
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanHorizontallyScroll="False" ContentTemplate="{TemplateBinding ContentTemplate}" CanVerticallyScroll="False" Grid.Column="0" Content="{TemplateBinding Content}" CanContentScroll="{TemplateBinding CanContentScroll}" Margin="{TemplateBinding Padding}" Grid.Row="0"/>
<ScrollBar Style="{DynamicResource ScrollBarStyle1}" x:Name="PART_VerticalScrollBar"
AutomationProperties.AutomationId="VerticalScrollBar" Cursor="Arrow" Grid.Column="1"
Maximum="{TemplateBinding ScrollableHeight}" Minimum="0" Grid.Row="0"
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
Margin="2,0,0,0"/>
<ScrollBar Style="{DynamicResource ScrollBarStyle1}" x:Name="PART_HorizontalScrollBar"
AutomationProperties.AutomationId="HorizontalScrollBar" Cursor="Arrow" Grid.Column="0"
Maximum="{TemplateBinding ScrollableWidth}" Minimum="0" Orientation="Horizontal" Grid.Row="1"
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource Omag_Blue}"/>
</Trigger>
</Style.Triggers>
</Style>
</EgtWPFLib5:EgtCustomWindow.Resources>
<DockPanel> <DockPanel>
<DockPanel DockPanel.Dock="Left" <DockPanel DockPanel.Dock="Left"
Width="200" Width="200"
Margin="5,5,5,0"> Margin="5,5,5,0">
<UniformGrid Columns="{Binding nButton}" Rows="1" <UniformGrid Columns="{Binding nButton}" Rows="1"
Margin="0,0,0,5" Margin="0,0,0,5"
DockPanel.Dock="Top"> DockPanel.Dock="Top">
@@ -40,145 +226,159 @@
</Button> </Button>
</UniformGrid> </UniformGrid>
<GroupBox Header="{Binding TypeMsg}"
<GroupBox Header="{Binding TypeMsg}"
DockPanel.Dock="Top" DockPanel.Dock="Top"
IsEnabled="{Binding Type_IsEnabled}" IsEnabled="{Binding Type_IsEnabled}"
BorderThickness="{StaticResource BorderGpBx_Thickness}"
Foreground="{StaticResource Omag_White}"
Margin="0,0,0,5"> Margin="0,0,0,5">
<UniformGrid Columns="2" Rows="2"> <UniformGrid Columns="2" Rows="2">
<Button Content="{Binding UseRegionMsg}" <Button Content="{Binding UseRegionMsg}"
IsEnabled="{Binding UseRegionIsEnabled}" IsEnabled="{Binding UseRegionIsEnabled}"
Command="{Binding UseRegionCommand}" Command="{Binding UseRegionCommand}"
Style="{StaticResource OptionPanel_TextButton}"/> Style="{StaticResource OptionPanel_TextButton}"/>
<Button Content="{Binding UseLayerMsg}" <Button Content="{Binding UseLayerMsg}"
IsEnabled="{Binding UseLayerIsEnabled}" IsEnabled="{Binding UseLayerIsEnabled}"
Command="{Binding UseLayerCommand}" Command="{Binding UseLayerCommand}"
Style="{StaticResource OptionPanel_TextButton}"/> Style="{StaticResource OptionPanel_TextButton}"/>
<Button Content="{Binding UseClosedCurveMsg}" <Button Content="{Binding UseClosedCurveMsg}"
IsEnabled="{Binding UseClosedCurveIsEnabled}" IsEnabled="{Binding UseClosedCurveIsEnabled}"
Command="{Binding UseClosedCurveCommand}" Command="{Binding UseClosedCurveCommand}"
Style="{StaticResource OptionPanel_TextButton}"/> Style="{StaticResource OptionPanel_TextButton}"/>
<Button Content="{Binding ResetMsg}" <Button Content="{Binding ResetMsg}"
IsEnabled="{Binding ResetIsEnabled}" IsEnabled="{Binding ResetIsEnabled}"
Command="{Binding ResetCommand}" Command="{Binding ResetCommand}"
Style="{StaticResource OptionPanel_TextButton}"/> Style="{StaticResource OptionPanel_TextButton}"/>
</UniformGrid> </UniformGrid>
</GroupBox> </GroupBox>
<GroupBox Header="{Binding MeasureUnitMsg}" <GroupBox Header="{Binding MeasureUnitMsg}"
IsEnabled="{Binding Measure_IsEnabled}" IsEnabled="{Binding Measure_IsEnabled}"
DockPanel.Dock="Top" DockPanel.Dock="Top"
BorderThickness="{StaticResource BorderGpBx_Thickness}"
Foreground="{StaticResource Omag_White}"
Margin="0,0,0,5"> Margin="0,0,0,5">
<UniformGrid Columns="2"> <UniformGrid Columns="2">
<RadioButton Content="{Binding MmMsg}" <RadioButton Content="{Binding MmMsg}"
IsChecked="{Binding MmIsChecked}" IsChecked="{Binding MmIsChecked}"
Style="{StaticResource OptionPanel_ToggleButton}"/> Style="{StaticResource OptionPanel_ToggleButton}"/>
<RadioButton Content="{Binding InchMsg}" <RadioButton Content="{Binding InchMsg}"
IsChecked="{Binding InchIsChecked, Mode=OneWay}" IsChecked="{Binding InchIsChecked, Mode=OneWay}"
Style="{StaticResource OptionPanel_ToggleButton}"/> Style="{StaticResource OptionPanel_ToggleButton}"/>
</UniformGrid> </UniformGrid>
</GroupBox> </GroupBox>
<UniformGrid Columns="4" <UniformGrid Columns="5"
DockPanel.Dock="Top" DockPanel.Dock="Top"
IsEnabled="{Binding SideEntity_IsEnabled}" IsEnabled="{Binding SideEntity_IsEnabled}"
Margin="0,0,0,5"> Margin="0,0,0,5">
<!--Inclina lati--> <!--Inclina lati-->
<ToggleButton Content="{Binding SideAngleMsg}" <ToggleButton Content="{Binding SideAngleMsg}"
IsChecked="{Binding SideAngle_IsChecked}" IsChecked="{Binding SideAngle_IsChecked}"
Style="{StaticResource CompoWindow_WrapToggleButton}"/> Style="{StaticResource CompoWindow_WrapToggleButton}"/>
<!--Filo Top--> <!--Filo Top-->
<ToggleButton Content="{Binding FiloTopMsg}" <ToggleButton Content="{Binding FiloTopMsg}"
IsChecked="{Binding FiloTop_IsChecked}" IsChecked="{Binding FiloTop_IsChecked}"
Style="{StaticResource CompoWindow_WrapToggleButton}"/> Style="{StaticResource CompoWindow_WrapToggleButton}"/>
<ToggleButton Content="{Binding EngraveMsg}"
IsChecked="{Binding Engrave_IsChecked}"
Style="{StaticResource CompoWindow_WrapToggleButton}"/>
<!--Incidi da sotto--> <!--Incidi da sotto-->
<ToggleButton Content="{Binding DripMsg}" <ToggleButton Content="{Binding DripMsg}"
IsChecked="{Binding Drip_IsChecked}" IsChecked="{Binding Drip_IsChecked}"
Style="{StaticResource CompoWindow_WrapToggleButton}" Style="{StaticResource CompoWindow_WrapToggleButton}"
IsEnabled="{Binding Drip_IsEnabled}"/> IsEnabled="{Binding Drip_IsEnabled}"/>
<!--Fora da sotto--> <!--Fora da sotto-->
<ToggleButton Content="{Binding UnderDrillMsg}" <ToggleButton Content="{Binding UnderDrillMsg}"
IsChecked="{Binding UnderDrill_IsChecked}" IsChecked="{Binding UnderDrill_IsChecked}"
Style="{StaticResource CompoWindow_WrapToggleButton}" Style="{StaticResource CompoWindow_WrapToggleButton}"
IsEnabled="{Binding Drip_IsEnabled}"/> IsEnabled="{Binding Drip_IsEnabled}"/>
</UniformGrid> </UniformGrid>
<UniformGrid DockPanel.Dock="Bottom" <UniformGrid DockPanel.Dock="Bottom"
Columns="2" Columns="2"
Margin="0,0,0,5"> Margin="0,0,0,5">
<Button x:Name="OkBtn" <Button x:Name="OkBtn"
Content="{Binding OkMsg}" Content="{Binding OkMsg}"
IsEnabled="{Binding OkIsEnabled}" IsEnabled="{Binding OkIsEnabled}"
Style="{StaticResource OptionPanel_TextButton}"/> Style="{StaticResource OptionPanel_TextButton}"/>
<Button x:Name="CancelBtn" <Button x:Name="CancelBtn"
Content="{Binding CancelMsg}" Content="{Binding CancelMsg}"
Style="{StaticResource OptionPanel_TextButton}"/> Style="{StaticResource OptionPanel_TextButton}"/>
</UniformGrid> </UniformGrid>
<Grid DockPanel.Dock="Bottom" <GroupBox Header="Dati pezzo"
Visibility="{Binding PartData_Visibility}" BorderThickness="{StaticResource BorderGpBx_Thickness}"
Margin="0,0,0,10"> Foreground="{StaticResource Omag_White}"
<Grid.ColumnDefinitions> Margin="0">
<ColumnDefinition Width="1.8*"/> <ScrollViewer Style="{DynamicResource ScrollViewerStyle1}" VerticalScrollBarVisibility="Auto" Focusable="False">
<ColumnDefinition Width="1.2*"/> <StackPanel>
</Grid.ColumnDefinitions> <Grid Visibility="{Binding PartData_Visibility}"
Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.8*"/>
<ColumnDefinition Width="1.2*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding PartNumMsg}"/> <TextBlock Text="{Binding PartNumMsg}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding PartNum}" <EgtWPFLib5:EgtTextBox Text="{Binding PartNum}"
Grid.Column="1"/> Grid.Column="1"/>
</Grid> </Grid>
<Grid DockPanel.Dock="Bottom" <Grid Visibility="{Binding PartData_Visibility}"
Visibility="{Binding PartData_Visibility}" Margin="0,0,0,10">
Margin="0,0,0,10"> <TextBlock Text="{Binding TopMsg}"/>
<TextBlock Text="{Binding TopMsg}"/> <CheckBox IsChecked="{Binding TopIsChecked}"
<CheckBox IsChecked="{Binding TopIsChecked}" HorizontalAlignment="Right" Margin="6,0,6,0"/>
HorizontalAlignment="Right" Margin="6,0,6,0"/> </Grid>
</Grid>
<Grid DockPanel.Dock="Bottom" <Grid Visibility="{Binding OrderList_Visibility}"
Visibility="{Binding OrderList_Visibility}" Margin="0,0,0,10">
Margin="0,0,0,10"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="1.8*"/>
<ColumnDefinition Width="1.8*"/> <ColumnDefinition Width="1.2*"/>
<ColumnDefinition Width="1.2*"/> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding ListMsg}"/> <TextBlock Text="{Binding ListMsg}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding List}" <EgtWPFLib5:EgtTextBox Text="{Binding List}"
Grid.Column="1"/> Grid.Column="1"/>
</Grid> </Grid>
<Grid DockPanel.Dock="Bottom" <Grid Visibility="{Binding OrderList_Visibility}"
Visibility="{Binding OrderList_Visibility}" Margin="0,0,0,10">
Margin="0,0,0,10"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="1.8*"/>
<ColumnDefinition Width="1.8*"/> <ColumnDefinition Width="1.2*"/>
<ColumnDefinition Width="1.2*"/> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding OrderMsg}"/> <TextBlock Text="{Binding OrderMsg}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding Order}" <EgtWPFLib5:EgtTextBox Text="{Binding Order}"
Grid.Column="1"/> Grid.Column="1"/>
</Grid> </Grid>
<TextBlock Text="{Binding OutputMessage}" <TextBlock Text="{Binding OutputMessage}"
Foreground="{Binding MsgColor}" Foreground="{Binding MsgColor}"
DockPanel.Dock="Bottom" DockPanel.Dock="Bottom"
TextWrapping="Wrap" TextWrapping="Wrap"
TextAlignment="Center" TextAlignment="Center"
Margin="0,0,0,20"/> Margin="0,0,0,20"/>
<ContentControl VerticalAlignment="Center"
Content="{Binding SideEntityControl}" ScrollViewer.VerticalScrollBarVisibility="Visible"/>
</StackPanel>
</ScrollViewer>
</GroupBox>
<ContentControl VerticalAlignment="Center" </DockPanel>
Content="{Binding SideEntityControl}"/>
</DockPanel> <OmagOFFICE:DxfImportSceneHostV/>
</DockPanel>
<OmagOFFICE:DxfImportSceneHostV/>
</DockPanel>
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtCustomWindow>
+68 -10
View File
@@ -142,7 +142,7 @@ Public Class DxfImportWindowVM
Return m_SideAngle_IsChecked Return m_SideAngle_IsChecked
End Get End Get
Set(value As Boolean) Set(value As Boolean)
If m_Drip_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Then Return If m_Drip_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Or m_Engrave_IsChecked Then Return
m_SideAngle_IsChecked = value m_SideAngle_IsChecked = value
If value Then If value Then
' Aggiungo regioni per percorsi interni ' Aggiungo regioni per percorsi interni
@@ -190,7 +190,7 @@ Public Class DxfImportWindowVM
Return m_FiloTop_IsChecked Return m_FiloTop_IsChecked
End Get End Get
Set(value As Boolean) Set(value As Boolean)
If m_SideAngle_IsChecked Or m_Drip_IsChecked Or m_UnderDrill_IsChecked Then Return If m_SideAngle_IsChecked Or m_Drip_IsChecked Or m_UnderDrill_IsChecked Or m_Engrave_IsChecked Then Return
m_FiloTop_IsChecked = value m_FiloTop_IsChecked = value
If value Then If value Then
' Aggiungo regioni per percorsi interni ' Aggiungo regioni per percorsi interni
@@ -233,13 +233,61 @@ Public Class DxfImportWindowVM
End Set End Set
End Property End Property
Private m_Engrave_IsChecked As Boolean
Public Property Engrave_IsChecked As Boolean
Get
Return m_Engrave_IsChecked
End Get
Set(value As Boolean)
If m_Drip_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Or m_SideAngle_IsChecked Then Return
m_Engrave_IsChecked = value
If value Then
' Aggiungo regioni per percorsi interni
AdjustSelectRegions()
' Messaggio di selezione contorno
SetOutputMessage(EgtMsg(MSG_DRAWPAGEUC + 6), MSG_TYPE.INFO) ' Selezionare un contorno
' Imposto modalità sideangle
m_SideEntityControlVM = New SideEntityControlVM(SideEntityControlVM.CallingWindowOpt.DXFIMPORT,
DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene,
SideEntityControlVM.ModeOpt.ENGRAVE)
SideEntityControl = New SideEntityControlV(m_SideEntityControlVM)
Open_IsEnabled = False
Type_IsEnabled = False
Measure_IsEnabled = False
PartData_Visibility = Visibility.Collapsed
OrderList_Visibility = Visibility.Collapsed
OkIsEnabled = False
Else
' Rimuovo regioni per percorsi interni
RemoveSelectRegions()
m_SideEntityControlVM.Close()
Open_IsEnabled = True
Type_IsEnabled = True
Measure_IsEnabled = True
PartData_Visibility = Visibility.Visible
OrderList_Visibility = Visibility.Visible
OkIsEnabled = True
m_SideEntityControlVM = Nothing
SideEntityControl = Nothing
' Elimino scritte angoli per input e inserisco quelle definitive
SideEntityControlVM.WriteSideAngleForNest(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
' Deseleziono tutto
DxfImportWindowMap.refDxfImportSceneHostV.Deselect()
' Pulisco area messaggi
ClearOutputMessage()
End If
NotifyPropertyChanged("EngraveIsChecked")
EgtZoom(ZM.ALL)
End Set
End Property
Private m_Drip_IsChecked As Boolean Private m_Drip_IsChecked As Boolean
Public Property Drip_IsChecked As Boolean Public Property Drip_IsChecked As Boolean
Get Get
Return m_Drip_IsChecked Return m_Drip_IsChecked
End Get End Get
Set(value As Boolean) Set(value As Boolean)
If m_SideAngle_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Then Return If m_SideAngle_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Or m_Engrave_IsChecked Then Return
m_Drip_IsChecked = value m_Drip_IsChecked = value
If value Then If value Then
' Messaggio di selezione contorno ' Messaggio di selezione contorno
@@ -283,7 +331,7 @@ Public Class DxfImportWindowVM
Return m_UnderDrill_IsChecked Return m_UnderDrill_IsChecked
End Get End Get
Set(value As Boolean) Set(value As Boolean)
If m_SideAngle_IsChecked Or m_Drip_IsChecked Or m_FiloTop_IsChecked Then Return If m_SideAngle_IsChecked Or m_Drip_IsChecked Or m_FiloTop_IsChecked Or m_Engrave_IsChecked Then Return
m_UnderDrill_IsChecked = value m_UnderDrill_IsChecked = value
If value Then If value Then
' Aggiungo regioni di selezione per percorsi interni ' Aggiungo regioni di selezione per percorsi interni
@@ -493,6 +541,12 @@ Public Class DxfImportWindowVM
End Get End Get
End Property End Property
Public ReadOnly Property EngraveMsg As String
Get
Return EgtMsg(90397)
End Get
End Property
Public ReadOnly Property DripMsg As String Public ReadOnly Property DripMsg As String
Get Get
Return EgtMsg(MSG_IMPORTPAGEUC + 8) Return EgtMsg(MSG_IMPORTPAGEUC + 8)
@@ -646,9 +700,13 @@ Public Class DxfImportWindowVM
Case FT.DXF Case FT.DXF
' recupero unità di misura del file ' recupero unità di misura del file
Dim dScale As Double = If(m_MmIsChecked, ONEMM, ONEINCH) Dim dScale As Double = If(m_MmIsChecked, ONEMM, ONEINCH)
' Importo file DXF ' Importo file DXF
If Not EgtImportDxf(m_sFilePath, dScale) Then Return False If Not EgtImportDxf(m_sFilePath, dScale) Then Return False
Case FT.NGE ' Riporto al piano tutte le superifici
EgtSelectAll()
EgtScale(GDB_ID.SEL, Frame3d.GLOB, 1, 1, 0)
EgtDeselectAll()
Case FT.NGE
' Carico Nge ' Carico Nge
If Not EgtOpenFile(m_sFilePath) Then Return False If Not EgtOpenFile(m_sFilePath) Then Return False
' Filtro Nge ' Filtro Nge
@@ -840,7 +898,7 @@ Public Class DxfImportWindowVM
Friend Sub SelectedPartChanged() Friend Sub SelectedPartChanged()
' Se sono in modalità inclinazioni o gocciolatoio calcolo lati inclinabili e creo testi ' Se sono in modalità inclinazioni o gocciolatoio calcolo lati inclinabili e creo testi
If SideAngle_IsChecked() Or Drip_IsChecked() Or FiloTop_IsChecked Then If SideAngle_IsChecked() Or Drip_IsChecked() Or FiloTop_IsChecked Or Engrave_IsChecked Then
m_SideEntityControlVM.ReLoadSideAnglePage(SideEntityControlVM.CallingWindowOpt.DXFIMPORT) m_SideEntityControlVM.ReLoadSideAnglePage(SideEntityControlVM.CallingWindowOpt.DXFIMPORT)
End If End If
End Sub End Sub
@@ -925,9 +983,9 @@ Public Class DxfImportWindowVM
Private Sub SetMsgColor(nMsgType As MSG_TYPE) Private Sub SetMsgColor(nMsgType As MSG_TYPE)
Select Case nMsgType Select Case nMsgType
Case MSG_TYPE.INFO Case MSG_TYPE.INFO
m_MsgColor = Brushes.Black m_MsgColor = Brushes.White
Case MSG_TYPE.WARNING Case MSG_TYPE.WARNING
m_MsgColor = Brushes.SaddleBrown m_MsgColor = Brushes.Gold
Case MSG_TYPE.ERROR_ Case MSG_TYPE.ERROR_
m_MsgColor = Brushes.Red m_MsgColor = Brushes.Red
End Select End Select
+93 -29
View File
@@ -1,4 +1,5 @@
Imports EgtUILib Imports System.Security.Cryptography
Imports EgtUILib
Friend Module CamAuto Friend Module CamAuto
@@ -32,7 +33,7 @@ Friend Module CamAuto
Return bOk Return bOk
End Function End Function
Friend Function AddWaterJetMachining( nOperId As Integer, ByRef nWarn As Integer) As Boolean Friend Function AddWaterJetMachining(nOperId As Integer, ByRef nWarn As Integer) As Boolean
EgtLuaCreateGlobTable("CAM") EgtLuaCreateGlobTable("CAM")
SetLuaStandardCamParams() SetLuaStandardCamParams()
EgtLuaSetGlobIntVar("CAM.OPERID", nOperId) EgtLuaSetGlobIntVar("CAM.OPERID", nOperId)
@@ -157,6 +158,69 @@ Friend Module CamAuto
Return bOk Return bOk
End Function End Function
Friend Function ResetAllSplitCut() As Boolean
Dim PartList As New List(Of Integer)
' Ricerca nei grezzi dei pezzi (devono essere ricercati tra quelli presenti nei grezzi)
Dim bOk As Boolean = True
' Recupero il numero di fasi presenti nel progetto
Dim nPhaseCount As Integer = EgtGetPhaseCount()
For nPhase As Integer = 1 To nPhaseCount
EgtSetCurrPhase(nPhase)
Dim nRawId As Integer = EgtGetFirstRawPart()
While nRawId <> GDB_ID.NULL
Dim nParId As Integer = EgtGetFirstPartInRawPart(nRawId)
If EgtVerifyRawPartPhase(nRawId, nPhase) Then
While nParId <> GDB_ID.NULL
Dim nNextParId As Integer = EgtGetNextPartInRawPart(nParId)
' verifico se il pezzo passato è un taglio di sepatazione (il nome deve contenere "SpliCut")
Dim sName As String = String.Empty
If EgtGetName(nParId, sName) AndAlso sName.Contains(SPLIT_CUT) Then
' Rimuovo il pezzo dal grezzo
If EgtRemovePartFromRawPart(nParId) Then
' Salvo l'indice del pezzo se non è stato già inserito
Dim nIndex As Integer = PartList.FirstOrDefault(Function(nId) nId = nParId)
If nIndex = 0 Then PartList.Add(nParId)
End If
End If
nParId = nNextParId
End While
End If
nRawId = EgtGetNextRawPart(nRawId)
End While
Next
' Reimposto la prima fase del progetto
EgtSetCurrPhase(1)
' Procedo ad eliminare il pezzo
For Each Item As Integer In PartList
bOk = bOk And EgtErase(Item)
Next
Return bOk
End Function
Friend Function RemoveCurrentSplitCut(nIdSplitCut As Integer) As Boolean
Dim bOk As Boolean = False
Dim nCurrPhase As Integer = EgtGetCurrPhase()
Dim nRawId As Integer = EgtGetFirstRawPart()
While nRawId <> GDB_ID.NULL
Dim nParId As Integer = EgtGetFirstPartInRawPart(nRawId)
If EgtVerifyRawPartPhase(nRawId, nCurrPhase) Then
While nParId <> GDB_ID.NULL
If nParId = nIdSplitCut Then
' Rimuovo il pezzo dal grezzo
bOk = EgtRemovePartFromRawPart(nParId)
Exit While
End If
nParId = EgtGetNextPartInRawPart(nParId)
End While
End If
If bOk Then Exit While
nRawId = EgtGetNextRawPart(nRawId)
End While
' Elimino il pezzo
bOk = bOk And EgtErase(nIdSplitCut)
Return bOk
End Function
' verifico che il contorno passato non sia stato separato ' verifico che il contorno passato non sia stato separato
Friend Function VerifyOutLoopIsClosed(nIdLayerOutLoop As Integer) As Boolean Friend Function VerifyOutLoopIsClosed(nIdLayerOutLoop As Integer) As Boolean
Dim nIdMy As Integer = EgtGetFirstInGroup(nIdLayerOutLoop) Dim nIdMy As Integer = EgtGetFirstInGroup(nIdLayerOutLoop)
@@ -260,7 +324,7 @@ Friend Module CamAuto
EgtGetGroupObjs(EgtGetFirstNameInGroup(nPartId, NAME_UNDERDRILL)) = 0 Then EgtGetGroupObjs(EgtGetFirstNameInGroup(nPartId, NAME_UNDERDRILL)) = 0 Then
Return True Return True
End If End If
' Se tutti i pezzi ' Se tutti i pezzi
Else Else
' Salvo fase attualmente corrente ' Salvo fase attualmente corrente
Dim nOriPhase As Integer = EgtGetCurrPhase() Dim nOriPhase As Integer = EgtGetCurrPhase()
@@ -401,9 +465,9 @@ Friend Module CamAuto
Dim sTool2 As String = String.Empty Dim sTool2 As String = String.Empty
EgtGetMachiningParam(MCH_MP.TUUID, sTuuid) EgtGetMachiningParam(MCH_MP.TUUID, sTuuid)
EgtTdbGetToolFromUUID(sTuuid, sTool) EgtTdbGetToolFromUUID(sTuuid, sTool)
If String.IsNullOrWhiteSpace( sTool) Then If String.IsNullOrWhiteSpace(sTool) Then
Dim sMchTool As String = "" Dim sMchTool As String = ""
EgtGetMachiningParam( MCH_MP.TOOL, sMchTool) EgtGetMachiningParam(MCH_MP.TOOL, sMchTool)
bOk = False bOk = False
If sMissingTools.IndexOf(sMchTool) = -1 Then If sMissingTools.IndexOf(sMchTool) = -1 Then
sMissingTools = sMissingTools & sMchTool & ", " sMissingTools = sMissingTools & sMchTool & ", "
@@ -417,7 +481,7 @@ Friend Module CamAuto
sTool2 = sTool & "-2" sTool2 = sTool & "-2"
End If End If
If String.Compare(sTool, CurrentMachine.sCurrSaw) <> 0 AndAlso If String.Compare(sTool, CurrentMachine.sCurrSaw) <> 0 AndAlso
( String.IsNullOrWhiteSpace( sTool2) OrElse String.Compare(sTool2, CurrentMachine.sCurrSaw) <> 0) AndAlso (String.IsNullOrWhiteSpace(sTool2) OrElse String.Compare(sTool2, CurrentMachine.sCurrSaw) <> 0) AndAlso
String.Compare(sTool, CurrentMachine.sCurrDripSaw) <> 0 Then String.Compare(sTool, CurrentMachine.sCurrDripSaw) <> 0 Then
bOk = False bOk = False
If sMissingTools.IndexOf(sTool) = -1 Then If sMissingTools.IndexOf(sTool) = -1 Then
@@ -483,7 +547,7 @@ Friend Module CamAuto
Dim nOperId As Integer = EgtGetFirstOperation() Dim nOperId As Integer = EgtGetFirstOperation()
While nOperId <> GDB_ID.NULL While nOperId <> GDB_ID.NULL
' verifico sia una lavorazione valida di taglio con lama ' verifico sia una lavorazione valida di taglio con lama
If IsValidMachining( nOperId) And EgtGetOperationType( nOperId) = MCH_OY.SAWING Then If IsValidMachining(nOperId) And EgtGetOperationType(nOperId) = MCH_OY.SAWING Then
' verifica interferenza ' verifica interferenza
Dim nFlag As Integer = FMI_TYPE.NONE Dim nFlag As Integer = FMI_TYPE.NONE
If Not VerifyComposedMachining(nOperId, nFlag) Then If Not VerifyComposedMachining(nOperId, nFlag) Then
@@ -604,8 +668,8 @@ Friend Module CamAuto
If nOriLeadIn <> MCH_SAW_LI.STRICT Then If nOriLeadIn <> MCH_SAW_LI.STRICT Then
EgtSetMachiningParam(MCH_MP.LEADINTYPE, MCH_SAW_LI.STRICT) EgtSetMachiningParam(MCH_MP.LEADINTYPE, MCH_SAW_LI.STRICT)
Dim dUserAddLen As Double = 0 Dim dUserAddLen As Double = 0
EgtGetInfo( nMchId, INFO_MCH_USER_SAL, dUserAddLen) EgtGetInfo(nMchId, INFO_MCH_USER_SAL, dUserAddLen)
EgtRemoveInfo( nMchId, INFO_MCH_USER_SAL) EgtRemoveInfo(nMchId, INFO_MCH_USER_SAL)
Dim dAddLen As Double = 0 Dim dAddLen As Double = 0
EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen) EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen)
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen - dUserAddLen - dSafeLen) EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen - dUserAddLen - dSafeLen)
@@ -624,8 +688,8 @@ Friend Module CamAuto
If nOriLeadOut <> MCH_SAW_LO.STRICT Then If nOriLeadOut <> MCH_SAW_LO.STRICT Then
EgtSetMachiningParam(MCH_MP.LEADOUTTYPE, MCH_SAW_LO.STRICT) EgtSetMachiningParam(MCH_MP.LEADOUTTYPE, MCH_SAW_LO.STRICT)
Dim dUserAddLen As Double = 0 Dim dUserAddLen As Double = 0
EgtGetInfo( nMchId, INFO_MCH_USER_EAL, dUserAddLen) EgtGetInfo(nMchId, INFO_MCH_USER_EAL, dUserAddLen)
EgtRemoveInfo( nMchId, INFO_MCH_USER_EAL) EgtRemoveInfo(nMchId, INFO_MCH_USER_EAL)
Dim dAddLen As Double = 0 Dim dAddLen As Double = 0
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen) EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen)
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen - dUserAddLen - dSafeLen) EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen - dUserAddLen - dSafeLen)
@@ -956,13 +1020,13 @@ Friend Module CamAuto
Dim nRawId As Integer = EgtGetFirstRawPart() Dim nRawId As Integer = EgtGetFirstRawPart()
If nRawId = GDB_ID.NULL Then Return False If nRawId = GDB_ID.NULL Then Return False
' Se non ci sono pezzi, esco ' Se non ci sono pezzi, esco
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart( nRawId) Dim nPart1Id As Integer = EgtGetFirstPartInRawPart(nRawId)
If nPart1Id = GDB_ID.NULL Then Return True If nPart1Id = GDB_ID.NULL Then Return True
' Verifico se cornice curva ' Verifico se cornice curva
Dim nDir As Integer = 0 Dim nDir As Integer = 0
EgtGetInfo(nPart1Id, INFO_FRAME_DIR, nDir) EgtGetInfo(nPart1Id, INFO_FRAME_DIR, nDir)
Dim bSwap As Boolean = ( nDir = 0) Dim bSwap As Boolean = (nDir = 0)
Dim bCurved As Boolean = ( nDir >= 2) Dim bCurved As Boolean = (nDir >= 2)
' Recupero la lavorazione corrente di sgrossatura con lama ' Recupero la lavorazione corrente di sgrossatura con lama
Dim sCurrSawRou As String = CurrentMachine.sCurrSawRoughing Dim sCurrSawRou As String = CurrentMachine.sCurrSawRoughing
If String.IsNullOrEmpty(sCurrSawRou) Then Return True If String.IsNullOrEmpty(sCurrSawRou) Then Return True
@@ -989,8 +1053,8 @@ Friend Module CamAuto
' Imposto la geometria ' Imposto la geometria
EgtSetMachiningGeometry(vId) EgtSetMachiningGeometry(vId)
' Imposto trim iniziale e finale ' Imposto trim iniziale e finale
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If( bSwap, -dTrimEnd, -dTrimStart)) EgtSetMachiningParam(MCH_MP.STARTADDLEN, If(bSwap, -dTrimEnd, -dTrimStart))
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If( bSwap, -dTrimStart, -dTrimEnd)) EgtSetMachiningParam(MCH_MP.ENDADDLEN, If(bSwap, -dTrimStart, -dTrimEnd))
' Se cornice curva, imposto SCC ' Se cornice curva, imposto SCC
If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR) If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR)
' Applico la lavorazione ' Applico la lavorazione
@@ -1005,13 +1069,13 @@ Friend Module CamAuto
Dim nRawId As Integer = EgtGetFirstRawPart() Dim nRawId As Integer = EgtGetFirstRawPart()
If nRawId = GDB_ID.NULL Then Return False If nRawId = GDB_ID.NULL Then Return False
' Se non ci sono pezzi, esco ' Se non ci sono pezzi, esco
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart( nRawId) Dim nPart1Id As Integer = EgtGetFirstPartInRawPart(nRawId)
If nPart1Id = GDB_ID.NULL Then Return True If nPart1Id = GDB_ID.NULL Then Return True
' Verifico se cornice curva ' Verifico se cornice curva
Dim nDir As Integer = 0 Dim nDir As Integer = 0
EgtGetInfo( nPart1Id, INFO_FRAME_DIR, nDir) EgtGetInfo(nPart1Id, INFO_FRAME_DIR, nDir)
Dim bSwap As Boolean = ( nDir = 0) Dim bSwap As Boolean = (nDir = 0)
Dim bCurved As Boolean = ( nDir >= 2) Dim bCurved As Boolean = (nDir >= 2)
' Recupero la lavorazione corrente di finitura con lama ' Recupero la lavorazione corrente di finitura con lama
Dim sCurrSawFin As String = CurrentMachine.sCurrSawFinishing Dim sCurrSawFin As String = CurrentMachine.sCurrSawFinishing
If String.IsNullOrEmpty(sCurrSawFin) Then Return True If String.IsNullOrEmpty(sCurrSawFin) Then Return True
@@ -1048,8 +1112,8 @@ Friend Module CamAuto
' Imposto la geometria ' Imposto la geometria
EgtSetMachiningGeometry(vId) EgtSetMachiningGeometry(vId)
' Imposto trim iniziale e finale ' Imposto trim iniziale e finale
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If( bSwap, -dTrimEnd, -dTrimStart)) EgtSetMachiningParam(MCH_MP.STARTADDLEN, If(bSwap, -dTrimEnd, -dTrimStart))
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If( bSwap, -dTrimStart, -dTrimEnd)) EgtSetMachiningParam(MCH_MP.ENDADDLEN, If(bSwap, -dTrimStart, -dTrimEnd))
' Se cornice curva, imposto SCC ' Se cornice curva, imposto SCC
If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR) If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR)
' Applico la lavorazione ' Applico la lavorazione
@@ -1064,13 +1128,13 @@ Friend Module CamAuto
Dim nRawId As Integer = EgtGetFirstRawPart() Dim nRawId As Integer = EgtGetFirstRawPart()
If nRawId = GDB_ID.NULL Then Return False If nRawId = GDB_ID.NULL Then Return False
' Se non ci sono pezzi, esco ' Se non ci sono pezzi, esco
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart( nRawId) Dim nPart1Id As Integer = EgtGetFirstPartInRawPart(nRawId)
If nPart1Id = GDB_ID.NULL Then Return True If nPart1Id = GDB_ID.NULL Then Return True
' Verifico se cornice curva ' Verifico se cornice curva
Dim nDir As Integer = 0 Dim nDir As Integer = 0
EgtGetInfo(nPart1Id, INFO_FRAME_DIR, nDir) EgtGetInfo(nPart1Id, INFO_FRAME_DIR, nDir)
Dim bSwap As Boolean = ( nDir = 0) Dim bSwap As Boolean = (nDir = 0)
Dim bCurved As Boolean = ( nDir >= 2) Dim bCurved As Boolean = (nDir >= 2)
' Recupero la lavorazione corrente di spatolatura con lama ' Recupero la lavorazione corrente di spatolatura con lama
Dim sCurrSawSideFin As String = CurrentMachine.sCurrSawSideFinishing Dim sCurrSawSideFin As String = CurrentMachine.sCurrSawSideFinishing
If String.IsNullOrEmpty(sCurrSawSideFin) Then Return True If String.IsNullOrEmpty(sCurrSawSideFin) Then Return True
@@ -1091,8 +1155,8 @@ Friend Module CamAuto
' Imposto la geometria ' Imposto la geometria
EgtSetMachiningGeometry(vId) EgtSetMachiningGeometry(vId)
' Imposto trim iniziale e finale ' Imposto trim iniziale e finale
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If( bSwap, -dTrimEnd, -dTrimStart)) EgtSetMachiningParam(MCH_MP.STARTADDLEN, If(bSwap, -dTrimEnd, -dTrimStart))
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If( bSwap, -dTrimStart, -dTrimEnd)) EgtSetMachiningParam(MCH_MP.ENDADDLEN, If(bSwap, -dTrimStart, -dTrimEnd))
' Se cornice curva, imposto SCC ' Se cornice curva, imposto SCC
If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR) If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR)
' Applico la lavorazione ' Applico la lavorazione
@@ -1231,14 +1295,14 @@ Friend Module CamAuto
dStartDist = dEndDist dStartDist = dEndDist
dEndDist = dTemp dEndDist = dTemp
End If End If
' altrimenti ' altrimenti
Else Else
Dim vtSide As Vector3d Dim vtSide As Vector3d
' Se faccia non limitata da altre o sopra la limitante ' Se faccia non limitata da altre o sopra la limitante
If bFree Then If bFree Then
EgtSetMachiningParam(MCH_MP.FACEUSE, MCH_MIL_FU.ORTUP_DOWN) EgtSetMachiningParam(MCH_MP.FACEUSE, MCH_MIL_FU.ORTUP_DOWN)
vtSide = Vector3d.Z_AX() vtSide = Vector3d.Z_AX()
' altrimenti è stata trovata una faccia adiacente limitante ' altrimenti è stata trovata una faccia adiacente limitante
Else Else
If vtAdjN.x > 10 * EPS_SMALL Then If vtAdjN.x > 10 * EPS_SMALL Then
EgtSetMachiningParam(MCH_MP.FACEUSE, MCH_MIL_FU.ORTUP_LEFT) EgtSetMachiningParam(MCH_MP.FACEUSE, MCH_MIL_FU.ORTUP_LEFT)
+7
View File
@@ -158,6 +158,8 @@ Module ConstMach
Public Const NAME_UNDERDRILL As String = "UnderDrill" Public Const NAME_UNDERDRILL As String = "UnderDrill"
' Nome layer preview ' Nome layer preview
Public Const NAME_PREVIEW As String = "PV" Public Const NAME_PREVIEW As String = "PV"
Public Const NAME_BRIDGES As String = "Bridges"
Public Const NAME_BRIDGESLINE As String = "BridgeLine"
' Info in layer contorno interno per FiloTop ' Info in layer contorno interno per FiloTop
Public Const INFO_FILOTOP As String = "FiloTop" Public Const INFO_FILOTOP As String = "FiloTop"
Public Const INFO_ROUNDOFF As String = "RoundOff" Public Const INFO_ROUNDOFF As String = "RoundOff"
@@ -258,6 +260,8 @@ Module ConstMach
Public Const INFO_AUX_SPLIT_WJ As String = "AUX_SPLIT_WJ" Public Const INFO_AUX_SPLIT_WJ As String = "AUX_SPLIT_WJ"
' Info in OutLoop per punto inzio lavorazione WaterJet ' Info in OutLoop per punto inzio lavorazione WaterJet
Public Const INFO_START As String = "Start" Public Const INFO_START As String = "Start"
' Nome dei tagli diretti inseriti in fase di Splitting
Public Const SPLIT_CUT As String = "SplitCut"
' Nome di pezzo che è una cornice ' Nome di pezzo che è una cornice
Public Const NAME_FRAME As String = "Frame" Public Const NAME_FRAME As String = "Frame"
@@ -324,6 +328,9 @@ Module ConstMach
Public Function COL_MCH_DRIPCUT() As Color3d Public Function COL_MCH_DRIPCUT() As Color3d
Return New Color3d(255, 0, 165) Return New Color3d(255, 0, 165)
End Function End Function
Public Function COL_MCH_ONENGRAVE_ANG() As Color3d
Return New Color3d(255, 255, 100)
End Function
Public Function COL_MCH_DRIPFREE() As Color3d Public Function COL_MCH_DRIPFREE() As Color3d
Return New Color3d(192, 0, 128) Return New Color3d(192, 0, 128)
End Function End Function
+6
View File
@@ -247,9 +247,13 @@
Public Const K_CURRDRIPDRILL As String = "CurrDripDrill" Public Const K_CURRDRIPDRILL As String = "CurrDripDrill"
Public Const K_CURRWATERJET As String = "CurrWaterJet" Public Const K_CURRWATERJET As String = "CurrWaterJet"
Public Const K_CURRSAWING As String = "CurrSawing" Public Const K_CURRSAWING As String = "CurrSawing"
Public Const K_CURRSAWING_OFFICE As String = "CurrOfficeSawing"
Public Const K_CURRDRILLING As String = "CurrDrilling" Public Const K_CURRDRILLING As String = "CurrDrilling"
Public Const K_CURRDRILLING_OFFICE As String = "CurrOfficeDrilling"
Public Const K_CURRMILLING As String = "CurrMilling" Public Const K_CURRMILLING As String = "CurrMilling"
Public Const K_CURRMILLING_OFFICE As String = "CurrOfficeMilling"
Public Const K_CURRPOCKETING As String = "CurrPocketing" Public Const K_CURRPOCKETING As String = "CurrPocketing"
Public Const K_CURRPOCKETING_OFFICE As String = "CurrOfficePocketing"
Public Const K_CURRSAWROUGHING As String = "CurrSawRoughing" Public Const K_CURRSAWROUGHING As String = "CurrSawRoughing"
Public Const K_CURRSAWFINISHING As String = "CurrSawFinishing" Public Const K_CURRSAWFINISHING As String = "CurrSawFinishing"
Public Const K_CURRSAWSIDEFINISHING As String = "CurrSawSideFinishing" Public Const K_CURRSAWSIDEFINISHING As String = "CurrSawSideFinishing"
@@ -257,7 +261,9 @@
Public Const K_CURRDRIPSAWING As String = "CurrDripSawing" Public Const K_CURRDRIPSAWING As String = "CurrDripSawing"
Public Const K_CURRDRIPDRILLING As String = "CurrDripDrilling" Public Const K_CURRDRIPDRILLING As String = "CurrDripDrilling"
Public Const K_CURRWATERJETTING As String = "CurrWaterJetting" Public Const K_CURRWATERJETTING As String = "CurrWaterJetting"
Public Const K_CURRWATERJETTING_OFFICE As String = "CurrOfficeWaterJetting"
Public Const K_CURRWATERJETTINGQUALITY As String = "CurrWaterJettingQuality" Public Const K_CURRWATERJETTINGQUALITY As String = "CurrWaterJettingQuality"
Public Const K_CURRWATERJETTINGQUALITY_OFFICE As String = "CurrWaterJettingQuality"
Public Const S_MATERIALS As String = "Materials" Public Const S_MATERIALS As String = "Materials"
Public Const K_CURRMATERIAL As String = "CurrMaterial" Public Const K_CURRMATERIAL As String = "CurrMaterial"
+1 -1
View File
@@ -1418,7 +1418,7 @@ Friend Property sCurrMillNoTip As String
' recupro dalla lista delle macchine l'oggetto associato al nome indicato ' recupro dalla lista delle macchine l'oggetto associato al nome indicato
Public Sub GetMachineClass(sMachineName As String) Public Sub GetMachineClass(sMachineName As String)
For Each Item In OmagOFFICEMap.refMachinePanelVM.MachineList For Each Item In OmagOFFICEMap.refMachinePanelVM.MachineList
If Item.Name = sMachineName Then If string.Compare(Item.Name, sMachineName, True) = 0 Then
OmagOFFICEMap.refMachinePanelVM.SelectedMachine = Item OmagOFFICEMap.refMachinePanelVM.SelectedMachine = Item
Exit For Exit For
End If End If
+5 -5
View File
@@ -247,7 +247,7 @@ Module EstCalc
Friend Function SetCurrSawing(sCurrSawing As String) As Boolean Friend Function SetCurrSawing(sCurrSawing As String) As Boolean
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers") Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
If nOperId = GDB_ID.NULL Then Return False If nOperId = GDB_ID.NULL Then Return False
Return EgtSetInfo(nOperId, INFO_CURRSAWING, sCurrSawing) Return EgtSetInfo(nOperId, INFO_CURRSAWING, sCurrSawing, True)
End Function End Function
Friend Function GetCurrSawing() As String Friend Function GetCurrSawing() As String
@@ -261,7 +261,7 @@ Module EstCalc
Friend Function SetCurrMilling(sCurrMilling As String) As Boolean Friend Function SetCurrMilling(sCurrMilling As String) As Boolean
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers") Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
If nOperId = GDB_ID.NULL Then Return False If nOperId = GDB_ID.NULL Then Return False
Return EgtSetInfo(nOperId, INFO_CURRMILLING, sCurrMilling) Return EgtSetInfo(nOperId, INFO_CURRMILLING, sCurrMilling, True)
End Function End Function
Friend Function GetCurrMilling() As String Friend Function GetCurrMilling() As String
@@ -275,7 +275,7 @@ Module EstCalc
Friend Function SetCurrDrilling(sCurrDrilling As String) As Boolean Friend Function SetCurrDrilling(sCurrDrilling As String) As Boolean
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers") Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
If nOperId = GDB_ID.NULL Then Return False If nOperId = GDB_ID.NULL Then Return False
Return EgtSetInfo(nOperId, INFO_CURRDRILLING, sCurrDrilling) Return EgtSetInfo(nOperId, INFO_CURRDRILLING, sCurrDrilling, True)
End Function End Function
Friend Function GetCurrDrilling() As String Friend Function GetCurrDrilling() As String
@@ -289,7 +289,7 @@ Module EstCalc
Friend Function SetCurrPocketing(sCurrMilling As String) As Boolean Friend Function SetCurrPocketing(sCurrMilling As String) As Boolean
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers") Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
If nOperId = GDB_ID.NULL Then Return False If nOperId = GDB_ID.NULL Then Return False
Return EgtSetInfo(nOperId, INFO_CURRPOCKETING, sCurrMilling) Return EgtSetInfo(nOperId, INFO_CURRPOCKETING, sCurrMilling, True)
End Function End Function
Friend Function GetCurrPocketing() As String Friend Function GetCurrPocketing() As String
@@ -303,7 +303,7 @@ Module EstCalc
Friend Function SetCurrWaterjetting(sCurrMilling As String) As Boolean Friend Function SetCurrWaterjetting(sCurrMilling As String) As Boolean
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers") Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
If nOperId = GDB_ID.NULL Then Return False If nOperId = GDB_ID.NULL Then Return False
Return EgtSetInfo(nOperId, INFO_CURRWATERJETTING, sCurrMilling) Return EgtSetInfo(nOperId, INFO_CURRWATERJETTING, sCurrMilling, True)
End Function End Function
Friend Function GetCurrWaterjetting() As String Friend Function GetCurrWaterjetting() As String
+38 -12
View File
@@ -92,11 +92,12 @@ Public Module SplitAuto
Mach.m_dStartFreeLen = FREELEN_INF + 1 Mach.m_dStartFreeLen = FREELEN_INF + 1
Mach.m_dEndFreeLen = FREELEN_INF + 1 Mach.m_dEndFreeLen = FREELEN_INF + 1
Dim nEntId, nSub As Integer Dim nEntId, nSub As Integer
If EgtGetMachiningGeometry( 0, nEntId, nSub) Then If EgtGetMachiningGeometry(0, nEntId, nSub) Then
If EgtGetType( nEntId) = GDB_TY.CRV_ARC OrElse EgtGetType( nEntId) = GDB_TY.CRV_COMPO Then Mach.m_bIsLine = False ' EgtGetType( nEntId) = GDB_TY.CRV_ARC OrElse
EgtGetInfo( nEntId, If( Not Mach.m_bInvert, INFO_PREVANG, INFO_NEXTANG), Mach.m_dPrevAng) If EgtGetType(nEntId) = GDB_TY.CRV_COMPO Then Mach.m_bIsLine = False
EgtGetInfo( nEntId, If( Not Mach.m_bInvert, INFO_NEXTANG, INFO_PREVANG), Mach.m_dNextAng) EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_PREVANG, INFO_NEXTANG), Mach.m_dPrevAng)
EgtGetInfo( nEntId, If( Not Mach.m_bInvert, INFO_START_FREELEN, INFO_END_FREELEN), Mach.m_dStartFreeLen) EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_NEXTANG, INFO_PREVANG), Mach.m_dNextAng)
EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_START_FREELEN, INFO_END_FREELEN), Mach.m_dStartFreeLen)
EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_END_FREELEN, INFO_START_FREELEN), Mach.m_dEndFreeLen) EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_END_FREELEN, INFO_START_FREELEN), Mach.m_dEndFreeLen)
Mach.m_bEnableInvert = GetEnableInvert(nEntId) Mach.m_bEnableInvert = GetEnableInvert(nEntId)
EgtMidVector(nEntId, GDB_ID.ROOT, Mach.m_vtDir) EgtMidVector(nEntId, GDB_ID.ROOT, Mach.m_vtDir)
@@ -383,28 +384,53 @@ Public Module SplitAuto
For Each nCut As Integer In vCuts For Each nCut As Integer In vCuts
RemoveMachiningPreview(nCut) RemoveMachiningPreview(nCut)
Next Next
' Sposto tutte le lavorazioni disabilitate e le eventuali inglobate nella nuova fase ' ---------------------------------- LAVORAZIONI ----------------------------------
ChangeOperationPhase(nNewPhase)
' ---------------------------------- LAVORAZIONI ----------------------------------
Return True
End Function
Friend Sub ChangeOperationPhase(nNewPhase As Integer)
' creo l'elenco delle lavorazioni che devono essere sposate
Dim MchList As New List(Of Integer)
' Recupero le lavorazioni disabilitate e le eventuali inglobate nella nuova fase
Dim nId = EgtGetFirstOperation() Dim nId = EgtGetFirstOperation()
While nId <> GDB_ID.NULL While nId <> GDB_ID.NULL
Dim nNextId = EgtGetNextOperation(nId) Dim nNextId = EgtGetNextOperation(nId)
If IsValidMachining(nId) And EgtGetOperationPhase(nId) = nNewPhase - 1 And EgtExistsInfo(nId, INFO_MCH_USER_OFF) Then If IsValidMachining(nId) And EgtGetOperationPhase(nId) = nNewPhase - 1 And EgtExistsInfo(nId, INFO_MCH_USER_OFF) Then
' sposto la lavorazione ' Provo ad inserire la lavorazione nell'elenco
EgtChangeOperationPhase(nId, nNewPhase) AddMach(MchList, nId)
' sposto le inglobate ' sposto le inglobate
Dim sInfo As String = String.Empty Dim sInfo As String = String.Empty
If EgtGetInfo(nId, INFO_MCH_OTHMID, sInfo) Then If EgtGetInfo(nId, INFO_MCH_OTHMID, sInfo) Then
Dim sItems() As String = sInfo.Split(",".ToCharArray) Dim sItems() As String = sInfo.Split(",".ToCharArray)
For Each sId2 In sItems For Each sId2 As String In sItems
Dim nId2 As Integer = 0 Dim nId2 As Integer = 0
StringToInt(sId2, nId2) StringToInt(sId2, nId2)
If nId2 > 0 Then EgtChangeOperationPhase(nId2, nNewPhase) If nId2 > 0 Then
' Provo ad inserire la lavorazione nell'elenco
AddMach(MchList, nId2)
End If
Next Next
End If End If
End If End If
nId = nNextId nId = nNextId
End While End While
Return True ' Procedo ora a spostare le lavorazioni nella nuova disposizione
End Function For Each ItemMchId As Integer In MchList
EgtChangeOperationPhase(ItemMchId, nNewPhase)
Next
End Sub
' Inserisce gli inidici delle lavorazioni evitando di inserire dei doppioni
Private Sub AddMach(MchList As List(Of Integer), IdMch As Integer)
For Each Item As Integer In MchList
If IdMch = Item Then
Return
End If
Next
MchList.Add(IdMch)
End Sub
'----------------------------------------------------------------------------------------------- '-----------------------------------------------------------------------------------------------
Friend Function CalculateSplitAuto() As Boolean Friend Function CalculateSplitAuto() As Boolean
+26 -8
View File
@@ -444,15 +444,14 @@ Module VacuumCups
Dim dLen, dAngVertDeg, dAngOrizzDeg As Double Dim dLen, dAngVertDeg, dAngOrizzDeg As Double
frMinRect.VersX().ToSpherical(dLen, dAngVertDeg, dAngOrizzDeg) frMinRect.VersX().ToSpherical(dLen, dAngVertDeg, dAngOrizzDeg)
dRotAngDeg = dAngOrizzDeg dRotAngDeg = dAngOrizzDeg
If b3Vac.DimY() > b3Vac.DimX() + EPS_SMALL Then dRotAngDeg -= 90
Dim dPreferredRot As Double = m_dPreferredRot Dim dPreferredRot As Double = m_dPreferredRot
If bRotateVacuumNearExtraStrokeX And (Math.Abs(dRotAngDeg - 90) < 45 Or Math.Abs(dRotAngDeg - 270) < 45) Then If bRotateVacuumNearExtraStrokeX And Not IsHorizontal(dAngOrizzDeg) Then
If frMinRect.Orig().x < b3Tab.Center().x Then If frMinRect.Orig().x < b3Tab.Center().x Then
dPreferredRot = m_dPrefVertRotXMinus dPreferredRot = m_dPrefVertRotXMinus
Else Else
dPreferredRot = m_dPrefVertRotXPlus dPreferredRot = m_dPrefVertRotXPlus
End If End If
ElseIf bRotateVacuumNearExtraStrokeY And (Math.Abs(dRotAngDeg - 90) > 45 Or Math.Abs(dRotAngDeg - 270) > 45) Then ElseIf bRotateVacuumNearExtraStrokeY And IsHorizontal(dAngOrizzDeg) Then
' se l'orientemanto è orizzontale e la macchina è stata abilitata ' se l'orientemanto è orizzontale e la macchina è stata abilitata
If frMinRect.Orig().y < b3Tab.Center().y Then If frMinRect.Orig().y < b3Tab.Center().y Then
dPreferredRot = m_dPrefVertRotYPlus dPreferredRot = m_dPrefVertRotYPlus
@@ -460,6 +459,7 @@ Module VacuumCups
dPreferredRot = m_dPrefVertRotYMinus dPreferredRot = m_dPrefVertRotYMinus
End If End If
End If End If
If b3Vac.DimY() > b3Vac.DimX() + EPS_SMALL Then dRotAngDeg -= 90
Dim dAngDelta As Double = If( Math.Abs( b3Vac.DimY() - b3Vac.DimX()) < 10 * EPS_SMALL, 90, 180) Dim dAngDelta As Double = If( Math.Abs( b3Vac.DimY() - b3Vac.DimX()) < 10 * EPS_SMALL, 90, 180)
While dRotAngDeg - dPreferredRot >= dAngDelta / 2 While dRotAngDeg - dPreferredRot >= dAngDelta / 2
dRotAngDeg -= dAngDelta dRotAngDeg -= dAngDelta
@@ -530,16 +530,34 @@ Module VacuumCups
Return dDist Return dDist
End Function End Function
Private Function IsHorizontal(dDegAng As Double) As Boolean
If (Math.Abs(dDegAng) > 45 And Math.Abs(dDegAng) < 135) Or (Math.Abs(dDegAng) > 225 And Math.Abs(dDegAng) < 315) Then
Return False
End If
Return True
End Function
' assegante le posizioni del centro delle ventose e l'angolo di posizionamento orizzontale verifica che la posizione sia raggiungibile ' assegante le posizioni del centro delle ventose e l'angolo di posizionamento orizzontale verifica che la posizione sia raggiungibile
Public Function VerifyOutOfStrokes(ptRef As Point3d, dRotAngDeg As Double) As Integer Public Function VerifyOutOfStrokes(ptRef As Point3d, dRotAngDeg As Double) As Integer
Dim dX, dY, dZ As Double ' Posizione Home dell'asse rotante
Dim nStat As Integer
Dim dCHome As Double Dim dCHome As Double
EgtGetAxisHomePos("C", dCHome) EgtGetAxisHomePos("C", dCHome)
' imposto la l'uscita della ventosa come fosse l'uscita di un utensile ' Corse dell'asse
Dim dCMin As Double
EgtGetAxisMin("C", dCMin)
Dim dCMax As Double
EgtGetAxisMax("C", dCMax)
' Porto l'angolo nel range
Dim dRotAngMachDeg As Double = dRotAngDeg + dCHome
AdjustAngleInRange(dRotAngMachDeg, dCMin, dCMax)
' Imposto la ventosa come fosse un utensile
EgtSetCalcTool("", "H4", 1) EgtSetCalcTool("", "H4", 1)
EgtGetCalcPositions(ptRef, dRotAngDeg + dCHome, 0, nStat, dX, dY, dZ) ' Calcolo gli assi macchina
EgtVerifyOutstroke(dX, dY, dZ, dRotAngDeg + dCHome, 0, nStat) Dim dX, dY, dZ As Double
Dim nStat As Integer
EgtGetCalcPositions(ptRef, dRotAngMachDeg, 0, nStat, dX, dY, dZ)
' Verifico le corse
EgtVerifyOutstroke(dX, dY, dZ, dRotAngMachDeg, 0, nStat)
Return nStat Return nStat
End Function End Function
+1
View File
@@ -20,6 +20,7 @@
Margin="0,5,0,0" Margin="0,5,0,0"
Content="Verify"/> Content="Verify"/>
<ToggleButton Name="MagneticBtn" Height="40" Width="80" <ToggleButton Name="MagneticBtn" Height="40" Width="80"
Visibility="Collapsed"
Margin="0,5,0,0" Margin="0,5,0,0"
Content="Magnetic"/> Content="Magnetic"/>
<Button Name="ExportBtn" Height="40" Width="80" <Button Name="ExportBtn" Height="40" Width="80"
+68 -44
View File
@@ -4,6 +4,7 @@ Imports System.Collections.ObjectModel
Imports System.Runtime.InteropServices Imports System.Runtime.InteropServices
Imports EgtUILib Imports EgtUILib
Imports EgtWPFLib5 Imports EgtWPFLib5
Imports OmagOFFICE.VeinMatchingWindow
Public Class VeinMatchingWindow Public Class VeinMatchingWindow
@@ -29,6 +30,18 @@ Public Class VeinMatchingWindow
Private m_locPrev As System.Drawing.Point Private m_locPrev As System.Drawing.Point
Private m_ptPrev As Point3d Private m_ptPrev As Point3d
Private m_ptCen As Point3d Private m_ptCen As Point3d
' Gestione rotazione pezzi in fase di Drag
Private m_bKeyCtrlPressed As Boolean = False
Private m_bKeyLeftShiftPressed As Boolean = False
Private m_dAngTotal As Double = 0
Private m_dStartAng As Double = 0
Private m_bStartRot As Boolean = False
Private m_bStartMove As Boolean = False
Enum ALETTE
F = 2
A = 1
End Enum
Private Sub Window_Initialized(sender As Object, e As EventArgs) Private Sub Window_Initialized(sender As Object, e As EventArgs)
' Assegnazione scena all'host e posizionamento nella PlacePageGrid ' Assegnazione scena all'host e posizionamento nella PlacePageGrid
@@ -249,14 +262,14 @@ Public Class VeinMatchingWindow
EgtMovePartToSnapPointOnCollision(nMoveId, True, m_dSnapDist, bSnapMoved) EgtMovePartToSnapPointOnCollision(nMoveId, True, m_dSnapDist, bSnapMoved)
End If End If
End If End If
' Standard ' Standard
Else Else
EgtMove(nMoveId, vtMove) EgtMove(nMoveId, vtMove)
End If End If
VeinMatching.SetProjectModified() VeinMatching.SetProjectModified()
EgtDraw() EgtDraw()
End If End If
' altrimenti rotazione ' altrimenti rotazione
Else Else
' Ricavo l'angolo di movimento ' Ricavo l'angolo di movimento
Dim vtPrev As Vector3d = m_ptPrev - m_ptCen Dim vtPrev As Vector3d = m_ptPrev - m_ptCen
@@ -266,7 +279,7 @@ Public Class VeinMatchingWindow
' Con verifica di collisione ' Con verifica di collisione
If m_bCurrVerify Then If m_bCurrVerify Then
EgtRotatePart(nMoveId, True, m_ptCen, dAngRotDeg) EgtRotatePart(nMoveId, True, m_ptCen, dAngRotDeg)
' Standard ' Standard
Else Else
EgtRotate(nMoveId, m_ptCen, Vector3d.Z_AX(), dAngRotDeg, GDB_RT.GLOB) EgtRotate(nMoveId, m_ptCen, Vector3d.Z_AX(), dAngRotDeg, GDB_RT.GLOB)
End If End If
@@ -286,15 +299,15 @@ Public Class VeinMatchingWindow
' Se eseguito drag ' Se eseguito drag
If Not m_bDragToStart Then If Not m_bDragToStart Then
' Non serve fare alcunché ' Non serve fare alcunché
' Se selezione da eseguire ' Se selezione da eseguire
ElseIf m_nIdToSel <> GDB_ID.NULL Then ElseIf m_nIdToSel <> GDB_ID.NULL Then
' Eseguo la selezione ' Eseguo la selezione
EgtSelectObj(m_nIdToSel) EgtSelectObj(m_nIdToSel)
' Se deselezione da eseguire ' Se deselezione da eseguire
ElseIf m_nIdToDesel <> GDB_ID.NULL Then ElseIf m_nIdToDesel <> GDB_ID.NULL Then
EgtDeselectObj(m_nIdToDesel) EgtDeselectObj(m_nIdToDesel)
End If End If
' Altrimenti selezione/deselezione anche per nesting ' Altrimenti selezione/deselezione anche per nesting
Else Else
' Se selezione da eseguire ' Se selezione da eseguire
If m_nIdToSel <> GDB_ID.NULL Then If m_nIdToSel <> GDB_ID.NULL Then
@@ -322,7 +335,7 @@ Public Class VeinMatchingWindow
EgtSetCurrentContext(VeinMatchingScene.GetCtx()) EgtSetCurrentContext(VeinMatchingScene.GetCtx())
' Se selezione riuscita, la eseguo anche in VME ' Se selezione riuscita, la eseguo anche in VME
If bSelected Then EgtSelectObj(m_nIdToSel) If bSelected Then EgtSelectObj(m_nIdToSel)
' Se deselezione da eseguire ' Se deselezione da eseguire
ElseIf m_nIdToDesel <> GDB_ID.NULL Then ElseIf m_nIdToDesel <> GDB_ID.NULL Then
' Eseguo la deselezione in Nesting ' Eseguo la deselezione in Nesting
Dim bDeselected As Boolean = False Dim bDeselected As Boolean = False
@@ -500,31 +513,31 @@ Friend Module VeinMatching
Dim PartId As Integer = EgtGetFirstPart() Dim PartId As Integer = EgtGetFirstPart()
While PartId <> GDB_ID.NULL While PartId <> GDB_ID.NULL
Dim b3Tmp As New BBox3d() Dim b3Tmp As New BBox3d()
if EgtGetBBoxGlob( PartId, GDB_BB.STANDARD, b3Tmp) Then b3Parts.Add( b3Tmp) If EgtGetBBoxGlob(PartId, GDB_BB.STANDARD, b3Tmp) Then b3Parts.Add(b3Tmp)
PartId = EgtGetNextPart(PartId) PartId = EgtGetNextPart(PartId)
End While End While
' Se ingombro troppo grande, errore ' Se ingombro troppo grande, errore
If b3Parts.DimX() > 2 * ( DIM_REG - SAFE_DIST) Or b3Parts.DimY() > 2 * ( DIM_REG - SAFE_DIST) Then If b3Parts.DimX() > 2 * (DIM_REG - SAFE_DIST) Or b3Parts.DimY() > 2 * (DIM_REG - SAFE_DIST) Then
Return False Return False
End If End If
' Se fuori dalla regione di validità, li muovo ' Se fuori dalla regione di validità, li muovo
Dim vtMove As New Vector3d Dim vtMove As New Vector3d
If b3Parts.Min().x < -DIM_REG + SAFE_DIST Then If b3Parts.Min().x < -DIM_REG + SAFE_DIST Then
vtMove += New Vector3d( -DIM_REG + SAFE_DIST - b3Parts.Min().x, 0, 0) vtMove += New Vector3d(-DIM_REG + SAFE_DIST - b3Parts.Min().x, 0, 0)
End If End If
If b3Parts.Min().y < -DIM_REG + SAFE_DIST Then If b3Parts.Min().y < -DIM_REG + SAFE_DIST Then
vtMove += New Vector3d( 0, -DIM_REG + SAFE_DIST - b3Parts.Min().y, 0) vtMove += New Vector3d(0, -DIM_REG + SAFE_DIST - b3Parts.Min().y, 0)
End If End If
If b3Parts.Max().x > DIM_REG - SAFE_DIST Then If b3Parts.Max().x > DIM_REG - SAFE_DIST Then
vtMove += New Vector3d( DIM_REG - SAFE_DIST - b3Parts.Max().x, 0, 0) vtMove += New Vector3d(DIM_REG - SAFE_DIST - b3Parts.Max().x, 0, 0)
End If End If
If b3Parts.Max().y > DIM_REG - SAFE_DIST Then If b3Parts.Max().y > DIM_REG - SAFE_DIST Then
vtMove += New Vector3d( 0, DIM_REG - SAFE_DIST - b3Parts.Max().y, 0) vtMove += New Vector3d(0, DIM_REG - SAFE_DIST - b3Parts.Max().y, 0)
End If End If
If Not vtMove.IsSmall() Then If Not vtMove.IsSmall() Then
PartId = EgtGetFirstPart() PartId = EgtGetFirstPart()
While PartId <> GDB_ID.NULL While PartId <> GDB_ID.NULL
EgtMove( PartId, vtMove, GDB_RT.GLOB) EgtMove(PartId, vtMove, GDB_RT.GLOB)
PartId = EgtGetNextPart(PartId) PartId = EgtGetNextPart(PartId)
End While End While
End If End If
@@ -573,9 +586,9 @@ Friend Module VeinMatching
EgtSetInfo(nVeinId2, KEY_ORI_ID, nPartId) EgtSetInfo(nVeinId2, KEY_ORI_ID, nPartId)
' Ne garantisco la visibilità ' Ne garantisco la visibilità
Dim nStat As Integer = GDB_ST.OFF Dim nStat As Integer = GDB_ST.OFF
If Not EgtGetStatus( nVeinId2, nStat) OrElse nStat <> GDB_ST.ON_ Then If Not EgtGetStatus(nVeinId2, nStat) OrElse nStat <> GDB_ST.ON_ Then
EgtSetStatus( nVeinId2, GDB_ST.ON_) EgtSetStatus(nVeinId2, GDB_ST.ON_)
End If End If
' Se impostato, nascondo scritte, sono nel layer "Region" ' Se impostato, nascondo scritte, sono nel layer "Region"
If Not m_bShowText Then If Not m_bShowText Then
Dim nVeinRegId As Integer = EgtGetFirstNameInGroup(nVeinId2, NAME_REGION) Dim nVeinRegId As Integer = EgtGetFirstNameInGroup(nVeinId2, NAME_REGION)
@@ -984,7 +997,7 @@ Friend Module VeinMatching
' Esporto il file come immagine ' Esporto il file come immagine
EgtSetCurrentContext(m_nVeinCtx) EgtSetCurrentContext(m_nVeinCtx)
Dim bOk As Boolean = (EgtGetFileType(sFilePath) = FT.IMG) Dim bOk As Boolean = (EgtGetFileType(sFilePath) = FT.IMG)
bOk = bOk AndAlso EgtGetImage(DirectCast( EgtGetShowMode(), EgtInterface.SM), bOk = bOk AndAlso EgtGetImage(DirectCast(EgtGetShowMode(), EgtInterface.SM),
New Color3d(255, 255, 255), New Color3d(255, 255, 255), New Color3d(255, 255, 255), New Color3d(255, 255, 255),
m_nImgWidth, m_nImgHeight, sFilePath) m_nImgWidth, m_nImgHeight, sFilePath)
' Ripristino il contesto originale ' Ripristino il contesto originale
@@ -1072,7 +1085,7 @@ Friend Module VeinMatching
Return (GetVeinPartId(nPartId) <> GDB_ID.NULL) Return (GetVeinPartId(nPartId) <> GDB_ID.NULL)
End Function End Function
Friend Function ModifyPartText( nPartId As Integer, sNewText As String, Optional bDraw As Boolean = True) As Boolean Friend Function ModifyPartText(nPartId As Integer, sNewText As String, Optional bDraw As Boolean = True) As Boolean
' Verifico esista il contesto del VeinMatching ' Verifico esista il contesto del VeinMatching
If m_nVeinCtx = 0 Then Return True If m_nVeinCtx = 0 Then Return True
' Recupero il contesto corrente (principale) ' Recupero il contesto corrente (principale)
@@ -1090,7 +1103,7 @@ Friend Module VeinMatching
Dim nCurrId As Integer = EgtGetFirstInGroup(nVeinRegId) Dim nCurrId As Integer = EgtGetFirstInGroup(nVeinRegId)
While nCurrId <> GDB_ID.NULL While nCurrId <> GDB_ID.NULL
If EgtGetType(nCurrId) = GDB_TY.EXT_TEXT Then If EgtGetType(nCurrId) = GDB_TY.EXT_TEXT Then
EgtModifyText( nCurrId, sNewText) EgtModifyText(nCurrId, sNewText)
Exit While Exit While
End If End If
nCurrId = EgtGetNext(nCurrId) nCurrId = EgtGetNext(nCurrId)
@@ -1706,43 +1719,44 @@ Friend Module VeinMatching
End Function End Function
Friend Function MoveAlettaSolid(ByRef Item As Aletta, ByRef ThicknessRaw As Double) As Boolean Friend Function MoveAlettaSolid(ByRef Item As Aletta, ByRef ThicknessRaw As Double) As Boolean
' A: alzatina, F: frontalino
Dim nType As Integer Dim nType As Integer
If Not EgtGetInfo(Item.IdSideRef, "AF", nType) Then Return False If Not EgtGetInfo(Item.IdSideRef, "AF", nType) Then Return False
Dim ptSRef, ptERef, ptE As Point3d Dim ptSRef, ptERef, ptS, ptE As Point3d
' Piano cucina
If Not EgtStartPoint(Item.IdSideRef, GDB_ID.ROOT, ptSRef) Then Return False If Not EgtStartPoint(Item.IdSideRef, GDB_ID.ROOT, ptSRef) Then Return False
If Not EgtEndPoint(Item.IdSideRef, GDB_ID.ROOT, ptERef) Then Return False If Not EgtEndPoint(Item.IdSideRef, GDB_ID.ROOT, ptERef) Then Return False
' AlzFront
If Not EgtStartPoint(Item.SideId, GDB_ID.ROOT, ptS) Then Return False
If Not EgtEndPoint(Item.SideId, GDB_ID.ROOT, ptE) Then Return False If Not EgtEndPoint(Item.SideId, GDB_ID.ROOT, ptE) Then Return False
' verifco che sia già stato ruotato ' vettore lato cucina
Dim nInfo3D As Integer = 0 Dim vtRotRef As Vector3d = ptERef - ptSRef
EgtGetInfo(Item.SideId, "Info3D", nInfo3D) ' vettore lato AlzFront
Dim vtRot As Vector3d = ptE - ptS
If nInfo3D <> 1 Then ' ruoto il solido intorno al lato di riferimento
' ruoto il solido intorno al lato di riferimento If nType = ALETTE.A Then
Dim vtRot As Vector3d = ptERef - ptSRef EgtRotate(Item.PartId, ptE, vtRot, 90, GDB_RT.GLOB)
If nType = 1 Then ElseIf nType = ALETTE.F Then
EgtRotate(Item.PartId, ptE, vtRot, -90, GDB_RT.GLOB) EgtRotate(Item.PartId, ptE, vtRot, -90, GDB_RT.GLOB)
ElseIf nType = 2 Then
EgtRotate(Item.PartId, ptE, vtRot, 90, GDB_RT.GLOB)
End If
End If End If
' punto di riferimento per la traslazione sul solido ' punto di riferimento per la traslazione sul solido
Dim ptSolid As Point3d Dim ptSolid As Point3d
If nType = 1 Then If nType = ALETTE.A Then
' cerco id della curva che definisce la front face ' cerco id della curva che definisce la front face
Dim nSolidGrp As Integer = EgtGetFirstNameInGroup(Item.PartId, NAME_VM_SOLID) Dim nSolidGrp As Integer = EgtGetFirstNameInGroup(Item.PartId, NAME_VM_SOLID)
Dim nFrontCrvId As Integer = EgtGetFirstInGroup(nSolidGrp) Dim nFrontCrvId As Integer = EgtGetFirstInGroup(nSolidGrp)
EgtStartPoint(nFrontCrvId, ptSolid) EgtStartPoint(nFrontCrvId, GDB_ID.ROOT, ptSolid)
ElseIf nType = 2 Then ElseIf nType = ALETTE.F Then
EgtStartPoint(Item.SideId, ptSolid) EgtStartPoint(Item.SideId, GDB_ID.ROOT, ptSolid)
End If End If
Dim ItemFrame As New Frame3d ' Dim ItemFrame As New Frame3d
If Not EgtGetGroupGlobFrame(Item.PartId, ItemFrame) Then Return False ' If Not EgtGetGroupGlobFrame(Item.PartId, ItemFrame) Then Return False
ptSolid.ToGlob(ItemFrame) ' ptSolid.ToGlob(ItemFrame)
'punto di riferimento per la traslazione sul piano cucina 'punto di riferimento per la traslazione sul piano cucina
Dim ptKitchen As Point3d = ptERef Dim ptKitchen As Point3d = ptERef
@@ -1750,6 +1764,16 @@ Friend Module VeinMatching
Dim vtMove As Vector3d = ptKitchen - ptSolid Dim vtMove As Vector3d = ptKitchen - ptSolid
EgtMove(Item.PartId, vtMove, GDB_RT.GLOB) EgtMove(Item.PartId, vtMove, GDB_RT.GLOB)
' eventualmente ruoto per allineare l'alzatina al piano cucina
Dim dLRef, dAngVRef, dAngHRef As Double
vtRotRef.ToSpherical(dLRef, dAngVRef, dAngHRef)
Dim dL, dAngV, dAngH As Double
vtRot.Rotate(Vector3d.Z_AX, 180)
vtRot.ToSpherical(dL, dAngV, dAngH)
Dim dDelta As Double = dAngHRef - dAngH
If Math.Abs(dDelta) < EPS_ANG_SMALL Then Return True
EgtRotate(Item.PartId, ptKitchen, Vector3d.Z_AX, dDelta, GDB_RT.GLOB)
Return True Return True
End Function End Function
End Module End Module
+3 -5
View File
@@ -1,9 +1,7 @@
<EgtFloating:EgtFloatingPanel x:Class="InstrumentPanelV" <DockPanel x:Class="InstrumentPanelV"
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:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5" xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5">
IsTopDockable="True" IsBottomDockable="False" IsLeftDockable="False"
IsRightDockable="False" Style="{StaticResource ToolBar_EgtFloatingPanel}">
<ToggleButton ToolTip="{Binding GetDistToolTip}" <ToggleButton ToolTip="{Binding GetDistToolTip}"
Style="{StaticResource ToolBar_ToggleButton}" Style="{StaticResource ToolBar_ToggleButton}"
@@ -11,4 +9,4 @@
<Image Source="/Resources/InstrumentPanel/GetDist.png" Stretch="Uniform"/> <Image Source="/Resources/InstrumentPanel/GetDist.png" Stretch="Uniform"/>
</ToggleButton> </ToggleButton>
</EgtFloating:EgtFloatingPanel> </DockPanel>
+12
View File
@@ -0,0 +1,12 @@
<DockPanel x:Class="PrintPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5">
<Button ToolTip="{Binding PrintToolTip}"
Style="{StaticResource ToolBar_Button}"
Command="{Binding PrintCommand}">
<Image Source="/Resources/InstrumentPanel/Print.png" Stretch="Uniform"/>
</Button>
</DockPanel>
+3
View File
@@ -0,0 +1,3 @@
Public Class PrintPanelV
End Class
+91
View File
@@ -0,0 +1,91 @@
Imports EgtUILib
Imports EgtWPFLib5
Public Class PrintPanelVM
' Definizione comandi
Private m_cmdPrint As ICommand
Public ReadOnly Property PrintToolTip As String
Get
' "Print shading" & vbCrLf & "Print hidden line (Shift)"
Return "Print"
End Get
End Property
#Region "PrintCommand"
Public ReadOnly Property PrintCommand As ICommand
Get
If m_cmdPrint Is Nothing Then
m_cmdPrint = New Command(AddressOf Print)
End If
Return m_cmdPrint
End Get
End Property
Public Sub Print(ByVal param As Object)
Dim SM_Select As SM = SM.SHADING
' Imposto la stampa HiddenLine (non è gestita la stampa WireFrame)
'If (Keyboard.Modifiers And ModifierKeys.Shift) > 0 Then
' SM_Select = SM.HIDDENLINE
' EgtSetLineAttribs(3)
'End If
' Gestione stampa in funzione del della visualizzazione corrente
If OmagOFFICEMap.refShowPanelVM.WireframeIsChecked Then
SM_Select = SM.WIREFRAME
EgtSetLineAttribs(3)
ElseIf OmagOFFICEMap.refShowPanelVM.HiddenLineIsChecked Then
SM_Select = SM.HIDDENLINE
EgtSetLineAttribs(3)
End If
Dim printDlg As New PrintDialog
Dim sPath = OmagOFFICEMap.refMainWindowVM.MainWindowM.sTempDir & "\Image.png"
If printDlg.ShowDialog() Then
' Recupero le dimensioni dell'area di stampa
Dim dW As Double = printDlg.PrintableAreaWidth
Dim dH As Double = printDlg.PrintableAreaHeight
Try
' Prendo l'immagine corrente per la stampa
Dim colWhite As New Color3d(255, 255, 255)
' Recupero le dimensioni correnti della pagina di disegno
Dim nImgW As Integer = GetWidthDimProjectV()
Dim nImgH As Integer = GetHeightDimProjectV()
If Not EgtGetImage(SM_Select, colWhite, colWhite, nImgW, nImgH, sPath) Then
' Error in creating the print image
EgtOutLog(EgtMsg(50181))
EgtSetLineAttribs(1)
Return
End If
EgtSetLineAttribs(1)
'Metodo complesso di stampa che permette di rilasciare il file :
'carico la bitmap e la metto in uno stream in memoria
Dim stream As System.IO.Stream = New System.IO.MemoryStream()
Dim bitmap As System.Drawing.Bitmap = New System.Drawing.Bitmap(sPath)
bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png)
bitmap.Dispose()
' la sposto in una BitmapImage
Dim bitImage As New System.Windows.Media.Imaging.BitmapImage()
bitImage.BeginInit()
bitImage.StreamSource = stream
bitImage.EndInit()
' la sposto in un Visual Control
Dim tmpImg As New Image
tmpImg.BeginInit()
tmpImg.Source = bitImage
tmpImg.Stretch = Stretch.Uniform
tmpImg.EndInit()
' eseguo la stampa
printDlg.PrintVisual(tmpImg, "Parts Layout")
Catch
' Rrror in executing print
EgtOutLog(EgtMsg(50182))
End Try
End If
End Sub
#End Region ' PrintCommand
End Class
+20 -11
View File
@@ -28,16 +28,19 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!--Seconda Colonna Terza riga--> <!--Seconda Colonna Terza riga-->
<GroupBox Header="{Binding SetUpMsg}" Grid.Column="1" Grid.Row="2"> <GroupBox Header="{Binding SetUpMsg}" Grid.Column="1" Grid.Row="2"
Style="{StaticResource GroupBoxOptionWnd}">
<Grid> <Grid>
<ComboBox ItemsSource="{Binding ArchivedSetUpList}" <ComboBox ItemsSource="{Binding ArchivedSetUpList}"
Style="{StaticResource OptionWnd_ComboBox}"
SelectedItem="{Binding SelectedDefaultSetUp}" SelectedItem="{Binding SelectedDefaultSetUp}"
VerticalAlignment="Center"/> VerticalAlignment="Center"/>
</Grid> </Grid>
</GroupBox> </GroupBox>
<!--Seconda colonna Prima Riga--> <!--Seconda colonna Prima Riga-->
<GroupBox Header="{Binding HolesMsg}" Grid.Column="1" Grid.Row="0"> <GroupBox Header="{Binding HolesMsg}" Grid.Column="1" Grid.Row="0"
Style="{StaticResource GroupBoxOptionWnd}">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
@@ -75,7 +78,8 @@
<!--Prima Colonna quarta riga - Lista Materiali--> <!--Prima Colonna quarta riga - Lista Materiali-->
<GroupBox Header="{Binding MaterialsMsg}" Grid.Column="0" <GroupBox Header="{Binding MaterialsMsg}" Grid.Column="0"
Grid.Row="3" Grid.RowSpan="5" Visibility="{Binding Materials_Visibility}"> Grid.Row="3" Grid.RowSpan="5" Visibility="{Binding Materials_Visibility}"
Style="{StaticResource GroupBoxOptionWnd}">
<DockPanel> <DockPanel>
@@ -116,17 +120,19 @@
</Grid> </Grid>
<ListBox ItemsSource="{Binding MaterialList}" <ListBox ItemsSource="{Binding MaterialList}"
SelectedItem="{Binding SelMaterial}" SelectedItem="{Binding SelMaterial}"
DisplayMemberPath="sName" Style="{StaticResource OptionWnd_ListBox}"
Grid.RowSpan="2" DisplayMemberPath="sName"
Margin="0,0,0,5"/> Grid.RowSpan="2"
Margin="0,0,0,5"/>
</DockPanel> </DockPanel>
</GroupBox> </GroupBox>
<!--Parametri taglio lama--> <!--Parametri taglio lama-->
<GroupBox Header="{Binding SawParamMsg}" Visibility="{Binding SawParam_Visibility}"> <GroupBox Header="{Binding SawParamMsg}" Visibility="{Binding SawParam_Visibility}"
Style="{StaticResource GroupBoxOptionWnd}">
<UniformGrid Columns="2" > <UniformGrid Columns="2" >
<TextBlock Text="{Binding CutExtraLenMsg}" <TextBlock Text="{Binding CutExtraLenMsg}"
@@ -157,7 +163,8 @@
</GroupBox> </GroupBox>
<!--Seconda colonna, seconda riga--> <!--Seconda colonna, seconda riga-->
<GroupBox Header="{Binding MachineParamMsg}" Grid.Column="1" Grid.Row="1"> <GroupBox Header="{Binding MachineParamMsg}" Grid.Column="1" Grid.Row="1"
Style="{StaticResource GroupBoxOptionWnd}">
<UniformGrid Columns="2"> <UniformGrid Columns="2">
<TextBlock Text="{Binding SafeZMsg}" <TextBlock Text="{Binding SafeZMsg}"
@@ -168,7 +175,8 @@
</GroupBox> </GroupBox>
<GroupBox Header="{Binding MillingParamMsg}" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2"> <GroupBox Header="{Binding MillingParamMsg}" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2"
Style="{StaticResource GroupBoxOptionWnd}">
<UniformGrid Rows="3"> <UniformGrid Rows="3">
<Grid Visibility="{Binding MillingParam_Visibility}"> <Grid Visibility="{Binding MillingParam_Visibility}">
@@ -194,7 +202,8 @@
</GroupBox> </GroupBox>
<!--Nesting--> <!--Nesting-->
<GroupBox Header="{Binding NestingParamMsg}" Grid.Column="1" Grid.Row="3" Grid.RowSpan="2"> <GroupBox Header="{Binding NestingParamMsg}" Grid.Column="1" Grid.Row="3" Grid.RowSpan="2"
Style="{StaticResource GroupBoxOptionWnd}">
<UniformGrid Columns="2" > <UniformGrid Columns="2" >
+19 -21
View File
@@ -1,29 +1,27 @@
<EgtFloating:EgtFloatingPanel x:Class="MachinePanelV" <DockPanel x:Class="MachinePanelV"
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:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
IsTopDockable="True" IsBottomDockable="False" IsLeftDockable="False"
IsRightDockable="False"
Background="{StaticResource Omag_Gray}" BorderBrush="{StaticResource Omag_Gray}"
IsEnabled="{Binding MachPanel_IsEnabled}"> IsEnabled="{Binding MachPanel_IsEnabled}">
<!--Combobox per selezionare la macchina corrente--><!-- <!--Combobox per selezionare la macchina corrente--><!--
<ComboBox ItemsSource="{Binding Path=MachineList}" DisplayMemberPath="Name" <ComboBox ItemsSource="{Binding Path=MachineList}" DisplayMemberPath="Name"
SelectedItem="{Binding Path=SelectedMachine}" SelectedValuePath="Name" SelectedItem="{Binding Path=SelectedMachine}" SelectedValuePath="Name"
Height="20" Width="150"/>--> Height="20" Width="150"/>-->
<Button Command="{Binding ToolDbCommand}" ToolTip="{Binding ToolDBToolTip}"
Style="{StaticResource ToolBar_TextButton}" Width="70" Content="{Binding ToolDBMsg}"/>
<Button Command="{Binding MachDbCommand}" ToolTip="{Binding MachiningDbToolTip}"
Style="{StaticResource ToolBar_TextButton}" Width="70" Content="{Binding MachiningDbMsg}"/>
<Button Command="{Binding SetUpCommand}" ToolTip="{Binding SetUpToolTip}"
Style="{StaticResource ToolBar_TextButton}" Width="70" Content="{Binding SetUpMsg}"
Background="{Binding SetUp_Background}"/>
<Button Command="{Binding WaterjetDbCommand}" ToolTip="{Binding WaterjetDbToolTip}"
Style="{StaticResource ToolBar_Button}" Width="70" Content="{Binding WaterjetDbMsg}" Visibility="{Binding WjDb_Visibility}"/>
<Button Command="{Binding MachOptionsCommand}" ToolTip="{Binding OptionsToolTip}">
<Image Source="/Resources/TopCommandBar/Options.png" Height="22" />
</Button>
</EgtFloating:EgtFloatingPanel> <Button Command="{Binding ToolDbCommand}" ToolTip="{Binding ToolDBToolTip}" Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/NewIcons/DB-lavorazioni.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding MachDbCommand}" ToolTip="{Binding MachiningDbToolTip}" Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/NewIcons/DB-utensili.png" Stretch="UniformToFill"/>
</Button>
<Button Command="{Binding SetUpCommand}" ToolTip="{Binding SetUpToolTip}" Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/NewIcons/ToolChangerPos.png" Stretch="Uniform" />
</Button>
<Button Command="{Binding WaterjetDbCommand}" ToolTip="{Binding WaterjetDbToolTip}"
Style="{StaticResource ToolBar_Button}" Visibility="{Binding WjDb_Visibility}">
<Image Source="/Resources/NewIcons/DB-WJ.png" Stretch="UniformToFill"/>
</Button>
<Button Command="{Binding MachOptionsCommand}" ToolTip="{Binding OptionsToolTip}" Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/TopCommandBar/Options.png" Stretch="Uniform" />
</Button>
</DockPanel>
+2 -1
View File
@@ -1,3 +1,4 @@
Public Class MachinePanelV 
Public Class MachinePanelV
End Class End Class
+144 -7
View File
@@ -121,9 +121,72 @@ Public Class MyMachinePanelVM
End If End If
Dim ToolDbWindowVM As New ToolDbWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachIniFile, OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx(), "Stone", OmagOFFICEMap.refMainWindowVM.MainWindowM.nUserLevel > 5) Dim ToolDbWindowVM As New ToolDbWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachIniFile, OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx(), "Stone", OmagOFFICEMap.refMainWindowVM.MainWindowM.nUserLevel > 5)
Dim ToolDbWindowV As New ToolDbWindowV(Application.Current.MainWindow, ToolDbWindowVM) ' imposto colori sfondo
Dim BackTopColor As New Color3d(192, 192, 192)
GetMainPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor)
Dim BackBotColor As New Color3d(BackTopColor)
GetMainPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor)
ToolDbWindowVM.SetBackgroundColor(BackTopColor, BackBotColor)
ToolDbWindowVM.bPersonalInterface = True
' Collegata allo stile della GroupBox
ToolDbWindowVM.MyBorderGrbThickness = 0.25
ToolDbWindowVM.MyForegroundGrbColor = Brushes.White
' Definisco lo stile della pagina
ToolDbWindowVM.BorderBrushIsMouseOver = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.GeneralBorderBrush = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.BorderBrushIsFocused = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.BackgroundBrdEnable = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.BackgroundBrdDisable = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.BackgroundTxBlDisable = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.ForegroundTxBlEnable = Brushes.White
ToolDbWindowVM.ForegroundTxBlDisable = Brushes.White
ToolDbWindowVM.GeneralForeground = Brushes.White
ToolDbWindowVM.GeneralBackground = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
' Definisco lo stile della ComboBox
ToolDbWindowVM.BackgroundCmBxTxBl = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.BackgroundListCmBxTxBl = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.ForegroundCmBxTxBl = Brushes.White
ToolDbWindowVM.BorderBrushCmBxTxBl = Brushes.Black
ToolDbWindowVM.BorderThicknessCmBxTxBl = New Thickness(1)
ToolDbWindowVM.VerticalContentAlignmentCmBxTxBl = "Center"
ToolDbWindowVM.HeightCmBxTxBl = "25"
ToolDbWindowVM.WidthCmBxTxBl = "Auto"
ToolDbWindowVM.ForegroundTextBoxCmBxTxBl = Brushes.White
'Definisco lo stile del Button
ToolDbWindowVM.BackgroundButton = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.ForegroundButton = Brushes.White
ToolDbWindowVM.BorderBrushButton = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
ToolDbWindowVM.BorderThicknessButton = New Thickness(1)
''Definisco lo stile della DataGrid
'ToolDbWindowVM.HeaderVisibility = DataGridHeadersVisibility.Column
'ToolDbWindowVM.BackgroundDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
'ToolDbWindowVM.BackGroundHeader = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
'ToolDbWindowVM.ForegroundHeader = Brushes.White
'ToolDbWindowVM.BorderBrushHeader = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
'ToolDbWindowVM.BorderThicknessHeader = 0.0
'ToolDbWindowVM.FontWeightHeader = FontWeights.Bold
'ToolDbWindowVM.BackgroundDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
'ToolDbWindowVM.BorderBrushDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
'ToolDbWindowVM.BackgroundDataGridRow = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
'ToolDbWindowVM.ForegroundDataGridRow = Brushes.White
'ToolDbWindowVM.BorderBrushDataGridRow = Brushes.DarkGray
'ToolDbWindowVM.BorderThicknessDataGridRow = "0 0 0 1"
'ToolDbWindowVM.BorderBrushDataGridCell = Brushes.DarkGray
'ToolDbWindowVM.BorderThicknessDataGridCell = "0 0 1 0"
' Definisco stile New Mach Grouo
' Dim ToolDbWindowV As New ToolDbWindowV(Application.Current.MainWindow, ToolDbWindowVM)
Dim ToolDbWindowV As New MyToolDbWindowV(Application.Current.MainWindow, ToolDbWindowVM)
If ToolDbWindowVM.MatType <> 0 Then If ToolDbWindowVM.MatType <> 0 Then
ToolDbWindowV.Height = 640 ToolDbWindowV.Height = 768
ToolDbWindowV.Width = 1024 ToolDbWindowV.Width = 1024
ToolDbWindowV.ShowDialog() ToolDbWindowV.ShowDialog()
Else Else
@@ -142,22 +205,94 @@ Public Class MyMachinePanelVM
''' </summary> ''' </summary>
Public Overrides Sub MachDb(ByVal param As Object) Public Overrides Sub MachDb(ByVal param As Object)
If Not VerifyMachinesDir(m_sMachinesRoot) Then Return If Not VerifyMachinesDir(m_sMachinesRoot) Then Return
' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa) ' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
If Not EgtMdbReload() Then If Not EgtMdbReload() Then
EgtOutLog("Impossible reloading machining Db") EgtOutLog("Impossible reloading machining Db")
MessageBox.Show(EgtMsg(MSG_MACHININGDBERRORS + 8), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error) MessageBox.Show(EgtMsg(MSG_MACHININGDBERRORS + 8), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
Return Return
End If End If
EgtOutLog("Call function: Creazione oggetto MachDbWindowVM")
TimeSpanInit()
Dim MachDbWindowVM As New EgtWPFLib5.MachiningDbWindowVM(CurrentMachine.sMachIniFile, OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx(), "Stone", OmagOFFICEMap.refMainWindowVM.MainWindowM.nUserLevel > 5) Dim MachDbWindowVM As New EgtWPFLib5.MachiningDbWindowVM(CurrentMachine.sMachIniFile, OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx(), "Stone", OmagOFFICEMap.refMainWindowVM.MainWindowM.nUserLevel > 5)
Dim MachDbWindowV As New EgtWPFLib5.MachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM) ' Dim MachDbWindowV As New EgtWPFLib5.MachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM)
EgtOutLog(TimeSpanEnd())
EgtOutLog("Call function: Aggiorna oggetto MachDbWindowVM")
TimeSpanInit()
MachDbWindowVM.bPersonalInterface = True
' Collegata allo stile della GroupBox
MachDbWindowVM.MyBorderGrbThickness = 0.25
MachDbWindowVM.MyForegroundGrbColor = Brushes.White
' Definisco lo stile della pagina
MachDbWindowVM.BorderBrushIsMouseOver = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.GeneralBorderBrush = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.BorderBrushIsFocused = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.BackgroundBrdEnable = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.BackgroundBrdDisable = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.BackgroundTxBlDisable = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.ForegroundTxBlEnable = Brushes.White
MachDbWindowVM.ForegroundTxBlDisable = Brushes.White
MachDbWindowVM.GeneralForeground = Brushes.White
MachDbWindowVM.GeneralBackground = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.MyForegroundChColor = Brushes.White
' Definisco lo stile della ComboBox
MachDbWindowVM.BackgroundCmBxTxBl = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.BackgroundListCmBxTxBl = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.ForegroundCmBxTxBl = Brushes.White
MachDbWindowVM.BorderBrushCmBxTxBl = Brushes.Black
MachDbWindowVM.BorderThicknessCmBxTxBl = New Thickness(1)
MachDbWindowVM.VerticalContentAlignmentCmBxTxBl = "Center"
MachDbWindowVM.HeightCmBxTxBl = "25"
MachDbWindowVM.WidthCmBxTxBl = "Auto"
MachDbWindowVM.ForegroundTextBoxCmBxTxBl = Brushes.White
'Definisco lo stile del ToggleButton
MachDbWindowVM.BackgroundIsChecked = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.ForegroundIsChecked = Brushes.White
MachDbWindowVM.BorderBrushIsChecked = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.BorderThicknessIsChecked = New Thickness(1)
MachDbWindowVM.OpacityIsChecked = 0.25
'Definisco lo stile della DataGrid
MachDbWindowVM.HeaderVisibility = DataGridHeadersVisibility.Column
MachDbWindowVM.BackgroundDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#484D55"), Brush)
MachDbWindowVM.BackGroundHeader = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#484D55"), Brush)
MachDbWindowVM.ForegroundHeader = Brushes.White
MachDbWindowVM.BorderBrushHeader = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.BorderThicknessHeader = New Thickness(0)
MachDbWindowVM.FontWeightHeader = FontWeights.Bold
MachDbWindowVM.BorderBrushDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.BackgroundDataGridRow = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
MachDbWindowVM.ForegroundDataGridRow = Brushes.White
MachDbWindowVM.BorderBrushDataGridRow = Brushes.DarkGray
MachDbWindowVM.BorderThicknessDataGridRow = New Thickness(0, 0, 0, 1)
MachDbWindowVM.BorderBrushDataGridCell = Brushes.DarkGray
MachDbWindowVM.BorderThicknessDataGridCell = New Thickness(0, 0, 1, 0)
EgtOutLog(TimeSpanEnd())
EgtOutLog("Call function: Creazione oggetto MachDbWindowV")
TimeSpanInit()
Dim MachDbWindowV As New MyMachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM)
If EgtWPFLib5.MachiningTreeViewItem.m_MatType <> 0 Then If EgtWPFLib5.MachiningTreeViewItem.m_MatType <> 0 Then
EgtOutLog("Call function: Visualizzazione oggetto MachDbWindowV")
TimeSpanInit()
MachDbWindowV.Height = 768 MachDbWindowV.Height = 768
MachDbWindowV.Width = 1024 MachDbWindowV.Width = 1024
MachDbWindowV.ShowDialog() MachDbWindowV.ShowDialog()
EgtOutLog(TimeSpanEnd())
Else Else
Exit Sub Exit Sub
End If End If
' Verifico che gli utensili delle lavorazioni correnti siano attrezzati (necessario perchè potrei aver cambiato gli utensili delle lavorazioni) ' Verifico che gli utensili delle lavorazioni correnti siano attrezzati (necessario perchè potrei aver cambiato gli utensili delle lavorazioni)
' e che le lavorazioni correnti siano compatibili con materiale e spessore ' e che le lavorazioni correnti siano compatibili con materiale e spessore
' Lama ' Lama
@@ -206,14 +341,14 @@ Public Class MyMachinePanelVM
If Not bOkSetUp Then If Not bOkSetUp Then
SetUp_Background = Brushes.Red SetUp_Background = Brushes.Red
Else Else
SetUp_Background = DirectCast(New BrushConverter().ConvertFrom("#FFDDDDDD"), SolidColorBrush) SetUp_Background = DirectCast(New BrushConverter().ConvertFrom("#1C1D22"), SolidColorBrush)
End If End If
If Not bOkMatThick Then If Not bOkMatThick Then
OmagOFFICEMap.refOptionPanelVM.RawPart_Background = Brushes.Red OmagOFFICEMap.refOptionPanelVM.RawPart_Background = Brushes.Red
OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = Brushes.Red OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = Brushes.Red
Else Else
OmagOFFICEMap.refOptionPanelVM.RawPart_Background = OmagOFFICEDictionary.TabControl_Header_Background OmagOFFICEMap.refOptionPanelVM.RawPart_Background = OmagOFFICEDictionary.TabControl_Header_Background
OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = DirectCast(New BrushConverter().ConvertFrom("#FFDDDDDD"), SolidColorBrush) OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = DirectCast(New BrushConverter().ConvertFrom("#1C1D22"), SolidColorBrush)
End If End If
End Sub End Sub
@@ -252,7 +387,8 @@ Public Class MyMachinePanelVM
' Reset lua ' Reset lua
EgtLuaResetGlobVar("STU") EgtLuaResetGlobVar("STU")
Dim SetUpWindow As New SetUpWindowV(Application.Current.MainWindow, New MySetUpWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachineName)) ' Dim SetUpWindow As New SetUpWindowV(Application.Current.MainWindow, New MySetUpWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachineName))
Dim SetUpWindow As New MySetUpWindowV(Application.Current.MainWindow, New MySetUpWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachineName))
SetUpWindow.Height = 614 SetUpWindow.Height = 614
SetUpWindow.Width = 1024 SetUpWindow.Width = 1024
SetUpWindow.ShowDialog() SetUpWindow.ShowDialog()
@@ -338,7 +474,8 @@ Public Class MyMachinePanelVM
''' Execute the Exec. This method is invoked by the ExecCommand. ''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary> ''' </summary>
Public Sub WaterjetDb(ByVal param As Object) Public Sub WaterjetDb(ByVal param As Object)
Dim WaterjetDbWindow As New WaterjetDbWindowV(Application.Current.MainWindow, New WaterjetDbWindowVM(CurrentMachine.sMachDir)) ' Dim WaterjetDbWindow As New WaterjetDbWindowV(Application.Current.MainWindow, New WaterjetDbWindowVM(CurrentMachine.sMachDir))
Dim WaterjetDbWindow As New MyWaterjetDbWindowV(Application.Current.MainWindow, New WaterjetDbWindowVM(CurrentMachine.sMachDir))
WaterjetDbWindow.Height = 546 WaterjetDbWindow.Height = 546
WaterjetDbWindow.Width = 846 WaterjetDbWindow.Width = 846
WaterjetDbWindow.ShowDialog() WaterjetDbWindow.ShowDialog()
+9 -9
View File
@@ -184,12 +184,6 @@ Public Class MainWindowM
Directory.CreateDirectory(m_sBackUpDir) Directory.CreateDirectory(m_sBackUpDir)
' Impostazione path resources dir ' Impostazione path resources dir
m_sResourcesRoot = m_sDataRoot & "\" & RES_DIR m_sResourcesRoot = m_sDataRoot & "\" & RES_DIR
' Impostazione direttorio per le macchine
If GetMainPrivateProfileString(S_MACH, K_MACHINESDIR, "", m_sMachinesRoot) = 0 Then
m_sMachinesRoot = m_sDataRoot & "\" & MACHINES_DFL_DIR
End If
' Carico elenco dei direttori macchina
If Not String.IsNullOrEmpty(m_sMachinesRoot) Then m_sMachinesRootList.Add(m_sMachinesRoot)
Dim nIndexDir As Integer = 1 Dim nIndexDir As Integer = 1
Dim sCurrMachineDir As String = String.Empty Dim sCurrMachineDir As String = String.Empty
While GetMainPrivateProfileString(S_MACH, K_MACHINESDIR & nIndexDir.ToString, "", sCurrMachineDir) <> 0 While GetMainPrivateProfileString(S_MACH, K_MACHINESDIR & nIndexDir.ToString, "", sCurrMachineDir) <> 0
@@ -198,6 +192,12 @@ Public Class MainWindowM
End If End If
nIndexDir += 1 nIndexDir += 1
End While End While
' Impostazione direttorio (versioni precedenti 2.4i2) per le macchine
If GetMainPrivateProfileString(S_MACH, K_MACHINESDIR, "", m_sMachinesRoot) = 0 Then
m_sMachinesRoot = m_sDataRoot & "\" & MACHINES_DFL_DIR
End If
' Carico il direttorio nell'elenco dei direttori macchina
If Not String.IsNullOrEmpty(m_sMachinesRoot) Then m_sMachinesRootList.Add(m_sMachinesRoot)
' Impostazione direttorio per toolmakers ' Impostazione direttorio per toolmakers
If GetMainPrivateProfileString(S_MACH, K_TOOLMAKERSDIR, "", m_sToolMakersDir) = 0 Then If GetMainPrivateProfileString(S_MACH, K_TOOLMAKERSDIR, "", m_sToolMakersDir) = 0 Then
m_sToolMakersDir = m_sDataRoot & "\" & TOOLMAKERS_DFL_DIR m_sToolMakersDir = m_sDataRoot & "\" & TOOLMAKERS_DFL_DIR
@@ -223,8 +223,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(9423, 2406, 1, m_nKeyLevel) And Dim bKey As Boolean = EgtGetKeyLevel(9423, 2602, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2406, 1, m_nKeyOptions) EgtGetKeyOptions(9423, 2602, 1, m_nKeyOptions)
' Verifico abilitazione prodotto ' Verifico abilitazione prodotto
Dim bProd As Boolean = GetKeyOption(KEY_OPT.OFFICE_BASE) Dim bProd As Boolean = GetKeyOption(KEY_OPT.OFFICE_BASE)
' Inizializzazione generale di EgtInterface ' Inizializzazione generale di EgtInterface
@@ -308,7 +308,7 @@ Public Class MainWindowM
' verifico che il nome da inserire non esista già in elenco ' verifico che il nome da inserire non esista già in elenco
Private Function VerifyMachineIsUnique(sMachDir As String) As Boolean Private Function VerifyMachineIsUnique(sMachDir As String) As Boolean
For Each sDir As String In m_sMachinesRootList For Each sDir As String In m_sMachinesRootList
If sDir.ToLower.Trim = sMachDir.ToLower.Trim Then If String.Compare( sDir.Trim().TrimEnd("\"c), sMachDir.Trim().TrimEnd("\"c), True) = 0 Then
Return False Return False
End If End If
Next Next
+14 -9
View File
@@ -4,24 +4,29 @@
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE" xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
DataContext="{StaticResource MainWindowVM}" DataContext="{StaticResource MainWindowVM}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Style="{DynamicResource MainWindowStyle}"
Title="{Binding Title}" Icon="/Resources/OmagOFFICE.ico" Title="{Binding Title}" Icon="/Resources/OmagOFFICE.ico"
MinHeight="600" MinWidth="800" MinHeight="600" MinWidth="800"
AboutBoxCommand="{Binding AboutBoxCommand}" WindowStyle="None" ResizeMode="NoResize" AboutBoxCommand="{Binding AboutBoxCommand}" WindowStyle="None" ResizeMode="NoResize"
CloseCommand="{Binding CloseApplicationCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"> CloseCommand="{Binding CloseApplicationCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Background="{StaticResource Omag_DarkGray}">
<EgtWPFLib5:EgtCustomWindow.TitlePanel> <EgtWPFLib5:EgtCustomWindow.TitlePanel>
<OmagOFFICE:TopCommandBarV DataContext="{StaticResource TopCommandBarVM}"/> <OmagOFFICE:TopCommandBarV DataContext="{StaticResource TopCommandBarVM}"/>
</EgtWPFLib5:EgtCustomWindow.TitlePanel> </EgtWPFLib5:EgtCustomWindow.TitlePanel>
<EgtWPFLib5:EgtCustomWindow.InputBindings>
<KeyBinding Key="Escape" Command="{Binding EscapeCommand}"/>
</EgtWPFLib5:EgtCustomWindow.InputBindings>
<!--Pannello principale --> <!--Pannello principale -->
<DockPanel> <DockPanel>
<!--StatusBar --> <!--StatusBar -->
<OmagOFFICE:StatusBarV DataContext="{StaticResource StatusBarVM}" <OmagOFFICE:StatusBarV DataContext="{StaticResource StatusBarVM}"
DockPanel.Dock="Bottom"/> DockPanel.Dock="Bottom"/>
<!--Progetto corrente --> <!--Progetto corrente -->
<OmagOFFICE:ProjectV DataContext="{StaticResource ProjectVM}"/> <OmagOFFICE:ProjectV DataContext="{StaticResource ProjectVM}"/>
</DockPanel>
</DockPanel>
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtCustomWindow>
+22
View File
@@ -45,6 +45,7 @@ Public Class MainWindowVM
' definizione comandi ' definizione comandi
Private m_cmdAboutBox As ICommand Private m_cmdAboutBox As ICommand
Private m_cmdCloseApplication As ICommand Private m_cmdCloseApplication As ICommand
Private m_cmdEscape As ICommand
#Region "CONSTRUCTOR" #Region "CONSTRUCTOR"
@@ -136,6 +137,27 @@ Public Class MainWindowVM
#Region "COMMANDS" #Region "COMMANDS"
#Region "Escape"
Public ReadOnly Property EscapeCommand() As ICommand
Get
If m_cmdEscape Is Nothing Then
m_cmdEscape = New Command(AddressOf Escape)
End If
Return m_cmdEscape
End Get
End Property
Public Sub Escape()
If Not IsNothing(OmagOFFICEMap.refSplitModeVM) Then
OmagOFFICEMap.refSplitModeVM.DeactiveSplitCut()
OmagOFFICEMap.refSplitModeVM.DeselectWJBridgesPart()
OmagOFFICEMap.refSplitModeVM.ResetAllMark()
End If
End Sub
#End Region
#Region "AboutBoxCommand" #Region "AboutBoxCommand"
' Returns a command that manage the MainWindow_Unloaded command ' Returns a command that manage the MainWindow_Unloaded command
+4 -4
View File
@@ -29,8 +29,8 @@ Imports System.Windows
#End If #End If
#End If #End If
<Assembly: AssemblyCompany("Egalware s.r.l.")> <Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("OmagOFFICE")> <Assembly: AssemblyProduct("OmagOFFICE")>
<Assembly: AssemblyCopyright("Copyright © 2017-2022 by Egalware s.r.l.")> <Assembly: AssemblyCopyright("Copyright © 2017-2023 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")> <Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)> <Assembly: ComVisible(false)>
'In order to begin building localizable applications, set 'In order to begin building localizable applications, set
@@ -69,6 +69,6 @@ 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.4.9.2")> <Assembly: AssemblyVersion("2.6.2.2")>
<Assembly: AssemblyFileVersion("2.4.9.2")> <Assembly: AssemblyFileVersion("2.6.2.2")>
+79
View File
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- Opzioni manifesto di Controllo dell'account utente
Per modificare il livello di Controllo dell'account utente di Windows, sostituire il
nodo requestedExecutionLevel con uno dei seguenti.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Se si specifica l'elemento requestedExecutionLevel, la funzionalità Virtualizzazione file system e registro di sistema verrà disabilitata.
Rimuovere questo elemento se l'applicazione richiede questa virtualizzazione per
compatibilità con le versioni precedenti.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Elenco delle versioni di Windows in cui è stata testata questa applicazione e
per cui è stato previsto l'uso. Rimuovere il commento dagli elementi appropriati per
fare in modo che Windows selezioni automaticamente l'ambiente più compatibile. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Indica che l'applicazione è sensibile ai valori DPI e non verrà scalata automaticamente da Windows in caso di
valori DPI maggiori. Le applicazioni Windows Presentation Foundation (WPF) sono automaticamente sensibili ai valori DPI, pertanto non è necessario
acconsentire esplicitamente. Con le applicazioni Windows Forms destinate a .NET Framework 4.6 per cui è stato acconsentito esplicitamente a questa impostazione,
è anche necessario impostare 'EnableWindowsFormsHighDpiAutoResizing' su 'true' nel relativo file app.config.
Imposta l'applicazione in modo riconosca i percorsi lunghi. Vedere https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
-->
<!-- Abilita i temi per finestre di dialogo e controlli comuni di Windows (Windows XP e versioni successive) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>
+109
View File
@@ -0,0 +1,109 @@
<UserControl x:Class="MyMachGroupPanelV"
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"
Visibility="{Binding MachGroupPanel_Visibility}">
<!--<EgtFloating:EgtFloatingPanel.Resources>
<SolidColorBrush x:Key="ListBox.Static.Background" Color="#FFFFFFFF"/>
<SolidColorBrush x:Key="ListBox.Static.Border" Color="#FFABADB3"/>
<SolidColorBrush x:Key="ListBox.Disabled.Background" Color="#FFFFFFFF"/>
<SolidColorBrush x:Key="ListBox.Disabled.Border" Color="#FFD9D9D9"/>
<Style x:Key="MachiningGroupListBox" TargetType="{x:Type ListBox}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="False"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
</EgtFloating:EgtFloatingPanel.Resources>-->
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ListBox ItemsSource="{Binding MachGroupList}" SelectedItem="{Binding SelectedMachGroup}"
Background="Transparent" BorderThickness="0">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel IsItemsHost="True" Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="IsEnabled" Value="{Binding IsEnabled}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<ContentPresenter/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<RadioButton GroupName="MachiningGroups"
Height="30" MaxWidth="150" MinWidth="50" Padding="5,0,5,0"
ToolTip="{Binding MachGroupToolTip}"
IsChecked="{Binding Path=IsSelected,
RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}},
Mode=TwoWay}"
IsEnabled="{Binding IsEnabled, Mode=TwoWay}"
VerticalContentAlignment="Center" HorizontalContentAlignment="Center"
Style="{StaticResource ToolBar_TextToggleButton}">
<RadioButton.Content>
<TextBlock Text="{Binding Name}" Foreground="white"/>
</RadioButton.Content>
</RadioButton>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Template>
<ControlTemplate TargetType="{x:Type ListBox}">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="0" SnapsToDevicePixels="true">
<EgtWPFLib5:EgtScrollViewer IsPageSlideCommand="True" Focusable="false" Padding="{TemplateBinding Padding}" IsCustom="True" Orientation="Horizontal" RepeatButtonDimension="20">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</EgtWPFLib5:EgtScrollViewer>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Background" TargetName="Bd" Value="DeepPink"/>
<Setter Property="BorderBrush" TargetName="Bd" Value="LightPink"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsGrouping" Value="true"/>
<!--<Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/>-->
</MultiTrigger.Conditions>
<Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ListBox.Template>
</ListBox>
<Button Content="+" Height="20" Width="20" VerticalAlignment="Center" Focusable="False"
Background="{StaticResource Omag_Black}"
Foreground="{StaticResource Omag_White}"
Padding="0,0,0,5"
Margin="3,0,5,0" Command="{Binding AddMachGroupCommand}" Grid.Column="1"
IsEnabled="{Binding IsEnabledAddRemove}"/>
<Button Content="-" Height="20" Width="20" VerticalAlignment="Center" Focusable="False"
Background="{StaticResource Omag_Black}"
Foreground="{StaticResource Omag_White}"
Padding="0,0,0,5"
Margin="0,0,5,0" Command="{Binding RemoveMachGroupCommand}" Grid.Column="2"
IsEnabled="{Binding IsEnabledAddRemove}"/>
</Grid>
</UserControl>
@@ -0,0 +1,3 @@
Public Class MyMachGroupPanelV
End Class
+14 -5
View File
@@ -45,6 +45,7 @@ Public Class MyMachGroupPanelVM
' Recupero la macchina di default ' Recupero la macchina di default
Dim sDefaultMachine As String = String.Empty Dim sDefaultMachine As String = String.Empty
GetMainPrivateProfileString(S_MACH, K_CURRMACH, "", sDefaultMachine) GetMainPrivateProfileString(S_MACH, K_CURRMACH, "", sDefaultMachine)
EgtSetCurrMachine(sDefaultMachine)
InitMachGroupPanel(True, OmagOFFICEMap.refMachinePanelVM.MachineList.ToList(), sDefaultMachine, BASE_MACH_GROUP & "1") InitMachGroupPanel(True, OmagOFFICEMap.refMachinePanelVM.MachineList.ToList(), sDefaultMachine, BASE_MACH_GROUP & "1")
End Sub End Sub
@@ -73,7 +74,9 @@ Public Class MyMachGroupPanelVM
Dim sMachine As String = String.Empty Dim sMachine As String = String.Empty
EgtGetMachGroupName(nId, sName) EgtGetMachGroupName(nId, sName)
EgtGetMachGroupMachineName(nId, sMachine) EgtGetMachGroupMachineName(nId, sMachine)
MachGroupList.Add(New MyMachGroup(nId, sName, sMachine, EgtGetFirstNameInGroup(nId, "Opers"))) Dim NewMyMachGoup As MyMachGroup = New MyMachGroup(nId, sName, sMachine, EgtGetFirstNameInGroup(nId, "Opers"))
NewMyMachGoup.IsValid = VerifyMachExists(sMachine)
MachGroupList.Add(NewMyMachGoup)
If OmagOFFICEMap.refMainWindowVM.MainWindowM.m_SlabDB Then If OmagOFFICEMap.refMainWindowVM.MainWindowM.m_SlabDB Then
Dim sSlabNameDB As String = String.Empty Dim sSlabNameDB As String = String.Empty
EgtGetInfo(nId, INFO_SLABNAME, sSlabNameDB) EgtGetInfo(nId, INFO_SLABNAME, sSlabNameDB)
@@ -157,6 +160,7 @@ Public Class MyMachGroupPanelVM
' Imposto vista solo tavola ' Imposto vista solo tavola
EgtSetMachineLook(MCH_LOOK.TAB) EgtSetMachineLook(MCH_LOOK.TAB)
CurrentMachine.GetMachineClass(SelectedMachGroup.Machine) CurrentMachine.GetMachineClass(SelectedMachGroup.Machine)
If IsNothing(OmagOFFICEMap.refMachinePanelVM.SelectedMachine) Then Return False
OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRoot = Path.GetDirectoryName(OmagOFFICEMap.refMachinePanelVM.SelectedMachine.DirPath) OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRoot = Path.GetDirectoryName(OmagOFFICEMap.refMachinePanelVM.SelectedMachine.DirPath)
' Ricarico la macchina corrente ' Ricarico la macchina corrente
InitCurrentMachine(OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRoot, SelectedMachGroup.Machine, InitCurrentMachine(OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRoot, SelectedMachGroup.Machine,
@@ -185,6 +189,10 @@ Public Class MyMachGroupPanelVM
End If End If
' Verifico che gli utensili delle lavorazioni correnti siano attrezzati (necessario perchè potrei aver cambiato gli utensili delle lavorazioni) ' Verifico che gli utensili delle lavorazioni correnti siano attrezzati (necessario perchè potrei aver cambiato gli utensili delle lavorazioni)
' e che le lavorazioni correnti siano compatibili con materiale e spessore ' e che le lavorazioni correnti siano compatibili con materiale e spessore
' Inizializzo l'elenco delle lavorazioni correnti
Dim CurrMachining As New CurrMachWindowVM
' Lama ' Lama
Dim bOkCurrSawing As Boolean = True Dim bOkCurrSawing As Boolean = True
Dim bOkCurrWaterjetting As Boolean = True Dim bOkCurrWaterjetting As Boolean = True
@@ -225,23 +233,24 @@ Public Class MyMachGroupPanelVM
Else Else
bOkCurrWaterjetting = False bOkCurrWaterjetting = False
End If End If
' Imposto il colore del pulsante SetUp
If Not bOkSetUp Then If Not bOkSetUp Then
OmagOFFICEMap.refMachinePanelVM.SetUp_Background = Brushes.Red OmagOFFICEMap.refMachinePanelVM.SetUp_Background = Brushes.Red
Else Else
OmagOFFICEMap.refMachinePanelVM.SetUp_Background = DirectCast(New BrushConverter().ConvertFrom("#FFDDDDDD"), SolidColorBrush) OmagOFFICEMap.refMachinePanelVM.SetUp_Background = DirectCast(New BrushConverter().ConvertFrom("#1C1D22"), SolidColorBrush)
End If End If
' Imposto il colore di sfondo del pulsante SettingMachinig
If Not bOkMatThick Or Not bOkCurrSawing Then If Not bOkMatThick Or Not bOkCurrSawing Then
If Not bOkMatThick Or Not bOkCurrWaterjetting Then If Not bOkMatThick Or Not bOkCurrWaterjetting Then
OmagOFFICEMap.refOptionPanelVM.RawPart_Background = Brushes.Red OmagOFFICEMap.refOptionPanelVM.RawPart_Background = Brushes.Red
OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = Brushes.Red OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = Brushes.Red
Else Else
OmagOFFICEMap.refOptionPanelVM.RawPart_Background = OmagOFFICEDictionary.TabControl_Header_Background OmagOFFICEMap.refOptionPanelVM.RawPart_Background = OmagOFFICEDictionary.TabControl_Header_Background
OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = DirectCast(New BrushConverter().ConvertFrom("#FFDDDDDD"), SolidColorBrush) OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = DirectCast(New BrushConverter().ConvertFrom("#1C1D22"), SolidColorBrush)
End If End If
Else Else
OmagOFFICEMap.refOptionPanelVM.RawPart_Background = OmagOFFICEDictionary.TabControl_Header_Background OmagOFFICEMap.refOptionPanelVM.RawPart_Background = OmagOFFICEDictionary.TabControl_Header_Background
OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = DirectCast(New BrushConverter().ConvertFrom("#FFDDDDDD"), SolidColorBrush) OmagOFFICEMap.refRawPartTabVM.CurrMach_Background = DirectCast(New BrushConverter().ConvertFrom("#1C1D22"), SolidColorBrush)
End If End If
' Se non esiste il grezzo vado subito alla sua definizione ' Se non esiste il grezzo vado subito alla sua definizione
+172 -137
View File
@@ -12,164 +12,199 @@
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}" CloseCommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
Height="900"> Height="900">
<EgtWPFLib5:EgtCustomWindow.InputBindings> <EgtWPFLib5:EgtCustomWindow.InputBindings>
<KeyBinding Key="Escape" Command="{Binding ReloadMachiningCommand}" <KeyBinding Key="Escape" Command="{Binding ReloadMachiningCommand}"
CommandParameter="{Binding Path=SelectedItem,ElementName=MachiningsTreeView}"/> CommandParameter="{Binding Path=SelectedItem,ElementName=MachiningsTreeView}"/>
</EgtWPFLib5:EgtCustomWindow.InputBindings> </EgtWPFLib5:EgtCustomWindow.InputBindings>
<EgtWPFLib5:EgtCustomWindow.Resources> <EgtWPFLib5:EgtCustomWindow.Resources>
<EgtWPFLib5:MachiningParamVisibilityConverter x:Key="MachiningParamVisibilityConverter"/> <EgtWPFLib5:MachiningParamVisibilityConverter x:Key="MachiningParamVisibilityConverter"/>
<EgtWPFLib5:DepthUnitConverter x:Key="DepthUnitConverter"/> <EgtWPFLib5:DepthUnitConverter x:Key="DepthUnitConverter"/>
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/> <EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
<sys:Int32 x:Key="Invert">0</sys:Int32> <sys:Int32 x:Key="Invert">0</sys:Int32>
<sys:Int32 x:Key="LeaveTab">1</sys:Int32> <sys:Int32 x:Key="LeaveTab">1</sys:Int32>
<sys:Int32 x:Key="WorkSide">2</sys:Int32> <sys:Int32 x:Key="WorkSide">2</sys:Int32>
<sys:Int32 x:Key="HeadSide">3</sys:Int32> <sys:Int32 x:Key="HeadSide">3</sys:Int32>
<sys:Int32 x:Key="LeadInType">4</sys:Int32> <sys:Int32 x:Key="LeadInType">4</sys:Int32>
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32> <sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
<sys:Int32 x:Key="LeadOutType">6</sys:Int32> <sys:Int32 x:Key="LeadOutType">6</sys:Int32>
<sys:Int32 x:Key="CurveUse">7</sys:Int32> <sys:Int32 x:Key="CurveUse">7</sys:Int32>
<sys:Int32 x:Key="StepType">8</sys:Int32> <sys:Int32 x:Key="StepType">8</sys:Int32>
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32> <sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
<sys:Int32 x:Key="Speed">10</sys:Int32> <sys:Int32 x:Key="Speed">10</sys:Int32>
<sys:Int32 x:Key="Feed">11</sys:Int32> <sys:Int32 x:Key="Feed">11</sys:Int32>
<sys:Int32 x:Key="StartFeed">12</sys:Int32> <sys:Int32 x:Key="StartFeed">12</sys:Int32>
<sys:Int32 x:Key="EndFeed">13</sys:Int32> <sys:Int32 x:Key="EndFeed">13</sys:Int32>
<sys:Int32 x:Key="TipFeed">14</sys:Int32> <sys:Int32 x:Key="TipFeed">14</sys:Int32>
<sys:Int32 x:Key="OffSr">15</sys:Int32> <sys:Int32 x:Key="OffSr">15</sys:Int32>
<sys:Int32 x:Key="OffSl">16</sys:Int32> <sys:Int32 x:Key="OffSl">16</sys:Int32>
<sys:Int32 x:Key="SideAngle">17</sys:Int32> <sys:Int32 x:Key="SideAngle">17</sys:Int32>
<sys:Int32 x:Key="Approx">18</sys:Int32> <sys:Int32 x:Key="Approx">18</sys:Int32>
<sys:Int32 x:Key="StartPos">19</sys:Int32> <sys:Int32 x:Key="StartPos">19</sys:Int32>
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32> <sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32> <sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32> <sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
<sys:Int32 x:Key="StepPar">23</sys:Int32> <sys:Int32 x:Key="StepPar">23</sys:Int32>
<sys:Int32 x:Key="ReturnPos">24</sys:Int32> <sys:Int32 x:Key="ReturnPos">24</sys:Int32>
<sys:Int32 x:Key="TabLen">25</sys:Int32> <sys:Int32 x:Key="TabLen">25</sys:Int32>
<sys:Int32 x:Key="TabDist">26</sys:Int32> <sys:Int32 x:Key="TabDist">26</sys:Int32>
<sys:Int32 x:Key="TabHeight">27</sys:Int32> <sys:Int32 x:Key="TabHeight">27</sys:Int32>
<sys:Int32 x:Key="TabAngle">28</sys:Int32> <sys:Int32 x:Key="TabAngle">28</sys:Int32>
<sys:Int32 x:Key="LiTang">29</sys:Int32> <sys:Int32 x:Key="LiTang">29</sys:Int32>
<sys:Int32 x:Key="LiPerp">30</sys:Int32> <sys:Int32 x:Key="LiPerp">30</sys:Int32>
<sys:Int32 x:Key="LiElev">31</sys:Int32> <sys:Int32 x:Key="LiElev">31</sys:Int32>
<sys:Int32 x:Key="LiCompLen">32</sys:Int32> <sys:Int32 x:Key="LiCompLen">32</sys:Int32>
<sys:Int32 x:Key="LoTang">33</sys:Int32> <sys:Int32 x:Key="LoTang">33</sys:Int32>
<sys:Int32 x:Key="LoPerp">34</sys:Int32> <sys:Int32 x:Key="LoPerp">34</sys:Int32>
<sys:Int32 x:Key="LoElev">35</sys:Int32> <sys:Int32 x:Key="LoElev">35</sys:Int32>
<sys:Int32 x:Key="LoCompLen">36</sys:Int32> <sys:Int32 x:Key="LoCompLen">36</sys:Int32>
<sys:Int32 x:Key="StartAddLen">37</sys:Int32> <sys:Int32 x:Key="StartAddLen">37</sys:Int32>
<sys:Int32 x:Key="EndAddLen">38</sys:Int32> <sys:Int32 x:Key="EndAddLen">38</sys:Int32>
<sys:Int32 x:Key="StepExtArc">39</sys:Int32> <sys:Int32 x:Key="StepExtArc">39</sys:Int32>
<sys:Int32 x:Key="StepIntArc">40</sys:Int32> <sys:Int32 x:Key="StepIntArc">40</sys:Int32>
<sys:Int32 x:Key="SideStep">41</sys:Int32> <sys:Int32 x:Key="SideStep">41</sys:Int32>
<sys:Int32 x:Key="VertFeed">42</sys:Int32> <sys:Int32 x:Key="VertFeed">42</sys:Int32>
<sys:Int32 x:Key="NamePar">43</sys:Int32> <sys:Int32 x:Key="NamePar">43</sys:Int32>
<sys:Int32 x:Key="Tool">44</sys:Int32> <sys:Int32 x:Key="Tool">44</sys:Int32>
<sys:Int32 x:Key="DepthStr">45</sys:Int32> <sys:Int32 x:Key="DepthStr">45</sys:Int32>
<sys:Int32 x:Key="UserNotes">46</sys:Int32> <sys:Int32 x:Key="UserNotes">46</sys:Int32>
<sys:Int32 x:Key="OverLap">47</sys:Int32> <sys:Int32 x:Key="OverLap">47</sys:Int32>
<sys:Int32 x:Key="SubType">49</sys:Int32> <sys:Int32 x:Key="SubType">49</sys:Int32>
<sys:Int32 x:Key="SelectedSolChoiceType">50</sys:Int32> <sys:Int32 x:Key="SelectedSolChoiceType">50</sys:Int32>
<sys:Int32 x:Key="AxRotRef">51</sys:Int32> <sys:Int32 x:Key="AxRotRef">51</sys:Int32>
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32> <sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
<sys:Int32 x:Key="FaceUseType">53</sys:Int32> <sys:Int32 x:Key="FaceUseType">53</sys:Int32>
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32> <sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
<sys:Int32 x:Key="StepBack">55</sys:Int32> <sys:Int32 x:Key="StepBack">55</sys:Int32>
<sys:Int32 x:Key="StepSideAngBack">56</sys:Int32> <sys:Int32 x:Key="StepSideAngBack">56</sys:Int32>
<sys:Int32 x:Key="BackFeed">57</sys:Int32> <sys:Int32 x:Key="BackFeed">57</sys:Int32>
<sys:Int32 x:Key="StepSideAng">58</sys:Int32> <sys:Int32 x:Key="StepSideAng">58</sys:Int32>
<sys:Int32 x:Key="ForwardAngle">59</sys:Int32> <sys:Int32 x:Key="ForwardAngle">59</sys:Int32>
<sys:Int32 x:Key="Probing">60</sys:Int32> <sys:Int32 x:Key="Probing">60</sys:Int32>
<sys:Int32 x:Key="ProbingMinDist">61</sys:Int32> <sys:Int32 x:Key="ProbingMinDist">61</sys:Int32>
<sys:Int32 x:Key="ProbingMaxDist">62</sys:Int32> <sys:Int32 x:Key="ProbingMaxDist">62</sys:Int32>
<sys:Int32 x:Key="ExtCornType">63</sys:Int32> <sys:Int32 x:Key="ExtCornType">63</sys:Int32>
<sys:Int32 x:Key="IntCornType">64</sys:Int32> <sys:Int32 x:Key="IntCornType">64</sys:Int32>
<sys:Int32 x:Key="CornSlowLen">65</sys:Int32> <sys:Int32 x:Key="CornSlowLen">65</sys:Int32>
<sys:Int32 x:Key="CornSlowPerc">66</sys:Int32> <sys:Int32 x:Key="CornSlowPerc">66</sys:Int32>
<sys:Int32 x:Key="LiHole">67</sys:Int32> <sys:Int32 x:Key="LiHole">67</sys:Int32>
<sys:Int32 x:Key="LiHoleRad">68</sys:Int32> <sys:Int32 x:Key="LiHoleRad">68</sys:Int32>
<sys:Int32 x:Key="LpTurns">69</sys:Int32> <sys:Int32 x:Key="LpTurns">69</sys:Int32>
<sys:Int32 x:Key="HpTurns">70</sys:Int32> <sys:Int32 x:Key="HpTurns">70</sys:Int32>
<sys:Int32 x:Key="ThicknessFeed">71</sys:Int32> <sys:Int32 x:Key="ThicknessFeed">71</sys:Int32>
</EgtWPFLib5:EgtCustomWindow.Resources> <SolidColorBrush x:Key="ListBorder" Color="#828790"/>
</EgtWPFLib5:EgtCustomWindow.Resources>
<Grid> <Grid Background="Transparent">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="0.75*"/> <ColumnDefinition Width="0.95*"/>
<ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid> <Grid Background="Transparent">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="1*"/> <RowDefinition Height="0.75*"/>
<RowDefinition Height="11*"/> <RowDefinition Height="12*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<UniformGrid Grid.Row="0" Columns="3"> <UniformGrid Grid.Row="0" Columns="8">
<Button Content="New" Command="{Binding NewCommand}" <Button ToolTip="New" Command="{Binding NewCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}" CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"/> IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
<Button Content="Save" Command="{Binding SaveCommand}" Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Save" Command="{Binding SaveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}" CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"/> IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
<Button Content="Remove" Command="{Binding RemoveCommand}" Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Remove" Command="{Binding RemoveCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}" CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"/> IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
</UniformGrid> Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
</Button>
<TreeView Name="MachiningsTreeView" Grid.Row="1" <Button ToolTip="Import" Command="{Binding ImportCommand}"
ItemsSource="{Binding Path=MachiningsList}"> CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Export" Command="{Binding ExportCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Export_1.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="Reset" Command="{Binding ReloadMachiningCommand}"
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Reset.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.Resources> <TreeView Name="MachiningsTreeView" Grid.Row="1"
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyMachiningTreeViewItem}" ItemsSource="{Binding Items}"> Background="Transparent" BorderThickness="0"
ItemsSource="{Binding Path=MachiningsList}">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Db_TreeViewItem}">
<Setter Property="FontSize" Value="10" />
<Setter Property="Foreground" Value="{StaticResource Omag_White}" />
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
</Style>
</TreeView.ItemContainerStyle>
<Grid > <TreeView.Resources>
<Grid.ColumnDefinitions> <HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyMachiningTreeViewItem}" ItemsSource="{Binding Items}">
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0,8,6,4" /> <Grid Background="Transparent">
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="10" /> <Grid.ColumnDefinitions>
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding FamilyColor}" /> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
</Grid> <Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0" />
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="5,0,10,0" VerticalAlignment="Center" HorizontalAlignment="left" />
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding FamilyColor}" />
</HierarchicalDataTemplate> </Grid>
<DataTemplate DataType="{x:Type EgtWPFLib5:MachiningTreeViewItem}"> </HierarchicalDataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />--> <DataTemplate DataType="{x:Type EgtWPFLib5:MachiningTreeViewItem}">
<TextBlock Grid.Column="1" Text="{Binding NamePar}" Height="18" FontSize="15" Margin="10"/> <Grid Background="Transparent">
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding ToolColor}" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
</Grid> <!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />-->
</DataTemplate> <TextBlock Grid.Column="1" Text="{Binding NamePar}" Height="21" FontSize="13" Margin="30,0,10,0"
</TreeView.Resources> VerticalAlignment="Center" HorizontalAlignment="left"/>
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding ToolColor}" />
</TreeView> </Grid>
</Grid> </DataTemplate>
</TreeView.Resources>
<ContentControl Content="{Binding ParamPageV}" Grid.Column="1" Grid.ColumnSpan="2"/> </TreeView>
</Grid>
</Grid>
<ContentControl Content="{Binding ParamPageV}" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtCustomWindow>
@@ -1,21 +1,21 @@
'Imports EgtWPFLib5 Imports EgtWPFLib5
Public Class MyMachiningDbWindowV Public Class MyMachiningDbWindowV
' Private WithEvents m_MachiningDbWindowVM As MyMachiningDbWindowVM Private WithEvents m_MachiningDbWindowVM As EgtWPFLib5.MachiningDbWindowVM
' Sub New(Owner As Window, MachiningDbWindowVM As MyMachiningDbWindowVM) Sub New(Owner As Window, MachiningDbWindowVM As EgtWPFLib5.MachiningDbWindowVM)
' MyBase.New(Owner) MyBase.New(Owner)
' ' This call is required by the designer. ' This call is required by the designer.
' InitializeComponent() InitializeComponent()
' Me.DataContext = MachiningDbWindowVM Me.DataContext = MachiningDbWindowVM
' ' Assegno al riferimento locale al VM il VM preso dal DataContext ' Assegno al riferimento locale al VM il VM preso dal DataContext
' m_MachiningDbWindowVM = MachiningDbWindowVM m_MachiningDbWindowVM = MachiningDbWindowVM
' End Sub End Sub
' Private Sub CloseWindow(bDialogResult As Boolean) Handles m_MachiningDbWindowVM.m_CloseWindow Private Sub CloseWindow(bDialogResult As Boolean) Handles m_MachiningDbWindowVM.m_CloseWindow
' Me.DataContext = Nothing Me.DataContext = Nothing
' Me.DialogResult = bDialogResult Me.DialogResult = bDialogResult
' End Sub End Sub
End Class End Class
+45 -30
View File
@@ -36,7 +36,9 @@ Public Class MySceneHostVM
' Recupero l'elenco dei direttori radice macchina come stringa del tipo "..\Dir1\Example01|..\Dir2\|Example02" ' Recupero l'elenco dei direttori radice macchina come stringa del tipo "..\Dir1\Example01|..\Dir2\|Example02"
Dim sMchRoots As String = GetMachineBaseDirs() Dim sMchRoots As String = GetMachineBaseDirs()
' inizializzo gestore lavorazioni ' inizializzo gestore lavorazioni
EgtInitMachMgr(sMchRoots, OmagOFFICEMap.refMainWindowVM.MainWindowM.sToolMakersDir) If Not EgtInitMachMgr(sMchRoots, OmagOFFICEMap.refMainWindowVM.MainWindowM.sToolMakersDir) Then
EgtOutLog("Error on loading machines roots: " & sMchRoots)
End If
' inizializzo gestione più macchine ' inizializzo gestione più macchine
OmagOFFICEMap.refMachinePanelVM.Init(sMchRoots) OmagOFFICEMap.refMachinePanelVM.Init(sMchRoots)
OmagOFFICEMap.refMachGroupPanelVM.Init() OmagOFFICEMap.refMachGroupPanelVM.Init()
@@ -150,27 +152,32 @@ Public Class MySceneHostVM
MainScene.SetSnapPointType(SP.PT_SKETCH) MainScene.SetSnapPointType(SP.PT_SKETCH)
End Sub End Sub
Public Overrides Sub SaveProject() Public Overrides Function SaveProject() As Boolean
MyBase.SaveProject() Dim bOk As Boolean = 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
MyBase.SaveAsProject() Dim bOk As Boolean = MyBase.SaveAsProject()
' 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
Private Function GetMachineBaseDirs() As String Private Function GetMachineBaseDirs() As String
' Trasformo l'elenco dei direttori radice macchina in una stringa del tipo "..\Dir1\Example01|..\Dir2\|Example02" ' Trasformo l'elenco dei direttori radice macchina in una stringa del tipo "..\Dir1\Example01|..\Dir2\|Example02"
Dim sMchRoots As String = "" Dim sMchRoots As String = ""
' Pulisco eventuali caratteri nascosti: origString.Replace(vbCr, "").Replace(vbLf, "")
For Each MachDir In OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRootList For Each MachDir In OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRootList
MachDir = MachDir.Replace(vbCr, "").Replace(vbLf, "")
sMchRoots &= MachDir & "|" sMchRoots &= MachDir & "|"
Next Next
' rimuovo dalla stringa l'ultimo carattere "|" inserito ' rimuovo dalla stringa l'ultimo carattere "|" inserito
sMchRoots = sMchRoots.Remove(sMchRoots.Length - 1, 1) sMchRoots = sMchRoots.Remove(sMchRoots.Length - 1, 1)
If String.IsNullOrEmpty( sMchRoots) Then sMchRoots = OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRoot If String.IsNullOrEmpty(sMchRoots) Then sMchRoots = OmagOFFICEMap.refMainWindowVM.MainWindowM.sMachinesRoot
EgtOutLog("Machine root list: " & sMchRoots)
Return sMchRoots Return sMchRoots
End Function End Function
@@ -178,7 +185,7 @@ Public Class MySceneHostVM
#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()
' Eventuale reset VM ' Eventuale reset VM
@@ -186,9 +193,10 @@ Public Class MySceneHostVM
VeinMatching.Clear() VeinMatching.Clear()
End If End If
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
@@ -211,33 +219,38 @@ Public Class MySceneHostVM
Dim sVmFile As String = Path.ChangeExtension(sFile, ".vme") Dim sVmFile As String = Path.ChangeExtension(sFile, ".vme")
VeinMatching.Open(sVmFile) VeinMatching.Open(sVmFile)
End If End If
End Sub Return bOk
End Function
Public Overrides Sub ExportProject() Public Overrides Function ExportProject() As Boolean
Dim bOk As Boolean = False
EgtSetCurrentContext(MainScene.GetCtx()) EgtSetCurrentContext(MainScene.GetCtx())
' Verifico che il progetto sia salvato ' Verifico che il progetto sia salvato
If EgtGetModified() Then If EgtGetModified() Then
MessageBox.Show(EgtMsg( 91501), "", MessageBoxButton.OK, MessageBoxImage.Exclamation) MessageBox.Show(EgtMsg(91501), "", MessageBoxButton.OK, MessageBoxImage.Exclamation)
Return Return bOk
End If End If
' Scelta del direttorio di destinazione ' Scelta del direttorio di destinazione
Dim sLastExportDir As String = String.Empty Dim sLastExportDir As String = String.Empty
GetMainPrivateProfileString(S_GENERAL, K_EXPORTDIR, "", sLastExportDir) GetMainPrivateProfileString(S_GENERAL, K_EXPORTDIR, "", sLastExportDir)
Dim DirDlg As New System.Windows.Forms.FolderBrowserDialog Dim DirDlg As New System.Windows.Forms.FolderBrowserDialog
DirDlg.Description = EgtMsg( 91502) ' Seleziona il direttorio di esportazione DirDlg.Description = EgtMsg(91502) ' Seleziona il direttorio di esportazione
DirDlg.SelectedPath = sLastExportDir DirDlg.SelectedPath = sLastExportDir
If DirDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return If DirDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return bOk
WriteMainPrivateProfileString(S_GENERAL, K_EXPORTDIR, DirDlg.SelectedPath) WriteMainPrivateProfileString(S_GENERAL, K_EXPORTDIR, DirDlg.SelectedPath)
' Eseguo esportazione ' Eseguo esportazione
If ExecExport(DirDlg.SelectedPath) Then bOk = ExecExport(DirDlg.SelectedPath)
If bOk Then
' Esportazione conclusa con successo ' Esportazione conclusa con successo
OmagOFFICEMap.refStatusBarVM.SetOutputMessage( EgtMsg( 91504), 5, MSG_TYPE.INFO) OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91504), 5, MSG_TYPE.INFO)
bOk = True
Else Else
' Errore nell'esportazione ' Errore nell'esportazione
MessageBox.Show( EgtMsg( 91503), "", MessageBoxButton.OK, MessageBoxImage.Error) MessageBox.Show(EgtMsg(91503), "", MessageBoxButton.OK, MessageBoxImage.Error)
End If End If
EgtSetCurrentContext(MainScene.GetCtx()) EgtSetCurrentContext(MainScene.GetCtx())
End Sub Return bOk
End Function
Private Function ExecExport(sDirDest As String) As Boolean Private Function ExecExport(sDirDest As String) As Boolean
' salvo il nome della macchina correntemente selezionata ' salvo il nome della macchina correntemente selezionata
@@ -383,31 +396,33 @@ Public Class MySceneHostVM
Return bOk Return bOk
End Function End Function
Public Sub DxfOutProject() Public Function DxfOutProject() As Boolean
EgtSetCurrentContext(MainScene.GetCtx()) EgtSetCurrentContext(MainScene.GetCtx())
' Verifico che il progetto sia salvato ' Verifico che il progetto sia salvato
If EgtGetModified() Then If EgtGetModified() Then
MessageBox.Show(EgtMsg( 91501), "", MessageBoxButton.OK, MessageBoxImage.Exclamation) MessageBox.Show(EgtMsg(91501), "", MessageBoxButton.OK, MessageBoxImage.Exclamation)
Return Return False
End If End If
' Scelta del direttorio di destinazione ' Scelta del direttorio di destinazione
Dim sLastDxfOutDir As String = String.Empty Dim sLastDxfOutDir As String = String.Empty
GetMainPrivateProfileString(S_GENERAL, K_DXFOUTDIR, "", sLastDxfOutDir) GetMainPrivateProfileString(S_GENERAL, K_DXFOUTDIR, "", sLastDxfOutDir)
Dim DirDlg As New System.Windows.Forms.FolderBrowserDialog Dim DirDlg As New System.Windows.Forms.FolderBrowserDialog
DirDlg.Description = EgtMsg( 91502) ' Seleziona il direttorio di esportazione DirDlg.Description = EgtMsg(91502) ' Seleziona il direttorio di esportazione
DirDlg.SelectedPath = sLastDxfOutDir DirDlg.SelectedPath = sLastDxfOutDir
If DirDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return If DirDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return False
WriteMainPrivateProfileString(S_GENERAL, K_DXFOUTDIR, DirDlg.SelectedPath) WriteMainPrivateProfileString(S_GENERAL, K_DXFOUTDIR, DirDlg.SelectedPath)
' Eseguo esportazione ' Eseguo esportazione
If ExecDxfOut(DirDlg.SelectedPath) Then Dim bOk As Boolean = ExecDxfOut(DirDlg.SelectedPath)
If bOk Then
' Esportazione conclusa con successo ' Esportazione conclusa con successo
OmagOFFICEMap.refStatusBarVM.SetOutputMessage( EgtMsg( 91504), 5, MSG_TYPE.INFO) OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91504), 5, MSG_TYPE.INFO)
Else Else
' Errore nell'esportazione ' Errore nell'esportazione
MessageBox.Show( EgtMsg( 91503), "", MessageBoxButton.OK, MessageBoxImage.Error) MessageBox.Show(EgtMsg(91503), "", MessageBoxButton.OK, MessageBoxImage.Error)
End If End If
EgtSetCurrentContext(MainScene.GetCtx()) EgtSetCurrentContext(MainScene.GetCtx())
End Sub Return bOk
End Function
Private Function ExecDxfOut(sDirDest As String) As Boolean Private Function ExecDxfOut(sDirDest As String) As Boolean
' Path completa del progetto corrente ' Path completa del progetto corrente
+200
View File
@@ -0,0 +1,200 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MySetUpWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
CloseCommand="{Binding CloseSetUpCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
Height="900">
<EgtWPFLib5:EgtCustomWindow.InputBindings>
<KeyBinding Key="Escape" Command="{Binding ReloadToolCommand}"
CommandParameter="{Binding Path=SelectedItem,ElementName=ToolsTreeView}"/>
</EgtWPFLib5:EgtCustomWindow.InputBindings>
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.95*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
<RowDefinition Height="12*"/>
</Grid.RowDefinitions>
<UniformGrid Grid.Row="0" Columns="8">
<Button ToolTip="{Binding ApplyMsg}" Command="{Binding ApplyCommand}"
IsEnabled="{Binding IsEnabledApplyBtn}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Export_1.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding ArchiveMsg}" Command="{Binding ArchiveCommand}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Insert.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding RetrievesMsg}" Command="{Binding RetrievesCommand}"
CommandParameter="{Binding SelectedItem,ElementName=ToolsTreeView}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Open.png" Stretch="Uniform"/>
</Button>
<Button ToolTip="{Binding AutomaticMsg}" Command="{Binding AutomaticCommand}"
CommandParameter="{Binding SelectedItem,ElementName=ToolsTreeView}"
Style = "{DynamicResource MachiningDB_Button}">
<Image Source="/Resources/TopCommandBar/Automatic.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<TreeView Name="SetUpTreeView" Grid.Row="1"
Background="Transparent" BorderThickness="0"
ItemsSource="{Binding ToolsList}">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="FontSize" Value="10" />
<Setter Property="Foreground" Value="{StaticResource Omag_White}" />
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
<EventSetter Event="MouseDoubleClick" Handler="Tool_DoubleClick"/>
</Style>
</TreeView.ItemContainerStyle>
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyToolItem}"
ItemsSource="{Binding Items}">
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0"/>
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="5,0,10,0" VerticalAlignment="Center" HorizontalAlignment="left" />
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding FamilyColor}"/>
</Grid>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type EgtWPFLib5:ToolItem}">
<Grid Background="Transparent">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />-->
<TextBlock Grid.Column="1" Text="{Binding Name}" Height="21" FontSize="13" Margin="30,0,10,0"
VerticalAlignment="Center" HorizontalAlignment="left"/>
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding ToolColor}" />
</Grid>
</DataTemplate>
</TreeView.Resources>
</TreeView>
</Grid>
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding SetUpImage}" MaxWidth="300"/>
<!--Style="{DynamicResource HorizontalScrollViewerItemsControlStyle}"-->
<ItemsControl Grid.Column="1" ItemsSource="{Binding PositionGroupList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ItemsControl Grid.Column="1" ItemsSource="{Binding PositionList}" Margin="0,0,20,0">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="5,5,15,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding TcPos}"
Foreground="White"/>
<ItemsControl Grid.Column="1" ItemsSource="{Binding ExitToolAssociationList}"
HorizontalAlignment="Left">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<!--<WrapPanel Orientation="Horizontal" MaxWidth="200"/>-->
<UniformGrid Columns="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="10,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<!--Style="{DynamicResource SetUpToggleButton}"-->
<ToggleButton Content="{Binding ExitPar}" Name="ExitBtn"
CommandParameter="{Binding SelectedItem,ElementName=SetUpTreeView}"
IsChecked="{Binding IsOccupied}" Height="25" Width="25" Margin="0,0,5,0"
Command="{Binding SetUpToolCommand}"
IsEnabled="{Binding IsEnabledPos}"
Background="{Binding ExitBtnBackgroundCol}"
Foreground="Black"/>
<!--BorderBrush="{DynamicResource EgaltechBlue1}"-->
<Border x:Name="ToolBorder" Grid.Column="1"
BorderThickness="1" ToolTip="{Binding ToolTipMsg}">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Visibility" Value="Hidden"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=ExitBtn, Path=IsChecked}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock Text="{Binding Tool.Name}" Margin="3"
Foreground="White"/>
</Border>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+29
View File
@@ -0,0 +1,29 @@
Imports EgtWPFLib5
Public Class MySetUpWindowV
Private WithEvents m_SetUpWindowVM As SetUpWindowVM
Sub New(Owner As Window, SetUpWindowVM As SetUpWindowVM)
MyBase.New(Owner)
' This call is required by the designer.
InitializeComponent()
Me.DataContext = SetUpWindowVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_SetUpWindowVM = SetUpWindowVM
End Sub
Private Sub Tool_DoubleClick(sender As Object, e As MouseButtonEventArgs)
Dim TreeViewItem As TreeViewItem = DirectCast(sender, TreeViewItem)
If TypeOf TreeViewItem.DataContext Is ToolItem Then
Dim SelTool As ToolItem = DirectCast(TreeViewItem.DataContext, ToolItem)
m_SetUpWindowVM.ToolDoubleClick(SelTool)
e.Handled = True
End If
End Sub
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_SetUpWindowVM.m_CloseWindow
Me.DialogResult = bDialogResult
End Sub
End Class
File diff suppressed because it is too large Load Diff
+30 -1
View File
@@ -1,3 +1,32 @@
Public Class MyToolDbWindowV Imports EgtUILib
Public Class MyToolDbWindowV
Private WithEvents m_ToolDbWindowVM As EgtWPFLib5.ToolDbWindowVM
Sub New(Owner As Window, ToolDbWindowVM As EgtWPFLib5.ToolDbWindowVM)
MyBase.New(Owner)
' This call is required by the designer.
InitializeComponent()
Me.DataContext = ToolDbWindowVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_ToolDbWindowVM = ToolDbWindowVM
End Sub
Private Sub ToolsDbView_Closed(bDialogResult As Boolean) Handles m_ToolDbWindowVM.m_CloseWindow
' Imposto contesto generale
EgtSetCurrentContext(EgtWPFLib5.ToolDbWindowVM.ProjectSceneContext)
' Cancello contesto di visualizzazione utensile
EgtDeleteContext(EgtWPFLib5.ToolDbWindowVM.ToolDbSceneContext)
'ToolDbWindowVM.m_ToolDbSceneContext = 0
Me.Close()
End Sub
Private Sub ToolsDbView_Closing(sender As Object, e As ComponentModel.CancelEventArgs) Handles Me.Closing
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
e.Cancel = True
Return
End If
End Sub
End Class End Class
+285
View File
@@ -0,0 +1,285 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MyWaterjetDbWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
CloseCommand="{Binding CloseToolsDbCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
Height="900" Width="1100">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
<RowDefinition Height="11*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1" Grid.RowSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<ListBox x:Name="MaterialListBox"
Background="Transparent"
Foreground="{StaticResource Omag_White}"
BorderThickness="0"
ItemsSource="{Binding MaterialList}"
DisplayMemberPath="Name"
SelectedItem="{Binding SelMaterial}"
Grid.Column="0">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Opacity" Value="1"/>
</Trigger>
<Trigger Property="IsSelected" Value="false">
<Setter Property="Opacity" Value="0.6"/>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
<ListBox x:Name="SubMaterialListBox"
Background="Transparent"
Foreground="{StaticResource Omag_White}"
BorderThickness="0"
ItemsSource="{Binding Path=SelectedItem.SubMaterialList, ElementName=MaterialListBox}"
DisplayMemberPath="Name"
SelectedItem="{Binding Path=SelectedItem.SelSubMaterial, ElementName=MaterialListBox}"
Grid.Column="1">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Opacity" Value="1"/>
</Trigger>
<Trigger Property="IsSelected" Value="false">
<Setter Property="Opacity" Value="0.6"/>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
<DataGrid ItemsSource="{Binding Path=SelectedItem.ParamList, ElementName=SubMaterialListBox}"
SelectedItem="{Binding Path=SelectedItem.SelWjParam, ElementName=SubMaterialListBox}"
Grid.Column="2"
Background="Transparent"
BorderThickness="0"
Margin="2.5,0,2.5,0"
HeadersVisibility="Column"
AutoGenerateColumns="False">
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
<Setter Property="Background" Value="{StaticResource Omag_Black}"/>
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
<Setter Property="BorderBrush" Value="{StaticResource Omag_DarkGray}"/>
<Setter Property="BorderThickness" Value="0.25"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Opacity" Value="0.7"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="{StaticResource Omag_Black}"/>
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
<Setter Property="BorderBrush" Value="{StaticResource Omag_DarkGray}"/>
<Setter Property="BorderThickness" Value="0.25"/>
</Style>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="BorderBrush" Value="{StaticResource Omag_DarkGray}"/>
<Setter Property="BorderThickness" Value="0.25"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{StaticResource Omag_DarkGray}"/>
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
<Setter Property="BorderBrush" Value="{StaticResource Omag_DarkGray}"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<!--Thickness-->
<DataGridTextColumn Binding="{Binding Thickness}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Thickness_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Q1-->
<DataGridTextColumn Binding="{Binding Q1}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Q1_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Q2-->
<DataGridTextColumn Binding="{Binding Q2}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Q2_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Q3-->
<DataGridTextColumn Binding="{Binding Q3}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Q3_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Q4-->
<DataGridTextColumn Binding="{Binding Q4}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Q4_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Q5-->
<DataGridTextColumn Binding="{Binding Q5}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Q5_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--QExtra-->
<DataGridTextColumn Binding="{Binding QExtra}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.QExtra_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--AngComp-->
<DataGridTextColumn Binding="{Binding dAngComp}"
Width="*">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.AngComp_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<EgtWPFLib5:EgtTextBox Grid.Column="0" Text="{Binding sNewMaterial, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding NewMaterial_Visibility}" Height="20" Margin="10,0">
<EgtWPFLib5:EgtTextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DoneCommand}"/>
<KeyBinding Key="Esc" Command="{Binding CancelCommand}"/>
</EgtWPFLib5:EgtTextBox.InputBindings>
</EgtWPFLib5:EgtTextBox>
<EgtWPFLib5:EgtTextBox Grid.Column="1" Text="{Binding sNewSubMaterial, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding NewSubMaterial_Visibility}" Height="20" Margin="10,0">
<EgtWPFLib5:EgtTextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DoneCommand}"/>
<KeyBinding Key="Esc" Command="{Binding CancelCommand}"/>
</EgtWPFLib5:EgtTextBox.InputBindings>
</EgtWPFLib5:EgtTextBox>
<!--<Grid DockPanel.Dock="Bottom" Visibility="{Binding NewMaterial_Visibility}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<EgtWPFLib5:EgtTextBox Text="{Binding sNewMaterial}"
DockPanel.Dock="Bottom"
Margin="0,0,0,5"/>
<Button Content="{Binding OkMsg}" Grid.Column="1"
Command="{Binding DoneCommand}"
IsEnabled="{Binding EnableOkNewMat}"
Style="{StaticResource OptionPanel_TextButton}"
Margin="2.5,0,0,2.5"/>
<Button Content="{Binding CancelMsg}" Grid.Column="2"
Command="{Binding CamcelCommand}"
Style="{StaticResource OptionPanel_TextButton}"
Margin="2.5,0,0,2.5"/>
</Grid>-->
</Grid>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<UniformGrid Grid.Column="0" Columns="3" HorizontalAlignment="left">
<Button Command="{Binding NewMaterialCommand}" ToolTip="{Binding New_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding ModifyMaterialCommand}" ToolTip="{Binding Modify_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/Modify.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding DeleteMaterialCommand}" ToolTip="{Binding Delete_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<UniformGrid Grid.Column="1" Columns="3" HorizontalAlignment="left">
<Button Command="{Binding NewSubMaterialCommand}" ToolTip="{Binding New_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding ModifySubMaterialCommand}" ToolTip="{Binding Modify_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/Modify.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding DeleteSubMaterialCommand}" ToolTip="{Binding Delete_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
<UniformGrid Grid.Column="2" Columns="3" HorizontalAlignment="Right">
<Button Command="{Binding NewWjParamCommand}" ToolTip="{Binding New_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding DeleteWjParamCommand}" ToolTip="{Binding Delete_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding SaveCommand}" ToolTip="{Binding Save_Msg}"
Style = "{DynamicResource WaterjetDB_Button}">
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
</Button>
</UniformGrid>
</Grid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
@@ -0,0 +1,20 @@
Imports EgtWPFLib5
Public Class MyWaterjetDbWindowV
Private WithEvents m_WaterjetDbWindowVM As WaterjetDbWindowVM
Sub New(Owner As Window, WaterjetDbWindowVM As WaterjetDbWindowVM)
MyBase.New(Owner)
' This call is required by the designer.
InitializeComponent()
Me.DataContext = WaterjetDbWindowVM
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_WaterjetDbWindowVM = WaterjetDbWindowVM
End Sub
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_WaterjetDbWindowVM.m_CloseWindow
Me.DialogResult = bDialogResult
End Sub
End Class
+275 -3
View File
@@ -12,6 +12,21 @@
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<MyType>Custom</MyType> <MyType>Custom</MyType>
<TargetFrameworkProfile>Client</TargetFrameworkProfile> <TargetFrameworkProfile>Client</TargetFrameworkProfile>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@@ -109,7 +124,13 @@
<PropertyGroup> <PropertyGroup>
<ApplicationIcon>Resources\OmagOFFICE.ico</ApplicationIcon> <ApplicationIcon>Resources\OmagOFFICE.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="DotNetZip">
<HintPath>..\..\EgtProg\OmagOFFICE\DotNetZip.dll</HintPath>
</Reference>
<Reference Include="EgtPHOTOLib, Version=2.3.1.1, Culture=neutral, processorArchitecture=x86"> <Reference Include="EgtPHOTOLib, Version=2.3.1.1, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\EgtProg\Dll32\EgtPHOTOLib.dll</HintPath> <HintPath>..\..\EgtProg\Dll32\EgtPHOTOLib.dll</HintPath>
@@ -120,9 +141,7 @@
<Reference Include="EgtWPFLib5"> <Reference Include="EgtWPFLib5">
<HintPath>..\..\EgtProg\DllD32\EgtWPFLib5.dll</HintPath> <HintPath>..\..\EgtProg\DllD32\EgtWPFLib5.dll</HintPath>
</Reference> </Reference>
<Reference Include="Ionic.Zip"> <Reference Include="PresentationFramework.Aero" />
<HintPath>..\..\EgtProg\OmagOFFICE\Ionic.Zip.dll</HintPath>
</Reference>
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86"> <Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
@@ -213,8 +232,15 @@
<Compile Include="EgtStoneLib\VeinMatchingWindow.xaml.vb"> <Compile Include="EgtStoneLib\VeinMatchingWindow.xaml.vb">
<DependentUpon>VeinMatchingWindow.xaml</DependentUpon> <DependentUpon>VeinMatchingWindow.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="InstrumentPanel\PrintPanelV.xaml.vb">
<DependentUpon>PrintPanelV.xaml</DependentUpon>
</Compile>
<Compile Include="InstrumentPanel\MyInstrumentPanelVM.vb" /> <Compile Include="InstrumentPanel\MyInstrumentPanelVM.vb" />
<Compile Include="InstrumentPanel\PrintPanelVM.vb" />
<Compile Include="MachinePanel\MyMachinePanelVM.vb" /> <Compile Include="MachinePanel\MyMachinePanelVM.vb" />
<Compile Include="MyMachGroupPanel\MyMachGroupPanelV.xaml.vb">
<DependentUpon>MyMachGroupPanelV.xaml</DependentUpon>
</Compile>
<Compile Include="MyMachGroupPanel\MyMachGroupPanelVM.vb" /> <Compile Include="MyMachGroupPanel\MyMachGroupPanelVM.vb" />
<Compile Include="MachinePanel\MachinePanelV.xaml.vb"> <Compile Include="MachinePanel\MachinePanelV.xaml.vb">
<DependentUpon>MachinePanelV.xaml</DependentUpon> <DependentUpon>MachinePanelV.xaml</DependentUpon>
@@ -230,11 +256,17 @@
</Compile> </Compile>
<Compile Include="MachOptionWindow\MachOptionWindowVM.vb" /> <Compile Include="MachOptionWindow\MachOptionWindowVM.vb" />
<Compile Include="MySceneHost\MySceneHostVM.vb" /> <Compile Include="MySceneHost\MySceneHostVM.vb" />
<Compile Include="MySetUpWindow\MySetUpWindowV.xaml.vb">
<DependentUpon>MySetUpWindowV.xaml</DependentUpon>
</Compile>
<Compile Include="MySetUpWindow\MySetUpWindowVM.vb" /> <Compile Include="MySetUpWindow\MySetUpWindowVM.vb" />
<Compile Include="MyToolDbWindow\MyToolDbWindowV.xaml.vb"> <Compile Include="MyToolDbWindow\MyToolDbWindowV.xaml.vb">
<DependentUpon>MyToolDbWindowV.xaml</DependentUpon> <DependentUpon>MyToolDbWindowV.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="MyToolDbWindow\MyToolDbWindowVM.vb" /> <Compile Include="MyToolDbWindow\MyToolDbWindowVM.vb" />
<Compile Include="MyWaterjetDbWindow\MyWaterjetDbWindowV.xaml.vb">
<DependentUpon>MyWaterjetDbWindowV.xaml</DependentUpon>
</Compile>
<Compile Include="OptionPanel\MachiningTab\MachiningTabV.xaml.vb"> <Compile Include="OptionPanel\MachiningTab\MachiningTabV.xaml.vb">
<DependentUpon>MachiningTabV.xaml</DependentUpon> <DependentUpon>MachiningTabV.xaml</DependentUpon>
</Compile> </Compile>
@@ -247,6 +279,10 @@
</Compile> </Compile>
<Compile Include="OptionPanel\MachiningTab\ModifStartEndCutWindowVM.vb" /> <Compile Include="OptionPanel\MachiningTab\ModifStartEndCutWindowVM.vb" />
<Compile Include="OptionPanel\MachiningTab\ModifStartEndWjWindowVM.vb" /> <Compile Include="OptionPanel\MachiningTab\ModifStartEndWjWindowVM.vb" />
<Compile Include="OptionPanel\MachiningTab\ModifyQualityV.xaml.vb">
<DependentUpon>ModifyQualityV.xaml</DependentUpon>
</Compile>
<Compile Include="OptionPanel\MachiningTab\ModifyQualityVM.vb" />
<Compile Include="OptionPanel\MachiningTab\MoveRawModeV.xaml.vb"> <Compile Include="OptionPanel\MachiningTab\MoveRawModeV.xaml.vb">
<DependentUpon>MoveRawModeV.xaml</DependentUpon> <DependentUpon>MoveRawModeV.xaml</DependentUpon>
</Compile> </Compile>
@@ -389,6 +425,10 @@
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Include="InstrumentPanel\PrintPanelV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="MachinePanel\MachinePanelV.xaml"> <Page Include="MachinePanel\MachinePanelV.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
@@ -397,6 +437,10 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</Page> </Page>
<Page Include="MyMachGroupPanel\MyMachGroupPanelV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MyMachiningDbWindow\MyMachiningDbWindowV.xaml"> <Page Include="MyMachiningDbWindow\MyMachiningDbWindowV.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -417,10 +461,18 @@
<DependentUpon>MainWindowV.xaml</DependentUpon> <DependentUpon>MainWindowV.xaml</DependentUpon>
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Page Include="MySetUpWindow\MySetUpWindowV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="MyToolDbWindow\MyToolDbWindowV.xaml"> <Page Include="MyToolDbWindow\MyToolDbWindowV.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Include="MyWaterjetDbWindow\MyWaterjetDbWindowV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="OptionPanel\MachiningTab\MachiningTabV.xaml"> <Page Include="OptionPanel\MachiningTab\MachiningTabV.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
@@ -433,6 +485,10 @@
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Include="OptionPanel\MachiningTab\ModifyQualityV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="OptionPanel\MachiningTab\MoveRawModeV.xaml"> <Page Include="OptionPanel\MachiningTab\MoveRawModeV.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
@@ -566,11 +622,13 @@
<CustomToolNamespace>My.Resources</CustomToolNamespace> <CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<None Include="My Project\app.manifest" />
<None Include="My Project\Settings.settings"> <None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.vb</LastGenOutput> <LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None> </None>
<AppDesigner Include="My Project\" /> <AppDesigner Include="My Project\" />
<None Include="packages.config" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="App.config" /> <None Include="App.config" />
@@ -691,6 +749,220 @@
<ItemGroup> <ItemGroup>
<Resource Include="Resources\TopCommandBar\DxfOut.png" /> <Resource Include="Resources\TopCommandBar\DxfOut.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Resource Include="Resources\InstrumentPanel\Print.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\1-BottomLeft.png" />
<Resource Include="Resources\NewIcons\2-BottomRight.png" />
<Resource Include="Resources\NewIcons\3-TopRight.png" />
<Resource Include="Resources\NewIcons\4-TopLeft.png" />
<Resource Include="Resources\NewIcons\Acquisisci-P.png" />
<Resource Include="Resources\NewIcons\Acquisisci-P1.png" />
<Resource Include="Resources\NewIcons\Acquisisci-P1_P2.png" />
<Resource Include="Resources\NewIcons\Acquisisci-P2.png" />
<Resource Include="Resources\NewIcons\Allunga-o-accorcia.png" />
<Resource Include="Resources\NewIcons\Arco.png" />
<Resource Include="Resources\NewIcons\AvantiVeloce.png" />
<Resource Include="Resources\NewIcons\BarCode.png" />
<Resource Include="Resources\NewIcons\Carica.png" />
<Resource Include="Resources\NewIcons\centro.png" />
<Resource Include="Resources\NewIcons\Chiudi.png" />
<Resource Include="Resources\NewIcons\Copia-dima.png" />
<Resource Include="Resources\NewIcons\CSV.png" />
<Resource Include="Resources\NewIcons\CsvMinus.png" />
<Resource Include="Resources\NewIcons\CsvNew.png" />
<Resource Include="Resources\NewIcons\CsvOpen.png" />
<Resource Include="Resources\NewIcons\CsvPlus.png" />
<Resource Include="Resources\NewIcons\CsvRuinedParts.png" />
<Resource Include="Resources\NewIcons\DatiMacchina.png" />
<Resource Include="Resources\NewIcons\DB-lavorazioni.png" />
<Resource Include="Resources\NewIcons\DB-utensili.png" />
<Resource Include="Resources\NewIcons\Deseleziona-tutto.png" />
<Resource Include="Resources\NewIcons\Drag_Rettangle.png" />
<Resource Include="Resources\NewIcons\Elimina-pezzo.png" />
<Resource Include="Resources\NewIcons\Esegui.png" />
<Resource Include="Resources\NewIcons\File-CSV.png" />
<Resource Include="Resources\NewIcons\Fine-allunga-o-accorcia.png" />
<Resource Include="Resources\NewIcons\Fine-centro-fuori.png" />
<Resource Include="Resources\NewIcons\Fine-tutti-centro.png" />
<Resource Include="Resources\NewIcons\Fine-tutti-fuori.png" />
<Resource Include="Resources\NewIcons\Foro-singolo.png" />
<Resource Include="Resources\NewIcons\FrameMachining.png" />
<Resource Include="Resources\NewIcons\freccia-dx.png" />
<Resource Include="Resources\NewIcons\freccia-giu.png" />
<Resource Include="Resources\NewIcons\freccia-nera.png" />
<Resource Include="Resources\NewIcons\freccia-small.png" />
<Resource Include="Resources\NewIcons\freccia-su.png" />
<Resource Include="Resources\NewIcons\freccia-sx.png" />
<Resource Include="Resources\NewIcons\freccia.png" />
<Resource Include="Resources\NewIcons\GenerateCN.png" />
<Resource Include="Resources\NewIcons\GenericView-hover.png" />
<Resource Include="Resources\NewIcons\GenericView.png" />
<Resource Include="Resources\NewIcons\ico-3D.png" />
<Resource Include="Resources\NewIcons\ico-cursore.png" />
<Resource Include="Resources\NewIcons\ico-cut.png" />
<Resource Include="Resources\NewIcons\ico-deseleziona.png" />
<Resource Include="Resources\NewIcons\ico-elimina.png" />
<Resource Include="Resources\NewIcons\ico-hover-3D.png" />
<Resource Include="Resources\NewIcons\ico-hover-cursore.png" />
<Resource Include="Resources\NewIcons\ico-hover-magnete.png" />
<Resource Include="Resources\NewIcons\ico-hover-mano.png" />
<Resource Include="Resources\NewIcons\ico-hover-puntatore.png" />
<Resource Include="Resources\NewIcons\ico-hover-righello.png" />
<Resource Include="Resources\NewIcons\ico-hover-zoom+.png" />
<Resource Include="Resources\NewIcons\ico-hover-zoom-.png" />
<Resource Include="Resources\NewIcons\ico-impostazioni.png" />
<Resource Include="Resources\NewIcons\ico-inserisci-prezzo.png" />
<Resource Include="Resources\NewIcons\ico-magnete.png" />
<Resource Include="Resources\NewIcons\ico-mano.png" />
<Resource Include="Resources\NewIcons\ico-parcheggia.png" />
<Resource Include="Resources\NewIcons\ico-puntatore.png" />
<Resource Include="Resources\NewIcons\ico-righello.png" />
<Resource Include="Resources\NewIcons\ico-salva.png" />
<Resource Include="Resources\NewIcons\ico-seleziona-tutto.png" />
<Resource Include="Resources\NewIcons\icone-tagli-1.png" />
<Resource Include="Resources\NewIcons\icone-tagli-2.png" />
<Resource Include="Resources\NewIcons\icone-tagli-4.png" />
<Resource Include="Resources\NewIcons\icone-tagli-5.png" />
<Resource Include="Resources\NewIcons\icone-tagli-6.png" />
<Resource Include="Resources\NewIcons\IndietroVeloce.png" />
<Resource Include="Resources\NewIcons\Inizio-allunga-o-accorcia.png" />
<Resource Include="Resources\NewIcons\Inizio-centro-fuori.png" />
<Resource Include="Resources\NewIcons\Inizio-tutti-centro.png" />
<Resource Include="Resources\NewIcons\Inizio-tutti-fuori.png" />
<Resource Include="Resources\NewIcons\Inserisci-pezzo.png" />
<Resource Include="Resources\NewIcons\Inverti.png" />
<Resource Include="Resources\NewIcons\Linea.png" />
<Resource Include="Resources\NewIcons\logo-OmCut.png" />
<Resource Include="Resources\NewIcons\Lucidatura.png" />
<Resource Include="Resources\NewIcons\Macchina.png" />
<Resource Include="Resources\NewIcons\Manual.png" />
<Resource Include="Resources\NewIcons\MHT.png" />
<Resource Include="Resources\NewIcons\Modifica-fine.png" />
<Resource Include="Resources\NewIcons\Modifica-inizio.png" />
<Resource Include="Resources\NewIcons\Movimento-manuale.png" />
<Resource Include="Resources\NewIcons\Nest.png" />
<Resource Include="Resources\NewIcons\NumericKeyboardArrow.png" />
<Resource Include="Resources\NewIcons\Nuovo.png" />
<Resource Include="Resources\NewIcons\ON_OFF-singolo-taglio.png" />
<Resource Include="Resources\NewIcons\Options.png" />
<Resource Include="Resources\NewIcons\Parcheggia-pezzo.png" />
<Resource Include="Resources\NewIcons\Parking.png" />
<Resource Include="Resources\NewIcons\Pausa-ON_OFF.png" />
<Resource Include="Resources\NewIcons\Ponticelli.png" />
<Resource Include="Resources\NewIcons\Ponticelli_delete.png" />
<Resource Include="Resources\NewIcons\Quality.png" />
<Resource Include="Resources\NewIcons\RawProbe.png" />
<Resource Include="Resources\NewIcons\Rimuovi-segmento.png" />
<Resource Include="Resources\NewIcons\Rimuovi_elimina.png" />
<Resource Include="Resources\NewIcons\Salva-con-nome.png" />
<Resource Include="Resources\NewIcons\Salva-taglio.png" />
<Resource Include="Resources\NewIcons\Salva.png" />
<Resource Include="Resources\NewIcons\SawProbe.png" />
<Resource Include="Resources\NewIcons\Seleziona-tutto.png" />
<Resource Include="Resources\NewIcons\Send.png" />
<Resource Include="Resources\NewIcons\Sezione-cornice.png" />
<Resource Include="Resources\NewIcons\Simula.png" />
<Resource Include="Resources\NewIcons\SlabId.png" />
<Resource Include="Resources\NewIcons\Specchia.png" />
<Resource Include="Resources\NewIcons\Spianatura.png" />
<Resource Include="Resources\NewIcons\SPLIT-WJ.png" />
<Resource Include="Resources\NewIcons\Split.png" />
<Resource Include="Resources\NewIcons\START-WJ.png" />
<Resource Include="Resources\NewIcons\Taglio-griglia.png" />
<Resource Include="Resources\NewIcons\Taglio-multiplo.png" />
<Resource Include="Resources\NewIcons\Taglio-singolo.png" />
<Resource Include="Resources\NewIcons\Take-point.png" />
<Resource Include="Resources\NewIcons\Test-lama.png" />
<Resource Include="Resources\NewIcons\ToolChangerPos.png" />
<Resource Include="Resources\NewIcons\Tutti-accorcia.png" />
<Resource Include="Resources\NewIcons\Tutti-allunga.png" />
<Resource Include="Resources\NewIcons\Tutti-OFF.png" />
<Resource Include="Resources\NewIcons\Tutti-ON.png" />
<Resource Include="Resources\NewIcons\V.png" />
<Resource Include="Resources\NewIcons\Vacuum.png" />
<Resource Include="Resources\NewIcons\Vein-match.png" />
<Resource Include="Resources\NewIcons\X.png" />
<Resource Include="Resources\NewIcons\XYJog.png" />
<Resource Include="Resources\NewIcons\ZBJog.png" />
<Resource Include="Resources\NewIcons\ZCJog.png" />
<Resource Include="Resources\NewIcons\zoom+.png" />
<Resource Include="Resources\NewIcons\zoom-.png" />
<Resource Include="Resources\NewIcons\ZoomAll-hover.png" />
<Resource Include="Resources\NewIcons\ZoomAll.png" />
<Resource Include="Resources\NewIcons\ZoomWin.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\RawPartTab\MovePhoto.png" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TopCommandBar\Export_1.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TopCommandBar\Import.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TopCommandBar\Reset.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TopCommandBar\Remove.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TopCommandBar\Insert.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TopCommandBar\Automatic.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\TopCommandBar\Modify.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Crea-taglio.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Attrezzaggio.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Rimuovi-taglio.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Modifica-taglio.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Crea-taglio-parallelo.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\CsvWindow\CsvMinus - Color.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\CsvWindow\CsvPlus - Color.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\CsvWindow\Inserisci-pezzo CSV.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\CsvWindow\Parcheggia-pezzo CSV.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Linea-Elimina.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Linea-Muovi.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Linea-Copia.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\DB-WJ.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\OmagOFFICE\OmagOFFICER32.exe <PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagOFFICE\OmagOFFICER32.exe
+17 -12
View File
@@ -4,29 +4,34 @@
Margin="5,5,5,0"> Margin="5,5,5,0">
<UniformGrid Columns="4" Margin="0,0,0,5"> <UniformGrid Columns="4" Margin="0,0,0,5">
<Button Style="{StaticResource OptionPanel_Button}" <Button Style="{StaticResource MachiningTab_Button}"
Command="{Binding PrevCommand}" Command="{Binding PrevCommand}"
IsEnabled="{Binding PrevIsEnabled}" IsEnabled="{Binding PrevIsEnabled}"
Margin="0,0,2.5,0"> Background="{StaticResource Omag_Black}"
<Image Source="/Resources/MachiningTab/BackArrow.png"/> Margin="0,0,1,0">
<Image Source="/Resources/MachiningTab/BackArrow.png"/>
</Button> </Button>
<Button Style="{StaticResource OptionPanel_Button}" <Button Style="{StaticResource MachiningTab_Button}"
Command="{Binding NextCommand}" Command="{Binding NextCommand}"
IsEnabled="{Binding NextIsEnabled}" IsEnabled="{Binding NextIsEnabled}"
Margin="0,0,2.5,0"> Background="{StaticResource Omag_Black}"
<Image Source="/Resources/MachiningTab/ForwardArrow.png"/> Margin="0,0,0,0">
</Button> <Image Source="/Resources/MachiningTab/ForwardArrow.png"/>
<Button Style="{StaticResource OptionPanel_Button}" </Button>
<Button Style="{StaticResource MachiningTab_Button}"
Content="{Binding ModifyMsg}" Content="{Binding ModifyMsg}"
Command="{Binding ModifyCommand}" Command="{Binding ModifyCommand}"
IsEnabled="{Binding ModifyIsEnabled}" IsEnabled="{Binding ModifyIsEnabled}"
Margin="0,0,2.5,0"/> Background="{StaticResource Omag_Black}"
<Button Style="{StaticResource OptionPanel_Button}" Foreground="{StaticResource Omag_White}"
Margin="1,0,1,0"/>
<Button Style="{StaticResource MachiningTab_Button}"
Content="{Binding AutoMsg}" Content="{Binding AutoMsg}"
Command="{Binding AutoCommand}" Command="{Binding AutoCommand}"
IsEnabled="{Binding AutoIsEnabled}"
Visibility="{Binding AutoVisibility}" Visibility="{Binding AutoVisibility}"
Margin="0,0,0,0"/> Background="{StaticResource Omag_Black}"
Foreground="{StaticResource Omag_White}"
Margin="1,0,1,0"/>
</UniformGrid> </UniformGrid>
<ContentControl Content="{Binding MachiningModeControl}"/> <ContentControl Content="{Binding MachiningModeControl}"/>
@@ -6,48 +6,29 @@
ShowInTaskbar="False" ShowInTaskbar="False"
Title="{Binding Title}" Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
Height="200" Width="400" SizeToContent="Height" Width="270"
WindowStartupLocation="CenterOwner"> WindowStartupLocation="CenterOwner">
<Grid> <StackPanel Margin="5,5,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="1" Grid.Row="1" Margin="0,5,0,0" <UniformGrid Columns="2" Margin="0,0,0,5">
<TextBlock Grid.Column="1" Grid.Row="1" Margin="0,0,0,0"
Style="{StaticResource OptionTextBlock}" Text="{Binding ValueMsg}"/> Style="{StaticResource OptionTextBlock}" Text="{Binding ValueMsg}"/>
<EgtWPFLib5:EgtTextBox Grid.Column="2" Grid.Row="1" Margin="10,5,10,0" <EgtWPFLib5:EgtTextBox Grid.Column="2" Grid.Row="1" Margin="0,0,0,0"
Style="{StaticResource OptionTextBox}" Text="{Binding sValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/> Style="{StaticResource OptionTextBox}" Text="{Binding sValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</UniformGrid>
<Grid Name="ButtonsGrid" Grid.Column="1" Grid.Row="3" Grid.RowSpan="1" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions> <UniformGrid Columns="2"
<ColumnDefinition Width="0.5*"/> Margin="0,0,0,5">
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Button Name="OkBtn" Content="{Binding OkMsg}" Grid.Column="1" <Button Name="OkBtn" Content="{Binding OkMsg}" Grid.Column="1"
Style="{DynamicResource ToolBar_TextButton}"> Style="{DynamicResource CompoWindow_Button}">
</Button> </Button>
<Button Content="{Binding ExitMsg}" Grid.Column="3" <Button Content="{Binding ExitMsg}" Grid.Column="3"
IsCancel="True" IsCancel="True"
Style="{DynamicResource ToolBar_TextButton}"> Style="{DynamicResource CompoWindow_Button}">
</Button> </Button>
</Grid> </UniformGrid>
</Grid> </StackPanel>
</EgtWPFLib5:EgtCustomWindow> </EgtWPFLib5:EgtCustomWindow>
@@ -6,94 +6,79 @@
ShowInTaskbar="False" ShowInTaskbar="False"
Title="{Binding Title}" Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
Height="400" Width="400" SizeToContent="Height" Width="270"
WindowStartupLocation="CenterOwner"> WindowStartupLocation="CenterOwner">
<Grid> <StackPanel Margin="5,5,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<TextBlock Name="HoleTxbl" Grid.Column="1" Grid.Row="1" Margin="0,5,0,0"
Style="{StaticResource OptionTextBlock}" Text="{Binding HoleMsg}" Visibility="{Binding HoleVisibility}"/>
<CheckBox Name="HoleChBx" Grid.Column="2" Grid.Row="1" HorizontalAlignment="Center" Margin="10,5,10,0"
Style="{DynamicResource OptionCheckBox}" IsChecked="{Binding bHole, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding HoleVisibility}"/>
<TextBlock Grid.Column="1" Grid.Row="2" Margin="0,5,0,0" <UniformGrid Columns="2" Margin="0,0,0,5">
<TextBlock Name="HoleTxbl" Margin="0,5,0,0"
Style="{StaticResource OptionTextBlock}" Text="{Binding HoleMsg}" Visibility="{Binding HoleVisibility}"/>
<CheckBox Name="HoleChBx" HorizontalAlignment="Center" Margin="10,5,10,0"
Style="{DynamicResource OptionCheckBox}" IsChecked="{Binding bHole, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding HoleVisibility}"/>
</UniformGrid>
<UniformGrid Columns="2" Margin="0,0,0,5">
<TextBlock Margin="0,5,0,0"
Style="{StaticResource OptionTextBlock}" Text="{Binding ValueMsg}"/> Style="{StaticResource OptionTextBlock}" Text="{Binding ValueMsg}"/>
<EgtWPFLib5:EgtTextBox Grid.Column="2" Grid.Row="2" Margin="10,5,10,0" <EgtWPFLib5:EgtTextBox Margin="0,0,0,5"
Style="{StaticResource OptionTextBox}" Text="{Binding sValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/> Style="{StaticResource OptionTextBox}" Text="{Binding sValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</UniformGrid>
<TextBlock Name="LeadInTxbl" Grid.Column="1" Grid.Row="3" Margin="0,5,0,0" <UniformGrid Columns="2" Margin="0,0,0,5">
Style="{StaticResource OptionTextBlock}" Text="{Binding LeadInMsg}" Visibility="{Binding LeadInVisibility}"/> <TextBlock Name="LeadInTxbl" Margin="0,5,0,0"
<ComboBox Name="LeadInCmBx" Grid.Column="2" Grid.Row="3" Margin="10,5,10,0" Style="{StaticResource OptionTextBlock}" Text="{Binding LeadInMsg}" Visibility="{Binding LeadInVisibility}"/>
ItemsSource="{Binding LeadInTypeList, Mode=OneWay}" <ComboBox Name="LeadInCmBx" Margin="0,0,0,5"
SelectedIndex="{Binding SelectedLeadInType,Mode=TwoWay}" ItemsSource="{Binding LeadInTypeList, Mode=OneWay}"
Style="{DynamicResource MachiningsComboBox}" Visibility="{Binding LeadInVisibility}"/> SelectedIndex="{Binding SelectedLeadInType,Mode=TwoWay}"
Style="{DynamicResource MachiningsComboBox}" Visibility="{Binding LeadInVisibility}"/>
</UniformGrid>
<UniformGrid Columns="2" Margin="0,0,0,5">
<TextBlock Name="LeadOutTxbl"
Style="{StaticResource OptionTextBlock}" Text="{Binding LeadOutMsg}" Visibility="{Binding LeadOutVisibility}"/>
<ComboBox Name="LeadOutCmBx" Margin="0,0,0,5"
ItemsSource="{Binding LeadOutTypeList, Mode=OneWay}"
SelectedIndex="{Binding SelectedLeadOutType,Mode=TwoWay}"
Style="{DynamicResource MachiningsComboBox}" Visibility="{Binding LeadOutVisibility}"/>
</UniformGrid>
<TextBlock Name="LeadOutTxbl" Grid.Column="1" Grid.Row="3" <UniformGrid Columns="2" Margin="0,0,0,5">
Style="{StaticResource OptionTextBlock}" Text="{Binding LeadOutMsg}" Visibility="{Binding LeadOutVisibility}"/> <TextBlock Name="TangDistTxbl" Margin="0,5,0,0"
<ComboBox Name="LeadOutCmBx" Grid.Column="2" Grid.Row="3" Margin="10,5,10,0" Style="{StaticResource OptionTextBlock}" Text="{Binding TangDistMsg}"/>
ItemsSource="{Binding LeadOutTypeList, Mode=OneWay}" <EgtWPFLib5:EgtTextBox Name="LiTangDistTxBx" Margin="0,0,0,5"
SelectedIndex="{Binding SelectedLeadOutType,Mode=TwoWay}"
Style="{DynamicResource MachiningsComboBox}" Visibility="{Binding LeadOutVisibility}"/>
<TextBlock Name="TangDistTxbl" Grid.Column="1" Grid.Row="4" Margin="0,5,0,0"
Style="{StaticResource OptionTextBlock}" Text="{Binding TangDistMsg}"/>
<EgtWPFLib5:EgtTextBox Name="LiTangDistTxBx" Grid.Column="2" Grid.Row="4" Margin="10,5,10,0"
Style="{StaticResource OptionTextBox}" Text="{Binding sLiTangDist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource OptionTextBox}" Text="{Binding sLiTangDist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding LeadInVisibility}"/> Visibility="{Binding LeadInVisibility}"/>
<EgtWPFLib5:EgtTextBox Name="LoTangDistTxBx" Margin="0,0,0,5"
<TextBlock Name="PerpDistTxbl" Grid.Column="1" Grid.Row="5" Margin="0,5,0,0"
Style="{StaticResource OptionTextBlock}" Text="{Binding PerpDistMsg}"/>
<EgtWPFLib5:EgtTextBox Name="LiPerpDistTxBx" Grid.Column="2" Grid.Row="5" Margin="10,5,10,0"
Style="{StaticResource OptionTextBox}" Text="{Binding sLiPerpDist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding LeadInVisibility}"/>
<EgtWPFLib5:EgtTextBox Name="LoTangDistTxBx" Grid.Column="2" Grid.Row="4" Margin="10,5,10,0"
Style="{StaticResource OptionTextBox}" Text="{Binding sLoTangDist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource OptionTextBox}" Text="{Binding sLoTangDist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding LeadOutVisibility}"/> Visibility="{Binding LeadOutVisibility}"/>
</UniformGrid>
<EgtWPFLib5:EgtTextBox Name="LoPerpDistTxBx" Grid.Column="2" Grid.Row="5" Margin="10,5,10,0" <UniformGrid Columns="2" Margin="0,0,0,5">
<TextBlock Name="PerpDistTxbl" Margin="0,5,0,0"
Style="{StaticResource OptionTextBlock}" Text="{Binding PerpDistMsg}"/>
<EgtWPFLib5:EgtTextBox Name="LiPerpDistTxBx" Margin="0,0,0,5"
Style="{StaticResource OptionTextBox}" Text="{Binding sLiPerpDist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding LeadInVisibility}"/>
<EgtWPFLib5:EgtTextBox Name="LoPerpDistTxBx" Margin="0,0,0,5"
Style="{StaticResource OptionTextBox}" Text="{Binding sLoPerpDist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource OptionTextBox}" Text="{Binding sLoPerpDist, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding LeadOutVisibility}"/> Visibility="{Binding LeadOutVisibility}"/>
</UniformGrid>
<Grid Name="ButtonsGrid" Grid.Column="1" Grid.Row="7" Grid.RowSpan="1" Grid.ColumnSpan="2"> <UniformGrid Name="ButtonsGrid" Columns="2" Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Button Name="OkBtn" Content="{Binding OkMsg}" Grid.Column="1" <Button Name="OkBtn" Content="{Binding OkMsg}" Grid.Column="1"
Style="{DynamicResource ToolBar_TextButton}"> Style="{DynamicResource CompoWindow_Button}">
</Button> </Button>
<Button Content="{Binding ExitMsg}" Grid.Column="3" <Button Content="{Binding ExitMsg}" Grid.Column="3"
IsCancel="True" IsCancel="True"
Style="{DynamicResource ToolBar_TextButton}"> Style="{DynamicResource CompoWindow_Button}">
</Button> </Button>
</UniformGrid>
</Grid> </StackPanel>
</Grid> <!--<GroupBox Header="{Binding DirectInsertHdr}"
<!--<GroupBox Header="{Binding DirectInsertHdr}"
Grid.Row="2" Margin="0,0,5,5"> Grid.Row="2" Margin="0,0,5,5">
<UniformGrid Rows="2"> <UniformGrid Rows="2">
<Grid> <Grid>
@@ -0,0 +1,32 @@
<EgtWPFLib5:EgtCustomWindow x:Class="ModifyQualityV"
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"
IsMinimizable="False"
ShowInTaskbar="False"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
SizeToContent="Height" Width="270"
WindowStartupLocation="CenterOwner">
<StackPanel Margin="5,5,5,0">
<UniformGrid Columns="2" Margin="0,0,0,5">
<TextBlock Margin="0,5,0,0"
Style="{StaticResource OptionTextBlock}" Text="{Binding ValueMsg}"/>
<ComboBox ItemsSource="{Binding QualityList}"
SelectedItem="{Binding SelectedQuality}"
Style="{StaticResource MachiningsComboBox}"
Grid.Column="2" Grid.Row="1" Margin="10,5,10,0"/>
</UniformGrid>
<UniformGrid Columns="2" Margin="0,0,0,5">
<Button Name="OkBtn" Content="{Binding OkMsg}" Grid.Column="1"
Style="{DynamicResource CompoWindow_Button}">
</Button>
<Button Content="{Binding ExitMsg}" Grid.Column="3"
IsCancel="True"
Style="{DynamicResource CompoWindow_Button}">
</Button>
</UniformGrid>
</StackPanel>
</EgtWPFLib5:EgtCustomWindow>
@@ -0,0 +1,6 @@
Public Class ModifyQualityV
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
DialogResult = True
End Sub
End Class
@@ -0,0 +1,61 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Public Class ModifyQualityVM
Inherits VMBase
Private m_Title As String = String.Empty
Public Property Title As String
Get
Return m_Title
End Get
Set(value As String)
m_Title = value
End Set
End Property
Public ReadOnly Property ValueMsg As String
Get
Return EgtMsg(MSG_SPLITPAGEUC + 35)
End Get
End Property
Public ReadOnly Property OkMsg As String
Get
Return EgtMsg(91651) 'Ok
End Get
End Property
Public ReadOnly Property ExitMsg As String
Get
Return EgtMsg(91652) 'Annulla
End Get
End Property
Private m_QualityList As New ObservableCollection(Of String)
Public Property QualityList As ObservableCollection(Of String)
Get
Return m_QualityList
End Get
Set(value As ObservableCollection(Of String))
m_QualityList = value
End Set
End Property
Private m_SelectedQuality As String
Public Property SelectedQuality As String
Get
Return m_SelectedQuality
End Get
Set(value As String)
m_SelectedQuality = value
End Set
End Property
Sub New()
End Sub
End Class
+81 -69
View File
@@ -3,96 +3,108 @@
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">
<StackPanel IsEnabled="{Binding MoveRawModeIsEnabled}">
<Grid HorizontalAlignment="Center" <StackPanel IsEnabled="{Binding MoveRawModeIsEnabled}">
<Border Margin="0,0,0,5" Style="{StaticResource Border}">
<Grid HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
Margin="0,0,0,5"> Margin="0,0,0,5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/> <ColumnDefinition Width="0.5"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/> <ColumnDefinition Width="0.5"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="5"/> <RowDefinition Height="0.5"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="5"/> <RowDefinition Height="0.5"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="5"/> <RowDefinition Height="0.5"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Button Grid.Column="2" Grid.Row="0" <Button Grid.Column="2" Grid.Row="0"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_MoveButton}"
Command="{Binding UpCommand}"> Command="{Binding UpCommand}">
<Image Source="/Resources/NestingTab/UpArrow.png" Stretch="Uniform"/> <Image Source="/Resources/NestingTab/UpArrow.png"
</Button> Width="45" Height="45" HorizontalAlignment="Center"/>
<Button Grid.Column="0" Grid.Row="2" </Button>
Style="{StaticResource OptionPanel_NestingButton}" <Button Grid.Column="0" Grid.Row="2"
Style="{StaticResource OptionPanel_MoveButton}"
Command="{Binding LeftCommand}" Command="{Binding LeftCommand}"
Visibility="{Binding LRArrowVisibility}"> Visibility="{Binding LRArrowVisibility}">
<Image Source="/Resources/NestingTab/LeftArrow.png"/> <Image Source="/Resources/NestingTab/LeftArrow.png"
</Button> Width="45" Height="45" HorizontalAlignment="Center"/>
</Button>
<EgtWPFLib5:EgtTextBox Grid.Column="2" Grid.Row="2" Width="40"
<TextBox Grid.Column="2" Grid.Row="2" Width="40" Height="20"
Text="{Binding MoveStep}" Text="{Binding MoveStep}"
VerticalAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Right"/> HorizontalContentAlignment="right"
Background="{StaticResource Omag_Black}"
<Button Grid.Column="4" Grid.Row="2" Foreground="{StaticResource Omag_White}"
Style="{StaticResource OptionPanel_NestingButton}" VerticalAlignment="Center"/>
<Button Grid.Column="4" Grid.Row="2"
Style="{StaticResource OptionPanel_MoveButton}"
Command="{Binding RightCommand}" Command="{Binding RightCommand}"
Visibility="{Binding LRArrowVisibility}"> Visibility="{Binding LRArrowVisibility}">
<Image Source="/Resources/NestingTab/RightArrow.png"/> <Image Source="/Resources/NestingTab/RightArrow.png"
</Button> Width="45" Height="45" HorizontalAlignment="Center"/>
</Button>
<Button Grid.Column="2" Grid.Row="4" <Button Grid.Column="2" Grid.Row="4"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_MoveButton}"
Command="{Binding DownCommand}"> Command="{Binding DownCommand}">
<Image Source="/Resources/NestingTab/DownArrow.png"/> <Image Source="/Resources/NestingTab/DownArrow.png"
</Button> Width="45" Height="45" HorizontalAlignment="Center"/>
</Button>
<Button Grid.Column="0" Grid.Row="6" <Button Grid.Column="0" Grid.Row="6"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_MoveButton}"
Command="{Binding CcwRotCommand}" Command="{Binding CcwRotCommand}"
Visibility="{Binding RotationVisibility}"> Visibility="{Binding RotationVisibility}">
<Image Source="/Resources/NestingTab/CounterClockwiseRotate.png" <Image Source="/Resources/NestingTab/CounterClockwiseRotate.png"
Width="64" Height="65" HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Button>
<Grid Name="RotationAngle" Grid.Column="2" Grid.Row="6"
HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding RotationVisibility}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<EgtWPFLib5:EgtTextBox Text="{Binding RotationStep}" Width="40"/>
<TextBlock Grid.Column="1" FontSize="30" Margin="2,-5,0,0"
Text="°"/>
</Grid>
<Button Grid.Column="4" Grid.Row="6"
Style="{StaticResource OptionPanel_NestingButton}"
Command="{Binding CwRotCommand}"
Visibility="{Binding RotationVisibility}">
<Image Source="/Resources/NestingTab/ClockwiseRotate.png"
Width="65" Height="65" HorizontalAlignment="Center" Width="65" Height="65" HorizontalAlignment="Center"
VerticalAlignment="Center" /> VerticalAlignment="Center" />
</Button> </Button>
</Grid> <Grid Name="RotationAngle" Grid.Column="2" Grid.Row="6"
HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding RotationVisibility}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding RotationStep}" Width="40" Height="20"
HorizontalAlignment="center"
HorizontalContentAlignment="right"
Background="{StaticResource Omag_Black}"
Foreground="{StaticResource Omag_White}"/>
<TextBlock Grid.Column="1" FontSize="25" Margin="2,-5,0,0"
Foreground="{StaticResource Omag_White}" Text="°"/>
</Grid>
<Button Grid.Column="2" Grid.Row="4" <Button Grid.Column="4" Grid.Row="6"
Style="{StaticResource OptionPanel_MoveButton}"
Command="{Binding CwRotCommand}"
Visibility="{Binding RotationVisibility}">
<Image Source="/Resources/NestingTab/ClockwiseRotate.png"
Width="65" Height="65" HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Button>
</Grid>
</Border>
<Button Grid.Column="2" Grid.Row="4"
Content="{Binding RemoveMsg}" Content="{Binding RemoveMsg}"
Style="{StaticResource OptionPanel_TextButton}" Style="{StaticResource OptionPanel_TextButton}"
Command="{Binding RemovePartCommand}" Command="{Binding RemovePartCommand}"
Margin="0,0,0,5"/> Margin="0,5,0,5"/>
</StackPanel>
</StackPanel>
</UserControl> </UserControl>
+556 -158
View File
@@ -1,219 +1,617 @@
<UserControl x:Class="SplitModeV" <UserControl x:Class="SplitModeV"
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"
Background="Transparent">
<StackPanel IsEnabled="{Binding SplitModeIsEnabled}"> <UserControl.InputBindings>
<KeyBinding Key="Escape" Command="{Binding SplitCutCommand}" />
</UserControl.InputBindings>
<ListBox ItemsSource="{Binding ItemList}" <StackPanel IsEnabled="{Binding SplitModeIsEnabled}">
DisplayMemberPath="Name"
<Border Margin="0,0,0,5" Style="{StaticResource BorderSplit}" Padding="0">
<ListBox ItemsSource="{Binding ItemList}"
Background="{StaticResource Omag_Gray}"
SelectionMode="Extended" SelectionMode="Extended"
Height="250" Margin="0,0,0,5"> BorderThickness="0"
<ListBox.ItemContainerStyle> Height="200" Margin="0,0,0,0">
<Style TargetType="ListBoxItem"> <ListBox.ItemTemplate>
<Style.Triggers> <DataTemplate>
<DataTrigger Binding="{Binding bIsActive}" Value="False"> <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<Setter Property="Foreground" Value="{StaticResource Omag_Gray}"/> <Image Margin="1" Height="20" Width="20"
</DataTrigger> Source="{Binding SourceImg}">
</Style.Triggers> </Image>
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" /> <TextBlock Margin="1" Text="{Binding Name}">
</Style> </TextBlock>
</ListBox.ItemContainerStyle> </StackPanel>
</ListBox> </DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding bIsActive}" Value="False">
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
<Setter Property="FontStyle" Value="Oblique"/>
<Setter Property="FontWeight" Value="Light"/>
</DataTrigger>
<DataTrigger Binding="{Binding bIsActive}" Value="True">
<Setter Property="Foreground" Value="{StaticResource Omag_Black}"/>
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
</Style.Triggers>
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Border>
<Grid Margin="0,0,0,5"> <StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,0,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="1" <Button Grid.Column="1"
IsEnabled="{Binding bEnabledCommandMove}" IsEnabled="{Binding bEnabledCommandMove}"
Style="{StaticResource OptionPanel_Button}" Style="{StaticResource OptionPanel_Button}"
Command="{Binding MoveUpCommand}"> Command="{Binding MoveUpCommand}"
<Image Source="/Resources/MachiningTab/UpArrow.png"/> Margin="0,0,0.5,0">
</Button> <Image Source="/Resources/NestingTab/UpArrow.png"/>
<Button Grid.Column="2" </Button>
<Button Grid.Column="2"
IsEnabled="{Binding bEnabledCommandMove}" IsEnabled="{Binding bEnabledCommandMove}"
Style="{StaticResource OptionPanel_Button}" Style="{StaticResource OptionPanel_Button}"
Command="{Binding MoveDownCommand}"> Command="{Binding MoveDownCommand}"
<Image Source="/Resources/MachiningTab/DownArrow.png"/> Margin="0.5,0,0,0">
</Button> <Image Source="/Resources/NestingTab/DownArrow.png"/>
</Button>
</Grid> </StackPanel>
<Border Margin="0,0,0,5" Style="{StaticResource Border}"> <Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Name="myExpander1" Background="Transparent"
<UniformGrid Columns="3"> Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="{Binding EnableCutMsg}"
ExpandDirection="Down" IsExpanded="{Binding bOnOffCut_IsExpanded}">
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="2,2.5,2,0">
<Button Content="{Binding OnOffMsg}" <!--<Button Content="{Binding OnOffMsg}"
Style="{StaticResource OptionPanel_TextWrapButton}" Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding OnOffCommand}" Command="{Binding OnOffCommand}"
Margin="0,0,2.5,0"/> Margin="0,0,2.5,0"/>-->
<Button Content="{Binding AllOnMsg}" <StackPanel Margin="1,0,0,0">
<Button ToolTip="{Binding OnOffMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding OnOffCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/ON_OFF-singolo-taglio.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<!--<Button Content="{Binding AllOnMsg}"
Style="{StaticResource OptionPanel_TextWrapButton}" Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding AllOnCommand}" Command="{Binding AllOnCommand}"
Margin="2.5,0,2.5,0"/> Margin="2.5,0,2.5,0"/>-->
<Button Content="{Binding AllOffMsg}" <StackPanel Margin="1,0,0,0">
<Button ToolTip="{Binding AllOnMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding AllOnCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Tutti-ON.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<!--<Button Content="{Binding AllOffMsg}"
Style="{StaticResource OptionPanel_TextWrapButton}" Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding AllOffCommand}" Command="{Binding AllOffCommand}"
Margin="2.5,0,0,0"/> Margin="2.5,0,0,0"/>-->
<StackPanel Margin="1,0,0,0">
<Button ToolTip="{Binding AllOffMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding AllOffCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Tutti-OFF.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
</UniformGrid> </StackPanel>
</Border> </Expander>
</Border>
<Border Margin="0,0,0,5" Style="{StaticResource Border}"> <Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Name="myExpander2" Background="Transparent"
<StackPanel> Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
<UniformGrid Columns="3" Margin="0,0,0,5"> Header="{Binding SplitCutMsg}"
<Grid> ExpandDirection="Down" IsExpanded="{Binding bSpLitCut_IsExpanded}">
<Button Content="{Binding CutMsg}"
<StackPanel Margin="0,0,0,-2.5">
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
<Grid>
<!--<Button Content="{Binding CutMsg}"
Style="{StaticResource OptionPanel_TextWrapButton}" Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding CutCommand}" Command="{Binding CutCommand}"
Visibility="{Binding CutBtnVisibility}" Visibility="{Binding CutBtnVisibility}"
Margin="0,0,2.5,0"/> Margin="0,0,2.5,0"/>-->
<ToggleButton Grid.Row="0" <StackPanel Visibility="{Binding CutBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding CutMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding CutCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Allunga-o-accorcia.png"
Height="40" Margin="0,2,0,0"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</StackPanel>
<!--<ToggleButton Grid.Row="0"
Content="{Binding BridgeMsg}" Content="{Binding BridgeMsg}"
Style="{StaticResource OptionPanel_ToggleWrapButton}" Style="{StaticResource OptionPanel_ToggleWrapButton}"
IsChecked="{Binding BridgeBtn_IsChecked}" IsChecked="{Binding BridgeBtn_IsChecked}"
Visibility="{Binding BridgeBtnVisibility}" Visibility="{Binding BridgeBtnVisibility}"
Margin="0,0,2.5,0" Padding="0"/> Margin="0,0,2.5,0" Padding="0"/>-->
</Grid> <StackPanel Visibility="{Binding BridgeBtnVisibility}" Margin="1,0,0,0">
<ToggleButton ToolTip="{Binding BridgeMsg}"
<Button Content="{Binding CutStartMsg}" Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding BridgeBtn_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Ponticelli.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
</Grid>
<Grid>
<!--<Button Content="{Binding CutStartMsg}"
Style="{StaticResource OptionPanel_TextWrapButton}" Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding CutStartCommand}" Command="{Binding CutStartCommand}"
Visibility="{Binding CutStartBtnVisibility}" Visibility="{Binding CutStartBtnVisibility}"
Margin="2.5,0,2.5,0"/> Margin="2.5,0,2.5,0"/>-->
<Grid> <StackPanel Visibility="{Binding CutStartBtnVisibility}" Margin="1,0,0,0">
<Button Content="{Binding CutEndMsg}" <Button ToolTip="{Binding CutStartMsg}"
Style="{StaticResource OptionPanel_TextWrapButton}" Style="{StaticResource Split_Button_Img}"
Command="{Binding CutEndCommand}" Command="{Binding CutStartCommand}"
Visibility="{Binding CutEndBtnVisibility}" HorizontalAlignment="Center"
Margin="2.5,0,0,0"/> VerticalAlignment="Center"
<ToggleButton Grid.Row="0" Margin="0,0,0,0">
Content="{Binding BridgeDeleteMsg}" <StackPanel>
Style="{StaticResource OptionPanel_ToggleWrapButton}" <Image Source="/Resources/NewIcons/Inizio-allunga-o-accorcia.png"
IsChecked="{Binding BridgeDeleteBtn_IsChecked}" Height="40" Margin="0,2,0,0"
Visibility="{Binding BridgeDeleteBtnVisibility}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
Margin="2.5,0,0,0" Padding="0"/> </StackPanel>
</Grid> </Button>
</UniformGrid> </StackPanel>
<Grid Visibility="{Binding AllExtRedVisibility}"> <!--<Button Content="{Binding QualityMsg}"
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Button Content="{Binding AllExtendMsg}" Grid.Column="1"
Style="{StaticResource OptionPanel_TextWrapButton}" Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding QualityCommand}"
Visibility="{Binding QualityBtnVisibility}"
Margin="2.5,0,2.5,0"/>!-->
<StackPanel Visibility="{Binding QualityBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding QualityMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding QualityCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Quality.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
</Grid>
<Grid>
<StackPanel Visibility="{Binding CutEndBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding CutEndMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding CutEndCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Fine-allunga-o-accorcia.png"
Height="40" Margin="0,2,0,0"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Visibility="{Binding BridgeDeleteBtnVisibility}" Margin="1,0,0,0">
<ToggleButton ToolTip="{Binding BridgeDeleteMsg}"
Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding BridgeDeleteBtn_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Ponticelli_delete.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
</Grid>
</StackPanel>
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
<!--Bottone invisibile per permetter il corretto allineamento-->
<!--
<Button Content="{Binding }" Grid.Column="0"
Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding }"
Visibility="Hidden"
Margin="0,0,1,0"/>-->
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="2" Margin="1,0,0,0">
<Button ToolTip="{Binding AllExtendMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding AllExtendCommand}" Command="{Binding AllExtendCommand}"
Visibility="{Binding AllExtendBtnVisibility}" HorizontalAlignment="Center"
Margin="0,0,2.5,0"/> VerticalAlignment="Center"
<Button Content="{Binding AllReduceMsg}" Grid.Column="2" Margin="0,0,0,0">
Style="{StaticResource OptionPanel_TextWrapButton}" <StackPanel>
<Image Source="/Resources/NewIcons/Tutti-allunga.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Visibility="{Binding AllReduceBtnVisibility}" Grid.Column="2" Margin="1,0,0,0">
<Button ToolTip="{Binding AllReduceMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding AllReduceCommand}" Command="{Binding AllReduceCommand}"
Visibility="{Binding AllReduceBtnVisibility}" HorizontalAlignment="Center"
Margin="2.5,0,0,0"/> VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Tutti-accorcia.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
</Grid> </StackPanel>
</StackPanel> <!--<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
</Border> <ToggleButton ToolTip="{Binding AllExtendMsg}"
Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding CreateCut_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="40" Height="40"
Margin="1,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Crea-taglio.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
<Border Margin="0,0,0,5" Style="{StaticResource Border}"> <StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
<ToggleButton ToolTip="{Binding AllExtendMsg}"
<StackPanel> Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding RemoveCut_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="40" Height="40"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Rimuovi-taglio.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
<UniformGrid Columns="3" Margin="0,0,0,5"> <StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
<ToggleButton ToolTip="{Binding AllExtendMsg}"
Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding CreateParallelCut_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="40" Height="40"
Margin="1,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Crea-taglio-parallelo.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
<ToggleButton ToolTip="{Binding AllExtendMsg}"
Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding CreateParallelCut_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="40" Height="40"
Margin="1,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Modifica-taglio.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
</StackPanel>-->
<Button Content="{Binding OutCenStartMsg}" </StackPanel>
Style="{StaticResource OptionPanel_TextWrapButton}"
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Expander Name="myExpander3" Background="Transparent"
Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="{Binding DirectSplitCutMsg}"
ExpandDirection="Down" IsExpanded="{Binding bDirectSpLitCut_IsExpanded}">
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
<StackPanel Grid.Column="1" Margin="1,0,0,0">
<ToggleButton ToolTip="Crea"
Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding CreateCut_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="40" Height="40"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Linea.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
<StackPanel Grid.Column="1" Margin="1,0,0,0">
<ToggleButton ToolTip="Elimina"
Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding RemoveCut_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="40" Height="40"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Linea-Elimina.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
<StackPanel Grid.Column="1" Margin="1,0,0,0">
<ToggleButton ToolTip="Copia"
Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding CreateParallelCut_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="40" Height="40"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Linea-Copia.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
<StackPanel Grid.Column="1" Margin="1,0,0,0">
<ToggleButton ToolTip="Muovi"
Style="{StaticResource Split_ToggleButton_Img}"
IsChecked="{Binding ModifyCut_IsChecked}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="40" Height="40"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Linea-Muovi.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
</StackPanel>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,0">
<Expander Name="myExpander4" Background="Transparent"
Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="{Binding ManageStartEndCutMsg}"
ExpandDirection="Down" IsExpanded="{Binding bModifyCut_IsExpanded}">
<StackPanel Margin="0,0,0,-2.5">
<UniformGrid Columns="4" Margin="0,2.5,0,1">
<StackPanel Visibility="{Binding OutCenStartBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding OutCenStartMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding OutCenStartCommand}" Command="{Binding OutCenStartCommand}"
Visibility="{Binding OutCenStartBtnVisibility}" HorizontalAlignment="Center"
Margin="0,0,2.5,0" Padding="0"/> VerticalAlignment="Center"
<Button Content="{Binding AllOutStartMsg}" Margin="0,0,0,0">
Style="{StaticResource OptionPanel_TextWrapButton}" <StackPanel>
<Image Source="/Resources/NewIcons/Inizio-centro-fuori.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Visibility="{Binding AllOutStartBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding AllOutStartMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding AllOutStartCommand}" Command="{Binding AllOutStartCommand}"
Visibility="{Binding AllOutStartBtnVisibility}" HorizontalAlignment="Center"
Margin="2.5,0,2.5,0"/> VerticalAlignment="Center"
<Button Content="{Binding AllCenStartMsg}" Margin="0,0,0,0">
Style="{StaticResource OptionPanel_TextWrapButton}" <StackPanel>
<Image Source="/Resources/NewIcons/Inizio-tutti-fuori.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Visibility="{Binding AllCenStartBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding AllCenStartMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding AllCenStartCommand}" Command="{Binding AllCenStartCommand}"
Visibility="{Binding AllCenStartBtnVisibility}" HorizontalAlignment="Center"
Margin="2.5,0,0,0"/> VerticalAlignment="Center"
Margin="0,0,0,0">
</UniformGrid> <StackPanel>
<Image Source="/Resources/NewIcons/Inizio-tutti-centro.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<UniformGrid Columns="3" Margin="0,0,0,5"> <StackPanel Margin="1,0,0,0">
<Button ToolTip="{Binding ModifStartMsg}"
<Button Content="{Binding OutCenEndMsg}" Style="{StaticResource Split_Button_Img}"
Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding OutCenEndCommand}"
Visibility="{Binding OutCenEndBtnVisibility}"
Margin="0,0,2.5,0" Padding="0"/>
<Button Content="{Binding AllOutEndMsg}"
Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding AllOutEndCommand}"
Visibility="{Binding AllOutEndBtnVisibility}"
Margin="2.5,0,2.5,0"/>
<Button Content="{Binding AllCenEndMsg}"
Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding AllCenEndCommand}"
Visibility="{Binding AllCenEndBtnVisibility}"
Margin="2.5,0,0,0"/>
</UniformGrid>
<UniformGrid Columns="3" Margin="0,0,0,5">
<Button Content="{Binding ModifStartMsg}" Grid.Column="0"
Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding ModifStartCommand}" Command="{Binding ModifStartCommand}"
Margin="2.5,0,2.5,0"/> HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Modifica-Inizio.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<Button Content="{Binding ModifEndMsg}" Grid.Column="1" </UniformGrid>
Style="{StaticResource OptionPanel_TextWrapButton}"
<UniformGrid Columns="4" Margin="0,0,0,1">
<StackPanel Margin="1,0,0,0" Visibility="{Binding OutCenEndBtnVisibility}">
<Button ToolTip="{Binding OutCenEndMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding OutCenEndCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Fine-Centro-Fuori.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Visibility="{Binding AllOutEndBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding AllOutEndMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding AllOutEndCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Fine-tutti-fuori.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Visibility="{Binding AllCenEndBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding AllCenEndMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding AllCenEndCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Fine-tutti-centro.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Margin="1,0,0,0">
<Button ToolTip="{Binding ModifEndMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding ModifEndCommand}" Command="{Binding ModifEndCommand}"
Margin="2.5,0,2.5,0"/> HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Modifica-Fine.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<Button Content="{Binding PauseMsg}" Grid.Column="2" </UniformGrid>
Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding PauseCommand}"
Visibility="{Binding PauseBtnVisibility}"
Margin="2.5,0,2.5,0"/>
</UniformGrid> <UniformGrid Columns="4" Margin="0,0,0,1">
<UniformGrid Columns="3" Margin="0,0,0,5"> <!--Bottone invisibile per permetter il corretto allineamento-->
<!--Bottone invisibile per permetter il corretto allineamento--> <Button Content="{Binding }" Grid.Column="0"
<Button Content="{Binding }" Grid.Column="0"
Style="{StaticResource OptionPanel_TextWrapButton}" Style="{StaticResource OptionPanel_TextWrapButton}"
Command="{Binding }" Command="{Binding }"
Visibility="Hidden" Visibility="Hidden"
Margin="2.5,0,2.5,0"/> Margin="0,0,1,0"/>
<!--Inverti direzione di taglio-->
<Button Content="{Binding InvertMsg}" Grid.Column="0" <StackPanel Margin="1,0,0,0">
Style="{StaticResource OptionPanel_TextWrapButton}" <Button ToolTip="{Binding PauseMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding PauseCommand}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Pausa-ON_OFF.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
<StackPanel Visibility="{Binding InvertBtnVisibility}" Margin="1,0,0,0">
<Button ToolTip="{Binding InvertMsg}"
Style="{StaticResource Split_Button_Img}"
Command="{Binding InvertCommand}" Command="{Binding InvertCommand}"
Visibility="{Binding InvertBtnVisibility}" HorizontalAlignment="Center"
Margin="2.5,0,2.5,0"/> VerticalAlignment="Center"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Inverti.png"
Style="{StaticResource ImgButton}"/>
</StackPanel>
</Button>
</StackPanel>
</UniformGrid> </UniformGrid>
</StackPanel> </StackPanel>
</Border> </Expander>
</Border>
</StackPanel> </StackPanel>
</UserControl> </UserControl>
File diff suppressed because it is too large Load Diff
+263 -130
View File
@@ -4,203 +4,336 @@
xmlns:EgtWPFLib5 ="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5 ="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Margin="5,5,5,0"> Margin="5,5,5,0">
<Grid HorizontalAlignment="Center"
VerticalAlignment="Center" <GroupBox Header="{Binding DrawingMsg}" Style="{StaticResource GroupBoxSplit}">
Margin="0,0,0,5"> <Grid HorizontalAlignment="Center"
<Grid.ColumnDefinitions> VerticalAlignment="Center" Margin="0,2.5,0,0">
<ColumnDefinition Width="Auto"/> <Grid.ColumnDefinitions>
<ColumnDefinition Width="5"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="5"/>
<ColumnDefinition Width="5"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="5"/>
</Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/>
<Button Grid.Column="0" Grid.Row="0" </Grid.ColumnDefinitions>
Style="{StaticResource OptionPanel_NestingButton}"
<Button Grid.Column="0" Grid.Row="0"
Style="{StaticResource DrawImport_NestingButton}"
Command="{Binding DrawCommand}"> Command="{Binding DrawCommand}">
<Image Source="/Resources/NestingTab/Draw.png" Stretch="Uniform"/> <Image Source="/Resources/NestingTab/Draw.png" Stretch="Uniform"/>
</Button> </Button>
<Button Grid.Column="2" Grid.Row="0" <Button Grid.Column="2" Grid.Row="0"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource DrawImport_NestingButton}"
Command="{Binding ImportDxfCommand}"> Command="{Binding ImportDxfCommand}">
<Image Source="/Resources/NestingTab/ImportDxf.png" Stretch="Uniform"/> <Image Source="/Resources/NestingTab/ImportDxf.png" Stretch="Uniform"/>
</Button> </Button>
<ToggleButton Grid.Column="4" Grid.Row="0" <ToggleButton Grid.Column="4" Grid.Row="0"
Style="{StaticResource OptionPanel_NestingToggleButton}" Style="{StaticResource DrawImport_NestingToggleButton}"
IsChecked="{Binding CsvImport_IsChecked}"> IsChecked="{Binding CsvImport_IsChecked}">
<Image Source="/Resources/NestingTab/ImportCsv.png" Stretch="Uniform"/> <Image Source="/Resources/NestingTab/ImportCsv.png" Stretch="Uniform"/>
</ToggleButton> </ToggleButton>
</Grid> </Grid>
</GroupBox>
<Border Margin="0,0,0,5" Style="{StaticResource Border}"> <Border Margin="0,5,0,5" Style="{StaticResource Border}">
<Grid HorizontalAlignment="Center" <Grid HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
Margin="0,0,0,5"> Margin="0,0,0,0">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/> <ColumnDefinition Width="5"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5"/> <ColumnDefinition Width="5"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="5"/> <RowDefinition Height="5"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="5"/> <RowDefinition Height="5"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="5"/> <RowDefinition Height="5"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!--<TextBlock Name="PositioningLbl" Grid.ColumnSpan="3" VerticalAlignment="Center" <!--<TextBlock Name="PositioningLbl" Grid.ColumnSpan="3" VerticalAlignment="Center"
HorizontalAlignment="Center" FontSize="15" />--> HorizontalAlignment="Center" FontSize="15" />-->
<Button Grid.Column="0" Grid.Row="0" <Button Grid.Column="0" Grid.Row="0"
Style="{StaticResource OptionPanel_NestingButton}" Width="48" Height="48" Style="{StaticResource OptionPanel_NestingButton}" Width="48" Height="48"
Command="{Binding PartRotOnCommand}"> Command="{Binding PartRotOnCommand}">
<Image Source="/Resources/NestingTab/PartRotOn.png" Stretch="Uniform"/> <Image Source="/Resources/NestingTab/PartRotOn.png" Stretch="Uniform"/>
</Button> </Button>
<Button Grid.Column="2" Grid.Row="0" <Button Grid.Column="2" Grid.Row="0"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_NestingButton}"
Command="{Binding UpCommand}"> Command="{Binding UpCommand}">
<Image Source="/Resources/NestingTab/UpArrow.png" Stretch="Uniform"/> <Image Source="/Resources/NestingTab/UpArrow.png"
</Button> Width="40"/>
<Button Grid.Column="4" Grid.Row="0" </Button>
<Button Grid.Column="4" Grid.Row="0"
Style="{StaticResource OptionPanel_NestingButton}" Width="48" Height="48" Style="{StaticResource OptionPanel_NestingButton}" Width="48" Height="48"
Command="{Binding PartRotOffCommand}"> Command="{Binding PartRotOffCommand}">
<Image Source="/Resources/NestingTab/PartRotOff.png" Stretch="Uniform"/> <Image Source="/Resources/NestingTab/PartRotOff.png" Stretch="Uniform"/>
</Button> </Button>
<Button Grid.Column="0" Grid.Row="2" <Button Grid.Column="0" Grid.Row="2"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_NestingButton}"
Command="{Binding LeftCommand}"> Command="{Binding LeftCommand}">
<Image Source="/Resources/NestingTab/LeftArrow.png"/> <Image Source="/Resources/NestingTab/LeftArrow.png"
</Button> Width="40"/>
<ToggleButton Grid.Column="2" Grid.Row="2" </Button>
<ToggleButton Grid.Column="2" Grid.Row="2"
Style="{StaticResource OptionPanel_NestingToggleButton}" Style="{StaticResource OptionPanel_NestingToggleButton}"
IsChecked="{Binding MaxMoveIsChecked}"> IsChecked="{Binding MaxMoveIsChecked}">
<Image Source="/Resources/NestingTab/MaxMove.png"/> <Image Source="/Resources/NestingTab/MaxMove.png"/>
</ToggleButton> </ToggleButton>
<Button Grid.Column="4" Grid.Row="2" <Button Grid.Column="4" Grid.Row="2"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_NestingButton}"
Command="{Binding RightCommand}"> Command="{Binding RightCommand}">
<Image Source="/Resources/NestingTab/RightArrow.png"/> <Image Source="/Resources/NestingTab/RightArrow.png"
</Button> Width="40"/>
</Button>
<EgtWPFLib5:EgtTextBox Grid.Column="0" Grid.Row="4" Width="40" <EgtWPFLib5:EgtTextBox Grid.Column="0" Grid.Row="4" Width="40"
Text="{Binding StepMove}" Text="{Binding StepMove}"
VerticalAlignment="Center" VerticalAlignment="Center"
HorizontalContentAlignment="Right"/> HorizontalContentAlignment="Right"/>
<Button Grid.Column="2" Grid.Row="4" <Button Grid.Column="2" Grid.Row="4"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_NestingButton}"
Command="{Binding DownCommand}"> Command="{Binding DownCommand}">
<Image Source="/Resources/NestingTab/DownArrow.png"/> <Image Source="/Resources/NestingTab/DownArrow.png"
</Button> Width="40"/>
</Button>
<Grid Grid.Column="4" Grid.Row="4" HorizontalAlignment="Center" VerticalAlignment="Center"> <Grid Grid.Column="4" Grid.Row="4" HorizontalAlignment="Center" VerticalAlignment="Center">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<EgtWPFLib5:EgtTextBox Text="{Binding RotationAngle}" Width="50" <EgtWPFLib5:EgtTextBox Text="{Binding RotationAngle}" Width="40"
VerticalAlignment="Center" VerticalAlignment="Center"
HorizontalContentAlignment="Right"/> HorizontalContentAlignment="Left"/>
<TextBlock Grid.Column="1" Margin="2,0,0,0" <TextBlock Grid.Column="1" Margin="2,0,0,0"
FontSize="20" Text="°"/> FontSize="20" Text="°"/>
</Grid> </Grid>
<Button Grid.Column="0" Grid.Row="6" <Button Grid.Column="0" Grid.Row="6"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_NestingButton}"
Command="{Binding CClockwiseRotCommand}"> Command="{Binding CClockwiseRotCommand}">
<Image Source="/Resources/NestingTab/CounterClockwiseRotate.png" <Image Source="/Resources/NestingTab/CounterClockwiseRotate.png"
Width="64" Height="65" HorizontalAlignment="Center" Width="64" Height="65" HorizontalAlignment="Center"
VerticalAlignment="Center" /> VerticalAlignment="Center" />
</Button> </Button>
<ToggleButton Grid.Column="2" Grid.Row="6" <ToggleButton Grid.Column="2" Grid.Row="6"
Style="{StaticResource OptionPanel_NestingToggleButton}" Style="{StaticResource OptionPanel_NestingToggleButton}"
IsChecked="{Binding MagneticIsChecked}"> IsChecked="{Binding MagneticIsChecked}">
<Image Source="/Resources/NestingTab/AlignPieces.png" <Image Source="/Resources/NestingTab/AlignPieces.png"
Width="65" Height="65" HorizontalAlignment="Center" Width="65" Height="65" HorizontalAlignment="Center"
VerticalAlignment="Center" /> VerticalAlignment="Center" />
</ToggleButton> </ToggleButton>
<Button Grid.Column="4" Grid.Row="6" <Button Grid.Column="4" Grid.Row="6"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource OptionPanel_NestingButton}"
Command="{Binding ClockwiseRotCommand}"> Command="{Binding ClockwiseRotCommand}">
<Image Source="/Resources/NestingTab/ClockwiseRotate.png" <Image Source="/Resources/NestingTab/ClockwiseRotate.png"
Width="65" Height="65" HorizontalAlignment="Center" Width="65" Height="65" HorizontalAlignment="Center"
VerticalAlignment="Center" /> VerticalAlignment="Center" />
</Button> </Button>
</Grid> </Grid>
</Border> </Border>
<UniformGrid Grid.Column="0" Columns="2" Margin="0,0,0,5"> <Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Button Content="{Binding InsertPartMsg}" <Expander Name="myExpander1" Background="Transparent"
Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="{Binding ManagePartsMsg}"
ExpandDirection="Down" IsExpanded="{Binding bManageParts_IsExpanded}">
<UniformGrid Grid.Column="0" Columns="3" Margin="0,2.5,0,0">
<!--<Button Content="{Binding InsertPartMsg}"
Style="{StaticResource OptionPanel_TextButton}" Style="{StaticResource OptionPanel_TextButton}"
Command="{Binding InsertPartCommand}" Command="{Binding InsertPartCommand}"
Margin="0,0,2.5,0"/> Margin="0,0,2.5,0"/>
<Button Content="{Binding StorePartMsg}" Grid.Column="1" <Button Content="{Binding StorePartMsg}" Grid.Column="1"
Style="{StaticResource OptionPanel_TextButton}" Style="{StaticResource OptionPanel_TextButton}"
Command="{Binding StorePartCommand}" Command="{Binding StorePartCommand}"
Margin="2.5,0,0,0"/> Margin="2.5,0,0,0"/>-->
<!--<ToggleButton Content="{Binding StartCurvWJMsg}" Grid.Column="2" <StackPanel>
<Button ToolTip="{Binding InsertPartMsg}" Grid.Column="1"
Style="{StaticResource Nest_Button_Img}"
Command="{Binding InsertPartCommand}"
HorizontalContentAlignment="Stretch"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Inserisci-pezzo.png"
Width="40" Height="40" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<!--<TextBlock Text="{Binding InsertPartMsg}"
HorizontalAlignment="Center"/>-->
</StackPanel>
</Button>
</StackPanel>
<StackPanel>
<Button ToolTip="{Binding StorePartMsg}" Grid.Column="1"
Style="{StaticResource Nest_Button_Img}"
Command="{Binding StorePartCommand}"
HorizontalContentAlignment="Stretch"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Parcheggia-pezzo.png"
Width="40" Height="40" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<!--<TextBlock Text="{Binding StorePartMsg}"
HorizontalAlignment="Center"/>-->
</StackPanel>
</Button>
</StackPanel>
<StackPanel>
<Button ToolTip="{Binding RemovePartMsg}" Grid.Column="1"
Style="{StaticResource Nest_Button_Img}"
Command="{Binding RemovePartCommand}"
HorizontalContentAlignment="Stretch"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Elimina-pezzo.png"
Width="40" Height="40" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<!--<TextBlock Text="{Binding RemovePartMsg}"
HorizontalAlignment="Center"/>-->
</StackPanel>
</Button>
</StackPanel>
<!--<ToggleButton Content="{Binding StartCurvWJMsg}" Grid.Column="2"
Visibility="{Binding StartCurvWJ_Visibility}" Visibility="{Binding StartCurvWJ_Visibility}"
Style="{StaticResource OptionPanel_ToggleButton}" Style="{StaticResource OptionPanel_ToggleButton}"
IsChecked="{Binding bStartCurvWJ}" IsChecked="{Binding bStartCurvWJ}"
Margin="2.5,0,2.5,0"/>--> Margin="2.5,0,2.5,0"/>-->
</UniformGrid> </UniformGrid>
</Expander>
</Border>
<UniformGrid Grid.Column="0" Columns="{Binding CountColumn}" Margin="0,0,0,5"> <Border Style="{StaticResource Border}" Margin="0,1,0,5">
<Button Content="{Binding RemovePartMsg}" <Expander Name="myExpander2" Background="Transparent"
Style="{StaticResource OptionPanel_TextButton}" Foreground="{DynamicResource Omag_White}"
Command="{Binding RemovePartCommand}" HorizontalAlignment="Stretch"
Margin="0,0,2.5,0"/> Header="{Binding SelectionPartMsg}"
<ToggleButton Content="{Binding DragRectangleMsg}" Grid.Column="1" ExpandDirection="Down" IsExpanded="{Binding bSelectionParts_IsExpanded}">
Visibility="{Binding DragRectangle_Visibility}"
Style="{StaticResource OptionPanel_ToggleButton}"
IsChecked="{Binding bDragRectangle}"
Margin="2.5,0,2.5,0"/>
<!--<ToggleButton Content="{Binding SplitCurvWJMsg}" Grid.Column="2"
Visibility="{Binding SplitCurvWJ_Visibility}"
Style="{StaticResource OptionPanel_ToggleButton}"
IsChecked="{Binding bSplitCurvWJ}"
Margin="2.5,0,2.5,0"/>-->
</UniformGrid>
<UniformGrid Grid.Column="0" Columns="2" Margin="0,0,0,5" Visibility="{Binding WJ_Cmd_Visibility}"> <UniformGrid Grid.Column="0" Columns="{Binding CountColumn}" Margin="0,2.5,0,0">
<ToggleButton Content="{Binding SplitCurvWJMsg}" Grid.Column="2"
Style="{StaticResource OptionPanel_ToggleButton}"
IsChecked="{Binding bSplitCurvWJ}"
Margin="2.5,0,2.5,0"/>
<ToggleButton Content="{Binding StartCurvWJMsg}" Grid.Column="2"
Style="{StaticResource OptionPanel_ToggleButton}"
IsChecked="{Binding bStartCurvWJ}"
Margin="2.5,0,2.5,0"/>
</UniformGrid>
<UniformGrid Columns="2" Margin="0,0,0,5">
<Button Content="{Binding SelectAllMsg}"
Style="{StaticResource OptionPanel_TextButton}"
Command="{Binding SelectAllCommand}"
Margin="0,0,2.5,0"/>
<Button Content="{Binding DeselectAllMsg}"
Style="{StaticResource OptionPanel_TextButton}"
Command="{Binding DeselectAllCommand}"
Margin="2.5,0,0,0"/>
</UniformGrid>
<Button Content="{Binding ResetMsg}" <StackPanel>
<Button ToolTip="{Binding SelectAllMsg}" Grid.Column="1"
Style="{StaticResource Nest_Button_Img}"
Command="{Binding SelectAllCommand}"
HorizontalContentAlignment="Stretch"
Margin="2.5,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Seleziona-tutto.png"
Width="40" Height="40" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<!--<TextBlock Text="{Binding SelectAllMsg}"
HorizontalAlignment="Center"/>-->
</StackPanel>
</Button>
</StackPanel>
<StackPanel>
<Button ToolTip="{Binding DeselectAllMsg}" Grid.Column="1"
Style="{StaticResource Nest_Button_Img}"
Command="{Binding DeselectAllCommand}"
HorizontalContentAlignment="Stretch"
Margin="2.5,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Deseleziona-tutto.png"
Width="40" Height="40" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<!--<TextBlock Text="{Binding DeselectAllMsg}"
HorizontalAlignment="Center"/>-->
</StackPanel>
</Button>
</StackPanel>
<StackPanel>
<ToggleButton ToolTip="{Binding DragRectangleMsg}" Grid.Column="1"
Visibility="{Binding DragRectangle_Visibility}"
Style="{StaticResource Nest_ToggleButton_Img}"
IsChecked="{Binding bDragRectangle}"
HorizontalContentAlignment="Stretch"
Margin="2.5,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/Drag_Rettangle.png"
Width="40" Height="40" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<!--<TextBlock Text="{Binding DragRectangleMsg}"
HorizontalAlignment="Center"/>-->
</StackPanel>
</ToggleButton>
</StackPanel>
</UniformGrid>
</Expander>
</Border>
<Border Style="{StaticResource Border}" Margin="0,1,0,5" Visibility="{Binding WJ_Cmd_Visibility}">
<Expander Name="myExpander3" Background="Transparent"
Foreground="{DynamicResource Omag_White}"
HorizontalAlignment="Stretch"
Header="{Binding ManageWJMsg}"
ExpandDirection="Down" IsExpanded="{Binding bManageWJ_IsExpanded}">
<UniformGrid Grid.Column="0" Columns="2" Margin="2.5,0,0,0" Visibility="{Binding WJ_Cmd_Visibility}">
<StackPanel HorizontalAlignment="Right" Margin="0,0,3.75,0">
<ToggleButton ToolTip="{Binding SplitCurvWJMsg}" Grid.Column="1"
Style="{StaticResource Nest_ToggleButton_Img}"
IsChecked="{Binding bSplitCurvWJ}"
HorizontalContentAlignment="Stretch"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/SPLIT-WJ.png"
Width="40" Height="40" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<!--<TextBlock Text="{Binding SplitCurvWJMsg}"
HorizontalAlignment="Center"/>-->
</StackPanel>
</ToggleButton>
</StackPanel>
<StackPanel HorizontalAlignment="Left" Margin="3.75,0,0,0">
<ToggleButton ToolTip="{Binding StartCurvWJMsg}" Grid.Column="1"
Style="{StaticResource Nest_ToggleButton_Img}"
IsChecked="{Binding bStartCurvWJ}"
HorizontalContentAlignment="Stretch"
Margin="0,0,0,0">
<StackPanel>
<Image Source="/Resources/NewIcons/START-WJ.png"
Width="40" Height="40" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<!--<TextBlock Text="{Binding StartCurvWJMsg}"
HorizontalAlignment="Center"/>-->
</StackPanel>
</ToggleButton>
</StackPanel>
</UniformGrid>
</Expander>
</Border>
<Button Content="{Binding ResetMsg}"
Style="{StaticResource OptionPanel_TextButton}" Style="{StaticResource OptionPanel_TextButton}"
Command="{Binding ResetCommand}" Command="{Binding ResetCommand}"
Margin="0,0,0,5"/> Margin="0,5,0,5"/>
<Button Content="{Binding CsvDataMsg}" <Button Content="{Binding CsvDataMsg}"
Style="{StaticResource OptionPanel_TextButton}" Style="{StaticResource OptionPanel_TextButton}"
Command="{Binding CsvDataCommand}" Command="{Binding CsvDataCommand}"
Visibility="{Binding CsvData_Visibility}" Visibility="{Binding CsvData_Visibility}"
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
</StackPanel> </StackPanel>
+431 -171
View File
@@ -31,6 +31,13 @@ Public Class NestingTabVM
Private m_ptPrev As Point3d Private m_ptPrev As Point3d
Private m_vtTotMove As Vector3d Private m_vtTotMove As Vector3d
Private m_dSnapDist As Double = 0 Private m_dSnapDist As Double = 0
' Gestione rotazione pezzi in fase di Drag
Private m_bKeyCtrlPressed As Boolean = False
Private m_bKeyLeftShiftPressed As Boolean = False
Private m_dAngTotal As Double = 0
Private m_dStartAng As Double = 0
Private m_bStartRot As Boolean = False
Private m_bStartMove As Boolean = False
' Abilitazioni TrfData e CsvData ' Abilitazioni TrfData e CsvData
Private m_bTrfData As Boolean = False Private m_bTrfData As Boolean = False
Private m_bCsvData As Boolean = False Private m_bCsvData As Boolean = False
@@ -151,17 +158,53 @@ Public Class NestingTabVM
End Get End Get
Set(value As Visibility) Set(value As Visibility)
m_CsvData_Visibility = value m_CsvData_Visibility = value
NotifyPropertyChanged( "CsvData_Visibility") NotifyPropertyChanged("CsvData_Visibility")
End Set End Set
End Property End Property
Private m_CountColumn As Integer = 1 Private m_CountColumn As Integer = 2
Public ReadOnly Property CountColumn As Integer Public ReadOnly Property CountColumn As Integer
Get Get
Return m_CountColumn Return m_CountColumn
End Get End Get
End Property End Property
Private m_bManageParts_IsExpanded As Boolean = True
Public Property bManageParts_IsExpanded As Boolean
Get
Return m_bManageParts_IsExpanded
End Get
Set(value As Boolean)
m_bManageParts_IsExpanded = value
NotifyPropertyChanged(NameOf(bManageParts_IsExpanded))
WriteMainPrivateProfileString("Nest", "ManageParts", If(m_bManageParts_IsExpanded, "1", "0"))
End Set
End Property
Private m_bSelectionParts_IsExpanded As Boolean = True
Public Property bSelectionParts_IsExpanded As Boolean
Get
Return m_bSelectionParts_IsExpanded
End Get
Set(value As Boolean)
m_bSelectionParts_IsExpanded = value
NotifyPropertyChanged(NameOf(bSelectionParts_IsExpanded))
WriteMainPrivateProfileString("Nest", "SelectionParts", If(m_bSelectionParts_IsExpanded, "1", "0"))
End Set
End Property
Private m_bManageWJ_IsExpanded As Boolean = True
Public Property bManageWJ_IsExpanded As Boolean
Get
Return m_bManageWJ_IsExpanded
End Get
Set(value As Boolean)
m_bManageWJ_IsExpanded = value
NotifyPropertyChanged(NameOf(bManageWJ_IsExpanded))
WriteMainPrivateProfileString("Nest", "ManageWJ", If(m_bManageWJ_IsExpanded, "1", "0"))
End Set
End Property
#Region "Messages" #Region "Messages"
Public ReadOnly Property InsertPartMsg As String Public ReadOnly Property InsertPartMsg As String
@@ -184,7 +227,7 @@ Public Class NestingTabVM
Public ReadOnly Property DragRectangleMsg As String Public ReadOnly Property DragRectangleMsg As String
Get Get
Return "Drag Rectangle" Return EgtMsg(91670)
End Get End Get
End Property End Property
@@ -226,8 +269,54 @@ Public Class NestingTabVM
End Get End Get
End Property End Property
Public ReadOnly Property DrawingMsg As String
Get
Return EgtMsg(91657)
End Get
End Property
Public ReadOnly Property ManagePartsMsg As String
Get
Return EgtMsg(91660)
End Get
End Property
Public ReadOnly Property SelectionPartMsg As String
Get
Return EgtMsg(91661)
End Get
End Property
Public ReadOnly Property ManageWJMsg As String
Get
Return EgtMsg(91662)
End Get
End Property
#End Region ' Messages #End Region ' Messages
#Region "ToolTip"
Public ReadOnly Property ParametricToolTip As String
Get
Return EgtMsg(91657)
End Get
End Property
Public ReadOnly Property ImportDrawToolTip As String
Get
Return EgtMsg(91658)
End Get
End Property
Public ReadOnly Property ImportCSVToolTip As String
Get
Return EgtMsg(91659)
End Get
End Property
#End Region ' ToolTip
' Definizione comandi ' Definizione comandi
Private m_cmdDraw As ICommand Private m_cmdDraw As ICommand
Private m_cmdImportDxf As ICommand Private m_cmdImportDxf As ICommand
@@ -269,8 +358,14 @@ Public Class NestingTabVM
#Region "METHODS" #Region "METHODS"
Friend Function InitNesting() As Boolean Friend Function InitNesting() As Boolean
m_bManageParts_IsExpanded = GetMainPrivateProfileInt("Nest", "ManageParts", 0) <> 0
NotifyPropertyChanged(NameOf(bManageParts_IsExpanded))
m_bSelectionParts_IsExpanded = GetMainPrivateProfileInt("Nest", "SelectionParts", 0) <> 0
NotifyPropertyChanged(NameOf(bSelectionParts_IsExpanded))
m_bManageWJ_IsExpanded = GetMainPrivateProfileInt("Nest", "ManageWJ", 0) <> 0
NotifyPropertyChanged(NameOf(bManageWJ_IsExpanded))
' Se previsto, abilito bottone VeinMatching ' Se previsto, abilito bottone VeinMatching
If Not IsNothing( OmagOFFICEMap.refMainWindowVM.VeinMatchingWnd) Then If Not IsNothing(OmagOFFICEMap.refMainWindowVM.VeinMatchingWnd) Then
OmagOFFICEMap.refVeinMatchPanelVM.VeinMatchIsEnabled = True OmagOFFICEMap.refVeinMatchPanelVM.VeinMatchIsEnabled = True
End If End If
' Abilitazione TrfData ' Abilitazione TrfData
@@ -280,7 +375,7 @@ Public Class NestingTabVM
m_bCsvData = Not m_bTrfData And m_bCsvData = Not m_bTrfData And
(GetMainPrivateProfileInt(S_COMPO, K_CSVDATA, 0) <> 0) (GetMainPrivateProfileInt(S_COMPO, K_CSVDATA, 0) <> 0)
' Se previsto, abilito bottone CsvData ' Se previsto, abilito bottone CsvData
CsvData_Visibility = If( m_bCsvData, Visibility.Visible, Visibility.Collapsed) CsvData_Visibility = If(m_bCsvData, Visibility.Visible, Visibility.Collapsed)
' Imposto il corretto contesto ' Imposto il corretto contesto
EgtSetCurrentContext(OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx()) EgtSetCurrentContext(OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx())
' aggiorno dati del grezzo ' aggiorno dati del grezzo
@@ -358,7 +453,7 @@ Public Class NestingTabVM
Private Sub AutomaticInsert() Private Sub AutomaticInsert()
EgtSetCurrentContext(OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx()) EgtSetCurrentContext(OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx())
OmagOFFICEMap.refStatusBarVM.SetOutputMessage( EgtMsg( 90340)) ' Nesting Automatico in corso OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(90340)) ' Nesting Automatico in corso
Dim bWrongTrf As Boolean = False Dim bWrongTrf As Boolean = False
Dim vParts As New List(Of Integer) Dim vParts As New List(Of Integer)
' Ciclo di pre-inserimento in tavola dei pezzi selezionati ' Ciclo di pre-inserimento in tavola dei pezzi selezionati
@@ -376,7 +471,7 @@ Public Class NestingTabVM
End If End If
' Lo preparo in tavola, se possibile ' Lo preparo in tavola, se possibile
If PreInsertOnePart(nId) Then If PreInsertOnePart(nId) Then
vParts.Add( nId) vParts.Add(nId)
Else Else
EgtSetStatus(nId, GDB_ST.ON_) EgtSetStatus(nId, GDB_ST.ON_)
VeinMatching.OnDeselectPart(nId) VeinMatching.OnDeselectPart(nId)
@@ -391,12 +486,12 @@ Public Class NestingTabVM
Dim bAligned As Boolean = (GetPrivateProfileInt(S_MACH_NEST, K_MACH_NEST_ALIGNED, 0, CurrentMachine.sMachIniFile) <> 0) Dim bAligned As Boolean = (GetPrivateProfileInt(S_MACH_NEST, K_MACH_NEST_ALIGNED, 0, CurrentMachine.sMachIniFile) <> 0)
EnableReferenceRegion(bAligned) EnableReferenceRegion(bAligned)
' Eseguo nesting automatico ' Eseguo nesting automatico
Dim bOpimizeOnX As Boolean = ( GetMainPrivateProfileInt( S_NEST, K_AUTOMATICOPTIMIZE, 2) = 1) Dim bOpimizeOnX As Boolean = (GetMainPrivateProfileInt(S_NEST, K_AUTOMATICOPTIMIZE, 2) = 1)
Dim bGuillotineMode As Boolean = bAligned Dim bGuillotineMode As Boolean = bAligned
Dim nAutomaticMaxTime As Integer = GetMainPrivateProfileInt( S_NEST, K_AUTOMATICMAXTIME, 20) Dim nAutomaticMaxTime As Integer = GetMainPrivateProfileInt(S_NEST, K_AUTOMATICMAXTIME, 20)
Dim dPartTime As Double = If( bGuillotineMode, 1.0, 0.5) Dim dPartTime As Double = If(bGuillotineMode, 1.0, 0.5)
Dim nMaxTime As Integer = Math.Min( CInt( 2 + dPartTime * vParts.Count()), nAutomaticMaxTime) Dim nMaxTime As Integer = Math.Min(CInt(2 + dPartTime * vParts.Count()), nAutomaticMaxTime)
EgtAutomaticPackParts( vParts, bOpimizeOnX, CurrentMachine.bReducedCut, bGuillotineMode, nMaxTime) EgtAutomaticPackParts(vParts, bOpimizeOnX, CurrentMachine.bReducedCut, bGuillotineMode, nMaxTime)
' Sistemo i pezzi ' Sistemo i pezzi
For Each nPartId As Integer In vParts For Each nPartId As Integer In vParts
' se pezzo inserito ' se pezzo inserito
@@ -404,11 +499,11 @@ Public Class NestingTabVM
VeinMatching.OnInsertPartInRaw(nPartId) VeinMatching.OnInsertPartInRaw(nPartId)
' Eventuale aggiunta solido per taglio da sotto ' Eventuale aggiunta solido per taglio da sotto
UpdateSolidForDrip(nPartId) UpdateSolidForDrip(nPartId)
' altrimenti rifiutato ' altrimenti rifiutato
else Else
' Ripristino lo stato originale ' Ripristino lo stato originale
PreRemoveOnePart( Math.Abs( nPartId)) PreRemoveOnePart(Math.Abs(nPartId))
VeinMatching.OnDeselectPart( Math.Abs( nPartId)) VeinMatching.OnDeselectPart(Math.Abs(nPartId))
End If End If
Next Next
' Aggiorno flag selezionati ' Aggiorno flag selezionati
@@ -423,6 +518,93 @@ Public Class NestingTabVM
End If End If
End Sub End Sub
Private Sub VerifyMove()
If m_bVerify Then
' Determino cosa verificare
Dim nMoveId = If(m_nIdToSel <> GDB_ID.NULL, m_nIdToSel, GDB_ID.SEL)
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' Eseguo verifica
If VerifyTrfData(nMoveId) And EgtVerifyPart(nMoveId, CurrentMachine.bReducedCut) Then
EstCalc.ResetOrderMachiningFlag()
' Non superata riporto alla posizione iniziale
Else
If m_bFromParking Then
OmagOFFICEMap.refStatusBarVM.ClearOutputMessage()
PreRemoveOnePart(nMoveId)
VeinMatching.OnRemovePartFromRaw(nMoveId)
Else
EgtMove(nMoveId, -m_vtTotMove)
' Eventuale notifica al VeinMatching
If nMoveId = GDB_ID.SEL Then
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
VeinMatching.OnMovePartInRaw(nId)
nId = EgtGetNextSelectedObj()
End While
Else
VeinMatching.OnMovePartInRaw(nMoveId)
End If
End If
'---------------------- COUNTER PART ----------------------
' solo se pezzo disposto in tavola
If m_bFromParking Then
Dim sRefGroup As String = String.Empty
If EgtGetInfo(nMoveId, INFO_REFGROUP, sRefGroup) Then
' accendo il layer che contiene il contatore (spento in fase di Drag)
Dim nCounterLayer As Integer = EgtGetFirstNameInGroup(nMoveId, INFO_COUNTERLY)
EgtSetStatus(nCounterLayer, GDB_ST.ON_)
' aggiorno il layer che indica il numero di pezzi in parcheggio
CountPartInFamily(sRefGroup)
End If
End If
'---------------------- COUNTER PART ----------------------
End If
m_bFromParking = False
End If
End Sub
Private Sub VerifyRot()
' se comando Shift è stato attivato
If m_bKeyLeftShiftPressed Then
' Determino cosa verificare
Dim nMoveId = If(m_nIdToSel <> GDB_ID.NULL, m_nIdToSel, GDB_ID.SEL)
If Not EgtVerifyPart(nMoveId, CurrentMachine.bReducedCut) Then
Dim ptCen As Point3d
If Not EgtGetPartPartClusterCenterGlob(nMoveId, ptCen) Then Return
EgtRotate(nMoveId, ptCen, Vector3d.Z_AX(), -m_dAngTotal, GDB_RT.GLOB)
End If
End If
' resetto i valori
m_dStartAng = 0
m_dAngTotal = 0
m_bStartRot = False
End Sub
' verifica che la rotazione sia ammessa
Private Function RotatePartInsideBond(dAngRotDeg As Double, nIdMove As Integer) As Boolean
' Verifico se ci sono dei pezzi bloccati in rotazione
Dim bLockedRot As Boolean = GetLockOnRotation(nIdMove)
' Se tutti i pezzi possono ruotare
If Not bLockedRot Then
' Calcolo il centro di rotazione come centro del cluster
Dim ptCen As Point3d
If Not EgtGetPartPartClusterCenterGlob(nIdMove, ptCen) Then Return False
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' Verifico rotazione complessiva
EgtRotate(nIdMove, ptCen, Vector3d.Z_AX(), dAngRotDeg, GDB_RT.GLOB)
If EgtVerifyPart(nIdMove, CurrentMachine.bReducedCut) Then Return True
' Provo rotazione parziale (dopo aver annullato la complessiva)
EgtRotate(nIdMove, ptCen, Vector3d.Z_AX(), -dAngRotDeg, GDB_RT.GLOB)
Return EgtRotatePart(nIdMove, CurrentMachine.bReducedCut, ptCen, dAngRotDeg)
Else
Return False
End If
End Function
Private Function RotateCluster(ByVal dAngRotDeg As Double) As Boolean Private Function RotateCluster(ByVal dAngRotDeg As Double) As Boolean
' Se non ci sono pezzi selezionati, esco ' Se non ci sono pezzi selezionati, esco
If EgtGetSelectedObjCount() = 0 Then Return True If EgtGetSelectedObjCount() = 0 Then Return True
@@ -432,7 +614,7 @@ Public Class NestingTabVM
Dim nId As Integer = EgtGetFirstSelectedObj() Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL While nId <> GDB_ID.NULL
' Se pezzo con rotazione libera ' Se pezzo con rotazione libera
If Not EgtExistsInfo( nId, INFO_PARTROT) Then If Not EgtExistsInfo(nId, INFO_PARTROT) Then
' Calcolo il centro di rotazione come centro del pezzo ' Calcolo il centro di rotazione come centro del pezzo
Dim ptCen As Point3d Dim ptCen As Point3d
If Not EgtGetPartPartClusterCenterGlob(nId, ptCen) Then Return False If Not EgtGetPartPartClusterCenterGlob(nId, ptCen) Then Return False
@@ -466,40 +648,22 @@ Public Class NestingTabVM
nId = EgtGetNextSelectedObj() nId = EgtGetNextSelectedObj()
End While End While
Return True Return True
' Altrimenti li ruoto tenendo conto delle collisioni ' Altrimenti li ruoto tenendo conto delle collisioni
Else Else
' Verifico se ci sono dei pezzi bloccati in rotazione Return RotatePartInsideBond(dAngRotDeg, GDB_ID.SEL)
Dim bLockedRot As Boolean = GetLockOnRotation( GDB_ID.SEL)
' Se tutti i pezzi possono ruotare
If Not bLockedRot Then
' Calcolo il centro di rotazione come centro del cluster
Dim ptCen As Point3d
If Not EgtGetPartPartClusterCenterGlob(GDB_ID.SEL, ptCen) Then Return False
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' Verifico rotazione complessiva
EgtRotate(GDB_ID.SEL, ptCen, Vector3d.Z_AX(), dAngRotDeg, GDB_RT.GLOB)
If EgtVerifyPart(GDB_ID.SEL, CurrentMachine.bReducedCut) Then Return True
' Provo rotazione parziale (dopo aver annullato la complessiva)
EgtRotate(GDB_ID.SEL, ptCen, Vector3d.Z_AX(), -dAngRotDeg, GDB_RT.GLOB)
Return EgtRotatePart(GDB_ID.SEL, CurrentMachine.bReducedCut, ptCen, dAngRotDeg)
Else
Return False
End If
End If End If
End Function End Function
Private Function GetLockOnRotation( nPartId As Integer) As Boolean Private Function GetLockOnRotation(nPartId As Integer) As Boolean
' Se singolo pezzo ' Se singolo pezzo
If nPartId <> GDB_ID.SEL Then If nPartId <> GDB_ID.SEL Then
Return EgtExistsInfo( nPartId, INFO_PARTROT) Return EgtExistsInfo(nPartId, INFO_PARTROT)
' Altrimenti tutti i selezionati ' Altrimenti tutti i selezionati
Else Else
Dim bLockedRot As Boolean = False Dim bLockedRot As Boolean = False
Dim nId As Integer = EgtGetFirstSelectedObj() Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL While nId <> GDB_ID.NULL
If EgtExistsInfo( nId, INFO_PARTROT) Then If EgtExistsInfo(nId, INFO_PARTROT) Then
bLockedRot = True bLockedRot = True
Exit While Exit While
End If End If
@@ -564,13 +728,13 @@ Public Class NestingTabVM
Return True Return True
End Function End Function
Friend Function ExitNesting( bChange As Boolean) As Boolean Friend Function ExitNesting(bChange As Boolean) As Boolean
If m_CsvImport_IsChecked Then If m_CsvImport_IsChecked Then
m_CsvImportWindow.Close() m_CsvImportWindow.Close()
m_CsvImportWindow = Nothing m_CsvImportWindow = Nothing
End If End If
If bChange Then If bChange Then
OmagOFFICEMap.refVeinMatchPanelVM.SetVeinMatchIsChecked( False) OmagOFFICEMap.refVeinMatchPanelVM.SetVeinMatchIsChecked(False)
OmagOFFICEMap.refVeinMatchPanelVM.VeinMatchIsEnabled = False OmagOFFICEMap.refVeinMatchPanelVM.VeinMatchIsEnabled = False
End If End If
Return True Return True
@@ -1341,22 +1505,22 @@ Public Class NestingTabVM
If EgtGetSelectedObjCount() = 0 OrElse m_nPartPos <> PART_POS.OUT_TABLE Then Return If EgtGetSelectedObjCount() = 0 OrElse m_nPartPos <> PART_POS.OUT_TABLE Then Return
' Tolgo blocco rotazione sui pezzi selezionati ' Tolgo blocco rotazione sui pezzi selezionati
Dim nId As Integer = EgtGetFirstSelectedObj() Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL While nId <> GDB_ID.NULL
' Se rotazione bloccata, tolgo blocco e aggiorno info ' Se rotazione bloccata, tolgo blocco e aggiorno info
If EgtExistsInfo( nId, INFO_PARTROT) Then If EgtExistsInfo(nId, INFO_PARTROT) Then
' Rimuovo flag di rotazione bloccata ' Rimuovo flag di rotazione bloccata
EgtRemoveInfo( nId, INFO_PARTROT) EgtRemoveInfo(nId, INFO_PARTROT)
' Tolgo da info sul pezzo Codice ' Tolgo da info sul pezzo Codice
Dim nTextId As Integer = EgtGetFirstInGroup( EgtGetFirstNameInGroup( nId, NAME_REGION)) Dim nTextId As Integer = EgtGetFirstInGroup(EgtGetFirstNameInGroup(nId, NAME_REGION))
While nTextId <> GDB_ID.NULL While nTextId <> GDB_ID.NULL
If EgtGetType( nTextId) = GDB_TY.EXT_TEXT Then If EgtGetType(nTextId) = GDB_TY.EXT_TEXT Then
Dim sText As String = "" Dim sText As String = ""
EgtTextGetContent( nTextId, sText) EgtTextGetContent(nTextId, sText)
sText = sText.Replace( "<br/>(X)", "") sText = sText.Replace("<br/>(X)", "")
EgtModifyText( nTextId, sText) EgtModifyText(nTextId, sText)
Exit While Exit While
End If End If
nTextId = EgtGetNext( nTextId) nTextId = EgtGetNext(nTextId)
End While End While
End If End If
' Passo al successivo selezionato ' Passo al successivo selezionato
@@ -1385,22 +1549,22 @@ Public Class NestingTabVM
If EgtGetSelectedObjCount() = 0 OrElse m_nPartPos <> PART_POS.OUT_TABLE Then Return If EgtGetSelectedObjCount() = 0 OrElse m_nPartPos <> PART_POS.OUT_TABLE Then Return
' Metto blocco rotazione sui pezzi selezionati ' Metto blocco rotazione sui pezzi selezionati
Dim nId As Integer = EgtGetFirstSelectedObj() Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL While nId <> GDB_ID.NULL
' Se rotazione libera, applico blocco e aggiorno info ' Se rotazione libera, applico blocco e aggiorno info
If Not EgtExistsInfo( nId, INFO_PARTROT) Then If Not EgtExistsInfo(nId, INFO_PARTROT) Then
' Imposto flag di rotazione bloccata ' Imposto flag di rotazione bloccata
EgtSetInfo( nId, INFO_PARTROT, 0) EgtSetInfo(nId, INFO_PARTROT, 0)
' Inserisco in info sul pezzo Codice ' Inserisco in info sul pezzo Codice
Dim nTextId As Integer = EgtGetFirstInGroup( EgtGetFirstNameInGroup( nId, NAME_REGION)) Dim nTextId As Integer = EgtGetFirstInGroup(EgtGetFirstNameInGroup(nId, NAME_REGION))
While nTextId <> GDB_ID.NULL While nTextId <> GDB_ID.NULL
If EgtGetType( nTextId) = GDB_TY.EXT_TEXT Then If EgtGetType(nTextId) = GDB_TY.EXT_TEXT Then
Dim sText As String = "" Dim sText As String = ""
EgtTextGetContent( nTextId, sText) EgtTextGetContent(nTextId, sText)
sText &= "<br/>(X)" sText &= "<br/>(X)"
EgtModifyText( nTextId, sText) EgtModifyText(nTextId, sText)
Exit While Exit While
End If End If
nTextId = EgtGetNext( nTextId) nTextId = EgtGetNext(nTextId)
End While End While
End If End If
' Passo al successivo selezionato ' Passo al successivo selezionato
@@ -1436,7 +1600,7 @@ Public Class NestingTabVM
Dim bAlignMoved As Boolean = False Dim bAlignMoved As Boolean = False
Dim bSnapMoved As Boolean = False Dim bSnapMoved As Boolean = False
If m_bMagnetic Then If m_bMagnetic Then
If Not GetLockOnRotation( GDB_ID.SEL) Then If Not GetLockOnRotation(GDB_ID.SEL) Then
EgtAlignPartOnCollision(GDB_ID.SEL, CurrentMachine.bReducedCut, bAlignMoved) EgtAlignPartOnCollision(GDB_ID.SEL, CurrentMachine.bReducedCut, bAlignMoved)
End If End If
If m_dSnapDist > EPS_SMALL Then If m_dSnapDist > EPS_SMALL Then
@@ -1480,7 +1644,7 @@ Public Class NestingTabVM
Dim bAlignMoved As Boolean = False Dim bAlignMoved As Boolean = False
Dim bSnapMoved As Boolean = False Dim bSnapMoved As Boolean = False
If m_bMagnetic Then If m_bMagnetic Then
If Not GetLockOnRotation( GDB_ID.SEL) Then If Not GetLockOnRotation(GDB_ID.SEL) Then
EgtAlignPartOnCollision(GDB_ID.SEL, CurrentMachine.bReducedCut, bAlignMoved) EgtAlignPartOnCollision(GDB_ID.SEL, CurrentMachine.bReducedCut, bAlignMoved)
End If End If
If m_dSnapDist > EPS_SMALL Then If m_dSnapDist > EPS_SMALL Then
@@ -1524,7 +1688,7 @@ Public Class NestingTabVM
Dim bAlignMoved As Boolean = False Dim bAlignMoved As Boolean = False
Dim bSnapMoved As Boolean = False Dim bSnapMoved As Boolean = False
If m_bMagnetic Then If m_bMagnetic Then
If Not GetLockOnRotation( GDB_ID.SEL) Then If Not GetLockOnRotation(GDB_ID.SEL) Then
EgtAlignPartOnCollision(GDB_ID.SEL, CurrentMachine.bReducedCut, bAlignMoved) EgtAlignPartOnCollision(GDB_ID.SEL, CurrentMachine.bReducedCut, bAlignMoved)
End If End If
If m_dSnapDist > EPS_SMALL Then If m_dSnapDist > EPS_SMALL Then
@@ -1568,7 +1732,7 @@ Public Class NestingTabVM
Dim bAlignMoved As Boolean = False Dim bAlignMoved As Boolean = False
Dim bSnapMoved As Boolean = False Dim bSnapMoved As Boolean = False
If m_bMagnetic Then If m_bMagnetic Then
If Not GetLockOnRotation( GDB_ID.SEL) Then If Not GetLockOnRotation(GDB_ID.SEL) Then
EgtAlignPartOnCollision(GDB_ID.SEL, CurrentMachine.bReducedCut, bAlignMoved) EgtAlignPartOnCollision(GDB_ID.SEL, CurrentMachine.bReducedCut, bAlignMoved)
End If End If
If m_dSnapDist > EPS_SMALL Then If m_dSnapDist > EPS_SMALL Then
@@ -1656,7 +1820,7 @@ Public Class NestingTabVM
If CurrentMachine.bAutomatic And If CurrentMachine.bAutomatic And
OmagOFFICEMap.refMainWindowVM.MainWindowM.AutoNestOption() Then OmagOFFICEMap.refMainWindowVM.MainWindowM.AutoNestOption() Then
AutomaticInsert() AutomaticInsert()
' altrimenti inserimento standard ' altrimenti inserimento standard
Else Else
StandardInsert() StandardInsert()
End If End If
@@ -1744,6 +1908,10 @@ Public Class NestingTabVM
' Ciclo di cancellazione dei pezzi selezionati ' Ciclo di cancellazione dei pezzi selezionati
nId = EgtGetFirstSelectedObj() nId = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL While nId <> GDB_ID.NULL
'' elimino eventuali ponticelli associati al pezzo: non è gestito il movimento del pezzo
'DeleteBridgeAssociated(nId)
' se è stato eseguito il Drag allora cancello tutti i ponticelli
ResetAllBridges()
' Recupero indice del successivo ' Recupero indice del successivo
Dim nNextId = EgtGetNextSelectedObj() Dim nNextId = EgtGetNextSelectedObj()
' Se abilitata cancellazione in ogni caso o pezzo non da Csv ' Se abilitata cancellazione in ogni caso o pezzo non da Csv
@@ -1785,6 +1953,47 @@ Public Class NestingTabVM
VeinMatching.Draw() VeinMatching.Draw()
End Sub End Sub
Private Sub DeleteBridgeAssociated(nMyId As Integer)
' verifico se esistono dei ponticelli associati al pezzo indicato
' recuoero il gruppo di lavorazione corrente
Dim nIdCurrMachGroup As Integer = EgtGetCurrMachGroup()
' creo il gruppo per i ponticelli
Dim sNameGroup As String = NAME_BRIDGES
Dim nIdBridgesGroup As Integer = EgtGetFirstNameInGroup(nIdCurrMachGroup, sNameGroup)
If nIdBridgesGroup <> GDB_ID.NULL Then
' carico la prima entità del gruppo BRIDGES
Dim nIdBridgeLine As Integer = GDB_ID.NULL
nIdBridgeLine = EgtGetFirstNameInGroup(nIdBridgesGroup, NAME_BRIDGESLINE)
' ciclo su tutte le entità
While nIdBridgeLine <> GDB_ID.NULL
Dim nNextBridgeLine As Integer = GDB_ID.NULL
Dim nIdPart As Integer = GDB_ID.NULL
If EgtGetInfo(nIdBridgeLine, "PartStart", nIdPart) Then
If nIdPart = nMyId Then
nNextBridgeLine = EgtGetNext(nIdBridgeLine)
' il ponticello deve essere eliminato
EgtErase(nIdBridgeLine)
nIdBridgeLine = nNextBridgeLine
' riparto dall'inizio del ciclo
Continue While
End If
End If
If EgtGetInfo(nIdBridgeLine, "PartEnd", nIdPart) Then
If nIdPart = nMyId Then
nNextBridgeLine = EgtGetNext(nIdBridgeLine)
' il ponticello deve essere eliminato
EgtErase(nIdBridgeLine)
nIdBridgeLine = nNextBridgeLine
' riparto dall'inizio del ciclo
Continue While
End If
End If
' il BridgeLine corrente non contiene riferimeti al pezzo da eliminare
nIdBridgeLine = EgtGetNext(nIdBridgeLine)
End While
End If
End Sub
#End Region ' RemovePartCommand #End Region ' RemovePartCommand
#Region "SelectAllCommand" #Region "SelectAllCommand"
@@ -1873,6 +2082,8 @@ Public Class NestingTabVM
ResetAllStartCurv() ResetAllStartCurv()
' cancello tutti i ponticelli disegnati ' cancello tutti i ponticelli disegnati
ResetAllBridges() ResetAllBridges()
' cancello tutti i tagli di separazione disegnati
ResetAllSplitCut()
' Cancello tutte le lavorazioni ' Cancello tutte le lavorazioni
CamAuto.EraseMachinings(GDB_ID.NULL) CamAuto.EraseMachinings(GDB_ID.NULL)
' Reinserisco tutte le lavorazioni piane ' Reinserisco tutte le lavorazioni piane
@@ -1904,44 +2115,44 @@ Public Class NestingTabVM
' Deseleziono eventuali altri ' Deseleziono eventuali altri
If EgtGetNextSelectedObj() <> GDB_ID.NULL Then If EgtGetNextSelectedObj() <> GDB_ID.NULL Then
EgtDeselectAll() EgtDeselectAll()
EgtSelectObj( nPartId) EgtSelectObj(nPartId)
EgtDraw() EgtDraw()
End If End If
' Recupero dati del pezzo ' Recupero dati del pezzo
Dim sCsvOrder As String = "" : EgtGetInfo( nPartId, INFO_CSV_ORD, sCsvOrder) Dim sCsvOrder As String = "" : EgtGetInfo(nPartId, INFO_CSV_ORD, sCsvOrder)
Dim sCsvList As String = "" : EgtGetInfo( nPartId, INFO_CSV_DIST, sCsvList) Dim sCsvList As String = "" : EgtGetInfo(nPartId, INFO_CSV_DIST, sCsvList)
Dim sCsvName As String = "" : EgtGetInfo( nPartId, INFO_CSV_PART, sCsvName) Dim sCsvName As String = "" : EgtGetInfo(nPartId, INFO_CSV_PART, sCsvName)
' Avvio dialogo modifica ' Avvio dialogo modifica
Dim DlgCsvDataVM As New CompoCsvDataWindowVM() Dim DlgCsvDataVM As New CompoCsvDataWindowVM()
Dim DlgCsvDataV As New CompoCsvDataWindowV(Application.Current.MainWindow, DlgCsvDataVM) Dim DlgCsvDataV As New CompoCsvDataWindowV(Application.Current.MainWindow, DlgCsvDataVM)
DlgCsvDataVM.SetData( sCsvOrder, sCsvList, sCsvName) DlgCsvDataVM.SetData(sCsvOrder, sCsvList, sCsvName)
If DlgCsvDataV.ShowDialog() Then If DlgCsvDataV.ShowDialog() Then
' Recupero i nuovi dati ' Recupero i nuovi dati
Dim sNewOrder As String = "" Dim sNewOrder As String = ""
Dim sNewList As String = "" Dim sNewList As String = ""
Dim sNewName As String = "" Dim sNewName As String = ""
DlgCsvDataVM.GetData( sNewOrder, sNewList, sNewName) DlgCsvDataVM.GetData(sNewOrder, sNewList, sNewName)
' Assegno i nuovi dati ' Assegno i nuovi dati
EgtSetInfo( nPartId, INFO_CSV_ORD, sNewOrder) EgtSetInfo(nPartId, INFO_CSV_ORD, sNewOrder)
EgtSetInfo( nPartId, INFO_CSV_DIST, sNewList) EgtSetInfo(nPartId, INFO_CSV_DIST, sNewList)
EgtSetInfo( nPartId, INFO_CSV_PART, sNewName) EgtSetInfo(nPartId, INFO_CSV_PART, sNewName)
' Se necessario, modifico la scritta ' Se necessario, modifico la scritta
If sNewName <> sCsvName Then If sNewName <> sCsvName Then
Dim nRegLayId As Integer = EgtGetFirstNameInGroup( nPartId, NAME_REGION) Dim nRegLayId As Integer = EgtGetFirstNameInGroup(nPartId, NAME_REGION)
Dim nTextId = EgtGetFirstInGroup(nRegLayId) Dim nTextId = EgtGetFirstInGroup(nRegLayId)
While nTextId <> GDB_ID.NULL While nTextId <> GDB_ID.NULL
If EgtGetType( nTextId) = GDB_TY.EXT_TEXT Then If EgtGetType(nTextId) = GDB_TY.EXT_TEXT Then
Dim sText As String = String.Empty Dim sText As String = String.Empty
EgtTextGetContent( nTextId, sText) EgtTextGetContent(nTextId, sText)
Dim nPos As Integer = sText.IndexOf( sCsvName) Dim nPos As Integer = sText.IndexOf(sCsvName)
Dim sNewText As String Dim sNewText As String
If nPos <0 Then If nPos < 0 Then
sNewText= sNewName & "<br/>" & sText sNewText = sNewName & "<br/>" & sText
Else Else
sNewText = sText.Remove( nPos, sCsvName.Length()).Insert( nPos, sNewName) sNewText = sText.Remove(nPos, sCsvName.Length()).Insert(nPos, sNewName)
End If End If
EgtModifyText( nTextId, sNewText) EgtModifyText(nTextId, sNewText)
VeinMatching.ModifyPartText( nPartId, sNewText) VeinMatching.ModifyPartText(nPartId, sNewText)
Exit While Exit While
End If End If
nTextId = EgtGetNext(nTextId) nTextId = EgtGetNext(nTextId)
@@ -2036,6 +2247,7 @@ Public Class NestingTabVM
m_bDrag = m_bDrag AndAlso EgtUnProjectPoint(e.Location, m_ptPrev) m_bDrag = m_bDrag AndAlso EgtUnProjectPoint(e.Location, m_ptPrev)
m_bDragToStart = m_bDrag m_bDragToStart = m_bDrag
m_bVerify = m_bDrag AndAlso (Keyboard.Modifiers And ModifierKeys.Shift) > 0 m_bVerify = m_bDrag AndAlso (Keyboard.Modifiers And ModifierKeys.Shift) > 0
m_bKeyLeftShiftPressed = m_bVerify
m_vtTotMove = Vector3d.NULL() m_vtTotMove = Vector3d.NULL()
End Sub End Sub
@@ -2044,7 +2256,7 @@ Public Class NestingTabVM
If Not m_bDrag Or m_bDragging Then Return If Not m_bDrag Or m_bDragging Then Return
' Se primo movimento di drag, verifico di aver superato la soglia di movimento in pixel ' Se primo movimento di drag, verifico di aver superato la soglia di movimento in pixel
If m_bDragToStart Then If m_bDragToStart Then
If Math.Abs(e.Location.X - m_locPrev.X) <m_nRestRadius And If Math.Abs(e.Location.X - m_locPrev.X) < m_nRestRadius And
Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
Return Return
End If End If
@@ -2070,12 +2282,12 @@ Public Class NestingTabVM
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(MSG_NESTPAGEUC + 7), MSG_TYPE.WARNING) OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(MSG_NESTPAGEUC + 7), MSG_TYPE.WARNING)
End If End If
' Applico le lavorazioni al pezzo ' Applico le lavorazioni al pezzo
Dim b3Curr As new BBox3d Dim b3Curr As New BBox3d
EgtGetBBoxGlob( EgtGetFirstNameInGroup(nTestId, NAME_REGION), BBFLAG, b3Curr) EgtGetBBoxGlob(EgtGetFirstNameInGroup(nTestId, NAME_REGION), BBFLAG, b3Curr)
if Not EstCalc.PreInsertOnePart( nTestId) Then Return If Not EstCalc.PreInsertOnePart(nTestId) Then Return
Dim b3Ins As new BBox3d Dim b3Ins As New BBox3d
EgtGetBBoxGlob( EgtGetFirstNameInGroup( nTestId, NAME_REGION), BBFLAG, b3Ins) EgtGetBBoxGlob(EgtGetFirstNameInGroup(nTestId, NAME_REGION), BBFLAG, b3Ins)
Dim vtDiff As new Vector3d( b3Curr.Min().x - b3Ins.Min().x, b3Curr.Min().y - b3Ins.Min().y, 0) Dim vtDiff As New Vector3d(b3Curr.Min().x - b3Ins.Min().x, b3Curr.Min().y - b3Ins.Min().y, 0)
EgtMove(nMoveId, vtDiff) EgtMove(nMoveId, vtDiff)
'---------------------- COUNTER PART ---------------------- '---------------------- COUNTER PART ----------------------
@@ -2091,7 +2303,7 @@ Public Class NestingTabVM
'---------------------- COUNTER PART ---------------------- '---------------------- COUNTER PART ----------------------
' Gestione VeinMatching ' Gestione VeinMatching
VeinMatching.OnInsertPartInRaw( nMoveId) VeinMatching.OnInsertPartInRaw(nMoveId)
' Imposto stato ' Imposto stato
m_bVerify = True m_bVerify = True
m_bFromParking = True m_bFromParking = True
@@ -2101,46 +2313,108 @@ Public Class NestingTabVM
' Ricavo il punto corrente in coordinate mondo ' Ricavo il punto corrente in coordinate mondo
Dim ptCurr As Point3d Dim ptCurr As Point3d
EgtUnProjectPoint(e.Location, ptCurr) EgtUnProjectPoint(e.Location, ptCurr)
' Ricavo il vettore di movimento
Dim vtMove As Vector3d = ptCurr - m_ptPrev ' la rotazione è attivabile solo se premuto il tasto Ctrl (e non sono in parheggio)
' Muovo i pezzi selezionati di quanto possibile m_bKeyCtrlPressed = m_bDrag AndAlso (Keyboard.Modifiers And ModifierKeys.Control) > 0
If vtMove.SqLen() > EPS_SMALL * EPS_SMALL Then
' Se movimento con sola verifica finale '-------------Inizio ROTAZIONE ----------------
If m_bVerify Then If m_bKeyCtrlPressed AndAlso (Not m_bFromParking OrElse m_bKeyLeftShiftPressed) Then
EgtMove(nMoveId, vtMove) ' Calcolo il centro di rotazione come centro del cluster
m_vtTotMove += vtMove Dim ptCen As Point3d
' altrimenti caso con verifica durante il movimento If Not EgtGetPartPartClusterCenterGlob(nMoveId, ptCen) Then Return
Else ' definisco il vettore dal centro del pezzo alla posizione del cursore
' Aggiorno regioni per nesting Dim vtCurr As Vector3d = ptCurr - ptCen
UpdateNestRegions() Dim dLen, dHAng, dVAng As Double
EnableReferenceRegion(False) ' recupero l'angolo orizzontale del vettore
' muovo il pezzo vtCurr.ToSpherical(dLen, dHAng, dVAng)
EgtMovePart(nMoveId, CurrentMachine.bReducedCut, vtMove) If Not m_bStartRot Then
EgtSaveCollInfo() m_dAngTotal = 0
' se movimento risultante nullo, provo con movimento tangente ' notifico una rotazione
Dim bTgMoved As Boolean = False m_bStartRot = True
If vtMove.IsSmall() Then m_dStartAng = dVAng
' riprovo con movimento tangente
Dim vtTgMove As Vector3d = ptCurr - m_ptPrev
EgtTgMovePartOnCollision(nMoveId, CurrentMachine.bReducedCut, vtTgMove)
bTgMoved = (Not vtTgMove.IsSmall())
End If
' se abilitato magnetico (allineamento + snap), lo provo
Dim bAlignMoved As Boolean = False
Dim bSnapMoved As Boolean = False
If m_bMagnetic Then
If Not GetLockOnRotation( nMoveId) Then
EgtAlignPartOnCollision(nMoveId, CurrentMachine.bReducedCut, bAlignMoved)
End If
If m_dSnapDist > EPS_SMALL Then
EgtRestoreCollInfo()
EgtMovePartToSnapPointOnCollision(nMoveId, CurrentMachine.bReducedCut, m_dSnapDist, bSnapMoved)
End If
End If
EstCalc.ResetOrderMachiningFlag()
End If End If
EgtDraw() Dim dDeltaAng As Double = dVAng - m_dStartAng
' Eventuale notifica al VeinMatching ' gestione del passaggio da 0° 360° evitando mantenendo la visualizzazione fluida
If Math.Abs(dDeltaAng) > 90 Then
If m_dStartAng < 180 And dVAng > 180 Then
dDeltaAng = dVAng - 360 - m_dStartAng
ElseIf m_dStartAng > 180 And dVAng < 180 Then
dDeltaAng = dVAng - m_dStartAng + 360
End If
End If
' Rotazione del pezzo attorno al suo centro
If Math.Abs(dDeltaAng) > EPS_ANG_SMALL Then
' se il tasto Shift è premuto (disabilitato il controllo collisioni durante il Drag)
If m_bKeyLeftShiftPressed Then
EgtRotate(nMoveId, ptCen, Vector3d.Z_AX(), dDeltaAng, GDB_RT.GLOB)
m_dAngTotal += dDeltaAng
Else
' esegue la rotazione fino ad incontrare un altro pezzo
RotatePartInsideBond(dDeltaAng, nMoveId)
EstCalc.ResetOrderMachiningFlag()
' Eventuale notifica al VeinMatching
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
VeinMatching.OnMovePartInRaw(nId)
nId = EgtGetNextSelectedObj()
End While
End If
m_dStartAng = dVAng
End If
'-------------Fine ROTAZIONE ----------------
Else
' -------------Inizio TRASLAZIONE ---------------
' Ricavo il vettore di movimento
Dim vtMove As Vector3d = ptCurr - m_ptPrev
' Muovo i pezzi selezionati di quanto possibile
If vtMove.SqLen() > EPS_SMALL * EPS_SMALL Then
' notifico una traslazione
If Not m_bStartMove Then
m_bStartMove = True
End If
' Se movimento con sola verifica finale (disabilitato il controllo collisioni durante il Drag)
If m_bVerify Then
EgtMove(nMoveId, vtMove)
m_vtTotMove += vtMove
' altrimenti caso con verifica durante il movimento
Else
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' muovo il pezzo
EgtMovePart(nMoveId, CurrentMachine.bReducedCut, vtMove)
EgtSaveCollInfo()
' se movimento risultante nullo, provo con movimento tangente
Dim bTgMoved As Boolean = False
If vtMove.IsSmall() Then
' riprovo con movimento tangente
Dim vtTgMove As Vector3d = ptCurr - m_ptPrev
EgtTgMovePartOnCollision(nMoveId, CurrentMachine.bReducedCut, vtTgMove)
bTgMoved = (Not vtTgMove.IsSmall())
End If
' se abilitato magnetico (allineamento + snap), lo provo
Dim bAlignMoved As Boolean = False
Dim bSnapMoved As Boolean = False
If m_bMagnetic Then
If Not GetLockOnRotation(nMoveId) Then
EgtAlignPartOnCollision(nMoveId, CurrentMachine.bReducedCut, bAlignMoved)
End If
If m_dSnapDist > EPS_SMALL Then
EgtRestoreCollInfo()
EgtMovePartToSnapPointOnCollision(nMoveId, CurrentMachine.bReducedCut, m_dSnapDist, bSnapMoved)
End If
End If
EstCalc.ResetOrderMachiningFlag()
End If
' -------------Fine TRASLAZIONE ---------------
End If
End If
EgtDraw()
' Eventuale notifica al VeinMatching
If m_bStartMove OrElse m_bStartRot Then
If nMoveId = GDB_ID.SEL Then If nMoveId = GDB_ID.SEL Then
Dim nId As Integer = EgtGetFirstSelectedObj() Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL While nId <> GDB_ID.NULL
@@ -2157,6 +2431,8 @@ Public Class NestingTabVM
m_bDragging = False m_bDragging = False
' se è stato eseguito il Drag allora cancello tutti i ponticelli ' se è stato eseguito il Drag allora cancello tutti i ponticelli
ResetAllBridges() ResetAllBridges()
' non è gestito il movimento della lavorazione!
'DeleteBridgeAssociated(nMoveId)
End Sub End Sub
Friend Sub OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Friend Sub OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
@@ -2178,48 +2454,31 @@ Public Class NestingTabVM
' Se eseguito drag ' Se eseguito drag
If Not m_bDragToStart Then If Not m_bDragToStart Then
' Se movimento con sola verifica finale ' Se movimento con sola verifica finale ----- TRASLAZIONE
If m_bVerify Then If Not m_bStartRot And m_bStartMove Then
' Determino cosa verificare VerifyMove()
Dim nMoveId = If(m_nIdToSel <> GDB_ID.NULL, m_nIdToSel, GDB_ID.SEL) ' Se movimento con sola verifica finale ----- TRASLAZIONE + ROTAZIONE
' Aggiorno regioni per nesting ElseIf m_bStartRot And m_bStartMove Then
UpdateNestRegions() If Not m_bFromParking Then
EnableReferenceRegion(False) VerifyRot()
' Eseguo verifica
If VerifyTrfData(nMoveId) And EgtVerifyPart(nMoveId, CurrentMachine.bReducedCut) Then
EstCalc.ResetOrderMachiningFlag()
' Non superata riporto alla posizione iniziale
Else Else
If m_bFromParking Then ' forzo il reset delle info di rotazione
OmagOFFICEMap.refStatusBarVM.ClearOutputMessage() m_dStartAng = 0
PreRemoveOnePart(nMoveId) m_dAngTotal = 0
VeinMatching.OnRemovePartFromRaw(nMoveId) m_bStartRot = False
Else End If
EgtMove(nMoveId, -m_vtTotMove) VerifyMove()
' Eventuale notifica al VeinMatching ' verifico se la posizione finale della rotazione è corretta ----- ROTAZIONE
If nMoveId = GDB_ID.SEL Then ElseIf m_bStartRot And Not m_bStartMove Then
Dim nId As Integer = EgtGetFirstSelectedObj() If m_bFromParking Then
While nId <> GDB_ID.NULL VerifyMove()
VeinMatching.OnMovePartInRaw(nId) ' forzo il reset delle info di rotazione
nId = EgtGetNextSelectedObj() m_dStartAng = 0
End While m_dAngTotal = 0
Else m_bStartRot = False
VeinMatching.OnMovePartInRaw(nMoveId) Else
End If VerifyRot()
End If
'---------------------- COUNTER PART ----------------------
Dim sRefGroup As String = String.Empty
If EgtGetInfo(nMoveId, INFO_REFGROUP, sRefGroup) Then
' accendo il layer che contiene il contatore (spento in fase di Drag)
Dim nCounterLayer As Integer = EgtGetFirstNameInGroup(nMoveId, INFO_COUNTERLY)
EgtSetStatus(nCounterLayer, GDB_ST.ON_)
' aggiorno il layer che indica il numero di pezzi in parcheggio
CountPartInFamily(sRefGroup)
End If
'---------------------- COUNTER PART ----------------------
End If End If
m_bFromParking = False
' altrimenti caso con verifica durante il movimento
Else Else
' Basta reset alla fine ' Basta reset alla fine
End If End If
@@ -2259,6 +2518,7 @@ Public Class NestingTabVM
VeinMatching.OnDeselectPart(m_nIdToDesel) VeinMatching.OnDeselectPart(m_nIdToDesel)
End If End If
' Reset ' Reset
GetFamilyGroupInPark()
m_bDrag = False m_bDrag = False
m_nIdToSel = GDB_ID.NULL m_nIdToSel = GDB_ID.NULL
m_nIdToDesel = GDB_ID.NULL m_nIdToDesel = GDB_ID.NULL
@@ -2273,7 +2533,7 @@ Public Class NestingTabVM
' Con CANC cancello i pezzi selezionati ' Con CANC cancello i pezzi selezionati
If e.KeyData = System.Windows.Forms.Keys.Delete Then If e.KeyData = System.Windows.Forms.Keys.Delete Then
RemovePart() RemovePart()
' Con INS eseguo inserimento dei pezzi selezionati in VeinMatching ' Con INS eseguo inserimento dei pezzi selezionati in VeinMatching
ElseIf e.KeyData = System.Windows.Forms.Keys.Insert Then ElseIf e.KeyData = System.Windows.Forms.Keys.Insert Then
' Vettore dei pezzi selezionati (l'inserimento di un pezzo in VM cancella la selezione) ' Vettore dei pezzi selezionati (l'inserimento di un pezzo in VM cancella la selezione)
Dim vSel As New List(Of Integer) Dim vSel As New List(Of Integer)
+73 -34
View File
@@ -1,39 +1,78 @@
<EgtFloating:EgtFloatingPanel x:Class="OptionPanelV" <UserControl x:Class="OptionPanelV"
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:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5" xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE" xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
Width="268" Width="190">
IsTopDockable="False" IsBottomDockable="False" IsLeftDockable="True"
IsRightDockable="False" Style="{StaticResource Option_EgtFloatingPanel}">
<TabControl Name="Tabs" SelectedIndex="{Binding SelItem}"> <Grid>
<TabItem Header="{Binding RawPartTabMsg}" IsEnabled="{Binding RawTabIsEnabled}" <Grid.RowDefinitions>
Background="{Binding RawPart_Background}"> <RowDefinition Height="Auto"/>
<TabItem.Content> <RowDefinition Height="1*"/>
<OmagOFFICE:RawPartTabV DataContext="{StaticResource RawPartTabVM}"/> </Grid.RowDefinitions>
</TabItem.Content> <TabControl Name="Tabs" SelectedIndex="{Binding SelItem}" Background="Transparent"
</TabItem> Padding="0,0,0,0"
<TabItem Header="{Binding NestingTabMsg}" IsEnabled="{Binding NestTabIsEnabled}"> Margin="5,0.5,5,0"
<TabItem.Content> Style="{StaticResource TabControlOptinPanel}">
<OmagOFFICE:NestingTabV DataContext="{StaticResource NestingTabVM}"/> <TabItem IsEnabled="{Binding RawTabIsEnabled}"
</TabItem.Content> Margin="0,0,0,0"
<TabItem.Style> Style="{StaticResource TabItemOptinPanel}">
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}"> <TabItem.Header>
<EventSetter Event="PreviewMouseDown" Handler="NestingTab_Click"/> <StackPanel Orientation="Horizontal" Width="35" Height="35">
</Style> <Image Source="/Resources/NewIcons/icone-tagli-5.png"
</TabItem.Style> Stretch="UniformToFill"
</TabItem> ToolTip="{Binding RawPartTabMsg}"/>
<TabItem Header="{Binding MachiningTabMsg}" IsEnabled="{Binding MachTabIsEnabled}"> </StackPanel>
<TabItem.Content> </TabItem.Header>
<OmagOFFICE:MachiningTabV DataContext="{StaticResource MachiningTabVM}"/> <TabItem.Content>
</TabItem.Content> <OmagOFFICE:RawPartTabV DataContext="{StaticResource RawPartTabVM}"/>
</TabItem> </TabItem.Content>
<TabItem Header="{Binding SimulTabMsg}" IsEnabled="{Binding SimulTabIsEnabled}"> </TabItem>
<TabItem.Content> <TabItem IsEnabled="{Binding NestTabIsEnabled}"
<OmagOFFICE:SimulTabV DataContext="{StaticResource SimulTabVM}"/> Margin="0,0,0,0"
</TabItem.Content> Style="{StaticResource TabItemOptinPanel}">
</TabItem> <TabItem.Header>
</TabControl> <StackPanel Orientation="Horizontal" Width="35" Height="35">
<Image ToolTip="{Binding NestingTabMsg}" Source="/Resources/NewIcons/Nest.png" Stretch="Uniform" />
</EgtFloating:EgtFloatingPanel> </StackPanel>
</TabItem.Header>
<TabItem.Content>
<OmagOFFICE:NestingTabV DataContext="{StaticResource NestingTabVM}"/>
</TabItem.Content>
<!--<TabItem.Style>
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource TabItemOptinPanel}">
<EventSetter Event="PreviewMouseDown" Handler="NestingTab_Click"/>
</Style>
</TabItem.Style>-->
</TabItem>
<TabItem IsEnabled="{Binding MachTabIsEnabled}"
Margin="0,0,0,0"
Style="{StaticResource TabItemOptinPanel}">
<TabItem.Header>
<StackPanel Orientation="Horizontal" Width="35" Height="35">
<Image ToolTip="{Binding MachiningTabMsg}" Source="/Resources/NewIcons/Split.png" Stretch="Uniform" />
</StackPanel>
</TabItem.Header>
<TabItem.Content>
<OmagOFFICE:MachiningTabV DataContext="{StaticResource MachiningTabVM}"/>
</TabItem.Content>
</TabItem>
<TabItem IsEnabled="{Binding SimulTabIsEnabled}"
Margin="0,0,0,0"
Style="{StaticResource TabItemOptinPanel}">
<TabItem.Header>
<StackPanel Orientation="Horizontal" Width="35" Height="35">
<Image ToolTip="{Binding SimulTabMsg}" Source="/Resources/NewIcons/Simula.png" Stretch="Uniform" />
</StackPanel>
</TabItem.Header>
<TabItem.Content>
<OmagOFFICE:SimulTabV DataContext="{StaticResource SimulTabVM}"/>
</TabItem.Content>
</TabItem>
</TabControl>
<!--Se click + Key Shift sopra Label apertura dellì file Log-->
<Label Grid.Row="1"
Background="Transparent"
MouseLeftButtonDown="Label_MouseLeftButtonDown"/>
</Grid>
</UserControl>
+33 -1
View File
@@ -1,4 +1,7 @@
Public Class OptionPanelV Imports System.IO
Imports EgtUILib
Public Class OptionPanelV
Private m_OptionPanelVM As OptionPanelVM Private m_OptionPanelVM As OptionPanelVM
@@ -24,6 +27,35 @@
If Not OmagOFFICEMap.refOptionPanelVM.NestTabIsEnabled Then e.Handled = True If Not OmagOFFICEMap.refOptionPanelVM.NestTabIsEnabled Then e.Handled = True
End Sub End Sub
Private Sub Label_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs)
If Not (Keyboard.Modifiers And ModifierKeys.Shift) > 0 Then Return
Dim sTmpDir As String = String.Empty
If Not EgtInterface.EgtGetTempDir(sTmpDir) Then Return
' Genero file CNC (lancio anche se errore in precedenza)
Dim sLog1 As String = sTmpDir & "\OmagOFFICELog1.txt"
Dim sLog2 As String = sTmpDir & "\OmagOFFICELog2.txt"
Dim sLog As String = ""
If File.Exists(sLog1) AndAlso File.Exists(sLog2) Then
If File.GetLastAccessTimeUtc(sLog1) > File.GetLastAccessTimeUtc(sLog2) Then
sLog = sLog1
Else
sLog = sLog2
End If
ElseIf File.Exists(sLog1) AndAlso Not File.Exists(sLog2) Then
sLog = sLog1
ElseIf File.Exists(sLog2) AndAlso Not File.Exists(sLog1) Then
sLog = sLog2
End If
Try
Process.Start("Notepad.exe", sLog)
Catch ex As Exception
ex.ToString()
End Try
'End If
End Sub
#End Region ' EVENTS #End Region ' EVENTS
End Class End Class
+1
View File
@@ -5,6 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtPHOTOLib="clr-namespace:EgtPHOTOLib;assembly=EgtPHOTOLib" xmlns:EgtPHOTOLib="clr-namespace:EgtPHOTOLib;assembly=EgtPHOTOLib"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
mc:Ignorable="d" mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300" d:DesignHeight="300" d:DesignWidth="300"
Title="OmagPHOTO" Title="OmagPHOTO"
+148 -107
View File
@@ -5,176 +5,217 @@
xmlns:EgtPHOTOLib="clr-namespace:EgtPHOTOLib;assembly=EgtPHOTOLib" xmlns:EgtPHOTOLib="clr-namespace:EgtPHOTOLib;assembly=EgtPHOTOLib"
Margin="5,5,5,0"> Margin="5,5,5,0">
<Border Style="{StaticResource DefaultBorder}" <StackPanel>
Padding="5,5,5,0"> <GroupBox Header="Photo" Style="{StaticResource GroupBoxRow}">
<StackPanel> <Grid HorizontalAlignment="Center"
<Grid> VerticalAlignment="Center" Margin="0,2.5,0,0">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="5"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> <ColumnDefinition Width="5"/>
<Button Style="{StaticResource OptionPanel_Button}" <ColumnDefinition Width="Auto"/>
Grid.Column="0" </Grid.ColumnDefinitions>
<Button Style="{StaticResource OptionPanelRaw_Button}"
Grid.Column="0" Grid.Row="0"
Visibility="{Binding SlabIdVisibility}" Visibility="{Binding SlabIdVisibility}"
IsEnabled="{Binding SlabIdIsEnabled}" IsEnabled="{Binding SlabIdIsEnabled}"
Command="{Binding SlabIdCommand}" Command="{Binding SlabIdCommand}"
Width="30" Height="30" Margin="0,0,0,0" >
Margin="0,0,0,5" > <Image Source="/Resources/RawPartTab/SlabId.png" Stretch="Uniform"/>
<Image Source="/Resources/RawPartTab/SlabId.png" Stretch="Uniform"/> </Button>
</Button> <Button Style="{StaticResource OptionPanelRaw_Button}"
<Button Style="{StaticResource OptionPanel_Button}" Grid.Column="2" Grid.Row="0"
Grid.Column="1"
Command="{Binding PhotoCommand}" Command="{Binding PhotoCommand}"
Margin="0,0,0,5" > ToolTip="{Binding PhotoToolTip }"
<Image Source="/Resources/RawPartTab/Photo.png" Stretch="Uniform"/> Margin="0,0,0,0" >
</Button> <Image Source="/Resources/RawPartTab/Photo.png" Stretch="Uniform"/>
<ToggleButton Style="{StaticResource OptionPanel_ToggleButton}" </Button>
Grid.Column="2" <ToggleButton Style="{StaticResource OptionPanelRaw_ToggleButton}"
Grid.Column="4" Grid.Row="0"
IsChecked="{Binding PhotoWithMouse}" IsChecked="{Binding PhotoWithMouse}"
Width="30" ToolTip="{Binding MovePhotoToolTip }"
Margin="0,0,0,5" > Margin="0,0,0,0" >
<Image Source="/Resources/RawPartTab/Mouse.png" Stretch="Uniform"/> <Image Source="/Resources/RawPartTab/MovePhoto.png" Stretch="Uniform" Width="40"/>
</ToggleButton> </ToggleButton>
</Grid> </Grid>
</GroupBox>
<UniformGrid Columns="2" Rows="3" Margin="0,0,0,0"> <GroupBox Header="Offset photo" Style="{StaticResource GroupBoxRow}">
<UniformGrid Columns="2" Rows="3" Margin="0,0,0,0">
<TextBlock Text="{Binding OffsetXMsg}"/> <TextBlock Text="{Binding OffsetXMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding PhotoOffsetX}" <EgtWpfLib5:EgtTextBox Text="{Binding PhotoOffsetX}"
Margin="13,0,0,5" BorderThickness="0"
Margin="0,0,0,5"
TextAlignment="Right"/> TextAlignment="Right"/>
<TextBlock Text="{Binding OffsetYMsg}"/> <TextBlock Text="{Binding OffsetYMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding PhotoOffsetY}" <EgtWpfLib5:EgtTextBox Text="{Binding PhotoOffsetY}"
Margin="13,0,0,5" Margin="0,0,0,5"
TextAlignment="Right"/> TextAlignment="Right"/>
<TextBlock Text="{Binding PhotoRotMsg}"/> <TextBlock Text="{Binding PhotoRotMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding PhotoRot}" <EgtWpfLib5:EgtTextBox Text="{Binding PhotoRot}"
Margin="13,0,0,5" Margin="0,0,0,5"
TextAlignment="Right"/> TextAlignment="Right"/>
</UniformGrid> </UniformGrid>
</StackPanel> </GroupBox>
</Border> </StackPanel>
<!-- Definizione della Grid per il materiale --> <!-- Definizione della Grid per il materiale -->
<GroupBox Header="{Binding MaterialMsg}" Margin="0,0,0,5"> <GroupBox Header="{Binding MaterialMsg}" Style="{StaticResource GroupBoxRow}">
<StackPanel> <StackPanel>
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<ComboBox ItemsSource="{Binding MaterialList}" <ComboBox ItemsSource="{Binding MaterialList}"
DisplayMemberPath="sName" Style="{DynamicResource Raw_ComboBox}"
SelectedItem="{Binding SelMaterial}"/> DisplayMemberPath="sName"
<TextBlock Grid.Row="1" Text="{Binding MaterialFromDB}" SelectedItem="{Binding SelMaterial}">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="Height" Value="30"/>
<Setter Property="Width" Value="150" />
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
<TextBlock Grid.Row="1" Text="{Binding MaterialFromDB}"
Style="{StaticResource RawTextBlock}"
Visibility="{Binding VisibilityMaterialFromDB}" Visibility="{Binding VisibilityMaterialFromDB}"
Margin="0,5,0,0"/> Margin="0,5,0,0"/>
</Grid> </Grid>
</StackPanel> </StackPanel>
</GroupBox> </GroupBox>
<UniformGrid Columns="2" Margin="0,0,0,0"> <Button Content="{Binding CurrMachMsg}"
<TextBlock Text="{Binding HeightMsg}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding Height}"
Margin="13,0,0,5"
IsEnabled="{Binding HeightIsEnabled}" TextAlignment="Right"/>
</UniformGrid>
<Button Content="{Binding CurrMachMsg}"
Command="{Binding CurrMachCommand}" Command="{Binding CurrMachCommand}"
Background="{Binding CurrMach_Background}" Background="{Binding CurrMach_Background}"
Style="{StaticResource OptionPanel_TextButton}" Style="{StaticResource OptionPanel_TextButton}"
Margin="0,0,0,5"/> Margin="0,5,0,0"/>
<UniformGrid Columns="2" Margin="0,0,0,5"> <GroupBox Header="Definizion grezzo" Style="{StaticResource GroupBoxRow}">
<StackPanel>
<RadioButton Content="{Binding OutlineMsg}" <UniformGrid Columns="2" Margin="0,0,0,5">
<RadioButton Content="{Binding OutlineMsg}"
Style="{StaticResource OptionPanel_ToggleButton}" Style="{StaticResource OptionPanel_ToggleButton}"
IsChecked="{Binding OutlineIsChecked}" IsChecked="{Binding OutlineIsChecked}"
Margin="0,0,2.5,0"> Margin="0,0,1,0">
</RadioButton> </RadioButton>
<RadioButton Content="{Binding DamagedAreaMsg}" <RadioButton Content="{Binding DamagedAreaMsg}"
Style="{StaticResource OptionPanel_ToggleButton}" Style="{StaticResource OptionPanel_ToggleButton}"
IsChecked="{Binding DAIsChecked}" IsChecked="{Binding DAIsChecked}"
Margin="2.5,0,0,0"> Margin="1,0,0,0">
</RadioButton> </RadioButton>
</UniformGrid> </UniformGrid>
<ComboBox ItemsSource="{Binding TypeList}" <ComboBox ItemsSource="{Binding TypeList}"
SelectedIndex="{Binding SelType}" SelectedIndex="{Binding SelType}"
Style="{StaticResource Raw_ComboBox}"
Margin="0,0,0,5" Margin="0,0,0,5"
IsEnabled="{Binding TypeIsEnabled}"/> IsEnabled="{Binding TypeIsEnabled}">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="Height" Value="30"/>
<!-- Definizione della Grid per definizione grezzo --> </Style>
<UniformGrid Columns="2" Rows="5" Margin="0,0,0,0"> </ComboBox.ItemContainerStyle>
</ComboBox>
<TextBlock Text="{Binding LengthMsg}"/> <!-- Definizione della Grid per definizione grezzo -->
<EgtWpfLib5:EgtTextBox Text="{Binding Length}" <UniformGrid Columns="2" Rows="6" Margin="0,0,0,0">
Margin="13,0,0,5"
<TextBlock Text="{Binding LengthMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding Length}"
Margin="0,0,0,5"
IsEnabled="{Binding LengthIsEnabled}" TextAlignment="Right"/> IsEnabled="{Binding LengthIsEnabled}" TextAlignment="Right"/>
<TextBlock Text="{Binding WidthMsg}"/> <TextBlock Text="{Binding WidthMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding Width}" <EgtWpfLib5:EgtTextBox Text="{Binding Width}"
Margin="13,0,0,5" Margin="0,0,0,5"
IsEnabled="{Binding WidthIsEnabled}" TextAlignment="Right"/> IsEnabled="{Binding WidthIsEnabled}" TextAlignment="Right"/>
<TextBlock Text="{Binding OffsetXMsg}"/> <TextBlock Text="{Binding HeightMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding OffsetX}" <EgtWpfLib5:EgtTextBox Text="{Binding Height}"
Margin="13,0,0,5" Margin="0,0,0,5"
IsEnabled="{Binding HeightIsEnabled}" TextAlignment="Right"/>
<TextBlock Text="{Binding OffsetXMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding OffsetX}"
Margin="0,0,0,5"
IsEnabled="{Binding OffsetXIsEnabled}" TextAlignment="Right"/> IsEnabled="{Binding OffsetXIsEnabled}" TextAlignment="Right"/>
<TextBlock Text="{Binding OffsetYMsg}"/> <TextBlock Text="{Binding OffsetYMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding OffsetY}" <EgtWpfLib5:EgtTextBox Text="{Binding OffsetY}"
Margin="13,0,0,5" Margin="0,0,0,5"
IsEnabled="{Binding OffsetYIsEnabled}" TextAlignment="Right"/> IsEnabled="{Binding OffsetYIsEnabled}" TextAlignment="Right"/>
<TextBlock Text="{Binding KerfMsg}"/> <TextBlock Text="{Binding KerfMsg}" Style="{StaticResource RawTextBlock}"/>
<EgtWpfLib5:EgtTextBox Text="{Binding Kerf, UpdateSourceTrigger=PropertyChanged}" <EgtWpfLib5:EgtTextBox Text="{Binding Kerf, UpdateSourceTrigger=PropertyChanged}"
Margin="13,0,0,5" Margin="0,0,0,5"
IsEnabled="{Binding KerfIsEnabled}" TextAlignment="Right"/> IsEnabled="{Binding KerfIsEnabled}" TextAlignment="Right"/>
</UniformGrid> </UniformGrid>
<!-- Definizione della Grid per Punti --> </StackPanel>
<GroupBox Header="{Binding PointsMsg}" Margin="0,0,0,5" </GroupBox>
<!-- Definizione della Grid per Punti -->
<GroupBox Header="{Binding PointsMsg}" Style="{StaticResource GroupBoxRow}"
Visibility="{Binding PointsVisibility}"> Visibility="{Binding PointsVisibility}">
<StackPanel> <StackPanel>
<UniformGrid Columns="2"> <UniformGrid Columns="2">
<ToggleButton Content="{Binding AddMsg}" <ToggleButton Content="{Binding AddMsg}"
IsChecked="{Binding AddPoint}" IsChecked="{Binding AddPoint}"
Style="{StaticResource OptionPanel_ToggleButton}"/> Style="{StaticResource OptionPanel_ToggleButton}"/>
<ToggleButton Content="{Binding RemoveMsg}" Grid.Column="1" <ToggleButton Content="{Binding RemoveMsg}" Grid.Column="1"
IsChecked="{Binding RemovePoint}" IsChecked="{Binding RemovePoint}"
Style="{StaticResource OptionPanel_ToggleButton}"/> Style="{StaticResource OptionPanel_ToggleButton}"/>
</UniformGrid> </UniformGrid>
</StackPanel> </StackPanel>
</GroupBox> </GroupBox>
<!-- Definizione della Grid per Zona rovinata --> <!-- Definizione della Grid per Zona rovinata -->
<GroupBox Header="{Binding DamagedAreaMsg}" Margin="0,0,0,5" <GroupBox Header="{Binding DamagedAreaMsg}" Style="{StaticResource GroupBoxRow}"
Visibility="{Binding DAVisibility}"> Visibility="{Binding DAVisibility}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<ToggleButton Content="{Binding NewMsg}" <ToggleButton Content="{Binding NewMsg}"
IsChecked="{Binding NewDA}" IsChecked="{Binding NewDA}"
Style="{StaticResource OptionPanel_ToggleButton}"/> Style="{StaticResource OptionPanel_ToggleButton}"/>
<ToggleButton Content="{Binding DeleteMsg}" Grid.Column="1" <ToggleButton Content="{Binding DeleteMsg}" Grid.Column="1"
IsChecked="{Binding DeleteDA}" IsChecked="{Binding DeleteDA}"
Style="{StaticResource OptionPanel_ToggleButton}"/> Style="{StaticResource OptionPanel_ToggleButton}"/>
</Grid>
</GroupBox> </Grid>
</GroupBox>
<!-- Definizione della Grid per Punti Per il Registration -->
<GroupBox Header="{Binding PointsRegMsg}" Style="{StaticResource GroupBoxRow}"
Visibility="{Binding PointsRegVisibility}">
<StackPanel>
<UniformGrid Columns="3">
<ToggleButton Content="{Binding AddMsg}"
IsChecked="{Binding AddPointReg}"
Style="{StaticResource OptionPanel_ToggleButton}"/>
<ToggleButton Content="{Binding ModMsg}"
IsChecked="{Binding ModPointReg}"
Style="{StaticResource OptionPanel_ToggleButton}"/>
<ToggleButton Content="{Binding RemoveMsg}"
IsChecked="{Binding RemovePointReg}"
Style="{StaticResource OptionPanel_ToggleButton}"/>
</UniformGrid>
</StackPanel>
</GroupBox>
<Button Content="{Binding ConfirmPhotoMsg}" <Button Content="{Binding ConfirmPhotoMsg}"
Command="{Binding ConfirmPhotoCommand}" Command="{Binding ConfirmPhotoCommand}"
@@ -183,5 +224,5 @@
Margin="0,0,0,5"/> Margin="0,0,0,5"/>
<!--<EgtPHOTOLib:ProjectSlabV DataContext="{StaticResource ProjectSlabVM}"/>--> <!--<EgtPHOTOLib:ProjectSlabV DataContext="{StaticResource ProjectSlabVM}"/>-->
</StackPanel> </StackPanel>
@@ -1,3 +1,5 @@
Public Class RawPartTabV Public Class RawPartTabV
Private Sub ComboBox_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)
End Sub
End Class End Class
+308 -28
View File
@@ -42,6 +42,17 @@ Public Class RawPartTabVM
' Layer per crocette temporanee ' Layer per crocette temporanee
Private m_nTempLay As Integer = GDB_ID.NULL Private m_nTempLay As Integer = GDB_ID.NULL
' Layer per crocette dei punti REG
Private m_nRegGroupId As Integer = GDB_ID.NULL
' Numero di spot inseriti nel grezzo corrente
Private m_nCountSpot As Integer = 0
' Gruppo Spot attualmente selezionato
Private m_nCurrSpotRegId As Integer = GDB_ID.NULL
Private Const COUNTSPOT As String = "CountSpot"
Private Const REG As String = "Reg"
Private Const SPOTREG_ As String = "SpotReg_"
Private Const RADSPOT As Double = 20
' Costante minima dimensione del grezzo ' Costante minima dimensione del grezzo
Private Const MIN_RAW_DIM As Double = 10 Private Const MIN_RAW_DIM As Double = 10
' Costante distanza di sicurezza del grezzo dal bordo ' Costante distanza di sicurezza del grezzo dal bordo
@@ -343,9 +354,11 @@ Public Class RawPartTabVM
Dim dHeight As Double = 0 Dim dHeight As Double = 0
If StringToLen(value, dHeight) And dHeight > -EPS_ZERO Then If StringToLen(value, dHeight) And dHeight > -EPS_ZERO Then
OmagOFFICEMap.refStatusBarVM.ClearOutputMessage() OmagOFFICEMap.refStatusBarVM.ClearOutputMessage()
Dim dPrevHeight As Double = m_dHeight
m_dHeight = dHeight m_dHeight = dHeight
UpdateRawPartHeight() UpdateRawPartHeight()
UpdateTabState() UpdateTabState()
MoveAllSpotRegistration(New Vector3d(0, 0, m_dHeight - dPrevHeight))
EstCalc.SetSlabHeight(dHeight) EstCalc.SetSlabHeight(dHeight)
OmagOFFICEMap.refMachGroupPanelVM.SelectedMachGroup.NotifyPropertyChanged("MachGroupToolTip") OmagOFFICEMap.refMachGroupPanelVM.SelectedMachGroup.NotifyPropertyChanged("MachGroupToolTip")
Else Else
@@ -741,6 +754,73 @@ Public Class RawPartTabVM
End Set End Set
End Property End Property
'-------------------- REGISTRATION '--------------------
Private m_AddPointReg As Boolean
Public Property AddPointReg As Boolean
Get
Return m_AddPointReg
End Get
Set(value As Boolean)
If value <> m_AddPointReg Then
If value Then
PhotoWithMouse = False
m_bDrag = False
End If
m_AddPointReg = value
NotifyPropertyChanged("AddPointReg")
m_ModPointReg = False
NotifyPropertyChanged("ModPointReg")
m_RemovePointReg = False
NotifyPropertyChanged("RemovePointReg")
End If
End Set
End Property
Private m_ModPointReg As Boolean
Public Property ModPointReg As Boolean
Get
Return m_ModPointReg
End Get
Set(value As Boolean)
If value <> m_ModPointReg Then
EgtDeselectAll()
EgtResetMark(m_nCurrSpotRegId)
EgtDraw()
If value Then
PhotoWithMouse = False
End If
m_ModPointReg = value
NotifyPropertyChanged("ModPointReg")
m_AddPointReg = False
NotifyPropertyChanged("AddPointReg")
m_RemovePointReg = False
NotifyPropertyChanged("RemovePointReg")
End If
End Set
End Property
Private m_RemovePointReg As Boolean
Public Property RemovePointReg As Boolean
Get
Return m_RemovePointReg
End Get
Set(value As Boolean)
If value <> m_RemovePointReg Then
If value Then
PhotoWithMouse = False
m_bDrag = False
End If
m_RemovePointReg = value
NotifyPropertyChanged("RemovePointReg")
m_AddPointReg = False
NotifyPropertyChanged("AddPointReg")
m_ModPointReg = False
NotifyPropertyChanged("ModPointReg")
End If
End Set
End Property
'-------------------- REGISTRATION '--------------------
Private m_PointsVisibility As Visibility Private m_PointsVisibility As Visibility
Public Property PointsVisibility As Visibility Public Property PointsVisibility As Visibility
Get Get
@@ -824,7 +904,7 @@ Public Class RawPartTabVM
End Set End Set
End Property End Property
Private m_CurrMach_Background As Brush = DirectCast(New BrushConverter().ConvertFrom("#FFDDDDDD"), SolidColorBrush) Private m_CurrMach_Background As Brush = DirectCast(New BrushConverter().ConvertFrom("#1C1D22"), SolidColorBrush)
Public Property CurrMach_Background As Brush Public Property CurrMach_Background As Brush
Get Get
Return m_CurrMach_Background Return m_CurrMach_Background
@@ -943,6 +1023,12 @@ Public Class RawPartTabVM
End Get End Get
End Property End Property
Public ReadOnly Property ModMsg As String
Get
Return EgtMsg(91668)
End Get
End Property
Public ReadOnly Property NewMsg As String Public ReadOnly Property NewMsg As String
Get Get
Return EgtMsg(MSG_RAWPARTPAGEUC + 11) Return EgtMsg(MSG_RAWPARTPAGEUC + 11)
@@ -967,6 +1053,12 @@ Public Class RawPartTabVM
End Get End Get
End Property End Property
Public ReadOnly Property PointsRegMsg As String
Get
Return EgtMsg(91669)
End Get
End Property
#End Region ' Messages #End Region ' Messages
#Region "ToolTip" #Region "ToolTip"
@@ -977,6 +1069,12 @@ Public Class RawPartTabVM
End Get End Get
End Property End Property
Public ReadOnly Property MovePhotoToolTip As String
Get
Return EgtMsg(MSG_RAWPARTTAB + 3)
End Get
End Property
#End Region ' ToolTip #End Region ' ToolTip
' Definizione comandi ' Definizione comandi
@@ -1009,8 +1107,8 @@ Public Class RawPartTabVM
Friend Function InitRawPart() As Boolean Friend Function InitRawPart() As Boolean
EgtSetCurrentContext(OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx()) EgtSetCurrentContext(OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx())
' Se abilitati, visualizzo bottone per dati lastra ' Se abilitati, visualizzo bottone per dati lastra
Dim bSlabId As Boolean = ( GetMainPrivateProfileInt( S_RAWPART, K_SLABID, 0) <> 0) Dim bSlabId As Boolean = (GetMainPrivateProfileInt(S_RAWPART, K_SLABID, 0) <> 0)
SlabIdVisibility = If( bSlabId, Windows.Visibility.Visible, Windows.Visibility.Hidden) SlabIdVisibility = If(bSlabId, Windows.Visibility.Visible, Windows.Visibility.Hidden)
' Se disponibile, imposto possibilità di contorno da foto ' Se disponibile, imposto possibilità di contorno da foto
If EstPhoto.GetContour() = GDB_ID.NULL Then If EstPhoto.GetContour() = GDB_ID.NULL Then
If m_TypeList.Count = 3 Then m_TypeList.RemoveAt(2) If m_TypeList.Count = 3 Then m_TypeList.RemoveAt(2)
@@ -1092,10 +1190,26 @@ Public Class RawPartTabVM
RecalcRawPart(True) RecalcRawPart(True)
End If End If
' Abilitazione eventuale bottone per dati slab ' Abilitazione eventuale bottone per dati slab
SlabIdIsEnabled = ( EstCalc.GetRawId() <> GDB_ID.NULL) SlabIdIsEnabled = (EstCalc.GetRawId() <> GDB_ID.NULL)
' Creo layer temporaneo per crocette ' Creo layer temporaneo per crocette
m_nTempLay = EgtCreateGroup(GDB_ID.ROOT) m_nTempLay = EgtCreateGroup(GDB_ID.ROOT)
EgtSetLevel(m_nTempLay, GDB_LV.TEMP) EgtSetLevel(m_nTempLay, GDB_LV.TEMP)
' Veroifico se esiste il gruppo "REG"
Dim nIdRaws As Integer = EgtGetParent(EstCalc.GetRawId())
Dim nIdReg As Integer = EgtGetFirstNameInGroup(EgtGetParent(nIdRaws), "Reg")
If nIdReg <> GDB_ID.NULL Then
m_nRegGroupId = nIdReg
EgtGetInfo(m_nRegGroupId, COUNTSPOT, m_nCountSpot)
' Lo rendo visibile
EgtSetStatus(m_nRegGroupId, GDB_ST.ON_)
Else
' Creo layer per definire i punti di REG
m_nRegGroupId = EgtCreateGroup(EgtGetParent(nIdRaws))
EgtSetName(m_nRegGroupId, REG)
m_nCountSpot = 0
End If
' Determino modalità di definizione ' Determino modalità di definizione
OutlineIsChecked = True OutlineIsChecked = True
If EgtExistsInfo(EstCalc.GetRawId(), KEY_RAWBYPOINTS) Then If EgtExistsInfo(EstCalc.GetRawId(), KEY_RAWBYPOINTS) Then
@@ -1145,14 +1259,14 @@ Public Class RawPartTabVM
dRawWidth = m_dTableWidth - 2 * dRawKerf dRawWidth = m_dTableWidth - 2 * dRawKerf
End If End If
If dRawOffsX < dRawKerf Then dRawOffsX = dRawKerf If dRawOffsX < dRawKerf Then dRawOffsX = dRawKerf
If dRawOffsX + dRawLen + dRawKerf > m_dTableLength Then If dRawOffsX + dRawLen + 2 * dRawKerf > m_dTableLength Then
dRawOffsX = Math.Max(dRawKerf, m_dTableLength - dRawLen - dRawKerf) dRawOffsX = Math.Max(dRawKerf, m_dTableLength - dRawLen - 2 * dRawKerf)
dRawLen = Math.Min(dRawLen, m_dTableLength - dRawOffsX - dRawKerf) dRawLen = Math.Min(dRawLen, m_dTableLength - dRawOffsX - 2 * dRawKerf)
End If End If
If dRawOffsY < dRawKerf Then dRawOffsY = dRawKerf If dRawOffsY < dRawKerf Then dRawOffsY = dRawKerf
If dRawOffsY + dRawWidth + dRawKerf > m_dTableWidth Then If dRawOffsY + dRawWidth + 2 * dRawKerf > m_dTableWidth Then
dRawOffsY = Math.Max(dRawKerf, m_dTableWidth - dRawWidth - dRawKerf) dRawOffsY = Math.Max(dRawKerf, m_dTableWidth - dRawWidth - 2 * dRawKerf)
dRawWidth = Math.Min(dRawWidth, m_dTableWidth - dRawOffsY - dRawKerf) dRawWidth = Math.Min(dRawWidth, m_dTableWidth - dRawOffsY - 2 * dRawKerf)
End If End If
' Assegno i dati ' Assegno i dati
SetLength(dRawLen) SetLength(dRawLen)
@@ -1177,6 +1291,8 @@ Public Class RawPartTabVM
WriteMainPrivateProfileString(S_RAWPART, K_RAWOFFSX, DoubleToString(m_dOffsetX, 2)) WriteMainPrivateProfileString(S_RAWPART, K_RAWOFFSX, DoubleToString(m_dOffsetX, 2))
WriteMainPrivateProfileString(S_RAWPART, K_RAWOFFSY, DoubleToString(m_dOffsetY, 2)) WriteMainPrivateProfileString(S_RAWPART, K_RAWOFFSY, DoubleToString(m_dOffsetY, 2))
WriteMainPrivateProfileString(S_RAWPART, K_RAWKERF, DoubleToString(m_dKerf, 2)) WriteMainPrivateProfileString(S_RAWPART, K_RAWKERF, DoubleToString(m_dKerf, 2))
' Nascondo il gruppo dei punti Reg
EgtSetStatus(m_nRegGroupId, GDB_ST.OFF)
' Se ci sono pezzi nel grezzo ' Se ci sono pezzi nel grezzo
If EgtGetFirstPartInRawPart(EstCalc.GetRawId()) <> GDB_ID.NULL Then If EgtGetFirstPartInRawPart(EstCalc.GetRawId()) <> GDB_ID.NULL Then
' Cancello tutte le lavorazioni ' Cancello tutte le lavorazioni
@@ -1310,7 +1426,7 @@ Public Class RawPartTabVM
AdjustRawPartPosition() AdjustRawPartPosition()
End If End If
' Abilitazione eventuale bottone per dati slab ' Abilitazione eventuale bottone per dati slab
SlabIdIsEnabled = ( EstCalc.GetRawId() <> GDB_ID.NULL) SlabIdIsEnabled = (EstCalc.GetRawId() <> GDB_ID.NULL)
' Aggiorno visualizzazione ' Aggiorno visualizzazione
EgtDraw() EgtDraw()
End Sub End Sub
@@ -1374,7 +1490,6 @@ Public Class RawPartTabVM
nInvert = -1 nInvert = -1
End If End If
Dim dOffset As Double = (-m_dKerf - m_PrecKerf) * nInvert Dim dOffset As Double = (-m_dKerf - m_PrecKerf) * nInvert
EgtSaveFile("c:\EgtData\OmagOFFICE\Temp\Error.nge", NGE.TEXT)
Dim nCount As Integer = 0 Dim nCount As Integer = 0
Dim bOK As Boolean = EgtOffsetCurve(nKerfId, dOffset, OFF_TYPE.EXTEND) Dim bOK As Boolean = EgtOffsetCurve(nKerfId, dOffset, OFF_TYPE.EXTEND)
EgtSetColor(nKerfId, m_KerfCol) EgtSetColor(nKerfId, m_KerfCol)
@@ -1413,7 +1528,7 @@ Public Class RawPartTabVM
If EstCalc.GetRawId() = GDB_ID.NULL Then If EstCalc.GetRawId() = GDB_ID.NULL Then
RecalcRawPart(True) RecalcRawPart(True)
Return Return
' se da cancellare ' se da cancellare
ElseIf m_dHeight < EPS_SMALL Then ElseIf m_dHeight < EPS_SMALL Then
' Se ci sono pezzi ' Se ci sono pezzi
If EgtGetFirstPartInRawPart(EstCalc.GetRawId()) <> GDB_ID.NULL Then If EgtGetFirstPartInRawPart(EstCalc.GetRawId()) <> GDB_ID.NULL Then
@@ -1434,7 +1549,7 @@ Public Class RawPartTabVM
End If End If
' Elimino il grezzo ' Elimino il grezzo
EgtRemoveRawPart(EstCalc.GetRawId()) EgtRemoveRawPart(EstCalc.GetRawId())
' altrimenti da aggiornare ' altrimenti da aggiornare
Else Else
' Salvo vecchia altezza ' Salvo vecchia altezza
Dim dOldHeight As Double = EstCalc.GetRawHeight() Dim dOldHeight As Double = EstCalc.GetRawHeight()
@@ -1468,7 +1583,7 @@ Public Class RawPartTabVM
EstPhoto.UpdateContour() EstPhoto.UpdateContour()
End If End If
' Abilitazione eventuale bottone per dati slab ' Abilitazione eventuale bottone per dati slab
SlabIdIsEnabled = ( EstCalc.GetRawId() <> GDB_ID.NULL) SlabIdIsEnabled = (EstCalc.GetRawId() <> GDB_ID.NULL)
' Aggiorno visualizzazione ' Aggiorno visualizzazione
EgtDraw() EgtDraw()
End Sub End Sub
@@ -1576,6 +1691,10 @@ Public Class RawPartTabVM
' Muovo eventuali cerchietti alle estremità della curva di contorno ' Muovo eventuali cerchietti alle estremità della curva di contorno
MoveCircles(vtMove) MoveCircles(vtMove)
End If End If
' Muovo eventuali punti SpotReg
If m_nRegGroupId <> GDB_ID.NULL Then
MoveAllSpotRegistration(vtMove)
End If
' Incremento opportunamente l'offset della fotografia ' Incremento opportunamente l'offset della fotografia
Dim dPhotoOffsetX As Double = m_dPhotoOffsetX + vtMove.x Dim dPhotoOffsetX As Double = m_dPhotoOffsetX + vtMove.x
Dim dPhotoOffsetY As Double = m_dPhotoOffsetY + vtMove.y Dim dPhotoOffsetY As Double = m_dPhotoOffsetY + vtMove.y
@@ -1831,6 +1950,106 @@ Public Class RawPartTabVM
Return True Return True
End Function End Function
Private Function MoveSpotRegistration(nIdGroup As Integer, vtMove As Vector3d) As Boolean
If nIdGroup = GDB_ID.NULL Then Return False
' Non ci deve essere movimento in Z
vtMove.z = 0
' Recupero il cercio di riferimento
Dim nArcId As Integer = EgtGetFirstInGroup(nIdGroup)
Dim b3Crv As New BBox3d
EgtGetBBoxGlob(nArcId, GDB_BB.STANDARD, b3Crv)
b3Crv.Move(vtMove)
If b3Crv.Min().x < m_ptTableMin.x + 10 * EPS_SMALL Then
vtMove.x += m_ptTableMin.x + 10 * EPS_SMALL - b3Crv.Min().x
ElseIf b3Crv.Max().x > m_ptTableMin.x + m_dTableLength + 10 * EPS_SMALL Then
vtMove.x += m_ptTableMin.x + m_dTableLength - 10 * EPS_SMALL - b3Crv.Max().x
End If
If b3Crv.Min().y < m_ptTableMin.y + 10 * EPS_SMALL Then
vtMove.y += m_ptTableMin.y + 10 * EPS_SMALL - b3Crv.Min().y
ElseIf b3Crv.Max().y > m_ptTableMin.y + m_dTableWidth + 10 * EPS_SMALL Then
vtMove.y += m_ptTableMin.y + m_dTableWidth - 10 * EPS_SMALL - b3Crv.Max().y
End If
' muovo il gruppo
EgtMove(nIdGroup, vtMove)
EgtDraw()
Return True
End Function
Private Sub MoveAllSpotRegistration(vtMove As Vector3d)
Dim nId As Integer = EgtGetFirstInGroup(m_nRegGroupId)
While nId <> GDB_ID.NULL
EgtMove(nId, vtMove)
nId = EgtGetNext(nId)
End While
EgtDraw()
End Sub
Private Function CreateSpotRegistration(nLayerIdReg As Integer, ptP As Point3d, nIndexSpot As Integer) As Boolean
' creo uno specifico layer per ogni spot (definito da una croce inscritta in un cerchio)
Dim nIdSpotLay As Integer = EgtCreateGroup(nLayerIdReg)
' Aggiungo cerchio
Dim nCircId As Integer = EgtCreateCircle(nIdSpotLay, ptP, RADSPOT)
' Inserisco una croce all'interno del
Dim nLineVId As Integer = EgtCreateLinePVL(nIdSpotLay, ptP, Vector3d.Y_AX, RADSPOT)
EgtExtendCurveStartByLen(nLineVId, RADSPOT)
Dim nLineHId As Integer = EgtCreateLinePVL(nIdSpotLay, ptP, Vector3d.X_AX, RADSPOT)
EgtExtendCurveStartByLen(nLineHId, RADSPOT)
Dim nTextId As Integer = EgtCreateText(nIdSpotLay, ptP + New Vector3d(1, 1, 0), nIndexSpot.ToString, 10)
' coloro gli oggetti appena creati ed assegno il nome
Dim bOk As Boolean = EgtSetColor(nCircId, New Color3d(0, 0, 0))
bOk = bOk And EgtSetName(nCircId, SPOTREG_ & "Arc")
bOk = bOk And EgtSetColor(nLineVId, New Color3d(0, 0, 0))
bOk = bOk And EgtSetName(nLineVId, SPOTREG_ & "LineV")
bOk = bOk And EgtSetColor(nLineHId, New Color3d(0, 0, 0))
bOk = bOk And EgtSetName(nLineHId, SPOTREG_ & "LineH")
bOk = bOk And EgtSetColor(nTextId, New Color3d(255, 0, 0))
bOk = bOk And EgtSetName(nTextId, SPOTREG_ & "Text")
' assegno il nome del gruppo corrente
bOk = bOk And EgtSetName(nIdSpotLay, SPOTREG_ & nIndexSpot.ToString)
If bOk Then
' Aggiorno il contatore degli Spot
EgtSetInfo(nLayerIdReg, COUNTSPOT, nIndexSpot)
m_nCountSpot = nIndexSpot
End If
Return bOk
End Function
Private Function RemoveSpotRegistration(nSpotRegId As Integer) As Boolean
Dim nIndSpotReg As Integer = GetIndexGroupSpotReg(nSpotRegId)
If Not EgtErase(nSpotRegId) Then Return False
' faccio scorrere tutti i gruppi ed eventualmente li rinomino
Dim n_IdSR As Integer = EgtGetFirstInGroup(m_nRegGroupId)
m_nCountSpot -= 1
EgtSetInfo(m_nRegGroupId, COUNTSPOT, m_nCountSpot)
While n_IdSR <> GDB_ID.NULL
Dim nCurrIndSpotReg As Integer = GetIndexGroupSpotReg(n_IdSR)
If nCurrIndSpotReg > nIndSpotReg Then
' Recupero il testo
Dim nIdtext As Integer = EgtGetFirstNameInGroup(n_IdSR, SPOTREG_ & "Text")
nCurrIndSpotReg -= 1
EgtModifyText(nIdtext, nCurrIndSpotReg.ToString)
EgtSetName(n_IdSR, SPOTREG_ & nCurrIndSpotReg.ToString)
End If
n_IdSR = EgtGetNext(n_IdSR)
End While
EgtDraw()
Return True
End Function
Private Function GetIndexGroupSpotReg(nSpotRegId As Integer) As Integer
Dim sNameParent As String = String.Empty
EgtGetName(nSpotRegId, sNameParent)
' Ricavo l'indice dal nome
Dim sItems As String() = sNameParent.Split("_"c)
Dim nCurrIndex As Integer = 0
If sItems.Count = 2 Then
If Not Integer.TryParse(sItems(1), nCurrIndex) Then
nCurrIndex = -1
End If
End If
Return nCurrIndex
End Function
Private Function ValidateCurrMachMatThick() As Boolean Private Function ValidateCurrMachMatThick() As Boolean
' Verifico che le lavorazioni correnti siano compatibili con materiale e spessore ' Verifico che le lavorazioni correnti siano compatibili con materiale e spessore
' Lama ' Lama
@@ -1881,7 +2100,7 @@ Public Class RawPartTabVM
OmagOFFICEMap.refOptionPanelVM.MachTabIsEnabled = True OmagOFFICEMap.refOptionPanelVM.MachTabIsEnabled = True
OmagOFFICEMap.refOptionPanelVM.SimulTabIsEnabled = True OmagOFFICEMap.refOptionPanelVM.SimulTabIsEnabled = True
OmagOFFICEMap.refOptionPanelVM.RawPart_Background = OmagOFFICEDictionary.TabControl_Header_Background OmagOFFICEMap.refOptionPanelVM.RawPart_Background = OmagOFFICEDictionary.TabControl_Header_Background
CurrMach_Background = DirectCast(New BrushConverter().ConvertFrom("#FFDDDDDD"), SolidColorBrush) CurrMach_Background = DirectCast(New BrushConverter().ConvertFrom("#1C1D22"), SolidColorBrush)
Else Else
OmagOFFICEMap.refOptionPanelVM.NestTabIsEnabled = False OmagOFFICEMap.refOptionPanelVM.NestTabIsEnabled = False
OmagOFFICEMap.refOptionPanelVM.MachTabIsEnabled = False OmagOFFICEMap.refOptionPanelVM.MachTabIsEnabled = False
@@ -1892,7 +2111,7 @@ Public Class RawPartTabVM
If Not ValidateCurrMachToolIsInSetUp() Then If Not ValidateCurrMachToolIsInSetUp() Then
OmagOFFICEMap.refMachinePanelVM.SetUp_Background = Brushes.Red OmagOFFICEMap.refMachinePanelVM.SetUp_Background = Brushes.Red
Else Else
OmagOFFICEMap.refMachinePanelVM.SetUp_Background = DirectCast(New BrushConverter().ConvertFrom("#FFDDDDDD"), SolidColorBrush) OmagOFFICEMap.refMachinePanelVM.SetUp_Background = DirectCast(New BrushConverter().ConvertFrom("#1C1D22"), SolidColorBrush)
End If End If
If String.IsNullOrWhiteSpace(CurrentMachine.sCurrSawing) And String.IsNullOrWhiteSpace(CurrentMachine.sCurrWaterJetting) Then If String.IsNullOrWhiteSpace(CurrentMachine.sCurrSawing) And String.IsNullOrWhiteSpace(CurrentMachine.sCurrWaterJetting) Then
CurrMach_Background = Brushes.Red CurrMach_Background = Brushes.Red
@@ -1945,32 +2164,32 @@ Public Class RawPartTabVM
End Property End Property
Public Sub SlabId(ByVal param As Object) Public Sub SlabId(ByVal param As Object)
Dim nRawId As Integer = EstCalc.GetRawId() Dim nRawId As Integer = EstCalc.GetRawId()
If nRawId = GDB_ID.NULL Then Return If nRawId = GDB_ID.NULL Then Return
' Finestra input dati ' Finestra input dati
Dim DlgSlabIdVM As New SlabIdWindowVM() Dim DlgSlabIdVM As New SlabIdWindowVM()
Dim DlgSlabIdV As New SlabIdWindowV(Application.Current.MainWindow, DlgSlabIdVM) Dim DlgSlabIdV As New SlabIdWindowV(Application.Current.MainWindow, DlgSlabIdVM)
' Recupero eventuali vecchi dati della lastra ' Recupero eventuali vecchi dati della lastra
Dim sBlockName As String = "" : Dim sSlabNbr As String = "" Dim sBlockName As String = "" : Dim sSlabNbr As String = ""
EgtGetInfo( nRawId, INFO_RAW_BLOCK, sBlockName) EgtGetInfo(nRawId, INFO_RAW_BLOCK, sBlockName)
EgtGetInfo( nRawId, INFO_RAW_SLABNBR, sSlabNbr) EgtGetInfo(nRawId, INFO_RAW_SLABNBR, sSlabNbr)
DlgSlabIdVM.SetData( sBlockName, sSlabNbr) DlgSlabIdVM.SetData(sBlockName, sSlabNbr)
' Visualizzo finestra richiesta dati ' Visualizzo finestra richiesta dati
If DlgSlabIdV.ShowDialog() Then If DlgSlabIdV.ShowDialog() Then
DlgSlabIdVM.GetData( sBlockName, sSlabNbr) DlgSlabIdVM.GetData(sBlockName, sSlabNbr)
' Assegno info ' Assegno info
EgtSetInfo( nRawId, INFO_RAW_BLOCK, sBlockName) EgtSetInfo(nRawId, INFO_RAW_BLOCK, sBlockName)
EgtSetInfo( nRawId, INFO_RAW_SLABNBR, sSlabNbr) EgtSetInfo(nRawId, INFO_RAW_SLABNBR, sSlabNbr)
' Aggiorno nome lastra ' Aggiorno nome lastra
If Not String.IsNullOrWhiteSpace( sBlockName) And Not String.IsNullOrWhiteSpace( sBlockName) Then If Not String.IsNullOrWhiteSpace(sBlockName) And Not String.IsNullOrWhiteSpace(sBlockName) Then
Dim sSlabName = sBlockName & "-" & sSlabNbr Dim sSlabName = sBlockName & "-" & sSlabNbr
EstCalc.SetSlabName( sSlabName) EstCalc.SetSlabName(sSlabName)
' notifico il MachGroup Corrente ' notifico il MachGroup Corrente
OmagOFFICEMap.refMachGroupPanelVM.SelectedMachGroup.NotifyPropertyChanged("MachGroupToolTip") OmagOFFICEMap.refMachGroupPanelVM.SelectedMachGroup.NotifyPropertyChanged("MachGroupToolTip")
End If End If
' Cancello vecchio BarCode e se definito inserisco nuovo ' Cancello vecchio BarCode e se definito inserisco nuovo
Dim sBarCode As String = sBlockName & " - " & sSlabNbr Dim sBarCode As String = sBlockName & " - " & sSlabNbr
ShowBarCode( nRawId, sBarCode) ShowBarCode(nRawId, sBarCode)
' Aggiorno visualizzazione ' Aggiorno visualizzazione
EgtDraw() EgtDraw()
End If End If
@@ -2086,6 +2305,17 @@ Public Class RawPartTabVM
' aggiungo la nuova lastra ' aggiungo la nuova lastra
OmagOFFICEMap.refMachGroupPanelVM.SlabNameListCurr.Add(sSlabNameDB) OmagOFFICEMap.refMachGroupPanelVM.SlabNameListCurr.Add(sSlabNameDB)
EgtPHOTOLib.PhotoMap.refOptionPanelVM.SetAssignedSlab(sSlabNameDB) EgtPHOTOLib.PhotoMap.refOptionPanelVM.SetAssignedSlab(sSlabNameDB)
' Provo ad assegnare il nome della macchinata
Dim sName As String = LocalSlab.Id
EgtGetMachGroupNewName(sName)
If sName <> LocalSlab.Id Then
EgtOutLog("Nome lastra (Id lastra) già presente nell'elenco delle macchinate correnti!")
Else
OmagOFFICEMap.refMachGroupPanelVM.SelectedMachGroup.SetName(LocalSlab.Id)
EgtChangeMachGroupName(EgtGetCurrMachGroup, LocalSlab.Id)
End If
Else Else
' Apro dialogo per scelta immagine ' Apro dialogo per scelta immagine
Dim PhotoDlg As New Microsoft.Win32.OpenFileDialog() Dim PhotoDlg As New Microsoft.Win32.OpenFileDialog()
@@ -2141,7 +2371,7 @@ Public Class RawPartTabVM
EstCalc.SetSlabHeight(m_dHeight) EstCalc.SetSlabHeight(m_dHeight)
' Visualizzo eventuale codice ' Visualizzo eventuale codice
Dim sBarCode As String = sBlockCode & " - " & sSlabCode Dim sBarCode As String = sBlockCode & " - " & sSlabCode
ShowBarCode( EstCalc.GetRawId(), sBarCode) ShowBarCode(EstCalc.GetRawId(), sBarCode)
' notifico il MachGroup Corrente ' notifico il MachGroup Corrente
OmagOFFICEMap.refMachGroupPanelVM.SelectedMachGroup.NotifyPropertyChanged("MachGroupToolTip") OmagOFFICEMap.refMachGroupPanelVM.SelectedMachGroup.NotifyPropertyChanged("MachGroupToolTip")
' Carico contorno ' Carico contorno
@@ -2227,6 +2457,52 @@ Public Class RawPartTabVM
m_dDragPar = -1 m_dDragPar = -1
Exit While Exit While
End If End If
' ---------- SELEZIONE SpotReg ----------
ElseIf m_AddPointReg Then
' Acquisisco punto da disegno
EgtUnProjectPoint(e.Location, m_ptPrev)
Dim ptRawMax As Point3d = GetRawPtMax()
m_ptPrev.z = ptRawMax.z + 0.1
' Inserisco un nuovo punto registrazione
CreateSpotRegistration(m_nRegGroupId, m_ptPrev, m_nCountSpot + 1)
EgtDraw()
' disattivo il comando di inserimento
m_AddPointReg = False
NotifyPropertyChanged("AddPointReg")
Return
ElseIf m_ModPointReg Then
If sName.StartsWith(SPOTREG_) Then
EgtDeselectAll()
EgtResetMark(m_nCurrSpotRegId)
' recupero recupero il centro della prima curva
Dim nArcId As Integer = EgtGetFirstInGroup(nSelId)
Dim nIdParent As Integer = EgtGetParent(nSelId)
EgtSelectGroupObjs(nIdParent)
EgtSetMark(nIdParent)
EgtDraw()
' Acquisisco punto da disegno
EgtUnProjectPoint(e.Location, m_ptPrev)
m_bDrag = True
m_nDragEnt = nIdParent
' Salvo l'Id del punto SpotReg da spostare
m_nCurrSpotRegId = nIdParent
' esco dal ciclo
Return
End If
ElseIf m_RemovePointReg Then
If sName.StartsWith(SPOTREG_) Then
' recupero recupero il centro della prima curva
Dim nIdParent As Integer = EgtGetParent(nSelId)
RemoveSpotRegistration(nIdParent)
EgtDraw()
EgtErase(nIdParent)
m_RemovePointReg = False
NotifyPropertyChanged("RemovePointReg")
' esco dal ciclo
Return
End If
' ---------- SELEZIONE SpotReg ----------
ElseIf sName = NAME_RAW_SOLID Then ElseIf sName = NAME_RAW_SOLID Then
m_bDrag = EgtUnProjectPoint(e.Location, m_ptPrev) m_bDrag = EgtUnProjectPoint(e.Location, m_ptPrev)
m_nDragEnt = -1 m_nDragEnt = -1
@@ -2377,6 +2653,8 @@ Public Class RawPartTabVM
' Eseguo modifica ' Eseguo modifica
If m_PhotoWithMouse Then If m_PhotoWithMouse Then
ModifyPhoto(ptCurr) ModifyPhoto(ptCurr)
ElseIf m_ModPointReg Then
MoveSpotRegistration(m_nDragEnt, ptCurr - m_ptPrev)
Else Else
Select Case GetRawMode() Select Case GetRawMode()
Case RAWMODE.RECTANGLE Case RAWMODE.RECTANGLE
@@ -2389,6 +2667,8 @@ Public Class RawPartTabVM
End If End If
' Aggiorno il punto precedente ' Aggiorno il punto precedente
m_ptPrev = ptCurr m_ptPrev = ptCurr
' Resetto i ponticelli (per ora non sono in grado di muoverli assieme ai pezzi)
ResetAllBridges()
End Sub End Sub
Private Sub ModifyPhoto(ptCurr As Point3d) Private Sub ModifyPhoto(ptCurr As Point3d)
+43 -40
View File
@@ -3,31 +3,32 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Margin="5,5,5,0"> Margin="5,5,5,0">
<GroupBox Header="{Binding MachViewMsg}" Margin="0,0,0,5"> <GroupBox Header="{Binding MachViewMsg}" Style="{StaticResource GroupBoxRow}">
<UniformGrid Columns="3"> <UniformGrid Columns="3">
<Button Command="{Binding ToolModeCommand}" <Button Command="{Binding ToolModeCommand}"
Style="{StaticResource OptionPanel_NestingButton}"> Style="{StaticResource Simul_Button_Img}">
<Image Source="/Resources/SimulTab/ToolMode.png" Stretch="Uniform"/> <Image Source="/Resources/SimulTab/ToolMode.png" Stretch="Uniform"/>
</Button> </Button>
<Button Command="{Binding HeadModeCommand}" <Button Command="{Binding HeadModeCommand}"
Style="{StaticResource OptionPanel_NestingButton}"> Style="{StaticResource Simul_Button_Img}">
<Image Source="/Resources/SimulTab/HeadMode.png" Stretch="Uniform"/> <Image Source="/Resources/SimulTab/HeadMode.png" Stretch="Uniform"/>
</Button> </Button>
<Button Command="{Binding MachModeCommand}" <Button Command="{Binding MachModeCommand}"
Style="{StaticResource OptionPanel_NestingButton}"> Style="{StaticResource Simul_Button_Img}">
<Image Source="/Resources/SimulTab/MachMode.png" Stretch="Uniform"/> <Image Source="/Resources/SimulTab/MachMode.png" Stretch="Uniform"/>
</Button> </Button>
</UniformGrid> </UniformGrid>
</GroupBox> </GroupBox>
<GroupBox BorderThickness="0"> <Border Style="{StaticResource Border}" Margin="0,5,0,0">
<StackPanel DataContext="{Binding MySimul}"> <StackPanel DataContext="{Binding MySimul}">
<UniformGrid Columns="3" Margin="0,10,0,5"> <UniformGrid Columns="3" Margin="0,10,0,5">
<Button Command="{Binding StepCommand}" Grid.Column="0" Grid.Row="3" <Button Command="{Binding StepCommand}" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource Simul_Button_Img}"
ToolTip="{Binding OneStepToolTip}" Margin="0,0,2.5,0"> ToolTip="{Binding OneStepToolTip}" Margin="0,0,2.5,0">
<Image Source="/Resources/SimulTab/PlayStep.png" <Image Source="/Resources/SimulTab/PlayStep.png"
HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center"
@@ -35,14 +36,14 @@
</Button> </Button>
<Button Command="{Binding PlayPauseCommand}" Grid.Column="1" Grid.Row="3" <Button Command="{Binding PlayPauseCommand}" Grid.Column="1" Grid.Row="3"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource Simul_Button_Img}"
ToolTip="{Binding PlayPauseToolTip}" Margin="2.5,0,2.5,0"> ToolTip="{Binding PlayPauseToolTip}" Margin="2.5,0,2.5,0">
<Image Source="{Binding PlayPauseImage}" HorizontalAlignment="Center" <Image Source="{Binding PlayPauseImage}" HorizontalAlignment="Center"
VerticalAlignment="Center" Height="50" Width="50"/> VerticalAlignment="Center" Height="50" Width="50"/>
</Button> </Button>
<Button Command="{Binding StopCommand}" Grid.Column="2" Grid.Row="3" <Button Command="{Binding StopCommand}" Grid.Column="2" Grid.Row="3"
Style="{StaticResource OptionPanel_NestingButton}" Style="{StaticResource Simul_Button_Img}"
ToolTip="{Binding StopHomeToolTip}" Margin="2.5,0,0,0"> ToolTip="{Binding StopHomeToolTip}" Margin="2.5,0,0,0">
<Image Source="/Resources/SimulTab/Stop.png" <Image Source="/Resources/SimulTab/Stop.png"
HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center"
@@ -50,35 +51,41 @@
</Button> </Button>
</UniformGrid> </UniformGrid>
<TextBlock Text="{Binding StatusMsg}" FontSize="15" TextAlignment="Center" Margin="10,5,10,0"/> <TextBlock Text="{Binding StatusMsg}" FontSize="15" TextAlignment="Center" Margin="10,5,10,0"
Style="{StaticResource SimulTextBlock}"/>
<Slider Name="SpeedSlider" Grid.Row="5" Grid.ColumnSpan="3" Height="30" <Slider Name="SpeedSlider" Grid.Row="5" Grid.ColumnSpan="3" Height="30"
Minimum="1" Maximum="100" TickPlacement="BottomRight" TickFrequency="10" Minimum="1" Maximum="100" TickPlacement="BottomRight" TickFrequency="10"
Margin="0,5,0,0" Value="{Binding SliderValue}"/> Margin="0,5,0,0" Value="{Binding SliderValue}"/>
<Grid Margin="0,0,0,5">
<Grid >
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="0.5*"/> <RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/> <RowDefinition Height="0.5*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="{Binding TName}" Grid.Row="0" FontSize="15" HorizontalAlignment="Center" <TextBlock Text="{Binding TName}" Grid.Row="0" FontSize="15" HorizontalAlignment="Center"
VerticalAlignment="Center" TextAlignment="Center" Margin="5,5,5,0" Grid.ColumnSpan="2" /> VerticalAlignment="Center" TextAlignment="Center" Margin="5,5,5,0" Grid.ColumnSpan="2"
Style="{StaticResource SimulTextBlock}"/>
<TextBlock Text="{Binding SValue}" Grid.Row="0" Grid.Column="2" FontSize="15" HorizontalAlignment="Center" <TextBlock Text="{Binding SValue}" Grid.Row="0" Grid.Column="2" FontSize="15" HorizontalAlignment="Center"
VerticalAlignment="Center" TextAlignment="Right" Margin="0,5,5,5" /> VerticalAlignment="Center" TextAlignment="Right" Margin="0,5,5,5"
Style="{StaticResource SimulTextBlock}"/>
<TextBlock Text="{Binding GCode}" Grid.Row="1" FontSize="15" HorizontalAlignment="Center" <TextBlock Text="{Binding GCode}" Grid.Row="1" FontSize="15" HorizontalAlignment="Center"
VerticalAlignment="Center" TextAlignment="Center" Margin="5,5,5,0" Grid.ColumnSpan="2" /> VerticalAlignment="Center" TextAlignment="Center" Margin="5,5,5,0" Grid.ColumnSpan="2"
Style="{StaticResource SimulTextBlock}"/>
<TextBlock Text="{Binding FValue}" Grid.Row="1" Grid.Column="2" FontSize="15" HorizontalAlignment="Center" <TextBlock Text="{Binding FValue}" Grid.Row="1" Grid.Column="2" FontSize="15" HorizontalAlignment="Center"
VerticalAlignment="Center" TextAlignment="Right" Margin="0,5,5,5" /> VerticalAlignment="Center" TextAlignment="Right" Margin="0,5,5,5"
Style="{StaticResource SimulTextBlock}"/>
</Grid>
</Grid>
<ItemsControl ItemsSource="{Binding MachineAxisList}" Margin="0,0,0,5">
<ItemsControl ItemsSource="{Binding MachineAxisList}" Margin="0,0,0,5">
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate> <DataTemplate>
<Grid Margin="0,0,0,5"> <Grid Margin="0,0,0,5">
@@ -89,11 +96,12 @@
<TextBlock Text="{Binding Token}" FontSize="15" <TextBlock Text="{Binding Token}" FontSize="15"
HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center"
TextWrapping="Wrap" TextAlignment="Center"/> TextWrapping="Wrap" TextAlignment="Center"
Style="{StaticResource SimulTextBlock}"/>
<TextBox Text="{Binding Value, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" <TextBox Text="{Binding Value, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1"
IsReadOnly="{Binding IsReadOnlyAxesValue}" IsReadOnly="{Binding IsReadOnlyAxesValue}"
IsEnabled="{Binding IsEnabledAxesValue}" IsEnabled="{Binding IsEnabledAxesValue}"
TextAlignment="Right"> Style="{StaticResource AxisTextBox}">
<TextBox.InputBindings> <TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding ManualAxisModifyCommand}"/> <KeyBinding Key="Enter" Command="{Binding ManualAxisModifyCommand}"/>
</TextBox.InputBindings> </TextBox.InputBindings>
@@ -104,10 +112,9 @@
</ItemsControl.ItemTemplate> </ItemsControl.ItemTemplate>
</ItemsControl> </ItemsControl>
</StackPanel> </StackPanel>
</GroupBox> </Border>
<GroupBox Header="{Binding EstimationMsg}" <GroupBox Header="{Binding EstimationMsg}" Style="{StaticResource GroupBoxRow}"
IsEnabled="{Binding Estimation_IsEnabled}"
DataContext="{Binding MyEstim}"> DataContext="{Binding MyEstim}">
<StackPanel Margin="2,2,2,0"> <StackPanel Margin="2,2,2,0">
@@ -116,8 +123,7 @@
<TextBlock Text="{Binding TimeMsg}"/> <TextBlock Text="{Binding TimeMsg}"/>
<TextBox Text="{Binding Time, Mode=OneWay}" <TextBox Text="{Binding Time, Mode=OneWay}"
IsReadOnly="True" Style="{StaticResource EstimateTextBox}"/>
TextAlignment="Right"/>
</UniformGrid> </UniformGrid>
@@ -125,28 +131,25 @@
<TextBlock Text="{Binding CutLenMsg}"/> <TextBlock Text="{Binding CutLenMsg}"/>
<TextBox Text="{Binding CutLen, Mode=OneWay}" <TextBox Text="{Binding CutLen, Mode=OneWay}"
IsReadOnly="True" Style="{StaticResource EstimateTextBox}"/>
TextAlignment="Right"/>
</UniformGrid> </UniformGrid>
<UniformGrid Columns="2" Margin="0,0,0,5"> <UniformGrid Columns="2" Margin="0,0,0,5">
<TextBlock Text="{Binding NetAreaMsg}"/> <TextBlock Text="{Binding NetAreaMsg}"/>
<TextBox Text="{Binding NetArea, Mode=OneWay}" <TextBox Text="{Binding NetArea, Mode=OneWay}"
IsReadOnly="True" Style="{StaticResource EstimateTextBox}"/>
TextAlignment="Right"/>
</UniformGrid> </UniformGrid>
<UniformGrid Columns="2" Margin="0,0,0,5"> <UniformGrid Columns="2" Margin="0,0,0,5">
<TextBlock Text="{Binding UsageMsg}"/> <TextBlock Text="{Binding UsageMsg}"/>
<TextBox Text="{Binding Usage, Mode=OneWay}" <TextBox Text="{Binding Usage, Mode=OneWay}"
IsReadOnly="True" Style="{StaticResource EstimateTextBox}"/>
TextAlignment="Right"/>
</UniformGrid> </UniformGrid>
<Button Content="{Binding DetailsMsg}" Height="30" <Button Content="{Binding DetailsMsg}" Style="{StaticResource SimulPanel_TextButton}"
Command="{Binding Details_Command}" Command="{Binding Details_Command}"
Margin="0,0,0,2"/> Margin="0,0,0,2"/>
+11 -5
View File
@@ -17,7 +17,13 @@ Public Class SimulTabVM
Public ReadOnly Property MachViewMsg As String Public ReadOnly Property MachViewMsg As String
Get Get
Return "Vista macchina" Return EgtMsg(91667)
End Get
End Property
Public ReadOnly Property EstimationMsg As String
Get
Return EgtMsg(91668)
End Get End Get
End Property End Property
@@ -137,10 +143,10 @@ Public Class SimulTabVM
MyEstim.Estimation_IsEnabled = False MyEstim.Estimation_IsEnabled = False
End If End If
' Impostazioni box stime ' Impostazioni box stime
NotifyPropertyChanged("Time") MyEstim.NotifyPropertyChanged("Time")
NotifyPropertyChanged("CutLen") MyEstim.NotifyPropertyChanged("CutLen")
NotifyPropertyChanged("NetArea") MyEstim.NotifyPropertyChanged("NetArea")
NotifyPropertyChanged("Usage") MyEstim.NotifyPropertyChanged("Usage")
' Nascondo eventuali pezzi in parcheggio ' Nascondo eventuali pezzi in parcheggio
HideParkedParts() HideParkedParts()
' Nascondo eventuale contorno da foto ' Nascondo eventuale contorno da foto
+11 -1
View File
@@ -21,9 +21,11 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<GroupBox Header="{Binding CurrentLanguageMsg}" <GroupBox Header="{Binding CurrentLanguageMsg}"
Style="{StaticResource GroupBoxOptionWnd}"
Grid.Column="0" Margin="0,0,5,5"> Grid.Column="0" Margin="0,0,5,5">
<UniformGrid Rows="2"> <UniformGrid Rows="2">
<ComboBox ItemsSource="{Binding LanguageList, Mode=OneWay}" Height="25" <ComboBox ItemsSource="{Binding LanguageList, Mode=OneWay}" Height="25"
Style="{DynamicResource OptionWnd_ComboBox}"
SelectedItem="{Binding SelLanguage}" DisplayMemberPath="Name"/> SelectedItem="{Binding SelLanguage}" DisplayMemberPath="Name"/>
<TextBlock Text="{Binding LanguageAdvertMsg}" TextWrapping="Wrap" <TextBlock Text="{Binding LanguageAdvertMsg}" TextWrapping="Wrap"
TextAlignment="Center"/> TextAlignment="Center"/>
@@ -31,20 +33,25 @@
</GroupBox> </GroupBox>
<GroupBox Header="{Binding MeasureUnitMsg}" <GroupBox Header="{Binding MeasureUnitMsg}"
Style="{StaticResource GroupBoxOptionWnd}"
Grid.Column="1" Margin="0,0,5,5"> Grid.Column="1" Margin="0,0,5,5">
<ComboBox ItemsSource="{Binding MeasureUnitList, Mode=OneWay}" <ComboBox ItemsSource="{Binding MeasureUnitList, Mode=OneWay}"
Style="{DynamicResource OptionWnd_ComboBox}"
SelectedIndex="{Binding SelMeasureUnit}" SelectedIndex="{Binding SelMeasureUnit}"
Height="25" Width="60"/> Height="25" Width="60"/>
</GroupBox> </GroupBox>
<GroupBox Header="{Binding SideAngleHdr}" <GroupBox Header="{Binding SideAngleHdr}"
Style="{StaticResource GroupBoxOptionWnd}"
Grid.Row="1" Margin="0,0,5,5"> Grid.Row="1" Margin="0,0,5,5">
<ComboBox ItemsSource="{Binding SideModeList, Mode=OneWay}" <ComboBox ItemsSource="{Binding SideModeList, Mode=OneWay}"
Style="{DynamicResource OptionWnd_ComboBox}"
SelectedIndex="{Binding SelSideModeIndex}" SelectedIndex="{Binding SelSideModeIndex}"
Height="25"/> Height="25"/>
</GroupBox> </GroupBox>
<GroupBox Header="{Binding DirectInsertHdr}" <GroupBox Header="{Binding DirectInsertHdr}"
Style="{StaticResource GroupBoxOptionWnd}"
Grid.Row="2" Margin="0,0,5,5"> Grid.Row="2" Margin="0,0,5,5">
<UniformGrid Rows="2"> <UniformGrid Rows="2">
<Grid> <Grid>
@@ -63,7 +70,8 @@
</GroupBox> </GroupBox>
<GroupBox Header="{Binding TextColorMsg}" <GroupBox Header="{Binding TextColorMsg}"
Grid.Column="1" Grid.Row="1" Margin="0,0,5,5"> Style="{StaticResource GroupBoxOptionWnd}"
Grid.Column="1" Grid.Row="1" Margin="0,0,5,5">
<Button Height="25" Width="60" Margin="0,5,0,0" Background="{Binding TextColorBackground}" <Button Height="25" Width="60" Margin="0,5,0,0" Background="{Binding TextColorBackground}"
Command="{Binding ChangeColorCommand}" IsEnabled="{Binding bSelOk}" Style="{StaticResource Option_ColorButton}"> Command="{Binding ChangeColorCommand}" IsEnabled="{Binding bSelOk}" Style="{StaticResource Option_ColorButton}">
</Button> </Button>
@@ -71,6 +79,7 @@
<!--SideAngle from color--> <!--SideAngle from color-->
<GroupBox Name="ColorToSideAngGpBx" Header="{Binding ColorToSideAngMsg}" <GroupBox Name="ColorToSideAngGpBx" Header="{Binding ColorToSideAngMsg}"
Style="{StaticResource GroupBoxOptionWnd}"
Grid.Column="0" Grid.Row="3" Margin="0,0,5,5" > Grid.Column="0" Grid.Row="3" Margin="0,0,5,5" >
<Grid> <Grid>
@@ -146,6 +155,7 @@
<!--Engrave from color--> <!--Engrave from color-->
<GroupBox Name="ColorToEngraveGpBx" Header="{Binding ColorToEngraveMsg}" <GroupBox Name="ColorToEngraveGpBx" Header="{Binding ColorToEngraveMsg}"
Style="{StaticResource GroupBoxOptionWnd}"
Grid.Column="1" Grid.Row="3" Margin="0,0,5,5" > Grid.Column="1" Grid.Row="3" Margin="0,0,5,5" >
<Grid> <Grid>
+59 -28
View File
@@ -1,35 +1,66 @@
<EgtFloating:EgtFloatingManager x:Class="ProjectV" <DockPanel x:Class="ProjectV"
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:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"> xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
Background="{StaticResource Omag_DarkGray}">
<EgtFloating:EgtFloatingTray x:Name="LEFTTRAY" DockPanel.Dock="Left">
<OmagOFFICE:OptionPanelV DataContext="{StaticResource OptionPanelVM}" <DockPanel x:Name="LEFTTRAY" DockPanel.Dock="Left" Background="Transparent">
<OmagOFFICE:OptionPanelV DataContext="{StaticResource OptionPanelVM}"
Height="{Binding MaxHeight,ElementName=LEFTTRAY}"/> Height="{Binding MaxHeight,ElementName=LEFTTRAY}"/>
</EgtFloating:EgtFloatingTray> </DockPanel>
<EgtFloating:EgtFloatingTray x:Name="TOPTRAY" DockPanel.Dock="Top"> <DockPanel x:Name="TOPTRAY" DockPanel.Dock="Top" Background="Transparent">
<OmagOFFICE:ShowPanelV DataContext="{StaticResource ShowPanelVM}"/> <!--<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Width="{Binding}">-->
<OmagOFFICE:ViewPanelV DataContext="{StaticResource ViewPanelVM}"/> <!--<DockPanel>
<OmagOFFICE:InstrumentPanelV DataContext="{StaticResource InstrumentPanelVM}"/> <OmagOFFICE:MachinePanelV DataContext="{StaticResource MachinePanelVM}" DockPanel.Dock="Left"/>
<OmagOFFICE:VeinMatchPanelV DataContext="{StaticResource VeinMatchPanelVM}"/> <OmagOFFICE:VeinMatchPanelV DataContext="{StaticResource VeinMatchPanelVM}" />
<OmagOFFICE:MachinePanelV DataContext="{StaticResource MachinePanelVM}"/> <OmagOFFICE:PrintPanelV DataContext="{StaticResource PrintPanelVM}" />
</EgtFloating:EgtFloatingTray> <OmagOFFICE:ShowPanelV DataContext="{StaticResource ShowPanelVM}" DockPanel.Dock="Right"/>
<OmagOFFICE:ViewPanelV DataContext="{StaticResource ViewPanelVM}" DockPanel.Dock="Right"/>
<EgtFloating:EgtFloatingTray x:Name="BOTTOMTRAY" DockPanel.Dock="Bottom"> <OmagOFFICE:InstrumentPanelV DataContext="{StaticResource InstrumentPanelVM}" DockPanel.Dock="Right"/>
<EgtWPFLib5:EgtMachGroupPanelV DataContext="{StaticResource MachGroupPanelVM}" </DockPanel>-->
Background="{StaticResource Omag_Gray}" <Grid>
BorderBrush="{StaticResource Omag_Gray}" <Grid.ColumnDefinitions>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="19.75*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.25*"/>
</Grid.ColumnDefinitions>
<OmagOFFICE:MachinePanelV Grid.Column="0" DataContext="{StaticResource MachinePanelVM}"/>
<OmagOFFICE:VeinMatchPanelV Grid.Column="1" DataContext="{StaticResource VeinMatchPanelVM}"/>
<OmagOFFICE:PrintPanelV Grid.Column="2" DataContext="{StaticResource PrintPanelVM}"/>
<OmagOFFICE:ShowPanelV Grid.Column="5" DataContext="{StaticResource ShowPanelVM}"/>
<OmagOFFICE:ViewPanelV Grid.Column="4" DataContext="{StaticResource ViewPanelVM}"/>
<OmagOFFICE:InstrumentPanelV Grid.Column="6" DataContext="{StaticResource InstrumentPanelVM}"/>
</Grid>
<!--<OmagOFFICE:MachinePanelV DataContext="{StaticResource MachinePanelVM}"/>
<OmagOFFICE:VeinMatchPanelV DataContext="{StaticResource VeinMatchPanelVM}"/>
<OmagOFFICE:PrintPanelV DataContext="{StaticResource PrintPanelVM}"/>
<OmagOFFICE:ShowPanelV DataContext="{StaticResource ShowPanelVM}"/>
<OmagOFFICE:ViewPanelV DataContext="{StaticResource ViewPanelVM}"/>
<OmagOFFICE:InstrumentPanelV DataContext="{StaticResource InstrumentPanelVM}"/>-->
<!--</StackPanel>-->
</DockPanel>
<DockPanel x:Name="BOTTOMTRAY" DockPanel.Dock="Bottom" Background="Transparent">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Width="{Binding}">
<OmagOFFICE:MyMachGroupPanelV DataContext="{StaticResource MachGroupPanelVM}"/>
<!--<EgtWPFLib5:EgtMachGroupPanelV DataContext="{StaticResource MachGroupPanelVM}"
Background="Transparent"
BorderBrush="Transparent"
RepaetButtonStyle="{StaticResource CustomScrollBarButton}" RepaetButtonStyle="{StaticResource CustomScrollBarButton}"
MachGroupButtonStyle="{StaticResource {x:Type ToggleButton}}" MachGroupButtonStyle="{StaticResource {x:Type ToggleButton}}"
IsToolBar="False" IsToolBar="False"
IsTopDockable="False" IsBottomDockable="True" IsLeftDockable="False" IsTopDockable="False" IsBottomDockable="false" IsLeftDockable="False"
IsRightDockable="False"/> IsRightDockable="False"/>-->
</EgtFloating:EgtFloatingTray> </StackPanel>
</DockPanel>
<!--Scena restituita sotto forma di WindowsFormsHost-->
<OmagOFFICE:SceneHostV/> <OmagOFFICE:SceneHostV />
</EgtFloating:EgtFloatingManager> </DockPanel>
+4
View File
@@ -1,3 +1,7 @@
Public Class ProjectV Public Class ProjectV
Private Sub LoadPage() Handles Me.Loaded
OmagOFFICEMap.SetRefProjectV(Me)
End Sub
End Class End Class
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 624 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 726 B

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 841 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 729 B

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 B

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 826 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

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