Compare commits

...

74 Commits

Author SHA1 Message Date
Demetrio Cassarino 240979be7c Merge branch 'Nuovo_Tema' of https://gitlab.steamware.net/egalware-cadcam/interfacce/EgtDOORCreator into Nuovo_Tema 2025-03-03 10:05:12 +01:00
Demetrio Cassarino 5c17576575 -pulizia codice 2025-03-03 10:05:09 +01:00
Nicola Pievani bc44b632bc Merge commit 'f7ccde68f4895ab023e39fde6f54ad185d99ee4c' into Nuovo_Tema 2024-12-20 17:13:28 +01:00
Nicola Pievani f7ccde68f4 Correzione salvataggio Porta singola 2024-12-20 17:12:58 +01:00
Nicola Pievani 743066c5f7 Merge commit 'd9f56bccf3846b3c7a0f5724195142b7a1654f3f' into Nuovo_Tema 2024-12-18 16:19:19 +01:00
Nicola Pievani d9f56bccf3 Lettura modalità di salvataggio da INI 2024-12-18 16:17:50 +01:00
Demetrio Cassarino 726cccae67 Merge branch 'Nuovo_Tema' of https://gitlab.steamware.net/egalware-cadcam/interfacce/EgtDOORCreator into Nuovo_Tema 2024-12-18 15:21:03 +01:00
Demetrio Cassarino 1b74715faa -Sistemato dictionary 2024-12-18 15:18:35 +01:00
Nicola Pievani bf4e08ae80 Merge branch 'Nuovo_Tema' of https://gitlab.steamware.net/egaltech/EgtDOORCreator into Nuovo_Tema 2024-12-18 15:16:11 +01:00
Nicola Pievani b197031d08 Merge commit '328d333e16c8fba0ed5f216030871a6045f69363' into Nuovo_Tema 2024-12-18 15:15:54 +01:00
Nicola Pievani 328d333e16 Migliorata gestione Assemblato e porta singola 2024-12-18 15:15:32 +01:00
Demetrio Cassarino 99aed8e093 -aggiornato tema dinamico su tutte le finestre 2024-12-16 12:07:28 +01:00
Demetrio Cassarino 649753381d -aggiornata scena per JambsDoor
-aggiornata finestra launcher
2024-12-11 14:43:40 +01:00
Nicola Pievani 5e345284a3 Merge commit '306798a7d565c98afa158ece68d2dd9e361a3bb1' into Nuovo_Tema 2024-12-09 16:12:51 +01:00
Nicola Pievani 306798a7d5 Merge commit '52461712a85184583d4fdaa5caf68a73d2fd5664' 2024-12-09 15:32:49 +01:00
Demetrio Cassarino 52461712a8 -modificato webbrouse da navigate a source 2024-12-09 15:31:38 +01:00
Nicola Pievani d4d4e3a9d7 Merge branch 'master' of https://gitlab.steamware.net/egaltech/EgtDOORCreator 2024-12-09 15:30:38 +01:00
Nicola Pievani 4525c6d780 Selezione anta in HardwareManager 2024-12-09 15:30:30 +01:00
Demetrio Cassarino a814b83e87 -migliorata gestion customer 2024-12-09 11:32:29 +01:00
Nicola Pievani 316374761d Gestione Swing e miglioramenti avvio in cieco 2024-12-02 12:00:26 +01:00
Nicola Pievani a53f9ff352 Correzione stringa costanti 2024-11-25 17:58:35 +01:00
Nicola Pievani 5d32bb9ddf Migliorata gestione evidenziazione compo 2024-11-25 15:39:26 +01:00
Nicola Pievani 88f5ac3a9e Aggiornata tema nella pagina Hardware 2024-11-25 09:00:50 +01:00
Nicola Pievani e70d6b1c70 Salvo nel file ini il tema selezionato 2024-11-22 11:11:29 +01:00
Nicola Pievani 284baa8fb4 Pagona Option configurata con nuovo tema 2024-11-21 18:36:35 +01:00
Nicola Pievani 949d0571b0 Merge commit 'a97f84f49b32e3e9e2153ad583bfe2bd2814bb31' into Nuovo_Tema 2024-11-20 13:08:53 +01:00
Nicola Pievani 8006b66a01 Merge commit 'a97f84f49b32e3e9e2153ad583bfe2bd2814bb31' 2024-11-20 13:05:31 +01:00
Nicola Pievani a97f84f49b Cambio versione 2024-11-20 13:04:58 +01:00
Nicola Pievani 98a16e0828 Aggiunto messaggio di log 2024-11-20 12:48:56 +01:00
Nicola Pievani e4390636fe Creazione Log per programma avviato in cieco 2024-11-20 12:38:10 +01:00
Nicola Pievani 18f9efd311 Creazione Log per programma avviato in cieco 2024-11-20 12:37:45 +01:00
Nicola Pievani cbb2b4245e Configurazione tema standard 2024-11-20 12:25:58 +01:00
Nicola Pievani faa6bd2b8c Migliorata gestione seleziona da scena 2024-11-19 16:37:46 +01:00
Nicola Pievani 67bd8bf8f4 Migliorata gestione seleziona da scena 2024-11-19 16:37:20 +01:00
Nicola Pievani 422dbe00fb Merge commit 'dd8be77fb5a40c9dcbf3c37bf76ff9b00af6bafe' into Nuovo_Tema 2024-11-19 15:24:55 +01:00
Nicola Pievani 9235e8c069 -correzione codice 2024-11-19 15:24:11 +01:00
Nicola Pievani 2075589ea4 -gestione dizionari nuovi riordinati 2024-11-19 14:22:02 +01:00
Nicola Pievani dd8be77fb5 Merge commit '301ec52bf3225311f9098b0083c7f24e3f3330e7' 2024-11-19 11:53:44 +01:00
Nicola Pievani 63e43c3ef4 Merge commit '301ec52bf3225311f9098b0083c7f24e3f3330e7' into Nuovo_Tema 2024-11-19 11:53:23 +01:00
Nicola Pievani 301ec52bf3 Cambio colore bordo in evidenza 2024-11-19 11:53:00 +01:00
Nicola Pievani ee5a14a8f8 Salvataggio ultima estensione aperta, evidenzio da scena 2024-11-19 11:52:15 +01:00
Nicola Pievani dbc2b88e51 Merge branch 'master' of https://gitlab.steamware.net/egaltech/EgtDOORCreator 2024-11-18 18:11:20 +01:00
Nicola Pievani 11a270febf Merge commit '03f8312a3ddf9dd052fedcf091590d304af2b180' 2024-11-18 18:10:59 +01:00
Nicola Pievani 03f8312a3d Merge commit '22941facd28769d1f963eb15f5887f92a9d633bd' into NicolaP 2024-11-18 18:10:29 +01:00
Nicola Pievani 4d9cea654c Gestione merge disctionary 2024-11-18 18:09:59 +01:00
Nicola Pievani a165cacfd3 Mofica runtime del tema 2024-11-18 18:09:10 +01:00
Nicola Pievani bbf5d257be Inizio creazione nuovo tema 2024-11-05 10:11:52 +01:00
Dario Sassi 61310b1579 Merge commit 'ac9f8354cc14656222fc701c1f1b91f80761ca46' 2024-10-10 19:17:58 +02:00
Nicola Pievani ac9f8354cc Geastione avvio programma in cieco 2024-10-07 19:48:54 +02:00
Nicola Pievani 1d65a311f3 Correzione salvataggio dati da Args 2024-10-04 15:21:33 +02:00
Nicola Pievani 3fb5e636bf Se fallisce lettura Args termino tutto subito 2024-10-04 13:40:13 +02:00
Nicola Pievani 621bd11b3d Avvio programma con Args esterno 2024-10-04 13:32:08 +02:00
Nicola Pievani 22941facd2 Merge commit '90a898f25aedc4232808a9ae5b3221c9e4d12961' 2024-09-16 12:57:19 +02:00
Nicola Pievani 90a898f25a Aggiornamento versione 2.6i1 2024-09-16 12:57:04 +02:00
Nicola Pievani 062c19ff6f Migliorata/Corretta lettura parametri DGD.T/.H/.W in millimetri Hardware template 2024-09-16 12:55:10 +02:00
Nicola Pievani ef29a33418 Merge commit 'ab097ff0f029674cafbddc5925f84d4d0420019f' 2024-08-30 14:48:29 +02:00
Nicola Pievani ab097ff0f0 Migliorata gestione lettura direttori 2024-08-30 14:48:15 +02:00
Nicola Pievani 68ccdd17bd Merge branch 'NicolaP' 2024-08-06 12:35:12 +02:00
Nicola Pievani 41f5c23479 Correzione versione 2.6h1 2024-08-06 12:34:46 +02:00
Nicola Pievani 04d76a6f62 Correzione gestione SetMark 2024-08-06 12:29:21 +02:00
Nicola Pievani 72cfd8ff7d Inizio gerstione SetMark su compo selzionato 2024-08-06 12:05:54 +02:00
Nicola Pievani 8284811a4b Aggiornato CopyRight 2024-07-24 15:19:10 +02:00
Nicola Pievani 4143ea0389 Merge branch 'master' into NicolaP 2024-07-24 15:05:51 +02:00
Nicola Pievani a4202d0be1 Aggiornamento versione 2.6g5 2024-07-24 15:05:16 +02:00
Nicola Pievani 2730d1ad32 Miglioramenti gestione TmplateDoor 2024-07-10 18:39:05 +02:00
Nicola Pievani a6492ac6e1 Correzione scrittura parametri DGD 2024-06-26 18:24:19 +02:00
Nicola Pievani 1fb0c4bd09 Merge commit '5f71f7dfa33b55063c9e09469e744f7b800766b2' 2024-05-10 16:14:25 +02:00
Nicola Pievani 5f71f7dfa3 Gestione chiave di rete 2024-05-10 16:13:46 +02:00
Nicola Pievani 86b2e011e0 Merge commit 'b16d860805fee93995139704af452d3c9a0a45e4' 2024-05-07 15:59:32 +02:00
Nicola Pievani b16d860805 Migliorata gestione unità di misura 2024-05-07 15:59:12 +02:00
Nicola Pievani 774c64678f Merge commit '34472efbc2b8b675468e6f9482f181a81d41f82b' 2024-04-08 10:15:14 +02:00
Nicola Pievani 34472efbc2 Gestione errore 'Rabbet.frame' non trovato 2024-04-08 10:14:31 +02:00
Nicola Pievani 6ddc0f305b Merge branch 'NicolaP' 2024-02-21 16:19:42 +01:00
Nicola Pievani 9edda7ead3 Migliorata gestione unità di misura mm 2024-02-21 16:19:05 +01:00
123 changed files with 11951 additions and 5790 deletions
+10 -10
View File
@@ -1,8 +1,8 @@
<Window x:Class="AboutBoxV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="AboutBox" Height="320" Width="300" WindowStyle="None" ResizeMode="NoResize"
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="AboutBox" Height="320" Width="300" WindowStyle="None" ResizeMode="NoResize"
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
<Border BorderThickness="2" BorderBrush="LightBlue">
<Grid >
@@ -36,17 +36,17 @@
</Border>
</Grid>
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="18" />
VerticalAlignment="Center" FontSize="18" />
<TextBlock Name="VersionLbl" Grid.Column="1" Grid.Row="4" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="18"/>
VerticalAlignment="Center" FontSize="18"/>
<TextBlock Name="KeyLbl" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="18"/>
VerticalAlignment="Center" FontSize="18"/>
<TextBlock Name="CopyrightLbl" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="12" />
VerticalAlignment="Center" FontSize="12" />
<TextBox Name="InfoLbl" Grid.Column="1" Grid.Row="7" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" FontSize="12" IsReadOnly="true" TextWrapping="Wrap"/>
VerticalAlignment="Stretch" FontSize="12" IsReadOnly="true" TextWrapping="Wrap"/>
<Button Name="ExitBtn" Grid.Column="1" Grid.Row="9" IsCancel="True"
Margin="1,0"/>
Margin="1,0"/>
</Grid>
+8 -4
View File
@@ -2,6 +2,8 @@
Public Class AboutBoxV
#Region "METHODS"
Private Sub AboutBoxWD_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
Me.Owner = Application.Current.MainWindow
DescriptionLbl.Text = My.Application.Info.Description.ToString()
@@ -15,20 +17,20 @@ Public Class AboutBoxV
Dim sOpts As String = IniFile.m_nKeyOptions.ToString()
KeyLbl.Text = sKey & " - " & sKlev & " - " & sOpts
CopyrightLbl.Text = My.Application.Info.Copyright.ToString()
Dim sInfo As String = If( EgtIsDebug(), "*** Debug Libraries ***" & vbCrLf, "")
Dim sInfo As String = If(EgtIsDebug(), "*** Debug Libraries ***" & vbCrLf, "")
sInfo &= "DataRoot " & IniFile.m_sDataRoot & vbCrLf
sInfo &= "Doors " & IniFile.m_sDoorsDirPath & vbCrLf
If OptionModule.m_MaterialList.Count = 1 Then
sInfo &= "Material " & OptionModule.m_MaterialList(0).Name
End If
Dim sOpSys As String = String.Empty
EgtGetOsInfo( sOpSys)
EgtGetOsInfo(sOpSys)
sInfo &= sOpSys & Environment.NewLine
Dim sCPU As String = String.Empty
EgtGetCpuInfo( sCPU)
EgtGetCpuInfo(sCPU)
sInfo &= sCPU & Environment.NewLine
Dim sMem As String = String.Empty
EgtGetMemoryInfo( sMem)
EgtGetMemoryInfo(sMem)
sInfo &= sMem & Environment.NewLine
Dim sScene As String = String.Empty
EgtGetSceneInfo(sScene)
@@ -37,4 +39,6 @@ Public Class AboutBoxV
ExitBtn.Content = EgtMsg(MSG_MISSINGKEYWD + 4) 'Ok
End Sub
#End Region ' Methods
End Class
+13 -7
View File
@@ -1,10 +1,16 @@
<Application x:Class="Application"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
ShutdownMode="OnMainWindowClose">
<Application.Resources>
<ResourceDictionary Source="EgtDOORCreatorDictionary.xaml"/>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
ShutdownMode="OnMainWindowClose">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="EgtDOORCreatorDarkDictionary.xaml"/>
<ResourceDictionary Source="EgtDOORCreatorDictionary.xaml"/>
<ResourceDictionary Source="EgtDOORCreatorDefaultStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
+32 -6
View File
@@ -1,7 +1,19 @@
Imports EgtWPFLib5
Imports EgtUILib
Class Application
Class Application
#Region "FIELDS & PROPERTIES"
Public Property ThemeDictionary As ResourceDictionary
' You could probably get it via its name with some query logic as well.
Get
Return Resources.MergedDictionaries(0)
End Get
Set(value As ResourceDictionary)
End Set
End Property
#End Region ' Fields & Properties
#Region "METHODS"
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
' can be handled in this file.
@@ -9,10 +21,24 @@ Class Application
MyBase.OnStartup(e)
ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose
' Creo la View principale
Me.MainWindow = New MainWindowV
Me.MainWindow = New MainWindowV(e.Args)
System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(Me.MainWindow)
' Mostro la View principale
Me.MainWindow.Show()
If OptionModule.AdjustDDT Then
Me.MainWindow.Hide()
Else
Me.MainWindow.Show()
End If
'' Mostro la View principale
'Me.MainWindow.Show()
End Sub
Public Sub ChangeTheme(uri As Uri)
ThemeDictionary.MergedDictionaries.Clear()
Dim rd As ResourceDictionary = New ResourceDictionary()
rd.Source = uri
ThemeDictionary.MergedDictionaries.Add(rd) ' New ResourceDictionary()) ' Source:=uri))
End Sub
#End Region ' Methods
End Class
+177 -94
View File
@@ -7,6 +7,8 @@ Imports System.Text.RegularExpressions
Public Class Assembly
Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
' questa variabile se settata a vero da la possibilità di costruire un riferimento sui Jamb
Friend Shared BuiltReffCompo As Boolean = False
Public bIsNewAssembly As Boolean = False
@@ -24,7 +26,7 @@ Public Class Assembly
End Get
Set(value As Boolean)
m_OneDoorProperty = value
NotifyPropertyChanged("OneDoorProperty")
NotifyPropertyChanged(NameOf(OneDoorProperty))
End Set
End Property
@@ -49,7 +51,7 @@ Public Class Assembly
End Get
Set(value As String)
m_LightUp = value
NotifyPropertyChanged("LightUp")
NotifyPropertyChanged(NameOf(LightUp))
' viene ricalcolata la dimensione dell'anta
HeightDoor()
' viene ricalcolata l'altezza della porta e dei jamb laterali a partire dalla dimensione della porta
@@ -62,7 +64,7 @@ Public Class Assembly
' questo metodo è utilizzato per caricare e aggiornare il valore m_lightUp senza eseguire le operazioni del Set
Public Sub SetLightUp(sLightUp As String)
m_LightUp = sLightUp
NotifyPropertyChanged("LightUp")
NotifyPropertyChanged(NameOf(LightUp))
End Sub
Private m_LightBottom As String
@@ -83,7 +85,7 @@ Public Class Assembly
End Property
Public Sub SetLightBottom(sLightBottom As String)
m_LightBottom = sLightBottom
NotifyPropertyChanged("LightBottom")
NotifyPropertyChanged(NameOf(LightBottom))
End Sub
#End Region ' Light Up/Bottom
@@ -106,7 +108,7 @@ Public Class Assembly
End Property
Public Sub SetLightHinge(sSetLightHinge As String)
m_LightHinge = sSetLightHinge
NotifyPropertyChanged("LightHinge")
NotifyPropertyChanged(NameOf(LightHinge))
End Sub
Private m_LightLock As String
@@ -125,7 +127,7 @@ Public Class Assembly
End Property
Public Sub SetLightLock(sLightLock As String)
m_LightLock = sLightLock
NotifyPropertyChanged("LightLock")
NotifyPropertyChanged(NameOf(LightLock))
End Sub
#End Region ' Light Hinge/Lock
@@ -139,7 +141,7 @@ Public Class Assembly
End Get
Set(value As String)
m_ThicknessHead = value
NotifyPropertyChanged("ThicknessHead")
NotifyPropertyChanged(NameOf(ThicknessHead))
' viene ricalcolata l'altezza del JambTop
HeightJambTop()
' viene ricalcolata l'altezza della porta e dei jamb laterali a partire dalla dimensione della porta
@@ -154,7 +156,7 @@ Public Class Assembly
End Property
Public Sub SetThicknessHead(sThicknessHead As String)
m_ThicknessHead = sThicknessHead
NotifyPropertyChanged("ThicknessHead")
NotifyPropertyChanged(NameOf(ThicknessHead))
End Sub
#End Region ' ThicknessHead
@@ -168,7 +170,7 @@ Public Class Assembly
End Get
Set(value As String)
m_ThicknessBottom = value
NotifyPropertyChanged("ThicknessBottom")
NotifyPropertyChanged(NameOf(ThicknessBottom))
' viene ricalcolata l'altezza del JambTop
HeightJambBottom()
' viene ricalcolata l'altezza della porta e dei jamb laterali a partire dalla dimensione della porta
@@ -183,7 +185,7 @@ Public Class Assembly
End Property
Public Sub SetThicknessBottom(sThicknessBottom As String)
m_ThicknessBottom = sThicknessBottom
NotifyPropertyChanged("ThicknessBottom")
NotifyPropertyChanged(NameOf(ThicknessBottom))
End Sub
Private m_DepthBottom As String
@@ -193,7 +195,7 @@ Public Class Assembly
End Get
Set(value As String)
m_DepthBottom = value
NotifyPropertyChanged("DepthBottom")
NotifyPropertyChanged(NameOf(DepthBottom))
' viene ricalcolata la profondità del JambBottom
SetThicKnessJamb()
UpDateAllCompo()
@@ -202,7 +204,7 @@ Public Class Assembly
End Property
Public Sub SetDepthBottom(sDepthBottom As String)
m_DepthBottom = sDepthBottom
NotifyPropertyChanged("DepthBottom")
NotifyPropertyChanged(NameOf(DepthBottom))
End Sub
#End Region ' Thickness Depth Bottom
@@ -231,7 +233,7 @@ Public Class Assembly
End Property
Public Sub SetOverlapHinge(sOverlapHinge As String)
m_OverlapHinge = sOverlapHinge
NotifyPropertyChanged("OverlapHinge")
NotifyPropertyChanged(NameOf(OverlapHinge))
End Sub
Private m_OverlapLock As String
@@ -254,7 +256,7 @@ Public Class Assembly
End Property
Public Sub SetOverlapLock(sOverlapLock As String)
m_OverlapLock = sOverlapLock
NotifyPropertyChanged("OverlapLock")
NotifyPropertyChanged(NameOf(OverlapLock))
End Sub
Private m_OverlapTop As String
@@ -274,7 +276,7 @@ Public Class Assembly
End Property
Public Sub SetOverlapTop(sOverlapTop As String)
m_OverlapTop = sOverlapTop
NotifyPropertyChanged("OverlapTop")
NotifyPropertyChanged(NameOf(OverlapTop))
End Sub
Private m_OverlapBottom As String
@@ -292,7 +294,7 @@ Public Class Assembly
End Property
Public Sub SetOverlapBottom(sOverlapBottom As String)
m_OverlapBottom = sOverlapBottom
NotifyPropertyChanged("OverlapBottom")
NotifyPropertyChanged(NameOf(OverlapBottom))
End Sub
Private m_DeltaThickness As String
@@ -310,7 +312,7 @@ Public Class Assembly
End Property
Public Sub SetDeltaThickness(sDeltaThickness As String)
m_DeltaThickness = sDeltaThickness
NotifyPropertyChanged("DeltaThickness")
NotifyPropertyChanged(NameOf(DeltaThickness))
End Sub
#End Region ' Overlap Hinge/Lock/Top/DeltaT
@@ -330,7 +332,7 @@ Public Class Assembly
End Property
Public Sub SetThickness(sThickness As String)
m_Thickness = sThickness
NotifyPropertyChanged("Thickness")
NotifyPropertyChanged(NameOf(Thickness))
End Sub
Private m_Width As String
@@ -348,7 +350,7 @@ Public Class Assembly
End Property
Public Sub SetWidth(sWidth As String)
m_Width = sWidth
NotifyPropertyChanged("Width")
NotifyPropertyChanged(NameOf(Width))
End Sub
#End Region ' Jamb Thickness/Width
@@ -380,14 +382,14 @@ Public Class Assembly
Next
m_DispositionItem = value
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
NotifyPropertyChanged("DispositionItem")
NotifyPropertyChanged(NameOf(DispositionItem))
End Set
End Property
Public Sub SetDispositionItem(ObjDisposition As EdgeType)
If IsNothing(m_DispositionItem) Then
m_DispositionItem = ObjDisposition
End If
NotifyPropertyChanged("DispositionItem")
NotifyPropertyChanged(NameOf(DispositionItem))
End Sub
Private m_LockEdgeType As New EdgeType("", Visibility.Visible)
@@ -405,7 +407,7 @@ Public Class Assembly
If ItemPartDoor.Type.Contains("F") Then ItemPartDoor.Door.LockEdgeType = value
Next
m_LockEdgeType = value
NotifyPropertyChanged("LockEdgeType")
NotifyPropertyChanged(NameOf(LockEdgeType))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'm_LeftJamb.SetLockEdgeType(value)
'm_RightJamb.SetLockEdgeType(value)
@@ -415,7 +417,7 @@ Public Class Assembly
End Property
Public Sub SetLockEdgeType(sLockEdgeType As EdgeType)
m_LockEdgeType = sLockEdgeType
NotifyPropertyChanged("LockEdgeType")
NotifyPropertyChanged(NameOf(LockEdgeType))
End Sub
Private m_HingeEdgeType As New EdgeType("", Visibility.Visible)
@@ -433,7 +435,7 @@ Public Class Assembly
If ItemPartDoor.Type.Contains("F") Then ItemPartDoor.Door.HingeEdgeType = value
Next
m_HingeEdgeType = value
NotifyPropertyChanged("HingeEdgeType")
NotifyPropertyChanged(NameOf(HingeEdgeType))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'm_LeftJamb.SetHingeEdgeType(value)
'm_RightJamb.SetHingeEdgeType(value)
@@ -443,7 +445,7 @@ Public Class Assembly
End Property
Public Sub SetHingeEdgeType(sHingeEdgeType As EdgeType)
m_HingeEdgeType = sHingeEdgeType
NotifyPropertyChanged("HingeEdgeType")
NotifyPropertyChanged(NameOf(HingeEdgeType))
End Sub
Private m_TopType As New EdgeType("", Visibility.Visible)
@@ -461,7 +463,7 @@ Public Class Assembly
If ItemPartDoor.Type.Contains("F") Then ItemPartDoor.Door.TopType = value
Next
m_TopType = value
NotifyPropertyChanged("TopType")
NotifyPropertyChanged(NameOf(TopType))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'm_LeftJamb.SetTopType(value)
'm_RightJamb.SetTopType(value)
@@ -471,7 +473,7 @@ Public Class Assembly
End Property
Public Sub SetTopType(sTopType As EdgeType)
m_TopType = sTopType
NotifyPropertyChanged("TopType")
NotifyPropertyChanged(NameOf(TopType))
End Sub
Private m_BottomType As New EdgeType("", Visibility.Visible)
@@ -489,7 +491,7 @@ Public Class Assembly
If ItemPartDoor.Type.Contains("F") Then ItemPartDoor.Door.BottomType = value
Next
m_BottomType = value
NotifyPropertyChanged("BottomType")
NotifyPropertyChanged(NameOf(BottomType))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'm_LeftJamb.SetBottomType(value)
'm_RightJamb.SetBottomType(value)
@@ -499,7 +501,7 @@ Public Class Assembly
End Property
Public Sub SetBottomType(sBottomType As EdgeType)
m_BottomType = sBottomType
NotifyPropertyChanged("BottomType")
NotifyPropertyChanged(NameOf(BottomType))
End Sub
Private m_TopMachining As Boolean
@@ -513,7 +515,7 @@ Public Class Assembly
If ItemPartDoor.Type.Contains("F") Then ItemPartDoor.Door.TopMachining = value
Next
m_TopMachining = value
NotifyPropertyChanged("TopMachining")
NotifyPropertyChanged(NameOf(TopMachining))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'm_LeftJamb.TopMachining = m_TopMachining
'm_RightJamb.TopMachining = m_TopMachining
@@ -523,7 +525,7 @@ Public Class Assembly
End Property
Public Sub SetTopMachining(sTopMachining As Boolean)
m_TopMachining = sTopMachining
NotifyPropertyChanged("TopMachining")
NotifyPropertyChanged(NameOf(TopMachining))
End Sub
Private m_LockEdgeMachining As Boolean
@@ -537,7 +539,7 @@ Public Class Assembly
If ItemPartDoor.Type.Contains("F") Then ItemPartDoor.Door.LockEdgeMachining = value
Next
m_LockEdgeMachining = value
NotifyPropertyChanged("LockEdgeMachining")
NotifyPropertyChanged(NameOf(LockEdgeMachining))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'm_LeftJamb.LockEdgeMachining = m_LockEdgeMachining
@@ -548,7 +550,7 @@ Public Class Assembly
End Property
Public Sub SetLockEdgeMachining(sLockEdgeMachining As Boolean)
m_LockEdgeMachining = sLockEdgeMachining
NotifyPropertyChanged("LockEdgeMachining")
NotifyPropertyChanged(NameOf(LockEdgeMachining))
End Sub
Private m_HingeEdgeMachining As Boolean
@@ -562,7 +564,7 @@ Public Class Assembly
If ItemPartDoor.Type.Contains("F") Then ItemPartDoor.Door.HingeEdgeMachining = value
Next
m_HingeEdgeMachining = value
NotifyPropertyChanged("HingeEdgeMachining")
NotifyPropertyChanged(NameOf(HingeEdgeMachining))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'm_LeftJamb.HingeEdgeMachining = value
'm_RightJamb.HingeEdgeMachining = value
@@ -572,7 +574,7 @@ Public Class Assembly
End Property
Public Sub SetHingeEdgeMachining(sHingeEdgeMachining As Boolean)
m_HingeEdgeMachining = sHingeEdgeMachining
NotifyPropertyChanged("HingeEdgeMachining")
NotifyPropertyChanged(NameOf(HingeEdgeMachining))
End Sub
Private m_BottomMachining As Boolean
@@ -586,7 +588,7 @@ Public Class Assembly
If ItemPartDoor.Type.Contains("F") Then ItemPartDoor.Door.BottomMachining = value
Next
m_BottomMachining = value
NotifyPropertyChanged("BottomMachining")
NotifyPropertyChanged(NameOf(BottomMachining))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
'm_LeftJamb.BottomMachining = value
'm_RightJamb.BottomMachining = value
@@ -596,7 +598,7 @@ Public Class Assembly
End Property
Public Sub SetBottomMachining(sBottomMachining As Boolean)
m_BottomMachining = sBottomMachining
NotifyPropertyChanged("BottomMachining")
NotifyPropertyChanged(NameOf(BottomMachining))
End Sub
#End Region ' EdgeType
@@ -610,11 +612,11 @@ Public Class Assembly
End Get
Set(value As Boolean)
m_Exterior = value
NotifyPropertyChanged("Exterior")
NotifyPropertyChanged(NameOf(Exterior))
SetDimension("JambIsCheked")
'JambBIsChecked = value
SetJambBTIsChecked(value)
NotifyPropertyChanged("JambBIsChecked")
NotifyPropertyChanged(NameOf(JambBIsChecked))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
SetThicKnessJamb()
'HingeRabbetJamb()
@@ -623,7 +625,7 @@ Public Class Assembly
End Property
Public Sub SetExterior(bExterior As Boolean)
m_Exterior = bExterior
NotifyPropertyChanged("Exterior")
NotifyPropertyChanged(NameOf(Exterior))
End Sub
Private m_DeltaBottom As String
@@ -640,7 +642,7 @@ Public Class Assembly
End Property
Public Sub SetDeltaBottom(sDeltaBottom As String)
m_DeltaBottom = sDeltaBottom
NotifyPropertyChanged("DeltaBottom")
NotifyPropertyChanged(NameOf(DeltaBottom))
End Sub
#End Region ' Exterior
@@ -654,12 +656,12 @@ Public Class Assembly
End Get
Set(value As Boolean)
m_Dimension = value
NotifyPropertyChanged("Dimension")
NotifyPropertyChanged(NameOf(Dimension))
End Set
End Property
Public Sub SetDimension(bDimension As Boolean)
m_Dimension = bDimension
NotifyPropertyChanged("Dimension")
NotifyPropertyChanged(NameOf(Dimension))
End Sub
Private m_AssemblyHeight As String
@@ -691,13 +693,13 @@ Public Class Assembly
End Get
Set(value As String)
m_AssemblyHeight = value
NotifyPropertyChanged("AssemblyHeight")
NotifyPropertyChanged(NameOf(AssemblyHeight))
SetDimension("Height")
End Set
End Property
Public Sub SetAssemblyHeight(sAssemblyHeight As String)
m_AssemblyHeight = sAssemblyHeight
NotifyPropertyChanged("AssemblyHeight")
NotifyPropertyChanged(NameOf(AssemblyHeight))
End Sub
Private m_AssemblyWidth As String
@@ -725,12 +727,12 @@ Public Class Assembly
m_AssemblyWidth = value
SetWidthJamb()
SetDimension("Width")
NotifyPropertyChanged("AssemblyWidth")
NotifyPropertyChanged(NameOf(AssemblyWidth))
End Set
End Property
Public Sub SetAssemblyWidth(sAssemblyWidth As String)
m_AssemblyWidth = sAssemblyWidth
NotifyPropertyChanged("AssemblyWidth")
NotifyPropertyChanged(NameOf(AssemblyWidth))
End Sub
' questa proprietà è utilizzata per stampare l'altezza della porta nella sezione dei jamb
@@ -775,7 +777,7 @@ Public Class Assembly
End Property
Public Sub SetLockEdgeOverMaterial(sLockEdgeOverMaterial As String)
m_LockEdgeOverMaterial = sLockEdgeOverMaterial
NotifyPropertyChanged("LockEdgeOverMaterial")
NotifyPropertyChanged(NameOf(LockEdgeOverMaterial))
End Sub
Private m_HingeEdgeOverMaterial As String = String.Empty
@@ -804,7 +806,7 @@ Public Class Assembly
End Property
Public Sub SetHingeEdgeOverMaterial(sHingeEdgeOverMaterial As String)
m_HingeEdgeOverMaterial = sHingeEdgeOverMaterial
NotifyPropertyChanged("HingeEdgeOverMaterial")
NotifyPropertyChanged(NameOf(HingeEdgeOverMaterial))
End Sub
Private m_TopOverMaterial As String = String.Empty
@@ -833,7 +835,7 @@ Public Class Assembly
End Property
Public Sub SetTopOverMaterial(sTopOverMaterial As String)
m_TopOverMaterial = sTopOverMaterial
NotifyPropertyChanged("TopOverMaterial")
NotifyPropertyChanged(NameOf(TopOverMaterial))
End Sub
Private m_BottomOverMaterial As String = String.Empty
@@ -862,7 +864,7 @@ Public Class Assembly
End Property
Public Sub SetBottomOverMaterial(sBottomOverMaterial As String)
m_BottomOverMaterial = sBottomOverMaterial
NotifyPropertyChanged("BottomOverMaterial")
NotifyPropertyChanged(NameOf(BottomOverMaterial))
End Sub
#End Region ' OverMaterial
@@ -887,7 +889,7 @@ Public Class Assembly
' setto la sua variabile
If Not IsNothing(m_JambT) Then
m_JambT.IsActive = value
NotifyPropertyChanged("JambTIsChecked")
NotifyPropertyChanged(NameOf(JambTIsChecked))
End If
' se non esiste l'oggeto prima lo creo
SetDimension("JambIsCheked")
@@ -904,7 +906,7 @@ Public Class Assembly
' setto la sua variabile
If Not IsNothing(m_JambB) Then
m_JambB.IsActive = value
NotifyPropertyChanged("JambBIsChecked")
NotifyPropertyChanged(NameOf(JambBIsChecked))
End If
' se non esiste l'oggeto prima lo creo
SetDimension("JambIsCheked")
@@ -915,7 +917,7 @@ Public Class Assembly
OptionModule.m_BottomJambChk = value
If Not IsNothing(m_JambB) Then
m_JambB.IsActive = value
NotifyPropertyChanged("JambBIsChecked")
NotifyPropertyChanged(NameOf(JambBIsChecked))
Map.refSceneManagerVM.RefreshBtn()
End If
End Sub
@@ -930,11 +932,11 @@ Public Class Assembly
' setto la sua variabile
If Not IsNothing(m_JambL) Then
m_JambL.IsActive = value
NotifyPropertyChanged("JambLIsChecked")
NotifyPropertyChanged(NameOf(JambLIsChecked))
End If
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
' se non esiste l'oggeto prima lo creo
SetDimension("JambIsCheked")
End Set
End Property
@@ -948,13 +950,17 @@ Public Class Assembly
' setto la sua variabile
If Not IsNothing(m_JambR) Then
m_JambR.IsActive = value
NotifyPropertyChanged("JambRIsChecked")
NotifyPropertyChanged(NameOf(JambRIsChecked))
End If
' se non esiste l'oggeto prima lo creo
SetDimension("JambIsCheked")
End Set
End Property
#End Region ' Fields & Properties
#Region "METHODS"
#Region "DOOR NUMBER"
' carica il numero di porte da mostrare nella combobox
@@ -981,7 +987,7 @@ Public Class Assembly
Else
OneDoorProperty = False
End If
NotifyPropertyChanged("DoorNumber")
NotifyPropertyChanged(NameOf(DoorNumber))
SetDimension("DoorNumber")
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
Map.refSceneManagerVM.RefreshBtn()
@@ -999,7 +1005,7 @@ Public Class Assembly
Else
OneDoorProperty = False
End If
NotifyPropertyChanged("DoorNumber")
NotifyPropertyChanged(NameOf(DoorNumber))
End Sub
#End Region ' Door Number
@@ -1015,7 +1021,7 @@ Public Class Assembly
Set(value As ObservableCollection(Of PartDoor))
m_ListPartDoor = value
' ogni volta che si aggiunge una compoenente riallinea la lista sotto
NotifyPropertyChanged("ListPartDoorOfDoor")
NotifyPropertyChanged(NameOf(ListPartDoorOfDoor))
End Set
End Property
@@ -1035,7 +1041,7 @@ Public Class Assembly
#End Region ' List Part
#Region "Lettura Assemblato"
#Region "LETTURA ASSEMBLATO"
' messaggi che possono essere restituiti in fase di lettura dell'assemblato
Public Enum ResultReadingAssembInfo
@@ -1045,7 +1051,15 @@ Public Class Assembly
End Enum
' carico il valore finale restituito dalla lettura dell'assembalto (di default errore)
Public bOk As ResultReadingAssembInfo = ResultReadingAssembInfo.ErrorInAssembInfo
Private m_bOk As ResultReadingAssembInfo = ResultReadingAssembInfo.ErrorInAssembInfo
Public Property bOk As ResultReadingAssembInfo
Get
Return m_bOk
End Get
Set(value As ResultReadingAssembInfo)
m_bOk = value
End Set
End Property
' vettore di righe del file ddf in lettura
Private FileContent() As String
@@ -1058,6 +1072,8 @@ Public Class Assembly
If Not File.Exists(sPathDDF) Then
Return
End If
' verifico se il file è un template
Dim bIsTemplate As Boolean = (Path.GetExtension(sPathDDF).ToLower = ".ddt")
ReadAssembly.FileContent = File.ReadAllLines(sPathDDF)
' se il file esiste ma è vuoto
If ReadAssembly.FileContent.Count = 0 Then
@@ -1080,7 +1096,7 @@ Public Class Assembly
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
Else
Map.refSceneManagerVM.EnableRefresh = False
If ReadAssembly.GetDDFDoor(IndexLine, sErrorInfo) = -1 Then
If ReadAssembly.GetDDFDoor(IndexLine, sErrorInfo, bIsTemplate) = -1 Then
' errore nella lettura di un part: blocco tutto
ReadAssembly = Nothing
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = False
@@ -1468,10 +1484,11 @@ Public Class Assembly
End Function
' dopo la lettura delle informazioni dell'assemblato
Private Function GetDDFDoor(IndexLine As Integer, ByRef sErrorInfo As String) As Integer
Private Function GetDDFDoor(IndexLine As Integer, ByRef sErrorInfo As String, Optional ByVal bIsTemplate As Boolean = False) As Integer
Dim Line As Integer = IndexLine
While Line < FileContent.Count - 1 AndAlso Not Search3Dots(FileContent(Line))
Dim Local_PartDoor As New PartDoor
Local_PartDoor.IsTemplate = bIsTemplate
Dim Local_Door As New Part(Local_PartDoor)
' carcio la liste delle propiretà
'CreateNewPropertiesList(Local_Door.PropertiesList, Local_Door.SelectedMaterial)
@@ -1494,7 +1511,13 @@ Public Class Assembly
sDoorPiece = sDoorPiece.Remove(sDoorPiece.LastIndexOf("_"c) + 1)
End If
Map.refCompoPanelVM.GoBackVisibility = Visibility.Visible
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nAssemblyPage
' verifico che la lettura dell'assemblato sia andato a buon fine
If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.bOk = Assembly.ResultReadingAssembInfo.MissingAssembInfo Then
' forzo l'apertura della pagina DOOR
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nDDFPage
Else
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nAssemblyPage
End If
Else
' significa che stiamo per leggere una porta singola, cerco una porta
If Not Local_Door.TypePart.Contains("DO_") Then
@@ -1723,7 +1746,7 @@ Public Class Assembly
' controllo degli oggetti caricati nell'assemblato
Private Function ControlAssemblyInformation() As Boolean
Dim ErrorMessages As String = String.Empty
Select Case bOk
Select Case m_bOk
Case ResultReadingAssembInfo.CorrectAssembInfo
If OptionModule.m_ConfigurationSoftware = ConfigType.Door Then
' 50520=The current ddf is an assembly
@@ -1777,9 +1800,9 @@ Public Class Assembly
Public Function ControlAssembly(Optional ByVal bSaving As Boolean = False) As String
' se è una porta singola oppure le info generali non sono state caricate correttamente non controllo l'assemblato
If bSaving Then
If bOk <> ResultReadingAssembInfo.MissingAssembInfo Then Return String.Empty
If m_bOk <> ResultReadingAssembInfo.MissingAssembInfo Then Return String.Empty
Else
If bOk = ResultReadingAssembInfo.ErrorInAssembInfo OrElse bOk = ResultReadingAssembInfo.MissingAssembInfo Then Return String.Empty
If m_bOk = ResultReadingAssembInfo.ErrorInAssembInfo OrElse m_bOk = ResultReadingAssembInfo.MissingAssembInfo Then Return String.Empty
End If
Dim WritingError As String = String.Empty
Dim DoorTypeList As String = String.Empty
@@ -2072,6 +2095,8 @@ Public Class Assembly
#Region "CreateRefCompo"
#Region "METHODS"
' questo metodo è chiamato dalla proprietà CompoBtn nella classe CompoPanelVM
' dopo aver aggiunto una componente da pulsantiera viene chiamato questo metodo che costruisce il riferimento
' o anche solo esegue la modifica dell'associzaione
@@ -2416,8 +2441,26 @@ Public Class Assembly
Return True
End Function
#End Region ' Methods
#End Region ' CreateRefCompo
#Region "FIELDS & PROPERTIES"
' gestisce la chimata delle funzioni a seconda della modifica eseguita
Public ReadOnly Property JambExists As Boolean
Get
If Not IsNothing(m_JambL) AndAlso Not IsNothing(m_JambR) AndAlso Not IsNothing(m_JambT) Then
Return True
End If
Return False
End Get
End Property
#End Region ' Fields & Properties
#Region "METHODS"
' ha lo scopo di creare una copia dei riferimenti dei PartDoor
' per permettere di scrivere in modo più semplice i metodi
Private Sub SetPartDoorCurrAssembly()
@@ -2442,21 +2485,15 @@ Public Class Assembly
m_Door2 = ListPartDoor(IndexPartDoor).Door
End If
Next
NotifyPropertyChanged("JambExists")
NotifyPropertyChanged(NameOf(JambExists))
End Sub
Public ReadOnly Property JambExists As Boolean
Get
If Not IsNothing(m_JambL) AndAlso Not IsNothing(m_JambR) AndAlso Not IsNothing(m_JambT) Then
Return True
End If
Return False
End Get
End Property
#End Region ' Methods
' gestisce la chimata delle funzioni a seconda della modifica eseguita
#Region "DIMENSIONING"
#Region "METHODS"
' Durante la costruzione di un nuovo assemblato, oppure quando viene aggiunta/rimossa un'anta
' una volta creata la prima porta questa funzione calcola le dimensioni del telaio
Public Sub SetNewDimensionAssembly(ByVal Optional IsNewAssembly As Boolean = False)
@@ -2495,6 +2532,7 @@ Public Class Assembly
Map.refSceneManagerVM.RefreshBtn()
Case "Height"
If m_bOk <> ResultReadingAssembInfo.CorrectAssembInfo Then Return
HeightJamb()
HeightDoor()
TopRabbetJamb()
@@ -2504,6 +2542,7 @@ Public Class Assembly
UpDateAllCompo()
Case "Width"
If m_bOk <> ResultReadingAssembInfo.CorrectAssembInfo Then Return
TopBottomWidth()
TopRabbetJamb()
BottomRabbetJamb()
@@ -2512,10 +2551,12 @@ Public Class Assembly
UpDateAllCompo()
Case "Thickness"
If m_bOk <> ResultReadingAssembInfo.CorrectAssembInfo Then Return
TopRabbetJamb()
UpDateAllCompo()
Case "Swing"
If m_bOk <> ResultReadingAssembInfo.CorrectAssembInfo Then Return
UpDateCompolistOnJamb()
SwingJamb()
SetPartDoorCurrAssembly()
@@ -2523,6 +2564,7 @@ Public Class Assembly
'UpDateAllCompo()
Case "DoorNumber"
If m_bOk <> ResultReadingAssembInfo.CorrectAssembInfo Then Return
ClearRefOnAssembly()
SetPartDoorCurrAssembly()
ReverseDoor()
@@ -2540,9 +2582,13 @@ Public Class Assembly
End Select
End Sub
#End Region ' Methods
#End Region ' Dimensioning
#Region "UpDateRefCompo"
#Region "UPDATEREFCOMPO"
#Region "METHODS"
' ricostruisce tutte le componenti del telaio
Public Sub CreateAssembly(Optional bAllDoors As Boolean = False)
@@ -2860,12 +2906,14 @@ Public Class Assembly
Next
End Sub
#End Region ' Methods
#End Region ' UpDateRefCompo
#End Region ' UpdateRefCompo
#Region "HEIGHT"
#Region "METHODS"
' calcola l'altezza dei JambLeft e JambRight
Public Sub HeightJamb(ByVal Optional IsNewAssembly As Boolean = False)
' se ho impostanto l'area di lavoro non modifico l'altezza dei jamb
@@ -2919,7 +2967,7 @@ Public Class Assembly
If Not IsNothing(m_JambL) Then m_JambL.SetHeight(DoubleToString(HJamb, 4))
If Not IsNothing(m_JambR) Then m_JambR.SetHeight(DoubleToString(HJamb, 4))
End If
NotifyPropertyChanged("AssemblyHeight")
NotifyPropertyChanged(NameOf(AssemblyHeight))
End Sub
@@ -3064,10 +3112,14 @@ Public Class Assembly
End Sub
#End Region ' Methods
#End Region ' Height
#Region "WIDTH"
#Region "METHODS"
' calcola la larghezza dei jamb orizzonatli
Private Sub TopBottomWidth()
' vericfico che almeno uno su tre esista
@@ -3111,7 +3163,7 @@ Public Class Assembly
If Not IsNothing(m_JambB) Then m_JambB.SetWidth(DoubleToString(dWidth2 + dActualWidth, 4))
If Not IsNothing(m_JambT) Then m_JambT.SetWidth(DoubleToString(dWidth2 + dActualWidth, 4))
End Select
NotifyPropertyChanged("AssemblyWidth")
NotifyPropertyChanged(NameOf(AssemblyWidth))
End Sub
@@ -3175,10 +3227,14 @@ Public Class Assembly
'm_RightJamb.SetWidth(m_Width)
End Sub
#End Region ' Methods
#End Region ' Width
#Region "THICKNESS"
#Region "METHODS"
' calcola la dimensione spessore dei Jamb (per tutti lo stesso)
Public Sub SetThicKnessJamb()
If Not IsNothing(m_JambB) Then
@@ -3193,10 +3249,14 @@ Public Class Assembly
If Not IsNothing(m_JambR) Then m_JambL.Thickness = m_Thickness
End Sub
#End Region ' Methods
#End Region ' Thickness
#Region "SWING"
#Region "METHODS"
' se sulla porta singola avviene cambio swing (da LeftHand a RightHand) allora devo invertire i Jamb laterali
' se eistono entrambi i Jamb laterali inverto allora li inverto
Public Sub UpDateCompolistOnJamb()
@@ -3476,6 +3536,8 @@ Public Class Assembly
End If
End Sub
#End Region ' Methods
#End Region ' Swing
Public Sub RefreshJambCheck()
@@ -3527,6 +3589,8 @@ Public Class Assembly
#Region "RABBET"
#Region "METHODS"
' restituisce l'indice della componente "rabbet"
Private Function nCompoRabbet() As Integer
Dim RabbetIndex As Integer = -1
@@ -3588,7 +3652,12 @@ Public Class Assembly
If Not bRabbet Then
'Map.refPartPageVM.CurrPart = Jamb
CurrCompo = Jamb.AddNewCompo(Map.refCompoPanelVM.CompoTypeList(IndexCompoPanel), True)
DirectCast(CurrCompo.CompoParamList(0), ComboBoxParam).SelItem = DirectCast(CurrCompo.CompoParamList(0), ComboBoxParam).ItemList(0)
If Not IsNothing(CurrCompo) Then
DirectCast(CurrCompo.CompoParamList(0), ComboBoxParam).SelItem = DirectCast(CurrCompo.CompoParamList(0), ComboBoxParam).ItemList(0)
Else
' 50180=Warning : {0} does not exist.
MessageBox.Show(String.Format(EgtMsg(50180), Map.refCompoPanelVM.CompoTypeList(IndexCompoPanel).Name & ".frame"), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
End If
Else
CurrCompo = Jamb.CompoList(IndexCompo)
End If
@@ -3611,20 +3680,20 @@ Public Class Assembly
If TypeOf CurrCompoParam Is TextBoxParam Then
Dim TextParam As TextBoxParam = DirectCast(CurrCompoParam, TextBoxParam)
TextParam.m_Value = sThicknessHead
TextParam.NotifyPropertyChanged("Value")
TextParam.NotifyPropertyChanged(NameOf(Value))
End If
CurrCompoParam = CurrCompo.CompoParamList(2)
If TypeOf CurrCompoParam Is TextBoxParam Then
Dim TextParam As TextBoxParam = DirectCast(CurrCompoParam, TextBoxParam)
Dim sRabbetDepth As String = sOverlapTop
TextParam.m_Value = sRabbetDepth
TextParam.NotifyPropertyChanged("Value")
TextParam.NotifyPropertyChanged(NameOf(Value))
End If
CurrCompoParam = CurrCompo.CompoParamList(3)
If TypeOf CurrCompoParam Is TextBoxOnOffParam Then
Dim TextParam As TextBoxOnOffParam = DirectCast(CurrCompoParam, TextBoxOnOffParam)
TextParam.SetIsActive(False)
TextParam.NotifyPropertyChanged("Value")
TextParam.NotifyPropertyChanged(NameOf(Value))
End If
End Sub
@@ -3729,7 +3798,12 @@ Public Class Assembly
If Not bRabbet Then
' lo aggiungo
Local_Compo = Jamb.AddNewCompo(Map.refCompoPanelVM.CompoTypeList(CompoListIndex), True)
DirectCast(Local_Compo.CompoParamList(0), ComboBoxParam).SetSelItem(DirectCast(Local_Compo.CompoParamList(0), ComboBoxParam).ItemList(nIndexSide))
If Not IsNothing(Local_Compo) Then
DirectCast(Local_Compo.CompoParamList(0), ComboBoxParam).SetSelItem(DirectCast(Local_Compo.CompoParamList(0), ComboBoxParam).ItemList(nIndexSide))
Else
' 50180=Warning : {0} does not exist.
MessageBox.Show(String.Format(EgtMsg(50180), Map.refCompoPanelVM.CompoTypeList(CompoListIndex).Name & ".frame"), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
End If
Else
Local_Compo = Jamb.CompoList(IndexCompo)
End If
@@ -3821,7 +3895,7 @@ Public Class Assembly
Else
TextParam.m_Value = DoubleToString(dDeltaT + dThicknessDoor, 4)
End If
TextParam.NotifyPropertyChanged("Value")
TextParam.NotifyPropertyChanged(NameOf(Value))
End If
' depth
CurrCompoParam = CurrCompo.CompoParamList(2)
@@ -3830,7 +3904,7 @@ Public Class Assembly
Dim sRabbetDepth As String = sOverlap
' la profondità deve essere la stessa che è stata definita sul rabbet top
TextParam.m_Value = sRabbetDepth
TextParam.NotifyPropertyChanged("Value")
TextParam.NotifyPropertyChanged(NameOf(Value))
End If
' angle
CurrCompoParam = CurrCompo.CompoParamList(3)
@@ -3838,7 +3912,7 @@ Public Class Assembly
Dim TextOnOffParam As TextBoxOnOffParam = DirectCast(CurrCompoParam, TextBoxOnOffParam)
' disaativo il paramtro Angle
TextOnOffParam.SetIsActive(False)
TextOnOffParam.NotifyPropertyChanged("Value")
TextOnOffParam.NotifyPropertyChanged(NameOf(Value))
End If
Case 1
@@ -3850,7 +3924,7 @@ Public Class Assembly
If TypeOf DirectCast(CurrCompoParam, CompoParam) Is TextBoxParam Then
Dim TextParam As TextBoxParam = DirectCast(CurrCompoParam, TextBoxParam)
TextParam.m_Value = DoubleToString(dDeltaT, 4)
TextParam.NotifyPropertyChanged("Value")
TextParam.NotifyPropertyChanged(NameOf(Value))
End If
' Depth
CurrCompoParam = CurrCompo.CompoParamList(2)
@@ -3858,7 +3932,7 @@ Public Class Assembly
Dim TextParam As TextBoxParam = DirectCast(CurrCompoParam, TextBoxParam)
Dim sRabbetDepth As String = sOverlap
TextParam.m_Value = sRabbetDepth
TextParam.NotifyPropertyChanged("Value")
TextParam.NotifyPropertyChanged(NameOf(Value))
End If
' Angle
CurrCompoParam = CurrCompo.CompoParamList(3)
@@ -3867,19 +3941,28 @@ Public Class Assembly
Dim sAngle As String = "2"
TextOnOffParam.m_Value = sAngle
TextOnOffParam.SetIsActive(True)
TextOnOffParam.NotifyPropertyChanged("Value")
TextOnOffParam.NotifyPropertyChanged(NameOf(Value))
End If
End Select
End Sub
#End Region ' Methods
#End Region ' Rabbet
#End Region ' Rules Assembly
#End Region ' Methods
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
+436 -402
View File
@@ -7,413 +7,433 @@
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<EgtDOORCreator:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</UserControl.Resources>
<UserControl.Resources>
<EgtDOORCreator:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</UserControl.Resources>
<Grid IsEnabled="{Binding EnablePageAssembly}">
<Grid.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DataContext.RefreshCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
<KeyBinding Key="F1" Command="{Binding DataContext.GuideCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
</Grid.InputBindings>
<Grid IsEnabled="{Binding EnablePageAssembly}">
<Grid.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DataContext.RefreshCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
<KeyBinding Key="F1" Command="{Binding DataContext.GuideCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
</Grid.InputBindings>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="3*"/>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Jamb-->
<GroupBox Header="{Binding JambPageMsg}" Margin="2,0,2,0" Grid.ColumnSpan="2"
IsEnabled="{Binding CurrAssembly.JambExists}">
<Grid Margin="0,0,0,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Margin="0.4,2,29.6,3.2"-->
<!--UP-->
<TextBlock Grid.Row="0" Text="{Binding LightUpMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,2,0,2"
Grid.Column="0"/>
<TextBox Grid.Column="1" Grid.Row="0" Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.LightUp, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto" />
<!--Lock-->
<TextBlock Grid.Row="1" Text="{Binding LightLockMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="0"/>
<TextBox Grid.Column="1" Grid.Row="1" Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.LightLock, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--Hinge-->
<TextBlock Grid.Row="2" Text="{Binding LightHingeMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="0"/>
<TextBox Grid.Column="1" Grid.Row="2" Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.LightHinge, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--Bottom-->
<TextBlock Grid.Row="3" Text="{Binding LightBottomMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="0"/>
<TextBox Grid.Column="1" Grid.Row="3" Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.LightBottom, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--ThicknessHead-->
<TextBlock Grid.Row="0" Text="{Binding ThicknessHeadMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,2,0,2"
Grid.Column="2"/>
<TextBox Grid.Row="0" Grid.Column="3"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.ThicknessHead, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--OverlapHinge-->
<TextBlock Grid.Row="1" Text="{Binding OverlapHingeMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="2"/>
<TextBox Grid.Row="1" Grid.Column="3"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.OverlapHinge, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--OverlapLock-->
<TextBlock Grid.Row="2" Text="{Binding OverlapLockMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="2"/>
<TextBox Grid.Row="2" Grid.Column="3"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.OverlapLock, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"
IsEnabled="{Binding CurrAssembly.OneDoorProperty}"/>
<!--DoorsNumber-->
<TextBlock Grid.Row="4" Grid.Column="0" Text="{Binding DoorNumberMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"/>
<ComboBox Grid.Row="4" Grid.Column="1"
MaxWidth="120" Margin="0.4,2,10,3.2"
ItemsSource="{Binding CurrAssembly.DoorListNumber}"
SelectedItem="{Binding CurrAssembly.DoorNumber}"
Style="{StaticResource DoorParamsCmBx}"
Height="Auto"/>
<!--Height-->
<TextBlock Grid.Row="3" Text="{Binding ThicknessMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="2"/>
<TextBox Grid.Row="3" Grid.Column="3"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.Thickness, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--Width-->
<TextBlock Grid.Row="4" Text="{Binding WidthMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="2"/>
<TextBox Grid.Row="4" Grid.Column="3"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.Width, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--OverlapTop-->
<TextBlock Grid.Row="5" Grid.Column="0"
Text="{Binding OverlapTopMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"/>
<TextBox Grid.Row="5" Grid.Column="1"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.OverlapTop, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
</Grid>
</GroupBox>
<!--JAmb Definition Machining and Bevel-->
<GroupBox Header="{Binding JambPageMsg}" Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="4"
Margin="2,0,2,0" IsEnabled="{Binding CurrAssembly.JambExists}">
<Grid Margin="0,0,0,2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="1" Grid.Row="0"
Text="{Binding EdgeMsg}"
VerticalAlignment="Center"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,5,0"/>
<TextBlock Grid.Column="2" Grid.Row="0"
Grid.ColumnSpan="3"
Text="{Binding OverMaterialMsg}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,5,0"/>
<TextBlock Grid.Column="0" Grid.Row="1" Text="{Binding LockedgeMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2" />
<ComboBox Grid.Column="1" Grid.Row="1"
ItemsSource="{Binding CurrAssembly.EdgeTypeList}"
SelectedItem="{Binding CurrAssembly.LockEdgeType}"
Style="{StaticResource DoorEdgeParamsCmBx}"
MaxWidth="120" Margin="0.4,2,10,3.2"/>
<TextBlock Grid.Column="0" Grid.Row="2"
Text="{Binding HingeedgeMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2" />
<ComboBox Grid.Column="1" Grid.Row="2"
ItemsSource="{Binding CurrAssembly.EdgeTypeList}"
SelectedItem="{Binding CurrAssembly.HingeEdgeType}"
Style="{StaticResource DoorEdgeParamsCmBx}"
MaxWidth="120" Margin="0.4,2,10,3.2"/>
<TextBlock Grid.Column="0" Grid.Row="3"
Text="{Binding TopMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2" />
<ComboBox Grid.Column="1" Grid.Row="3"
ItemsSource="{Binding CurrAssembly.EdgeTypeList}"
SelectedItem="{Binding CurrAssembly.TopType}"
Style="{StaticResource DoorEdgeParamsCmBx}"
MaxWidth="120" Margin="0.4,2,10,3.2"/>
<TextBlock Grid.Column="0" Grid.Row="4"
Text="{Binding BottomMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2" />
<ComboBox Grid.Column="1" Grid.Row="4"
ItemsSource="{Binding CurrAssembly.EdgeTypeList}"
SelectedItem="{Binding CurrAssembly.BottomType}"
Style="{StaticResource DoorEdgeParamsCmBx}"
MaxWidth="120" Margin="0.4,2,10,3.2"/>
<!--Machining-->
<CheckBox Grid.Column="2" Grid.Row="1"
Name="LockEdge" Style="{StaticResource DoorParamsChBx}"
IsChecked="{Binding CurrAssembly.LockEdgeMachining}"
/>
<CheckBox Grid.Column="2" Grid.Row="2"
Name="HingeEdge" Style="{StaticResource DoorParamsChBx}"
IsChecked="{Binding CurrAssembly.HingeEdgeMachining}"
/>
<CheckBox Grid.Column="2" Grid.Row="3"
Name="Top" Style="{StaticResource DoorParamsChBx}"
IsChecked="{Binding CurrAssembly.TopMachining}"
/>
<CheckBox Grid.Column="2" Grid.Row="4"
Name="Bottom" Style="{StaticResource DoorParamsChBx}"
IsChecked="{Binding CurrAssembly.BottomMachining}"
/>
<!--Margin="15,2,24.6,3.2"-->
<TextBox Grid.Column="4" Grid.Row="1" Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.LockEdgeOverMaterial, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=LockEdge}"
MaxWidth="120" Margin="10,2,10,3.2"/>
<TextBox Grid.Column="4" Grid.Row="2" Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.HingeEdgeOverMaterial, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=HingeEdge}"
MaxWidth="120" Margin="10,2,10,3.2"/>
<TextBox Grid.Column="4" Grid.Row="3" Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.TopOverMaterial, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=Top}"
MaxWidth="120" Margin="10,2,10,3.2"/>
<TextBox Grid.Column="4" Grid.Row="4" Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.BottomOverMaterial, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=Bottom}"
MaxWidth="120" Margin="10,2,10,3.2"/>
</Grid>
</GroupBox>
<!--Exterior-->
<GroupBox Grid.Row="1" Grid.ColumnSpan="2" Margin="2,0,2,0"
IsEnabled="{Binding CurrAssembly.JambExists}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<CheckBox Grid.Row="0" Grid.Column="5"
Name="Exterior"
Style="{StaticResource DoorParamsChBx}"
IsChecked="{Binding CurrAssembly.Exterior}"
Margin="0,0,2,0" VerticalAlignment="Stretch" Height="Auto"/>
<TextBlock Text="{Binding ExteriorMsg}" Width="Auto"/>
</StackPanel>
</GroupBox.Header>
<!--Jamb-->
<GroupBox Grid.ColumnSpan="2"
Margin="2,0,2,0"
IsEnabled="{Binding CurrAssembly.JambExists}"
Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header>
<TextBlock Text="{Binding JambPageMsg}"
Style="{DynamicResource GeneralDoorParamGrpTxBx}"/>
</GroupBox.Header>
<Grid Margin="0,0,0,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Margin="0.4,2,29.6,3.2"-->
<Grid Margin="0,0,0,2" IsEnabled="{Binding IsChecked, ElementName=Exterior}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Overlap Bottom-->
<TextBlock Grid.Row ="0" Grid.Column="0"
Text="{Binding OverlapBottomMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2" />
<TextBox Grid.Row ="0" Grid.Column="1"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.OverlapBottom, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--Thickness Bottom-->
<TextBlock Grid.Row ="0" Grid.Column="2"
Text="{Binding ThicknessBottomMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2" />
<TextBox Grid.Row ="0" Grid.Column="3"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.ThicknessBottom, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--Depth Bottom-->
<TextBlock Grid.Row ="1" Grid.Column="0"
Text="{Binding DepthBottomMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2" />
<TextBox Grid.Row ="1" Grid.Column="1"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.DepthBottom, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
<!--Delta Bottom-->
<TextBlock Grid.Row ="1" Grid.Column="2"
Text="{Binding DeltaBottomMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2" />
<TextBox Grid.Row ="1" Grid.Column="3"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.DeltaBottom, UpdateSourceTrigger=PropertyChanged}"
MaxWidth="120" Margin="0.4,2,10,3.2"
VerticalAlignment="Stretch" Height="Auto"/>
</Grid>
</GroupBox>
<!--UP-->
<TextBlock Grid.Row="0"
Grid.Column="0"
Text="{Binding LightUpMsg}"
Style="{DynamicResource JambsParams1TxBl}"/>
<TextBox Grid.Row="0"
Grid.Column="1"
Text="{Binding CurrAssembly.LightUp, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--Lock-->
<TextBlock Grid.Row="1"
Grid.Column="0"
Text="{Binding LightLockMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row="1"
Grid.Column="1"
Text="{Binding CurrAssembly.LightLock, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--Hinge-->
<TextBlock Grid.Row="2"
Grid.Column="0"
Text="{Binding LightHingeMsg}"
Style="{DynamicResource JambsParams1TxBl}"/>
<TextBox Grid.Row="2"
Grid.Column="1"
Text="{Binding CurrAssembly.LightHinge, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--Bottom-->
<TextBlock Grid.Row="3"
Grid.Column="0"
Text="{Binding LightBottomMsg}"
Margin="2,0,0,2"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row="3"
Grid.Column="1"
Text="{Binding CurrAssembly.LightBottom, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--ThicknessHead-->
<TextBlock Grid.Row="0"
Grid.Column="2"
Text="{Binding ThicknessHeadMsg}"
Style="{DynamicResource JambsParams1TxBl}"/>
<TextBox Grid.Row="0"
Grid.Column="3"
Text="{Binding CurrAssembly.ThicknessHead, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--OverlapHinge-->
<TextBlock Grid.Row="1"
Grid.Column="2"
Text="{Binding OverlapHingeMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row="1"
Grid.Column="3"
Text="{Binding CurrAssembly.OverlapHinge, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--OverlapLock-->
<TextBlock Grid.Row="2"
Grid.Column="2"
Text="{Binding OverlapLockMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row="2"
Grid.Column="3"
Text="{Binding CurrAssembly.OverlapLock, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding CurrAssembly.OneDoorProperty}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--DoorsNumber-->
<TextBlock Grid.Row="4"
Grid.Column="0"
Text="{Binding DoorNumberMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<ComboBox Grid.Row="4"
Grid.Column="1"
ItemsSource="{Binding CurrAssembly.DoorListNumber}"
SelectedItem="{Binding CurrAssembly.DoorNumber}"
Style="{DynamicResource JambsParamsCmBx}"/>
<!--Height-->
<TextBlock Grid.Row="3"
Grid.Column="2"
Text="{Binding ThicknessMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row="3"
Grid.Column="3"
Text="{Binding CurrAssembly.Thickness, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--Width-->
<TextBlock Grid.Row="4"
Grid.Column="2"
Text="{Binding WidthMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row="4"
Grid.Column="3"
Text="{Binding CurrAssembly.Width, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--OverlapTop-->
<TextBlock Grid.Row="5"
Grid.Column="0"
Text="{Binding OverlapTopMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row="5"
Grid.Column="1"
Text="{Binding CurrAssembly.OverlapTop, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--TotalDimension-->
<GroupBox Grid.Row="2" Grid.ColumnSpan="6" Margin="2,0,2,0"
IsEnabled="{Binding CurrAssembly.JambExists}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<CheckBox Grid.Row="0" Grid.Column="5"
Name="TotalDimension"
Style="{StaticResource DoorParamsChBx}"
</Grid>
</GroupBox>
<!--JAmb Definition Machining and Bevel-->
<GroupBox Grid.Row="0"
Grid.Column="2"
Grid.ColumnSpan="4"
Margin="2,0,2,0"
IsEnabled="{Binding CurrAssembly.JambExists}"
Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header>
<TextBlock Text="{Binding JambPageMsg}"
Style="{DynamicResource GeneralDoorParamGrpTxBx}"/>
</GroupBox.Header>
<Grid Margin="0,0,0,2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"
Grid.Column="1"
Text="{Binding EdgeMsg}"
Style="{DynamicResource JambsBevelTxBl}"/>
<TextBlock Grid.Row="0"
Grid.Column="2"
Grid.ColumnSpan="3"
Text="{Binding OverMaterialMsg}"
Style="{DynamicResource JambsBevel2TxBl}"/>
<TextBlock Grid.Row="1"
Grid.Column="0"
Text="{Binding LockedgeMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<ComboBox Grid.Row="1"
Grid.Column="1"
DisplayMemberPath="Name"
ItemsSource="{Binding CurrAssembly.EdgeTypeList}"
SelectedItem="{Binding CurrAssembly.LockEdgeType}"
Style="{DynamicResource JambsParamsCmBx}"/>
<TextBlock Grid.Row="2"
Grid.Column="0"
Text="{Binding HingeedgeMsg}"
Style="{DynamicResource JambsParams2TxBl}" />
<ComboBox Grid.Row="2"
Grid.Column="1"
DisplayMemberPath="Name"
ItemsSource="{Binding CurrAssembly.EdgeTypeList}"
SelectedItem="{Binding CurrAssembly.HingeEdgeType}"
Style="{DynamicResource JambsParamsCmBx}"/>
<TextBlock Grid.Row="3"
Grid.Column="0"
Text="{Binding TopMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<ComboBox Grid.Row="3"
Grid.Column="1"
DisplayMemberPath="Name"
ItemsSource="{Binding CurrAssembly.EdgeTypeList}"
SelectedItem="{Binding CurrAssembly.TopType}"
Style="{DynamicResource JambsParamsCmBx}"/>
<TextBlock Grid.Row="4"
Grid.Column="0"
Text="{Binding BottomMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<ComboBox Grid.Row="4"
Grid.Column="1"
DisplayMemberPath="Name"
ItemsSource="{Binding CurrAssembly.EdgeTypeList}"
SelectedItem="{Binding CurrAssembly.BottomType}"
Style="{DynamicResource JambsParamsCmBx}"/>
<!--Machining-->
<CheckBox Grid.Row="1"
Grid.Column="2"
Name="LockEdge"
IsChecked="{Binding CurrAssembly.LockEdgeMachining}"
Style="{DynamicResource GeneralCheckBox}"/>
<CheckBox Grid.Row="2"
Grid.Column="2"
Name="HingeEdge"
IsChecked="{Binding CurrAssembly.HingeEdgeMachining}"
Style="{DynamicResource GeneralCheckBox}"/>
<CheckBox Grid.Row="3"
Grid.Column="2"
Name="Top"
IsChecked="{Binding CurrAssembly.TopMachining}"
Style="{DynamicResource GeneralCheckBox}"/>
<CheckBox Grid.Row="4"
Grid.Column="2"
Name="Bottom"
IsChecked="{Binding CurrAssembly.BottomMachining}"
Style="{DynamicResource GeneralCheckBox}"/>
<!--Margin="15,2,24.6,3.2"-->
<TextBox Grid.Row="1"
Grid.Column="4"
Text="{Binding CurrAssembly.LockEdgeOverMaterial, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=LockEdge}"
Style="{DynamicResource CurrAssemblyTxBx}"/>
<TextBox Grid.Row="2"
Grid.Column="4"
Text="{Binding CurrAssembly.HingeEdgeOverMaterial, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=HingeEdge}"
Style="{DynamicResource CurrAssemblyTxBx}"/>
<TextBox Grid.Column="4" Grid.Row="3"
Text="{Binding CurrAssembly.TopOverMaterial, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=Top}"
Style="{DynamicResource CurrAssemblyTxBx}"/>
<TextBox Grid.Column="4" Grid.Row="4"
Text="{Binding CurrAssembly.BottomOverMaterial, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=Bottom}"
Style="{DynamicResource CurrAssemblyTxBx}"/>
</Grid>
</GroupBox>
<!--Exterior-->
<GroupBox Grid.Row="1"
Grid.ColumnSpan="2"
Margin="2,0,2,0"
IsEnabled="{Binding CurrAssembly.JambExists}"
Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<CheckBox Grid.Row="0"
Grid.Column="5"
Name="Exterior"
IsChecked="{Binding CurrAssembly.Exterior}"
Style="{DynamicResource CurrAssemblyChBx}"/>
<TextBlock Text="{Binding ExteriorMsg}"
Style="{DynamicResource GeneralDoorParamGrpTxBx}"/>
</StackPanel>
</GroupBox.Header>
<!--Margin="0.4,2,29.6,3.2"-->
<Grid Margin="0,0,0,2" IsEnabled="{Binding IsChecked, ElementName=Exterior}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Overlap Bottom-->
<TextBlock Grid.Row ="0"
Grid.Column="0"
Text="{Binding OverlapBottomMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row ="0"
Grid.Column="1"
Text="{Binding CurrAssembly.OverlapBottom, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--Thickness Bottom-->
<TextBlock Grid.Row ="0"
Grid.Column="2"
Text="{Binding ThicknessBottomMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row ="0"
Grid.Column="3"
Text="{Binding CurrAssembly.ThicknessBottom, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--Depth Bottom-->
<TextBlock Grid.Row ="1"
Grid.Column="0"
Text="{Binding DepthBottomMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row ="1"
Grid.Column="1"
Text="{Binding CurrAssembly.DepthBottom, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
<!--Delta Bottom-->
<TextBlock Grid.Row ="1"
Grid.Column="2"
Text="{Binding DeltaBottomMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Row ="1"
Grid.Column="3"
Text="{Binding CurrAssembly.DeltaBottom, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource AssemblyParamsTxBx}"/>
</Grid>
</GroupBox>
<!--TotalDimension-->
<GroupBox Grid.Row="2"
Grid.ColumnSpan="6"
Margin="2,0,2,0"
IsEnabled="{Binding CurrAssembly.JambExists}"
Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<CheckBox Grid.Row="0"
Grid.Column="5"
Name="TotalDimension"
IsChecked="{Binding CurrAssembly.Dimension}"
Margin="0,0,2,0" VerticalAlignment="Stretch" Height="Auto"/>
<TextBlock Text="{Binding DimensionMsg}" Width="Auto"/>
</StackPanel>
</GroupBox.Header>
Style="{DynamicResource CurrAssemblyChBx}"/>
<TextBlock Text="{Binding DimensionMsg}"
Style="{DynamicResource GeneralDoorParamGrpTxBx}"/>
</StackPanel>
</GroupBox.Header>
<Grid Margin="0,0,0,2" IsEnabled="{Binding IsChecked, ElementName=TotalDimension}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid Margin="0,0,0,2" IsEnabled="{Binding IsChecked, ElementName=TotalDimension}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<!--Total Height-->
<TextBlock Text="{Binding TotalHeightMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="1"/>
<TextBox Grid.Column="2"
Style="{StaticResource DoorParamsTxBx}"
<!--Total Height-->
<TextBlock Grid.Column="1"
Text="{Binding TotalHeightMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Column="2"
Text="{Binding CurrAssembly.AssemblyHeight, UpdateSourceTrigger=PropertyChanged}"
Margin="0.4,2,39.6,3.2" VerticalAlignment="Stretch" Height="Auto"/>
<!--Total Width-->
<TextBlock Text="{Binding TotalWidthMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="2,0,0,2"
Grid.Column="3"/>
<TextBox Grid.Column="4"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.AssemblyWidth, UpdateSourceTrigger=PropertyChanged}"
Margin="0.4,2,39.6,3.2" VerticalAlignment="Stretch" Height="Auto"/>
</Grid>
</GroupBox>
Style="{DynamicResource DimensionTxBx}"/>
<!--Total Width-->
<TextBlock Grid.Column="3"
Text="{Binding TotalWidthMsg}"
Style="{DynamicResource JambsParams2TxBl}"/>
<TextBox Grid.Column="4"
Text="{Binding CurrAssembly.AssemblyWidth, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource DimensionTxBx}"/>
</Grid>
</GroupBox>
<!--DeltaThickness-->
<TextBlock Text="{Binding DeltaTMsg}"
Style="{StaticResource DoorParamsTxBl}"
Margin="4,4,2,2"
Padding="4"
Grid.ColumnSpan="2"
Grid.Column="2" Grid.Row="1"/>
<TextBox Grid.Column="3" Grid.Row="1"
Style="{StaticResource DoorParamsTxBx}"
Text="{Binding CurrAssembly.DeltaThickness, UpdateSourceTrigger=PropertyChanged}"
Padding="3"
Margin="4" VerticalAlignment="Stretch"
IsEnabled="{Binding CurrAssembly.JambExists}"/>
<Button Grid.Column="4" Grid.ColumnSpan="2" Grid.Row="1"
Padding="3"
Margin="12,25.4,12,23.6" VerticalAlignment="Stretch"
Content="Order" Command="{Binding OrderCmd}"/>
<!--DeltaThickness-->
<TextBlock Grid.Row="1"
Grid.Column="2"
Grid.ColumnSpan="2"
Text="{Binding DeltaTMsg}"
Style="{DynamicResource DeltaThicknessTxBl}"/>
<TextBox Grid.Row="1"
Grid.Column="3"
Text="{Binding CurrAssembly.DeltaThickness, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding CurrAssembly.JambExists}"
Style="{DynamicResource DeltaThicknessTxBx}"/>
<Button Grid.Row="1"
Grid.Column="4"
Grid.ColumnSpan="2"
Content="Order"
Command="{Binding OrderCmd}"
Style="{DynamicResource DeltaThicknessBtn}"/>
<!--Parts-->
<GroupBox Margin="2,0,2,0" Grid.Column="0" Grid.ColumnSpan="6" Grid.Row="3">
<GroupBox.Header >
<TextBlock Text="{Binding JambsAndDoorsMsg}" Style="{StaticResource DoorParamsTxBl}" Height="Auto" />
</GroupBox.Header>
<!--Parts-->
<GroupBox Grid.Row="3"
Grid.Column="0"
Grid.ColumnSpan="6"
Margin="2,0,2,0"
Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header >
<TextBlock Text="{Binding JambsAndDoorsMsg}"
Style="{DynamicResource GeneralDoorParamGrpTxBx}"/>
</GroupBox.Header>
<Grid Margin="0,0,0,2" >
<!--<Grid Margin="0,0,0,2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="20"/>
@@ -437,7 +457,9 @@
<RowDefinition Height="2*"/>
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<!--Jamb Left-->
-->
<!--Jamb Left-->
<!--
<Button x:Name="TopLeftJamb"
Command="{Binding DataContext.JambBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
@@ -471,7 +493,9 @@
IsChecked="{Binding CurrAssembly.JambLIsChecked}"
Grid.Column="1" Grid.ColumnSpan="2"
Grid.Row="4"/>
<!--Jamb Top-->
-->
<!--Jamb Top-->
<!--
<Button x:Name="TopJamb"
Command="{Binding DataContext.JambBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
@@ -485,7 +509,9 @@
IsChecked="{Binding CurrAssembly.JambTIsChecked}"
Grid.Column="5"
Grid.Row="1"/>
<!--Jamb Right-->
-->
<!--Jamb Right-->
<!--
<Button x:Name="LeftRightJamb"
Command="{Binding DataContext.JambBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
@@ -519,7 +545,9 @@
Grid.Column="8" Grid.ColumnSpan="2"
Grid.Row="4" />
<!--Jamb Bottom-->
-->
<!--Jamb Bottom-->
<!--
<Button x:Name="BottomJamb"
Visibility="{Binding IsChecked,
ElementName=Exterior,
@@ -539,17 +567,21 @@
IsChecked="{Binding CurrAssembly.JambBIsChecked}"
Grid.Column="5"
Grid.Row="6"/>
<!--Door-->
-->
<!--Door-->
<!--
<ItemsControl ItemsSource="{Binding CurrAssembly.ListPartDoorOfDoor}"
Grid.Column="5"
Grid.Row="4"
Focusable="True">
<!--<ItemsControl.ItemContainerStyle>
-->
<!--<ItemsControl.ItemContainerStyle>
<Style TargetType="{x:Type ContentPresenter}">
<Setter Property="Visibility" Value="{Binding IsVisible}"/>
</Style>
</ItemsControl.ItemContainerStyle>-->
<!--
<ItemsControl.ItemsPanel >
<ItemsPanelTemplate >
@@ -578,8 +610,10 @@
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</GroupBox>
</Grid>-->
</Grid>
<EgtDOORCreator:JambsAndDoorsSceneHostV Margin="0,0,2,0"/>
</GroupBox>
</Grid>
</UserControl>
+22 -22
View File
@@ -5,30 +5,30 @@
Private DoorButton_MouseOver_Background As SolidColorBrush = DirectCast(New BrushConverter().ConvertFrom("#3CD07606"), SolidColorBrush)
Private DoorButton_MouseOver_Border As SolidColorBrush = DirectCast(New BrushConverter().ConvertFrom("#FF3C7FB1"), SolidColorBrush)
Private Sub RightJamb_MouseEnter(sender As Object, e As Input.MouseEventArgs) Handles LeftRightJamb.MouseEnter, TopRightJamb.MouseEnter, RightRightJamb.MouseEnter
TopRightJamb.BorderBrush = DoorButton_MouseOver_Border
LeftRightJamb.BorderBrush = DoorButton_MouseOver_Border
RightRightJamb.BorderBrush = DoorButton_MouseOver_Border
End Sub
'Private Sub RightJamb_MouseEnter(sender As Object, e As Input.MouseEventArgs) Handles LeftRightJamb.MouseEnter, TopRightJamb.MouseEnter, RightRightJamb.MouseEnter
' TopRightJamb.BorderBrush = DoorButton_MouseOver_Border
' LeftRightJamb.BorderBrush = DoorButton_MouseOver_Border
' RightRightJamb.BorderBrush = DoorButton_MouseOver_Border
'End Sub
Private Sub RightJamb_MouseLeave(sender As Object, e As Input.MouseEventArgs) Handles LeftRightJamb.MouseLeave, TopRightJamb.MouseLeave, RightRightJamb.MouseLeave
TopRightJamb.BorderBrush = DoorButton_Static_Border
LeftRightJamb.BorderBrush = DoorButton_Static_Border
RightRightJamb.BorderBrush = DoorButton_Static_Border
End Sub
'Private Sub RightJamb_MouseLeave(sender As Object, e As Input.MouseEventArgs) Handles LeftRightJamb.MouseLeave, TopRightJamb.MouseLeave, RightRightJamb.MouseLeave
' TopRightJamb.BorderBrush = DoorButton_Static_Border
' LeftRightJamb.BorderBrush = DoorButton_Static_Border
' RightRightJamb.BorderBrush = DoorButton_Static_Border
'End Sub
Private Sub LeftJamb_MouseEnter(sender As Object, e As Input.MouseEventArgs) Handles LeftLeftJamb.MouseEnter, TopLeftJamb.MouseEnter, RightLeftJamb.MouseEnter
If LeftJambChk.IsChecked Then
TopLeftJamb.BorderBrush = DoorButton_MouseOver_Border
LeftLeftJamb.BorderBrush = DoorButton_MouseOver_Border
RightLeftJamb.BorderBrush = DoorButton_MouseOver_Border
End If
End Sub
'Private Sub LeftJamb_MouseEnter(sender As Object, e As Input.MouseEventArgs) Handles LeftLeftJamb.MouseEnter, TopLeftJamb.MouseEnter, RightLeftJamb.MouseEnter
' If LeftJambChk.IsChecked Then
' TopLeftJamb.BorderBrush = DoorButton_MouseOver_Border
' LeftLeftJamb.BorderBrush = DoorButton_MouseOver_Border
' RightLeftJamb.BorderBrush = DoorButton_MouseOver_Border
' End If
'End Sub
Private Sub LeftJamb_MouseLeave(sender As Object, e As Input.MouseEventArgs) Handles LeftLeftJamb.MouseLeave, TopLeftJamb.MouseLeave, RightLeftJamb.MouseLeave
TopLeftJamb.BorderBrush = DoorButton_Static_Border
LeftLeftJamb.BorderBrush = DoorButton_Static_Border
RightLeftJamb.BorderBrush = DoorButton_Static_Border
End Sub
'Private Sub LeftJamb_MouseLeave(sender As Object, e As Input.MouseEventArgs) Handles LeftLeftJamb.MouseLeave, TopLeftJamb.MouseLeave, RightLeftJamb.MouseLeave
' TopLeftJamb.BorderBrush = DoorButton_Static_Border
' LeftLeftJamb.BorderBrush = DoorButton_Static_Border
' RightLeftJamb.BorderBrush = DoorButton_Static_Border
'End Sub
End Class
+80 -71
View File
@@ -1,11 +1,11 @@
Imports System.ComponentModel
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtUILib
Public Class AssemblyPageVM
Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
' copia del riferimento all'assemblato corrente
Public ReadOnly Property CurrAssembly As Assembly
Get
@@ -17,25 +17,9 @@ Public Class AssemblyPageVM
End Get
End Property
' Definizione comandi
Private m_CmdJambBtn As ICommand
Private m_EnterRefreshCmd As ICommand
Private m_CmdOrderBtn As ICommand
' all'avvio del programma definisco come pagina impostata quella dell'Assemblato (altrimenti dovrei definire "FR_", "FL_"..)
Public Property SlectedPart As String = "AssemblyPage"
' Costruttore
Sub New()
Map.SetRefJambPageVM(Me)
End Sub
Sub PrepareEvent()
If Not IsNothing(Map.refInstrumentPanelVM) Then
AddHandler Map.refInstrumentPanelVM.EnableCurrentPage, AddressOf Me.SetStatusPage
End If
End Sub
#Region "Messages"
Public ReadOnly Property JambPageMsg As String
@@ -231,7 +215,75 @@ Public Class AssemblyPageVM
End Get
End Property
#End Region
#End Region ' Messages
' Definizione comandi
Private m_CmdJambBtn As ICommand
Private m_EnterRefreshCmd As ICommand
Private m_CmdOrderBtn As ICommand
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
Map.SetRefJambPageVM(Me)
End Sub
#End Region ' Constructor
#Region "METHODS"
Sub PrepareEvent()
If Not IsNothing(Map.refInstrumentPanelVM) Then
AddHandler Map.refInstrumentPanelVM.EnableCurrentPage, AddressOf Me.SetStatusPage
End If
End Sub
' ricevuto il nome dell'oggetto di tipo Part restituisce il PartDoor che lo contiene
Public Function ReserchPartDoor(TypePart As String) As PartDoor
Dim PD As PartDoor = Nothing
If IsNothing(CurrAssembly) OrElse IsNothing(CurrAssembly.ListPartDoor) Then
Return PD
End If
For IndexPartDoor As Integer = 0 To CurrAssembly.ListPartDoor.Count - 1
If CurrAssembly.ListPartDoor(IndexPartDoor).Door.TypePart.Contains(TypePart) Then
PD = CurrAssembly.ListPartDoor(IndexPartDoor)
Exit For
End If
Next
Return PD
End Function
' carica a video l'ogetto di cui è passato il nome (TypePart)
Private Function LoadSelectedPartDoor(TypePart As String, CompoPanelVisibility As Visibility, PartPageIsReadOnly As Boolean) As Boolean
Dim Local_PD As PartDoor = ReserchPartDoor(TypePart)
If IsNothing(Local_PD) Then Return False
DdfFile.WriteDDFPart(Local_PD.Door, IniFile.m_sTempDir & "\" & TEMP_FILE, True, False)
ExecDoors(Map.refSceneManagerVM.ProjectScene, IniFile.m_sTempDir & "\" & TEMP_FILE, False)
Map.refPartPageVM.CurrPart = Local_PD.Door
Map.refCompoPanelVM.IsVisible = CompoPanelVisibility
Map.refPartPageVM.NotifyPropertyChanged(NameOf(Map.refPartPageVM.VisibilityTopShape))
Map.refPartPageVM.IsRaedOnly = PartPageIsReadOnly
Return True
End Function
Sub SetStatusPage()
NotifyPropertyChanged(NameOf(EnablePageAssembly))
End Sub
Public ReadOnly Property EnablePageAssembly As Boolean
Get
Map.refProjectManagerVM.NotifyPropertyChanged(NameOf(Map.refProjectManagerVM.EnableProjectManager))
Map.refAssemblyManagerVM.NotifyPropertyChanged(NameOf(Map.refAssemblyManagerVM.EnableAssebmlyManager))
If Not IsNothing(Map.refInstrumentPanelVM) Then
Return Map.refInstrumentPanelVM.EnablePage
Else
Return True
End If
End Get
End Property
#End Region ' Methods
#Region "COMMANDS"
@@ -269,12 +321,12 @@ Public Class AssemblyPageVM
' aggiorno elenco quotature
Map.refDimensioningPanelVM.LoadHardwareDimList()
Map.refSceneManagerVM.RefreshBtn()
Map.refProjectManagerVM.NotifyPropertyChanged("VisibilityCreateAssembly")
Map.refProjectManagerVM.NotifyPropertyChanged(NameOf(Map.refProjectManagerVM.VisibilityCreateAssembly))
End Sub
#End Region ' PartBtn
#Region "REFRESH"
#Region "RefreshCmd"
Public ReadOnly Property RefreshCmd As ICommand
Get
@@ -289,9 +341,9 @@ Public Class AssemblyPageVM
Map.refSceneManagerVM.RefreshBtn()
End Sub
#End Region ' Refresh
#End Region ' RefreshCmd
#Region "ORDER"
#Region "OrderCmd"
Public ReadOnly Property OrderCmd As ICommand
Get
@@ -307,56 +359,11 @@ Public Class AssemblyPageVM
OrderWnd.ShowDialog()
End Sub
#End Region ' Order
#End Region ' OrderCmd
#End Region ' Comand
#End Region ' Command
#Region "METHODS"
' ricevuto il nome dell'oggetto di tipo Part restituisce il PartDoor che lo contiene
Public Function ReserchPartDoor(TypePart As String) As PartDoor
Dim PD As PartDoor = Nothing
If IsNothing(CurrAssembly) OrElse IsNothing(CurrAssembly.ListPartDoor) Then
Return PD
End If
For IndexPartDoor As Integer = 0 To CurrAssembly.ListPartDoor.Count - 1
If CurrAssembly.ListPartDoor(IndexPartDoor).Door.TypePart.Contains(TypePart) Then
PD = CurrAssembly.ListPartDoor(IndexPartDoor)
Exit For
End If
Next
Return PD
End Function
' carica a video l'ogetto di cui è passato il nome (TypePart)
Private Function LoadSelectedPartDoor(TypePart As String, CompoPanelVisibility As Visibility, PartPageIsReadOnly As Boolean) As Boolean
Dim Local_PD As PartDoor = ReserchPartDoor(TypePart)
If IsNothing(Local_PD) Then Return False
DdfFile.WriteDDFPart(Local_PD.Door, IniFile.m_sTempDir & "\" & TEMP_FILE, True, False)
ExecDoors(Map.refSceneManagerVM.ProjectScene, IniFile.m_sTempDir & "\" & TEMP_FILE, False)
Map.refPartPageVM.CurrPart = Local_PD.Door
Map.refCompoPanelVM.IsVisible = CompoPanelVisibility
Map.refPartPageVM.NotifyPropertyChanged("VisibilityTopShape")
Map.refPartPageVM.IsRaedOnly = PartPageIsReadOnly
Return True
End Function
Sub SetStatusPage()
NotifyPropertyChanged("EnablePageAssembly")
End Sub
Public ReadOnly Property EnablePageAssembly As Boolean
Get
Map.refProjectManagerVM.NotifyPropertyChanged("EnableProjectManager")
Map.refAssemblyManagerVM.NotifyPropertyChanged("EnableAssebmlyManager")
If Not IsNothing(Map.refInstrumentPanelVM) Then
Return Map.refInstrumentPanelVM.EnablePage
Else
Return True
End If
End Get
End Property
#End Region ' Methods
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
@@ -364,5 +371,7 @@ Public Class AssemblyPageVM
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
+9 -4
View File
@@ -1,11 +1,10 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports EgtWPFLib5
Public Class Association
Inherits VMBase
#Region "METHODS"
Private m_Side As Integer
Public Property Side As Integer
Get
@@ -26,9 +25,15 @@ Public Class Association
End Set
End Property
#End Region ' Methods
#Region "CONSTRUCTOR"
Sub New(ref_PartDoor As PartDoor, ref_nSide As Integer)
m_refPartDoor = ref_PartDoor
Side = ref_nSide
End Sub
#End Region ' Constructor
End Class
+8
View File
@@ -0,0 +1,8 @@
<WindowsFormsHost x:Class="JambsAndDoorsSceneHostV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtUILib="clr-namespace:EgtUILib;assembly=EgtUILib">
<EgtUILib:Scene x:Name="JambsAndDoorsScene"/>
</WindowsFormsHost>
+237
View File
@@ -0,0 +1,237 @@
Imports EgtUILib
Imports EgtUILib.EgtInterface
Imports EgtWPFLib5
Imports System.IO
Public Class JambsAndDoorsSceneHostV
#Region "FIELDS & PROPERTIES"
Private m_nCtx As Integer = -1
Private m_nIdMarked As Integer = GDB_ID.NULL
Private m_bCtrl As Boolean = False
Private m_bShift As Boolean = False
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Creo riferimento a questa classe in CompoWindowMap
Map.SetRefJambsAndDoorsSceneHostV(Me)
' Inizializzazione Scena
PreInitializeScene()
JambsAndDoorsScene.Init()
PostInitializeScene()
' Imposto stato gestione mouse diretto della scena a nessuno
JambsAndDoorsScene.SetStatusNull()
EgtSetCurrentContext(JambsAndDoorsScene.GetCtx())
End Sub
#End Region ' Constructor
#Region "METHODS"
Private Sub Load() Handles Me.Loaded
EgtNewFile()
LoadAssemblyProject()
PreInitializeScene()
End Sub
Private Sub PreInitializeScene()
' imposto colore di default
Dim DefColor As New Color3d(0, 0, 0)
GetMainPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
JambsAndDoorsScene.SetDefaultMaterial(DefColor)
' imposto colori sfondo
Dim BackTopColor As Color3d
If Not IsNothing(Map.refOptionsVM) AndAlso Map.refOptionsVM.SelectedTheme.Name = "Default" Then
BackTopColor = New Color3d(192, 192, 192)
Else
BackTopColor = New Color3d(0, 123, 167)
End If
'GetMainPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor)
Dim BackBotColor As New Color3d(BackTopColor)
GetMainPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor)
JambsAndDoorsScene.SetViewBackground(BackTopColor, BackBotColor)
' imposto colore di evidenziazione
Dim MarkColor As New Color3d(255, 255, 0)
GetMainPrivateProfileColor(S_SCENE, K_MARK, MarkColor)
JambsAndDoorsScene.SetMarkMaterial(MarkColor)
' imposto colore per superfici selezionate
Dim SelSurfColor As New Color3d(255, 255, 192)
GetMainPrivateProfileColor(S_SCENE, K_SELSURF, SelSurfColor)
JambsAndDoorsScene.SetSelSurfMaterial(SelSurfColor)
' imposto tipo e colore del rettangolo di zoom
Dim bOutline As Boolean = True
Dim ZwColor As New Color3d(0, 0, 0)
GetMainPrivateProfileZoomWin(S_SCENE, K_ZOOMWIN, bOutline, ZwColor)
JambsAndDoorsScene.SetZoomWinAttribs(bOutline, ZwColor)
' imposto colore della linea di distanza
Dim DstLnColor As New Color3d(255, 0, 0)
GetMainPrivateProfileColor(S_SCENE, K_DISTLINE, DstLnColor)
JambsAndDoorsScene.SetDistLineMaterial(DstLnColor)
' imposto parametri OpenGL
Dim nDriver As Integer = GetMainPrivateProfileInt(S_OPENGL, K_DRIVER, 3)
Dim b2Buff As Boolean = (GetMainPrivateProfileInt(S_OPENGL, K_DOUBLEBUFFER, 1) <> 0)
Dim nColorBits As Integer = GetMainPrivateProfileInt(S_OPENGL, K_COLORBITS, 32)
Dim nDepthBits As Integer = GetMainPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32)
JambsAndDoorsScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
End Sub
Private Sub PostInitializeScene()
' imposto tipo coordinate
JambsAndDoorsScene.SetGridCursorPos(True)
' modo di visualizzazione
Dim nShowMode As Integer = SM.SHADING 'GetMainPrivateProfileInt(S_SCENE, K_SHOWMODE, SM.HIDDENLINE)
EgtSetShowMode(DirectCast(nShowMode, SM))
End Sub
'Private Sub OnMouseDownScene() Handles HardwareHelpScene.OnMouseDownScene
' EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
'End Sub
Private Sub LoadAssemblyProject()
EgtSetCurrentContext(JambsAndDoorsScene.GetCtx())
Dim FileName As String = IniFile.m_CompoDir & "\" & "Assembly_1_Door" & NHE_EXTENSION
If String.IsNullOrWhiteSpace(FileName) OrElse Not File.Exists(FileName) Then
EgtNewFile()
Else
EgtOpenFile(FileName)
EgtSetView(VT.ISO_SW, False)
EgtZoom(ZM.ALL, True)
End If
' Reimposto il contesto principale
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
Map.refSceneManagerVM.RefreshBtn()
End Sub
Friend Sub CleanHelpProject()
EgtSetCurrentContext(JambsAndDoorsScene.GetCtx())
EgtNewFile()
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
End Sub
Friend Sub ResetAllMarks()
Dim nId As Integer = EgtGetFirstPart()
While nId <> GDB_ID.NULL
' Recupero l'identificativo del pezzo cui appartiene
EgtResetMark(nId)
nId = EgtGetNext(nId)
End While
EgtDraw()
End Sub
Friend Sub SetMarkCurrId(nPartId As Integer)
If m_nIdMarked <> nPartId Then
EgtResetMark(m_nIdMarked)
End If
EgtSetMark(nPartId)
m_nIdMarked = nPartId
End Sub
''' <summary>
''' Evidenzio il profilo dell'anta
''' </summary>
Private Sub MyMouseOver(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles JambsAndDoorsScene.OnMouseMoveScene
' Verifico se selezionato indicativo di pezzo
EgtSetCurrentContext(JambsAndDoorsScene.GetCtx())
EgtSetObjFilterForSelWin(True, True, True, True, True)
Dim nSel As Integer
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSel)
Dim nId As Integer = EgtGetFirstObjInSelWin()
While nId <> GDB_ID.NULL
' Recupero l'identificativo del pezzo cui appartiene
Dim nPartId As Integer = EgtGetParent(EgtGetParent(nId))
Dim sNamePartId As String = String.Empty
EgtGetName(nPartId, sNamePartId)
Select Case sNamePartId
Case "DOOR", "FRAME_LEFT", "FRAME_RIGHT", "FRAME_TOP"
SetMarkCurrId(nPartId)
Exit While
End Select
nId = EgtGetNextObjInSelWin()
End While
If nId = GDB_ID.NULL Then
m_nIdMarked = GDB_ID.NULL
ResetAllMarks()
End If
EgtDraw()
' Reimposto contesto principale progetto
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
End Sub
''' <summary>
''' Recupero l'anta selezionata
''' </summary>
Private Sub MyMouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles JambsAndDoorsScene.OnMouseDownScene
EgtSetCurrentContext(JambsAndDoorsScene.GetCtx())
If m_bCtrl Then Return
EgtSetObjFilterForSelWin(True, True, True, True, True)
Dim nSel As Integer
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSel)
Dim nId As Integer = EgtGetFirstObjInSelWin()
While nId <> GDB_ID.NULL
' Recupero l'identificativo del pezzo cui appartiene
Dim nPartId As Integer = EgtGetParent(EgtGetParent(nId))
Dim sNamePartId As String = String.Empty
EgtGetName(nPartId, sNamePartId)
Select Case sNamePartId
Case "DOOR"
Map.refAssemblyPageVM.JambBtn("DO_1")
Case "FRAME_LEFT"
If m_bShift Then
Map.refAssemblyPageVM.CurrAssembly.JambLIsChecked = Not Map.refAssemblyPageVM.CurrAssembly.JambLIsChecked
Exit While
End If
Map.refAssemblyPageVM.JambBtn(ConstGen.PART_FRAME_LEFT)
Case "FRAME_RIGHT"
Map.refAssemblyPageVM.JambBtn(ConstGen.PART_FRAME_RIGHT)
Case "FRAME_TOP"
Map.refAssemblyPageVM.JambBtn(ConstGen.PART_FRAME_TOP)
Case Else
Exit While
End Select
nId = EgtGetNextObjInSelWin()
End While
' Reimposto contesto principale progetto
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
Map.refSceneManagerVM.RefreshBtn()
End Sub
Private Sub OnSceneKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles JambsAndDoorsScene.KeyDown
If e.KeyValue = System.Windows.Forms.Keys.Control OrElse e.KeyValue = System.Windows.Forms.Keys.ControlKey Then m_bCtrl = True
If e.KeyValue = Forms.Keys.Shift OrElse e.KeyValue = Forms.Keys.ShiftKey Then m_bShift = True
End Sub
Private Sub OnSceneKeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles JambsAndDoorsScene.KeyUp
m_bCtrl = False
m_bShift = False
End Sub
Friend Sub SelectCurrDoor(Param As CompoParam)
EgtSetCurrentContext(JambsAndDoorsScene.GetCtx())
Dim FirstPart As Integer = EgtGetFirstPart()
If FirstPart = GDB_ID.NULL Then
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
Return
End If
For Each Compo In Map.refHardwarePageVM.CurrHardware.GroupChapters
For Each CurrParam In Compo.CompoParamList
If Not IsNothing(CurrParam.LayerName) Then
EgtSetStatus(EgtGetFirstNameInGroup(FirstPart, CurrParam.LayerName), If(CurrParam.LayerName = Param.LayerName, GDB_ST.ON_, GDB_ST.OFF))
End If
'EgtSetStatus(EgtGetFirstNameInGroup(FirstPart, CurrParam.DDFName), If(CurrParam.DDFName = Param.DDFName, GDB_ST.ON_, GDB_ST.OFF))
Next
Next
EgtDraw()
EgtSetCurrentContext(Map.refSceneManagerVM.ProjectScene.GetCtx())
End Sub
#End Region ' Methods
End Class
+16 -5
View File
@@ -1,12 +1,21 @@
Imports System.ComponentModel
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtUILib
Imports System.Collections.ObjectModel
Imports EgtWPFLib5
Public Class PartDoor
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private m_IsTemplate As Boolean = False
Public Property IsTemplate As Boolean
Get
Return m_IsTemplate
End Get
Set(value As Boolean)
m_IsTemplate = value
End Set
End Property
Private m_Door As Part
Public Property Door As Part
Get
@@ -43,7 +52,7 @@ Public Class PartDoor
Public Sub SetIsChecked(bIsChecked As Boolean)
m_IsChecked = bIsChecked
m_Door.IsActive = bIsChecked
NotifyPropertyChanged("IsChecked")
NotifyPropertyChanged(NameOf(IsChecked))
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Sub
@@ -63,4 +72,6 @@ Public Class PartDoor
End Get
End Property
#End Region ' Fields & Properties
End Class
+32 -21
View File
@@ -1,9 +1,9 @@
<UserControl x:Class="AssemblyManagerV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
Height="30">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
Height="30">
<UserControl.Resources>
<EgtDOORCreator:PathConverter x:Key="PathConverter"/>
@@ -12,7 +12,7 @@
</UserControl.Resources>
<!--Visibility="{Binding CurrProject.Name, Converter={StaticResource ProjectVisibilityConverter}, UpdateSourceTrigger=PropertyChanged}"-->
<Grid IsEnabled="{Binding EnableAssebmlyManager}"
Visibility="{Binding VisibilityDoorList}">
Visibility="{Binding VisibilityDoorList}">
<Grid.RowDefinitions>
<RowDefinition Height="18*"/>
<RowDefinition Height="18*"/>
@@ -24,9 +24,9 @@
</Grid.ColumnDefinitions>
<ListBox PreviewMouseWheel="ListBox_PreviewMouseWheel"
ItemsSource="{Binding CurrProject.AssemblyList}"
SelectedItem="{Binding CurrProject.SelAssemblyName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource DoorListBox}" Name="AssemblyList" Grid.ColumnSpan="2" Margin="0,0,28,0.4" Grid.RowSpan="2">
ItemsSource="{Binding CurrProject.AssemblyList}"
SelectedItem="{Binding CurrProject.SelAssemblyName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource DoorListBox}" Name="AssemblyList" Grid.ColumnSpan="2" Margin="0,0,28,0.4" Grid.RowSpan="2">
<!--SelectionChanged="AssemblyList_SelectedItem"-->
<Interactivity:Interaction.Behaviors>
<EgtDOORCreator:ScrollIntoViewForListBox/>
@@ -51,10 +51,13 @@
<ListBox.ItemTemplate>
<DataTemplate>
<RadioButton GroupName="DoorGroup"
Height="28" MaxWidth="150" Margin="0,0,2,0" Padding="5,0,5,0"
Style="{StaticResource {x:Type ToggleButton}}"
IsChecked="{Binding Path=IsSelected, RelativeSource={
RelativeSource AncestorType={x:Type ListBoxItem}}}">
Height="28"
MaxWidth="150"
Margin="0,0,2,0"
Padding="5,0,5,0"
Style="{StaticResource {x:Type ToggleButton}}"
IsChecked="{Binding Path=IsSelected, RelativeSource={
RelativeSource AncestorType={x:Type ListBoxItem}}}">
<RadioButton.Content>
<TextBlock Text="{Binding GraphicName}"/>
</RadioButton.Content>
@@ -64,18 +67,26 @@
</ListBox>
<Button Grid.Column="1"
Height="20" Width="20" VerticalAlignment="Center"
Margin="3,5,5,5.4" Command="{Binding AddAssembly_Command}"
ToolTip="{Binding AddNewDoorToolTip}"
Focusable="False" Grid.RowSpan="2">
Grid.RowSpan="2"
Height="20"
Width="20"
VerticalAlignment="Center"
Margin="3,5,5,5.4"
Focusable="False"
Command="{Binding AddAssembly_Command}"
ToolTip="{Binding AddNewDoorToolTip}">
<Image Source="/Resources/TopCommandBar/Add.png" Stretch="Uniform"/>
<!--<Image Source="/Resources/TopCommandBar/NewFile.png" Stretch="Uniform"/>-->
</Button>
<Button Grid.Column="2"
Height="20" Width="20" VerticalAlignment="Center"
Margin="0,5,4.8,5.4" Command="{Binding RemoveAssembly_Command}"
ToolTip="{Binding RemoveDoorToolTip}"
Focusable="False" Grid.RowSpan="2">
Grid.RowSpan="2"
Height="20"
Width="20"
VerticalAlignment="Center"
Margin="0,5,4.8,5.4"
Focusable="False"
Command="{Binding RemoveAssembly_Command}"
ToolTip="{Binding RemoveDoorToolTip}">
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
<!--<Image Source="/Resources/TopCommandBar/Delete.png" Stretch="Uniform"/>-->
</Button>
+4
View File
@@ -1,5 +1,7 @@
Public Class AssemblyManagerV
#Region "METHODS"
Private Sub Door_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs)
Dim Item As ListBoxItem = DirectCast(sender, ListBoxItem)
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
@@ -44,4 +46,6 @@
End Sub
#End Region ' Methods
End Class
+101 -42
View File
@@ -6,6 +6,8 @@ Imports EgtWPFLib5
Public Class AssemblyManagerVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
' creiamo un nuovo progetto: un nome e una lista di porte
Private m_CurrProject As New Project
Public Property CurrProject As Project
@@ -14,18 +16,18 @@ Public Class AssemblyManagerVM
End Get
Set(value As Project)
m_CurrProject = value
NotifyPropertyChanged("CurrProject")
NotifyPropertyChanged(NameOf(CurrProject))
End Set
End Property
Private m_VisibilityDoorList As Visibility = Visibility.Collapsed
Public Property VisibilityDoorList As Visibility
Get
Return m_VisibilityDoorList
Return m_VisibilityDoorList
End Get
Set(value As Visibility)
m_VisibilityDoorList = value
NotifyPropertyChanged("VisibilityDoorList")
NotifyPropertyChanged(NameOf(VisibilityDoorList))
End Set
End Property
@@ -39,7 +41,7 @@ Public Class AssemblyManagerVM
End Get
End Property
#Region "MESSAGES"
#Region "Messages"
Public ReadOnly Property AddNewDoorToolTip As String
Get
@@ -53,16 +55,22 @@ Public Class AssemblyManagerVM
End Get
End Property
#End Region 'MESSAGES
#End Region 'Messages
' Definizione comandi
Private m_cmdAddAssembly As ICommand
Private m_cmdRemoveAssembly As ICommand
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
Map.SetRefDoorManagerVM(Me)
End Sub
#End Region ' Constructor
#Region "METHODS"
#Region "Apertura e salvataggio"
@@ -81,7 +89,9 @@ Public Class AssemblyManagerVM
If OptionModule.m_ConfigurationSoftware = ConfigType.Door Then
' ricarico la lista completa degli swing
NewAssName.SelAssembly.ListPartDoor(0).Door.SwingTypeList = OptionModule.m_SwingTypeList
NewAssName.SelAssembly.ListPartDoor(0).Door.SetSwing(OptionModule.m_Swing)
If String.IsNullOrEmpty(NewAssName.SelAssembly.ListPartDoor(0).Door.Swing) Then
NewAssName.SelAssembly.ListPartDoor(0).Door.SetSwing(OptionModule.m_Swing)
End If
DdfFile.WriteDDFPart(NewAssName.SelAssembly.ListPartDoor(0).Door, sTempFile, False, False)
' assegno la porte salvata nel CurrPart.ddf come porta corrente del progetto
Map.refPartPageVM.CurrPart = NewAssName.SelAssembly.ListPartDoor(0).Door
@@ -129,40 +139,73 @@ Public Class AssemblyManagerVM
' 50540 = The current ddf is a part of a frame, do you want to save?
If MessageBox.Show(EgtMsg(50540), EgtMsg(50144), MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No) = MessageBoxResult.Yes Then
DdfFile.SaveErrorCompo = True
DdfFile.WriteDDFPart(SavedAssName.SelAssembly.ListPartDoor(0).Door, SavedAssName.Name, True, False)
Dim _IsDDF As Boolean = IsCurrentFileDDF(SavedAssName.Name)
DdfFile.WriteDDFPart(SavedAssName.SelAssembly.ListPartDoor(0).Door, SavedAssName.Name, _IsDDF, False)
DdfFile.SaveErrorCompo = False
Else
Return False
End If
Else
DdfFile.SaveErrorCompo = True
DdfFile.WriteDDFPart(SavedAssName.SelAssembly.ListPartDoor(0).Door, SavedAssName.Name, True, False)
Dim _IsDDF As Boolean = IsCurrentFileDDF(SavedAssName.Name)
DdfFile.WriteDDFPart(SavedAssName.SelAssembly.ListPartDoor(0).Door, SavedAssName.Name, _IsDDF, False)
DdfFile.SaveErrorCompo = False
End If
Else
' se il ddf che sto leggendo è composto dal al massimo due parti significa che c'è un errore
' Se il ddf che sto leggendo è composto dal al massimo due parti significa che c'è un errore
If SavedAssName.SelAssembly.bOk = Assembly.ResultReadingAssembInfo.CorrectAssembInfo AndAlso
SavedAssName.SelAssembly.ListPartDoor.Count < 3 Then
' se sto salvando meno di tre componenti significa che mancano qualche pezzo per essere un assemblato
' Se sto salvando meno di tre componenti significa che mancano qualche pezzo per essere un assemblato
SavedAssName.SelAssembly.bOk = Assembly.ResultReadingAssembInfo.MissingAssembInfo
End If
Dim ErrorMessage As String = SavedAssName.SelAssembly.ControlAssembly(True)
Dim m_MessageBoxResult As MessageBoxResult = MessageBoxResult.Cancel
If Not String.IsNullOrEmpty(ErrorMessage) Then
If Not MessageBox.Show(ErrorMessage, EgtMsg(50144), MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No) = MessageBoxResult.Yes Then
Return False
' Richiedo di scegliere se salvare come porta singola oppure come assemblato (altrimenti annullo il salvataggio)
If GetMainPrivateProfileInt(S_GENERAL, K_SAVEASSINGLEDOOR, 0) <> 0 Then
' 50732=Save as Assembly (YES), Single door (NO).
m_MessageBoxResult = MessageBox.Show(EgtMsg(50732), EgtMsg(50144), MessageBoxButton.YesNoCancel, MessageBoxImage.Warning, MessageBoxResult.No)
If m_MessageBoxResult = MessageBoxResult.Cancel Then
' interrompo il salvataggio
Return False
End If
If m_MessageBoxResult = MessageBoxResult.Yes Then
' Procedo a sovrascrivere il file come ASSEMBALTO
DdfFile.SaveErrorCompo = True
DdfFile.WriteDDFAssembly(SavedAssName.SelAssembly, SavedAssName.Name, True)
DdfFile.SaveErrorCompo = False
ElseIf m_MessageBoxResult = MessageBoxResult.No Then
' Procedo a sovrascrivere il file come SINGLE DOOR
DdfFile.SaveErrorCompo = True
Dim _IsDDF As Boolean = IsCurrentFileDDF(SavedAssName.Name)
DdfFile.WriteDDFPart(SavedAssName.SelAssembly.ListPartDoor(0).Door, SavedAssName.Name, _IsDDF, False)
DdfFile.SaveErrorCompo = False
End If
Else
' Avviso che sto per salvare una porta singola come assemblato (altrimenti annullo il salvataggio)
If Not MessageBox.Show(ErrorMessage, EgtMsg(50144), MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No) = MessageBoxResult.Yes Then
Return False
End If
' Procedo a sovrascrivere il file
DdfFile.SaveErrorCompo = True
DdfFile.WriteDDFAssembly(SavedAssName.SelAssembly, SavedAssName.Name, True)
DdfFile.SaveErrorCompo = False
End If
Else
' Non ci sono errori: procedo a sovrascrivere il file
DdfFile.SaveErrorCompo = True
DdfFile.WriteDDFAssembly(SavedAssName.SelAssembly, SavedAssName.Name, True)
DdfFile.SaveErrorCompo = False
End If
DdfFile.SaveErrorCompo = True
DdfFile.WriteDDFAssembly(SavedAssName.SelAssembly, SavedAssName.Name, True)
DdfFile.SaveErrorCompo = False
End If
' controllo che il salvataggio sia andato a buon fine
If bConfirmSavin Then
SavedAssName.IsModified = False
' ogni progetto salvato è l'ultimo da aprire, anche se il programma è chiuso dall'HardwareManager
WriteMainPrivateProfileString(S_LAUNCHERWINDOW, K_LASTPROJECT, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name)
SavedAssName.NotifyPropertyChanged("IsModify")
SavedAssName.NotifyPropertyChanged(NameOf(SavedAssName.IsModified))
Else
Return False
End If
@@ -321,18 +364,18 @@ Public Class AssemblyManagerVM
End Select
Map.refMainWindowVM.selectedWatcher = MainWindowVM.WatcherCalling.NoEvents
' se sono in modalità hardware allora esco senza caricare l'elenco delle porte
If Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nHardwarePage then Return true
'-------------------------------------------------------------------------------------------------------------------------------------------------
If Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nHardwarePage Then Return True
'-------------------------------------------------------------------------------------------------------------------------------------------------
' devo ricalcolare l'elenco delle porte nel progetto corrente:
If OptionModule.m_SingleDoor then Return True
If OptionModule.m_SingleDoor Then Return True
' calcolo l'elenco delle porte solo dopo il salvataggio della porta corrente
If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified then Return true
If Not IsNothing( Map.refAssemblyManagerVM.CurrProject) andAlso Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.Name) then
If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified Then Return True
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject) AndAlso Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.Name) Then
Dim CurrAssemblyName As String = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name
Map.refAssemblyManagerVM.CurrProject.AssemblyList = New ObservableCollection(Of AssemblyName)
Dim DDFArray()as String = Directory.GetFiles(Map.refAssemblyManagerVM.CurrProject.Name)
For IndexFile As Integer = 0 to DDFArray.Count - 1
If Path.GetExtension(DDFArray(IndexFile)) <> DDF_EXTENSION then
Dim DDFArray() As String = Directory.GetFiles(Map.refAssemblyManagerVM.CurrProject.Name)
For IndexFile As Integer = 0 To DDFArray.Count - 1
If Path.GetExtension(DDFArray(IndexFile)) <> DDF_EXTENSION Then
Continue For
End If
Dim NewAssembly As New AssemblyName
@@ -340,12 +383,12 @@ Public Class AssemblyManagerVM
NewAssembly.IsModified = False
Map.refAssemblyManagerVM.CurrProject.AssemblyList.Add(NewAssembly)
Next
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) then
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
Try
'Map.refAssemblyManagerVM.CurrProject = LocalCurrProject
'LocalCurrProject.SelAssemblyName = LocalCurrProject.AssemblyList.First(Function(x) x.Name = Local_AssemblyName.Name)
Map.refAssemblyManagerVM.CurrProject = Map.refAssemblyManagerVM.CurrProject
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = Map.refAssemblyManagerVM.CurrProject.AssemblyList.First(Function(x) x.Name = CurrAssemblyName)
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = Map.refAssemblyManagerVM.CurrProject.AssemblyList.First(Function(x) x.Name = CurrAssemblyName)
Catch ex As Exception
EgtOutLog("Aggiornamento Progetto Corrente: impossibile caricare ultima porta")
End Try
@@ -372,8 +415,8 @@ Public Class AssemblyManagerVM
Next
Next
End If
End If
Return True
End If
Return True
End Function
' ricerca il tipo di compoente chiamato
@@ -446,7 +489,7 @@ Public Class AssemblyManagerVM
If Not bBrandExists OrElse Not bFileExists Then
'' se la compoenente che sto caricando era corretta
'ErrCompo.LoadByDefault = True
' se il brand non esiste, ma è selezionato
' se il brand non esiste, ma è selezionato
If Not bBrandExists Then
ErrCompo.MissingDirectory = True
ErrCompo.MissingFile = True
@@ -979,6 +1022,12 @@ Public Class AssemblyManagerVM
OpenedAssName.IsModified = Part.FirstReadingEdge
If OptionModule.m_ConfigurationSoftware = ConfigType.Door Then
DdfFile.WriteDDFPart(OpenedAssName.SelAssembly.ListPartDoor(0).Door, sTempFile, True, False)
If OptionModule.AdjustDDT Then
DdfFile.WriteDDFPart(OpenedAssName.SelAssembly.ListPartDoor(0).Door, OptionModule.SaveFileNameFromArgs, True, False)
' TERMINO TUTTO SUBITO
BlindProgLog("Scrittura file '.ddf' terminata")
End
End If
' aggiorno elenco quotature
Map.refDimensioningPanelVM.LoadHardwareDimList()
ExecDoors(Map.refSceneManagerVM.ProjectScene, sTempFile, False)
@@ -1004,7 +1053,16 @@ Public Class AssemblyManagerVM
If Assembly.Refreshing Then EgtZoom(ZM.ALL)
m_CurrProject.SelAssemblyName.SelAssembly.MatchCompo()
m_CurrProject.SelAssemblyName.SelAssembly.UpDateAllOrigValue()
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nAssemblyPage
' Se mancano le info per generare l'assemblato accedo direttamente alla prima porta
If m_CurrProject.SelAssemblyName.SelAssembly.bOk = Assembly.ResultReadingAssembInfo.MissingAssembInfo Then
If m_CurrProject.SelAssemblyName.SelAssembly.ListPartDoorOfDoor.Count > 0 Then
Map.refAssemblyPageVM.JambBtn(m_CurrProject.SelAssemblyName.SelAssembly.ListPartDoorOfDoor(0).Type)
Else
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nAssemblyPage
End If
Else
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nAssemblyPage
End If
End If
' ogni progetto salvato è l'ultimo da aprire, anche se il programma è chiuso dall'HardwareManager
' controllo che esiste almeno un file aperto
@@ -1072,7 +1130,7 @@ Public Class AssemblyManagerVM
Public Function ManageModified() As Boolean
' verifico se selezionato esiste e modificato
If Not IsNothing (m_CurrProject) AndAlso Not IsNothing(m_CurrProject.SelAssemblyName) AndAlso m_CurrProject.SelAssemblyName.IsModified Then
If Not IsNothing(m_CurrProject) AndAlso Not IsNothing(m_CurrProject.SelAssemblyName) AndAlso m_CurrProject.SelAssemblyName.IsModified Then
Dim sText As String = String.Format(EgtMsg(50109), Path.GetFileNameWithoutExtension(m_CurrProject.SelAssemblyName.Name))
Select Case MessageBox.Show(sText, "", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
Case MessageBoxResult.Yes
@@ -1303,7 +1361,8 @@ Public Class AssemblyManagerVM
' creo le Ante
For IndexDoor As Integer = 0 To nDoorNumber - 1
Dim Type As String = ConstGen.PART_DO_ & IndexDoor + 1
If IsNothing(ReserchPartDoor(Type)) Then
Dim _PartDoor As PartDoor = ReserchPartDoor(Type)
If IsNothing(_PartDoor) Then
Dim Local_PartDoor As New PartDoor
Local_PartDoor.Door = New Part(Local_PartDoor)
Local_PartDoor.Door.TypePart = Type
@@ -1313,7 +1372,7 @@ Public Class AssemblyManagerVM
'CreateNewPropertiesList(Local_PartDoor.Door.PropertiesList, Local_PartDoor.Door.SelectedMaterial)
CurrAssembly.ListPartDoor.Add(Local_PartDoor)
Else
'CurrAssembly.ListPartDoor.Add(ReserchPartDoor(Type))
CurrAssembly.ListPartDoor.Add(_PartDoor)
End If
Next
@@ -1355,7 +1414,7 @@ Public Class AssemblyManagerVM
For Each ItemPartDoor In CurrAssembly.ListPartDoorOfDoor
SetSwingOnDoor(CurrAssembly.DoorNumber, ItemPartDoor.Door, IndexSwing)
Next
CurrAssembly.NotifyPropertyChanged("ListPartDoorOfDoor")
CurrAssembly.NotifyPropertyChanged(NameOf(CurrAssembly.ListPartDoorOfDoor))
End Sub
' carica i valori di default (dell'option page) nella prima porta
@@ -1562,11 +1621,11 @@ Public Class AssemblyManagerVM
#End Region ' Association
#End Region ' METHODS
#End Region ' Methods
#Region "COMMANDS"
#Region "AddDoor"
#Region "AddAssembly_Command"
Public ReadOnly Property AddAssembly_Command As ICommand
Get
@@ -1610,7 +1669,7 @@ Public Class AssemblyManagerVM
SaveFileDialog.FileName &= DDF_EXTENSION
End If
' verifico che non sia bloccato (in fase di creazione di una nuova porta posso avere il file .lck senza il ddf)
If Utility.IsFileLocked(Path.GetDirectoryName(SaveFileDialog.FileName), Path.GetFileNameWithoutExtension(SaveFileDialog.FileName)) then
If Utility.IsFileLocked(Path.GetDirectoryName(SaveFileDialog.FileName), Path.GetFileNameWithoutExtension(SaveFileDialog.FileName)) Then
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
@@ -1654,7 +1713,7 @@ Public Class AssemblyManagerVM
' aggiorno la lista
'------------------------------------------------------------------------------------------------------------------------------------------------
' LETTURA DI UN FILE DI TIPO TEMPLATE
If ImportTemplate(sImportTemplate) Then
If ImportTemplate(sImportTemplate) Then
Utility.OutLog("Apertura progetto : " & Local_AssemblyName.Name)
Utility.LockDir(Path.GetDirectoryName(Local_AssemblyName.Name), Path.GetFileNameWithoutExtension(Local_AssemblyName.Name))
' carico il nome come Assemblato selezionato
@@ -1743,9 +1802,9 @@ Public Class AssemblyManagerVM
Return String.Empty
End Function
#End Region ' AddDoor
#End Region ' AddAssembly_Command
#Region "RemoveAssembly"
#Region "RemoveAssembly_Command"
Public ReadOnly Property RemoveAssembly_Command As ICommand
Get
@@ -1767,7 +1826,7 @@ Public Class AssemblyManagerVM
End Select
End Sub
#End Region ' RemoveAssembly
#End Region ' RemoveAssembly_Command
#End Region ' COMMANDS
+20 -2
View File
@@ -4,6 +4,8 @@ Imports EgtWPFLib5
Public Class AssemblyName
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private m_Name As String
Public Property Name As String
Get
@@ -17,6 +19,16 @@ Public Class AssemblyName
End Set
End Property
Private m_OrigTemplate As String = String.Empty
Public Property OrigTemplate As String
Get
Return m_OrigTemplate
End Get
Set(value As String)
m_OrigTemplate = value
End Set
End Property
Private m_IsModified As Boolean
Public Property IsModified As Boolean
Get
@@ -44,7 +56,7 @@ Public Class AssemblyName
' Map.refMainWindowVM.ProjectNameMsg = sTitle
'End If
MakeTitle()
NotifyPropertyChanged("GraphicName")
NotifyPropertyChanged(NameOf(GraphicName))
End Set
End Property
@@ -65,10 +77,14 @@ Public Class AssemblyName
End Get
Set(value As Assembly)
m_SelAssembly = value
Map.refAssemblyPageVM.NotifyPropertyChanged("CurrAssembly")
Map.refAssemblyPageVM.NotifyPropertyChanged(NameOf(Map.refAssemblyPageVM.CurrAssembly))
End Set
End Property
#End Region ' Fields & Properties
#Region "METHODS"
Private Sub MakeTitle()
If OptionModule.m_SingleDoor AndAlso Map.refMainWindowVM.SelectedPage <> MainWindowVM.ListPageEnum.nHardwarePage AndAlso
Not IsNothing(Map.refMainWindowVM.ProjectNameMsg) Then
@@ -82,4 +98,6 @@ Public Class AssemblyName
End If
End Sub
#End Region ' Methods
End Class
+16 -1
View File
@@ -4,10 +4,16 @@ Imports System.Collections.Specialized
Public Class ScrollIntoViewForListBox
Inherits Behavior(Of ListBox)
#Region "FIELDS & PROPERTIES"
Private ItemsSource As INotifyCollectionChanged
Private ListControl As ListBox
#End Region ' Fields & Properties
#Region "METHODS"
''' <summary>
''' When Beahvior is attached
''' </summary>
@@ -17,7 +23,6 @@ Public Class ScrollIntoViewForListBox
AddHandler Me.AssociatedObject.SelectionChanged, AddressOf AssociatedObject_SelectionChanged
End Sub
Private Sub AssociatedObject_CollectionChanged(sender As Object, e As System.Collections.Specialized.NotifyCollectionChangedEventArgs)
If IsNothing(ItemsSource) Then
Dim CurrItemsSource As IEnumerable = Me.AssociatedObject.ItemsSource
@@ -74,15 +79,23 @@ Public Class ScrollIntoViewForListBox
RemoveHandler ItemsSource.CollectionChanged, AddressOf AssociatedObject_CollectionChanged
End Sub
#End Region ' Methods
End Class
Public Class ScrollIntoViewForDataGrid
Inherits Behavior(Of DataGrid)
#Region "FIELDS & PROPERTIES"
Private ItemsSource As INotifyCollectionChanged
Private DataGridControl As DataGrid
#End Region ' Fields & Properties
#Region "METHODS"
''' <summary>
''' When Beahvior is attached
''' </summary>
@@ -154,4 +167,6 @@ Public Class ScrollIntoViewForDataGrid
RemoveHandler ItemsSource.CollectionChanged, AddressOf AssociatedObject_CollectionChanged
End Sub
#End Region ' Methods
End Class
+7 -8
View File
@@ -1,16 +1,14 @@
Public Class Command
Public Class Command
Implements ICommand
#Region "Fields"
#Region "FIELDS & PROPERTIES"
Private ReadOnly _execute As Action(Of Object)
Private ReadOnly _canExecute As Predicate(Of Object)
#End Region ' Fields
#End Region ' Fields & Properties
#Region "Constructors"
#Region "CONSTRUCTORS"
Public Sub New(ByVal execute As Action(Of Object))
Me.New(execute, Nothing)
@@ -27,9 +25,9 @@ Public Class Command
#End Region ' Constructors
#Region "ICommand Members"
#Region "ICOMMAND MEMBERS"
<DebuggerStepThrough> _
<DebuggerStepThrough>
Public Function CanExecute(ByVal parameter As Object) As Boolean Implements ICommand.CanExecute
Return If(_canExecute Is Nothing, True, _canExecute(parameter))
End Function
@@ -50,4 +48,5 @@ Public Class Command
End Sub
#End Region ' ICommand Members
End Class
+5
View File
@@ -3,6 +3,8 @@ Imports System.IO
Module CompoMatch
#Region "METHODS"
' restituisce il nome dell'assegnazione eseguito nel file Matching.lua e resetta l'assegnazione
Friend Function CalcCompoMatching(sCompoDir As String, DoorNumber As Integer, sTemplate As String, ByRef sFrameTemplate As String) As Boolean
' Path del lua da utilizzare
@@ -206,7 +208,10 @@ Module CompoMatch
Return True
End Function
#End Region ' Methods
#Region "HARDWAREMANAGER"
' carico il file Tabella.lua per la ricerca dei nomi delle geometrie
Friend Function LoadTableGeometry() As Boolean
EgtLuaCreateGlobTable("HMD")
+47 -48
View File
@@ -1,58 +1,57 @@
<UserControl x:Class="CompoPanelHardwareV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator">
<UserControl.InputBindings>
<KeyBinding Key="Enter" Command="{Binding RefreshCmd}"/>
</UserControl.InputBindings>
<UserControl.InputBindings>
<KeyBinding Key="Enter" Command="{Binding RefreshCmd}"/>
</UserControl.InputBindings>
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="16*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="16*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ItemsControl ItemsSource="{Binding CompoTypeList}" Focusable="True"
Visibility="{Binding IsVisible}">
<ItemsControl ItemsSource="{Binding CompoTypeList}"
Style="{DynamicResource CompoTypeListItemsControlStyle}">
<ItemsControl.InputBindings>
<KeyBinding Key="Enter" Command="{Binding RefreshCmd}"/>
</ItemsControl.InputBindings>
<ItemsControl.InputBindings>
<KeyBinding Key="Enter" Command="{Binding RefreshCmd}"/>
</ItemsControl.InputBindings>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<RadioButton GroupName="DoorGroup"
Style="{StaticResource {x:Type ToggleButton}}"
CommandParameter="{Binding}"
Command="{Binding DataContext.CompoBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
IsChecked="{Binding IsSelectedBtn}">
<RadioButton.Content>
<TextBlock Text="{Binding Name}"/>
</RadioButton.Content>
</RadioButton>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<Button Grid.Row="1"
Name="GoToAssembly"
Command="{Binding DataContext.GoToAssemblyBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
Visibility="{Binding GoBackVisibility}"
MaxHeight="40"
Focusable="False">
<Image Source="/Resources/Refresh/BackArrow.png" Stretch="Uniform"/>
</Button>
<ItemsControl.ItemTemplate>
<DataTemplate>
<RadioButton GroupName="DoorGroup"
CommandParameter="{Binding}"
Command="{Binding DataContext.CompoBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
IsChecked="{Binding IsSelectedBtn}"
Style="{DynamicResource GeneralToogleButton}">
<RadioButton.Content>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource CompoHardwareTxBx}"/>
</RadioButton.Content>
</RadioButton>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
<Button Grid.Row="1"
Name="GoToAssembly"
Command="{Binding DataContext.GoToAssemblyBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
Style="{DynamicResource GoToAssemblyBtn}">
<Image Source="/Resources/Refresh/BackArrow.png" Stretch="Uniform"/>
</Button>
</Grid>
</UserControl>
+40 -42
View File
@@ -1,60 +1,58 @@
<UserControl x:Class="CompoPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
Background="Transparent">
<UserControl.InputBindings>
<KeyBinding Key="Enter" Command="{Binding RefreshCmd}"/>
</UserControl.InputBindings>
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="16*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ItemsControl ItemsSource="{Binding CompoTypeList}" Focusable="True"
Visibility="{Binding IsVisible}" IsEnabled="{Binding EnableModify}">
<ItemsControl ItemsSource="{Binding CompoTypeList}"
IsEnabled="{Binding EnableModify}"
Style="{DynamicResource CompoTypeListItemsControlStyle}">
<ItemsControl.InputBindings>
<KeyBinding Key="Enter" Command="{Binding RefreshCmd}"/>
</ItemsControl.InputBindings>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"/>
</ItemsPanelTemplate>
<KeyBinding Key="Enter" Command="{Binding RefreshCmd}"/>
</ItemsControl.InputBindings>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Name="Compo" Content="{Binding Name}"
Command="{Binding DataContext.CompoBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
Focusable="False">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Name="Compo"
Content="{Binding Name}"
Command="{Binding DataContext.CompoBtnCommand,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
Focusable="False"
Style="{DynamicResource CompoBtn}">
<Button.ToolTip>
<Image Source="{Binding ImageDoorHardware}"
MaxHeight="100"
MaxWidth="100"
Stretch="Uniform"/>
</Button.ToolTip>
<Button.ToolTip>
<Image Source="{Binding ImageDoorHardware}"
MaxHeight="100"
MaxWidth="100"
Stretch="Uniform"/>
</Button.ToolTip>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button Grid.Row="1"
Name="GoToAssembly"
Command="{Binding DataContext.GoToAssemblyBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
Visibility="{Binding GoBackVisibility}"
MaxHeight="40"
Focusable="False">
<Button Grid.Row="1"
Name="GoToAssembly"
Command="{Binding DataContext.GoToAssemblyBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
Style="{DynamicResource GoToAssemblyBtn}">
<Image Source="/Resources/Refresh/BackArrow.png" Stretch="Uniform"/>
</Button>
+25 -6
View File
@@ -6,6 +6,8 @@ Imports System.IO
Public Class CompoPanelVM
Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
Private m_ErroLoadCompo As String = String.Empty
Public ReadOnly Property ErrorLoadCompo As String
Get
@@ -36,7 +38,7 @@ Public Class CompoPanelVM
End Get
Set(value As Visibility)
m_IsVisible = value
NotifyPropertyChanged("IsVisible")
NotifyPropertyChanged(NameOf(IsVisible))
End Set
End Property
@@ -47,7 +49,7 @@ Public Class CompoPanelVM
End Get
Set(value As Visibility)
m_GoBackVisibility = value
NotifyPropertyChanged("GoBackVisibility")
NotifyPropertyChanged(NameOf(GoBackVisibility))
End Set
End Property
@@ -63,6 +65,10 @@ Public Class CompoPanelVM
' definizione comando
Private m_EnterRefreshCmd As ICommand
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(Page As String)
m_PageName = Page
'Map.SetRefCompoPanelVM(Me)
@@ -170,6 +176,8 @@ Public Class CompoPanelVM
End If
End Sub
#End Region ' Constructor
#Region "COMMANDS"
#Region "CompoBtnCommand"
@@ -257,12 +265,12 @@ Public Class CompoPanelVM
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nDDFPage
Map.refSceneManagerVM.RefreshBtn()
End If
Map.refProjectManagerVM.NotifyPropertyChanged("VisibilityCreateAssembly")
Map.refProjectManagerVM.NotifyPropertyChanged(NameOf(Map.refProjectManagerVM.VisibilityCreateAssembly))
End Sub
#End Region ' GoToAssemblyBtnCommand
#Region "ENTERREFRESH"
#Region "RefreshCmd"
Public ReadOnly Property RefreshCmd As ICommand
Get
@@ -277,21 +285,26 @@ Public Class CompoPanelVM
Map.refSceneManagerVM.RefreshBtn()
End Sub
#End Region ' EnterRefresh
#End Region ' RefreshCmd
#End Region 'Commands
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
Public Class VerifyCompo
#Region "FIELDS & PROPERTIES"
Private m_sName As String
Public ReadOnly Property sName As String
Get
@@ -310,9 +323,15 @@ Public Class VerifyCompo
m_bExists = Exists
End Sub
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(Name As String, Exists As Boolean)
m_sName = Name
m_bExists = Exists
End Sub
#End Region ' Constructor
End Class
+27 -17
View File
@@ -1,10 +1,11 @@
Imports System.IO
Imports System.Collections.ObjectModel
Imports System.Collections.ObjectModel
Imports EgtWPFLib5
Public Class CompoType
Inherits VMBase
#Region "FIELDS & PROPERTIES"
' Folder Door
Private m_FolderList As New ObservableCollection(Of CompoBrandDir)
Public Property FolderList As ObservableCollection(Of CompoBrandDir)
@@ -45,7 +46,7 @@ Public Class CompoType
End Get
Set(value As Boolean)
m_IsSelectedBtn = value
NotifyPropertyChanged("IsSelectedBtn")
NotifyPropertyChanged(NameOf(IsSelectedBtn))
End Set
End Property
@@ -127,25 +128,13 @@ Public Class CompoType
Return m_DDFMaterial
End Get
End Property
Public Sub SetDDFMaterial(DDFMaterial As String)
m_DDFMaterial = DDFMaterial
End Sub
Public Function LoadListTemplate() As Boolean
FolderList.Clear()
m_HardwareFolderList.Clear()
m_FrameFolderList.Clear()
m_FolderList.Clear()
GetDirectoryCompoModel(m_Path, m_FolderList, m_FrameFolderList, m_HardwareFolderList)
Return True
End Function
#End Region ' Fields & Properties
Public Function DeepCopy() As CompoType
Dim other As CompoType = DirectCast(Me.MemberwiseClone, CompoType)
other.LoadListTemplate()
Return other
End Function
#Region "CONSTRUCTORS"
Sub New(sName As String, sDDFName As String, sPath As String, sJambSide As String, sFolderName As String, Optional sDDFMaterial As String = "wood")
m_Name = sName
@@ -168,4 +157,25 @@ Public Class CompoType
LoadListTemplate()
End Sub
#End Region ' Constructors
#Region "METHODS"
Public Function LoadListTemplate() As Boolean
FolderList.Clear()
m_HardwareFolderList.Clear()
m_FrameFolderList.Clear()
m_FolderList.Clear()
GetDirectoryCompoModel(m_Path, m_FolderList, m_FrameFolderList, m_HardwareFolderList)
Return True
End Function
Public Function DeepCopy() As CompoType
Dim other As CompoType = DirectCast(Me.MemberwiseClone, CompoType)
other.LoadListTemplate()
Return other
End Function
#End Region ' Methods
End Class
+18 -19
View File
@@ -21,41 +21,41 @@ Module ConstCompo
Public Const S_MEASURES As String = "measures"
Public Const S_CODE As String = "code"
Public Const S_ORDER As String = "order"
Public Const K_CUSTOMER As String = "customer"
Public Const K_ELEVATION As String = "elevation"
Public Const K_CUSTOMER As String = "customer"
Public Const K_ELEVATION As String = "elevation"
Public Const K_PROJECT As String = "project"
Public Const K_ORDER As String = "Order"
Public Const K_PO As String = "PO"
Public Const K_LINE As String = "Line"
Public Const K_LINE As String = "Line"
Public Const S_DATE As String = "date"
Public Const S_PIECE As String = "piece"
Public Const S_POSITION As String = "position"
Public Const K_X As String = "x"
Public Const K_Y As String = "y"
Public Const K_Z As String = "z"
Public Const K_X As String = "x"
Public Const K_Y As String = "y"
Public Const K_Z As String = "z"
Public Const S_SIZE As String = "size"
Public Const K_WIDTH As String = "width"
Public Const K_HEIGHT As String = "height"
Public Const K_WIDTH As String = "width"
Public Const K_HEIGHT As String = "height"
Public Const K_THICKNESS As String = "thickness"
Public Const S_ORIGHEIGHTDOOR As String = "origdoorheight"
Public Const S_OVERLAP_DDF As String = "overlap"
Public Const S_WEIGHT As String = "pressure"
Public Const S_SWING As String = "swing"
Public Const S_SECURE As String = "secure"
Public Const S_MATERIAL As String = "material"
Public Const S_MATERIAL As String = "material"
Public Const S_PROPERTIES As String = "properties"
Public Const S_PROFILES As String = "profiles"
Public Const K_LOCKEDGE As String = "lockedge"
Public Const K_HINGEEDGE As String = "hingeedge"
Public Const K_TOP As String = "top"
Public Const K_LOCKEDGE As String = "lockedge"
Public Const K_HINGEEDGE As String = "hingeedge"
Public Const K_TOP As String = "top"
Public Const K_BOTTOM As String = "bottom"
Public Const K_TYPEEDGE As String = "type"
Public Const K_MACHINING As String = "machining"
Public Const K_OVERMATERIAL As String = "overmaterial"
Public Const K_OVERMATERIAL As String = "overmaterial"
Public Const K_IDCODECOMPONENT As String = "IdCodeComponent"
Public Const K_OTHERDOOR As String = "other_door"
Public Const K_RADIUS As String = "radius"
Public Const K_ANGLE As String = "angle"
Public Const K_ANGLE As String = "angle"
Public Const K_POSX As String = "posx"
Public Const K_OVERLAP_BOTTOM As String = "overlap bottom"
Public Const K_THICKNESS_BOTTOM As String = "thickness bottom"
@@ -74,12 +74,12 @@ Module ConstCompo
Public Const K_MATERIAL As String = "Material"
Public Const K_CASCADED As String = "Cascaded"
Public Const K_FOLDER_NAME As String = "FolderName"
' K_NAME come sopra indicato
Public Const K_COMPO As String = "Compo"
' K_NAME come sopra indicato
Public Const K_COMPO As String = "Compo"
Public Const S_NGECONFIG As String = "NgeConfig"
Public Const K_DEFAULT As String = "Default"
Public Const S_POSITIONSIDE As String = "PositionSide"
Public Const K_SIDE As String = "Side"
Public Const K_SIDE As String = "Side"
Public Const S_GR_PARAM_DEFAULT = "Graphic parameters"
Public Const S_GR_PARAM_HARDWARE = "Parameters"
Public Const K_PARAM As String = "Param"
@@ -131,7 +131,7 @@ Module ConstCompo
Public Const INI_EXTENSION As String = ".ini"
Public Const TEMPL_EXTENSION As String = ".templ"
Public Const FRAME_FOLDER As String = ".frame"
Public Const LCK_EXTENSION as string = ".lck"
Public Const LCK_EXTENSION As String = ".lck"
Public Const FOLDERDIR As String = "Folder"
' Nome file di matching tra componenti su ante e telaio
@@ -154,5 +154,4 @@ Module ConstCompo
Public Const INI_CHECKBOX As String = "CheckBox"
Public Const INI_GHOST As String = "Ghost"
End Module
+3
View File
@@ -23,6 +23,9 @@ Module ConstGen
Public Const LIC_FILE_NAME As String = "EgtDOORCreator.lic"
Public Const S_LICENCE As String = "Licence"
Public Const K_KEY As String = "Key"
Public Const K_NETKEY As String = "NetKey"
Public Const K_LOCKID As String = "LockId"
Public Const K_NESTKEY As String = "NestKey"
' File di log generale
Public Const GENLOG_FILE_NAME As String = "EgtDOORCreatorLog#.txt"
+4 -1
View File
@@ -42,6 +42,8 @@ Module ConstIni
Public Const K_EGTCAMEXE As String = "EgtCam5Exe"
Public Const K_REFRESHTIME As String = "RefreshTime"
Public Const K_DDFVERSION As String = "DDFVersion"
Public Const K_THEMA As String = "Thema"
Public Const K_SAVEASSINGLEDOOR As String = "SaveAsSingleDoor"
Public Const S_LANGUAGES As String = "Languages"
Public Const K_LANGUAGE As String = "Language"
@@ -90,7 +92,8 @@ Module ConstIni
Public Const K_DDFFUNCTION As String = "DdfFun"
Public Const K_MYPROJECTDIR As String = "ProjectDirectory"
Public Const K_TEMPLATEDIR As String = "TemplateDirectory"
Public Const K_MACHINDIR As String = "MachinDirectory"
' Correzione nome Chiave valore ver 2.6k2 "MachineDirectory"
Public Const K_MACHINDIR As String = "MachineDirectory"
Public Const K_MTABLE As String = "MTable"
Public Const S_REPORT As String = "Report"
+93
View File
@@ -0,0 +1,93 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Resources
Public Class ThemesDataService
#Region "FIELDS & PROPERTIES"
Private ReadOnly m_Themes As New ObservableCollection(Of ThemeM)()
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
ScanResources()
ScanDisk("Themes")
End Sub
#End Region ' Constructor
#Region "METHODS"
''' <summary>
''' Restiusce il nome derivato dalla cartella
''' </summary>
''' <param name="path"></param>
''' <param name="pathChar"></param>
''' <param name="fileEnding"></param>
''' <returns></returns>
Private Function GetNameFromPath(ByVal path As String, ByVal Optional pathChar As Char = "/"c, ByVal Optional fileEnding As String = "Theme.xaml") As String
Dim name As String = path.Substring(path.LastIndexOf(pathChar) + 1)
name = name.Substring(0, name.Length - fileEnding.Length)
name = Char.ToUpper(name(0)) & If(name.Length > 1, name.Substring(1), "")
Return name
End Function
Private Sub ScanResources(ByVal Optional fileEnding As String = "Theme.xaml")
Dim assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim resourceNames = assembly.GetManifestResourceNames()
For Each resourceName In resourceNames
Dim [set] As New ResourceSet(assembly.GetManifestResourceStream(resourceName))
For Each item As DictionaryEntry In [set]
Dim fileName As String = item.Key.ToString()
If fileName.ToLower().EndsWith(fileEnding.ToLower()) Then
m_Themes.Add(New ThemeM() With {
.Name = GetNameFromPath(fileName),
.Path = "pack://application:,,,/WpfTheme;component/" & fileName
})
End If
Next
Next
End Sub
Private Sub ScanDisk(ByVal relativePath As String)
If Directory.Exists(AppDomain.CurrentDomain.BaseDirectory & relativePath) Then
Dim themeFiles = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory & relativePath, "*Theme.xaml", SearchOption.AllDirectories)
For Each fileName In themeFiles
m_Themes.Add(New ThemeM() With {
.Name = GetNameFromPath(fileName, "\"c),
.Path = fileName
})
Next
End If
End Sub
Public Sub SetTheme(ByVal theme As ThemeM)
If theme Is Nothing Then
EgtUILib.EgtOutLog("Error setting theme: Attempting to set theme to null.")
Return
End If
Try
Application.Current.Resources.MergedDictionaries(1).Source = New Uri(theme.Path, UriKind.RelativeOrAbsolute)
Catch ex As Exception
EgtUILib.EgtOutLog("Error setting theme: " & ex.Message)
End Try
End Sub
#End Region ' Methods
End Class
Public Class ThemeM
Public Property Name As String
Public Property Path As String
End Class
+95 -5
View File
@@ -1,10 +1,11 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtUILib
Imports System.Text.RegularExpressions
Friend Module DdfFile
#Region "METHODS"
' lista ordinata delle componenti da stampare
Friend CompoListOrder As New List(Of String)
' se riesco a scrivere un DDF (o una parte dell'essamblato) diventa true
@@ -25,6 +26,8 @@ Friend Module DdfFile
Private ParamInCompoIsCorrect As Boolean = True
#End Region ' Methods
#Region "SCRITTURA DDF"
' Questa funzione dovrà sostituire quella precedente (Scritta sopra)
@@ -64,6 +67,10 @@ Friend Module DdfFile
Dim Config As String = IniFile.m_sDoorsDirPath
Config = Path.GetFileName(Config)
DdfFileContent.Add("#Config: " & Config)
' versione 2.6g1: salvo il nome del template da cui è genetato il file corrente
If Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.OrigTemplate) Then
DdfFileContent.Add("#OrigTemplate: " & Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.OrigTemplate)
End If
If Not IsNothing(Part.TypePart) Then
DdfFileContent.Add("#" & PrintTitleDDFPart(Part.TypePart))
End If
@@ -981,7 +988,7 @@ Friend Module DdfFile
z = DoubleToString(-dDeltaThickness + dDeltaBottom, 4)
End If
End If
Return z
Return z
End Function
#End Region ' Funzioni per il posizionamento
@@ -1077,10 +1084,32 @@ Friend Module DdfFile
Return True
End Function
Private Function AscendingOrder(List As ObservableCollection(Of Compo), DdfFileContent As List(Of String), bIsDDF As Boolean) As Boolean
' ritorna una lista con tutti i compo dello stesso tipo
Public Function GetCurrentListSameCompoType(ByVal ListCompo As ObservableCollection(Of Compo), sCompoTypeDDF As String) As ObservableCollection(Of Compo)
Dim TempList As New ObservableCollection(Of Compo)
For Index As Integer = 0 To ListCompo.Count - 1
If ListCompo(Index).CompoType.DDFName = sCompoTypeDDF Then
TempList.Add(ListCompo(Index))
End If
Next
Return TempList
End Function
' ritorna una lista con tutti i compo dello stesso tipo con lo stesso nome
Public Function GetCurrentListSameCompoDDFName(ByVal ListCompo As ObservableCollection(Of Compo), sSelFile As String, sSelBrand As String) As ObservableCollection(Of Compo)
Dim TempList As New ObservableCollection(Of Compo)
For Index As Integer = 0 To ListCompo.Count - 1
If ListCompo(Index).SelFile = sSelFile And ListCompo(Index).SelBrandPart = sSelBrand Then
TempList.Add(ListCompo(Index))
End If
Next
Return TempList
End Function
' data la lista compo dello stesso tipo, la riordino ( Config.ini → TidyLayer = ...)
Public Sub GetOrderedListSameCompo(ByRef List As ObservableCollection(Of Compo))
Dim tidyParamIndex1 As Integer = -1
Dim tidyParamIndex2 As Integer = -1
Dim WritingError As String = String.Empty
If List.Count >= 2 Then
For IndexList1 As Integer = 0 To List.Count - 2
For IndexList2 As Integer = IndexList1 + 1 To List.Count - 1
@@ -1113,6 +1142,66 @@ Friend Module DdfFile
Next
Next
End If
End Sub
' rercupera indice nella lista corrente della componente passata
Public Function GetIndexInList(ListCompo As ObservableCollection(Of Compo), SelCompo As Compo) As Integer
' Se sono qui allora i compo devono avere lo stesso nome?.. Mettere controllo..
Dim bFoundSelCompo As Boolean = True
For Ind As Integer = 0 To ListCompo.Count - 1
For Ind2 As Integer = 0 To ListCompo(Ind).CompoParamList.Count - 1
' verifco che gli oggetti abbiano lo stesso nome?.. Metter controllo..
If TypeOf ListCompo(Ind).CompoParamList(Ind2) Is TextBoxOnOffParam And
TypeOf SelCompo.CompoParamList(Ind2) Is TextBoxOnOffParam Then
Dim Temp As TextBoxOnOffParam = DirectCast(ListCompo(Ind).CompoParamList(Ind2), TextBoxOnOffParam)
Dim SelTemp As TextBoxOnOffParam = DirectCast(SelCompo.CompoParamList(Ind2), TextBoxOnOffParam)
If Temp.Value <> SelTemp.Value Or Temp.IsActive <> SelTemp.IsActive Then
bFoundSelCompo = False
End If
ElseIf TypeOf ListCompo(Ind).CompoParamList(Ind2) Is TextBoxParam And
TypeOf SelCompo.CompoParamList(Ind2) Is TextBoxParam Then
Dim Temp As TextBoxParam = DirectCast(ListCompo(Ind).CompoParamList(Ind2), TextBoxParam)
Dim SelTemp As TextBoxParam = DirectCast(SelCompo.CompoParamList(Ind2), TextBoxParam)
If Temp.Value <> SelTemp.Value Then
bFoundSelCompo = False
End If
ElseIf TypeOf ListCompo(Ind).CompoParamList(Ind2) Is ComboBoxOnOffParam And
TypeOf SelCOmpo.CompoParamList(Ind2) Is ComboBoxOnOffParam Then
Dim Temp As ComboBoxOnOffParam = DirectCast(ListCompo(Ind).CompoParamList(Ind2), ComboBoxOnOffParam)
Dim SelTemp As ComboBoxOnOffParam = DirectCast(SelCompo.CompoParamList(Ind2), ComboBoxOnOffParam)
If Temp.SelItem <> SelTemp.SelItem Or Temp.IsActive <> SelTemp.IsActive Then
bFoundSelCompo = False
End If
ElseIf TypeOf ListCompo(Ind).CompoParamList(Ind2) Is ComboBoxParam And
TypeOf SelCompo.CompoParamList(Ind2) Is ComboBoxParam Then
Dim Temp As ComboBoxParam = DirectCast(ListCompo(Ind).CompoParamList(Ind2), ComboBoxParam)
Dim SelTemp As ComboBoxParam = DirectCast(SelCompo.CompoParamList(Ind2), ComboBoxParam)
If Temp.SelItem <> SelTemp.SelItem Then
bFoundSelCompo = False
End If
Else
' le componeti non sono dello stesso tipo!
Return -1
End If
' verifico che il parametro corrente è uguale a quello della compo selezionata
If Not bFoundSelCompo Then
Exit For
End If
Next
' verifico se ho trovato la compo
If Not bFoundSelCompo Then
bFoundSelCompo = True
Else
Return Ind
End If
Next
' se esco senza aver trovato niente
Return -1
End Function
Private Function AscendingOrder(List As ObservableCollection(Of Compo), DdfFileContent As List(Of String), bIsDDF As Boolean) As Boolean
Dim WritingError As String = String.Empty
GetOrderedListSameCompo(List)
' stampa lista
DdfFileContent.AddRange(GenerateCompolistDDF(List(0), WritingError, True, bIsDDF))
For IndexItem As Integer = 1 To List.Count - 1
@@ -1555,6 +1644,7 @@ Friend Module DdfFile
#End Region ' Scrittura DDF
#Region "SCRITTURA ASSEMBLATO"
' serve per pulire il file temporaneo la prima volta che viene creato
Friend Function WriteDDFAssembly(ByVal CurrAssembly As Assembly, sPath As String, bIsDDF As Boolean) As Boolean
' verifico esistenza assemblato
@@ -1760,6 +1850,6 @@ Friend Module DdfFile
Return True
End Function
#End Region
#End Region ' Scrittura Assemblato
End Module
+886 -676
View File
File diff suppressed because it is too large Load Diff
+509 -256
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,5 +1,7 @@
Public Class PartPageV
#Region "METHODS"
Public Sub ItemsControl_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)
Dim ListControl As ListBox = DirectCast(sender, ListBox)
If Not IsNothing(ListControl.SelectedItem) Then
@@ -27,8 +29,6 @@
End Sub
Private Sub UserControl_IsEnabledChanged(sender As Object, e As DependencyPropertyChangedEventArgs)
End Sub
#End Region ' Methods
End Class
+136 -107
View File
@@ -6,6 +6,8 @@ Imports EgtUILib
Public Class PartPageVM
Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
Friend bSetChange As Boolean = False
Private m_CurrPart As Part
Public Property CurrPart As Part
@@ -17,7 +19,7 @@ Public Class PartPageVM
If Not IsNothing(m_CurrPart) Then
Map.refAssemblyPageVM.CurrAssembly.SetVarAssembly()
End If
NotifyPropertyChanged("CurrPart")
NotifyPropertyChanged(NameOf(CurrPart))
End Set
End Property
@@ -75,6 +77,8 @@ Public Class PartPageVM
#Region "DISPOSITION SCREEN"
#Region "FIELDS & PROPERTIES"
Public ReadOnly Property WidthColumn1 As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
@@ -115,38 +119,103 @@ Public Class PartPageVM
End Get
End Property
#End Region ' Fields & Properties
#End Region ' Disposition Screen
#Region "CONSTUCTOR"
Sub New()
Map.SetRefDoorParametersVM(Me)
If IsNothing(Map.refCompoPanelVM) Then Map.SetRefCompoPanelVM(New CompoPanelVM("PartPage"))
If IsNothing(m_CompoPanelPart) Then m_CompoPanelPart = New CompoPanelV
m_CompoPanelPart.DataContext = Map.refCompoPanelVM
m_IsReadOnly = OptionModule.ReadOnlyDDF
Private m_IsResize As Boolean
Public Property IsResize As Boolean
Get
Return m_IsResize
End Get
Set(value As Boolean)
m_IsResize = value
NotifyPropertyChanged(NameOf(IsResize))
End Set
End Property
Sub SetStatusPage()
NotifyPropertyChanged(NameOf(EnablePageDoor))
End Sub
Sub PrepareEvent()
If Not IsNothing(Map.refInstrumentPanelVM) Then
AddHandler Map.refInstrumentPanelVM.EnableCurrentPage, AddressOf Me.SetStatusPage
End If
End Sub
Public ReadOnly Property EnablePageDoor As Boolean
Get
Map.refProjectManagerVM.NotifyPropertyChanged(NameOf(Map.refProjectManagerVM.EnableProjectManager))
Map.refAssemblyManagerVM.NotifyPropertyChanged(NameOf(Map.refAssemblyManagerVM.EnableAssebmlyManager))
If Not IsNothing(Map.refInstrumentPanelVM) Then
Return Map.refInstrumentPanelVM.EnablePage
Else
Return True
End If
End Get
End Property
#End Region
Private m_IsReadOnly As Boolean
Public Property IsRaedOnly As Boolean
Get
Return m_IsReadOnly
End Get
Set(value As Boolean)
m_IsReadOnly = value
NotifyPropertyChanged(NameOf(IsRaedOnly))
NotifyPropertyChanged(NameOf(DisableHeight))
NotifyPropertyChanged(NameOf(DisableWidth))
End Set
End Property
' vero se la porta è Inactive, Falso il contrario
Private m_IsInactive As Boolean = False
Public Property IsInactive As Boolean
Get
Return m_IsInactive
End Get
Set(value As Boolean)
m_IsInactive = value
NotifyPropertyChanged(NameOf(IsInactive))
End Set
End Property
Public ReadOnly Property DisableHeight As Boolean
Get
If Not IsNothing(Map.refAssemblyPageVM.CurrAssembly) AndAlso Map.refPartPageVM.CurrPart.TypePart.Contains("DO_") Then
Return Map.refAssemblyPageVM.CurrAssembly.Dimension
Else
Return m_IsReadOnly
End If
End Get
End Property
Public ReadOnly Property DisableWidth As Boolean
Get
If Not IsNothing(Map.refAssemblyPageVM.CurrAssembly) AndAlso Map.refPartPageVM.CurrPart.TypePart.Contains("DO_") Then
Return Map.refAssemblyPageVM.CurrAssembly.Dimension
Else
Return m_IsReadOnly
End If
End Get
End Property
Private m_Image As String
Public Property Image As String
Get
Return m_Image
End Get
Set(value As String)
m_Image = value
End Set
End Property
#Region "Messages"
'General'
Public ReadOnly Property MachMsg As String
Get
' 50711 = Mach.
' 50711 = Mach.
Return EgtMsg(50711)
End Get
End Property
Public ReadOnly Property ResizeMsg As String
Get
'50311=Resize
'50311=Resize
Return EgtMsg(50311)
End Get
End Property
@@ -237,47 +306,47 @@ Public Class PartPageVM
End Property
Public ReadOnly Property RadiusMsg As String
Get
' 50704 = Radius
' 50704 = Radius
Return EgtMsg(50704)
End Get
End Property
Public ReadOnly Property AngleMsg As String
Get
' 50705 = Angle
' 50705 = Angle
Return EgtMsg(50705)
End Get
End Property
Public ReadOnly Property PosxMsg As String
Get
' 50706 = Pos_x
' 50706 = Pos_x
Return EgtMsg(50706)
End Get
End Property
Public ReadOnly Property TopArcMsg As String
Get
' 50707 = Top Arc
' 50707 = Top Arc
Return EgtMsg(50707)
End Get
End Property
Public ReadOnly Property TopAngleMsg As String
Get
' 50708 = Top Angle
' 50708 = Top Angle
Return EgtMsg(50708)
End Get
End Property
Public ReadOnly Property PropertyMsg As String
Get
' 50709 = Properties
' 50709 = Properties
Return EgtMsg(50709)
End Get
End Property
Public ReadOnly Property MaterialMsg As String
Get
' 50710 = Material
' 50710 = Material
Return EgtMsg(50710)
End Get
End Property
Public ReadOnly Property CutMsg As String
Get
Return "Cut"
@@ -313,96 +382,42 @@ Public Class PartPageVM
End Get
End Property
#End Region
Private m_IsResize As Boolean
Public Property IsResize As Boolean
Get
Return m_IsResize
End Get
Set(value As Boolean)
m_IsResize = value
NotifyPropertyChanged("IsResize")
End Set
End Property
Sub SetStatusPage()
NotifyPropertyChanged("EnablePageDoor")
End Sub
Public ReadOnly Property EnablePageDoor As Boolean
Get
Map.refProjectManagerVM.NotifyPropertyChanged("EnableProjectManager")
Map.refAssemblyManagerVM.NotifyPropertyChanged("EnableAssebmlyManager")
If Not IsNothing(Map.refInstrumentPanelVM) Then
Return Map.refInstrumentPanelVM.EnablePage
Else
Return True
End If
End Get
End Property
Private m_IsReadOnly As Boolean
Public Property IsRaedOnly As Boolean
Get
Return m_IsReadOnly
End Get
Set(value As Boolean)
m_IsReadOnly = value
NotifyPropertyChanged("IsRaedOnly")
NotifyPropertyChanged("DisableHeight")
NotifyPropertyChanged("DisableWidth")
End Set
End Property
' vero se la porta è Inactive, Falso il contrario
Private m_IsInactive As Boolean = False
Public Property IsInactive As Boolean
Get
Return m_IsInactive
End Get
Set(value As Boolean)
m_IsInactive = value
NotifyPropertyChanged("IsInactive")
End Set
End Property
Public ReadOnly Property DisableHeight As Boolean
Get
If Not IsNothing(Map.refAssemblyPageVM.CurrAssembly) AndAlso Map.refPartPageVM.CurrPart.TypePart.Contains("DO_") Then
Return Map.refAssemblyPageVM.CurrAssembly.Dimension
Else
Return m_IsReadOnly
End If
End Get
End Property
Public ReadOnly Property DisableWidth As Boolean
Get
If Not IsNothing(Map.refAssemblyPageVM.CurrAssembly) AndAlso Map.refPartPageVM.CurrPart.TypePart.Contains("DO_") Then
Return Map.refAssemblyPageVM.CurrAssembly.Dimension
Else
Return m_IsReadOnly
End If
End Get
End Property
Private m_Image As String
Public Property Image As String
Get
Return m_Image
End Get
Set(value As String)
m_Image = value
End Set
End Property
#End Region ' Messages
' definizione comando
Private m_EnterRefreshCmd As ICommand
Private m_F1GuideCmd As ICommand
Private m_cmdOrderBtn As ICommand
#End Region ' Fields & Properties
#Region "CONSTUCTOR"
Sub New()
Map.SetRefDoorParametersVM(Me)
If IsNothing(Map.refCompoPanelVM) Then Map.SetRefCompoPanelVM(New CompoPanelVM("PartPage"))
If IsNothing(m_CompoPanelPart) Then m_CompoPanelPart = New CompoPanelV
m_CompoPanelPart.DataContext = Map.refCompoPanelVM
m_IsReadOnly = OptionModule.ReadOnlyDDF
End Sub
#End Region ' Constructor
#Region "METHODS"
Sub PrepareEvent()
If Not IsNothing(Map.refInstrumentPanelVM) Then
AddHandler Map.refInstrumentPanelVM.EnableCurrentPage, AddressOf Me.SetStatusPage
End If
End Sub
#End Region ' Methods
#Region "COMMANDS"
#Region "RefreshCmd"
Public ReadOnly Property RefreshCmd As ICommand
Get
If m_EnterRefreshCmd Is Nothing Then
@@ -416,6 +431,10 @@ Public Class PartPageVM
Map.refSceneManagerVM.RefreshBtn()
End Sub
#End Region ' RefreshCmd
#Region "GuideCmd"
' Comando Guida
Public ReadOnly Property GuideCmd As ICommand
Get
@@ -434,6 +453,10 @@ Public Class PartPageVM
Map.refProjectManagerVM.Guide()
End Sub
#End Region ' GuideCmd
#Region "OrderCmd"
Public ReadOnly Property OrderCmd As ICommand
Get
If m_cmdOrderBtn Is Nothing Then
@@ -443,14 +466,20 @@ Public Class PartPageVM
End Get
End Property
#End Region ' OrderCmd
#End Region ' Command
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
Public Class DoorVisibilityConverter
+29 -8
View File
@@ -1,12 +1,11 @@
'Imports EgtWPFLib5
'Imports EgtUILib
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Public Class PropertyItem
Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
Private m_GraphicName As String
Public Property GraphicName As String
Get
@@ -35,22 +34,32 @@ Public Class PropertyItem
Set(value As Boolean)
m_IsChecked = value
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
NotifyPropertyChanged("IsChecked")
NotifyPropertyChanged(NameOf(IsChecked))
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(sName As String, sGraphicName As String, bIsChecked As Boolean)
m_Name = sName
m_GraphicName = sGraphicName
m_IsChecked = bIsChecked
End Sub
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
#End Region ' Constructor
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
@@ -58,6 +67,8 @@ Public Class MaterialType
'Inherits VMBase
Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
' nome caricato dalla lista dei messaggi
Private m_Name As String
Public Property Name As String
@@ -91,17 +102,27 @@ Public Class MaterialType
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(sName As String, sGraphicName As String)
m_NameDDF = sName
m_Name = sGraphicName
End Sub
End Sub
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
#End Region ' Constructor
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
Public Class TopShape
+4 -1
View File
@@ -11,12 +11,13 @@
'
'----------------------------------------------------------------------------
Imports Microsoft.VisualBasic
Imports EgtUILib
Imports EgtWPFLib5
Public Module Doors
#Region "METHODS"
Function ExecDoors(ByRef scene As Scene, sFilePath As String, Optional bDraw As Boolean = True) As Boolean
' Cursore attesa
scene.Cursor = System.Windows.Forms.Cursors.WaitCursor
@@ -68,4 +69,6 @@ Public Module Doors
Return bOk
End Function
#End Region ' Methods
End Module
+46
View File
@@ -93,6 +93,7 @@
<Reference Include="EgtWPFLib5">
<HintPath>..\..\EgtProg\Dll32\EgtWPFLib5.dll</HintPath>
</Reference>
<Reference Include="PresentationFramework.Aero" />
<Reference Include="System.Core" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
@@ -123,6 +124,9 @@
<DependentUpon>AboutBoxV.xaml</DependentUpon>
</Compile>
<Compile Include="AssemblyManager\AssemblyName.vb" />
<Compile Include="Assembly\JambsAndDoorsSceneHostV.xaml.vb">
<DependentUpon>JambsAndDoorsSceneHostV.xaml</DependentUpon>
</Compile>
<Compile Include="Assembly\PartDoor.vb" />
<Compile Include="Assembly\Association.vb" />
<Compile Include="AttachedBehavior\ScrollIntoView.vb" />
@@ -142,6 +146,7 @@
<Compile Include="Converter\SplitConverter.vb" />
<Compile Include="Converter\TemplateListConverter.vb" />
<Compile Include="Converter\TrueToFalse.vb" />
<Compile Include="DataService\ThemesDataService.vb" />
<Compile Include="DdfFile.vb" />
<Compile Include="AssemblyManager\AssemblyManagerV.xaml.vb">
<DependentUpon>AssemblyManagerV.xaml</DependentUpon>
@@ -223,6 +228,10 @@
</Compile>
<Compile Include="ProjectManager\ProjectManagerVM.vb" />
<Compile Include="ProjectManager\MySaveFileDialogVM.vb" />
<Compile Include="ProjectManager\SelectPartV.xaml.vb">
<DependentUpon>SelectPartV.xaml</DependentUpon>
</Compile>
<Compile Include="ProjectManager\SelectPartVM.vb" />
<Compile Include="RegexFunction.vb" />
<Compile Include="ReportInfo\ReportCompo.vb" />
<Compile Include="SceneManager\DimensioningPanel\DimensioningPanelV.xaml.vb">
@@ -266,6 +275,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Assembly\JambsAndDoorsSceneHostV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="CompoPanel\CompoPanelHardwareV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -274,10 +287,22 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="EgtDOORCreatorDarkDictionary.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="EgtDOORCreatorDefaultStyle.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="EgtDOORCreatorDictionary.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="EgtDOORCreatorSummerDictonary.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Guide\GuideV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -363,6 +388,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="ProjectManager\SelectPartV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="SceneManager\DimensioningPanel\DimensioningPanelV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -447,9 +476,26 @@
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<AppDesigner Include="My Project\" />
<None Include="packages.config" />
<Resource Include="Resources\TopCommandBar\DeleteDir.png" />
<Resource Include="Resources\EgtCAM5.png" />
<Resource Include="Resources\InstrumentPanel\LinearDimension.png" />
<Resource Include="Resources\NewIco\CNC5assi.png" />
<Resource Include="Resources\NewIco\copyfile.png" />
<Resource Include="Resources\NewIco\delete.png" />
<Resource Include="Resources\NewIco\deletefile.png" />
<Resource Include="Resources\NewIco\export.png" />
<Resource Include="Resources\NewIco\feedback.png" />
<Resource Include="Resources\NewIco\folder.png" />
<Resource Include="Resources\NewIco\help.png" />
<Resource Include="Resources\NewIco\newfile.png" />
<Resource Include="Resources\NewIco\newfolder.png" />
<Resource Include="Resources\NewIco\print.png" />
<Resource Include="Resources\NewIco\refresh.png" />
<Resource Include="Resources\NewIco\save.png" />
<Resource Include="Resources\NewIco\saveas.png" />
<Resource Include="Resources\NewIco\savesp.png" />
<Resource Include="Resources\NewIco\settings.png" />
<Content Include="Resources\TopCommandBar\SaveAsTemplate1.png" />
</ItemGroup>
<ItemGroup>
+595
View File
@@ -0,0 +1,595 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5">
<!--Importo EgtDictionary-->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="EgtDOORCreatorDefaultStyle.xaml"/>
<ResourceDictionary Source="EgtDOORCreatorDictionary.xaml" />
</ResourceDictionary.MergedDictionaries>
<!--#region TextBlockColor-->
<SolidColorBrush x:Key="DoorParamsTxBx.TextColor.Foreground" Color="{StaticResource EgalwareWhiteColor}"/>
<!--#endregion TextBlockColor-->
<!--#region CheckBoxColor-->
<SolidColorBrush x:Key="OptionMark.Static.Background" Color="{StaticResource EgalwarePrussianBlue2Color}"/>
<SolidColorBrush x:Key="OptionMark.Static.Border" Color="{StaticResource EgalwareDeepCeruleanColor}"/>
<SolidColorBrush x:Key="OptionMark.Static.Glyph" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="OptionMark.Static.Foreground" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="OptionMark.MouseOver.Background" Color="{StaticResource EgalwareDeepCeruleanColor}"/>
<SolidColorBrush x:Key="OptionMark.MouseOver.Border" Color="{StaticResource EgalwarePrussianBlue2Color}"/>
<SolidColorBrush x:Key="OptionMark.MouseOver.Glyph" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="OptionMark.Pressed.Background" Color="{StaticResource EgalwarePattensBlueColor}"/>
<SolidColorBrush x:Key="OptionMark.Pressed.Border" Color="{StaticResource EgalwareRoyalBlueColor}"/>
<SolidColorBrush x:Key="OptionMark.Pressed.Glyph" Color="{StaticResource EgalwareMineShaftColor}"/>
<SolidColorBrush x:Key="OptionMark.Disabled.Background" Color="{StaticResource EgalwarePrussianBlue2Color}"/>
<SolidColorBrush x:Key="OptionMark.Disabled.Border" Color="{StaticResource EgalwareDeepCeruleanColor}"/>
<SolidColorBrush x:Key="OptionMark.Disabled.Glyph" Color="{StaticResource EgalwareWhiteColor}"/>
<!--#endregion CheckBoxColor-->
<!--#region ComboBoxColor-->
<SolidColorBrush x:Key="TextBox.Static.Background" Color="{StaticResource EgalwareWhiteSmokeColor}"/>
<LinearGradientBrush x:Key="ComboBox.Static.Border" MappingMode="RelativeToBoundingBox" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareOrientColor}" Offset="0"/>
<GradientStop Color="{StaticResource EgalwarePrussianBlueColor}" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="ComboBox.Static.Background" MappingMode="RelativeToBoundingBox" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource EgalwareRegalBlueColor}" Offset="0"/>
<GradientStop Color="{StaticResource EgalwareOrientColor}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.Static.Glyph" Color="{StaticResource EgalwareWhiteSmokeColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Foreground" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Background" Color="{StaticResource EgalwareWhiteSmokeColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Border" Color="{StaticResource EgalwareGrayColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background" Color="{StaticResource EgalwareTransparentColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border" Color="{StaticResource EgalwareTransparentColor}"/>
<LinearGradientBrush x:Key="ComboBox.MouseOver.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareLochmaraColor}" Offset="0" />
<GradientStop Color="{StaticResource EgalwarePrussianBlueColor}" Offset="1" />
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.MouseOver.Border" Color="{StaticResource EgalwareGrayColor}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Glyph" Color="{StaticResource EgalwareCeruleanColor}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border" Color="{StaticResource EgalwareCeruleanColor}"/>
<LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareCeruleanColor}" Offset="0.0"/>
<GradientStop Color="{StaticResource EgalwareLochmaraColor}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border" Color="{StaticResource EgalwareSeagullColor}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Background" Color="{StaticResource EgalwareDarkBlueColor}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Border" Color="{StaticResource EgalwareDarkCyanColor}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Glyph" Color="{StaticResource EgalwareDarkOrangeColor}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border" Color="{StaticResource EgalwareCornflowerBlueColor}"/>
<LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareHawkesBlueColor}" Offset="0.0"/>
<GradientStop Color="{StaticResource EgalwareFrenchPassColor}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border" Color="{StaticResource EgalwareCornflowerBlueColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Background" Color="{StaticResource EgalwarePrussianBlue2Color}" Opacity="0.2"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Border" Color="{StaticResource EgalwareRegalBlueColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Glyph" Color="{StaticResource EgalwareWhiteSmokeColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border" Color="{StaticResource EgalwareSilverColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background" Color="{StaticResource EgalwareTransparentColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border" Color="{StaticResource EgalwareTransparentColor}"/>
<!--#endregion ComboBoxColor-->
<!--#region ScrollBarColor-->
<SolidColorBrush x:Key="ScrollBar.Background" Color="{StaticResource EgalwareTransparentColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Background" Color="{StaticResource EgalwareCerulean2Color}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Foreground" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Border" Color="{StaticResource EgalwareRegalBlueColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Glyph" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Thumb" Color="{StaticResource EgalwareRegalBlueColor}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Background" Color="{StaticResource EgalwareBahamaBlueColor}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Border" Color="{StaticResource EgalwarePrussianBlueColor}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Glyph" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Thumb" Color="{StaticResource EgalwarePrussianBlueColor}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Background" Color="{StaticResource EgalwarePrussianBlue2Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Border" Color="{StaticResource EgalwarePrussianBlue2Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Thumb" Color="{StaticResource EgalwarePrussianBlue2Color}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Glyph" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Background" Color="{StaticResource EgalwareOrientColor}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Border" Color="{StaticResource EgalwareOrientColor}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Glyph" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ScrollBar.Button.Static.Background" Color="{StaticResource EgalwareRegalBlueColor}"/>
<!--#endregion ScrollBarColor -->
<!--#region ButtonColor-->
<LinearGradientBrush x:Key="Button.Static.Background" MappingMode="RelativeToBoundingBox" EndPoint="0,0" StartPoint="1,1">
<GradientStop Color="{DynamicResource EgalwareCeruleanColor}" Offset="0"/>
<GradientStop Color="{DynamicResource EgalwareBahamaBlueColor}" Offset="0.5"/>
<GradientStop Color="{DynamicResource EgalwareCerulean3Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="Button.Static.Border" Color="{DynamicResource EgalwareBahamaBlueColor}"/>
<SolidColorBrush x:Key="Button.Static.Foreground" Color="{DynamicResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="Button.MouseOver.Background" Color="{DynamicResource EgalwareOrientColor}"/>
<SolidColorBrush x:Key="Button.MouseOver.Border" Color="{DynamicResource EgalwareRoyalBlueColor}"/>
<SolidColorBrush x:Key="Button.Pressed.Background" Color="{DynamicResource EgalwareRegalBlueColor}"/>
<SolidColorBrush x:Key="Button.Pressed.Border" Color="{DynamicResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="Button.Disabled.Background" Color="{DynamicResource EgalwareCornflowerBlueColor}"/>
<SolidColorBrush x:Key="Button.Disabled.Border" Color="{DynamicResource EgalwareGlacierColor}"/>
<SolidColorBrush x:Key="Button.Disabled.Foreground" Color="{DynamicResource EgalwareGrayColor}"/>
<!--#endregion ButtonColor-->
<!--#region TextBlockColor-->
<LinearGradientBrush x:Key="EgtCustomWindow.TitleBarBrush" MappingMode="RelativeToBoundingBox" EndPoint="0,0" StartPoint="1,1">
<GradientStop Color="{DynamicResource EgalwareCeruleanColor}" Offset="0"/>
<GradientStop Color="{DynamicResource EgalwareBahamaBlueColor}" Offset="0.5"/>
<GradientStop Color="{DynamicResource EgalwareCerulean3Color}" Offset="1"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="EgtCustomWindow.BorderBrush" Color="{DynamicResource EgalwarePrussianBlue2Color}"/>
<SolidColorBrush x:Key="EgtCustomWindow.Background" Color="{DynamicResource EgalwarePrussianBlue2Color}"/>
<!--#endregion TextBlockColor-->
<!--#region TextBoxColor-->
<SolidColorBrush x:Key="TextBox.Foreground" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="TextBox.Background" Color="{StaticResource EgalwareTransparentColor}"/>
<!--#endregion TextBoxColor-->
<!--#region ListBoxColor-->
<SolidColorBrush x:Key="ListBox.Background" Color="{StaticResource EgalwareTransparentColor}"/>
<!--#endregion ListBoxColor-->
<!--#region BorderColor-->
<SolidColorBrush x:Key="HardwareDimensionList.Foreground" Color="{StaticResource EgalwarePrussianBlue2Color}"/>
<LinearGradientBrush x:Key="HardwareDimensionList.Background" MappingMode="RelativeToBoundingBox" EndPoint="0,0" StartPoint="1,1">
<GradientStop Color="{DynamicResource EgalwareCeruleanColor}" Offset="0"/>
<GradientStop Color="{DynamicResource EgalwareBahamaBlueColor}" Offset="0.5"/>
<GradientStop Color="{DynamicResource EgalwareCerulean3Color}" Offset="1"/>
</LinearGradientBrush>
<!--#endregion BorderColor-->
<!--#region TabItemColor-->
<LinearGradientBrush x:Key="TabItem.Static.Background" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource EgalwareDeepCeruleanColor}" Offset="0" />
<GradientStop Color="{StaticResource EgalwarePrussianBlue2Color}" Offset="0.5" />
<GradientStop Color="{StaticResource EgalwareDeepCeruleanColor}" Offset="1" />
</LinearGradientBrush>
<SolidColorBrush x:Key="TabItem.Static.Border" Color="{StaticResource EgalwareLightGrayColor}"/>
<SolidColorBrush x:Key="TabItem.MouseOver.Background" Color="{StaticResource EgalwareCornflowerBlueColor}"/>
<SolidColorBrush x:Key="TabItem.MouseOver.Border" Color="{StaticResource EgalwareLochmaraColor}"/>
<LinearGradientBrush x:Key="TabItem.Selected.Background" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource EgalwareDeepCeruleanColor}" Offset="0" />
<GradientStop Color="{StaticResource EgalwarePrussianBlue2Color}" Offset="0.5" />
<GradientStop Color="{StaticResource EgalwareDeepCeruleanColor}" Offset="1" />
</LinearGradientBrush>
<SolidColorBrush x:Key="TabItem.Selected.Border" Color="{StaticResource EgalwarePrussianBlueColor}"/>
<SolidColorBrush x:Key="TabItem.Disabled.Background" Color="{StaticResource EgalwarePrussianBlueColor}"/>
<SolidColorBrush x:Key="TabItem.Disabled.Border" Color="{StaticResource EgalwarePrussianBlueColor}"/>
<!--#endregion TabItemColor-->
<!--#region ExpanderColor-->
<LinearGradientBrush x:Key="Expander.BackgroundColor" MappingMode="RelativeToBoundingBox" EndPoint="0,0" StartPoint="1,1">
<GradientStop Color="{StaticResource EgalwareCeruleanColor}" Offset="0" />
<GradientStop Color="{StaticResource EgalwareBahamaBlueColor}" Offset="0.5" />
<GradientStop Color="{StaticResource EgalwareCerulean3Color}" Offset="1" />
</LinearGradientBrush>
<SolidColorBrush x:Key="Expander.BorderBrush" Color="{StaticResource EgalwareSeagullColor}"/>
<!--#endregion ExpanderColor-->
<!--#region BorderThickness-->
<Thickness x:Key="GroupBoxBorderThicknessHeader">2,2,2,0</Thickness>
<Thickness x:Key="GroupBoxBorderThickness">2,0,2,2</Thickness>
<Thickness x:Key="GroupBoxBorderThicknessErrHeader">2,2,2,0</Thickness>
<Thickness x:Key="GroupBoxBorderThicknessErr">2,0,2,2</Thickness>
<Thickness x:Key="BorderParamThickness">0.5</Thickness>
<Thickness x:Key="GroupBox_BorderThickness">0.7</Thickness>
<Thickness x:Key="CustomScrollBarThickness">1</Thickness>
<Thickness x:Key="DoorListBoxThickness">0</Thickness>
<Thickness x:Key="ButtonThickness">1</Thickness>
<Thickness x:Key="ToggleButtonThickness">1</Thickness>
<Thickness x:Key="DoorParamsCmBxThickness">1</Thickness>
<!--#endregion BorderThickness-->
<!--#region Immagini predefiniti-->
<BitmapImage x:Key="NewFile" UriSource="/Resources/NewIco/newfile.png"/>
<BitmapImage x:Key="DeleteFile" UriSource="/Resources/NewIco/deletefile.png"/>
<BitmapImage x:Key="CopyFile" UriSource="/Resources/NewIco/copyfile.png"/>
<BitmapImage x:Key="OpenFolder" UriSource="/Resources/NewIco/folder.png"/>
<BitmapImage x:Key="NewFolder" UriSource="/Resources/NewIco/newfolder.png"/>
<BitmapImage x:Key="Refresh" UriSource="/Resources/NewIco/refresh.png"/>
<BitmapImage x:Key="Save" UriSource="/Resources/NewIco/save.png"/>
<BitmapImage x:Key="SaveAs" UriSource="/Resources/NewIco/saveas.png"/>
<BitmapImage x:Key="SaveAsTemplate" UriSource="/Resources/Newico/savesp.png"/>
<BitmapImage x:Key="ExportToMachine" UriSource="/Resources/NewIco/CNC5assi.png"/>
<BitmapImage x:Key="Print" UriSource="/Resources/NewIco/print.png"/>
<BitmapImage x:Key="CreateAssembly" UriSource="/Resources/TopCommandBar/Create Assembly.png"/>
<BitmapImage x:Key="Option" UriSource="/Resources/NewIco/settings.png"/>
<BitmapImage x:Key="FeedBack" UriSource="/Resources/NewIco/feedback.png"/>
<BitmapImage x:Key="Help" UriSource="/Resources/NewIco/help.png"/>
<!--#endregion Immagini predefiniti-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region ButtonStyle-->
<Style x:Key="GeneralDoorParamGrpButton" TargetType="{x:Type Button}" BasedOn="{StaticResource DoorsBtn}">
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="FontStyle" Value="Normal"/>
<Setter Property="Height" Value="Auto"/>
<Setter Property="Padding" Value="2,0,2,2"/>
<Setter Property="Margin" Value="5,0,0,0"/>
</Style>
<Style x:Key="CompoBtn" TargetType="{x:Type Button}" BasedOn="{StaticResource DoorsBtn}">
<Setter Property="FontWeight" Value="DemiBold"/>
<Setter Property="FontStyle" Value="Italic"/>
<Setter Property="Margin" Value="0.5"/>
</Style>
<Style x:Key="BrowseOptionBtn" TargetType="{x:Type Button}" BasedOn="{StaticResource DoorsBtn}">
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="FontStyle" Value="Normal"/>
<Setter Property="MaxHeight" Value="28"/>
</Style>
<!--#endregion ButtonStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region TextBlockStyle-->
<Style x:Key="DoorParamHeaderGrp" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="Margin" Value="5,0,0,0"/>
<Setter Property="FontSize" Value="14"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<Setter Property="Foreground" Value="{Binding ErrorColor}"/>
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<Setter Property="Foreground" Value="{DynamicResource DoorParamHeaderGrp.TextColor.Foreground}"/>
<Setter Property="FontWeight" Value="{Binding FontBold}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="GeneralDoorParamGrpTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="Width" Value="Auto"/>
<Setter Property="FontWeight" Value="Bold"/>
</Style>
<Style x:Key="BrandTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="FontStyle" Value="Normal"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Style.Triggers>
<DataTrigger Binding="{Binding MissingDirectory}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleCompoBrandFile}"/>
<Setter Property="Foreground" Value="{Binding ErrorColor}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="FileTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="FontStyle" Value="Normal"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Style.Triggers>
<DataTrigger Binding="{Binding MissingFile}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleCompoBrandFile}"/>
<Setter Property="Foreground" Value="{Binding ErrorColor}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<!-- Messaggio nel GroupBox della pagina OptionPage-->
<Style x:Key="GeneralOptionTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="FontWeight" Value="Medium"/>
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="Margin" Value="5,0,5,0"/>
</Style>
<!-- Messaggio di Header nel GroupBox della pagina OptionPage-->
<Style x:Key="GeneralOptionHeaderTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="FontWeight" Value="Bold"/>
</Style>
<!-- Messaggio nel GroupBox CurrentMachine della pagina OptionPage-->
<Style x:Key="GeneralOptionMTableTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="FontWeight" Value="Black"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="5,0,5,0"/>
</Style>
<!--#endregion TextBlockStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region GroupBoxStyle-->
<Style x:Key="DoorParamGrp" TargetType="{x:Type GroupBox}">
<Setter Property="Margin" Value="5,0,0,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--Border dell'Header-->
<Border Grid.Row="0"
x:Name="BrdH"
CornerRadius="2,2,0,0"
Background="{StaticResource GrpBxParamColor1}">
<ContentPresenter Margin="4"
ContentSource="Header"
RecognizesAccessKey="True"/>
</Border>
<!--Border del contenuto-->
<Border Grid.Row="1"
x:Name="Brd"
CornerRadius="0,0,2,2"
Background="{StaticResource GrpBxParamColor2}">
<ContentPresenter Margin="4"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<!--Gestione colore border header groupbox con riferimento al border di nome BrdH-->
<Setter TargetName="BrdH" Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter TargetName="BrdH" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessErrHeader}"/>
<!--Gestione colore border corpo groupbox con riferimento al border di nome Brd-->
<Setter TargetName="Brd" Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter TargetName="Brd" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessErr}"/>
<!--Gestione margine-->
<Setter TargetName="BrdH" Property="Margin" Value="1,1,1,0"/>
<Setter TargetName="Brd" Property="Margin" Value="1,0,1,1"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<!--Gestione colore border header groupbox con riferimento al border di nome BrdH-->
<Setter TargetName="BrdH" Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter TargetName="BrdH" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessHeader}"/>
<!--Gestione colore border corpo groupbox con riferimento al border di nome Brd-->
<Setter TargetName="Brd" Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter TargetName="Brd" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThickness}"/>
<!--Gestione margine-->
<Setter TargetName="BrdH" Property="Margin" Value="1,1,1,0"/>
<Setter TargetName="Brd" Property="Margin" Value="1,0,1,1"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="DoorParamGrp2" TargetType="{x:Type GroupBox}">
<Setter Property="Margin" Value="0,0,0,5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--Border dell'Header-->
<Border Grid.Row="0"
x:Name="BrdH"
CornerRadius="2,2,0,0"
Background="{StaticResource GrpBxParamColor1}">
<ContentPresenter Margin="4"
ContentSource="Header"
RecognizesAccessKey="True"/>
</Border>
<!--Border del contenuto-->
<Border Grid.Row="1"
x:Name="Brd"
CornerRadius="0,0,2,2"
Background="{StaticResource GrpBxParamColor2}">
<ContentPresenter Margin="4"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<!--Gestione colore border header groupbox con riferimento al border di nome BrdH-->
<Setter TargetName="BrdH" Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter TargetName="BrdH" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessErrHeader}"/>
<!--Gestione colore border corpo groupbox con riferimento al border di nome Brd-->
<Setter TargetName="Brd" Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter TargetName="Brd" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessErr}"/>
<!--Gestione margine-->
<Setter TargetName="BrdH" Property="Margin" Value="1,1,1,0"/>
<Setter TargetName="Brd" Property="Margin" Value="1,0,1,1"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<!--Gestione colore border header groupbox con riferimento al border di nome BrdH-->
<Setter TargetName="BrdH" Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter TargetName="BrdH" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessHeader}"/>
<!--Gestione colore border corpo groupbox con riferimento al border di nome Brd-->
<Setter TargetName="Brd" Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter TargetName="Brd" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThickness}"/>
<!--Gestione margine-->
<Setter TargetName="BrdH" Property="Margin" Value="1,1,1,0"/>
<Setter TargetName="Brd" Property="Margin" Value="1,0,1,1"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="GeneralDoorParamGrp" TargetType="{x:Type GroupBox}" BasedOn="{StaticResource DoorParamGrp}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0"
BorderBrush="{StaticResource EgalwareDeepCerulean}"
BorderThickness="2,2,2,0"
CornerRadius="2,2,0,0"
Background="{StaticResource GrpBxParamColor1}">
<ContentPresenter Margin="4"
ContentSource="Header"
RecognizesAccessKey="True"/>
</Border>
<Border Grid.Row="1"
BorderBrush="{StaticResource EgalwareDeepCerulean}"
BorderThickness="2,0,2,2"
CornerRadius="0,0,2,2"
Background="{StaticResource GrpBxParamColor2}">
<ContentPresenter Margin="4"/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<BorderGapMaskConverter x:Key="BorderGapMaskConverter"/>
<Style x:Key="PartPageGrp" TargetType="{x:Type GroupBox}">
<Setter Property="BorderBrush" Value="{StaticResource EgalwareDeepCerulean}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="true">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="6"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="6"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="6"/>
</Grid.RowDefinitions>
<Border x:Name="Header" Grid.Column="1" Grid.ColumnSpan="2" Padding="3,1,3,0" Grid.RowSpan="2" Grid.Row="0" Background="{StaticResource GrpBxParamColor1}" CornerRadius="2,2,0,0">
<ContentPresenter ContentSource="Header" Margin="4" Width="{Binding ElementName=Header, Path=ActualWidth}" HorizontalAlignment="Right" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
<Border x:Name="Argument" Grid.Column="1" Grid.ColumnSpan="2" Grid.RowSpan="2" Grid.Row="2" Padding="0,1,3,0" Background="{StaticResource GrpBxParamColor2}" CornerRadius="0,0,2,2">
<ContentPresenter Margin="4" HorizontalAlignment="Center" Width="{Binding ElementName=Argument, Path=ActualWidth}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<!--Gestione colore border header groupbox con riferimento al border di nome BrdH-->
<Setter TargetName="Header" Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter TargetName="Header" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessErrHeader}"/>
<!--Gestione colore border corpo groupbox con riferimento al border di nome Brd-->
<Setter TargetName="Argument" Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter TargetName="Argument" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessErr}"/>
<!--Gestione margine-->
<Setter TargetName="Header" Property="Margin" Value="1,1,1,0"/>
<Setter TargetName="Argument" Property="Margin" Value="1,0,1,1"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<!--Gestione colore border header groupbox con riferimento al border di nome BrdH-->
<Setter TargetName="Header" Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter TargetName="Header" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThicknessHeader}"/>
<!--Gestione colore border corpo groupbox con riferimento al border di nome Brd-->
<Setter TargetName="Argument" Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter TargetName="Argument" Property="BorderThickness" Value="{StaticResource GroupBoxBorderThickness}"/>
<!--Gestione margine-->
<Setter TargetName="Header" Property="Margin" Value="1,1,1,0"/>
<Setter TargetName="Argument" Property="Margin" Value="1,0,1,1"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--#endregion GroupBoxStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region TabControl Style-->
<Style x:Key="GeneralOptionTabControl" TargetType="{x:Type TabControl}">
<Setter Property="Background" Value="{StaticResource EgalwareTransparent}"/>
<Setter Property="BorderBrush" Value="{StaticResource EgalwareAlto}"/>
<Setter Property="Margin" Value="0,3,0,0"/>
<Style.Resources>
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource GeneralOptionTabItem}"/>
</Style.Resources>
</Style>
<!--#endregion TabControl Style-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region CheckBoxStyle-->
<Style x:Key="AllignGropBoxChBx" TargetType="{x:Type CheckBox}" BasedOn="{StaticResource GeneralCheckBox}">
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="Margin" Value="2,0,0.2,0"/>
</Style>
<!--#endregion CheckBoxStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region LineStyle-->
<Style x:Key="PartPageLine" TargetType="{x:Type Line}">
<Setter Property="Stroke" Value="{StaticResource EgalwareTransparent}"/>
<Setter Property="StrokeThickness" Value="0"/>
<Setter Property="X1" Value="10"/>
<Setter Property="X2" Value="400"/>
<Setter Property="Y1" Value="70"/>
<Setter Property="Y2" Value="70"/>
<Setter Property="Margin" Value="0,-60,0,0"/>
</Style>
<!--#endregion LineStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
</ResourceDictionary>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+898
View File
@@ -0,0 +1,898 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5">
<!--#region TextBlockColor-->
<SolidColorBrush x:Key="DoorParamsTxBx.TextColor.Foreground" Color="{StaticResource EgalwareIndochineColor}"/>
<!--#endregion TextBlockColor-->
<!--#region CheckBoxColor-->
<SolidColorBrush x:Key="OptionMark.Static.Background" Color="{StaticResource EgalwareDarkCyanColor}"/>
<SolidColorBrush x:Key="OptionMark.Static.Border" Color="{StaticResource EgalwareDarkBlueColor}"/>
<SolidColorBrush x:Key="OptionMark.Static.Glyph" Color="{StaticResource EgalwareAliceBlueColor}"/>
<SolidColorBrush x:Key="OptionMark.Static.Foreground" Color="{StaticResource EgalwareIndochineColor}"/>
<SolidColorBrush x:Key="OptionMark.MouseOver.Background" Color="{StaticResource EgalwareAliceBlueColor}"/>
<SolidColorBrush x:Key="OptionMark.MouseOver.Border" Color="{StaticResource EgalwareDodgerBlueColor}"/>
<SolidColorBrush x:Key="OptionMark.MouseOver.Glyph" Color="{StaticResource EgalwareMineShaftColor}"/>
<SolidColorBrush x:Key="OptionMark.Pressed.Background" Color="{StaticResource EgalwarePattensBlueColor}"/>
<SolidColorBrush x:Key="OptionMark.Pressed.Border" Color="{StaticResource EgalwareRoyalBlueColor}"/>
<SolidColorBrush x:Key="OptionMark.Pressed.Glyph" Color="{StaticResource EgalwareMineShaftColor}"/>
<SolidColorBrush x:Key="OptionMark.Disabled.Background" Color="{StaticResource EgalwareMercuryColor}"/>
<SolidColorBrush x:Key="OptionMark.Disabled.Border" Color="{StaticResource EgalwareSilverColor}"/>
<SolidColorBrush x:Key="OptionMark.Disabled.Glyph" Color="{StaticResource EgalwareDoveGrayColor}"/>
<!--#endregion CheckBox Color-->
<!--#region ComboBoxColor-->
<SolidColorBrush x:Key="TextBox.Static.Background" Color="{StaticResource EgalwareGlacierColor}"/>
<LinearGradientBrush x:Key="ComboBox.Static.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareCerulean2Color}" Offset="0.0"/>
<GradientStop Color="{StaticResource EgalwareCerulean3Color}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.Static.Border" Color="{StaticResource EgalwarePrussianBlue2Color}"/>
<SolidColorBrush x:Key="ComboBox.Static.Glyph" Color="{StaticResource EgalwareFrenchPassColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Foreground" Color="{StaticResource EgalwareIndochineColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Background" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Border" Color="{StaticResource EgalwareBombayColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background" Color="{StaticResource EgalwareTransparentColor}"/>
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border" Color="{StaticResource EgalwareTransparentColor}"/>
<LinearGradientBrush x:Key="ComboBox.MouseOver.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareCornflowerBlueColor}" Offset="0.0"/>
<GradientStop Color="{StaticResource EgalwareGlacierColor}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.MouseOver.Border" Color="{StaticResource EgalwareDodgerBlueColor}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Glyph" Color="{StaticResource EgalwareBlackColor}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border" Color="{StaticResource EgalwareSeagullColor}"/>
<LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareSelagoColor}" Offset="0.0"/>
<GradientStop Color="{StaticResource EgalwareHawkesBlueColor}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border" Color="{StaticResource EgalwareSeagullColor}"/>
<LinearGradientBrush x:Key="ComboBox.Pressed.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareHawkesBlueColor}" Offset="0.0"/>
<GradientStop Color="{StaticResource EgalwareFrenchPassColor}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.Pressed.Border" Color="{StaticResource EgalwareCornflowerBlueColor}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Glyph" Color="{StaticResource EgalwareBlackColor}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border" Color="{StaticResource EgalwareCornflowerBlueColor}"/>
<LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background" EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="{StaticResource EgalwareHawkesBlueColor}" Offset="0.0"/>
<GradientStop Color="{StaticResource EgalwareFrenchPassColor}" Offset="1.0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border" Color="{StaticResource EgalwareCornflowerBlueColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Background" Color="{StaticResource EgalwareGalleryColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Border" Color="{StaticResource EgalwareAltoColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Glyph" Color="{StaticResource EgalwareSilverColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background" Color="{StaticResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border" Color="{StaticResource EgalwareSilverColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background" Color="{StaticResource EgalwareTransparentColor}"/>
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border" Color="{StaticResource EgalwareTransparentColor}"/>
<!--#endregion ComboBoxColor-->
<!--#region ScrollBarColor-->
<SolidColorBrush x:Key="ScrollBar.Background" Color="{StaticResource EgalwareSilverChaliceColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Background" Color="{StaticResource EgalwareScorpionColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Foreground" Color="{StaticResource EgalwareBlackColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Border" Color="{StaticResource EgalwareGalleryColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Glyph" Color="{StaticResource EgalwareScorpionColor}"/>
<SolidColorBrush x:Key="ScrollBar.Static.Thumb" Color="{StaticResource EgalwareSilverColor}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Background" Color="{StaticResource EgalwareAltoColor}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Border" Color="{StaticResource EgalwareAltoColor}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Glyph" Color="{StaticResource EgalwareBlackColor}"/>
<SolidColorBrush x:Key="ScrollBar.MouseOver.Thumb" Color="{StaticResource EgalwareSilverChaliceColor}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Background" Color="{StaticResource EgalwareScorpionColor}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Border" Color="{StaticResource EgalwareScorpionColor}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Thumb" Color="{StaticResource EgalwareScorpionColor}"/>
<SolidColorBrush x:Key="ScrollBar.Pressed.Glyph" Color="{StaticResource EgalwareBlackColor}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Background" Color="{StaticResource EgalwareGalleryColor}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Border" Color="{StaticResource EgalwareGalleryColor}"/>
<SolidColorBrush x:Key="ScrollBar.Disabled.Glyph" Color="{StaticResource EgalwareSilverColor}"/>
<SolidColorBrush x:Key="ScrollBar.Button.Static.Background" Color="{StaticResource EgalwareWhiteColor}"/>
<!--#endregion ScrollBarColor -->
<!--#region DoorListColor-->
<SolidColorBrush x:Key="DoorList.ScrollBar.Static.Background" Color="{DynamicResource EgalwareGalleryColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.Static.Border" Color="{DynamicResource EgalwareGalleryColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.Pressed.Glyph" Color="{DynamicResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.MouseOver.Glyph" Color="{DynamicResource EgalwareBlackColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.Disabled.Glyph" Color="{DynamicResource EgalwareSilverColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.Static.Glyph" Color="{DynamicResource EgalwareScorpionColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.MouseOver.Background" Color="{DynamicResource EgalwareAltoColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.MouseOver.Border" Color="{DynamicResource EgalwareAltoColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.Pressed.Background" Color="{DynamicResource EgalwareScorpionColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.Pressed.Border" Color="{DynamicResource EgalwareScorpionColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.Disabled.Background" Color="{DynamicResource EgalwareGalleryColor}"/>
<SolidColorBrush x:Key="DoorList.ScrollBar.Disabled.Border" Color="{DynamicResource EgalwareGalleryColor}"/>
<SolidColorBrush x:Key="DoorList.ListBox.Static.Background" Color="{DynamicResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="DoorList.ListBox.Static.Border" Color="{DynamicResource EgalwareBombayColor}"/>
<SolidColorBrush x:Key="DoorList.ListBox.Disabled.Background" Color="{DynamicResource EgalwareWhiteColor}"/>
<SolidColorBrush x:Key="DoorList.ListBox.Disabled.Border" Color="{DynamicResource EgalwareAltoColor}"/>
<!--#endregion DoorListColor-->
<!--#region ButtonColor-->
<LinearGradientBrush x:Key="Button.Static.Background" MappingMode="RelativeToBoundingBox" EndPoint="0,0" StartPoint="1,1">
<GradientStop Color="{DynamicResource EgalwareDarkOrangeColor}" Offset="0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="Button.Static.Border" Color="{DynamicResource EgalwareDoveGrayColor}"/>
<SolidColorBrush x:Key="Button.Static.Foreground" Color="{DynamicResource EgalwareCodGrayColor}"/>
<SolidColorBrush x:Key="Button.MouseOver.Background" Color="{DynamicResource EgalwareFrenchPassColor}"/>
<SolidColorBrush x:Key="Button.MouseOver.Border" Color="{DynamicResource EgalwareBostonBlueColor}"/>
<SolidColorBrush x:Key="Button.Pressed.Background" Color="{DynamicResource EgalwareTropicalBlueColor}"/>
<SolidColorBrush x:Key="Button.Pressed.Border" Color="{DynamicResource EgalwareCalypsoColor}"/>
<SolidColorBrush x:Key="Button.Disabled.Background" Color="{DynamicResource EgalwareWindSandColor}"/>
<SolidColorBrush x:Key="Button.Disabled.Border" Color="{DynamicResource EgalwareBombayColor}"/>
<SolidColorBrush x:Key="Button.Disabled.Foreground" Color="{DynamicResource EgalwareGrayColor}"/>
<!--#endregion ButtonColor-->
<!--#region TextBlockColor-->
<LinearGradientBrush x:Key="EgtCustomWindow.TitleBarBrush" MappingMode="RelativeToBoundingBox" EndPoint="0,0" StartPoint="1,1">
<GradientStop Color="{DynamicResource EgalwareDarkCyanColor}" Offset="0"/>
</LinearGradientBrush>
<SolidColorBrush x:Key="EgtCustomWindow.BorderBrush" Color="{DynamicResource EgalwareIndigoColor}"/>
<SolidColorBrush x:Key="EgtCustomWindow.Background" Color="{DynamicResource EgalwareWhiteColor}"/>
<!--#endregion TextBlockColor-->
<!--#region TextBoxColor-->
<SolidColorBrush x:Key="TextBox.Foreground" Color="{StaticResource EgalwareIndochineColor}"/>
<SolidColorBrush x:Key="TextBox.Background" Color="{StaticResource EgalwarePattensBlueColor}"/>
<!--#endregion TextBoxColor-->
<!--#region ListBoxColor-->
<SolidColorBrush x:Key="ListBox.Background" Color="{StaticResource EgalwareDanubeColor}"/>
<!--#endregion ListBoxColor-->
<!--#region BorderColor-->
<SolidColorBrush x:Key="HardwareDimensionList.Foreground" Color="{StaticResource EgalwareDoveGrayColor}"/>
<LinearGradientBrush x:Key="HardwareDimensionList.Background" MappingMode="RelativeToBoundingBox" EndPoint="0,0" StartPoint="1,1">
<GradientStop Color="{DynamicResource EgalwareDarkBlueColor}" Offset="0"/>
</LinearGradientBrush>
<!--#endregion BorderColor-->
<!--#region DoorButtonColor-->
<SolidColorBrush x:Key="DoorButton.Static.Background" Color="{DynamicResource EgalwareIndochineColor}"/>
<SolidColorBrush x:Key="DoorButton.Static.Border" Color="{DynamicResource EgalwareBlackColor}"/>
<SolidColorBrush x:Key="DoorButton.MouseOver.Border" Color="{DynamicResource EgalwareBostonBlueColor}"/>
<!--#endregion DoorButtonColor-->
<!--#region ExpanderColor-->
<LinearGradientBrush x:Key="Expander.BackgroundColor" MappingMode="RelativeToBoundingBox" EndPoint="0,0" StartPoint="1,1">
<GradientStop Color="{DynamicResource EgalwareSilverChaliceColor}" Offset="0" />
</LinearGradientBrush>
<SolidColorBrush x:Key="Expander.BorderBrush" Color="{StaticResource EgalwareGeyserColor}"/>
<!--#endregion ExpanderColor-->
<!--#region BorderThickness-->
<Thickness x:Key="GroupBox_BorderThickness">0.7</Thickness>
<Thickness x:Key="BorderParamThickness">1</Thickness>
<Thickness x:Key="CustomScrollBarThickness">1</Thickness>
<Thickness x:Key="DoorListBoxThickness">0</Thickness>
<Thickness x:Key="ButtonThickness">1</Thickness>
<Thickness x:Key="ToggleButtonThickness">1</Thickness>
<!--#endregion BorderThickness-->
<!--#region Immagini predefiniti-->
<BitmapImage x:Key="NewFile" UriSource="/Resources/TopCommandBar/NewFile.png"/>
<BitmapImage x:Key="DeleteFile" UriSource="/Resources/TopCommandBar/Delete.png"/>
<BitmapImage x:Key="CopyFile" UriSource="/Resources/TopCommandBar/DuplicaFile.png"/>
<BitmapImage x:Key="OpenFolder" UriSource="/Resources/TopCommandBar/Open.png"/>
<BitmapImage x:Key="NewFolder" UriSource="/Resources/TopCommandBar/NewDir.png"/>
<BitmapImage x:Key="Refresh" UriSource="/Resources/Refresh/RefreshDir.png"/>
<BitmapImage x:Key="Save" UriSource="/Resources/TopCommandBar/Save.png"/>
<BitmapImage x:Key="SaveAs" UriSource="/Resources/TopCommandBar/SaveAs.png"/>
<BitmapImage x:Key="SaveAsTemplate" UriSource="/Resources/TopCommandBar/SaveAsTemplate.png"/>
<BitmapImage x:Key="ExportToMachine" UriSource="/Resources/TopCommandBar/Export.png"/>
<BitmapImage x:Key="Print" UriSource="/Resources/InstrumentPanel/Print.png"/>
<BitmapImage x:Key="CreateAssembly" UriSource="/Resources/TopCommandBar/Create Assembly.png"/>
<BitmapImage x:Key="Option" UriSource="/Resources/TopCommandBar/Options.png"/>
<BitmapImage x:Key="FeedBack" UriSource="/Resources/TopCommandBar/Send.png"/>
<BitmapImage x:Key="Help" UriSource="/Resources/TopCommandBar/Help.png"/>
<!--#endregion Immagini predefiniti-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region ButtonStyle-->
<Style x:Key="GeneralDoorParamGrpButton" TargetType="{x:Type Button}" BasedOn="{StaticResource DoorsBtn}">
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="Height" Value="Auto"/>
<Setter Property="Padding" Value="2,0,2,2"/>
<Setter Property="Margin" Value="5,0,0,0"/>
</Style>
<Style x:Key="CompoBtn" TargetType="{x:Type Button}" BasedOn="{StaticResource DoorsBtn}">
<Setter Property="Margin" Value="0.5"/>
</Style>
<Style x:Key="BrowseOptionBtn" TargetType="{x:Type Button}" BasedOn="{StaticResource DoorsBtn}">
<Setter Property="FontWeight" Value="Normal"/>
<Setter Property="FontStyle" Value="Normal"/>
<Setter Property="MaxHeight" Value="28"/>
</Style>
<!--#endregion ButtonStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region TextBlockStyle-->
<Style x:Key="DoorParamHeaderGrp" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="Margin" Value="0,0,0,0"/>
<Setter Property="FontWeight" Value="Normal"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<Setter Property="Foreground" Value="{Binding ErrorColor}"/>
<Setter Property="FontWeight" Value="Bold"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<Setter Property="Foreground" Value="{Binding Foreground}"/>
<Setter Property="FontWeight" Value="{Binding FontBold}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="GeneralDoorParamGrpTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="Width" Value="Auto"/>
</Style>
<Style x:Key="BrandTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="FontStyle" Value="Normal"/>
<Style.Triggers>
<DataTrigger Binding="{Binding MissingDirectory}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleCompoBrandFile}"/>
<Setter Property="Foreground" Value="{Binding ErrorColor}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="FileTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding MissingFile}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleCompoBrandFile}"/>
<Setter Property="Foreground" Value="{Binding ErrorColor}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="GeneralOptionTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="FontWeight" Value="Normal"/>
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="Margin" Value="5,0,5,0"/>
</Style>
<!-- Messaggio di Header nel GroupBox della pagina OptionPage-->
<Style x:Key="GeneralOptionHeaderTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="FontWeight" Value="Normal"/>
</Style>
<!-- Messaggio nel GroupBox CurrentMachine della pagina OptionPage-->
<Style x:Key="GeneralOptionMTableTxBx" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="Foreground" Value="{DynamicResource DoorParamsTxBx.TextColor.Foreground}"/>
<Setter Property="FontWeight" Value="Normal"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="TextWrapping" Value="Wrap"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="5,0,5,0"/>
</Style>
<!--#endregion TextBlockStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region GroupBox Style-->
<Style x:Key="DoorParamGrp" TargetType="{x:Type GroupBox}">
<Setter Property="BorderBrush" Value="{StaticResource EgalwareLightGray}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Margin" Value="5,0,0,0"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<Setter Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter Property="BorderThickness" Value="2"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<Setter Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter Property="BorderThickness" Value="{Binding BorderThickness}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="DoorParamGrp2" TargetType="{x:Type GroupBox}">
<Setter Property="BorderBrush" Value="{StaticResource EgalwareLightGray}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Margin" Value="0,0,0,5"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<Setter Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter Property="BorderThickness" Value="2"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<Setter Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter Property="BorderThickness" Value="{Binding BorderThickness}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="GeneralDoorParamGrp" TargetType="{x:Type GroupBox}" BasedOn="{StaticResource DoorParamGrp}">
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="FontWeight" Value="Normal"/>
<Setter Property="FontStyle" Value="Normal"/>
<Setter Property="Height" Value="Auto"/>
<Setter Property="Padding" Value="2,0,2,2"/>
<Setter Property="Margin" Value="5,0,0,0"/>
</Style>
<BorderGapMaskConverter x:Key="BorderGapMaskConverter"/>
<Style x:Key="PartPageGrp" TargetType="{x:Type GroupBox}">
<Setter Property="BorderBrush" Value="{StaticResource EgalwareLightGray}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="0,0,1,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupBox}">
<Grid SnapsToDevicePixels="true">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="6"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="6"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="6"/>
</Grid.RowDefinitions>
<Border Background="{TemplateBinding Background}" BorderBrush="{StaticResource EgalwareTransparent}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4" Grid.Column="0" Grid.ColumnSpan="4" Grid.RowSpan="3" Grid.Row="1"/>
<Border BorderBrush="{StaticResource EgalwareWhite}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4" Grid.ColumnSpan="4" Grid.RowSpan="3" Grid.Row="1">
<Border.OpacityMask>
<MultiBinding ConverterParameter="7" Converter="{StaticResource BorderGapMaskConverter}">
<Binding ElementName="Header" Path="ActualWidth"/>
<Binding Path="ActualWidth" RelativeSource="{RelativeSource Mode=Self}"/>
<Binding Path="ActualHeight" RelativeSource="{RelativeSource Mode=Self}"/>
</MultiBinding>
</Border.OpacityMask>
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3">
<Border BorderBrush="{StaticResource EgalwareWhite}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2"/>
</Border>
</Border>
<Border x:Name="Header" Grid.Column="1" Grid.ColumnSpan="2" Padding="3,1,3,0" Grid.RowSpan="2" Grid.Row="0">
<ContentPresenter ContentSource="Header" Width="{Binding ElementName=Header, Path=ActualWidth}" HorizontalAlignment="Right" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
<ContentPresenter Grid.Column="1" Grid.ColumnSpan="2" Margin="{TemplateBinding Padding}" Grid.Row="2" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<Setter Property="BorderBrush" Value="{Binding ErrorColor}"/>
<Setter Property="BorderThickness" Value="2"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<Setter Property="BorderBrush" Value="{Binding BorderColor}"/>
<Setter Property="BorderThickness" Value="{Binding BorderThickness}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<!--#endregion GroupBox Style-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region ComboBoxStyle-->
<Style x:Key="ComboBoxEditableTextBox" TargetType="{x:Type TextBox}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="AllowDrop" Value="true"/>
<Setter Property="MinWidth" Value="0"/>
<Setter Property="MinHeight" Value="0"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<ScrollViewer x:Name="PART_ContentHost" Background="{StaticResource EgalwareTransparent}"
Focusable="false" HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="ClickMode" Value="Press"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Border x:Name="templateRoot"
Background="{DynamicResource ComboBox.Static.Background}"
BorderBrush="{DynamicResource ComboBox.Static.Border}"
BorderThickness="{TemplateBinding BorderThickness}"
SnapsToDevicePixels="True">
<Border x:Name="splitBorder"
BorderBrush="{DynamicResource EgalwareTransparent}"
BorderThickness="1"
HorizontalAlignment="Right"
Margin="0"
SnapsToDevicePixels="true"
Width="{StaticResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}">
<Path x:Name="arrow" Data="F1 M 0,0 L 2.667,2.66665 L 5.3334,0 L 5.3334,-1.78168 L 2.6667,0.88501 L0,-1.78168 L0,0 Z"
Fill="{DynamicResource ComboBox.Static.Glyph}"
HorizontalAlignment="Center"
Margin="0"
VerticalAlignment="Center"/>
</Border>
</Border>
<ControlTemplate.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true"/>
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Mode=Self}}" Value="False"/>
<Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Mode=Self}}" Value="False"/>
<Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" TargetName="templateRoot" Value="{DynamicResource ComboBox.Static.Editable.Background}"/>
<Setter Property="BorderBrush" TargetName="templateRoot" Value="{DynamicResource ComboBox.Static.Editable.Border}"/>
<Setter Property="Background" TargetName="splitBorder" Value="{DynamicResource ComboBox.Static.Editable.Button.Background}"/>
<Setter Property="BorderBrush" TargetName="splitBorder" Value="{DynamicResource ComboBox.Static.Editable.Button.Border}"/>
</MultiDataTrigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" TargetName="arrow"
Value="{DynamicResource ComboBox.MouseOver.Glyph}"/>
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="False"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" TargetName="templateRoot" Value="{DynamicResource ComboBox.MouseOver.Background}"/>
<Setter Property="BorderBrush" TargetName="templateRoot" Value="{DynamicResource ComboBox.MouseOver.Border}"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" TargetName="templateRoot" Value="{DynamicResource ComboBox.MouseOver.Editable.Background}"/>
<Setter Property="BorderBrush" TargetName="templateRoot" Value="{DynamicResource ComboBox.MouseOver.Editable.Border}"/>
<Setter Property="Background" TargetName="splitBorder" Value="{DynamicResource ComboBox.MouseOver.Editable.Button.Background}"/>
<Setter Property="BorderBrush" TargetName="splitBorder" Value="{DynamicResource ComboBox.MouseOver.Editable.Button.Border}"/>
</MultiDataTrigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Fill" TargetName="arrow" Value="{DynamicResource ComboBox.Pressed.Glyph}"/>
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="False"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" TargetName="templateRoot" Value="{DynamicResource ComboBox.Pressed.Background}"/>
<Setter Property="BorderBrush" TargetName="templateRoot" Value="{DynamicResource ComboBox.Pressed.Border}"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" TargetName="templateRoot" Value="{DynamicResource ComboBox.Pressed.Editable.Background}"/>
<Setter Property="BorderBrush" TargetName="templateRoot" Value="{DynamicResource ComboBox.Pressed.Editable.Border}"/>
<Setter Property="Background" TargetName="splitBorder" Value="{DynamicResource ComboBox.Pressed.Editable.Button.Background}"/>
<Setter Property="BorderBrush" TargetName="splitBorder" Value="{DynamicResource ComboBox.Pressed.Editable.Button.Border}"/>
</MultiDataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Fill" TargetName="arrow" Value="{DynamicResource ComboBox.Disabled.Glyph}"/>
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Mode=Self}}" Value="False"/>
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="false"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" TargetName="templateRoot" Value="{DynamicResource ComboBox.Disabled.Background}"/>
<Setter Property="BorderBrush" TargetName="templateRoot" Value="{DynamicResource ComboBox.Disabled.Border}"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Mode=Self}}" Value="False"/>
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" TargetName="templateRoot" Value="{DynamicResource ComboBox.Disabled.Editable.Background}"/>
<Setter Property="BorderBrush" TargetName="templateRoot" Value="{DynamicResource ComboBox.Disabled.Editable.Border}"/>
<Setter Property="Background" TargetName="splitBorder" Value="{DynamicResource ComboBox.Disabled.Editable.Button.Background}"/>
<Setter Property="BorderBrush" TargetName="splitBorder" Value="{DynamicResource ComboBox.Disabled.Editable.Button.Border}"/>
</MultiDataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ControlTemplate x:Key="ComboBoxEditableTemplate" TargetType="{x:Type ComboBox}">
<Grid x:Name="templateRoot" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Width="0"/>
</Grid.ColumnDefinitions>
<Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource Mode=TemplatedParent}}" Placement="Bottom" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
<theme:SystemDropShadowChrome x:Name="shadow" Color="{DynamicResource EgalwareTransparentColor}" MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}">
<Border x:Name="dropDownBorder" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1">
<ScrollViewer x:Name="DropDownScrollViewer">
<Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled">
<Canvas x:Name="canvas" HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0">
<Rectangle x:Name="opaqueRect" Fill="{Binding Background, ElementName=dropDownBorder}" Height="{Binding ActualHeight, ElementName=dropDownBorder}" Width="{Binding ActualWidth, ElementName=dropDownBorder}"/>
</Canvas>
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Grid>
</ScrollViewer>
</Border>
</theme:SystemDropShadowChrome>
</Popup>
<ToggleButton x:Name="toggleButton" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}" Style="{StaticResource ComboBoxToggleButton}"/>
<Border x:Name="border" Background="{StaticResource TextBox.Static.Background}" Margin="{TemplateBinding BorderThickness}">
<TextBox x:Name="PART_EditableTextBox" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource Mode=TemplatedParent}}" Margin="{TemplateBinding Padding}" Style="{StaticResource ComboBoxEditableTextBox}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" TargetName="border" Value="0.56"/>
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="Foreground" Value="{DynamicResource EgalwareBlack}"/>
</Trigger>
<Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="True">
<Setter Property="Margin" TargetName="shadow" Value="0,0,5,5"/>
<Setter Property="Color" TargetName="shadow" Value="#71000000"/>
</Trigger>
<Trigger Property="HasItems" Value="false">
<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsGrouping" Value="true"/>
</MultiTrigger.Conditions>
<Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
</MultiTrigger>
<Trigger Property="ScrollViewer.CanContentScroll" SourceName="DropDownScrollViewer" Value="false">
<Setter Property="Canvas.Top" TargetName="opaqueRect" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}"/>
<Setter Property="Canvas.Left" TargetName="opaqueRect" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="ComboBoxTemplate" TargetType="{x:Type ComboBox}">
<Grid x:Name="templateRoot" SnapsToDevicePixels="true">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Width="0"/>
</Grid.ColumnDefinitions>
<Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}" Margin="1" Placement="Bottom" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
<theme:SystemDropShadowChrome x:Name="shadow" Color="{DynamicResource EgalwareTransparentColor}" MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}">
<Border x:Name="dropDownBorder"
Background="{DynamicResource ComboBox.Static.Background}"
BorderBrush="{DynamicResource ComboBox.Static.Border}"
BorderThickness="1">
<ScrollViewer x:Name="DropDownScrollViewer">
<Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled">
<Canvas x:Name="canvas" HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0">
<Rectangle x:Name="opaqueRect" Fill="{Binding Background, ElementName=dropDownBorder}" Height="{Binding ActualHeight, ElementName=dropDownBorder}" Width="{Binding ActualWidth, ElementName=dropDownBorder}"/>
</Canvas>
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Grid>
</ScrollViewer>
</Border>
</theme:SystemDropShadowChrome>
</Popup>
<ToggleButton x:Name="toggleButton" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource Mode=TemplatedParent}}" Style="{StaticResource ComboBoxToggleButton}"/>
<ContentPresenter x:Name="contentPresenter" ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" Content="{TemplateBinding SelectionBoxItem}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="false" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="True">
<Setter Property="Margin" TargetName="shadow" Value="0,0,5,5"/>
<Setter Property="Color" TargetName="shadow" Value="#71000000"/>
</Trigger>
<Trigger Property="HasItems" Value="False">
<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsGrouping" Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="ScrollViewer.CanContentScroll" Value="False"/>
</MultiTrigger>
<Trigger Property="ScrollViewer.CanContentScroll" SourceName="DropDownScrollViewer" Value="false">
<Setter Property="Canvas.Top" TargetName="opaqueRect" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}"/>
<Setter Property="Canvas.Left" TargetName="opaqueRect" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="DoorParamsCmBx" TargetType="{x:Type ComboBox}">
<Setter Property="FocusVisualStyle" Value="{DynamicResource FocusVisual}"/>
<Setter Property="Background" Value="{DynamicResource ComboBox.Static.Background}"/>
<Setter Property="BorderBrush" Value="{DynamicResource ComboBox.Static.Border}"/>
<Setter Property="Foreground" Value="{DynamicResource ComboBox.Static.Foreground}"/>
<Setter Property="BorderThickness" Value="{DynamicResource DoorParamsCmBxThickness}"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="Padding" Value="6,3,5,3"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="True"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="Height" Value="22"/>
<Setter Property="Template" Value="{StaticResource ComboBoxTemplate}"/>
<Style.Triggers>
<Trigger Property="IsEditable" Value="True">
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="Padding" Value="2"/>
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="DoorEdgeParamsCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Visibility" Value="{Binding IsActive}"/>
</Style>
</Setter.Value>
</Setter>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="JambsParamsCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Height" Value="Auto"/>
<Setter Property="MaxWidth" Value="120"/>
<Setter Property="Margin" Value="0.4,2,10,3.2"/>
</Style>
<Style x:Key="SelectCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Height" Value="24"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="5,0,5,0"/>
</Style>
<Style x:Key="HardwarePageCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="0,2,0,2"/>
</Style>
<Style x:Key="CurrHardwareCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Height" Value="Auto"/>
<Setter Property="Margin" Value="0.4,2,39.6,3.2"/>
</Style>
<Style x:Key="LuaCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="0,2,2,2"/>
</Style>
<Style x:Key="ParamOnOffCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="0,0,0,2"/>
</Style>
<Style x:Key="LockedgeCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="0.4,2,30,4"/>
</Style>
<Style x:Key="AllignGropBoxCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Height" Value="Auto"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="Width" Value="100"/>
<Setter Property="Margin" Value="2,0,0,0"/>
</Style>
<Style x:Key="CurrPartCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="MaxWidth" Value="120"/>
<Setter Property="Margin" Value="-7,0,38,2"/>
</Style>
<Style x:Key="MaterialsCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="MaxWidth" Value="120"/>
<Setter Property="Margin" Value="-7,2,38,0"/>
</Style>
<Style x:Key="PropertiesCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="MaxWidth" Value="120"/>
<Setter Property="Margin" Value="18,0,12,0"/>
</Style>
<Style x:Key="SwingListCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="5,0,30,5"/>
</Style>
<Style x:Key="LockEdgeProfileCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="5,0,15,5"/>
</Style>
<Style x:Key="BrandListCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="0,2,15,2"/>
</Style>
<Style x:Key="TypeListCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,2,15,2"/>
</Style>
<Style x:Key="DimensioningCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Height" Value="25"/>
<Setter Property="Margin" Value="10,0,0,0"/>
</Style>
<Style x:Key="SwingCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="5,0,30,5"/>
</Style>
<Style x:Key="LockEdgeCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="5,0,40,5"/>
</Style>
<Style x:Key="DoorNumberCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="15,2.5,10,2.5"/>
</Style>
<Style x:Key="FrameEdgeCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Margin" Value="5,2.5,10,2.5"/>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="ComboBoxItem">
<Setter Property="Visibility" Value="{Binding IsActive}"/>
</Style>
</Setter.Value>
</Setter>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SnapPointTypeCmBx" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource DoorParamsCmBx}">
<Setter Property="Width" Value="130"/>
</Style>
<!--#endregion ComboBoxStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region TabControl Style-->
<Style x:Key="GeneralOptionTabControl" TargetType="{x:Type TabControl}">
<Setter Property="Margin" Value="0,3,0,0"/>
</Style>
<!--#endregion TabControl Style-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region CheckBoxStyle-->
<Style x:Key="AllignGropBoxChBx" TargetType="{x:Type CheckBox}" BasedOn="{StaticResource GeneralCheckBox}">
<Setter Property="Margin" Value="2,0,0.2,0"/>
</Style>
<!--#endregion CheckBoxStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region HardwareExpander Style-->
<Style x:Key="HardwareExpander" TargetType="{x:Type Expander}">
<Setter Property="IsExpanded" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Expander}">
<Grid>
<GroupBox Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource AncestorType={x:Type Expander}}}"
Content="{TemplateBinding Header}" Style="{DynamicResource GeneralCheckBox}"/>
<TextBlock Text="{Binding TemplateName}" Margin="5,0,0,0"
Style="{DynamicResource HardwareTxBx}"/>
</StackPanel>
</GroupBox.Header>
<ContentControl Content="{TemplateBinding Content}"/>
</GroupBox>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsExpanded" Value="False">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Expander}">
<Border BorderBrush="{DynamicResource EgalwareGeyser}" Background="{DynamicResource EgalwareTransparent}" BorderThickness="{DynamicResource GroupBox_BorderThickness}" CornerRadius="3" Margin="1,1,1,0">
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource AncestorType={x:Type Expander}}}"
Content="{TemplateBinding Header}"
Margin="9,5,5,5" Style="{DynamicResource GeneralCheckBox}"/>
<TextBlock Text="{Binding TemplateName}" Margin="5,3,0,0"
Style="{DynamicResource HardwareTxBx}"/>
</StackPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
<!--#endregion HardwareExpander Style-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
<!--#region LineStyle-->
<Style x:Key="PartPageLine" TargetType="{x:Type Line}">
<Setter Property="Stroke" Value="{StaticResource EgalwareLightGray}"/>
<Setter Property="StrokeThickness" Value="0.1"/>
<Setter Property="X1" Value="10"/>
<Setter Property="X2" Value="400"/>
<Setter Property="Y1" Value="70"/>
<Setter Property="Y2" Value="70"/>
<Setter Property="Margin" Value="0,-60,0,0"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsError}" Value="True">
<Setter Property="Stroke" Value="{Binding ErrorColor}"/>
<Setter Property="StrokeThickness" Value="2"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsError}" Value="False">
<Setter Property="Stroke" Value="{Binding BorderColor}"/>
<Setter Property="StrokeThickness" Value="{Binding BorderThickness}"/>
</DataTrigger>
</Style.Triggers>
</Style>
<!--#endregion LineStyle-->
<!-- ______________________________________________________________________________________________________________________________________________ -->
</ResourceDictionary>
+13 -15
View File
@@ -1,19 +1,17 @@
<EgtWPFLib5:EgtCustomWindow x:Class="GuideV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="True"
IsMinimizable="True" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Height="800" Width="1500">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="True"
IsMinimizable="True" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Height="800" Width="1500">
<DockPanel Margin="5">
<WebBrowser x:Name="DoorBrowser"/>
</DockPanel>
<DockPanel Margin="5">
<WebBrowser x:Name="DoorBrowser"/>
</DockPanel>
</EgtWPFLib5:EgtCustomWindow>
+10 -2
View File
@@ -2,9 +2,15 @@
Public Class GuideV
#Region "FIELDS & PROPERTIES"
Private m_GuideVM As GuideVM
Public Shared m_Language As String
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(Owner As Window, GuideVM As GuideVM)
MyBase.New(Owner)
' This call is required by the designer.
@@ -20,10 +26,10 @@ Public Class GuideV
Dim sHelpDir As String = String.Empty
If OptionModule.m_SmartHelp = HelpPage.LocalHost Then
sHelpDir = IniFile.m_sHelpDir.Replace("C:", "file://127.0.0.1/c$")
DoorBrowser.Navigate(New Uri(sHelpDir & "\" & m_Language & "\" & GuideVM.m_AddressGuide & ".html"))
DoorBrowser.Source = New Uri(sHelpDir & "\" & m_Language & "\" & GuideVM.m_AddressGuide & ".html")
ElseIf OptionModule.m_SmartHelp = HelpPage.WebBrowserVB Then
sHelpDir = IniFile.m_sHelpDir
DoorBrowser.Navigate(New Uri(sHelpDir & "\" & m_Language & "\" & GuideVM.m_AddressGuide & ".html"))
DoorBrowser.Source = New Uri(sHelpDir & "\" & m_Language & "\" & GuideVM.m_AddressGuide & ".html")
Else
sHelpDir = IniFile.m_sHelpDir
Try
@@ -43,4 +49,6 @@ Public Class GuideV
End Sub
#End Region ' Constructor
End Class
+5 -5
View File
@@ -1,9 +1,7 @@
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.Windows.Forms
Imports EgtUILib
Public Class GuideVM
#Region "FIELDS & PROPERTIES"
Public Class GuideVM
' se non è stata selezionato ancora nulla allora faccio partire il menu principale
Public Shared m_AddressGuide As String = "Index"
@@ -13,4 +11,6 @@ Public Class GuideVM
End Get
End Property
#End Region ' Fields & Properties
End Class
+164 -126
View File
@@ -1,15 +1,133 @@
Imports System.ComponentModel
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class GeometryListConfigVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Dim m_HardwareTemp As Hardware
#Region "MESSAGES"
#Region "GEOMETRY NAME"
#Region "FIELDS & PROPERTIES"
Private m_ColorText As SolidColorBrush = DirectCast(New BrushConverter().ConvertFrom("Black"), SolidColorBrush)
Public Property ColorText As SolidColorBrush
Get
Return m_ColorText
End Get
Set(value As SolidColorBrush)
m_ColorText = value
NotifyPropertyChanged(NameOf(ColorText))
End Set
End Property
Private m_GeometryName As String = "Geometry"
Public Property GeometryName As String
Get
Return m_GeometryName
End Get
Set(value As String)
m_GeometryName = Trim(value)
If Not GetWorkListGeometryName(m_SelHardware.DDFName) Then
If Not IsNothing(Map.refOptionsVM) AndAlso Map.refOptionsVM.SelectedTheme.Name = "Default" Then
ColorText = DirectCast(New BrushConverter().ConvertFrom(OptionModule.ColorNewGeometry), SolidColorBrush)
Else
ColorText = DirectCast(New BrushConverter().ConvertFrom("White"), SolidColorBrush)
End If
Else
If Not IsNothing(Map.refOptionsVM) AndAlso Map.refOptionsVM.SelectedTheme.Name = "Default" Then
ColorText = DirectCast(New BrushConverter().ConvertFrom("Black"), SolidColorBrush)
Else
ColorText = DirectCast(New BrushConverter().ConvertFrom("White"), SolidColorBrush)
End If
End If
NotifyPropertyChanged(NameOf(GeometryName))
End Set
End Property
Private m_GeometryNameList As New ObservableCollection(Of String)
Public Property GeometryNameList As ObservableCollection(Of String)
Get
Return m_GeometryNameList
End Get
Set(value As ObservableCollection(Of String))
m_GeometryNameList = value
End Set
End Property
#End Region ' Fields & Properties
#End Region ' Geommetry Name
#Region "HARDWARE LIST"
#Region "FIELDS & PROPERTIES"
Private m_HardwareList As New ObservableCollection(Of CompoType)
Private m_SelHardware As CompoType
Private m_GraphicHardwareList As New ObservableCollection(Of String)
Public Property GraphicHardwareList As ObservableCollection(Of String)
Get
Return m_GraphicHardwareList
End Get
Set(value As ObservableCollection(Of String))
m_GraphicHardwareList = value
NotifyPropertyChanged(NameOf(GraphicHardwareList))
End Set
End Property
Private m_SelGraphicHardware As String
Public Property SelGraphicHardware As String
Get
Return m_SelGraphicHardware
End Get
Set(value As String)
m_SelGraphicHardware = value
For Each Item In m_HardwareList
If Item.Name = m_SelGraphicHardware Then
m_SelHArdware = Item
Exit For
End If
Next
LoadParamBySelecetedHardware()
GetWorkListGeometryName(m_SelHardware.DDFName)
NotifyPropertyChanged(NameOf(SelGraphicHardware))
End Set
End Property
#End Region ' Fields & Properties
#End Region ' Hardware List
#Region "PARAMETER LIST"
#Region "FIELDS & PROPERTIES"
'Private m_Parameter As CompoParam
Private m_ParameterList As New ObservableCollection(Of ItemGeometry)
Public Property ParameterList As ObservableCollection(Of ItemGeometry)
Get
Return m_ParameterList
End Get
Set(value As ObservableCollection(Of ItemGeometry))
m_ParameterList = value
NotifyPropertyChanged(NameOf(ParameterList))
End Set
End Property
Private m_SelParameter As String
Private m_CurrentWork() As String
#End Region ' Fileds & Properties
#End Region ' Parameter List
#Region "Messages"
Public ReadOnly Property Title As String
Get
@@ -44,105 +162,11 @@ Public Class GeometryListConfigVM
#End Region ' Messages
#Region "GEOMETRY NAME"
Private m_CmdSave As ICommand
Private m_ColorText As SolidColorBrush = DirectCast(New BrushConverter().ConvertFrom("Black"), SolidColorBrush)
Public Property ColorText As SolidColorBrush
Get
Return m_ColorText
End Get
Set(value As SolidColorBrush)
m_ColorText = value
NotifyPropertyChanged("ColorText")
End Set
End Property
#End Region ' Fields & Properties
Private m_GeometryName As String = "Geometry"
Public Property GeometryName As String
Get
Return m_GeometryName
End Get
Set(value As String)
m_GeometryName = Trim(value)
If Not GetWorkListGeometryName(m_SelHardware.DDFName) Then
ColorText = DirectCast(New BrushConverter().ConvertFrom(OptionModule.ColorNewGeometry), SolidColorBrush)
Else
ColorText = DirectCast(New BrushConverter().ConvertFrom("Black"), SolidColorBrush)
End If
NotifyPropertyChanged("GeometryName")
End Set
End Property
Private m_GeometryNameList As New ObservableCollection(Of String)
Public Property GeometryNameList As ObservableCollection(Of String)
Get
Return m_GeometryNameList
End Get
Set(value As ObservableCollection(Of String))
m_GeometryNameList = value
End Set
End Property
#End Region ' Geommetry Name
#Region "HARDWARE LIST"
Private m_HardwareList As New ObservableCollection(Of CompoType)
Private m_SelHardware As CompoType
Private m_GraphicHardwareList As New ObservableCollection(Of String)
Public Property GraphicHardwareList As ObservableCollection(Of String)
Get
Return m_GraphicHardwareList
End Get
Set(value As ObservableCollection(Of String))
m_GraphicHardwareList = value
NotifyPropertyChanged("GraphicHardwareList")
End Set
End Property
Private m_SelGraphicHardware As String
Public Property SelGraphicHardware As String
Get
Return m_SelGraphicHardware
End Get
Set(value As String)
m_SelGraphicHardware = value
For Each Item In m_HardwareList
If Item.Name = m_SelGraphicHardware Then
m_SelHArdware = Item
Exit For
End If
Next
LoadParamBySelecetedHardware()
GetWorkListGeometryName(m_SelHardware.DDFName)
NotifyPropertyChanged("SelGraphicHardware")
End Set
End Property
#End Region ' Hardware List
#Region "PARAMETER LIST"
'Private m_Parameter As CompoParam
Private m_ParameterList As New ObservableCollection(Of ItemGeometry)
Public Property ParameterList As ObservableCollection(Of ItemGeometry)
Get
Return m_ParameterList
End Get
Set(value As ObservableCollection(Of ItemGeometry))
m_ParameterList = value
NotifyPropertyChanged("ParameterList")
End Set
End Property
Private m_SelParameter As String
Private m_CurrentWork() As String
#End Region ' Parameter List
#Region "METODI"
#Region "METHODS"
Public Function LoadNameComboBoxLua(LocalHardware As Hardware) As Boolean
' prima di ricaricare la lista deve essere svuotata
@@ -236,11 +260,35 @@ Public Class GeometryListConfigVM
Return bNameExists
End Function
#End Region
#End Region ' Methods
Private m_CmdSave As ICommand
#Region "CONSTRUCTOR"
#Region "SAVE"
Sub New(ParamName As String)
' carico la lista degli Hardware
For Each Element In Map.refCompoPanelVM.CompoTypeList
m_HardwareList.Add(Element)
m_GraphicHardwareList.Add(Element.Name)
m_HardwareTemp = Map.refHardwarePageVM.CurrHardware
If Map.refHardwarePageVM.CurrHardware.HardwareGeneral.Name = Element.Name Then
' selziono il nome da mostrare in grafica
m_SelGraphicHardware = m_GraphicHardwareList(m_GraphicHardwareList.Count - 1)
m_SelHardware = Element
End If
Next
If Not String.IsNullOrEmpty(ParamName) Then
GeometryName = ParamName
End If
' carico la lista dei Parametri
LoadNameComboBoxLua(Map.refHardwarePageVM.CurrHardware)
GetWorkListGeometryName(m_HardwareTemp.HardwareGeneral.DDFName)
End Sub
#End Region ' Constructor
#Region "COMMANDS"
#Region "SaveCommand"
Public ReadOnly Property SaveCommand As ICommand
Get
@@ -369,33 +417,17 @@ Public Class GeometryListConfigVM
AddNewGeometryNameList()
End Sub
#End Region ' Save
#End Region ' SaveCommand
Sub New(ParamName As String)
' carico la lista degli Hardware
For Each Element In Map.refCompoPanelVM.CompoTypeList
m_HardwareList.Add(Element)
m_GraphicHardwareList.Add(Element.Name)
m_HardwareTemp = Map.refHardwarePageVM.CurrHardware
If Map.refHardwarePageVM.CurrHardware.HardwareGeneral.Name = Element.Name Then
' selziono il nome da mostrare in grafica
m_SelGraphicHardware = m_GraphicHardwareList(m_GraphicHardwareList.Count - 1)
m_SelHardware = Element
End If
Next
If Not String.IsNullOrEmpty(ParamName) Then
GeometryName = ParamName
End If
' carico la lista dei Parametri
LoadNameComboBoxLua(Map.refHardwarePageVM.CurrHardware)
GetWorkListGeometryName(m_HardwareTemp.HardwareGeneral.DDFName)
End Sub
#End Region ' Commands
End Class
Public Class ItemGeometry
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private m_NameDDF As String = String.Empty
Public ReadOnly Property NameDDF As String
Get
@@ -410,7 +442,7 @@ Public Class ItemGeometry
End Get
Set(value As Boolean)
m_IsChecked = value
NotifyPropertyChanged("IsChecked")
NotifyPropertyChanged(NameOf(IsChecked))
End Set
End Property
@@ -421,12 +453,18 @@ Public Class ItemGeometry
End Get
Set(value As Boolean)
m_IsEnable = value
NotifyPropertyChanged("IsEnable")
NotifyPropertyChanged(NameOf(IsEnable))
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(sNameDDF As String)
m_NameDDF = sNameDDF
End Sub
#End Region ' Constructor
End Class
+55 -51
View File
@@ -1,15 +1,14 @@
<EgtWPFLib5:EgtCustomWindow x:Class="GeometryListConfigV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Height="225" Width="350">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Height="225" Width="350">
<Grid Margin="2">
<Grid.ColumnDefinitions>
@@ -24,15 +23,14 @@
<!--<RowDefinition Height="1*"/>-->
</Grid.RowDefinitions>
<TextBox Grid.Column="1" Grid.Row="0" Text="{Binding GeometryName, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource DoorParamsTxBx}"
Foreground="{Binding ColorText}"
Padding="0,2.5,0, 0"
Margin="5,0,15,5"/>
<TextBlock Grid.Column="0" Grid.Row="0"
Text="{Binding GeometryNameMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBlock Grid.Row="0"
Grid.Column="0"
Text="{Binding GeometryNameMsg}"
Style="{DynamicResource GeometryListConfigTxBl}"/>
<TextBox Grid.Row="0"
Grid.Column="1"
Text="{Binding GeometryName, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource GeometryListConfigTxBx}"/>
<!--<ComboBox ItemsSource="{Binding GraphicHardwareList}"
Grid.Column="1" Grid.Row="1"
@@ -40,43 +38,49 @@
SelectedItem="{Binding SelGraphicHardware}"
Style="{StaticResource DoorParamsCmBx}"
IsEnabled="False"/>-->
<TextBox Grid.Column="1" Grid.Row="1"
Margin="5,0,15,5" VerticalAlignment="Center"
Padding="0,2.5,0, 2.5"
IsEnabled="False"
Text="{Binding SelGraphicHardware}"/>
<!--<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding TypeHardware}"
<TextBox Grid.Row="1"
Grid.Column="1"
Text="{Binding SelGraphicHardware}"
Style="{DynamicResource SelGraphicHardwareTxBx}"/>
<!--<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding TypeHardware}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,15,5"/>-->
<TextBlock Grid.Column="0" Grid.Row="1" Text="{Binding TypeHardwareMsg}" VerticalAlignment="Center"
Margin="15,0,15,5"
Style="{StaticResource DoorParamsTxBl}"/>
<!--<ListBox Grid.Column="1" Grid.Row="2" ItemsSource="{Binding ParameterList}">
<TextBlock Grid.Row="1"
Grid.Column="0"
Text="{Binding TypeHardwareMsg}"
Style="{StaticResource TypeHardwareTxBl}"/>
<!--<ListBox Grid.Column="1" Grid.Row="2" ItemsSource="{Binding ParameterList}">
</ListBox>-->
<ListBox Grid.Column="1" Grid.Row="2" Margin="5,5,15,5"
ItemsSource="{Binding ParameterList}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding Path=IsChecked}" IsEnabled="{Binding Path=IsEnable}"/>
<TextBlock Text="{Binding Path=NameDDF}" Margin="10,0,0,0"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListBox Grid.Row="2"
Grid.Column="1"
ItemsSource="{Binding ParameterList}"
Style="{DynamicResource ParameterList}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding Path=IsChecked}"
IsEnabled="{Binding Path=IsEnable}"
Style="{DynamicResource GeneralCheckBox}"/>
<TextBlock Text="{Binding Path=NameDDF}"
Style="{DynamicResource ParameterListTxBl}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<!--<ComboBox ItemsSource="{Binding ParameterList}" Margin="5,0,15,5"
<!--<ComboBox ItemsSource="{Binding ParameterList}" Margin="5,0,15,5"
Grid.Column="1" Grid.Row="2"
SelectedItem="{Binding SelParameter}"
Style="{StaticResource DoorParamsCmBx}"
IsEnabled="{Binding IsRaedOnly}"/>-->
IsEnabled="{Binding IsRaedOnly}"/>-->
<!--<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding Parameter}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,15,5"/>-->
<TextBlock Grid.Column="0" Grid.Row="2" Text="{Binding ParameterMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBlock Grid.Row="2"
Grid.Column="0"
Text="{Binding ParameterMsg}"
Style="{DynamicResource GeometryListConfigTxBl}"/>
<!--<TextBox Grid.Column="1" Grid.Row="3" Text="{Binding PO}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,15,5"/>
@@ -95,11 +99,11 @@
Style="{StaticResource DoorParamsCmBx}"
ItemsSource="{Binding ConfigurationList}"
SelectedItem="{Binding Configuration}"/>-->
<Button Grid.Column="1" Grid.Row="3" Margin="70,2,30,2"
Content="{Binding SaveMsg}"
Command="{Binding SaveCommand}"
IsDefault="True"
IsCancel="True"/>
<Button Grid.Row="3"
Grid.Column="1"
Content="{Binding SaveMsg}"
Command="{Binding SaveCommand}"
Style="{DynamicResource ParameterListBtn}"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
@@ -1,4 +1,5 @@
Public Class GeometryListConfigV
Private m_GeometryListVM As GeometryListConfigVM
Sub New(Owner As Window, GeometryListVM As GeometryListConfigVM)
+83 -57
View File
@@ -83,8 +83,8 @@ Public Class Hardware
If Not IsNothing(value) Then
m_SelBrand = value
ElseIf Not IsNothing(value) AndAlso Not Directory.Exists(value.ModelDir) Then
' 50542 = {0}: Directory does not exist!
ErrorReading = String.Format(EgtMsg(50542),value.ModelDir)
' 50542 = {0}: Directory does not exist!
ErrorReading = String.Format(EgtMsg(50542), value.ModelDir)
RefreshTemplateListEgtDOORCreator()
Else
Return
@@ -130,12 +130,12 @@ Public Class Hardware
SelTemplate = String.Empty
'Map.refSceneManagerVM.RefreshBtn()
End If
Else
SelTemplate = String.Empty
Else
SelTemplate = String.Empty
'Map.refSceneManagerVM.RefreshBtn()
End If
' termine della selezione
NotifyPropertyChanged("SelBrand")
NotifyPropertyChanged(NameOf(SelBrand))
End Set
End Property
@@ -161,7 +161,7 @@ Public Class Hardware
Set(value As ObservableCollection(Of String))
m_TemplateList = value
DoRefresh = False
NotifyPropertyChanged("TemplateList")
NotifyPropertyChanged(NameOf(TemplateList))
End Set
End Property
@@ -181,9 +181,9 @@ Public Class Hardware
If SaveControl() = SaveResult.nCancel Then
Application.Current.Dispatcher.BeginInvoke(New Action(Sub()
m_SelTemplate = sLastTemplate
NotifyPropertyChanged("SelTemplate")
NotifyPropertyChanged(NameOf(SelTemplate))
End Sub), System.Windows.Threading.DispatcherPriority.ContextIdle, Nothing)
NotifyPropertyChanged("TemplateList")
NotifyPropertyChanged(NameOf(TemplateList))
Return
End If
End If
@@ -203,7 +203,7 @@ Public Class Hardware
RefreshTemplateListEgtDOORCreator()
Return
End If
NotifyPropertyChanged("VisibilityType")
NotifyPropertyChanged(NameOf(VisibilityType))
End If
FirstSelection = True ' Comunico grafica di eseguire lo zoom
ReadChapterTemplate() ' Rileggo i parametri del SetdTemplate
@@ -211,7 +211,7 @@ Public Class Hardware
ReadTemplate()
' Map.refSceneManagerVM.RefreshBtn()
End If
NotifyPropertyChanged("SelTemplate")
NotifyPropertyChanged(NameOf(SelTemplate))
LoadSwingFromTemplate()
Map.refSceneManagerVM.RefreshBtn()
' NotifyPropertyChanged("TemplateList")
@@ -240,7 +240,7 @@ Public Class Hardware
End Get
Set(value As List(Of TypeHardware))
m_TypeList = value
NotifyPropertyChanged("TypeList")
NotifyPropertyChanged(NameOf(TypeList))
End Set
End Property
@@ -256,7 +256,7 @@ Public Class Hardware
m_SelType = value
' se cambiato carico il suo progetto con quotature/suggerimenti
If bChanged Then Map.refHardwareHelpSceneHostV.LoadHelpProject()
NotifyPropertyChanged("SelType")
NotifyPropertyChanged(NameOf(SelType))
End Set
End Property
@@ -267,7 +267,7 @@ Public Class Hardware
End Get
Set(value As Visibility)
m_VisibilityType = value
NotifyPropertyChanged("VisibilityType")
NotifyPropertyChanged(NameOf(VisibilityType))
End Set
End Property
@@ -280,7 +280,7 @@ Public Class Hardware
End Get
Set(value As Boolean)
m_IsEnableType = value
NotifyPropertyChanged("IsEnableType")
NotifyPropertyChanged(NameOf(IsEnableType))
End Set
End Property
@@ -502,7 +502,7 @@ Public Class Hardware
Dim CurrFolder = New CompoBrandDir(m_HardwareGeneral.Path, Path.GetFileName(m_HardwareGeneral.Path))
m_HardwareGeneral.HardwareFolderList.Add(CurrFolder)
End If
NotifyPropertyChanged("BrandList")
NotifyPropertyChanged(NameOf(BrandList))
' carico la lista dei Type
bTypeListExist = LoadType()
If Not bTypeListExist Then
@@ -516,7 +516,7 @@ Public Class Hardware
Dim ErrorList As String = String.Empty
If EgtUILib.GetPrivateProfileInt(S_TEMPLATE, K_ISACTIVE, 1, CurrCompoType.Path & "\" & CONFIGINI_FILE_NAME) = 0 Then
VisibilityTemplate = Visibility.Collapsed
NotifyPropertyChanged("VisibilityTemplate")
NotifyPropertyChanged(NameOf(VisibilityTemplate))
End If
End Sub
@@ -530,7 +530,9 @@ Public Class Hardware
Else
SwingTemplate = "RH"
End If
IniFile.StdTemplateGetPrivateProfileString("Hardware", "Swing", SwingTemplate, SwingTemplate)
If String.IsNullOrEmpty(SwingTemplate) Or Not (GetMainPrivateProfileInt(S_GENERAL, "CloneDoor", 0) = 1) Then
IniFile.StdTemplateGetPrivateProfileString("Hardware", "Swing", SwingTemplate, SwingTemplate)
End If
Map.refHardwarePageVM.GenericPart.SetSwing(SwingTemplate)
If bIsFrame Then
IniFile.StdTemplateGetPrivateProfileString("Hardware", "SwingFrame", "RH", SwingTemplate)
@@ -555,17 +557,17 @@ Public Class Hardware
If Map.refHardwarePageVM.GenericPart.CompoList.Count < 1 Then Return
'If String.IsNullOrEmpty(HardwareGeneral.JambSide) Then
For Each Item In Map.refHardwarePageVM.GenericPart.CompoList(0).CompoParamList
If TypeOf Item Is ComboBoxParam AndAlso
Item.DDFName = "side" Then
Dim CBoxPar As ComboBoxParam = DirectCast(Item, ComboBoxParam)
Dim IndexItem As Integer = CBoxPar.ItemList.IndexOf(CBoxPar.SelItem)
If IndexItem > -1 Then
HardwareGeneral.SetJambSide(CBoxPar.ItemListDDF(IndexItem))
End If
'HardwareGeneral.SetJambSide(CBoxPar.SelItem)
Exit For
If TypeOf Item Is ComboBoxParam AndAlso
Item.DDFName = "side" Then
Dim CBoxPar As ComboBoxParam = DirectCast(Item, ComboBoxParam)
Dim IndexItem As Integer = CBoxPar.ItemList.IndexOf(CBoxPar.SelItem)
If IndexItem > -1 Then
HardwareGeneral.SetJambSide(CBoxPar.ItemListDDF(IndexItem))
End If
Next
'HardwareGeneral.SetJambSide(CBoxPar.SelItem)
Exit For
End If
Next
'End If
If HardwareGeneral.JambSide.ToLower.Contains("hinge") Then
Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_LEFT & HINGE
@@ -581,21 +583,21 @@ Public Class Hardware
Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_Height)
End If
Return
ElseIf HardwareGeneral.JambSide.ToLower.Contains("top") Then
ElseIf HardwareGeneral.JambSide.ToLower.Contains("top") Then
Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_TOP & TOP
If Not HardwarePartVM.bIsSettingDoor Then
Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_Width)
Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_ThicknessHead)
End If
Return
ElseIf HardwareGeneral.JambSide.ToLower.Contains("bottom") Then
ElseIf HardwareGeneral.JambSide.ToLower.Contains("bottom") Then
Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_BOTTOM & BOTTOM
If Not HardwarePartVM.bIsSettingDoor Then
Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_Width)
Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_ThicknessBottom)
End If
Return
End If
End If
End Sub
@@ -638,7 +640,7 @@ Public Class Hardware
If TypeList(IndexListType).NameINI = "1" Then
SelType = TypeList(IndexListType)
VisibilityType = Visibility.Visible
NotifyPropertyChanged("SelType")
NotifyPropertyChanged(NameOf(SelType))
Exit For
End If
Next
@@ -686,7 +688,7 @@ Public Class Hardware
For IndexListType As Integer = 0 To TypeList.Count - 1
If TypeList(IndexListType).NameINI = ConfigDefault Then
SelType = TypeList(IndexListType)
NotifyPropertyChanged("SelType")
NotifyPropertyChanged(NameOf(SelType))
Exit For
End If
Next
@@ -826,7 +828,7 @@ Public Class Hardware
End If
End If
ParamIndex += 1
ParamIndex += 1
End While ' termina lettura del capitolo
GroupChapters.Add(Chapter)
@@ -889,7 +891,7 @@ Public Class Hardware
If Not IsNothing(GroupChapters) Then
GroupChapters.Clear()
End If
NotifyPropertyChanged("GroupChapters")
NotifyPropertyChanged(NameOf(GroupChapters))
End Sub
' ricarico il file temporaneo
@@ -1499,8 +1501,8 @@ Public Class Hardware
' carico le variabili temporanee e aggiorno la grafica (lista dei file e Brand selezionato)
m_SelBrand = m_HardwareGeneral.HardwareFolderList(IndexModel)
TemplateList = Temp_TemplateList
NotifyPropertyChanged("TemplateList")
NotifyPropertyChanged("SelBrand")
NotifyPropertyChanged(NameOf(TemplateList))
NotifyPropertyChanged(NameOf(SelBrand))
' copio il file
Try
File.Copy(OldDirPath, CurrDirPath, True)
@@ -1587,8 +1589,8 @@ Public Class Hardware
SelBrand = m_HardwareGeneral.HardwareFolderList(IndexModel)
TemplateList = Temp_TemplateList
SelType = sType
NotifyPropertyChanged("TemplateList")
NotifyPropertyChanged("SelBrand")
NotifyPropertyChanged(NameOf(TemplateList))
NotifyPropertyChanged(NameOf(SelBrand))
' ripulisco la lista da eventuali residui di altri Hardware
ClearGroupChapters()
' rileggo le component dell'hardware da StdTemplate
@@ -1876,7 +1878,7 @@ Public Class Hardware
' cerco un numero finito di parametri
For IndexParam As Integer = 0 To IndexParamDDF - 1
If LineIndex + ParamIndex > sFile.Count - 1 Then Return False
' recuro il nome del parametro
' recupero il nome del parametro
KeyParam = Trim(RegexFunction.KeyParamLine(sFile(LineIndex + ParamIndex)))
While String.IsNullOrEmpty(KeyParam) And LineIndex + ParamIndex < sFile(LineIndex + ParamIndex).Count
ParamIndex += 1
@@ -1915,12 +1917,12 @@ Public Class Hardware
Dim CurrFolder = New CompoBrandDir(m_HardwareGeneral.Path, Path.GetFileName(m_HardwareGeneral.Path))
m_HardwareGeneral.HardwareFolderList.Add(CurrFolder)
End If
NotifyPropertyChanged("BrandList")
NotifyPropertyChanged(NameOf(BrandList))
For Each Item In BrandList
If m_LastDirectory.ModelDir = Item.ModelDir Then
SelBrand = Item
NotifyPropertyChanged("BrandList")
NotifyPropertyChanged("SelBrand")
NotifyPropertyChanged(NameOf(BrandList))
NotifyPropertyChanged(NameOf(SelBrand))
Exit For
End If
Next
@@ -2013,21 +2015,27 @@ Public Class Hardware
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.TypeVar & "( " & Text.Value & ")"
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "inch( " & Text.Value & ")"
End If
Else
sValue = Text.Value
If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
'If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "mm( " & sValue & ")"
End If
Case ConstGen.MM
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sValue = Text.Value
InchesToMm(sValue)
'sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "inch( " & sValue & ")"
Else
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.Value
'sValue = Text.Value
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "mm( " & Text.Value & ")"
End If
End If
End Select
@@ -2046,21 +2054,27 @@ Public Class Hardware
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.TypeVar & "( " & Text.Value & ")"
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "inch( " & Text.Value & ")"
End If
Else
sValue = Text.Value
If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
'If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "mm( " & sValue & ")"
End If
Case ConstGen.MM
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sValue = Text.Value
InchesToMm(sValue)
'sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "inch( " & sValue & ")"
Else
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.Value
'sValue = Text.Value
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "mm( " & Text.Value & ")"
End If
End If
End Select
@@ -2093,22 +2107,28 @@ Public Class Hardware
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.TypeVar & "( " & Text.Value & ")"
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "inch( " & Text.Value & ")"
End If
'sValue = Text.TypeVar & "( " & Text.ToolTipValue & ")"
Else
sValue = Text.Value
If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
'If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "mm( " & sValue & ")"
End If
Case ConstGen.MM
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sValue = Text.Value
InchesToMm(sValue)
'sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "inch( " & sValue & ")"
Else
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.Value
'sValue = Text.Value
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "mm( " & Text.Value & ")"
End If
'sValue = Text.ToolTipValue
End If
@@ -2139,22 +2159,28 @@ Public Class Hardware
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.TypeVar & "( " & Text.Value & ")"
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "inch( " & Text.Value & ")"
End If
'sValue = Text.TypeVar & "( " & Text.ToolTipValue & ")"
Else
sValue = Text.Value
If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
'If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "mm( " & Text.Value & ")"
End If
Case ConstGen.MM
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sValue = Text.Value
InchesToMm(sValue)
'sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "inch( " & Text.Value & ")"
Else
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.Value
'sValue = Text.Value
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "mm( " & Text.Value & ")"
End If
'sValue = Text.ToolTipValue
End If
@@ -2288,7 +2314,7 @@ Public Class Hardware
End If
DoRefresh = True
RefreshTemplateListEgtDOORCreator()
NotifyPropertyChanged("TemplateList")
NotifyPropertyChanged(NameOf(TemplateList))
Return True
End Function
@@ -2408,8 +2434,8 @@ Public Class TypeHardware
Sub New(Name As String, NameINI As String)
m_Name = Name
m_NameINI = NameINI
NotifyPropertyChanged("Name")
NotifyPropertyChanged("NameINI")
NotifyPropertyChanged(NameOf(Name))
NotifyPropertyChanged(NameOf(NameINI))
End Sub
End Class
+3 -3
View File
@@ -1,7 +1,7 @@
<WindowsFormsHost x:Class="HardwareHelpSceneHostV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtUILib="clr-namespace:EgtUILib;assembly=EgtUILib">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtUILib="clr-namespace:EgtUILib;assembly=EgtUILib">
<EgtUILib:Scene x:Name="HardwareHelpScene"/>
+264 -480
View File
@@ -26,25 +26,30 @@
<KeyBinding Key="Enter" Command="{Binding DataContext.RefreshCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
<KeyBinding Key="F1" Command="{Binding DataContext.GuideCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
</Grid.InputBindings>
<!-- La griglia che gestirà i parametri hardaware -->
<Grid Grid.Column="{Binding GridGeneralDiposition}" Grid.Row="0">
<Grid Grid.Row="0"
Grid.Column="{Binding GridGeneralDiposition}">
<Grid.RowDefinitions>
<!-- Deicata al general dell'hardware-->
<RowDefinition Height="Auto"/>
<!-- dedicata alla lista dei parametri dell'hardware-->
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!-- Deicata al general dell'hardware-->
<RowDefinition Height="Auto"/>
<!-- dedicata alla lista dei parametri dell'hardware-->
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!-- Genaral Hardware-->
<GroupBox Grid.Row="0" Grid.Column="0" Visibility="{Binding VisibilityGeneral}">
<GroupBox Grid.Row="0"
Grid.Column="0"
Visibility="{Binding VisibilityGeneral}"
Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<!-- titolo del general-->
<TextBlock Text="{Binding GeneralMsg}" Width="Auto"/>
<TextBlock Text="{Binding GeneralMsg}"
Style="{DynamicResource GeneralDoorParamGrpTxBx}"/>
</StackPanel>
</GroupBox.Header>
<!-- Griglia per gestire la disposizione nel General-->
<Grid>
<!-- 3 colonne uguali -->
@@ -60,44 +65,51 @@
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!-- Nome della prima sottocartella dopo "Hinges"-->
<TextBlock Grid.Row="0" Grid.Column="0" Margin="2,0,0,2"
<TextBlock Grid.Row="0"
Grid.Column="0"
Text="{Binding BrandMsg}"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox Grid.Row="0" Grid.Column="1" Margin="0.4,2,39.6,3.2"
ItemsSource="{Binding CurrHardware.BrandList}"
SelectedItem="{Binding CurrHardware.SelBrand}"
DisplayMemberPath="ModelDirGraphic"
Style="{StaticResource DoorParamsCmBx}" Height="Auto"/>
Style="{DynamicResource JambsParams2TxBl}"/>
<ComboBox Grid.Row="0"
Grid.Column="1"
DisplayMemberPath="ModelDirGraphic"
ItemsSource="{Binding CurrHardware.BrandList}"
SelectedItem="{Binding CurrHardware.SelBrand}"
Style="{DynamicResource CurrHardwareCmBx}"/>
<!-- Nome del template "StdCon" -->
<TextBlock Grid.Row="1" Grid.Column="0" Margin="2,0,0,2"
<TextBlock Grid.Row="1"
Grid.Column="0"
Text="{Binding TemplateMsg}"
Visibility="{Binding CurrHardware.VisibilityTemplate}"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox Grid.Row="1" Grid.Column="1" Margin="0.4,2,39.6,3.2"
ItemsSource="{Binding CurrHardware.TemplateList}"
SelectedItem="{Binding CurrHardware.SelTemplate}"
Visibility="{Binding CurrHardware.VisibilityTemplate}"
Style="{StaticResource DoorParamsCmBx}" Height="Auto"/>
Style="{DynamicResource JambsParams2TxBl}"/>
<ComboBox Grid.Row="1"
Grid.Column="1"
ItemsSource="{Binding CurrHardware.TemplateList}"
SelectedItem="{Binding CurrHardware.SelTemplate}"
Visibility="{Binding CurrHardware.VisibilityTemplate}"
Style="{DynamicResource CurrHardwareCmBx}"/>
<!-- tipologia di template "Mort/Con" -->
<TextBlock Grid.Row="2" Grid.Column="0" Margin="2,0,0,2"
<TextBlock Grid.Row="2"
Grid.Column="0"
Text="{Binding TypeMsg}"
Style="{StaticResource DoorParamsTxBl}"
Visibility="{Binding CurrHardware.VisibilityType}"/>
<TextBox Grid.Row="2" Grid.Column="1" Margin="0.4,0,39.6,0"
Text="{Binding CurrHardware.SelType.Name}"
Style="{StaticResource DoorParamsTxBx}" Height="Auto"
IsEnabled="{Binding CurrHardware.IsEnableType}"
Style="{DynamicResource JambsParams2TxBl}"
Visibility="{Binding CurrHardware.VisibilityType}"/>
<TextBox Grid.Row="2"
Grid.Column="1"
Text="{Binding CurrHardware.SelType.Name}"
IsEnabled="{Binding CurrHardware.IsEnableType}"
Visibility="{Binding CurrHardware.VisibilityType}"
Style="{DynamicResource CurrHardwareTxBx}"/>
<!-- Griglia per gestire la disposizione nel General-->
</Grid>
</GroupBox>
</Grid>
</GroupBox>
<!-- Gestione delle liste di parametri dell'hardware -->
<ItemsControl Grid.Row="1" Grid.Column="1"
Name="HardwareParamsItemsControl"
ItemsSource="{Binding CurrHardware.GroupChapters}"
Style="{StaticResource DoorParamsItemsControlStyle}">
<ItemsControl Grid.Row="1"
Grid.Column="1"
Name="HardwareParamsItemsControl"
ItemsSource="{Binding CurrHardware.GroupChapters}"
Style="{DynamicResource DoorParamsItemsControlStyle}">
<ItemsControl.ItemTemplateSelector>
<local:IsFixedSelector >
<!--Expander-->
@@ -106,80 +118,50 @@
<DataTemplate >
<!--Titolo della lista dei parametri-->
<Expander Width="{Binding ActualWidth,ElementName=HardwareParamsItemsControl,
Converter={StaticResource SplitConverter},ConverterParameter=2}"
Converter={StaticResource SplitConverter},ConverterParameter=2}"
IsExpanded="{Binding IsActiveChapter}"
Visibility="{Binding GroupVisibilityChapter}"
IsEnabled="{Binding EnableChapter}"
Style="{StaticResource HardwareExpander}">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding TemplateName}" Width="Auto">
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="Black"/>
<Style.Triggers>
<DataTrigger Binding="{Binding EnableChapter}" Value="False">
<Setter Property="FontStyle" Value="Italic"/>
<Setter Property="Foreground" Value="{Binding ErrorColor}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</StackPanel>
</Expander.Header>
Style="{DynamicResource HardwareExpander}">
<ContentControl>
<!-- Gestione della lista di parametri dell'hardware -->
<ItemsControl ItemsSource="{Binding CompoParamList}">
<ItemsControl ItemsSource="{Binding CompoParamList}"
Style="{DynamicResource HardwareItemsControlStyle}">
<!-- Gestione degli oggetti da caricare nella lista -->
<ItemsControl.Resources>
<!-- Gestione della ComboBoxParam -->
<DataTemplate DataType="{x:Type local:ComboBoxParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}">-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</Style>
</TextBlock.Style>
</TextBlock>
<ComboBox ItemsSource="{Binding ItemList}" Margin="0,2,0,2"
SelectedItem="{Binding SelItem}"
Style="{StaticResource DoorParamsCmBx}"
IsEnabled="{Binding IsRaedOnly}"/>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource HardwarePageTxBl}"/>
<ComboBox ItemsSource="{Binding ItemList}"
SelectedItem="{Binding SelItem}"
IsEnabled="{Binding IsRaedOnly}"
Style="{DynamicResource HardwarePageCmBx}"/>
</UniformGrid>
</DataTemplate>
<!-- Gestione della ComboBoxParamLua -->
<DataTemplate DataType="{x:Type local:ComboBoxParamLua}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}">-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</Style>
</TextBlock.Style>
</TextBlock>
<Grid>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource HardwarePageTxBl}"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ComboBox ItemsSource="{Binding ItemList}" Margin="0,2,2,2"
Name ="ComboBoxLua"
<ComboBox ItemsSource="{Binding ItemList}"
Name="ComboBoxLua"
IsEnabled="{Binding IsRaedOnly}"
SelectedItem="{Binding SelItem}"
Style="{StaticResource DoorParamsCmBx}"
IsEnabled="{Binding IsRaedOnly}"/>
<Button Grid.Column="1" Margin="0,2,2,2"
Style="{DynamicResource LuaCmBx}"/>
<Button Grid.Column="1"
Visibility="{Binding VisibilityButtonAddGeometry}"
Command="{Binding DataContext.GeometryConfigCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding ElementName=ComboBoxLua, Path=SelectedItem}">
CommandParameter="{Binding ElementName=ComboBoxLua, Path=SelectedItem}"
Style="{DynamicResource LuaBtn}">
<Image Source="/Resources/TopCommandBar/Add.png" Height="16" Stretch="Uniform"/>
</Button>
</Grid>
@@ -198,51 +180,31 @@
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<CheckBox Name="ChBxBox" IsChecked="{Binding IsActive}"
Style="{StaticResource DoorParamsChBx}"
Margin="0,-2,0,2"/>
<TextBlock Text="{Binding Name}" Grid.Column="1" Margin="2,0,0,2">
<!--Style="{StaticResource DoorParamsTxBl}">-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</Style>
</TextBlock.Style>
</TextBlock>
<CheckBox Name="ChBxBox"
IsChecked="{Binding IsActive}"
Style="{DynamicResource ParamOnOffChBx}"/>
<TextBlock Grid.Column="1"
Text="{Binding Name}"
Style="{DynamicResource ParamOnOffTxBl}"/>
</Grid>
<ComboBox ItemsSource="{Binding ItemList}" Grid.Column="2"
Margin="0,0,0,2"
SelectedItem="{Binding SelItem}"
Style="{StaticResource DoorParamsCmBx}"
IsEnabled="{Binding IsChecked, ElementName=ChBxBox}"/>
<ComboBox Grid.Column="2"
IsEnabled="{Binding IsChecked, ElementName=ChBxBox}"
ItemsSource="{Binding ItemList}"
SelectedItem="{Binding SelItem}"
Style="{DynamicResource ParamOnOffCmBx}"/>
</Grid>
</DataTemplate>
<!-- Gestione della TextBoxParam -->
<DataTemplate DataType="{x:Type local:TextBoxParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
Name="TxTData"
Style="{StaticResource DoorParamsTxBx}"
Margin="0,2,0,2"
ToolTip="{Binding ToolTipValue}"/>
<UniformGrid Columns="2"
MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
Name="TxTData"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource TextBoxParamTxBx}"/>
</UniformGrid>
</DataTemplate>
@@ -264,35 +226,19 @@
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<TextBox Grid.Column="1"
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource DoorParamsTxBx}"
Margin="-3,2,0,2"
ToolTip="{Binding ToolTipValue}"/>
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource TextBoxDGCParamTxBx}"/>
<TextBlock Grid.Column="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="+"
Margin="0,2,0,2"/>
<ComboBox ItemsSource="{Binding ConstList}" Grid.Column="3"
Margin="0,2,0,2"
SelectedItem="{Binding SelConst}"
Style="{StaticResource DoorParamsCmBx}"/>
Text="+"
Style="{DynamicResource TextBoxDGCParamTxBl}"/>
<ComboBox Grid.Column="3"
ItemsSource="{Binding ConstList}"
SelectedItem="{Binding SelConst}"
Style="{DynamicResource HardwarePageCmBx}"/>
</Grid>
</DataTemplate>
@@ -313,32 +259,18 @@
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<TextBox Grid.Column="1"
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsEnableMeasure}"
Style="{StaticResource DoorParamsTxBx}"
Margin="-5,2,4,2"
ToolTip="{Binding ToolTipValue}"/>
<ComboBox ItemsSource="{Binding ConstList}" Grid.Column="2"
DisplayMemberPath="Name"
Margin="0,2,0,2"
SelectedItem="{Binding SelConst}"
Style="{StaticResource DoorParamsCmBx}"/>
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsEnableMeasure}"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource MeasureTxBx}"/>
<ComboBox Grid.Column="2"
DisplayMemberPath="Name"
ItemsSource="{Binding ConstList}"
SelectedItem="{Binding SelConst}"
Style="{DynamicResource HardwarePageCmBx}"/>
</Grid>
</DataTemplate>
@@ -346,41 +278,30 @@
<!-- Gestione della TextBoxNgeParam -->
<DataTemplate DataType="{x:Type local:TextBoxNgeParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<Grid>
<UniformGrid Columns="2"
MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsActive}"
Style="{StaticResource DoorParamsTxBx}"
Margin="0,2,2,2"
ToolTip="{Binding ToolTipValue}"/>
<Button Grid.Column="1" Margin="0,2,2,2"
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsActive}"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource TextBoxNgeParamTxBx}"/>
<Button Grid.Column="1"
Command="{Binding DataContext.ImportGeometryCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DDFName}">
CommandParameter="{Binding DDFName}"
Style="{DynamicResource LuaBtn}">
<Image Source="/Resources/TopCommandBar/Search.png" Height="16" Stretch="Uniform"/>
</Button>
<Button Grid.Column="2" Margin="0,2,2,2"
<Button Grid.Column="2"
Command="{Binding DataContext.DeleteGeometryCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DDFName}">
CommandParameter="{Binding DDFName}"
Style="{DynamicResource LuaBtn}">
<Image Source="/Resources/TopCommandBar/X.png" Height="16" Stretch="Uniform"/>
</Button>
</Grid>
@@ -390,35 +311,23 @@
<!-- Gestione della TextBoxLuaParam -->
<DataTemplate DataType="{x:Type local:TextBoxLuaParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<Grid>
<UniformGrid Columns="2"
MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsActive}"
Style="{StaticResource DoorParamsTxBx}"
Margin="0,2,2,2"
ToolTip="{Binding ToolTipValue}"/>
<Button Grid.Column="1" Margin="0,2,2,2"
Command="{Binding DataContext.ImportLuaCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DDFName}">
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsActive}"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource TextBoxNgeParamTxBx}"/>
<Button Grid.Column="1"
Command="{Binding DataContext.ImportLuaCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DDFName}"
Style="{DynamicResource LuaBtn}">
<Image Source="/Resources/TopCommandBar/Search.png" Height="16" Stretch="Uniform"/>
</Button>
</Grid>
@@ -427,28 +336,14 @@
<!-- Gestione della CheckBoxParam -->
<DataTemplate DataType="{x:Type local:CheckBoxParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<CheckBox IsChecked="{Binding IsChecked,UpdateSourceTrigger=PropertyChanged}"
Name="TxTData"
Style="{StaticResource DoorParamsChBx}"
HorizontalContentAlignment="Left"
Margin="0,2,0,2"
ToolTip="{Binding ToolTipValue}"/>
<UniformGrid Columns="2"
MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<CheckBox Name="TxTData"
IsChecked="{Binding IsChecked,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource CheckBoxParamChBx}"/>
</UniformGrid>
</DataTemplate>
@@ -473,30 +368,18 @@
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<CheckBox Name="ChBx" IsChecked="{Binding IsActive}"
Style="{StaticResource DoorParamsChBx}"
Margin="0,-2,0,2"/>
<TextBlock Text="{Binding Name}" Margin="2,2,0,2" Grid.Column="1">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<CheckBox Name="ChBx"
IsChecked="{Binding IsActive}"
Style="{DynamicResource TextBoxParamOnOffParamChBx}"/>
<TextBlock Grid.Column="1"
Text="{Binding Name}"
Style="{DynamicResource TextBoxParamOnOffParamTxBl}"/>
</Grid>
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}" Grid.Column="2"
Style="{StaticResource DoorParamsTxBx}"
IsEnabled="{Binding IsChecked, ElementName=ChBx}"
Margin="0,2,0,2"
ToolTip="{Binding ToolTipValue,UpdateSourceTrigger=PropertyChanged}"/>
<TextBox Grid.Column="2"
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=ChBx}"
Style="{DynamicResource TextBoxParamTxBx}"/>
</Grid>
</DataTemplate>
@@ -507,16 +390,19 @@
</Expander>
</DataTemplate>
</local:IsFixedSelector.Expander>
<!--GroupBox-->
<local:IsFixedSelector.GroupBox>
<DataTemplate>
<!-- Titolo della lista dei parametri -->
<GroupBox Width="{Binding ActualWidth,ElementName=HardwareParamsItemsControl,
Converter={StaticResource SplitConverter},ConverterParameter=2}">
Converter={StaticResource SplitConverter},
ConverterParameter=2}"
Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding TemplateName}" Width="Auto"/>
<TextBlock Text="{Binding TemplateName}"
Style="{DynamicResource GeneralDoorParamGrpTxBx}"/>
</StackPanel>
</GroupBox.Header>
<ContentControl>
@@ -524,51 +410,39 @@
<ItemsControl ItemsSource="{Binding CompoParamList}">
<!-- Gestione degli oggetti da caricare nella lista -->
<ItemsControl.Resources>
<!-- Gestione della ComboBoxParam -->
<DataTemplate DataType="{x:Type local:ComboBoxParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<!--Style="{StaticResource DoorParamsTxBl}">-->
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</Style>
</TextBlock.Style>
</TextBlock>
<ComboBox ItemsSource="{Binding ItemList}" Margin="0,2,0,2"
SelectedItem="{Binding SelItem}"
Style="{StaticResource DoorParamsCmBx}"
IsEnabled="{Binding IsRaedOnly}"/>
<UniformGrid Columns="2"
MouseEnter="Param_MouseEnter">
<!--Style="{StaticResource DoorParamsTxBl}">-->
<TextBlock Text="{Binding Name}"
Style="{DynamicResource HardwarePageTxBl}"/>
<ComboBox ItemsSource="{Binding ItemList}"
SelectedItem="{Binding SelItem}"
IsEnabled="{Binding IsRaedOnly}"
Style="{DynamicResource HardwarePageCmBx}"/>
</UniformGrid>
</DataTemplate>
<!-- Gestione della ComboBoxParamLua -->
<DataTemplate DataType="{x:Type local:ComboBoxParamLua}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}">-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</Style>
</TextBlock.Style>
</TextBlock>
<Grid>
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}"
Style="{DynamicResource HardwarePageTxBl}"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ComboBox ItemsSource="{Binding ItemList}" Margin="0,2,2,2"
SelectedItem="{Binding SelItem}"
Style="{StaticResource DoorParamsCmBx}"
IsEnabled="{Binding IsRaedOnly}"/>
<Button Grid.Column="1" Margin="0,2,2,2"
Visibility="{Binding VisibilityButtonAddGeometry}"
Command="{Binding DataContext.GeometryConfigCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DDFName}">
<ComboBox ItemsSource="{Binding ItemList}"
SelectedItem="{Binding SelItem}"
IsEnabled="{Binding IsRaedOnly}"
Style="{DynamicResource LuaCmBx}"/>
<Button Grid.Column="1"
Visibility="{Binding VisibilityButtonAddGeometry}"
Command="{Binding DataContext.GeometryConfigCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DDFName}"
Style="{DynamicResource LuaBtn}">
<Image Source="/Resources/TopCommandBar/Add.png" Height="16" Stretch="Uniform"/>
</Button>
</Grid>
@@ -587,49 +461,30 @@
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<CheckBox Name="ChBxBox" IsChecked="{Binding IsActive}"
Style="{StaticResource DoorParamsChBx}"
VerticalAlignment="Top"/>
<TextBlock Text="{Binding Name}" Grid.Column="1" Margin="2,2,0,2">
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</Style>
</TextBlock.Style>
</TextBlock>
<CheckBox Name="ChBxBox"
IsChecked="{Binding IsActive}"
Style="{DynamicResource ComboBoxParamOnOffChBx}"/>
<TextBlock Grid.Column="1"
Text="{Binding Name}"
Style="{DynamicResource ComboBoxOnOffParamTxBl}"/>
</Grid>
<ComboBox ItemsSource="{Binding ItemList}" Grid.Column="2"
Margin="0,2,0,2"
SelectedItem="{Binding SelItem}"
Style="{StaticResource DoorParamsCmBx}"
IsEnabled="{Binding IsChecked, ElementName=ChBxBox}"/>
<ComboBox Grid.Column="2"
ItemsSource="{Binding ItemList}"
SelectedItem="{Binding SelItem}"
IsEnabled="{Binding IsChecked, ElementName=ChBxBox}"
Style="{DynamicResource HardwarePageCmBx}"/>
</Grid>
</DataTemplate>
<!-- Gestione della TextBoxParam -->
<DataTemplate DataType="{x:Type local:TextBoxParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
Name="TxTData"
Style="{StaticResource DoorParamsTxBx}"
Margin="0,2,0,2"
ToolTip="{Binding ToolTipValue}"/>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<TextBox Name="TxTData"
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource TextBoxParamTxBx}"/>
</UniformGrid>
</DataTemplate>
@@ -651,35 +506,19 @@
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<TextBox Grid.Column="1"
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource DoorParamsTxBx}"
Margin="-3,2,0,2"
ToolTip="{Binding ToolTipValue}"/>
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource TextBoxDGCParamTxBx}"/>
<TextBlock Grid.Column="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="+"
Margin="0,2,0,2"/>
<ComboBox ItemsSource="{Binding ConstList}" Grid.Column="3"
Margin="0,2,0,2"
SelectedItem="{Binding SelConst}"
Style="{StaticResource DoorParamsCmBx}"/>
Text="+"
Style="{DynamicResource TextBoxDGCParamTxBl}"/>
<ComboBox Grid.Column="3"
ItemsSource="{Binding ConstList}"
SelectedItem="{Binding SelConst}"
Style="{DynamicResource HardwarePageCmBx}"/>
</Grid>
</DataTemplate>
@@ -700,75 +539,48 @@
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<TextBox Grid.Column="1"
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsEnableMeasure}"
Style="{StaticResource DoorParamsTxBx}"
Margin="-5,2,4,2"
ToolTip="{Binding ToolTipValue}"/>
<ComboBox ItemsSource="{Binding ConstList}" Grid.Column="2"
DisplayMemberPath="Name"
Margin="0,2,0,2"
SelectedItem="{Binding SelConst}"
Style="{StaticResource DoorParamsCmBx}"/>
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue}"
IsEnabled="{Binding IsEnableMeasure}"
Style="{DynamicResource MeasureTxBx}"/>
<ComboBox Grid.Column="2"
ItemsSource="{Binding ConstList}"
SelectedItem="{Binding SelConst}"
DisplayMemberPath="Name"
Style="{DynamicResource HardwarePageCmBx}"/>
</Grid>
</DataTemplate>
<!-- Gestione della TextBoxNgeParam -->
<DataTemplate DataType="{x:Type local:TextBoxNgeParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<UniformGrid Columns="2"
MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsActive}"
Style="{StaticResource DoorParamsTxBx}"
Margin="0,2,2,2"
ToolTip="{Binding ToolTipValue}"/>
<Button Grid.Column="1" Margin="0,2,2,2"
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue}"
IsEnabled="{Binding IsActive}"
Style="{DynamicResource TextBoxNgeParamTxBx}"/>
<Button Grid.Column="1"
Command="{Binding DataContext.ImportGeometryCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DDFName}">
CommandParameter="{Binding DDFName}"
Style="{DynamicResource LuaBtn}">
<Image Source="/Resources/TopCommandBar/Search.png" Height="16" Stretch="Uniform"/>
</Button>
<Button Grid.Column="2" Margin="0,2,2,2"
<Button Grid.Column="2"
Command="{Binding DataContext.DeleteGeometryCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding DDFName}">
CommandParameter="{Binding DDFName}"
Style="{DynamicResource LuaBtn}">
<Image Source="/Resources/TopCommandBar/X.png" Height="16" Stretch="Uniform"/>
</Button>
</Button>
</Grid>
</UniformGrid>
</DataTemplate>
@@ -776,27 +588,12 @@
<!-- Gestione della CheckBoxParam -->
<DataTemplate DataType="{x:Type local:CheckBoxParam}">
<UniformGrid Columns="2" MouseEnter="Param_MouseEnter">
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<CheckBox IsChecked="{Binding IsChecked,UpdateSourceTrigger=PropertyChanged}"
Name="TxTData"
Style="{StaticResource DoorParamsChBx}"
HorizontalContentAlignment="Left"
Margin="0,2,0,2"
ToolTip="{Binding ToolTipValue}"/>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
<CheckBox Name="TxTData"
IsChecked="{Binding IsChecked,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue}"
Style="{DynamicResource CheckBoxParamChBx}"/>
</UniformGrid>
</DataTemplate>
@@ -816,30 +613,17 @@
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<CheckBox Name="ChBx" IsChecked="{Binding IsActive}"
Style="{StaticResource DoorParamsChBx}"
VerticalAlignment="Center"/>
<TextBlock Text="{Binding Name}" Margin="0,2,0,2">
<!--Style="{StaticResource DoorParamsTxBl}"-->
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorParameter}" Value="True">
<Setter Property="FontStyle" Value="{Binding FontStyleParam}"/>
<Setter Property="Foreground" Value="{Binding ColorParam}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<CheckBox Name="ChBx"
IsChecked="{Binding IsActive}"
Style="{DynamicResource GeneralCheckBox}"/>
<TextBlock Text="{Binding Name}"
Style="{DynamicResource TextBoxParamTxBl}"/>
</Grid>
<TextBox Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}" Grid.Column="2"
Style="{StaticResource DoorParamsTxBx}"
IsEnabled="{Binding IsChecked, ElementName=ChBx}"
Margin="0,0,0,2"
ToolTip="{Binding ToolTipValue,UpdateSourceTrigger=PropertyChanged}"/>
<TextBox Grid.Column="2"
Text="{Binding Value,UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding ToolTipValue,UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=ChBx}"
Style="{DynamicResource TextBoxParamOnOffTxBx}"/>
</Grid>
</DataTemplate>
@@ -857,12 +641,12 @@
<!-- Fine griglia che gestirà i parametri hardaware -->
</Grid>
<!-- Elenco pulsanti Hardware -->
<ContentControl Grid.Column="{Binding CompoPanelDiposition}" Grid.RowSpan="2" Grid.Row="0" Content="{Binding CompoPanelControl}"/>
<EgtDOORCreator:HardwareHelpSceneHostV Grid.Column="{Binding GridGeneralDiposition}" Grid.Row="1" Margin="0,0,2,0" />
<!-- Elenco pulsanti Hardware -->
<ContentControl Grid.Row="0" Grid.RowSpan="2" Grid.Column="{Binding CompoPanelDiposition}" Content="{Binding CompoPanelControl}"/>
<EgtDOORCreator:HardwareHelpSceneHostV Grid.Row="1" Grid.Column="{Binding GridGeneralDiposition}" Margin="0,0,2,0"/>
</Grid>
</UserControl>
+13 -15
View File
@@ -1,9 +1,6 @@
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.ComponentModel
Imports System.IO
Imports EgtUILib
Imports System.Text.RegularExpressions
Imports EgtWPFLib5
Public Class HardwarePageVM
Implements INotifyPropertyChanged
@@ -18,7 +15,7 @@ Public Class HardwarePageVM
End Get
Set(value As Part)
m_GenericPart = value
NotifyPropertyChanged("GenericPart")
NotifyPropertyChanged(NameOf(GenericPart))
End Set
End Property
@@ -29,7 +26,7 @@ Public Class HardwarePageVM
End Get
Set(value As Part)
m_Door = value
NotifyPropertyChanged("Door")
NotifyPropertyChanged(NameOf(Door))
End Set
End Property
@@ -40,7 +37,7 @@ Public Class HardwarePageVM
End Get
Set(value As Part)
m_Jamb = value
NotifyPropertyChanged("Jamb")
NotifyPropertyChanged(NameOf(Jamb))
End Set
End Property
@@ -51,7 +48,7 @@ Public Class HardwarePageVM
End Get
Set(value As Hardware)
m_CurrHardware = value
NotifyPropertyChanged("CurrHardware")
NotifyPropertyChanged(NameOf(CurrHardware))
End Set
End Property
@@ -74,17 +71,17 @@ Public Class HardwarePageVM
End Get
Set(value As Visibility)
m_VisibilityGeneral = value
NotifyPropertyChanged("VisibilityGeneral")
NotifyPropertyChanged(NameOf(VisibilityGeneral))
End Set
End Property
Private m_EnablePageHardware As Boolean
Sub SetStatusPage()
NotifyPropertyChanged("EnablePageHardware")
NotifyPropertyChanged(NameOf(EnablePageHardware))
End Sub
Public ReadOnly Property EnablePageHardware As Boolean
Get
Map.refProjectManagerHardwareVM.NotifyPropertyChanged("EnableProjectManagerHardware")
Map.refProjectManagerHardwareVM.NotifyPropertyChanged(NameOf(EnableProjectManagerHardware))
If Not IsNothing(Map.refInstrumentPanelVM) Then
Return Map.refInstrumentPanelVM.EnablePage
Else
@@ -240,11 +237,12 @@ Public Class HardwarePageVM
Public Sub ImportGeometry()
Dim sFilePath As String = String.Empty
Dim FolderBrowserDialog As New System.Windows.Forms.OpenFileDialog()
' 50559=Open File Dialog
FolderBrowserDialog.Title = EgtMsg(50559)
FolderBrowserDialog.InitialDirectory = Path.GetDirectoryName(CurrHardware.CurrPath)
FolderBrowserDialog.Filter = "File (*.nge)|*.nge|All (*.*)|*.*"
Dim FolderBrowserDialog As New System.Windows.Forms.OpenFileDialog With {
.Title = EgtMsg(50559),
.InitialDirectory = Path.GetDirectoryName(CurrHardware.CurrPath),
.Filter = "File (*.nge)|*.nge|All (*.*)|*.*"
}
If FolderBrowserDialog.ShowDialog <> Forms.DialogResult.OK Then
' se la risposta è diversa da OK esce
Return
+134 -105
View File
@@ -1,113 +1,144 @@
<UserControl x:Class="HardwarePartV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
BorderBrush="{StaticResource EgaltechBlue1}">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
BorderBrush="{DynamicResource EgalwareIndigo}">
<GroupBox Header="{Binding General}" Grid.RowSpan="6" Grid.ColumnSpan="4">
<Grid Margin="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<GroupBox Grid.RowSpan="6"
Grid.ColumnSpan="4"
Style="{DynamicResource GeneralDoorParamGrp}">
<GroupBox.Header>
<TextBlock Text="{Binding General}"
Style="{DynamicResource GeneralDoorParamGrpTxBx}"/>
</GroupBox.Header>
<Grid Margin="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.7*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<!--<RowDefinition Height="1*"/>-->
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<Grid.InputBindings>
<KeyBinding Key="Enter" Command="{Binding ApplyCommand}"/>
</Grid.InputBindings>
<Border BorderBrush="Gainsboro" BorderThickness="1" Grid.Column="2" Grid.ColumnSpan="4"
Grid.RowSpan="5" Margin="5,0,5,0" CornerRadius="3"/>
<Grid.InputBindings>
<KeyBinding Key="Enter" Command="{Binding ApplyCommand}"/>
</Grid.InputBindings>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding WidthMsg}" VerticalAlignment="Center"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Column="1" Grid.Row="0"
Text="{Binding Width,UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,30,5"/>
<Border Grid.Column="2"
Grid.ColumnSpan="4"
Grid.RowSpan="5"
Style="{DynamicResource HardwarePart}"/>
<TextBlock Grid.Column="0" Grid.Row="1" Text="{Binding HeightMsg}" VerticalAlignment="Center"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding Height,UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,30,5"/>
<TextBlock Grid.Row="0"
Grid.Column="0"
Text="{Binding WidthMsg}"
Style="{DynamicResource DoorParamsTxBl}"/>
<TextBox Grid.Row="0"
Grid.Column="1"
Text="{Binding Width,UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource HardwarePartTxBx}"/>
<TextBlock Grid.Column="0" Grid.Row="2" Text="{Binding ThicknessMsg}" VerticalAlignment="Center"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding Thickness,UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,30,5"/>
<TextBlock Grid.Row="1"
Grid.Column="0"
Text="{Binding HeightMsg}"
Style="{DynamicResource DoorParamsTxBl}"/>
<TextBox Grid.Row="1"
Grid.Column="1"
Text="{Binding Height,UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource HardwarePartTxBx}"/>
<TextBlock Grid.Column="0" Grid.Row="3" Text="{Binding SwingMsg}" VerticalAlignment="Center"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox ItemsSource="{Binding SwingList}" Margin="5,0,30,5"
Grid.Column="1" Grid.Row="3"
SelectedItem="{Binding SelectedItem}"
Style="{StaticResource DoorParamsCmBx}"/>
<TextBlock Grid.Row="2"
Grid.Column="0"
Text="{Binding ThicknessMsg}"
Style="{DynamicResource DoorParamsTxBl}"/>
<TextBox Grid.Row="2"
Grid.Column="1"
Text="{Binding Thickness,UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource HardwarePartTxBx}"/>
<TextBlock Grid.Column="0" Grid.Row="4" Text="{Binding MaterialMsg}" VerticalAlignment="Center"
Visibility="{Binding MaterialListIsVisible}"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox ItemsSource="{Binding MaterialList}" Margin="5,0,30,5"
Grid.Column="1" Grid.Row="4"
SelectedItem="{Binding SelectedMaterial}"
DisplayMemberPath="Name"
Visibility="{Binding MaterialListIsVisible}"
Style="{StaticResource DoorParamsCmBx}"/>
<TextBlock Grid.Row="3"
Grid.Column="0"
Text="{Binding SwingMsg}"
Style="{DynamicResource DoorParamsTxBl}"/>
<ComboBox Grid.Row="3"
Grid.Column="1"
ItemsSource="{Binding SwingList}"
SelectedItem="{Binding SelectedItem}"
Style="{DynamicResource SwingListCmBx}"/>
<TextBlock Grid.Column="3" Grid.Row="0" Text="{Binding EdgeTypeMsg}"
Margin="5,0,15,5" VerticalAlignment="Center"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBlock Grid.Row="4"
Grid.Column="0"
Text="{Binding MaterialMsg}"
Visibility="{Binding MaterialListIsVisible}"
Style="{DynamicResource DoorParamsTxBl}"/>
<ComboBox Grid.Row="4"
Grid.Column="1"
DisplayMemberPath="Name"
ItemsSource="{Binding MaterialList}"
SelectedItem="{Binding SelectedMaterial}"
Visibility="{Binding MaterialListIsVisible}"
Style="{DynamicResource SwingListCmBx}"/>
<TextBlock Grid.Column="2" Grid.Row="1" Text="{Binding LockedgeMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox ItemsSource="{Binding LockEdgeProfile}" Margin="5,0,15,5"
Grid.Column="3" Grid.Row="1"
SelectedValue="{Binding SelectedLockEdgeProfile}"
DisplayMemberPath="Name"
Style="{StaticResource DoorParamsCmBx}"/>
<TextBlock Grid.Column="2" Grid.Row="2" Text="{Binding HingeedgeMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox ItemsSource="{Binding HingeEdgeProfile}" Margin="5,0,15,5"
Grid.Column="3" Grid.Row="2"
SelectedValue="{Binding SelectedHingeEdgeProfile}"
DisplayMemberPath="Name"
Style="{StaticResource DoorParamsCmBx}"/>
<TextBlock Grid.Column="2" Grid.Row="3" Text="{Binding TopedgeMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox ItemsSource="{Binding TopEdgeProfile}" Margin="5,0,15,5"
Grid.Column="3" Grid.Row="3"
SelectedValue="{Binding SelectedTopEdgeProfile}"
DisplayMemberPath="Name"
Style="{StaticResource DoorParamsCmBx}"/>
<TextBlock Grid.Column="2" Grid.Row="4" Text="{Binding BottomedgeMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox ItemsSource="{Binding BottomEdgeProfile}" Margin="5,0,15,5"
Grid.Column="3" Grid.Row="4"
SelectedValue="{Binding SelectedBottomEdgeProfile}"
DisplayMemberPath="Name"
Style="{StaticResource DoorParamsCmBx}"/>
<TextBlock Grid.Row="0"
Grid.Column="3"
Text="{Binding EdgeTypeMsg}"
Style="{DynamicResource EdgeTypeTxBl}"/>
<!--<Grid Grid.ColumnSpan="4" Grid.Row="4">
<TextBlock Grid.Row="1"
Grid.Column="2"
Text="{Binding LockedgeMsg}"
Style="{DynamicResource GeometryListConfigTxBl}"/>
<ComboBox Grid.Row="1"
Grid.Column="3"
DisplayMemberPath="Name"
ItemsSource="{Binding LockEdgeProfile}"
SelectedValue="{Binding SelectedLockEdgeProfile}"
Style="{DynamicResource LockEdgeProfileCmBx}"/>
<TextBlock Grid.Row="2"
Grid.Column="2"
Text="{Binding HingeedgeMsg}"
Style="{DynamicResource GeometryListConfigTxBl}"/>
<ComboBox Grid.Row="2"
Grid.Column="3"
DisplayMemberPath="Name"
ItemsSource="{Binding HingeEdgeProfile}"
SelectedValue="{Binding SelectedHingeEdgeProfile}"
Style="{DynamicResource LockEdgeProfileCmBx}"/>
<TextBlock Grid.Row="3"
Grid.Column="2"
Text="{Binding TopedgeMsg}"
Style="{DynamicResource GeometryListConfigTxBl}"/>
<ComboBox Grid.Row="3"
Grid.Column="3"
DisplayMemberPath="Name"
ItemsSource="{Binding TopEdgeProfile}"
SelectedValue="{Binding SelectedTopEdgeProfile}"
Style="{DynamicResource LockEdgeProfileCmBx}"/>
<TextBlock Grid.Row="4"
Grid.Column="2"
Text="{Binding BottomedgeMsg}"
Style="{DynamicResource GeometryListConfigTxBl}"/>
<ComboBox Grid.Row="4"
Grid.Column="3"
DisplayMemberPath="Name"
ItemsSource="{Binding BottomEdgeProfile}"
SelectedValue="{Binding SelectedBottomEdgeProfile}"
Style="{DynamicResource LockEdgeProfileCmBx}"/>
<!--<Grid Grid.ColumnSpan="4" Grid.Row="4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width="1*"/>
@@ -116,18 +147,16 @@
<ColumnDefinition Width="1.5*"/>
</Grid.ColumnDefinitions>-->
<Button Grid.Column="3" Grid.Row="6"
<Button Grid.Row="6"
Grid.Column="3"
Content="{Binding CancelMsg}"
Margin="5, 5, 15, 5"
IsCancel="True"/>
Style="{DynamicResource CancelBtn}"/>
<Button Grid.Column="2" Grid.Row="6"
<Button Grid.Row="6"
Grid.Column="2"
Content="{Binding ApplyMsg}"
Command="{Binding ApplyCommand}"
Margin="15, 5, 50, 5"
IsDefault="True"/>
Style="{DynamicResource ApplyBtn}"/>
</Grid>
</GroupBox>
+1
View File
@@ -1,4 +1,5 @@
Public Class HardwarePartV
Private WithEvents m_HardwarePartVM As HardwarePartVM
Sub New(HardwarePart As HardwarePartVM)
+2 -4
View File
@@ -1,8 +1,6 @@
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Public Class HardwarePartVM
'Inherits VMBase
@@ -279,7 +277,7 @@ Public Class HardwarePartVM
Map.refHardwarePageVM.GenericPart.SetTopType(m_SelectedTopEdgeProfile)
Map.refHardwarePageVM.GenericPart.SetBottomType(m_SelectedBottomEdgeProfile)
Map.refHardwarePageVM.GenericPart.SetMaterial(m_SelectedMaterial)
Map.refHardwarePageVM.GenericPart.NotifyPropertyChanged("GenericPart")
Map.refHardwarePageVM.GenericPart.NotifyPropertyChanged(NameOf(Map.refHardwarePageVM.GenericPart))
bIsSettingDoor = True
Map.refSceneManagerVM.RefreshBtn()
If Not IsNothing(Map.refHardwarePageVM.CurrHardware()) Then
@@ -333,7 +331,7 @@ Public Class HardwarePartVM
End Try
If OptionModule.m_MaterialList.Count > 1 Then
m_MaterialListIsVisble = Visibility.Visible
NotifyPropertyChanged("MaterialListIsVisible")
NotifyPropertyChanged(NameOf(MaterialListIsVisible))
End If
End If
+10 -11
View File
@@ -1,14 +1,13 @@
<EgtWPFLib5:EgtCustomWindow x:Class="HardwarePartWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
<Grid>
<ContentControl Content="{Binding HardwarePart}"/>
</Grid>
<ContentControl Content="{Binding HardwarePart}"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+8
View File
@@ -5,6 +5,8 @@ Imports EgtWPFLib5
Friend Module IniFile
#Region "FIELDS & PROPERTIES"
Public Enum ComboListResult As Integer
MISTAKE = -1
NOTFOUND = 0
@@ -62,6 +64,10 @@ Friend Module IniFile
' Path LuaLibs Dir
Friend m_sLuaLibsDir As String = String.Empty
#End Region ' Fields & Properties
#Region "METHODS"
' EgtDoorCreator.ini
Public Function GetPrivateProfileLanguage(ByVal lpAppName As String, ByVal lpKeyName As String) As Language
Dim sVal As String = String.Empty
@@ -485,4 +491,6 @@ Friend Module IniFile
Return EgtUILib.WritePrivateProfileString(IpAppName, IpKeyName, IpString, m_sDoorsDirPath & "\MTables\GeometryNameList.ini")
End Function
#End Region ' Methods
End Module
+1 -3
View File
@@ -1,6 +1,4 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Imports EgtWPFLib5
Module LauncherModule
' riferimento
+21 -21
View File
@@ -1,12 +1,11 @@
<EgtWPFLib5:EgtCustomWindow x:Class="LauncherV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding TitleMsg}" Icon="/Resources/EgtDOOR.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding TitleMsg}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
@@ -14,16 +13,17 @@
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Button Grid.Row="0" Command="{Binding LastProjectCommand}">
<Button Grid.Row="0"
Command="{Binding LastProjectCommand}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"
/>
<TextBlock Grid.Column="1" Text="{Binding OpenLastMsg}" FontSize="15"
Style="{StaticResource DoorParamsTxBl}"/>
<Image Grid.Column="0" Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"/>
<TextBlock Grid.Column="1"
Text="{Binding OpenLastMsg}"
Style="{DynamicResource LauncherTxBl}"/>
</Grid>
</Button>
@@ -33,10 +33,10 @@
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"
HorizontalAlignment="Left"/>
<TextBlock Grid.Column="1" Text="{Binding NewMsg}" FontSize="15"
Style="{StaticResource DoorParamsTxBl}"/>
<Image Grid.Column="0" Source="/Resources/TopCommandBar/New.png" Stretch="Uniform" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="1"
Text="{Binding NewMsg}"
Style="{DynamicResource LauncherTxBl}"/>
</Grid>
</Button>
@@ -46,10 +46,10 @@
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="/Resources/TopCommandBar/Open.png" Stretch="Uniform"
HorizontalAlignment="Left"/>
<TextBlock Grid.Column="1" Text="{Binding OpenMsg}" FontSize="15"
Style="{StaticResource DoorParamsTxBl}"/>
<Image Grid.Column="0" Source="/Resources/TopCommandBar/Open.png" Stretch="Uniform" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="1"
Text="{Binding OpenMsg}"
Style="{DynamicResource LauncherTxBl}"/>
</Grid>
</Button>
-2
View File
@@ -1,5 +1,4 @@
Imports EgtUILib
Imports System.IO
Public Class LauncherVM
' Riferimento al MainWindowVM
@@ -131,7 +130,6 @@ Public Class LauncherVM
#End Region ' CloseOptionsCommand
#End Region ' COMMANDS
End Class
+21 -2
View File
@@ -56,9 +56,28 @@ Friend Class MainWindowModel
Dim sKey As String = String.Empty
EgtUILib.GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile)
EgtSetKey(sKey)
Dim sNestKey As String = ""
EgtUILib.GetPrivateProfileString(S_LICENCE, K_NESTKEY, "", sNestKey, sLicFile)
EgtSetNestKey(sNestKey)
Dim bNetHwKey As Boolean = (GetPrivateProfileInt(S_GENERAL, K_NETKEY, 0, m_sIniFile) = 1)
EgtSetNetHwKey(bNetHwKey)
' Impostazioni per chiave di rete
Dim bNetKey As Boolean = (GetPrivateProfileInt(S_GENERAL, K_NETKEY, 0, m_sIniFile) = 1)
EgtSetNetHwKey(bNetKey)
Dim sLockId As String = ""
EgtUILib.GetPrivateProfileString(S_LICENCE, K_LOCKID, "", sLockId, sLicFile)
If Not String.IsNullOrEmpty(sLockId) Then
EgtSetLockId(sLockId)
End If
' Verifico abilitazione nesting automatico
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2512, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2512, 1, IniFile.m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2612, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2612, 1, IniFile.m_nKeyOptions)
'Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
Dim sLogFile As String = IniFile.m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
+15 -15
View File
@@ -1,14 +1,14 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MainWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
DataContext="{StaticResource MainWindowVM}"
Title="{Binding ProjectNameMsg}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
MinHeight="600" MinWidth="800"
AboutBoxCommand="{Binding AboutBoxCommand}" WindowStyle="None" ResizeMode="NoResize"
CloseCommand="{Binding CloseApplicationCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
DataContext="{StaticResource MainWindowVM}"
Title="{Binding ProjectNameMsg}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
MinHeight="600" MinWidth="800"
AboutBoxCommand="{Binding AboutBoxCommand}" WindowStyle="None" ResizeMode="NoResize"
CloseCommand="{Binding CloseApplicationCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
<EgtWPFLib5:EgtCustomWindow.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DataContext.RefreshCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
<KeyBinding Key="F1" Command="{Binding OptionGuideCmd}"/>
@@ -19,7 +19,7 @@
<ContentControl Content="{Binding ProjectManagerControl}"/>
</UniformGrid>
</EgtWPFLib5:EgtCustomWindow.TitlePanel>
<Grid>
<Grid.ColumnDefinitions>
<!--<ColumnDefinition Width="1*"/>-->
@@ -32,11 +32,11 @@
</Grid.RowDefinitions>
<!--<EgtDOORCreator:AssemblyManagerV Grid.Column="0" DataContext="{StaticResource AssemblyManagerVM}"/>-->
<ContentControl Grid.Column="{Binding AssemblyManagerDisposition}" Grid.Row="0" Content="{Binding AssemblyManagerControl}"/>
<ContentControl Grid.Column="{Binding PageControlDisposition}" Grid.Row="1" Content="{Binding PageControl}"/>
<ContentControl Grid.Row="0" Grid.Column="{Binding AssemblyManagerDisposition}" Content="{Binding AssemblyManagerControl}"/>
<ContentControl Grid.Row="1" Grid.Column="{Binding PageControlDisposition}" Content="{Binding PageControl}"/>
<!--<EgtDOORCreator:SceneManagerV Grid.Column="{Binding SceneManagerDiposition}" Grid.RowSpan="2" DataContext="{StaticResource SceneManagerVM}"/>-->
<!--<EgtDOORCreator:SceneManagerV Grid.Column="0" Grid.RowSpan="2" DataContext="{StaticResource SceneManagerVM}"/>-->
<ContentControl Grid.Column="{Binding SceneManagerDiposition}" Grid.RowSpan="2" Content="{Binding SceneManagerControl}"/>
<ContentControl Grid.RowSpan="2" Grid.Column="{Binding SceneManagerDiposition}" Content="{Binding SceneManagerControl}"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+68 -4
View File
@@ -2,8 +2,29 @@
Class MainWindowV
Private m_args() As String = Nothing
#Region "EVENTS"
Public Sub New(args As String())
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Per leggere più argomenti devono essere scritti ognuno tra doppi apici e separati da spazio
' Esempio:"Argomento 1 di prova" "Argomento 2 di prova"
If args.Length > 0 Then
m_args = args
RunBlindCode()
End If
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
End Sub
Private Sub MainWindowV_Init(sender As Object, e As EventArgs) Handles Me.Initialized
' Carico il tema del programma
Map.refMainWindowVM.Themes_StartUp()
End Sub
Private Sub MainWindowV_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
' Carico e imposto posizione finestra
WinPosFromIniToWindow(S_GENERAL, K_WINPLACE, Me)
@@ -11,10 +32,7 @@ Class MainWindowV
Private Sub MainWindowV_ContentRendered(sender As Object, e As EventArgs) Handles Me.ContentRendered
' se è assente la chiave di protezione non mostro la finestra Launcher
If Map.refSceneManagerVM.bProtectKey Then
Map.refMainWindowVM.SetLauncher()
Map.refMainWindowVM.ShowErrorCompoLoad()
End If
RunBlindCode()
End Sub
Private Sub MainWindowV_Unloaded(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles Me.Closing
@@ -26,4 +44,50 @@ Class MainWindowV
#End Region ' EVENTS
Private Sub RunBlindCode()
If Map.refSceneManagerVM.bProtectKey Then
ReadArgs()
Map.refMainWindowVM.SetLauncher()
Map.refMainWindowVM.ShowErrorCompoLoad()
End If
End Sub
' Lettura degli argomenti e scrittura di un file di Log con i parametri caricati
Private Sub ReadArgs()
If Not IsNothing(m_args) Then
StartBlinProgdLog(IniFile.m_sTempDir & "\BlindProgLog.txt")
' leggo gli argomenti: Il programma si chiude appena termina la scrittura del file DDF
Dim Items() As String = m_args(0).Split(";"c)
If Items.Length >= 5 Then
' Avvio progetto - LauncherOpt.Open_last_project (1)
OptionModule.m_bLauncherOpenOnce = True
' Indico il percorso del file
OptionModule.FileNameFromArgs = Items(0)
BlindProgLog(" File '.ddt' input : " & OptionModule.FileNameFromArgs)
' Assegno i valore Width, Height, Thickness
OptionModule.m_Width = Items(1)
BlindProgLog(" width : " & OptionModule.m_Width)
OptionModule.m_Height = Items(2)
BlindProgLog(" height : " & OptionModule.m_Height)
OptionModule.m_Thickness = Items(3)
BlindProgLog(" thickness : " & OptionModule.m_Thickness)
' Indico il percoso di salvataggio file DDF
OptionModule.SaveFileNameFromArgs = Items(4)
BlindProgLog(" File '.ddf' output : " & OptionModule.SaveFileNameFromArgs)
' Nuovo parametro da laggere per gestione Swing
If Items.Length = 6 Then
OptionModule.ForcesSideSwing = Items(5)
BlindProgLog(" swing : " & OptionModule.ForcesSideSwing)
End If
' abilito lettura dati
OptionModule.AdjustDDT = True
Else
' blocco lettura dati
OptionModule.AdjustDDT = False
' TERMINO TUTTO SUBITO!
End
End If
End If
End Sub
End Class
+66 -38
View File
@@ -16,7 +16,7 @@ Public Class MainWindowVM
End Get
Set(value As Visibility)
m_VisibilityAssemblyManager = value
NotifyPropertyChanged("VisibilityAssemblyManager")
NotifyPropertyChanged(NameOf(VisibilityAssemblyManager))
End Set
End Property
@@ -27,7 +27,7 @@ Public Class MainWindowVM
End Get
Set(value As String)
m_ProjectNameMsg = "EgtDOORCreator - " & value
NotifyPropertyChanged("ProjectNameMsg")
NotifyPropertyChanged(NameOf(ProjectNameMsg))
End Set
End Property
@@ -35,8 +35,9 @@ Public Class MainWindowVM
Public ReadOnly Property Launcher As LauncherV
Get
If IsNothing(m_Launcher) Then
m_Launcher = New LauncherV
m_Launcher.DataContext = New LauncherVM(Me)
m_Launcher = New LauncherV With {
.DataContext = New LauncherVM(Me)
}
End If
Return m_Launcher
End Get
@@ -65,9 +66,14 @@ Public Class MainWindowVM
Return m_SelectedPage
End Get
Set(value As ListPageEnum)
m_SelectedPage = value
NotifyPropertyChanged("PageControl")
Map.refInstrumentPanelVM.NotifyPropertyChanged("DimensionVisibility")
' Verifico che sia una vera modifica
If m_SelectedPage <> value Then
m_SelectedPage = value
NotifyPropertyChanged(NameOf(PageControl))
If Not IsNothing(Map.refInstrumentPanelVM) Then
Map.refInstrumentPanelVM.NotifyPropertyChanged(NameOf(Map.refInstrumentPanelVM.DimensionVisibility))
End If
End If
End Set
End Property
@@ -84,36 +90,36 @@ Public Class MainWindowVM
Public ReadOnly Property PageControl As ContentControl
Get
If m_SelectedPage = ListPageEnum.nDDFPage Then
If OptionModule.m_SingleDoor then
If OptionModule.m_SingleDoor Then
VisibilityAssemblyManager = Visibility.Hidden
Else
VisibilityAssemblyManager = Visibility.Visible
End If
NotifyPropertyChanged("AssemblyManagerControl")
NotifyPropertyChanged("ProjectManagerControl")
End If
NotifyPropertyChanged(NameOf(AssemblyManagerControl))
NotifyPropertyChanged(NameOf(ProjectManagerControl))
Return m_PartPage
ElseIf m_SelectedPage = ListPageEnum.nAssemblyPage Then
If OptionModule.m_SingleDoor then
If OptionModule.m_SingleDoor Then
VisibilityAssemblyManager = Visibility.Hidden
Else
VisibilityAssemblyManager = Visibility.Visible
End If
NotifyPropertyChanged("AssemblyManagerControl")
NotifyPropertyChanged("ProjectManagerControl")
End If
NotifyPropertyChanged(NameOf(AssemblyManagerControl))
NotifyPropertyChanged(NameOf(ProjectManagerControl))
Return m_AssemblyPage
ElseIf m_SelectedPage = ListPageEnum.nHardwarePage Then
VisibilityAssemblyManager = Visibility.Collapsed
NotifyPropertyChanged("AssemblyManagerControl")
NotifyPropertyChanged("ProjectManagerControl")
NotifyPropertyChanged(NameOf(AssemblyManagerControl))
NotifyPropertyChanged(NameOf(ProjectManagerControl))
Return m_HardwarePage
Else
If OptionModule.m_SingleDoor then
If OptionModule.m_SingleDoor Then
VisibilityAssemblyManager = Visibility.Hidden
Else
VisibilityAssemblyManager = Visibility.Visible
End If
NotifyPropertyChanged("AssemblyManagerControl")
NotifyPropertyChanged("ProjectManagerControl")
End If
NotifyPropertyChanged(NameOf(AssemblyManagerControl))
NotifyPropertyChanged(NameOf(ProjectManagerControl))
Return Nothing
End If
End Get
@@ -137,7 +143,7 @@ Public Class MainWindowVM
Public ReadOnly Property ProjectManagerControl As ContentControl
Get
If m_SelectedPage <> ListPageEnum.nHardwarePage then
If m_SelectedPage <> ListPageEnum.nHardwarePage Then
Return m_ProjectManager
Else
ProjectNameMsg = "HardwareManager"
@@ -154,21 +160,28 @@ Public Class MainWindowVM
Sub New()
Map.SetRefMainWindowVM(Me)
m_AssemblyPage = New AssemblyPageV
m_AssemblyPage.DataContext = New AssemblyPageVM
m_ProjectManagerHardware = New ProjectManagerHardwareV
m_ProjectManagerHardware.DataContext = New ProjectManagerHardwareVM
m_ProjectManager = New ProjectManagerV
m_ProjectManager.DataContext = New ProjectManagerVM
m_PartPage = New PartPageV
m_PartPage.DataContext = New PartPageVM
m_HardwarePage = New HardwarePageV
m_HardwarePage.DataContext = New HardwarePageVM
m_AssemblyManager = New AssemblyManagerV
m_AssemblyManager.DataContext = New AssemblyManagerVM
m_AssemblyPage = New AssemblyPageV With {
.DataContext = New AssemblyPageVM
}
m_ProjectManagerHardware = New ProjectManagerHardwareV With {
.DataContext = New ProjectManagerHardwareVM
}
m_ProjectManager = New ProjectManagerV With {
.DataContext = New ProjectManagerVM
}
m_PartPage = New PartPageV With {
.DataContext = New PartPageVM
}
m_HardwarePage = New HardwarePageV With {
.DataContext = New HardwarePageVM
}
m_AssemblyManager = New AssemblyManagerV With {
.DataContext = New AssemblyManagerVM
}
' inserisco la scena
m_SceneManager = New SceneManagerV
m_SceneManager.DataContext = New SceneManagerVM
m_SceneManager = New SceneManagerV With {
.DataContext = New SceneManagerVM
}
Dim OptionsPage As OptionsVM = OptionPage
InitWatcher()
End Sub
@@ -237,6 +250,17 @@ Public Class MainWindowVM
End If
End Sub
Public Sub Themes_StartUp()
Dim app As Application = CType(Application.Current, Application)
Dim nIndexTheme As Integer = 0
If nIndexTheme = 0 Then
app.ChangeTheme(New Uri("/EgtDOORCreator;component/EgtDOORCreatorDictionary.xaml", UriKind.Relative))
End If
If nIndexTheme = 1 Then
app.ChangeTheme(New Uri("/EgtDOORCreator;component/EgtDOORCreatorDarkDictionary.xaml", UriKind.Relative))
End If
End Sub
#End Region ' Methods
#Region "Watcher"
@@ -311,7 +335,7 @@ Public Class MainWindowVM
If m_SelectedPage = ListPageEnum.nHardwarePage Then Return
If StartReload Then Return
' 50545 = It has been deleted file: {0}, {1}.
Dim Message As String = String.Format(EgtMsg(50545), e.FullPath, e.ChangeType)
Dim Message As String = String.Format(EgtMsg(50545), e.FullPath, e.ChangeType)
selectedWatcher = WatcherCalling.OnDeleted
Application.Current.Dispatcher.BeginInvoke(New Action(Sub()
RaiseEvent Er(Message, e.FullPath)
@@ -324,7 +348,7 @@ Public Class MainWindowVM
If m_SelectedPage = ListPageEnum.nHardwarePage Then Return
If StartReload Then Return
' 50543 = It has been renamed file: {0}, {1}.
Dim Message As String = String.Format(EgtMsg(50543), e.FullPath, e.ChangeType)
Dim Message As String = String.Format(EgtMsg(50543), e.FullPath, e.ChangeType)
selectedWatcher = WatcherCalling.OnRenamed
Application.Current.Dispatcher.BeginInvoke(New Action(Sub()
RaiseEvent Er(Message, e.FullPath)
@@ -366,6 +390,10 @@ Public Class MainWindowVM
Case LauncherOpt.Open_last_project
' se definito ultimo progetto, lo apro
If GetMainPrivateProfileString(S_LAUNCHERWINDOW, K_LASTPROJECT, "", m_sLastProject) > 0 Then
' se caricato il nome in avvio del programma allora sovrascrivo
If OptionModule.AdjustDDT Then
m_sLastProject = OptionModule.FileNameFromArgs
End If
Map.refProjectManagerVM.OpenLastProject()
End If
Case Else
+16
View File
@@ -1,5 +1,7 @@
Module Map
#Region "FIELDS & PROPERTIES"
Private m_refMainWindowVM As MainWindowVM
Private m_refStatusBarVM As StatusBarVM
Private m_refProjectManagerVM As ProjectManagerVM
@@ -23,9 +25,12 @@
Private m_refPrintSceneHostV As PrintSceneHostV
Private m_refHardwareHelpSceneHostV As HardwareHelpSceneHostV
Private m_refJambsAndDoorsSceneHostV As JambsAndDoorsSceneHostV
Private m_refOptionsVM As OptionsVM
#End Region ' Fields & Properties
#Region "Get"
Public ReadOnly Property refMainWindowVM As MainWindowVM
@@ -148,6 +153,12 @@
End Get
End Property
Public ReadOnly Property refJambsAndDoorsSceneHostV As JambsAndDoorsSceneHostV
Get
Return m_refJambsAndDoorsSceneHostV
End Get
End Property
#End Region ' Get
#Region "Set"
@@ -252,6 +263,11 @@
Return Not IsNothing(m_refHardwareHelpSceneHostV)
End Function
Friend Function SetRefJambsAndDoorsSceneHostV(JambsAndDoorsSceneHostV As JambsAndDoorsSceneHostV) As Boolean
m_refJambsAndDoorsSceneHostV = JambsAndDoorsSceneHostV
Return Not IsNothing(m_refJambsAndDoorsSceneHostV)
End Function
#End Region ' Set
#Region "Init"
+3 -3
View File
@@ -32,7 +32,7 @@ Imports System.Windows
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("EgtDOORCreator")>
<Assembly: AssemblyCopyright("Copyright © 2016-2023 by Egalware s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2016-2024 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)>
@@ -72,5 +72,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.5.12.2")>
<Assembly: AssemblyFileVersion("2.5.12.2")>
<Assembly: AssemblyVersion("2.6.12.2")>
<Assembly: AssemblyFileVersion("2.6.12.2")>
+49 -44
View File
@@ -1,14 +1,13 @@
<EgtWPFLib5:EgtCustomWindow x:Class="NewHardwareV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Height="200" Width="350">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Height="200" Width="350">
<Grid Margin="2">
<Grid.ColumnDefinitions>
@@ -22,42 +21,48 @@
<RowDefinition Height="1*"/>
<!--<RowDefinition Height="1*"/>-->
</Grid.RowDefinitions>
<ComboBox Grid.Column="1" Grid.Row="0"
ItemsSource="{Binding BrandList}"
SelectedItem="{Binding SelBrand}"
Style="{StaticResource DoorParamsCmBx}"
Margin="0,2,15,2"/>
<TextBlock Grid.Column="0" Grid.Row="0"
Text="{Binding BrandMsg}" VerticalAlignment="Center"
Margin="15,2,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Column="1" Grid.Row="1"
<ComboBox Grid.Row="0"
Grid.Column="1"
ItemsSource="{Binding BrandList}"
SelectedItem="{Binding SelBrand}"
Style="{StaticResource BrandListCmBx}"/>
<TextBlock Grid.Row="0"
Grid.Column="0"
Text="{Binding BrandMsg}"
Style="{StaticResource BrandTxBl}"/>
<TextBox Grid.Row="1"
Grid.Column="1"
Text="{Binding Template}"
Style="{StaticResource DoorParamsTxBx}"
Margin="0,2,15,0"/>
<TextBlock Grid.Column="0" Grid.Row="1" Text="{Binding TemplateMsg}" VerticalAlignment="Center"
Margin="15,2,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox Grid.Column="1" Grid.Row="2"
Visibility="{Binding TypeVisibility}"
ItemsSource="{Binding TypeList}"
SelectedItem="{Binding SelType}"
DisplayMemberPath="Name"
Style="{StaticResource DoorParamsCmBx}"
Margin="0,2,15,2" VerticalAlignment="Center"/>
<TextBlock Grid.Column="0" Grid.Row="2"
Style="{StaticResource TemplateTxBx}"/>
<TextBlock Grid.Row="1"
Grid.Column="0"
Text="{Binding TemplateMsg}"
Style="{StaticResource BrandTxBl}"/>
<ComboBox Grid.Row="2"
Grid.Column="1"
DisplayMemberPath="Name"
ItemsSource="{Binding TypeList}"
SelectedItem="{Binding SelType}"
Visibility="{Binding TypeVisibility}"
Style="{StaticResource TypeListCmBx}"/>
<TextBlock Grid.Row="2"
Grid.Column="0"
Visibility="{Binding TypeVisibility}"
Text="{Binding TypeMsg}" VerticalAlignment="Center"
Margin="15,2,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<UniformGrid Grid.Column="0" Grid.Row="3" Grid.ColumnSpan="2" Columns="2">
<Button Grid.Column="0" Content="Save"
Margin="55,5,55,3"
Command="{Binding SaveCmd}"/>
<Button Grid.Column="1" Content="Cancel"
Margin="55,5,55,3"
Command="{Binding CancelCmd}"/>
Text="{Binding TypeMsg}"
Style="{StaticResource BrandTxBl}"/>
<UniformGrid Grid.Row="3"
Grid.Column="0"
Grid.ColumnSpan="2"
Columns="2">
<Button Grid.Column="0"
Content="Save"
Command="{Binding SaveCmd}"
Style="{DynamicResource TmpCmdBtn}"/>
<Button Grid.Column="1"
Content="Cancel"
Command="{Binding CancelCmd}"
Style="{DynamicResource TmpCmdBtn}"/>
</UniformGrid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+95 -72
View File
@@ -1,5 +1,4 @@
Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtWPFLib5
Imports EgtUILib
@@ -8,11 +7,86 @@ Imports EgtUILib
Public Class NewHardwareVM
Inherits VMBase
#Region "FIELD & PROPERTIES"
Friend Enum CommandList As Integer
nDuplicate
nNew
End Enum
Private m_HardwareGeneral As CompoType
Private m_ForceToQuit As Boolean = False
Public Property ForceToQuit As Boolean
Get
Return m_ForceToQuit
End Get
Set(value As Boolean)
m_ForceToQuit = value
End Set
End Property
Private m_BrandList As New ObservableCollection(Of String)
Public ReadOnly Property BrandList As ObservableCollection(Of String)
Get
Return m_BrandList
End Get
End Property
Private m_SelBrand As String
Public Property SelBrand As String
Get
Return m_SelBrand
End Get
Set(value As String)
m_SelBrand = value
NotifyPropertyChanged(NameOf(SelBrand))
End Set
End Property
Private m_Template As String
Public Property Template As String
Get
Return m_Template
End Get
Set(value As String)
m_Template = value
NotifyPropertyChanged(NameOf(Template))
End Set
End Property
Private m_TypeList As New List(Of TypeHardware)
Public ReadOnly Property TypeList As List(Of TypeHardware)
Get
Return m_TypeList
End Get
End Property
Private m_Type As New TypeHardware(TYPE_STD_TEMPLATE, TYPE_STD_TEMPLATE_INI)
Public Property SelType As TypeHardware
Get
Return m_Type
End Get
Set(value As TypeHardware)
m_Type = value
NotifyPropertyChanged(NameOf(SelType))
End Set
End Property
Private m_TypeVisibility As Visibility = Visibility.Collapsed
Public Property TypeVisibility As Visibility
Get
Return m_TypeVisibility
End Get
Set(value As Visibility)
m_TypeVisibility = value
End Set
End Property
#End Region ' Fields & Properties
#Region "MESSAGES"
Private m_Command As Integer
Public ReadOnly Property Command As Integer
Get
@@ -44,79 +118,14 @@ Public Class NewHardwareVM
End Get
End Property
#End Region ' Messages
' Comandi
Private m_cmdSave As ICommand
Private m_cmdCancel As ICommand
Private m_CmdCloseNewHardware As ICommand
Private m_HardwareGeneral As CompoType
Private m_ForceToQuit As Boolean = False
Public Property ForceToQuit As Boolean
Get
Return m_ForceToQuit
End Get
Set(value As Boolean)
m_ForceToQuit = value
End Set
End Property
Private m_BrandList As New ObservableCollection(Of String)
Public ReadOnly Property BrandList As ObservableCollection(Of String)
Get
Return m_BrandList
End Get
End Property
Private m_SelBrand As String
Public Property SelBrand As String
Get
Return m_SelBrand
End Get
Set(value As String)
m_SelBrand = value
NotifyPropertyChanged("SelBrand")
End Set
End Property
Private m_Template As String
Public Property Template As String
Get
Return m_Template
End Get
Set(value As String)
m_Template = value
NotifyPropertyChanged("Template")
End Set
End Property
Private m_TypeList As New List(Of TypeHardware)
Public ReadOnly Property TypeList As List(Of TypeHardware)
Get
Return m_TypeList
End Get
End Property
Private m_Type As New TypeHardware(TYPE_STD_TEMPLATE, TYPE_STD_TEMPLATE_INI)
Public Property SelType As TypeHardware
Get
Return m_Type
End Get
Set(value As TypeHardware)
m_Type = value
NotifyPropertyChanged("SelType")
End Set
End Property
Private m_TypeVisibility As Visibility = Visibility.Collapsed
Public Property TypeVisibility As Visibility
Get
Return m_TypeVisibility
End Get
Set(value As Visibility)
m_TypeVisibility = value
End Set
End Property
#Region "CONSTRUCTOR"
Sub New(HardwareGeneral As CompoType, nCommand As Integer)
m_Command = nCommand
@@ -127,7 +136,7 @@ Public Class NewHardwareVM
For Each Folder In m_HardwareGeneral.HardwareFolderList
m_BrandList.Add(Folder.ModelDirGraphic)
Next
NotifyPropertyChanged("BrandList")
NotifyPropertyChanged(NameOf(BrandList))
Dim SelItemindex As Integer = 0
While m_BrandList(SelItemindex) <> Map.refHardwarePageVM.CurrHardware.SelBrand.ModelDirGraphic And SelItemindex < m_BrandList.Count - 1
SelItemindex += 1
@@ -137,13 +146,19 @@ Public Class NewHardwareVM
If Map.refHardwarePageVM.CurrHardware.TypeList.Count > 1 Then
TypeVisibility = Visibility.Visible
m_TypeList = Map.refHardwarePageVM.CurrHardware.TypeList
NotifyPropertyChanged("TypeList")
NotifyPropertyChanged(NameOf(TypeList))
SelType = TypeList(0)
End If
End If
End Sub
#End Region ' Constructor
#Region "COMMANDS"
#Region "SaveCommand"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property SaveCmd() As ICommand
Get
@@ -168,6 +183,10 @@ Public Class NewHardwareVM
End If
End Sub
#End Region ' SaveCommand
#Region "CancelCommand"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property CancelCmd() As ICommand
Get
@@ -184,6 +203,8 @@ Public Class NewHardwareVM
CloseNewHardware()
End Sub
#End Region ' CancelCommand
#Region "CloseNewHardwareCommand"
''' <summary>
@@ -214,4 +235,6 @@ Public Class NewHardwareVM
#End Region ' CloseOptionsCommand
End Class
#End Region ' Commands
End Class
+59 -22
View File
@@ -4,9 +4,22 @@ Imports EgtUILib
Imports EgtWPFLib5
Friend Module OptionModule
#Region "FIELDS & PROPERTIES"
' flag per modalità di visualizzazione file (solo lettura)
Friend ReadOnlyDDF As Boolean = False
' selezione tema (default=0)
Friend m_SelectedThema As Integer = 0
' flag per forzare l'aggiornamento delle dimensioni anta dei file DDT
Friend AdjustDDT As Boolean = False
Friend FileNameFromArgs As String = String.Empty
Friend SaveFileNameFromArgs As String = String.Empty
' Forza la scrittura dello swing Left(L..) oppure Right(R..)
Friend ForcesSideSwing As String = String.Empty
' Parametri che contengono lista delle lingue disponibili e lingua selezionata
Friend m_LanguageList As New ObservableCollection(Of Language)
Friend m_SelectedLanguage As Language
@@ -189,6 +202,10 @@ Friend Module OptionModule
Friend m_DimensionHardware As Visibility
Friend m_DimensionDoor As Visibility
#End Region ' Fields & Properties
#Region "METHODS"
' iniziliazzo il la lettura dei messaggi
Friend Sub ReadMessages()
' Leggo elenco lingue disponibili da file ini
@@ -371,6 +388,8 @@ Friend Module OptionModule
m_AskMeAgainConfirm = If(GetMainPrivateProfileInt(S_GENERAL, K_ASKMEAGAINCONFIRM, 1) = 1, True, False)
m_SelectedThema = GetMainPrivateProfileInt(S_GENERAL, K_THEMA, 0)
' leggo il tipo di Bevel selezionato
DefaultGetPrivateProfilesBevel(S_EDGE, K_BEVELU_INI, m_bBevelUp)
DefaultGetPrivateProfilesBevel(S_EDGE, K_BEVELD_INI, m_bBevelDown)
@@ -400,8 +419,8 @@ Friend Module OptionModule
DefaultGetPrivateProfileObservableCollection("Material", "MaterialList", MaterialList)
LoadMaterialList(MaterialList)
' se eiste un solo materiale allora non mostro a vodeo
If MaterialList.Count < 2 then
m_MaterialIsVisible = Visibility.Collapsed
If MaterialList.Count < 2 Then
m_MaterialIsVisible = Visibility.Collapsed
End If
Dim PropertyList As New ObservableCollection(Of String)
' se non trovo l'elenco dei materiali allora eseguo le vecchie istruzioni
@@ -434,19 +453,19 @@ Friend Module OptionModule
Dim Width As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_WIDTH_INI, "32", Width)
Utility.ConvertCompoConfig(Width, 500)
Utility.ConvertCompoConfig(Width, 9999)
m_Width = Width
Dim dWidth As Double
If StringToDouble(m_Width, dWidth) Then EgtLuaSetGlobNumVar("W", dWidth)
Dim Height As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_HEIGHT_INI, "80", Height)
Utility.ConvertCompoConfig(Height, 500)
Utility.ConvertCompoConfig(Height, 9999)
m_Height = Height
Dim dHeight As Double
If StringToDouble(m_Height, dHeight) Then EgtLuaSetGlobNumVar("H", dHeight)
Dim Thickness As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_THICKNESS_INI, "1.75", Thickness)
Utility.ConvertCompoConfig(Thickness, 100)
Utility.ConvertCompoConfig(Thickness, 9999)
m_Thickness = Thickness
Dim dThickness As Double
If StringToDouble(m_Thickness, dThickness) Then EgtLuaSetGlobNumVar("T", dThickness)
@@ -778,14 +797,14 @@ Friend Module OptionModule
End Sub
Friend sub LoadMaterialList (ByVal List As ObservableCollection(Of string))
If IsNothing(List) then Return
For Each Material In List
Dim Item As String() = Material.Split("/"c)
If Item.Count < 2 then
m_MaterialList.Add(New MaterialType(Item(0),Item(0)))
else
m_MaterialList.Add(New MaterialType(Item(0),Item(1)))
Friend Sub LoadMaterialList(ByVal List As ObservableCollection(Of String))
If IsNothing(List) Then Return
For Each Material In List
Dim Item As String() = Material.Split("/"c)
If Item.Count < 2 Then
m_MaterialList.Add(New MaterialType(Item(0), Item(0)))
Else
m_MaterialList.Add(New MaterialType(Item(0), Item(1)))
End If
Next
End Sub
@@ -822,15 +841,15 @@ Friend Module OptionModule
End If
End If
Next
Dim bNoneExists As Boolean = false
For Each Item in ListToBeLoaded
If Item.Name = NONE_DDF then
bNoneExists = true
Exit for
Dim bNoneExists As Boolean = False
For Each Item In ListToBeLoaded
If Item.Name = NONE_DDF Then
bNoneExists = True
Exit For
End If
Next
If Not bNoneExists then
ListToBeLoaded.Add(New PropertyItem(NONE_DDF, EgtMsg(50703), False))
If Not bNoneExists Then
ListToBeLoaded.Add(New PropertyItem(NONE_DDF, EgtMsg(50703), False))
End If
End Sub
@@ -874,8 +893,8 @@ Friend Module OptionModule
LocalPart.SetPropertiesList(OptionModule.m_MaterialList(0).PropertiesList)
Return
End If
' configurazione senza materiali
If LocalPart.PropertiesList.Count > 0 Then LocalPart.PropertiesList.Clear()
' configurazione senza materiali
If LocalPart.PropertiesList.Count > 0 Then LocalPart.PropertiesList.Clear()
For Each Item In OptionModule.m_PropertList
LocalPart.PropertiesList.Add(New PropertyItem(Item.Name, Item.GraphicName, Item.IsChecked))
Next
@@ -1116,11 +1135,15 @@ Friend Module OptionModule
EgtLuaResetGlobVar("CCD")
End Sub
#End Region ' Methods
End Module
' Classe che identifica una lingua del programma con nome e path del file dei messaggi
Public Class Language
#Region "FIELDS & PROPERTIES"
Private m_sName As String
Private m_sFilePath As String
@@ -1142,15 +1165,23 @@ Public Class Language
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(sName As String, sFilePath As String)
Me.Name = sName
Me.FilePath = sFilePath
End Sub
#End Region ' Constructor
End Class
Public Class MTable
#Region "FIELDS & PROPERTIES"
Private m_sName As String
Private m_sFilePath As String
@@ -1172,9 +1203,15 @@ Public Class MTable
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(sName As String, sFilePath As String)
Me.Name = sName
Me.FilePath = sFilePath
End Sub
#End Region ' Constructor
End Class
File diff suppressed because it is too large Load Diff
+224 -122
View File
@@ -11,7 +11,60 @@ Public Class OptionsVM
' serve per definire l'indirizzo per la guida (senza aggiungere l'estenzione!)
Dim m_Chapter As String
#Region "HARDWARE PART"
#Region "THEMES"
#Region "FIELDS & PROPERTIES"
Private m_ThemesDataService As New ThemesDataService()
Private m_Themes As New ObservableCollection(Of ThemeM)
Public Property Themes As ObservableCollection(Of ThemeM)
Get
Return m_Themes
End Get
Set(value As ObservableCollection(Of ThemeM))
If Not m_Themes.Equals(value) Then
m_Themes = value
End If
End Set
End Property
Private m_SelectedTheme As ThemeM
Public Property SelectedTheme As ThemeM
Get
Return m_SelectedTheme
End Get
Set(value As ThemeM)
m_ThemesDataService.SetTheme(value)
m_SelectedTheme = value
' salvo in file ini la scelta del tema corrente
Dim IndexThema As Integer = Themes.IndexOf(m_SelectedTheme)
If IndexThema < 0 Then
IndexThema = 0
End If
WriteMainPrivateProfileString(S_GENERALINI, K_THEMA, IndexThema.ToString)
m_SelectedThema = IndexThema
End Set
End Property
#End Region ' Fields & Properties
#Region "METHODS"
Public Sub SetThema(IndexThema As Integer)
If m_Themes.Count > 0 Then
m_ThemesDataService.SetTheme(m_Themes(IndexThema))
End If
End Sub
#End Region ' Methods
#End Region ' Themes
#Region "HARDWARE PART"
#Region "FIELDS & PROPERTIES"
Private m_HardwarePartV As HardwarePartV
Private m_HardwarePartVM As HardwarePartVM
@@ -82,7 +135,7 @@ Public Class OptionsVM
m_SelectedTabGeneral = value
If m_SelectedTabGeneral = 2 Then
OptionModule.GetCurrentMachineInMTable()
NotifyPropertyChanged("CurrentMachine")
NotifyPropertyChanged(NameOf(CurrentMachine))
m_OrigBaseDir = IniFile.m_sDoorsDirPath
m_OrigMTable = OptionModule.m_SelectedMTable.Name
End If
@@ -99,8 +152,11 @@ Public Class OptionsVM
Private m_OrigBaseDir As String = String.Empty
Private m_OrigMTable As String = String.Empty
#End Region ' Fields & Properties
#End Region ' Hardware_part
#End Region ' Hardware Part
#Region "FIELDS & PROPERTIES"
Public ReadOnly Property LanguageList As ObservableCollection(Of Language)
Get
@@ -144,9 +200,9 @@ Public Class OptionsVM
If Not IsNothing(value) AndAlso value IsNot OptionModule.m_SelectedMTable Then
OptionModule.m_SelectedMTable = value
WriteMainPrivateProfileString(S_DOORS, K_MTABLE, OptionModule.m_SelectedMTable.FilePath)
NotifyPropertyChanged("SelectedMTable")
NotifyPropertyChanged(NameOf(SelectedMTable))
OptionModule.GetCurrentMachineInMTable()
NotifyPropertyChanged("CurrentMachine")
NotifyPropertyChanged(NameOf(CurrentMachine))
End If
End Set
End Property
@@ -166,13 +222,13 @@ Public Class OptionsVM
End If
WriteMainPrivateProfileString(S_DOORS, K_BASEDIR, IniFile.m_sDoorsDirPath)
m_IsChangedConfig = True
NotifyPropertyChanged("SelectedMTable")
NotifyPropertyChanged(NameOf(SelectedMTable))
End If
NotifyPropertyChanged("MTableList")
NotifyPropertyChanged("ConfigDir")
NotifyPropertyChanged(NameOf(MTableList))
NotifyPropertyChanged(NameOf(ConfigDir))
OptionModule.GetCurrentMachineInMTable()
NotifyPropertyChanged("CurrentMachine")
NotifyPropertyChanged("BaseDir")
NotifyPropertyChanged(NameOf(CurrentMachine))
NotifyPropertyChanged(NameOf(BaseDir))
End Set
End Property
@@ -555,7 +611,6 @@ Public Class OptionsVM
End Get
End Property
Public Property LockEdgeType As EdgeType
Get
If m_LockEdgeType.IsActive = Visibility.Collapsed Then
@@ -731,7 +786,7 @@ Public Class OptionsVM
IniFile.m_MyProjectDir = value
WriteMainPrivateProfileString(S_DOORS, K_MYPROJECTDIR, value)
End If
NotifyPropertyChanged("MyProjectDir")
NotifyPropertyChanged(NameOf(MyProjectDir))
End Set
End Property
@@ -744,7 +799,7 @@ Public Class OptionsVM
IniFile.m_MachinProject = value
WriteMainPrivateProfileString(S_DOORS, K_MACHINDIR, value)
End If
NotifyPropertyChanged("MachinDir")
NotifyPropertyChanged(NameOf(MachinDir))
End Set
End Property
@@ -757,7 +812,7 @@ Public Class OptionsVM
IniFile.m_TemplateDir = value
WriteMainPrivateProfileString(S_DOORS, K_TEMPLATEDIR, value)
End If
NotifyPropertyChanged("TemplateDir")
NotifyPropertyChanged(NameOf(TemplateDir))
End Set
End Property
@@ -895,7 +950,7 @@ Public Class OptionsVM
End Get
Set(value As Boolean)
OptionModule.m_TotalDimension = value
NotifyPropertyChanged("TotalDimension")
NotifyPropertyChanged(NameOf(TotalDimension))
' aggiorno la grafica
If Not IsNothing(Map.refAssemblyPageVM) AndAlso Not IsNothing(Map.refAssemblyPageVM.CurrAssembly) Then
Map.refAssemblyPageVM.CurrAssembly.Dimension = OptionModule.m_TotalDimension
@@ -917,7 +972,7 @@ Public Class OptionsVM
End Get
Set(value As String)
OptionModule.m_TotalHeight = value
NotifyPropertyChanged("TotalHeight")
NotifyPropertyChanged(NameOf(TotalHeight))
'If Not IsNothing(Map.refAssemblyPageVM) AndAlso Not IsNothing(Map.refAssemblyPageVM.CurrAssembly) Then
' Map.refAssemblyPageVM.CurrAssembly.SetDimension("Height")
' Map.refSceneManagerVM.RefreshBtn()
@@ -958,7 +1013,7 @@ Public Class OptionsVM
End Get
Set(value As String)
OptionModule.m_TotalWidth = value
NotifyPropertyChanged("TotalWidth")
NotifyPropertyChanged(NameOf(TotalWidth))
End Set
End Property
@@ -1098,6 +1153,7 @@ Public Class OptionsVM
End Property
#Region "Machining Assembly"
Public Property LockEdgeMachiningAssembly As Boolean
Get
Return OptionModule.m_LockEdgeMachiningAssembly
@@ -1200,14 +1256,113 @@ Public Class OptionsVM
#End Region ' Machining Assembly
'-------------------------------------------------------------------------------------------------------------------------------------------------------
Private m_BevelConfiguration As Visibility
Public ReadOnly Property BevelConfiguration As Visibility
Get
Return m_BevelConfiguration
End Get
End Property
Private m_EnableTemplate As Boolean = Not OptionModule.m_DisableTemplate
Public Property EnableTemplate As Boolean
Get
Return m_EnableTemplate
End Get
Set(value As Boolean)
m_EnableTemplate = value
If Not value Then
WriteMainPrivateProfileString(S_GENERAL, "DisableTemplate", "1")
Else
WriteMainPrivateProfileString(S_GENERAL, "DisableTemplate", "0")
End If
OptionModule.m_DisableTemplate = Not value
NotifyPropertyChanged(NameOf(EnableTemplate))
End Set
End Property
Private m_EnableOrder As Boolean = Not OptionModule.m_DisableWindowOrder
Public Property EnableOrder As Boolean
Get
Return m_EnableOrder
End Get
Set(value As Boolean)
m_EnableOrder = value
If Not value Then
WriteMainPrivateProfileString(S_GENERAL, "DisableOrder", "1")
Else
WriteMainPrivateProfileString(S_GENERAL, "DisableOrder", "0")
End If
OptionModule.m_DisableWindowOrder = Not value
NotifyPropertyChanged(NameOf(EnableOrder))
End Set
End Property
Private m_EnableSingleDoor As Boolean = OptionModule.m_SingleDoor
Public Property EnableSingleDoor As Boolean
Get
Return m_EnableSingleDoor
End Get
Set(value As Boolean)
m_EnableSingleDoor = value
If Not value Then
WriteMainPrivateProfileString(S_GENERAL, K_SINGLEDOOR, "0")
Else
WriteMainPrivateProfileString(S_GENERAL, K_SINGLEDOOR, "1")
End If
NotifyPropertyChanged(NameOf(EnableSingleDoor))
End Set
End Property
Private m_VisibilityConfiguration As Visibility = Visibility.Collapsed
Public ReadOnly Property VisibilityConfiguration As Visibility
Get
If (GetMainPrivateProfileInt(S_GENERAL, "EnableSettingAsOpt", 0) = 1) Then
m_VisibilityConfiguration = Visibility.Visible
End If
Return m_VisibilityConfiguration
End Get
End Property
Private m_EnableAssembly As Boolean = If(OptionModule.m_ConfigurationSoftware = ConfigType.Assembly, True, False)
Public Property EnableAssembly As Boolean
Get
Return m_EnableAssembly
End Get
Set(value As Boolean)
Dim sMessage As String = "The program will be shut down, do you want to proced?"
Dim bRestartProgram As Boolean = EnableConfig
If bRestartProgram Then
sMessage = "The program will be restart, do you want to proced?"
End If
' chiedo se desidera procedere con lo spegnimento del programma
If MessageBox.Show(sMessage, "Warning", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation, MessageBoxResult.Cancel) = MessageBoxResult.OK Then
' procedo alla chiusura del programma
Map.refMainWindowVM.CloseApplication()
If bRestartProgram Then Process.Start(Application.ResourceAssembly.Location)
Else
' esco senza salvare la selezione
Return
End If
' sa la chiusura del porgramma è stata interotta
If Map.refMainWindowVM.StopClosingApplication Then
' esco senza salvare la selezione
Return
End If
m_EnableAssembly = value
WriteMainPrivateProfileString(S_GENERAL, K_RUNAS, If(m_EnableAssembly, "1", "0"))
NotifyPropertyChanged(NameOf(EnableAssembly))
End Set
End Property
#End Region ' Fields & Properties
' Definizione comandi
Private m_cmdCloseOptions As ICommand
Private m_cmdBrowse As ICommand
Private m_F1GuideCmd As ICommand
#Region "Messages"
#Region "MESSAGES"
Public ReadOnly Property Title As String
Get
@@ -1791,106 +1946,9 @@ Public Class OptionsVM
End Get
End Property
#End Region
#End Region ' Messages
Private m_BevelConfiguration As Visibility
Public ReadOnly Property BevelConfiguration As Visibility
Get
Return m_BevelConfiguration
End Get
End Property
Private m_EnableTemplate As Boolean = Not OptionModule.m_DisableTemplate
Public Property EnableTemplate As Boolean
Get
Return m_EnableTemplate
End Get
Set(value As Boolean)
m_EnableTemplate = value
If Not value Then
WriteMainPrivateProfileString(S_GENERAL, "DisableTemplate", "1")
Else
WriteMainPrivateProfileString(S_GENERAL, "DisableTemplate", "0")
End If
OptionModule.m_DisableTemplate = Not value
NotifyPropertyChanged("EnableTemplate")
End Set
End Property
Private m_EnableOrder As Boolean = Not OptionModule.m_DisableWindowOrder
Public Property EnableOrder As Boolean
Get
Return m_EnableOrder
End Get
Set(value As Boolean)
m_EnableOrder = value
If Not value Then
WriteMainPrivateProfileString(S_GENERAL, "DisableOrder", "1")
Else
WriteMainPrivateProfileString(S_GENERAL, "DisableOrder", "0")
End If
OptionModule.m_DisableWindowOrder = Not value
NotifyPropertyChanged("EnableOrder")
End Set
End Property
Private m_EnableSingleDoor As Boolean = OptionModule.m_SingleDoor
Public Property EnableSingleDoor As Boolean
Get
Return m_EnableSingleDoor
End Get
Set(value As Boolean)
m_EnableSingleDoor = value
If Not value Then
WriteMainPrivateProfileString(S_GENERAL, K_SINGLEDOOR, "0")
Else
WriteMainPrivateProfileString(S_GENERAL, K_SINGLEDOOR, "1")
End If
NotifyPropertyChanged("EnableSingleDoor")
End Set
End Property
Private m_VisibilityConfiguration As Visibility = Visibility.Collapsed
Public ReadOnly Property VisibilityConfiguration As Visibility
Get
If (GetMainPrivateProfileInt(S_GENERAL, "EnableSettingAsOpt", 0) = 1) Then
m_VisibilityConfiguration = Visibility.Visible
End If
Return m_VisibilityConfiguration
End Get
End Property
Private m_EnableAssembly As Boolean = If(OptionModule.m_ConfigurationSoftware = ConfigType.Assembly, True, False)
Public Property EnableAssembly As Boolean
Get
Return m_EnableAssembly
End Get
Set(value As Boolean)
Dim sMessage As String = "The program will be shut down, do you want to proced?"
Dim bRestartProgram As Boolean = EnableConfig
If bRestartProgram Then
sMessage = "The program will be restart, do you want to proced?"
End If
' chiedo se desidera procedere con lo spegnimento del programma
If MessageBox.Show(sMessage, "Warning", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation, MessageBoxResult.Cancel) = MessageBoxResult.OK Then
' procedo alla chiusura del programma
Map.refMainWindowVM.CloseApplication()
If bRestartProgram Then Process.Start(Application.ResourceAssembly.Location)
Else
' esco senza salvare la selezione
Return
End If
' sa la chiusura del porgramma è stata interotta
If Map.refMainWindowVM.StopClosingApplication Then
' esco senza salvare la selezione
Return
End If
m_EnableAssembly = value
WriteMainPrivateProfileString(S_GENERAL, K_RUNAS, If(m_EnableAssembly, "1", "0"))
NotifyPropertyChanged("EnableAssembly")
End Set
End Property
#Region "METHODS"
' Controllo di eliminare un bevel dalla lista: 1 se accendo un bevel, 2 se spengo un bevel, -1 tutti i casi che non sono questi
Private Function CheckBevel(VisibilityBevel As Visibility, bValue As Boolean) As Integer
@@ -1958,7 +2016,7 @@ Public Class OptionsVM
End If
Next
' aggiorno la lista
Map.refPartPageVM.CurrPart.NotifyPropertyChanged("DispositionList")
Map.refPartPageVM.CurrPart.NotifyPropertyChanged(NameOf(Part.DispositionList))
' verifico che l'elemento selezionato nella option page non sia stato disattivato
If Not IsNothing(Map.refPartPageVM.CurrPart) Then
If Map.refPartPageVM.CurrPart.DispositionItem.IsActive = Visibility.Collapsed Then Map.refPartPageVM.CurrPart.DispositionItem = Part.m_DispositionList(2)
@@ -2036,8 +2094,26 @@ Public Class OptionsVM
m_HardwarePartVM = New HardwarePartVM
m_HardwarePartV = New HardwarePartV(m_HardwarePartVM)
End If
m_Themes.Add(New ThemeM() With {
.Name = "Default",
.Path = "EgtDOORCreatorDictionary.xaml"
})
m_Themes.Add(New ThemeM() With {
.Name = "Dark",
.Path = "EgtDOORCreatorDarkDictionary.xaml"
})
m_Themes.Add(New ThemeM() With {
.Name = "Summer",
.Path = "EgtDOORCreatorSummerDictonary.xaml"
})
' seleziono elemento in ComboBox
m_SelectedTheme = m_Themes(OptionModule.m_SelectedThema)
' attivo il tema letto sopra
SetThema(OptionModule.m_SelectedThema)
End Sub
#End Region ' Methods
#Region "COMMANDS"
#Region "CloseOptionsCommand"
@@ -2059,8 +2135,8 @@ Public Class OptionsVM
' se eseguo una modifica prima di avere una porta...controllo bene!!
If Not IsNothing(Map.refPartPageVM.CurrPart) Then
Map.refPartPageVM.CurrPart.VisibilityWeight = Part.IsCheckedWeight
Map.refPartPageVM.CurrPart.NotifyPropertyChanged("Weight")
Map.refPartPageVM.CurrPart.NotifyPropertyChanged("VisibilityWeight")
Map.refPartPageVM.CurrPart.NotifyPropertyChanged(NameOf(Map.refPartPageVM.CurrPart.Weight))
Map.refPartPageVM.CurrPart.NotifyPropertyChanged(NameOf(Map.refPartPageVM.CurrPart.VisibilityWeight))
End If
OptionsWindow.Close()
End If
@@ -2167,17 +2243,23 @@ Public Class OptionsVM
#End Region ' COMMANDS
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
Public Class EdgeType
Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
Private m_Name As String
Public Property Name As String
Get
@@ -2195,7 +2277,7 @@ Public Class EdgeType
End Get
Set(value As Visibility)
m_IsActive = value
NotifyPropertyChanged("IsActive")
NotifyPropertyChanged(NameOf(IsActive))
End Set
End Property
@@ -2209,20 +2291,33 @@ Public Class EdgeType
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(sName As String, bIsActive As Visibility)
m_Name = sName
m_IsActive = bIsActive
End Sub
#End Region ' Constructor
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
Public Class SwingItemTypeList
#Region "FIELDS & PROPERTIES"
Private m_Name As String
Public Property Name As String
Get
@@ -2263,7 +2358,14 @@ Public Class SwingItemTypeList
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(sNameSwing As String)
m_Name = sNameSwing
End Sub
#End Region ' Constructor
End Class
+64 -55
View File
@@ -1,21 +1,20 @@
<EgtWPFLib5:EgtCustomWindow x:Class="OrderV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Height="250" Width="350">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Height="250" Width="350">
<Window.Resources>
<EgtDOORCreator:TrueToFalse x:Key="TrueToFalse"/>
</Window.Resources>
<Window.Resources>
<EgtDOORCreator:TrueToFalse x:Key="TrueToFalse"/>
</Window.Resources>
<Grid Margin="2">
<Grid Margin="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.6*"/>
<ColumnDefinition Width="1*"/>
@@ -29,52 +28,62 @@
<RowDefinition Height="1*"/>
<!--<RowDefinition Height="1*"/>-->
</Grid.RowDefinitions>
<TextBox Grid.Column="1" Grid.Row="0" Text="{Binding Customer}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,15,5"
IsReadOnly="{Binding IsReadOnly}"/>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding CustomerMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding Elevation}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,15,5"
IsReadOnly="{Binding IsReadOnly}"/>
<TextBlock Grid.Column="0" Grid.Row="1" Text="{Binding ElevationMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding Project}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,15,5"
IsReadOnly="{Binding IsReadOnly}"/>
<TextBlock Grid.Column="0" Grid.Row="2" Text="{Binding ProjectMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Column="1" Grid.Row="3" Text="{Binding PO}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,15,5"
IsReadOnly="{Binding IsReadOnly}"/>
<TextBlock Grid.Column="0" Grid.Row="3" Text="{Binding POMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Column="1" Grid.Row="4" Text="{Binding Line}"
Style="{StaticResource DoorParamsTxBx}"
Margin="5,0,15,5"
IsReadOnly="{Binding IsReadOnly}"/>
<TextBlock Grid.Column="0" Grid.Row="4" Text="{Binding LineMsg}" VerticalAlignment="Center"
Margin="15,0,0,0"
Style="{StaticResource DoorParamsTxBl}"/>
<TextBox Grid.Row="0"
Grid.Column="1"
Text="{Binding Customer}"
IsReadOnly="{Binding IsReadOnly}"
Style="{StaticResource CustomerTxBx}"/>
<TextBlock Grid.Row="0"
Grid.Column="0"
Text="{Binding CustomerMsg}"
Style="{StaticResource GeometryListConfigTxBl}"/>
<TextBox Grid.Row="1"
Grid.Column="1"
Text="{Binding Elevation}"
IsReadOnly="{Binding IsReadOnly}"
Style="{StaticResource CustomerTxBx}"/>
<TextBlock Grid.Row="1"
Grid.Column="0"
Text="{Binding ElevationMsg}"
Style="{StaticResource GeometryListConfigTxBl}"/>
<TextBox Grid.Row="2"
Grid.Column="1"
Text="{Binding Project}"
IsReadOnly="{Binding IsReadOnly}"
Style="{StaticResource CustomerTxBx}"/>
<TextBlock Grid.Row="2"
Grid.Column="0"
Text="{Binding ProjectMsg}"
Style="{StaticResource GeometryListConfigTxBl}"/>
<TextBox Grid.Row="3"
Grid.Column="1"
Text="{Binding PO}"
IsReadOnly="{Binding IsReadOnly}"
Style="{StaticResource CustomerTxBx}"/>
<TextBlock Grid.Row="3"
Grid.Column="0"
Text="{Binding POMsg}"
Style="{StaticResource GeometryListConfigTxBl}"/>
<TextBox Grid.Row="4"
Grid.Column="1"
Text="{Binding Line}"
IsReadOnly="{Binding IsReadOnly}"
Style="{StaticResource CustomerTxBx}"/>
<TextBlock Grid.Row="4"
Grid.Column="0"
Text="{Binding LineMsg}"
Style="{StaticResource GeometryListConfigTxBl}"/>
<!--<TextBlock Grid.Column="0" Grid.Row="5" Text="{Binding ConfigurationPageMsg}" VerticalAlignment="Center"
Style="{StaticResource DoorParamsTxBl}"/>
<ComboBox Grid.Column="1" Grid.Row="5" Margin="5,0,30,5"
Style="{StaticResource DoorParamsCmBx}"
ItemsSource="{Binding ConfigurationList}"
SelectedItem="{Binding Configuration}"/>-->
<Button Grid.Column="1" Grid.Row="5" Margin="70,2,30,2"
Content="{Binding SaveMsg}"
IsEnabled="{Binding IsReadOnly, Converter={StaticResource TrueToFalse}}"
IsDefault="True"
IsCancel="True"/>
<Button Grid.Row="5"
Grid.Column="1"
Content="{Binding SaveMsg}"
IsEnabled="{Binding IsReadOnly, Converter={StaticResource TrueToFalse}}"
Style="{DynamicResource SaveOrderBtn}"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+10
View File
@@ -1,6 +1,13 @@
Public Class OrderV
#Region "FIELDS & PROPERTIES"
Private m_OrederVM As OrderVM
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(Owner As Window, OrderVM As OrderVM)
MyBase.New(Owner)
' This call is required by the designer.
@@ -9,4 +16,7 @@
Me.DataContext = OrderVM
m_OrderVM = OrderVM
End Sub
#End Region ' Constructor
End Class
+97 -81
View File
@@ -4,7 +4,87 @@ Imports EgtUILib
Public Class OrderVM
Inherits VMBase
#Region "Messages"
#Region "FIELDS & PROPERTIES"
Public ReadOnly Property IsReadOnly As Boolean
Get
Return OptionModule.ReadOnlyDDF
End Get
End Property
Public Property Customer As String
Get
If Not VerifyNotIsNothing() Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.Customer
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.Customer = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
Public Property Elevation As String
Get
If Not VerifyNotIsNothing() Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.Elevation
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.Elevation = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
Public Property Project As String
Get
If Not VerifyNotIsNothing() Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.Project
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.Project = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
Public Property PO As String
Get
If Not VerifyNotIsNothing() Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.PO
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.PO = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
Public Property Line As String
Get
If Not VerifyNotIsNothing() Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.Line
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.Line = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
#End Region ' Fields & Properties
#Region "MESSAGES"
Public ReadOnly Property Title As String
Get
@@ -60,89 +140,25 @@ Public Class OrderVM
#End Region ' Messages
Public ReadOnly Property IsReadOnly As Boolean
Get
Return OptionModule.ReadOnlyDDF
End Get
End Property
Public Property Customer As String
Get
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) AndAlso
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor.Count > 0 Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.Customer
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.Customer = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
Public Property Elevation As String
Get
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) AndAlso
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor.Count > 0 Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.Elevation
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.Elevation = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
Public Property Project As String
Get
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) AndAlso
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor.Count > 0 Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.Project
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.Project = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
Public Property PO As String
Get
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) AndAlso
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor.Count > 0 Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.PO
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.PO = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
Public Property Line As String
Get
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) AndAlso
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor.Count > 0 Then Return Nothing
Return Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0).Door.Line
End Get
Set(value As String)
Dim CurrAssembly As Assembly = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly
For Each ItemPartDoor In CurrAssembly.ListPartDoor
ItemPartDoor.Door.Line = value
Next
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End Set
End Property
#Region "CONSTRUCTOR"
Sub New()
Map.SetRefOrderVM(Me)
End Sub
#End Region ' Constructor
#Region "METHODS"
Private Function VerifyNotIsNothing() As Boolean
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) OrElse
IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly) OrElse
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor.Count < 1 Then
Return False
End If
Return True
End Function
#End Region ' Methods
End Class
+30 -39
View File
@@ -1,19 +1,18 @@
<EgtWPFLib5:EgtCustomWindow x:Class="PrintWndV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:ListLabel25="clr-namespace:combit.ListLabel25.Wpf;assembly=combit.ListLabel25.Wpf"
mc:Ignorable="d"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
TitleBarBrush="{StaticResource EgaltechBlue1}"
BorderBrush="{StaticResource EgaltechBlue1}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="false"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CancelCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" SizeToContent="WidthAndHeight">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:EgtDOORCreator="clr-namespace:EgtDOORCreator"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:ListLabel25="clr-namespace:combit.ListLabel25.Wpf;assembly=combit.ListLabel25.Wpf"
mc:Ignorable="d"
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="false"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
CloseCommand="{Binding CancelCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" SizeToContent="WidthAndHeight">
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
@@ -21,34 +20,26 @@
</Grid.RowDefinitions>
<!--<EgtDOORCreator:PrintSceneHostV Height="600" Width="450"/>-->
<ListLabel25:EnhancedViewerControl Name="enhancedPreviewControl" Height="650" Width="900" />
<ListLabel25:EnhancedViewerControl Name="enhancedPreviewControl" Height="650" Width="900"/>
<UniformGrid Columns="3"
Grid.Row="1"
Margin="115,30,0,10">
<Button VerticalAlignment="Center"
Height="30" Margin="50,0,50,0"
Content="{Binding DesignMsg}"
<UniformGrid Grid.Row="1"
Columns="3"
Margin="115,30,0,10">
<Button Content="{Binding DesignMsg}"
Command="{Binding DesignCommand}"
Visibility="{Binding DesignVisibility}"
ToolTip="{Binding DeisgnToolTip}"
IsDefault="True"
Focusable="False"/>
<Button VerticalAlignment="Center"
Visibility="Collapsed"
Height="30" Margin="50,0,50,0"
Content="{Binding SavePDFMsg}"
Command="{Binding SavePDFCommand}"
ToolTip="{Binding SavePDFToolTip}"
Focusable="False"/>
<Button VerticalAlignment="Center"
Height="30" Margin="50,0,50,0"
Content="{Binding CancelMsg}"
Command="{Binding CancelCommand}"
ToolTip="{Binding CancelToolTip}"
Focusable="False"/>
Visibility="{Binding DesignVisibility}"
Style="{DynamicResource DesignBtn}"/>
<Button Content="{Binding SavePDFMsg}"
Command="{Binding SavePDFCommand}"
ToolTip="{Binding SavePDFToolTip}"
Style="{DynamicResource SavePDFBtn}"/>
<Button Content="{Binding CancelMsg}"
Command="{Binding CancelCommand}"
ToolTip="{Binding CancelToolTip}"
Style="{DynamicResource CancelPDFBtn}"/>
</UniformGrid>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+11 -25
View File
@@ -1,32 +1,13 @@
Imports EgtUILib
Imports combit.ListLabel25
Imports combit.ListLabel25.DataProviders
Imports Microsoft.Win32
Imports System.Collections
Imports System.Collections.Generic
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Globalization
Imports System.IO
Imports System.Linq
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Shapes
Imports System.Xml
Imports System.ComponentModel
Imports System.Collections.ObjectModel
Public Class PrintWndV
Public Class PrintWndV
#Region "FIELDS & PROPERTIES"
Private m_PrintWndVM As PrintWndVM
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(Owner As Window, PrintWndVM As PrintWndVM)
MyBase.New(Owner)
AddHandler Closed, AddressOf PrintWndV_Closed
@@ -40,6 +21,10 @@ Public Class PrintWndV
m_PrintWndVM.Preview()
End Sub
#End Region ' Constructor
#Region "METHODS"
Private Sub PrintWndV_Closed(sender As Object, e As System.EventArgs) Handles Me.Closed
enhancedPreviewControl.FileName = String.Empty
m_PrintWndVM.MyLL.Dispose()
@@ -50,6 +35,7 @@ Public Class PrintWndV
'EgtDeleteContext(Map.refPrintSceneHostV.PrintScene.GetCtx())
End Sub
#End Region ' Methods
End Class
+92 -75
View File
@@ -1,22 +1,53 @@
Imports combit.ListLabel25
Imports combit.ListLabel25.DataProviders
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.IO
Imports System.Windows
Imports EgtUILib
Imports EgtWPFLib5
Imports Ionic.Zip
Imports System.Collections.Generic
Public Class PrintWndVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Shared m_Door As Part
Friend MyLL As ListLabel
Private sPathImage As String
' abilita la selezione delle quote degli hardware
Private m_IsEnableCompoList As Boolean = True
Public ReadOnly Property IsEnableCompoList As Boolean
Get
Return m_IsEnableCompoList
End Get
End Property
' abilita la visualizzazione del bottone Design per definire i report
Private m_DesignVisibility As Visibility = OptionModule.m_VisibilityBtnDesign
Public Property DesignVisibility As Visibility
Get
Return m_DesignVisibility
End Get
Set(value As Visibility)
m_DesignVisibility = value
End Set
End Property
' lista degli hardware presenti nella porta corrente
Private m_CompoList As New ObservableCollection(Of HardwareDimension)
Public Property CompoList As ObservableCollection(Of HardwareDimension)
Get
Return m_CompoList
End Get
Set(value As ObservableCollection(Of HardwareDimension))
m_CompoList = value
End Set
End Property
Private m_cmdDesign As ICommand
Private m_cmdCancel As ICommand
Private m_cmdSavePDF As ICommand
#End Region ' Fields & Properties
#Region "MESSAGES"
Public ReadOnly Property Title As String
@@ -70,35 +101,41 @@ Public Class PrintWndVM
#End Region ' Messages
' abilita la selezione delle quote degli hardware
Private m_IsEnableCompoList As Boolean = True
Public ReadOnly Property IsEnableCompoList As Boolean
Get
Return m_IsEnableCompoList
End Get
End Property
#Region "CONSTRUCTOR"
' abilita la visualizzazione del bottone Design per definire i report
Private m_DesignVisibility As Visibility = OptionModule.m_VisibilityBtnDesign
Public Property DesignVisibility As Visibility
Get
Return m_DesignVisibility
End Get
Set(value As Visibility)
m_DesignVisibility = value
End Set
End Property
Sub New()
MyLL = New ListLabel With {
.LicensingInfo = "4pODHQ"
}
' copio il riferimento della porta corrente
m_Door = Map.refPartPageVM.CurrPart
Dim IndexCompoDoor As Integer = 1
Dim IndexCompoPrint As Integer = 0
' carico la lista di hardware presenti nella porta
Dim LocalHardware As New HardwareDimension
If m_Door.CompoList.Count >= 1 Then
LocalHardware.NameHardware = m_Door.CompoList(0).CompoType.Name
GetPrivateProfileCompoName(ConstCompo.S_LAYER, ConstCompo.K_LAYER_NAME, "", LocalHardware.NameLayer, m_Door.CompoList(0).CompoType.Path & "\" & CONFIGINI_FILE_NAME)
LocalHardware.SetSelectedLayer(True)
End If
CompoList.Add(LocalHardware)
While IndexCompoDoor < m_Door.CompoList.Count
If m_CompoList(IndexCompoPrint).NameHardware <> m_Door.CompoList(IndexCompoDoor).CompoType.Name Then
LocalHardware = New HardwareDimension
LocalHardware.NameHardware = m_Door.CompoList(IndexCompoDoor).CompoType.Name
GetPrivateProfileLayerName(ConstCompo.S_LAYER, ConstCompo.K_LAYER_NAME, LocalHardware.NameLayer, m_Door.CompoList(IndexCompoPrint).CompoType.Path & "\" & CONFIGINI_FILE_NAME)
LocalHardware.SetSelectedLayer(True)
m_CompoList.Add(LocalHardware)
IndexCompoPrint += 1
End If
IndexCompoDoor += 1
End While
NotifyPropertyChanged(NameOf(CompoList))
End Sub
' lista degli hardware presenti nella porta corrente
Private m_CompoList As New ObservableCollection(Of HardwareDimension)
Public Property CompoList As ObservableCollection(Of HardwareDimension)
Get
Return m_CompoList
End Get
Set(value As ObservableCollection(Of HardwareDimension))
m_CompoList = value
End Set
End Property
#End Region ' Constructor
#Region "METHODS"
Shared Function TurnDimensioningLayer(sLayerName As String, bSelect As Boolean) As Boolean
Dim nFirstPart As Integer = EgtGetFirstPart()
@@ -110,10 +147,6 @@ Public Class PrintWndVM
Return True
End Function
Private m_cmdDesign As ICommand
Private m_cmdCancel As ICommand
Private m_cmdSavePDF As ICommand
#Region "Preview"
Public Sub Preview()
@@ -165,9 +198,13 @@ Public Class PrintWndVM
End Try
End Sub
#End Region
#End Region ' Preview
#Region "SAvePDFCommand"
#End Region ' Methods
#Region "COMMANDS"
#Region "SavePDFCommand"
Public ReadOnly Property SavePDFCommand As ICommand
Get
@@ -204,7 +241,6 @@ Public Class PrintWndVM
#End Region ' SAvePDFCommand
#Region "PrintCommand"
Public ReadOnly Property DesignCommand As ICommand
@@ -315,40 +351,15 @@ Public Class PrintWndVM
#End Region ' CancelCommand
Sub New()
MyLL = New ListLabel
MyLL.LicensingInfo = "4pODHQ"
' copio il riferimento della porta corrente
m_Door = Map.refPartPageVM.CurrPart
Dim IndexCompoDoor As Integer = 1
Dim IndexCompoPrint As Integer = 0
' carico la lista di hardware presenti nella porta
Dim LocalHardware As New HardwareDimension
If m_Door.CompoList.Count >= 1 Then
LocalHardware.NameHardware = m_Door.CompoList(0).CompoType.Name
GetPrivateProfileCompoName(ConstCompo.S_LAYER, ConstCompo.K_LAYER_NAME, "", LocalHardware.NameLayer, m_Door.CompoList(0).CompoType.Path & "\" & CONFIGINI_FILE_NAME)
LocalHardware.SetSelectedLayer(True)
End If
CompoList.Add(LocalHardware)
While IndexCompoDoor < m_Door.CompoList.Count
If m_CompoList(IndexCompoPrint).NameHardware <> m_Door.CompoList(IndexCompoDoor).CompoType.Name Then
LocalHardware = New HardwareDimension
LocalHardware.NameHardware = m_Door.CompoList(IndexCompoDoor).CompoType.Name
GetPrivateProfileLayerName(ConstCompo.S_LAYER, ConstCompo.K_LAYER_NAME, LocalHardware.NameLayer, m_Door.CompoList(IndexCompoPrint).CompoType.Path & "\" & CONFIGINI_FILE_NAME)
LocalHardware.SetSelectedLayer(True)
m_CompoList.Add(LocalHardware)
IndexCompoPrint += 1
End If
IndexCompoDoor += 1
End While
NotifyPropertyChanged("CompoList")
End Sub
#End Region ' Commands
End Class
Public Class HardwareDimension
Inherits VMBase
#Region "FIELDS & PROPERTIES"
' il nome del Layer viene letto dal file Config.ini
Private m_NameLayer As String = String.Empty
Public Property NameLayer As String
@@ -368,7 +379,7 @@ Public Class HardwareDimension
End Get
Set(value As String)
m_NameHardware = value
NotifyPropertyChanged("NameHardware")
NotifyPropertyChanged(NameOf(NameHardware))
End Set
End Property
@@ -379,7 +390,7 @@ Public Class HardwareDimension
End Get
Set(value As String)
m_NameHardwareDDF = value
NotifyPropertyChanged("NameHardware")
NotifyPropertyChanged(NameOf(NameHardware))
End Set
End Property
@@ -391,8 +402,8 @@ Public Class HardwareDimension
Set(value As Boolean)
m_IsActive = value
m_HardwareDimension_Visibility = If(m_IsActive, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged("HardwareDimension_Visibility")
NotifyPropertyChanged("IsActive")
NotifyPropertyChanged(NameOf(HardwareDimension_Visibility))
NotifyPropertyChanged(NameOf(IsActive))
End Set
End Property
@@ -415,15 +426,21 @@ Public Class HardwareDimension
WriteMainPrivateProfileString("Dimensions", NameHardware, If(m_SelectedLayer, "1", "0"))
Map.refSceneManagerVM.RefreshBtn()
EgtZoom(ZM.ALL)
NotifyPropertyChanged("SelectedLayer")
NotifyPropertyChanged(NameOf(SelectedLayer))
End Set
End Property
#End Region ' Fields & Properties
#Region "METHODS"
Public Sub SetSelectedLayer(value As Boolean)
m_SelectedLayer = value
PrintWndVM.TurnDimensioningLayer(m_NameLayer, m_SelectedLayer)
WriteMainPrivateProfileString("Dimensions", NameHardware, If(m_SelectedLayer, "1", "0"))
NotifyPropertyChanged("SelectedLayer")
NotifyPropertyChanged(NameOf(SelectedLayer))
End Sub
#End Region ' Methods
End Class
+3 -3
View File
@@ -1,7 +1,7 @@
<WindowsFormsHost x:Class="PrintSceneHostV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtUILib="clr-namespace:EgtUILib;assembly=EgtUILib">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtUILib="clr-namespace:EgtUILib;assembly=EgtUILib">
<EgtUILib:Scene x:Name="PrintScene"/>
+22 -10
View File
@@ -4,6 +4,8 @@ Imports System.IO
Public Class PrintSceneHostV
#Region "FIELDS & PROPERTIES"
Private m_SelFromScene As Boolean = False
Friend ReadOnly Property SelFromScene As Boolean
Get
@@ -11,16 +13,9 @@ Public Class PrintSceneHostV
End Get
End Property
Public Sub RefreshPrint()
Dim FileNameNge = Path.GetFileNameWithoutExtension(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name)
' Path.ChangeExtension("Test3", ".nge")
EgtOpenFile(IniFile.m_sTempDir & "\" & FileNameNge & ".nge" )
' mantengo i layer accesi
For Each Compo In Map.refDimensioningPanelVM.HardwareDimensionList
PrintWndVM.TurnDimensioningLayer(Compo.NameLayer, Compo.SelectedLayer)
Next
EgtZoom(ZM.ALL)
End Sub
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
' This call is required by the designer.
@@ -37,6 +32,21 @@ Public Class PrintSceneHostV
RefreshPrint()
End Sub
#End Region ' Constructor
#Region "METHODS"
Public Sub RefreshPrint()
Dim FileNameNge = Path.GetFileNameWithoutExtension(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name)
' Path.ChangeExtension("Test3", ".nge")
EgtOpenFile(IniFile.m_sTempDir & "\" & FileNameNge & ".nge")
' mantengo i layer accesi
For Each Compo In Map.refDimensioningPanelVM.HardwareDimensionList
PrintWndVM.TurnDimensioningLayer(Compo.NameLayer, Compo.SelectedLayer)
Next
EgtZoom(ZM.ALL)
End Sub
Private Sub PreInitializeScene()
' imposto colore di default
Dim DefColor As New Color3d(0, 0, 0)
@@ -103,4 +113,6 @@ Public Class PrintSceneHostV
'EgtSetGridShow(bShowGrid, False)
End Sub
#End Region ' Methods
End Class
+30 -24
View File
@@ -1,13 +1,13 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MySaveFileDialogV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
Height="160" Width="300" Topmost="True"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
Height="160" Width="300" Topmost="True"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<!--<EgtWPFLib5:EgtCustomWindow.Resources>
<EgtWPFLib5:FileNameConverter x:Key="FileNameConverter"/>
@@ -24,21 +24,27 @@
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBox Margin="5" Height="24" x:Name="FilePath" Grid.ColumnSpan="2"
Text="{Binding WriteFileName, UpdateSourceTrigger=PropertyChanged}"
VerticalAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Margin="5" Height="24" Grid.Column="1" Grid.Row="1"
Text="{Binding IsFrameMsg}"
VerticalAlignment="Center"/>
<CheckBox Grid.Column="0" Grid.Row="1"
VerticalAlignment="Center" Margin="5,0,0,5"
IsChecked="{Binding IsFrame}"/>
<UniformGrid Columns="2" Grid.Row="2" Grid.ColumnSpan="2" Margin="0,0,0,5">
<Button IsDefault="True" Name="SaveBtn"
Content="{Binding SaveMsg}" Style="{DynamicResource EgtWPFLib5_InputButton}"/>
<Button IsCancel="True"
Content="{Binding CancelMsg}" Style="{DynamicResource EgtWPFLib5_InputButton}"/>
<TextBox x:Name="FilePath"
Grid.ColumnSpan="2"
Text="{Binding WriteFileName, UpdateSourceTrigger=PropertyChanged}"
Style="{DynamicResource FilePathTxBx}"/>
<TextBlock Grid.Row="1"
Grid.Column="1"
Text="{Binding IsFrameMsg}"
Style="{DynamicResource IsFrameTxBl}"/>
<CheckBox Grid.Row="1"
Grid.Column="0"
IsChecked="{Binding IsFrame}"
Style="{DynamicResource IsFrameChBx}"/>
<UniformGrid Grid.Row="2"
Columns="2"
Grid.ColumnSpan="2"
Margin="0,0,0,5">
<Button Name="SaveBtn"
Content="{Binding SaveMsg}"
Style="{DynamicResource EgtWPFLib5_SaveButton}"/>
<Button Content="{Binding CancelMsg}"
Style="{DynamicResource EgtWPFLib5_CancelButton}"/>
</UniformGrid>
</Grid>
+9 -1
View File
@@ -1,8 +1,12 @@
Public Class MySaveFileDialogV
'Implements INotifyPropertyChanged
#Region "FIELDS & PROPERTIES"
Private m_SaveFileDialogVM As MySaveFileDialogVM
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(Owner As Window, SaveFileDialogVM As MySaveFileDialogVM)
@@ -14,7 +18,9 @@
m_SaveFileDialogVM = SaveFileDialogVM
End Sub
#End Region ' CONSTRUCTOR
#End Region ' Constructor
#Region "METHODS"
Private Sub SaveBtn_Click(sender As Object, e As RoutedEventArgs) Handles SaveBtn.Click
If m_SaveFileDialogVM.MySave() Then
@@ -31,4 +37,6 @@
Return MyBase.ShowDialog()
End Function
#End Region ' Methods
End Class
+26 -12
View File
@@ -1,17 +1,10 @@
Imports System.ComponentModel
Imports System.Collections.ObjectModel
Imports System.IO
Imports System.IO
Imports EgtUILib
Public Class MySaveFileDialogVM
Inherits EgtWPFLib5.SaveFileDialogVM
Public ReadOnly Property IsFrameMsg As String
Get
' 50727=Frame
Return EgtMsg(50727)
End Get
End Property
#Region "FIELDS & PROPERTIES"
Public ReadOnly Property VisibilityCreateFrameDir As Visibility
Get
@@ -33,6 +26,29 @@ Public Class MySaveFileDialogVM
End Set
End Property
#Region "Messages"
Public ReadOnly Property IsFrameMsg As String
Get
' 50727=Frame
Return EgtMsg(50727)
End Get
End Property
#End Region ' Messages
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Public Sub New()
MyBase.New()
End Sub
#End Region ' Constructor
#Region "METHODS"
Friend Function MySave() As Boolean
If IsFolder And IsFrame Then
WriteFileName &= FRAME_FOLDER
@@ -59,8 +75,6 @@ Public Class MySaveFileDialogVM
Return True
End Function
Public Sub New()
MyBase.New()
End Sub
#End Region ' Methods
End Class
+21 -14
View File
@@ -1,11 +1,12 @@
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.IO
Imports EgtWPFLib5
Public Class Project
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private m_Name As String
Public Property Name As String
Get
@@ -13,7 +14,7 @@ Public Class Project
End Get
Set(value As String)
m_Name = value
NotifyPropertyChanged("Name")
NotifyPropertyChanged(NameOf(Name))
End Set
End Property
@@ -33,37 +34,43 @@ Public Class Project
Return m_SelAssemblyName
End Get
Set(value As AssemblyName)
If IsNothing(value) then
If IsNothing(value) Then
m_SelAssemblyName = value
Return
End If
m_SelAssemblyName = value
m_SelAssemblyName = value
Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
NotifyPropertyChanged("Name")
NotifyPropertyChanged("SelAssemblyName")
NotifyPropertyChanged(NameOf(Name))
NotifyPropertyChanged(NameOf(SelAssemblyName))
End Set
End Property
#End Region ' Fields & Properties
#Region "METHODS"
Friend Function IsBlockedSelAssemblyName(value As AssemblyName) As Boolean
If IsNothing(value) then Return false
If Not File.Exists(value.Name) AndAlso Not IsNothing(Map.refAssemblyManagerVM) AndAlso Not IsNothing(Map.refAssemblyManagerVM.CurrProject) then
If IsNothing(value) Then Return False
If Not File.Exists(value.Name) AndAlso Not IsNothing(Map.refAssemblyManagerVM) AndAlso Not IsNothing(Map.refAssemblyManagerVM.CurrProject) Then
Map.refAssemblyManagerVM.RefreshAssembly()
Return False
End If
If value.Name = m_SelAssemblyName.Name then
If value.Name = m_SelAssemblyName.Name Then
Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
Return false
Return False
End If
If Not Utility.IsFileLocked(Path.GetDirectoryName(value.Name), value.GraphicName) then
If Not Utility.IsFileLocked(Path.GetDirectoryName(value.Name), value.GraphicName) Then
m_SelAssemblyName = value
Utility.OutLog("Chiudo progetto : " & m_SelAssemblyName.Name)
Utility.UnLockDir()
'Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
Utility.LockDir(Path.GetDirectoryName(m_SelAssemblyName.Name),m_SelAssemblyName.GraphicName)
Return false
Utility.LockDir(Path.GetDirectoryName(m_SelAssemblyName.Name), m_SelAssemblyName.GraphicName)
Return False
End If
Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
Return true
Return True
End Function
#End Region ' Methods
End Class
+80 -36
View File
@@ -1,76 +1,120 @@
<UserControl x:Class="ProjectManagerHardwareV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Orientation="Horizontal" IsEnabled="{Binding EnableProjectManagerHardware}" Height="32">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Orientation="Horizontal"
IsEnabled="{Binding EnableProjectManagerHardware}"
Height="32">
<!--Barra superiore dei comandi-->
<!--nuovo brand-->
<Button Command="{Binding NewDirCommand}" ToolTip="{Binding NewDirToolTip}" Focusable="False">
<Image Source="/Resources/TopCommandBar/NewDir.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding NewDirCommand}"
ToolTip="{Binding NewDirToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource NewFolder}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--nuovo template-->
<Button Command="{Binding NewCommand}" ToolTip="{Binding NewToolTip}" Focusable="False">
<Image Source="/Resources/TopCommandBar/NewFile.png" Stretch="Uniform"/>
<Button Command="{Binding NewCommand}"
ToolTip="{Binding NewToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource NewFile}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--salva-->
<Button Command="{Binding SaveCommand}" ToolTip="{Binding SaveToolTip}" Focusable="False">
<!--<Image Source="{Binding IsModifiedImage}" Stretch="Uniform"/>-->
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
</Button>
<!--duplica-->
<Button Command="{Binding DuplicaCommand}" ToolTip="{Binding DuplicaToolTip}" Focusable="False">
<Button Command="{Binding SaveCommand}"
ToolTip="{Binding SaveToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<!--<Image Source="{Binding IsModifiedImage}" Stretch="Uniform"/>-->
<ContentControl>
<Image Source="/Resources/TopCommandBar/DuplicaFile.png" Stretch="Uniform" />
<Image Source="{DynamicResource Save}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--duplica-->
<Button Command="{Binding DuplicaCommand}"
ToolTip="{Binding DuplicaToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource CopyFile}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--elimina-->
<Button Command="{Binding DeleteCommand}" ToolTip="{Binding DeleteToolTip}" Focusable="False"
Visibility="{Binding DisableDeleteCommandHM}">
<Button Command="{Binding DeleteCommand}"
ToolTip="{Binding DeleteToolTip}"
Focusable="False"
Visibility="{Binding DisableDeleteCommandHM}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="/Resources/TopCommandBar/Delete.png" Stretch="Uniform" />
<Image Source="{DynamicResource DeleteFile}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--Aaggiorna-->
<Button Command="{Binding RefreshDirCommand}" ToolTip="{Binding RefreshDirToolTip}" Focusable="False">
<Image Source="/Resources/Refresh/RefreshDir.png" Stretch="Uniform"/>
<Button Command="{Binding RefreshDirCommand}"
ToolTip="{Binding RefreshDirToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource Refresh}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--go back door--><!--
<!--go back door-->
<!--
<Button Command="{Binding DoorCommand}" ToolTip="{Binding DoorToolTip}" Focusable="False">
<ContentControl>
<Image Source="/Resources/TopCommandBar/Door.png" Stretch="Uniform" />
</ContentControl>
</Button>-->
<!--<Button Command="{Binding DimensionCommand}" ToolTip="{Binding DimensionToolTip}" Focusable="False">
<ContentControl>
<Image Source="/Resources/TopCommandBar/HPart.png" Stretch="Uniform" Width="25" Height="17" RenderTransformOrigin="0.497,0.509" />
</ContentControl>
</Button>-->
<!--Opzioni-->
<Button Command="{Binding OptionsCommand}" ToolTip="{Binding OptionsToolTip}" Focusable="False"
Width="{Binding RelativeSource={RelativeSource Self}, Path=ActualHeight}">
<Image Source="/Resources/TopCommandBar/Options.png" Height="22" />
<Button Command="{Binding OptionsCommand}"
ToolTip="{Binding OptionsToolTip}"
Focusable="False"
Width="{Binding RelativeSource={RelativeSource Self}, Path=ActualHeight}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource Option}" Height="22" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--feed back-->
<Button Command="{Binding SendFeedbackCommand}" ToolTip="{Binding SendFeedbackToolTip}" Focusable="False">
<Image Source="/Resources/TopCommandBar/Send.png" Height="22" Margin="3,0,3,0" />
<Button Command="{Binding SendFeedbackCommand}"
ToolTip="{Binding SendFeedbackToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource FeedBack}" Height="22" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--help-->
<Button Command="{Binding GuideCommand}" ToolTip="{Binding GuideToolTip}" Focusable="False">
<ContentControl>
<Image Source="/Resources/TopCommandBar/Help.png" Stretch="Uniform" />
</ContentControl>
<Button Command="{Binding GuideCommand}"
ToolTip="{Binding GuideToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource Help}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--Door-->
<RadioButton Style="{StaticResource ModeButton}"
Command="{Binding DoorCommand}" ToolTip="{Binding DoorToolTip}"
Content="{Binding DoorToolTip}">
<RadioButton Command="{Binding DoorCommand}"
Content="{Binding DoorToolTip}"
ToolTip="{Binding DoorToolTip}"
Style="{DynamicResource ModeButton}">
</RadioButton>
<!--Hardware-->
<RadioButton Style="{StaticResource ModeButton}"
<RadioButton Content="{Binding HardwareToolTip}"
ToolTip="{Binding HardwareToolTip}"
IsChecked="{Binding HardwareIsChecked}"
Content="{Binding HardwareToolTip}">
Style="{DynamicResource ModeButton}">
</RadioButton>
</StackPanel>
</UserControl>
+51 -47
View File
@@ -1,9 +1,7 @@
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.ComponentModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports Ionic.zip
Public Class ProjectManagerHardwareVM
Implements INotifyPropertyChanged
@@ -37,7 +35,7 @@ Public Class ProjectManagerHardwareVM
End Get
Set(value As String)
m_IsModifiedImage = value
NotifyPropertyChanged("IsModifiedImage")
NotifyPropertyChanged(NameOf(IsModifiedImage))
End Set
End Property
@@ -61,6 +59,17 @@ Public Class ProjectManagerHardwareVM
End Get
End Property
Private m_HardwareIsChecked As Boolean = True
Public Property HardwareIsChecked As Boolean
Get
Return m_HardwareIsChecked
End Get
Set(value As Boolean)
m_HardwareIsChecked = value
NotifyPropertyChanged(NameOf(HardwareIsChecked))
End Set
End Property
' Definizione comandi
Private m_cmdNewDir As ICommand
Private m_cmdRefreshDir As ICommand
@@ -291,11 +300,12 @@ Public Class ProjectManagerHardwareVM
End Property
Public Sub Options(ByVal param As Object)
Dim OptionsWindow As New OptionsV
OptionsWindow.Height = 750
OptionsWindow.Width = 650
OptionsWindow.DataContext = New OptionsVM()
OptionsWindow.Owner = Application.Current.MainWindow
Dim OptionsWindow As New OptionsV With {
.Height = 750,
.Width = 650,
.DataContext = New OptionsVM(),
.Owner = Application.Current.MainWindow
}
OptionsWindow.ShowDialog()
End Sub
@@ -410,7 +420,8 @@ Public Class ProjectManagerHardwareVM
#End Region ' SendFeedbackCommand
#Region "Guide"
#Region "GuideCommand"
Public ReadOnly Property GuideCommand As ICommand
Get
If m_cmdGuide Is Nothing Then
@@ -425,9 +436,9 @@ Public Class ProjectManagerHardwareVM
GuideWindow.Show()
End Sub
#End Region ' Guide
#End Region ' GuideCommand
#Region "Duplica"
#Region "DuplicaCommand"
Public ReadOnly Property DuplicaCommand As ICommand
Get
@@ -468,8 +479,8 @@ Public Class ProjectManagerHardwareVM
Map.refHardwarePageVM.CurrHardware.ReadChapterTemplate()
Map.refHardwarePageVM.CurrHardware.ReadTemplate()
Map.refHardwarePageVM.CurrHardware.SetLayerName(refNewhardwareVM.Template)
Map.refHardwarePageVM.CurrHardware.NotifyPropertyChanged("SelTemplate")
Map.refHardwarePageVM.NotifyPropertyChanged("CurrHardware")
Map.refHardwarePageVM.CurrHardware.NotifyPropertyChanged(NameOf(Map.refHardwarePageVM.CurrHardware.SelTemplate))
Map.refHardwarePageVM.NotifyPropertyChanged(NameOf(Map.refHardwarePageVM.CurrHardware))
Map.refHardwarePageVM.CurrHardware.DuplicateGeometryName(OldHardwareName)
Map.refHardwarePageVM.CurrHardware.DuplicateFileLuaInAggreagate(OldHardwareName)
Map.refHardwarePageVM.CurrHardware.Save()
@@ -481,9 +492,9 @@ Public Class ProjectManagerHardwareVM
End Sub
#End Region ' Duplica
#End Region ' DuplicaCommand
#Region "Delete"
#Region "DeleteCommand"
Public ReadOnly Property DeleteCommand As ICommand
Get
@@ -514,9 +525,9 @@ Public Class ProjectManagerHardwareVM
End If
End Sub
#End Region ' Delete
#End Region ' DeleteCommand
#Region "Door"
#Region "DoorCommand"
Public ReadOnly Property DoorCommand As ICommand
Get
@@ -577,50 +588,43 @@ Public Class ProjectManagerHardwareVM
End If
Map.refInstrumentPanelVM.DimensionVisibility = OptionModule.m_DimensionDoor
Map.refInstrumentPanelVM.SaveImgHardware = OptionModule.m_DimensionDoor
Map.refProjectManagerVM.NotifyPropertyChanged("VisibilityCreateAssembly")
Map.refProjectManagerVM.NotifyPropertyChanged(NameOf(Map.refProjectManagerVM.VisibilityCreateAssembly))
Map.refRefreshPanelVM.DimensionVisibility = Visibility.Collapsed
CompoMatch.ResetSTU()
End Sub
Private m_HardwareIsChecked As Boolean =True
Public Property HardwareIsChecked As Boolean
Get
Return m_HardwareIsChecked
End Get
Set(value As Boolean)
m_HardwareIsChecked = value
NotifyPropertyChanged("HardwareIsChecked")
End Set
End Property
#End Region ' DoorCommand
#End Region ' LastProject
'#Region "Dimension Part"
'#Region "Dimension Part"
' Public ReadOnly Property DimensionCommand As ICommand
' Get
' If m_cmdDimensionPart Is Nothing Then
' m_cmdDimensionPart = New Command(AddressOf Dimension)
' End If
' Return m_cmdDimensionPart
' End Get
' End Property
' Public ReadOnly Property DimensionCommand As ICommand
' Get
' If m_cmdDimensionPart Is Nothing Then
' m_cmdDimensionPart = New Command(AddressOf Dimension)
' End If
' Return m_cmdDimensionPart
' End Get
' End Property
' Public Sub Dimension()
' Dim ref_HardwarePartVM As New HardwarePartVM()
' Dim HardwarePartWnd As New HardwarePartV(Application.Current.MainWindow, ref_HardwarePartVM)
' HardwarePartWnd.ShowDialog()
' ref_GeometryListConfigVM = Nothing
' End Sub
' Public Sub Dimension()
' Dim ref_HardwarePartVM As New HardwarePartVM()
' Dim HardwarePartWnd As New HardwarePartV(Application.Current.MainWindow, ref_HardwarePartVM)
' HardwarePartWnd.ShowDialog()
' ref_GeometryListConfigVM = Nothing
' End Sub
'#End Region ' Dimension Part
'#End Region ' Dimension Part
#End Region ' Commands
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
+124 -63
View File
@@ -1,23 +1,35 @@
<UserControl x:Class="ProjectManagerV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Orientation="Horizontal" IsEnabled="{Binding EnableProjectManager}" Height="32">
<StackPanel Orientation="Horizontal" IsEnabled="{Binding EnableProjectManager}" Height="32">
<!--Barra superiore dei comandi-->
<Button Command="{Binding NewCommand}" ToolTip="{Binding NewToolTip}" Focusable="False"
IsEnabled="{Binding EnableModifyDDF}">
<Image Source="{Binding NewProjectImg}" Stretch="Uniform"/>
<Button Command="{Binding NewCommand}"
ToolTip="{Binding NewToolTip}"
Focusable="False"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource NewFile}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--Visibility="{Binding VisibilityDeleteDDF}"-->
<Button Command="{Binding DeleteCommand}" ToolTip="{Binding DeleteToolTip}" Focusable="False"
IsEnabled="{Binding EnableModifyDDF}">
<Image Source="{Binding DeleteProjectImg}" Stretch="Uniform"/>
<Button Command="{Binding DeleteCommand}"
ToolTip="{Binding DeleteToolTip}"
Focusable="False"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource DeleteFile}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding OpenCommand}" ToolTip="{Binding OpenToolTip}"
<Button Command="{Binding OpenCommand}"
ToolTip="{Binding OpenToolTip}"
Focusable="False"
ContextMenuService.Placement="Bottom"
Tag="{Binding}">
Tag="{Binding}"
Style="{DynamicResource DoorsBtn}">
<Button.ContextMenu>
<ContextMenu ItemsSource="{Binding MruFileNames}">
<ContextMenu.Resources>
@@ -26,49 +38,78 @@
Value="{Binding PlacementTarget.Tag.OpenMruFileCommand,
RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType=ContextMenu}}"/>
<Setter Property="CommandParameter" Value="{Binding}" />
<Setter Property="CommandParameter" Value="{Binding}"/>
</Style>
</ContextMenu.Resources>
</ContextMenu>
</Button.ContextMenu>
<Image Source="/Resources/TopCommandBar/Open.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding ReloadCommand}" ToolTip="{Binding ReloadToolTip}" Focusable="False"
IsEnabled="{Binding EnableModifyDDF}">
<Image Source="/Resources/Refresh/RefreshDir.png" Stretch="Uniform"/>
</Button>
<Button Command="{Binding SaveCommand}" ToolTip="{Binding SaveToolTip}" Focusable="False"
IsEnabled="{Binding EnableModifyDDF}">
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
<!--<Image Source="{Binding IsModifiedImage}" Stretch="Uniform"/>-->
</Button>
<Button Command="{Binding DuplicaCommand}" ToolTip="{Binding DuplicaToolTip}" Focusable="False"
IsEnabled="{Binding EnableModifyDDF}">
<ContentControl>
<Image Source="/Resources/TopCommandBar/SaveAs.png" Stretch="Uniform" />
<Image Source="{DynamicResource OpenFolder}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding CreateTemplateCommand}" ToolTip="{Binding TemplateDoorToolTip}" Focusable="False"
Visibility="{Binding VisibilityTemplate}" IsEnabled="{Binding EnableModifyDDF}">
<Button Command="{Binding ReloadCommand}"
ToolTip="{Binding ReloadToolTip}"
Focusable="False"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="/Resources/TopCommandBar/SaveAsTemplate.png" Stretch="Uniform" />
<Image Source="{DynamicResource Refresh}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding CopyCommand}" ToolTip="{Binding CopyToolTip}" Focusable="False"
IsEnabled="{Binding EnableModifyDDF}">
<Button Command="{Binding SaveCommand}"
ToolTip="{Binding SaveToolTip}"
Focusable="False"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="/Resources/TopCommandBar/Export.png" Stretch="Uniform" />
<Image Source="{DynamicResource Save}" Stretch="Uniform"/>
</ContentControl>
<!--<Image Source="{Binding IsModifiedImage}" Stretch="Uniform"/>-->
</Button>
<Button Command="{Binding DuplicaCommand}"
ToolTip="{Binding DuplicaToolTip}"
Focusable="False"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource SaveAs}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding OpenCamCommand}" ToolTip="{Binding OpenCamToolTip}" Focusable="False"
Visibility="{Binding VisibilityEgtCAM}" IsEnabled="{Binding EnableModifyDDF}">
<ContentControl>
<Image Source="/Resources/EgtCAM5.png" Stretch="Uniform" />
</ContentControl>
</Button>
<Button Command="{Binding PrintCommand}" ToolTip="{Binding PrintToolTip}" Focusable="False">
<Button Command="{Binding CreateTemplateCommand}"
ToolTip="{Binding TemplateDoorToolTip}"
Focusable="False"
Visibility="{Binding VisibilityTemplate}"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="/Resources/InstrumentPanel/Print.png" Stretch="Uniform" />
<Image Source="{DynamicResource SaveAsTemplate}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding CopyCommand}"
ToolTip="{Binding CopyToolTip}"
Focusable="False"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource ExportToMachine}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding OpenCamCommand}"
ToolTip="{Binding OpenCamToolTip}"
Focusable="False"
Visibility="{Binding VisibilityEgtCAM}"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="/Resources/EgtCAM5.png" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding PrintCommand}"
ToolTip="{Binding PrintToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource Print}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--<Button Command="{Binding RefreshDirCommand}" ToolTip="{Binding RefreshDirToolTip}" Focusable="False">
@@ -81,37 +122,57 @@
<Image Source="/Resources/InstrumentPanel/Hardware.png" Stretch="Uniform" />
</ContentControl>
</Button>-->
<Button Command="{Binding CreateAssemblyCommand}" ToolTip="{Binding CreateAssemblyToolTip}" Focusable="False"
Visibility="{Binding VisibilityCreateAssembly}" IsEnabled="{Binding EnableModifyDDF}">
<ContentControl>
<Image Source="/Resources/TopCommandBar/Create Assembly.png" Stretch="Uniform" />
</ContentControl>
<Button Command="{Binding CreateAssemblyCommand}"
ToolTip="{Binding CreateAssemblyToolTip}"
Focusable="False"
Visibility="{Binding VisibilityCreateAssembly}"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource CreateAssembly}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding OptionsCommand}" ToolTip="{Binding OptionsToolTip}" Focusable="False"
Width="{Binding RelativeSource={RelativeSource Self}, Path=ActualHeight}" IsEnabled="{Binding EnableModifyDDF}">
<Image Source="/Resources/TopCommandBar/Options.png" Height="22" />
<Button Command="{Binding OptionsCommand}"
ToolTip="{Binding OptionsToolTip}"
Focusable="False"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource Option}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding SendFeedbackCommand}" ToolTip="{Binding SendFeedbackToolTip}" Focusable="False"
IsEnabled="{Binding EnableModifyDDF}">
<Image Source="/Resources/TopCommandBar/Send.png" Height="22" Margin="3,0,3,0" />
<Button Command="{Binding SendFeedbackCommand}"
ToolTip="{Binding SendFeedbackToolTip}"
Focusable="False"
IsEnabled="{Binding EnableModifyDDF}"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource FeedBack}" Stretch="Uniform"/>
</ContentControl>
</Button>
<Button Command="{Binding GuideCommand}" ToolTip="{Binding GuideToolTip}" Focusable="False">
<ContentControl>
<Image Source="/Resources/TopCommandBar/Help.png" Stretch="Uniform" />
</ContentControl>
<Button Command="{Binding GuideCommand}"
ToolTip="{Binding GuideToolTip}"
Focusable="False"
Style="{DynamicResource DoorsBtn}">
<ContentControl>
<Image Source="{DynamicResource Help}" Stretch="Uniform"/>
</ContentControl>
</Button>
<!--Door-->
<RadioButton Style="{StaticResource ModeButton}" Visibility="{Binding DisableHM}"
ToolTip="{Binding DoorToolTip}"
<RadioButton Content="{Binding DoorToolTip}"
IsChecked="{Binding DoorIsChecked}"
Content="{Binding DoorToolTip}"
IsEnabled="{Binding EnableModifyDDF}">
ToolTip="{Binding DoorToolTip}"
IsEnabled="{Binding EnableModifyDDF}"
Visibility="{Binding DisableHM}"
Style="{DynamicResource ModeButton}">
</RadioButton>
<!--Hardware-->
<RadioButton Style="{StaticResource ModeButton}" Visibility="{Binding DisableHM}"
Command="{Binding HardwareCommand}" ToolTip="{Binding HardwareToolTip}"
Content="{Binding HardwareToolTip}"
IsEnabled="{Binding EnableModifyDDF}">
<RadioButton Content="{Binding HardwareToolTip}"
Command="{Binding HardwareCommand}"
ToolTip="{Binding HardwareToolTip}"
IsEnabled="{Binding EnableModifyDDF}"
Visibility="{Binding DisableHM}"
Style="{DynamicResource ModeButton}">
</RadioButton>
</StackPanel>
</UserControl>
+146 -78
View File
@@ -1,12 +1,8 @@
Imports combit.ListLabel25
Imports combit.ListLabel25.DataProviders
Imports System.Collections.ObjectModel
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports Ionic.zip
Public Class ProjectManagerVM
Implements INotifyPropertyChanged
@@ -79,7 +75,8 @@ Public Class ProjectManagerVM
End Get
End Property
Private m_IsModifiedImage As String = "/Resources/TopCommandBar/Save.png"
'Private m_IsModifiedImage As String = "/Resources/TopCommandBar/Save.png"
Private m_IsModifiedImage As String = "/Resources/TopCommandBar/NewIco/save.png"
Public Property IsModifiedImage As String
Get
Return m_IsModifiedImage
@@ -90,7 +87,8 @@ Public Class ProjectManagerVM
End Set
End Property
Private m_DeleteProjectImg As String = "/Resources/TopCommandBar/Delete.png"
'Private m_DeleteProjectImg As String = "/Resources/TopCommandBar/Delete.png"
Private m_DeleteProjectImg As String = "/Resources/NewIco/deletefile.png"
Public ReadOnly Property DeleteProjectImg As String
Get
If Not OptionModule.m_SingleDoor Then
@@ -100,7 +98,8 @@ Public Class ProjectManagerVM
End Get
End Property
Private m_NewProjectImg As String = "/Resources/TopCommandBar/NewFile.png"
' Private m_NewProjectImg As String = "/Resources/TopCommandBar/NewFile.png"
Private m_NewProjectImg As String = "/Resources/NewIco/newfile.png"
Public ReadOnly Property NewProjectImg As String
Get
If Not OptionModule.m_SingleDoor Then
@@ -285,6 +284,62 @@ Public Class ProjectManagerVM
#End Region ' Constructor
#Region "METHODS"
'questo metodo restituisce l'errore letto nel file CurrDoor.txt
Public Sub ShowGraphicError(ByRef ErrorMessages As String, ByRef Type As Integer)
' se non c'è nessuna porta aperta allora esco
If IsNothing(Map.refAssemblyManagerVM.CurrProject) OrElse
IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
Return
End If
Dim FileLog As String = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name
FileLog = FileLog.Replace(DDF_EXTENSION, ".txt")
Dim FileContent() As String
' controllo se esite il file CurrDoor.txt
If Not File.Exists(FileLog) Then Return
FileContent = File.ReadAllLines(FileLog)
' se il file esiste ma è vuoto
If FileContent.Count = 0 Then
MessageBox.Show(EgtMsg(50107), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
End If
Dim IndexLine As Integer = 0
Dim nMsgErr As Integer = 0
' leggo il valore numerico (se il valore non è numerico è passato di default il valore 0)
nMsgErr = RegexFunction.ErrDraw(FileContent(IndexLine))
Type = nMsgErr
' passo alla riga succesiva
IndexLine += 1
' se il valore è maggiore di zero allora è un errore
If nMsgErr > 0 Then
' salto tutte le righe vuote
While String.IsNullOrEmpty(FileContent(IndexLine)) AndAlso IndexLine < FileContent.Count
IndexLine += 1
End While
ErrorMessages = FileContent(IndexLine)
IndexLine += 1
While IndexLine < FileContent.Count
ErrorMessages &= vbNewLine & FileContent(IndexLine)
IndexLine += 1
End While
' altrimenti un avvertimento
ElseIf nMsgErr < 0 Then
While String.IsNullOrEmpty(FileContent(IndexLine)) AndAlso IndexLine < FileContent.Count
IndexLine += 1
End While
ErrorMessages = FileContent(IndexLine)
IndexLine += 1
While IndexLine < FileContent.Count
ErrorMessages &= vbNewLine & FileContent(IndexLine)
IndexLine += 1
End While
Else
ErrorMessages = String.Empty
End If
End Sub
#End Region ' Methods
#Region "COMMANDS"
#Region "NewCommand"
@@ -411,10 +466,10 @@ Public Class ProjectManagerVM
Map.refAssemblyManagerVM.VisibilityDoorList = Visibility.Visible
Return
End If
'-------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------
'Prima di tutto chiedo se vuole aprire un template
Dim sImportTemplate As String = Map.refAssemblyManagerVM.ShowDialogImportTemplate
'Prima di tutto chiedo se vuole aprire un template
Dim sImportTemplate As String = Map.refAssemblyManagerVM.ShowDialogImportTemplate
' dichiaro la finestra di dialogo
Dim saveFileDialog1 As New System.Windows.Forms.SaveFileDialog()
@@ -476,6 +531,7 @@ Public Class ProjectManagerVM
' creo un nuovo assemblato
Dim Local_AssemblyName As New AssemblyName
Local_AssemblyName.Name = FilePathComplete
Local_AssemblyName.OrigTemplate = sImportTemplate
Local_AssemblyName.GraphicName = Path.GetFileNameWithoutExtension(FilePathComplete)
m_CurrProject.AssemblyList.Add(Local_AssemblyName)
' Seleziono AssembyName creato
@@ -487,13 +543,17 @@ Public Class ProjectManagerVM
End If
' tolgo la visualizzazione della lista dei nomi
Map.refAssemblyManagerVM.CurrProject = CurrProject
Map.refAssemblyManagerVM.ImportTemplate(sImportTemplate)
Dim bImportedTemplate As Boolean = Map.refAssemblyManagerVM.ImportTemplate(sImportTemplate)
' Creo nuovo assembly
Map.refAssemblyManagerVM.NewCmd(Local_AssemblyName)
Utility.OutLog("Creazione nuovo progetto : " & saveFileDialog1.FileName)
Utility.LockDir(Path.GetDirectoryName(saveFileDialog1.FileName), Path.GetFileNameWithoutExtension(saveFileDialog1.FileName))
Map.refAssemblyManagerVM.VisibilityDoorList = Visibility.Collapsed
CurrProject.NotifyPropertyChanged("Name")
' Se l'importazione del template è andata a buon fine allora salvo
If bImportedTemplate Then
Save()
End If
End If
End Sub
@@ -682,8 +742,8 @@ Public Class ProjectManagerVM
fd.InitialDirectory = IniFile.m_MyProjectDir
End If
' seleziono il filtro di apertura
fd.Filter = "(*.ddt) |*.ddt|(*.ddf) |*.ddf"
fd.FilterIndex = 2
fd.Filter = "(*.ddf) |*.ddf|(*.ddt) |*.ddt"
fd.FilterIndex = GetCurrentFilter()
fd.RestoreDirectory = True
' apro la finestra di dialogo
If fd.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then
@@ -698,6 +758,8 @@ Public Class ProjectManagerVM
sFilePath = Path.GetDirectoryName(fd.FileName)
' salvo il nome completo del file
sFilePathComplete = fd.FileName
' salvo l'estensione dell'ultimo progetto aperto
WriteMainPrivateProfileString("General", "LastExtensionOpened", Path.GetExtension(fd.FileName))
' se esiste un file in lettura con questo nome allora blocco tutto
If Utility.IsFileLocked(sFilePath, Path.GetFileNameWithoutExtension(sFilePathComplete)) Then
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject) AndAlso Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
@@ -841,6 +903,21 @@ Public Class ProjectManagerVM
End If
End Sub
Private Function GetCurrentFilter() As Integer
Dim nFilter As Integer = 1
Dim sExt As String = String.Empty
GetMainPrivateProfileString("General", "LastExtensionOpened", "ddf", sExt)
sExt = sExt.Replace("."c, "")
sExt = sExt.Trim
Select Case sExt
Case = "ddf"
nFilter = 1
Case = "ddt"
nFilter = 2
End Select
Return nFilter
End Function
#End Region ' OpenCommand
#Region "OpenMruFileCommand"
@@ -982,6 +1059,7 @@ Public Class ProjectManagerVM
Local_Assembly.IsModified = False
CurrProject.AssemblyList.Add(Local_Assembly)
Else
EgtOutLog("LastProject '" & OptionModule.m_sLastProject & "' is not a file or does not exist!")
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
Return
End If
@@ -1188,17 +1266,48 @@ Public Class ProjectManagerVM
End If
' se esite una porta, allora rendo possibile la creazione di un template della porta corrente
If Not IsNothing(Map.refPartPageVM.CurrPart) Then
' Stampo il file correte nella cartella Template
Dim SaveFileDialog As New MySaveFileDialogVM
Dim SaveFileDialogWnd As New EgtWPFLib5.SaveFileDialogV(Application.Current.MainWindow, SaveFileDialog)
SaveFileDialog.Title = EgtMsg(50417)
SaveFileDialog.Directory = IniFile.m_TemplateDir
SaveFileDialog.Extension = DDT_EXTENSION
'SaveFileDialog.FileName = m_CurrProject.Name & "\"
' se decido di chiuedere la finestra
If Not SaveFileDialogWnd.ShowDialog Then
' ' Stampo il file correte nella cartella Template
' Dim SaveFileDialog As New MySaveFileDialogVM
' Dim SaveFileDialogWnd As New EgtWPFLib5.SaveFileDialogV(Application.Current.MainWindow, SaveFileDialog)
' SaveFileDialog.Title = EgtMsg(50417)
' SaveFileDialog.Directory = IniFile.m_TemplateDir
' SaveFileDialog.Extension = DDT_EXTENSION
' 'SaveFileDialog.FileName = m_CurrProject.Name & "\"
' ' se decido di chiuedere la finestra
' If Not SaveFileDialogWnd.ShowDialog Then
' Return
' End If
' Apro la finestra di salvataggio generica
Dim SaveFileDialog As New System.Windows.Forms.SaveFileDialog()
' controllo se esiste il file DDF
Dim sFilePath As String = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name
If File.Exists(sFilePath) Then
' recupero il nome del template che ha generato il DDF corrente
Dim DDTOrig As String = String.Empty
Dim fStream As String() = File.ReadAllLines(sFilePath)
DDTOrig = ReadOrigTemplate(fStream)
SaveFileDialog.Filter = "(*.ddt) |*.ddt"
SaveFileDialog.FilterIndex = 2
If String.IsNullOrEmpty(DDTOrig) Then
If OptionModule.m_SingleDoor Then
SaveFileDialog.FileName = Path.GetFileNameWithoutExtension(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name)
Else
SaveFileDialog.FileName = Path.GetFileNameWithoutExtension(Map.refAssemblyManagerVM.CurrProject.Name)
End If
Else
SaveFileDialog.FileName = Path.GetFileNameWithoutExtension(DDTOrig)
End If
End If
' avvio la ricerca nell'ultimo direttorio aperto
SaveFileDialog.InitialDirectory = IniFile.m_TemplateDir
If SaveFileDialog.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then
' Interrompo la creazione del template
Return
End If
' Controllo se ha estensione il nome della porta
If Path.HasExtension(SaveFileDialog.FileName) Then
Dim sExtension As String = Path.GetExtension(SaveFileDialog.FileName)
@@ -1683,63 +1792,10 @@ Public Class ProjectManagerVM
#End Region ' CreateAssemblyCommand
#Region "METHODS"
#End Region ' Methos
'questo metodo restituisce l'errore letto nel file CurrDoor.txt
Public Sub ShowGraphicError(ByRef ErrorMessages As String, ByRef Type As Integer)
' se non c'è nessuna porta aperta allora esco
If IsNothing(Map.refAssemblyManagerVM.CurrProject) OrElse
IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
Return
End If
Dim FileLog As String = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name
FileLog = FileLog.Replace(DDF_EXTENSION, ".txt")
Dim FileContent() As String
' controllo se esite il file CurrDoor.txt
If Not File.Exists(FileLog) Then Return
FileContent = File.ReadAllLines(FileLog)
' se il file esiste ma è vuoto
If FileContent.Count = 0 Then
MessageBox.Show(EgtMsg(50107), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
End If
Dim IndexLine As Integer = 0
Dim nMsgErr As Integer = 0
' leggo il valore numerico (se il valore non è numerico è passato di default il valore 0)
nMsgErr = RegexFunction.ErrDraw(FileContent(IndexLine))
Type = nMsgErr
' passo alla riga succesiva
IndexLine += 1
' se il valore è maggiore di zero allora è un errore
If nMsgErr > 0 Then
' salto tutte le righe vuote
While String.IsNullOrEmpty(FileContent(IndexLine)) AndAlso IndexLine < FileContent.Count
IndexLine += 1
End While
ErrorMessages = FileContent(IndexLine)
IndexLine += 1
While IndexLine < FileContent.Count
ErrorMessages &= vbNewLine & FileContent(IndexLine)
IndexLine += 1
End While
' altrimenti un avvertimento
ElseIf nMsgErr < 0 Then
While String.IsNullOrEmpty(FileContent(IndexLine)) AndAlso IndexLine < FileContent.Count
IndexLine += 1
End While
ErrorMessages = FileContent(IndexLine)
IndexLine += 1
While IndexLine < FileContent.Count
ErrorMessages &= vbNewLine & FileContent(IndexLine)
IndexLine += 1
End While
Else
ErrorMessages = String.Empty
End If
End Sub
#End Region ' Commands
#Region "EVENTS"
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public NotInheritable Class ObjectDataProvider
@@ -1750,11 +1806,23 @@ Public Class ProjectManagerVM
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
#End Region ' Events
End Class
Public NotInheritable Class ObjectDataProvider
#Region "FIELDS & PROPERTIES"
Private order As ReportOrder
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Public Sub New(order As ReportOrder)
Me.order = order
End Sub
#End Region ' Constructor
End Class
+43
View File
@@ -0,0 +1,43 @@
<EgtWPFLib5:EgtCustomWindow x:Class="SelectPartV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
Height="110" Width="300" Topmost="True"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<!--<EgtWPFLib5:EgtCustomWindow.Resources>
<EgtWPFLib5:FileNameConverter x:Key="FileNameConverter"/>
</EgtWPFLib5:EgtCustomWindow.Resources>-->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<UniformGrid Grid.Row="0"
Columns="2"
Grid.ColumnSpan="2">
<TextBlock Text="{Binding PartDoorMsg}"
Style="{DynamicResource SelectTxBl}"/>
<ComboBox ItemsSource="{Binding PartDoorList}"
SelectedItem="{Binding Selection}"
Style="{DynamicResource SelectCmBx}"/>
</UniformGrid>
<Button Grid.Row="2"
Grid.ColumnSpan="2"
Name="OkBtn"
Content="{Binding SaveMsg}"
Style="{DynamicResource EgtWPFLib5_SelectButton}"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+23
View File
@@ -0,0 +1,23 @@
Public Class SelectPartV
#Region "CONSTRUCTOR"
Sub New()
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
End Sub
#End Region ' Constructor
#Region "METHODS"
Private Sub OkBtn_Click() Handles OkBtn.Click
Me.Close()
End Sub
#End Region ' Methods
End Class
+75
View File
@@ -0,0 +1,75 @@
Public Class SelectPartVM
#Region "FIELDS & PROPERTIES"
Private m_Title As String = "Selection of door"
Public ReadOnly Property Title As String
Get
Return m_Title
End Get
End Property
Private m_SaveMsg As String = "Ok"
Public ReadOnly Property SaveMsg As String
Get
Return m_SaveMsg
End Get
End Property
Private m_PartDoorMsg As String = "Select part"
Public ReadOnly Property PartDoorMsg As String
Get
Return m_PartDoorMsg
End Get
End Property
Private m_PartDoorList As New List(Of String)
Public Property PartDoorList As List(Of String)
Get
Return m_PartDoorList
End Get
Set(value As List(Of String))
m_ListPartDoor = value
End Set
End Property
Private m_Selection As String = ""
Public Property Selection As String
Get
Return m_Selection
End Get
Set(value As String)
m_Selection = value
m_nSelectedIndex = m_PartDoorList.IndexOf(m_Selection)
End Set
End Property
Private m_nSelectedIndex As Integer = 0
Public ReadOnly Property nSelectedIndex As Integer
Get
Return m_nSelectedIndex
End Get
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(TitleWd As String, MsgWd As String, nParts As Integer, nIndex As Integer)
m_Title = TitleWd
m_PartDoorMsg = MsgWd
For Each ItemDoor As PartDoor In Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor
m_PartDoorList.Add(ItemDoor.Type)
Next
If Not IsNothing(Map.refPartPageVM) AndAlso Not IsNothing(Map.refPartPageVM.CurrPart) AndAlso
Not IsNothing(Map.refPartPageVM.CurrPart.TypePart) Then
m_nSelectedIndex = m_PartDoorList.IndexOf(Map.refPartPageVM.CurrPart.TypePart)
Else
m_nSelectedIndex = 0
End If
m_Selection = m_PartDoorList(m_nSelectedIndex)
End Sub
#End Region ' Constructor
End Class
+22
View File
@@ -4,8 +4,15 @@ Imports EgtUILib
Imports EgtWPFLib5
Module RegexFunction
#Region "FIELDS & PROPERTIES"
Friend sCurrVersionDoor As String = "1"
#End Region ' Fields & Properties
#Region "METHODS"
' restituisce vero se trova il capitoletto [Graphic parameters]
Friend Function IsGraphicParametersTitle(sLine As String) As Boolean
Return Regex.Match(sLine, "\s*--\s*(\[Graphic parameters\])\s*$").Groups(1).Value = "[Graphic parameters]"
@@ -121,6 +128,20 @@ Module RegexFunction
Return True
End Function
' leggo dal vettore per cercare la stringa OrigTemplate
Friend Function ReadOrigTemplate(fStream As String()) As String
Dim sOrigTemplate As String = String.Empty
For Each Line As String In fStream
If Line.Contains("#OrigTemplate") Then
sOrigTemplate = Regex.Match(Line, "\s*:\s*(.*?)\s*$").Groups(1).Value
Return sOrigTemplate
Exit For
End If
Next
' Processo il tipo di configurazione
Return sOrigTemplate
End Function
' restituisce quello che segue l'uguale assegnata la parola chiave Err
Friend Function ErrDraw(sLine As String) As Integer
Dim sErrMsg As String = Regex.Match(sLine, "\s*(Err)\s*=\s*(.*?\b)\s*$").Groups(2).Value
@@ -240,5 +261,6 @@ Module RegexFunction
Return String.Empty
End Function
#End Region ' Methods
End Module
+91 -9
View File
@@ -1,5 +1,7 @@
Public Class ReportOrder
#Region "FIELDS & PROPERTIES"
Private m_Order As String
Public Property Order As String
Get
@@ -24,14 +26,13 @@
Public Property ReportCompoList As New List(Of ReportCompo)
#End Region ' Fields & Properties
End Class
Public Class ReportCompo
Public Sub New(Name__1 As String, Brand__2 As String, Template__3 As String)
m_Name = Name__1
m_Brand = Brand__2
m_Template = Template__3
End Sub
#Region "FIELDS & PROPERTIES"
Private m_Name As String
Public Property Name As String
@@ -65,11 +66,25 @@ Public Class ReportCompo
Public Property CompoParameterList As New List(Of ReportParameter)
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Public Sub New(Name__1 As String, Brand__2 As String, Template__3 As String)
m_Name = Name__1
m_Brand = Brand__2
m_Template = Template__3
End Sub
#End Region ' Constructor
End Class
' Nuova versione tabella
Public Class TableDoor
#Region "FIELDS & PROPERTIES"
Public Property Order As New List(Of TableOrder)
Public Property Dimension As New List(Of TableDimension)
Public Property Proflie As New List(Of TableProfile)
@@ -78,10 +93,14 @@ Public Class TableDoor
Public Property MachList As New List(Of TableMach)
Public Property AttachmentsList As New List(Of ReportAttachments)
#End Region ' Fields & Properties
End Class
Public Class TableOrder
#Region "FIELDS & PROPERTIES"
' immagine porta
Private m_Image As String
Public Property Image As String
@@ -104,14 +123,22 @@ Public Class TableOrder
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
m_Order_ParametersList = New List(Of ReportParameter)
End Sub
#End Region ' Constructor
End Class
Public Class TableDimension
#Region "FIELDS & PROPERTIES"
' lista dei parametri
Private m_Dimension_ParametersList As List(Of ReportParameter)
Public Property Dimension_ParametersList As List(Of ReportParameter)
@@ -123,14 +150,22 @@ Public Class TableDimension
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
m_Dimension_ParametersList = New List(Of ReportParameter)
End Sub
#End Region ' Constructor
End Class
Public Class TableProfile
#Region "FIELDS & PROPERTIES"
' lista dei parametri
Private m_Profile_ParametersList As List(Of ReportParameter)
Public Property Profile_ParametersList As List(Of ReportParameter)
@@ -142,14 +177,22 @@ Public Class TableProfile
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
m_Profile_ParametersList = New List(Of ReportParameter)
End Sub
#End Region ' Constructor
End Class
Public Class TableOtherInfo
#Region "FIELDS & PROPERTIES"
' lista dei parametri
Private m_OtherInfo_ParametersList As List(Of ReportParameter)
Public Property OtherInfo_ParametersList As List(Of ReportParameter)
@@ -161,14 +204,22 @@ Public Class TableOtherInfo
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New()
m_OtherInfo_ParametersList = New List(Of ReportParameter)
End Sub
#End Region ' Constructor
End Class
Public Class TableHardaware
#Region "FIELDS & PROPERTIES"
' disegno quotato Hardware
Private m_HardwareImg As String = "Empty"
Public Property HardwareImg As String
@@ -224,6 +275,10 @@ Public Class TableHardaware
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Public Sub New(Name__1 As String, Brand__2 As String, Template__3 As String, Image__4 As String)
m_Name = Name__1
m_Brand = Brand__2
@@ -232,10 +287,14 @@ Public Class TableHardaware
m_Hardware_ParametersList = New List(Of ReportParameter)
End Sub
#End Region ' Constructor
End Class
Public Class TableMach
#Region "FIELDS & PROPERTIES"
' disegno quotato Hardware
Private m_HardwareImg As String = "Empty"
Public Property HardwareImg As String
@@ -280,6 +339,10 @@ Public Class TableMach
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Public Sub New(Name__1 As String, Template__2 As String, Image__3 As String)
m_Name = Name__1
m_Template = Template__2
@@ -287,13 +350,13 @@ Public Class TableMach
m_Mach_ParametersList = New List(Of ReportParameter)
End Sub
#End Region ' Constructor
End Class
Public Class ReportParameter
Public Sub New(Name__1 As String, Value__2 As String)
m_Name = Name__1
m_sValue = Value__2
End Sub
#Region "FIELDS & PROPERTIES"
Private m_Name As String
Public Property Name As String
@@ -315,10 +378,23 @@ Public Class ReportParameter
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Public Sub New(Name__1 As String, Value__2 As String)
m_Name = Name__1
m_sValue = Value__2
End Sub
#End Region ' Constructor
End Class
Public Class ReportAttachments
#Region "FIELDS & PROPERTIES"
Private m_PDFFile As String
Public Property PDFFile As String
Get
@@ -329,8 +405,14 @@ Public Class ReportAttachments
End Set
End Property
#End Region ' Fields & Properties
#Region "CONSTRUCTOR"
Sub New(sPDFPath As String)
m_PDFFile = sPDFPath
End Sub
#End Region ' Constructor
End Class
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

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