338 lines
9.5 KiB
VB.net
338 lines
9.5 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
Imports EgtPHOTOLib
|
|
|
|
Public Class TopCommandBarVM
|
|
Inherits VMBase
|
|
|
|
Private m_bFirstResearch As Boolean = True
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
Friend m_MruFiles As New MruList
|
|
Public ReadOnly Property MruFileNames As ObservableCollection(Of String)
|
|
Get
|
|
Return m_MruFiles.FileNames
|
|
End Get
|
|
End Property
|
|
|
|
Private m_Search_IsChecked As Boolean = False
|
|
Public Property Search_IsChecked As Boolean
|
|
Get
|
|
Return m_Search_IsChecked
|
|
End Get
|
|
Set(value As Boolean)
|
|
If value Then
|
|
If m_bFirstResearch Then
|
|
' Resetto la data corrente per la prima ricerca
|
|
PhotoMap.refSearchPanelVM.StartAddedDate = Nothing
|
|
PhotoMap.refSearchPanelVM.NotifyPropertyChanged("StartAddedDate")
|
|
PhotoMap.refSearchPanelVM.EndAddedDate = Nothing
|
|
PhotoMap.refSearchPanelVM.NotifyPropertyChanged("EndAddedDate")
|
|
m_bFirstResearch = False
|
|
End If
|
|
PhotoMap.refSearchPanelVM.InitSearchPanel()
|
|
|
|
Else
|
|
PhotoMap.refListPageVM.InitListPage()
|
|
End If
|
|
m_Search_IsChecked = value
|
|
PhotoMap.refSearchPanelVM.SetSearchPanel_Visibility(m_Search_IsChecked)
|
|
NotifyPropertyChanged("Search_IsChecked")
|
|
End Set
|
|
End Property
|
|
Friend Sub SetSearch_IsChecked(value As Boolean)
|
|
m_Search_IsChecked = value
|
|
Map.refSearchPanelVM.SetSearchPanel_Visibility(m_Search_IsChecked)
|
|
PhotoMap.refSearchPanelVM.SetSearch_IsChecked(value)
|
|
NotifyPropertyChanged("Search_IsChecked")
|
|
End Sub
|
|
|
|
Private m_Search_IsEnabled As Boolean = True
|
|
Public Property Search_IsEnabled As Boolean
|
|
Get
|
|
Return m_Search_IsEnabled
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_Search_IsEnabled = value
|
|
PhotoMap.refSearchPanelVM.Search_IsEnabled = m_Search_IsEnabled
|
|
NotifyPropertyChanged("Search_IsEnabled")
|
|
End Set
|
|
End Property
|
|
Public Sub SetSearch_IsEnable()
|
|
m_Search_IsEnabled = EgtPHOTOLib.PhotoMap.refSearchPanelVM.Search_IsEnabled
|
|
NotifyPropertyChanged("Search_IsEnabled")
|
|
End Sub
|
|
|
|
' Definizione comandi
|
|
Private m_cmdNew As ICommand
|
|
Private m_cmdOpen As ICommand
|
|
Private m_cmdOpenMruFile As ICommand
|
|
Private m_cmdSave As ICommand
|
|
Private m_cmdSaveAs As ICommand
|
|
Private m_cmdExport As ICommand
|
|
Private m_cmdOptions As ICommand
|
|
Private m_cmdSendFeedback As ICommand
|
|
|
|
#Region "ToolTip"
|
|
|
|
'Proprietà ToolTip
|
|
Public ReadOnly Property NewToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 1)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property SearchToolTip As String
|
|
Get
|
|
Return EgtMsg(92151)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property OpenToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 2)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property SaveToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 3)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property SaveAsToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 4)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property InsertToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 5)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property ImportToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 6)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property ExportToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 7)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property OptionsToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 9)
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property SendFeedbackToolTip As String
|
|
Get
|
|
Return EgtMsg(MSG_TOPCOMMANDBAR + 13)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' ToolTip
|
|
|
|
#End Region ' Fields & Properties
|
|
|
|
#Region "CONSTRUCTOR"
|
|
|
|
Sub New()
|
|
' Creo riferimento a questa classe in Map
|
|
Map.SetRefTopCommandBarVM(Me)
|
|
' Impostazioni MruLists
|
|
m_MruFiles.Init(S_MRUFILES, 8)
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTOR
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "NewCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do New.
|
|
''' </summary>
|
|
Public ReadOnly Property NewCommand As ICommand
|
|
Get
|
|
If m_cmdNew Is Nothing Then
|
|
m_cmdNew = New Command(AddressOf NewCmd)
|
|
End If
|
|
Return m_cmdNew
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the New. This method is invoked by the NewCommand.
|
|
''' </summary>
|
|
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
|
|
|
|
#End Region ' NewCommand
|
|
|
|
#Region "OpenCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Open.
|
|
''' </summary>
|
|
Public ReadOnly Property OpenCommand As ICommand
|
|
Get
|
|
If m_cmdOpen Is Nothing Then
|
|
m_cmdOpen = New Command(AddressOf Open)
|
|
End If
|
|
Return m_cmdOpen
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Open. This method is invoked by the OpenCommand.
|
|
''' </summary>
|
|
Friend Sub Open()
|
|
OpenProject(String.Empty)
|
|
End Sub
|
|
|
|
Friend Sub OpenProject(sFilePath As String)
|
|
Map.refSceneHostVM.OpenProject(sFilePath)
|
|
End Sub
|
|
|
|
#End Region ' OpenCommand
|
|
|
|
#Region "OpenMruFileCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Open.
|
|
''' </summary>
|
|
Public ReadOnly Property OpenMruFileCommand As ICommand
|
|
Get
|
|
If m_cmdOpenMruFile Is Nothing Then
|
|
m_cmdOpenMruFile = New Command(AddressOf OpenMruFile)
|
|
End If
|
|
Return m_cmdOpenMruFile
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Open. This method is invoked by the OpenCommand.
|
|
''' </summary>
|
|
Public Sub OpenMruFile(ByVal param As Object)
|
|
OpenProject(DirectCast(param, String).Replace("__", "_"))
|
|
End Sub
|
|
|
|
#End Region ' OpenMruFileCommand
|
|
|
|
#Region "SaveCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Save.
|
|
''' </summary>
|
|
Public ReadOnly Property SaveCommand As ICommand
|
|
Get
|
|
If m_cmdSave Is Nothing Then
|
|
m_cmdSave = New Command(AddressOf Save)
|
|
End If
|
|
Return m_cmdSave
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Save. This method is invoked by the SaveCommand.
|
|
''' </summary>
|
|
Public Sub Save(ByVal param As Object)
|
|
Map.refSceneHostVM.SaveProject()
|
|
End Sub
|
|
|
|
#End Region ' SaveCommand
|
|
|
|
#Region "SaveAsCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do SaveAs.
|
|
''' </summary>
|
|
Public ReadOnly Property SaveAsCommand As ICommand
|
|
Get
|
|
If m_cmdSaveAs Is Nothing Then
|
|
m_cmdSaveAs = New Command(AddressOf SaveAs)
|
|
End If
|
|
Return m_cmdSaveAs
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the SaveAs. This method is invoked by the SaveAsCommand.
|
|
''' </summary>
|
|
Public Sub SaveAs(ByVal param As Object)
|
|
Map.refSceneHostVM.SaveAsProject()
|
|
End Sub
|
|
|
|
#End Region ' SaveAsCommand
|
|
|
|
#Region "ExportCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Export.
|
|
''' </summary>
|
|
Public ReadOnly Property ExportCommand As ICommand
|
|
Get
|
|
If m_cmdExport Is Nothing Then
|
|
m_cmdExport = New Command(AddressOf Export)
|
|
End If
|
|
Return m_cmdExport
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Export. This method is invoked by the ExportCommand.
|
|
''' </summary>
|
|
Public Sub Export(ByVal param As Object)
|
|
Map.refSceneHostVM.ExportProject()
|
|
End Sub
|
|
|
|
#End Region ' ExportCommand
|
|
|
|
#Region "OptionsCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Export.
|
|
''' </summary>
|
|
Public ReadOnly Property OptionsCommand As ICommand
|
|
Get
|
|
If m_cmdOptions Is Nothing Then
|
|
m_cmdOptions = New Command(AddressOf Options)
|
|
End If
|
|
Return m_cmdOptions
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Export. This method is invoked by the ExportCommand.
|
|
''' </summary>
|
|
Public Sub Options(ByVal param As Object)
|
|
Dim OptionWindow As New OptionWindowV(Application.Current.MainWindow, New OptionWindowVM)
|
|
OptionWindow.ShowDialog()
|
|
End Sub
|
|
|
|
#End Region ' OptionsCommand
|
|
|
|
#End Region ' Commands
|
|
|
|
End Class
|