Imports System.Collections.ObjectModel Imports System.IO Imports EgtUILib Imports EgtWPFLib5 Imports EgtPHOTOLib Public Class TopCommandBarVM Inherits VMBase #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 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" ''' ''' Returns a command that do New. ''' 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 ''' ''' Execute the New. This method is invoked by the NewCommand. ''' 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) Map.refProjectVM.SelProjectMode = ProjectSlabVM.ProjectModeOpt.NEWSLAB End Sub #End Region ' NewCommand #Region "OpenCommand" ''' ''' Returns a command that do Open. ''' 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 ''' ''' Execute the Open. This method is invoked by the OpenCommand. ''' 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" ''' ''' Returns a command that do Open. ''' 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 ''' ''' Execute the Open. This method is invoked by the OpenCommand. ''' Public Sub OpenMruFile(ByVal param As Object) OpenProject(DirectCast(param, String).Replace("__", "_")) End Sub #End Region ' OpenMruFileCommand #Region "SaveCommand" ''' ''' Returns a command that do Save. ''' 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 ''' ''' Execute the Save. This method is invoked by the SaveCommand. ''' Public Sub Save(ByVal param As Object) Map.refSceneHostVM.SaveProject() End Sub #End Region ' SaveCommand #Region "SaveAsCommand" ''' ''' Returns a command that do SaveAs. ''' 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 ''' ''' Execute the SaveAs. This method is invoked by the SaveAsCommand. ''' Public Sub SaveAs(ByVal param As Object) Map.refSceneHostVM.SaveAsProject() End Sub #End Region ' SaveAsCommand #Region "ExportCommand" ''' ''' Returns a command that do Export. ''' 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 ''' ''' Execute the Export. This method is invoked by the ExportCommand. ''' Public Sub Export(ByVal param As Object) Map.refSceneHostVM.ExportProject() End Sub #End Region ' ExportCommand #Region "OptionsCommand" ''' ''' Returns a command that do Export. ''' 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 ''' ''' Execute the Export. This method is invoked by the ExportCommand. ''' 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