#include "wx/msgdlg.h"
#include "wx/artprov.h"
#include "wx/textwrapper.h"
+#include "wx/modalhook.h"
#if wxUSE_STATLINE
#include "wx/statline.h"
BEGIN_EVENT_TABLE(wxGenericMessageDialog, wxDialog)
EVT_BUTTON(wxID_YES, wxGenericMessageDialog::OnYes)
EVT_BUTTON(wxID_NO, wxGenericMessageDialog::OnNo)
+ EVT_BUTTON(wxID_HELP, wxGenericMessageDialog::OnHelp)
EVT_BUTTON(wxID_CANCEL, wxGenericMessageDialog::OnCancel)
END_EVENT_TABLE()
btnDef = yes;
}
+ if ( m_dialogStyle & wxHELP )
+ {
+ wxButton * const
+ help = new wxButton(this, wxID_HELP, GetCustomHelpLabel());
+ sizerStd->AddButton(help);
+ }
+
if ( btnDef )
{
btnDef->SetDefault();
// Use standard labels for all buttons
return CreateSeparatedButtonSizer
(
- m_dialogStyle & (wxOK | wxCANCEL | wxYES_NO |
+ m_dialogStyle & (wxOK | wxCANCEL | wxHELP | wxYES_NO |
wxNO_DEFAULT | wxCANCEL_DEFAULT)
);
}
{
wxDialog::Create(m_parent, wxID_ANY, m_caption, m_pos, wxDefaultSize, wxDEFAULT_DIALOG_STYLE);
- bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
-
wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
wxBoxSizer *icon_text = new wxBoxSizer( wxHORIZONTAL );
wxID_ANY,
wxArtProvider::GetMessageBoxIcon(m_dialogStyle)
);
- if (is_pda)
+ if ( wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA )
topsizer->Add( icon, 0, wxTOP|wxLEFT|wxRIGHT | wxALIGN_LEFT, 10 );
else
icon_text->Add(icon, wxSizerFlags().Top().Border(wxRIGHT, 20));
textsizer->Add(CreateTextSizer(lowerMessage));
icon_text->Add(textsizer, 0, wxALIGN_CENTER, 10);
- topsizer->Add( icon_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 );
+ topsizer->Add( icon_text, 1, wxLEFT|wxRIGHT|wxTOP, 10 );
#endif // wxUSE_STATTEXT
// 3) optional checkbox and detailed text
AddMessageDialogDetails( topsizer );
// 4) buttons
- int center_flag = wxEXPAND;
- if (m_dialogStyle & wxYES_NO)
- center_flag = wxALIGN_CENTRE;
wxSizer *sizerBtn = CreateMsgDlgButtonSizer();
if ( sizerBtn )
- topsizer->Add(sizerBtn, 0, center_flag | wxALL, 10 );
+ topsizer->Add(sizerBtn, 0, wxEXPAND | wxALL, 10 );
SetAutoLayout( true );
SetSizer( topsizer );
EndModal( wxID_NO );
}
+void wxGenericMessageDialog::OnHelp(wxCommandEvent& WXUNUSED(event))
+{
+ EndModal( wxID_HELP );
+}
+
void wxGenericMessageDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
{
// Allow cancellation via ESC/Close button except if
int wxGenericMessageDialog::ShowModal()
{
+ WX_HOOK_MODAL_DIALOG();
+
if ( !m_created )
{
m_created = true;