Compare commits

...

46 Commits

Author SHA1 Message Date
Nicola Pievani 3ec88260c1 Migliorata gestione colore TextBox 2024-02-13 15:16:23 +01:00
Nicola Pievani a57c60aa47 Aggiornata versione 2.6b1 2024-02-12 15:03:05 +01:00
Nicola Pievani 6786d74cad Gestione nuova interfaccia scura 2023-09-22 19:14:41 +02:00
Nicola Pievani ca0466e60f Cambio versione 2.5h1 2023-08-03 19:19:01 +02:00
Nicola Pievani 8dc60ed6eb Stampa automatica etichetta 2023-07-14 17:17:55 +02:00
Nicola Pievani f3065ef003 Migliorata configurazione dati 2023-06-29 12:13:47 +02:00
Nicola Pievani 16a0f18f52 Gestione AutoClick e caricamento dati DB 2023-06-28 18:58:31 +02:00
Nicola Pievani 3a40af91e2 Merge commit '98052f4a8ec62724885d3eb638bb8d29852a1d1e' into develop 2023-06-20 12:33:57 +02:00
NicolaP 98052f4a8e Migliorata gestione avvio programma senza licenza 2023-02-06 12:25:53 +01:00
DarioS a63bb50543 OmagPHOTO 2.5a2 :
- per evitare crash quando si avvisa per chiave o licenza mancante.
2023-02-05 14:40:28 +01:00
NicolaP 1937dbec6b Merge remote-tracking branch 'origin/HEAD' 2023-01-24 15:25:48 +01:00
NicolaP 8b1fd9643f Merge branch 'develop' 2023-01-24 15:25:18 +01:00
NicolaP 737ad6cd5a Correzione creazione Nuova Lastra 2023-01-24 15:24:47 +01:00
DarioS 71f926eb44 OmagPHOTO :
- aggiornamento info programma.
2023-01-18 09:17:32 +01:00
NicolaP 235537c9f3 Merge branch 'develop' 2023-01-11 19:58:58 +01:00
NicolaP e034816bed Cambio versione 2.5a1 2023-01-11 19:31:17 +01:00
NicolaP 5f1d48696f Merge commit 'd2ff748fe0a5f5477e16a3cba1c79999f03f759d' into develop 2022-08-25 15:15:32 +02:00
NicolaP d2ff748fe0 Migliorata la gestione di creazione nuova lastra 2022-08-11 12:45:27 +02:00
NicolaP fc89ef7deb Merge branch 'develop' 2022-07-21 19:41:56 +02:00
NicolaP 45780aff25 Merge branch 'Features/Modify_BitMap_Image' into develop 2022-07-21 19:31:44 +02:00
NicolaP 6f1e05aaa3 Aggiunta disegno matita 2022-07-21 19:31:28 +02:00
DarioS ce8447a5e8 OmagPHOTO 2.4f2 :
- corretta versione.
2022-07-01 08:06:08 +02:00
NicolaP d2925af06b Merge branch 'master' into develop 2022-06-27 09:54:07 +02:00
NicolaP be067aa785 Merge branch 'feature/Manage_Multi_Istances' 2022-06-27 09:43:58 +02:00
NicolaP cdf98ecff5 Passo alla libreria il nome dello Users 2022-06-20 15:00:16 +02:00
NicolaP f952167d5d Avvio il timer per il refresch della lista 2022-06-15 18:17:53 +02:00
NicolaP 5f29f5821a Merge branch 'feature/CapsLock' into feature/Manage_Multi_Istances 2022-06-15 15:20:47 +02:00
NicolaP ecc0dc3a4f Lettura da ini CapsLock 2022-06-13 18:12:39 +02:00
NicolaP 2a3656fb55 Merge branch 'master' into develop 2022-06-13 13:31:58 +02:00
DarioS d5fdf246a0 OmagPHOTO 2.4f1 :
- aggiunta gestione chiave di rete da INI ([General] NetKey=1).
2022-06-06 11:10:20 +02:00
NicolaP c0af5e5754 Aggiornamento versione 2.4e1 2022-05-02 17:08:41 +02:00
NicolaP d9da37444d Merge branch 'Features/New_Field_Block' 2022-03-15 14:30:13 +01:00
NicolaP 9d5ddf60ff Aggiornamento versione 2022-03-15 14:29:50 +01:00
NicolaP d5368ce1e4 Aggiornamento versione 2022-03-15 14:29:10 +01:00
NicolaP cf4ee52db4 Nuova gestione (NomeBlocco-nn) 2022-03-10 20:41:29 +01:00
DarioS 0c0c0acc07 OmagPHOTO 2.4b3 :
- ricompilazione con cambio versione.
2022-02-27 16:28:10 +01:00
DarioS f932a3095a OmagPHOTO 2.4b1 :
- ricompilazione con cambio versione e nuova versione richiesta di licenza.
2022-02-17 11:57:31 +01:00
NicolaP 0f259e7a63 Aggiornamento versione 2.3j3 2021-10-21 15:04:33 +02:00
NicolaP 3ee156e26c Configurazione inserimento automatico nuvo Id 2021-10-21 14:20:07 +02:00
NicolaP 8cd6c20c98 Merge remote-tracking branch 'origin/master' 2021-10-18 20:37:35 +02:00
NicolaP 51e81a57ad Eliminato il refresh della lista 2021-10-18 20:37:08 +02:00
DarioS 79c24ff113 OmagPHOTO 2.3j2 :
- ricompilazione con cambio versione.
2021-10-15 18:01:51 +02:00
NicolaP f1d1c14e44 Aggiornamento versione 2021-10-11 19:08:14 +02:00
NicolaP 7e0a9331bb Merge commit '131a5545684f81a16674f15737c08a32cdf0007f' 2021-09-22 19:37:36 +02:00
NicolaP 131a554568 Modifica versione 2021-09-22 19:36:40 +02:00
NicolaP b1e41c36f3 Fixed gestione inserimento nuovo materiale 2021-09-22 19:13:52 +02:00
17 changed files with 990 additions and 470 deletions
+11 -4
View File
@@ -1,14 +1,21 @@
Class Application
Imports EgtPHOTOLib
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
' can be handled in this file.
Class Application
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
' can be handled in this file.
Protected Overrides Sub OnStartup(e As StartupEventArgs)
MyBase.OnStartup(e)
ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose
' Creo la View principale
Me.MainWindow = New MainWindowV
' Mostro la View principale
Me.MainWindow.Show()
If PhotoMap.ContinueApplication Then
Me.MainWindow.Show()
Else
End
End If
End Sub
End Class
+14
View File
@@ -11,6 +11,10 @@
'
'----------------------------------------------------------------------------
Imports System.Data
Imports EgtPHOTOLib
Imports EgtWPFLib5
Module ConstIni
Public Const INI_FILE_NAME As String = "OmagPHOTO.ini"
@@ -18,6 +22,7 @@ Module ConstIni
Public Const S_GENERAL As String = "General"
Public Const K_DEBUG As String = "Debug"
Public Const K_LICENCE As String = "Licence"
Public Const K_NETKEY As String = "NetKey"
Public Const K_USERLEVEL As String = "UserLevel"
Public Const K_MAXINST As String = "MaxInstances"
Public Const K_INSTANCES As String = "Instances"
@@ -35,6 +40,8 @@ Module ConstIni
Public Const K_SUPPORT As String = "Support"
Public Const K_PHOTODIR As String = "PhotoDir"
Public Const K_CAMERALINK As String = "CameraLink"
Public Const K_LASTID As String = "LastId"
Public Const K_CAPSLOCK As String = "CapsLock"
Public Const S_PRINTER As String = "Printer"
Public Const K_TEMPLATE As String = "Template"
@@ -86,6 +93,13 @@ Module ConstIni
Public Const K_MINLNCOLOR As String = "MinLnColor"
Public Const K_MAJLNCOLOR As String = "MajLnColor"
Public Const S_AUTOCLICK As String = "AutoClick"
Public Const K_CLICKDIR As String = "ClickDir"
Public Const K_STATE As String = "State"
Public Const K_AUTOMATERIAL As String = "Material"
Public Const K_THICKNESS As String = "Thickness"
Public Const K_WAREHAOUSE As String = "WareHouse"
Public Const S_CAMERA As String = "Camera"
Public Const K_CAM_COUNT As String = "Count"
Public Const K_CAM_EXEPATH As String = "ExePath"
+119 -3
View File
@@ -5,6 +5,7 @@ Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports EgtPHOTOLib
Imports System.Windows.Forms.Integration
Public Class MainWindowM
@@ -14,6 +15,12 @@ Public Class MainWindowM
Private m_TimerIsBusy As Boolean = False
Private m_RefreshTimer As New DispatcherTimer
' Per lettura modifica direttorio
Private fsWatch As FileSystemWatcher
Private m_RefreshNewFileClick As New DispatcherTimer
Private m_bNewFileClick As Boolean = False
Private m_sNewFileClickPath As String = String.Empty
Private m_sDataRoot As String = String.Empty
Friend ReadOnly Property sDataRoot As String
Get
@@ -136,6 +143,30 @@ Public Class MainWindowM
End Get
End Property
Private m_EnableTextId As Boolean = True
Public ReadOnly Property EnableTextId As Boolean
Get
Return m_EnableTextId
End Get
End Property
Private m_LastId As Integer = 10000
Public Property nLastId As Integer
Get
Return m_LastId
End Get
Set(value As Integer)
m_LastId = value
End Set
End Property
Private m_bCapsLock As Boolean
Public ReadOnly Property bCapsLock As Boolean
Get
Return m_bCapsLock
End Get
End Property
#End Region ' FIELDS
#Region "CONSTRUCTOR"
@@ -175,9 +206,11 @@ Public Class MainWindowM
Dim sKey As String = String.Empty
EgtUILib.GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile)
EgtSetKey(sKey)
Dim bNetHwKey As Boolean = (GetMainPrivateProfileInt(S_GENERAL, K_NETKEY, 0) = 1)
EgtSetNetHwKey(bNetHwKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2309, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2309, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2602, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2602, 1, m_nKeyOptions)
' Verifico abilitazione prodotto
Dim bProd As Boolean = GetKeyOption(KEY_OPT.PHOTO_BASE)
' Inizializzazione generale di EgtInterface
@@ -244,6 +277,8 @@ Public Class MainWindowM
GetMainPrivateProfileString(S_PRINTER, K_ZEBRAUTILITIES, System.AppDomain.CurrentDomain.BaseDirectory & "ZebraPrinterUtilitiesR32.exe", m_ZebraUtilitiesExe)
' verifico che sia abilitata la stampante con flag
m_PrinterIsVisible = (GetMainPrivateProfileInt(S_PRINTER, K_ENABLE_PRINTER, 0) = 1)
' verifico che sia abilitata il CapsLock
m_bCapsLock = (GetMainPrivateProfileInt(S_GENERAL, K_CAPSLOCK, 0) = 1)
' Creo connessione al Db
If Not ManageDb.ConnectToDb(m_sPhotoDir & "\" & DB_FILENAME) Then
EgtOutLog("Error connecting to DB")
@@ -256,12 +291,16 @@ Public Class MainWindowM
EgtPHOTOLib.MainData.SetConfigDir(m_sConfigDir)
EgtPHOTOLib.MainData.SetKeyLevel(m_nKeyLevel)
EgtPHOTOLib.MainData.SetKeyOptions(m_nKeyOptions)
EgtPHOTOLib.MainData.SetUser(Environment.MachineName & "\" & Environment.UserName & " (" & nInstance.ToString() & ")")
EgtPHOTOLib.MainData.SetPhotoDir(m_sPhotoDir)
EgtPHOTOLib.MainData.SetBackUpDir(m_sBackUpDir)
EgtPHOTOLib.MainData.SetTemplateFilePrinter(m_TemplateFilePrinter)
EgtPHOTOLib.MainData.SetDataFilePrinter(m_DatFilePrinter)
EgtPHOTOLib.MainData.SetZebraPrinterExe(m_ZebraUtilitiesExe)
EgtPHOTOLib.MainData.SetPrinterVisibility(m_PrinterIsVisible)
EgtPHOTOLib.MainData.SetCapsLock(m_bCapsLock)
Dim sLastBlock As String = String.Empty
If GetMainPrivateProfileString(S_GENERAL, "LastBlock", "", sLastBlock) <> 0 Then EgtPHOTOLib.MainData.SetLastBlock(sLastBlock)
Dim sIdKey As String = String.Empty
EgtGetKeyInfo(sIdKey)
EgtPHOTOLib.MainData.SetKey(sIdKey)
@@ -269,11 +308,88 @@ Public Class MainWindowM
AddHandler m_RefreshTimer.Tick, AddressOf RefreshTimer_Tick
m_RefreshTimer.Interval = TimeSpan.FromMilliseconds(2000)
m_RefreshTimer.Start()
' sec onfigurato lancio il controllo di uno specifico direttorio per leggere quando scattare una nuova foto
Dim sClidkDir As String = String.Empty
Dim bEnableLineProduction As Boolean = GetMainPrivateProfileString(S_AUTOCLICK, K_CLICKDIR, "", sClidkDir) <> 0
If bEnableLineProduction Then
fsWatch = New FileSystemWatcher(sClidkDir) With {.EnableRaisingEvents = True}
'fsWatch.EnableRaisingEvents = True
AddHandler fsWatch.Created, AddressOf AutoClick
AddHandler fsWatch.Changed, AddressOf AutoClick
AddHandler fsWatch.Renamed, AddressOf AutoClick
m_bNewFileClick = False
AddHandler m_RefreshNewFileClick.Tick, AddressOf AutoClick_Cmd
m_RefreshNewFileClick.Interval = TimeSpan.FromMilliseconds(2000)
m_RefreshNewFileClick.Start()
End If
End Sub
Private Sub AutoClick(ByVal sender As Object, ByVal e As FileSystemEventArgs)
EgtOutLog("File '" & e.FullPath & "' has been created: ready to Click")
m_sNewFileClickPath = e.FullPath
m_bNewFileClick = True
End Sub
Private Sub AutoClick_Cmd()
If Not m_bNewFileClick Then Return
' deseleziono la precedente lastra
If Not IsNothing(EgtPHOTOLib.PhotoMap.refProjectVM.SelSlab) Then
EgtPHOTOLib.PhotoMap.refProjectVM.SelSlab.IsSelected = 0
End If
' verifico se esite una lastra corrente in modifica, quindi chiedo se salvare
Map.refTopCommandBarVM.NewCmd(True)
' apro la pagina per inserire una nuova lastra, se esiste un oggetto di tipo lastra allora procedo
If Not IsNothing(EgtPHOTOLib.PhotoMap.refProjectVM.SelSlab) Then
' Autocompilazione dei campi con i dati dell'ultima lastra salvata
ReadLastInfoAutoClick(EgtPHOTOLib.PhotoMap.refProjectVM.SelSlab)
' scatto la foto
EgtPHOTOLib.PhotoMap.refOptionPanelVM.Photo(Nothing)
' notifico che è stata scattata una foto
Try
File.Delete(m_sNewFileClickPath)
EgtOutLog("File '" & m_sNewFileClickPath & "' has been deleted!")
m_bNewFileClick = False
Catch ex As Exception
EgtOutLog("File '" & m_sNewFileClickPath & "' can't be deleted! " & ex.ToString)
End Try
' se è stata scattata una foto provvedo a salvare l'inserimento
If Not m_bNewFileClick Then
' salvo i dati inseriti ( nel file ini e nel DB )
EgtPHOTOLib.PhotoMap.refOptionPanelVM.Save()
' ricarico la pagina
EgtPHOTOLib.PhotoMap.refProjectVM.SelProjectMode = ProjectSlabVM.ProjectModeOpt.DETAIL
EgtPHOTOLib.PhotoMap.refOptionPanelVM.Ok_IsEnabled = False
' stampo etichetta
EgtPHOTOLib.PhotoMap.refOptionPanelVM.PrintLabel()
End If
End If
End Sub
Private Sub ReadLastInfoAutoClick(CurrSlab As Slab)
Dim nIndState As Integer = 1
Dim sMaterial As String = ""
Dim dThick As Double = 0
Dim sWarehouse As String = ""
nIndState = GetMainPrivateProfileInt(S_AUTOCLICK, K_STATE, nIndState)
GetMainPrivateProfileString(S_AUTOCLICK, K_AUTOMATERIAL, "", sMaterial)
dThick = GetMainPrivateProfileDouble(S_AUTOCLICK, K_THICKNESS, 1)
GetMainPrivateProfileString(S_AUTOCLICK, K_WAREHAOUSE, "", sWarehouse)
CurrSlab.State = nIndState
For IndexMat As Integer = 0 To EgtPHOTOLib.PhotoMap.refProjectVM.MaterialList.Count - 1
If EgtPHOTOLib.PhotoMap.refProjectVM.MaterialList(IndexMat).Trim = sMaterial.Trim Then
CurrSlab.SetMaterial(EgtPHOTOLib.PhotoMap.refProjectVM.MaterialList(IndexMat))
Exit For
End If
Next
CurrSlab.SetThickness(dThick)
CurrSlab.WarehousePosition = sWarehouse
End Sub
' per la gestione di due OmagPHOTO che accedono allo stesso SQL
Private Sub RefreshTimer_Tick()
If Not m_TimerIsBusy And PhotoMap.refProjectVM.SelProjectMode = ProjectSlabVM.ProjectModeOpt.LIST Then
If Not m_TimerIsBusy AndAlso Not IsNothing(PhotoMap.refProjectVM) AndAlso
PhotoMap.refProjectVM.SelProjectMode = ProjectSlabVM.ProjectModeOpt.LIST Then
m_TimerIsBusy = True
m_RefreshTimer.Stop()
EgtPHOTOLib.PhotoMap.refListPageVM.RefreshLisPage()
+1
View File
@@ -6,6 +6,7 @@
xmlns:EgtPHOTOLib="clr-namespace:EgtPHOTOLib;assembly=EgtPHOTOLib"
DataContext="{StaticResource MainWindowVM}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
TitleBarForeground="{StaticResource Omag_White}"
Title="{Binding Title}" Icon="/Resources/OmagPHOTO.ico"
MinHeight="600" MinWidth="800"
AboutBoxCommand="{Binding AboutBoxCommand}" WindowStyle="None" ResizeMode="NoResize"
+5
View File
@@ -125,6 +125,11 @@ Public Class MainWindowVM
EgtPHOTOLib.PhotoMap.refOptionPanelVM.Ok(Nothing)
End If
End If
' deseleziono la lastra corrente
If Not IsNothing(EgtPHOTOLib.PhotoMap.refProjectVM) AndAlso
Not IsNothing(EgtPHOTOLib.PhotoMap.refProjectVM.SelSlab) Then
EgtPHOTOLib.PhotoMap.refOptionPanelVM.Cancel(Nothing)
End If
' Imposto contesto principale
EgtSetCurrentContext(Map.refSceneHostVM.MainScene.GetCtx())
' Chiudo il gestore della macchina fotografica
+5 -5
View File
@@ -17,9 +17,9 @@ Imports System.Windows
<Assembly: AssemblyTitle("OmagPHOTOR32.exe")>
<Assembly: AssemblyDescription("OmagPHOTO 32 bit")>
#End If
<Assembly: AssemblyCompany("EgalTech s.r.l.")>
<Assembly: AssemblyProduct("OmagPHOTO")>
<Assembly: AssemblyCopyright("Copyright © 2017-2021 by EgalTech s.r.l.")>
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("OmagPHOTO")>
<Assembly: AssemblyCopyright("Copyright © 2017-2023 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(false)>
@@ -59,5 +59,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.9.2")>
<Assembly: AssemblyFileVersion("2.3.9.2")>
<Assembly: AssemblyVersion("2.6.2.1")>
<Assembly: AssemblyFileVersion("2.6.2.1")>
+4 -2
View File
@@ -55,8 +55,7 @@
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="EgtPHOTOLib, Version=2.3.1.1, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<Reference Include="EgtPHOTOLib">
<HintPath>..\..\EgtProg\Dll32\EgtPHOTOLib.dll</HintPath>
</Reference>
<Reference Include="EgtUILib, Version=2.3.4.5, Culture=neutral, processorArchitecture=MSIL">
@@ -217,6 +216,9 @@
<ItemGroup>
<Resource Include="Resources\TopCommandBar\Search.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\InstrumentPanel\Matitina.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagPHOTO\OmagPHOTOR32.exe
+31 -9
View File
@@ -71,6 +71,8 @@
<DockPanel>
<UniformGrid Grid.Row="2" Columns="2"
DockPanel.Dock="Bottom">
<Button Content="{Binding NewMatMsg}" Grid.Column="1"
@@ -83,16 +85,36 @@
Margin="2.5,0,0,0"/>
</UniformGrid>
<EgtWPFLib5:EgtTextBox Text="{Binding NewMatName}"
DockPanel.Dock="Bottom" Width="240"
Visibility="{Binding NewMatName_Visibility}"
Margin="0,0,0,5"/>
<Grid DockPanel.Dock="Bottom" Visibility="{Binding NewMatName_Visibility}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<EgtWPFLib5:EgtTextBox Text="{Binding NewMatName}"
DockPanel.Dock="Bottom"
Margin="0,0,0,5"/>
<Button Content="{Binding OkMsg}" Grid.Column="1"
Command="{Binding OkCommand}"
IsEnabled="{Binding EnableOkNewMat}"
Style="{StaticResource OptionPanel_TextButton}"
Margin="2.5,0,0,2.5"/>
<Button Content="{Binding CancelMsg}" Grid.Column="2"
Command="{Binding CamcelCommand}"
Style="{StaticResource OptionPanel_TextButton}"
Margin="2.5,0,0,2.5"/>
</Grid>
<!--<EgtWPFLib5:EgtTextBox Text="{Binding NewMatName}"
DockPanel.Dock="Bottom" Width="240"
Visibility="{Binding NewMatName_Visibility}"
Margin="0,0,0,5"/>-->
<ListBox ItemsSource="{Binding MaterialList}"
SelectedItem="{Binding SelMaterial}"
Grid.RowSpan="2"
Margin="0,0,0,5"
Height="150"/>
<ListBox ItemsSource="{Binding MaterialList}"
SelectedItem="{Binding SelMaterial}"
Grid.RowSpan="2"
Margin="0,0,0,5"
Height="150"/>
</DockPanel>
+103 -16
View File
@@ -129,22 +129,18 @@ Public Class OptionWindowVM
Set(value As String)
m_NewMatName = value
' Verifico che il nome non sia vuoto
If Not String.IsNullOrWhiteSpace(m_NewMatName) Then
' Verifico che il nome non sia già utilizzato
Dim bNameExist As Boolean = False
For Each Material In m_MaterialList
If Material = m_NewMatName Then
bNameExist = True
Exit For
End If
Next
If Not bNameExist Then
m_MaterialList.Add(m_NewMatName)
End If
End If
' Nascondo textbox per il nome
NewMatName_Visibility = Visibility.Collapsed
m_NewMatName = String.Empty
AddNewMaterial()
NotifyPropertyChanged("EnableOkNewMat")
End Set
End Property
Private m_EnableOkNewMat As Boolean = False
Public Property EnableOkNewMat As Boolean
Get
Return m_EnableOkNewMat
End Get
Set(value As Boolean)
m_EnableOkNewMat = value
End Set
End Property
@@ -221,12 +217,26 @@ Public Class OptionWindowVM
End Get
End Property
Public ReadOnly Property OkMsg As String
Get
Return "Ok"
End Get
End Property
Public ReadOnly Property CancelMsg As String
Get
Return "Cancel"
End Get
End Property
#End Region ' Messages
' Definizione comandi
Private m_cmdNewMat As ICommand
Private m_cmdRemoveMat As ICommand
Private m_cmdBrowse As ICommand
Private m_cmdOk As ICommand
Private m_cmdCanel As ICommand
#End Region ' FIELDS & PROPERTIES
@@ -275,6 +285,29 @@ Public Class OptionWindowVM
End While
End Sub
Private Function AddNewMaterial() As Boolean
If Not String.IsNullOrWhiteSpace(m_NewMatName) Then
' Verifico che il nome non sia già utilizzato
Dim bNameExist As Boolean = False
For Each Material In m_MaterialList
If Material = m_NewMatName Then
bNameExist = True
Exit For
End If
Next
If Not bNameExist Then
'm_MaterialList.Add(m_NewMatName)
m_EnableOkNewMat = True
Return True
End If
End If
' ' Nascondo textbox per il nome
' NewMatName_Visibility = Visibility.Collapsed
' m_NewMatName = String.Empty
m_EnableOkNewMat = False
Return False
End Function
#End Region
#Region "COMMANDS"
@@ -302,6 +335,60 @@ Public Class OptionWindowVM
#End Region ' NewMatCommand
#Region "OkCommand"
''' <summary>
''' Returns a command that do Exec.
''' </summary>
Public ReadOnly Property OkCommand As ICommand
Get
If m_cmdOk Is Nothing Then
m_cmdOk = New Command(AddressOf OkMat)
End If
Return m_cmdOk
End Get
End Property
''' <summary>
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Sub OkMat(ByVal param As Object)
' aggiungo il materiale alla lista
m_MaterialList.Add(m_NewMatName)
' Nascondo textbox per il nome
NewMatName_Visibility = Visibility.Collapsed
m_NewMatName = String.Empty
NotifyPropertyChanged("NewMatName")
End Sub
#End Region ' OkCommand
#Region "CancelCommand"
''' <summary>
''' Returns a command that do Exec.
''' </summary>
Public ReadOnly Property CamcelCommand As ICommand
Get
If m_cmdCanel Is Nothing Then
m_cmdCanel = New Command(AddressOf CancelMat)
End If
Return m_cmdCanel
End Get
End Property
''' <summary>
''' Execute the Exec. This method is invoked by the ExecCommand.
''' </summary>
Public Sub CancelMat(ByVal param As Object)
' Nascondo textbox per il nome
NewMatName_Visibility = Visibility.Collapsed
m_NewMatName = String.Empty
NotifyPropertyChanged("NewMatName")
End Sub
#End Region ' CancelCommand
#Region "RemoveMatCommand"
''' <summary>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 B

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

+6 -3
View File
@@ -6,12 +6,14 @@
<!--Barra superiore dei comandi-->
<Button Command="{Binding NewCommand}"
ToolTip="{Binding NewToolTip}">
ToolTip="{Binding NewToolTip}"
Style="{StaticResource TopCmdBar_Button}">
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
</Button>
<ToggleButton IsChecked="{Binding Search_IsChecked}"
IsEnabled="{Binding Search_IsEnabled}"
ToolTip="{Binding SearchToolTip}">
ToolTip="{Binding SearchToolTip}"
Style="{StaticResource TopCmdBar_ToggleButton}">
<Image Source="/Resources/TopCommandBar/Search.png" Stretch="Uniform"/>
</ToggleButton>
<!--<Button Command="{Binding OpenCommand}"
@@ -41,7 +43,8 @@
</Button>-->
<Button Command="{Binding OptionsCommand}"
ToolTip="{Binding OptionsToolTip}"
IsEnabled="{Binding IsEnabled}">
IsEnabled="{Binding IsEnabled}"
Style="{StaticResource TopCmdBar_Button}">
<Image Source="/Resources/TopCommandBar/Options.png" Stretch="Uniform"/>
</Button>
+17
View File
@@ -156,6 +156,23 @@ Public Class TopCommandBarVM
Friend Sub NewCmd(Optional bUseDefaults As Boolean = False)
' passo alla libreria l'oggetto Camera che è stato inizializzato nel Omag-PHOTO
EgtPHOTOLib.MainData.SetCamera(Map.refMainWindowVM.m_Camera)
Dim bIsSaved As Boolean = False
If Not IsNothing(EgtPHOTOLib.PhotoMap.refProjectVM.SelSlab) Then
If EgtPHOTOLib.PhotoMap.refProjectVM.SelSlab.IsModified Then
' 91125: Salvare le modifiche correnti? - 92201: Avviso
If MessageBox.Show(EgtMsg(91125), EgtMsg(92201), MessageBoxButton.YesNo, MessageBoxImage.Asterisk) = MessageBoxResult.Yes Then
EgtPHOTOLib.PhotoMap.refOptionPanelVM.Save()
bIsSaved = True
End If
Else
bIsSaved = True
End If
If Not bIsSaved Then
EgtPHOTOLib.PhotoMap.refOptionPanelVM.Cancel(Nothing)
Else
EgtPHOTOLib.PhotoMap.refListPageVM.RefreshLisPage()
End If
End If
Map.refProjectVM.SelProjectMode = ProjectSlabVM.ProjectModeOpt.NEWSLAB
End Sub
+673 -427
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -139,7 +139,7 @@ Module Map
Not IsNothing(LibMap.refSceneHostVM) AndAlso
Not IsNothing(PhotoMap.refOptionPanelVM) AndAlso Not IsNothing(PhotoMap.refListPageVM) AndAlso
Not IsNothing(PhotoMap.refDetailPageVM) AndAlso Not IsNothing(PhotoMap.refSearchPanelVM) AndAlso
PhotoMap.ContninueApplication
PhotoMap.ContinueApplication
End Function
#End Region ' Init