#define wxTEST_GENERIC_DIALOGS_IN_MSW 0
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
-#include <wx/generic/colrdlgg.h>
-#include <wx/generic/fontdlgg.h>
+#include "wx/generic/colrdlgg.h"
+#include "wx/generic/fontdlgg.h"
#endif
-#define wxUSE_DIRDLGG 1
+#define wxUSE_DIRDLGG 0
#if !defined(__WXMSW__) || defined(wxUSE_DIRDLGG) && wxUSE_DIRDLGG
#include "wx/generic/dirdlgg.h"
EVT_MENU(DIALOGS_FILES_OPEN, MyFrame::FilesOpen)
EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave)
EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose)
+#if defined(__WXMSW__) || defined(__WXMAC__)
EVT_MENU(DIALOGS_GENERIC_DIR_CHOOSE, MyFrame::GenericDirChoose)
+#endif // wxMSW || wxMAC
EVT_MENU(DIALOGS_MODAL, MyFrame::ModalDlg)
EVT_MENU(DIALOGS_MODELESS, MyFrame::ModelessDlg)
EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip)
file_menu->Append(DIALOGS_FILES_OPEN, "Open &files\tCtrl-Q");
file_menu->Append(DIALOGS_FILE_SAVE, "Sa&ve file\tCtrl-S");
file_menu->Append(DIALOGS_DIR_CHOOSE, "&Choose a directory\tCtrl-D");
+#if defined(__WXMSW__) || defined(__WXMAC__)
file_menu->Append(DIALOGS_GENERIC_DIR_CHOOSE, "&Choose a directory (generic implementation)");
+#endif // wxMSW || wxMAC
#if wxUSE_PROGRESSDLG
file_menu->Append(DIALOGS_PROGRESS, "Pro&gress dialog\tCtrl-G");
#endif // wxUSE_PROGRESSDLG
file_menu->Append(DIALOGS_REPLACE, "Find and &replace dialog\tShift-Ctrl-F", "", TRUE);
#endif // wxUSE_FINDREPLDLG
file_menu->AppendSeparator();
- file_menu->Append(DIALOGS_MODAL, "Mo&dal dialog\tCtrl-D");
+ file_menu->Append(DIALOGS_MODAL, "Mo&dal dialog\tCtrl-W");
file_menu->Append(DIALOGS_MODELESS, "Modeless &dialog\tCtrl-Z", "", TRUE);
file_menu->AppendSeparator();
file_menu->Append(wxID_EXIT, "E&xit\tAlt-X");
void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) )
{
- wxFontData data;
- data.SetInitialFont(wxGetApp().m_canvasFont);
- data.SetColour(wxGetApp().m_canvasTextColour);
+ wxFontData data;
+ data.SetInitialFont(wxGetApp().m_canvasFont);
+ data.SetColour(wxGetApp().m_canvasTextColour);
- wxFontDialog *dialog = new wxFontDialog(this, &data);
- if (dialog->ShowModal() == wxID_OK)
- {
- wxFontData retData = dialog->GetFontData();
+ // you might also do this:
+ //
+ // wxFontDialog dialog;
+ // if ( !dialog.Create(this, data) { ... error ... }
+ //
+ wxFontDialog dialog(this, data);
+
+ if (dialog.ShowModal() == wxID_OK)
+ {
+ wxFontData retData = dialog.GetFontData();
wxGetApp().m_canvasFont = retData.GetChosenFont();
wxGetApp().m_canvasTextColour = retData.GetColour();
myCanvas->Refresh();
- }
- dialog->Destroy();
+ }
+ //else: cancelled by the user, don't change the font
}
#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
void MyFrame::MessageBox(wxCommandEvent& WXUNUSED(event) )
{
wxMessageDialog dialog( NULL, "This is a message box\nA long, long string to test out the message box properly",
- "Message box text", wxYES_NO|wxCANCEL|wxICON_INFORMATION);
+ "Message box text", wxNO_DEFAULT|wxYES_NO|wxCANCEL|wxICON_INFORMATION);
+
+ switch ( dialog.ShowModal() )
+ {
+ case wxID_YES:
+ wxLogStatus(wxT("You pressed \"Yes\""));
+ break;
+
+ case wxID_NO:
+ wxLogStatus(wxT("You pressed \"No\""));
+ break;
- dialog.ShowModal();
+ case wxID_CANCEL:
+ wxLogStatus(wxT("You pressed \"Cancel\""));
+ break;
+
+ default:
+ wxLogError(wxT("Unexpected wxMessageDialog return code!"));
+ }
}
void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) )
}
}
+#if defined(__WXMSW__) || defined(__WXMAC__)
+
void MyFrame::GenericDirChoose(wxCommandEvent& WXUNUSED(event) )
{
#if !defined(__WXMSW__) || defined(wxUSE_DIRDLGG) && wxUSE_DIRDLGG
#endif
}
+#endif // wxMSW || wxMAC
+
void MyFrame::ModalDlg(wxCommandEvent& WXUNUSED(event))
{
MyModalDialog dlg(this);
{
wxWindowDisabler disableAll;
- wxBusyInfo info("Sleep^H^H^H^H^HWorkiing, please wait...", this);
+ wxBusyInfo info("Working, please wait...", this);
for ( int i = 0; i < 30; i++ )
{
m_btnFocused = new wxButton(this, -1, "Default button");
m_btnDelete = new wxButton(this, -1, "&Delete button");
+ wxButton *btnOk = new wxButton(this, wxID_CANCEL, "&Close");
sizerTop->Add(m_btnFocused, 0, wxALIGN_CENTER | wxALL, 5);
sizerTop->Add(m_btnDelete, 0, wxALIGN_CENTER | wxALL, 5);
+ sizerTop->Add(btnOk, 0, wxALIGN_CENTER | wxALL, 5);
SetAutoLayout(TRUE);
SetSizer(sizerTop);