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