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