Compare commits

..

42 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
14 changed files with 855 additions and 444 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, 2310, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2310, 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.10.1")>
<Assembly: AssemblyFileVersion("2.3.10.1")>
<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
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