diff --git a/Icarus/EgtMessageBox/EgtMessageBoxV.xaml.vb b/Icarus/EgtMessageBox/EgtMessageBoxV.xaml.vb index a49860c..390bae4 100644 --- a/Icarus/EgtMessageBox/EgtMessageBoxV.xaml.vb +++ b/Icarus/EgtMessageBox/EgtMessageBoxV.xaml.vb @@ -69,6 +69,7 @@ ''' Stringa che specifica il messaggio da mostrare ''' Stringa che specifica il titolo da mostrare ''' Valore che specifica quali bottoni mostrare + ''' Valore che specifica quale icona mostrare ''' Valore che specifica quale bottone e' stato premuto dall'utente Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage) As MessageBoxResult Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption, Button, Icon)) @@ -83,6 +84,8 @@ ''' Stringa che specifica il messaggio da mostrare ''' Stringa che specifica il titolo da mostrare ''' Valore che specifica quali bottoni mostrare + ''' Valore che specifica quale icona mostrare + ''' Valore che specifica il bottone di default ''' Valore che specifica quale bottone e' stato premuto dall'utente Public Overloads Shared Function Show(Owner As Window, sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage, DefaultResult As MessageBoxResult) As MessageBoxResult Dim NewMessagebox As New EgtMessageBoxV(Owner, New EgtMessageBoxVM(sMessageBoxText, sCaption, Button, Icon, DefaultResult)) diff --git a/Icarus/EgtMessageBox/EgtMessageBoxVM.vb b/Icarus/EgtMessageBox/EgtMessageBoxVM.vb index 037544a..76376d6 100644 --- a/Icarus/EgtMessageBox/EgtMessageBoxVM.vb +++ b/Icarus/EgtMessageBox/EgtMessageBoxVM.vb @@ -73,20 +73,12 @@ Public Class EgtMessageBoxVM End Sub Sub New(sMessageBoxText As String, sCaption As String) - EgtMsgBoxButton.SetOwner(Me) - m_sMessage = sMessageBoxText + MyClass.New(sMessageBoxText) m_sTitle = sCaption - m_Button = MessageBoxButton.OK - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.OK)) - m_Icon = MessageBoxImage.None - NotifyPropertyChanged(NameOf(ButtonList)) - NotifyPropertyChanged(NameOf(sIconSource)) End Sub Sub New(sMessageBoxText As String, sCaption As String, Button As MessageBoxButton) - EgtMsgBoxButton.SetOwner(Me) - m_sMessage = sMessageBoxText - m_sTitle = sCaption + MyClass.New(sMessageBoxText, sCaption) m_Button = Button Select Case m_Button Case MessageBoxButton.OK @@ -102,57 +94,25 @@ Public Class EgtMessageBoxVM m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.YES)) m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.NO)) End Select - m_Icon = MessageBoxImage.None NotifyPropertyChanged(NameOf(ButtonList)) - NotifyPropertyChanged(NameOf(sIconSource)) End Sub Sub New(sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage) - EgtMsgBoxButton.SetOwner(Me) - m_sMessage = sMessageBoxText - m_sTitle = sCaption - m_Button = Button - Select Case m_Button - Case MessageBoxButton.OK - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.OK)) - Case MessageBoxButton.OKCancel - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.OK)) - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.CANCEL)) - Case MessageBoxButton.YesNoCancel - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.YES)) - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.NO)) - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.CANCEL)) - Case MessageBoxButton.YesNo - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.YES)) - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.NO)) - End Select + MyClass.New(sMessageBoxText, sCaption, Button) m_Icon = Icon - NotifyPropertyChanged(NameOf(ButtonList)) NotifyPropertyChanged(NameOf(sIconSource)) End Sub Sub New(sMessageBoxText As String, sCaption As String, Button As MessageBoxButton, Icon As MessageBoxImage, DefaultResult As MessageBoxResult) - EgtMsgBoxButton.SetOwner(Me) - m_sMessage = sMessageBoxText - m_sTitle = sCaption - m_Button = Button - Select Case m_Button - Case MessageBoxButton.OK - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.OK, DefaultResult = MessageBoxResult.OK)) - Case MessageBoxButton.OKCancel - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.OK, DefaultResult = MessageBoxResult.OK)) - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.CANCEL, DefaultResult = MessageBoxResult.Cancel)) - Case MessageBoxButton.YesNoCancel - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.YES, DefaultResult = MessageBoxResult.Yes)) - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.NO, DefaultResult = MessageBoxResult.No)) - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.CANCEL, DefaultResult = MessageBoxResult.Cancel)) - Case MessageBoxButton.YesNo - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.YES, DefaultResult = MessageBoxResult.Yes)) - m_ButtonList.Add(New EgtMsgBoxButton(EgtMsgBoxButton.Types.NO, DefaultResult = MessageBoxResult.No)) - End Select - m_Icon = Icon + MyClass.New(sMessageBoxText, sCaption, Button, Icon) + Dim DefaultBtn As EgtMsgBoxButton = m_ButtonList.FirstOrDefault(Function(x) (x.Type = EgtMsgBoxButton.Types.OK AndAlso DefaultResult = MessageBoxResult.OK) OrElse + (x.Type = EgtMsgBoxButton.Types.CANCEL AndAlso DefaultResult = MessageBoxResult.Cancel) OrElse + (x.Type = EgtMsgBoxButton.Types.YES AndAlso DefaultResult = MessageBoxResult.Yes) OrElse + (x.Type = EgtMsgBoxButton.Types.NO AndAlso DefaultResult = MessageBoxResult.No)) + If Not IsNothing(DefaultBtn) Then + DefaultBtn.SetIsDefault(True) + End If NotifyPropertyChanged(NameOf(ButtonList)) - NotifyPropertyChanged(NameOf(sIconSource)) End Sub #End Region ' CONTRUCTORS @@ -183,6 +143,11 @@ Public Class EgtMsgBoxButton Private Shared Owner As EgtMessageBoxVM Private m_Type As Types + Public ReadOnly Property Type As Types + Get + Return m_Type + End Get + End Property Private m_sMessage As String Public ReadOnly Property sMessage As String @@ -197,7 +162,9 @@ Public Class EgtMsgBoxButton Return m_bIsDefault End Get End Property - + Friend Sub SetIsDefault(bValue As Boolean) + m_bIsDefault = bValue + End Sub ' Definizione comandi Private m_cmdCommand As ICommand