#include <wx/fontdlg.h>
#include <wx/choicdlg.h>
-#if !defined(__WXMSW__) || USE_GENERIC_DIALOGS_IN_MSW
+#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>
#endif
IMPLEMENT_APP(MyApp)
-MyCanvas *myCanvas = NULL;
-
-// A macro needed for some compilers (AIX) that need 'main' to be defined
-// in the application itself.
-IMPLEMENT_WXWIN_MAIN
+MyCanvas *myCanvas = (MyCanvas *) NULL;
// `Main program' equivalent, creating windows and returning main app frame
bool MyApp::OnInit(void)
{
+#if defined(__WXGTK__) && defined(wxUSE_UNICODE)
+ wxConvCurrent = &wxConvLocal;
+#endif
+
m_canvasTextColour = wxColour("BLACK");
m_canvasFont = *wxNORMAL_FONT;
// Create the main frame window
- MyFrame *frame = new MyFrame(NULL, "wxWindows dialogs example", wxPoint(50, 50), wxSize(400, 300));
+ MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "wxWindows dialogs example", wxPoint(50, 50), wxSize(400, 300));
// Make a menubar
wxMenu *file_menu = new wxMenu;
file_menu->Append(DIALOGS_CHOOSE_COLOUR, "&Choose colour");
-#if !defined(__WXMSW__) || USE_GENERIC_DIALOGS_IN_MSW
+#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
file_menu->Append(DIALOGS_CHOOSE_COLOUR_GENERIC, "Choose colour (&generic)");
#endif
file_menu->AppendSeparator();
file_menu->Append(DIALOGS_CHOOSE_FONT, "Choose &font");
-#if !defined(__WXMSW__) || USE_GENERIC_DIALOGS_IN_MSW
+#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
file_menu->Append(DIALOGS_CHOOSE_FONT_GENERIC, "Choose f&ont (generic)");
#endif
myCanvas->Clear();
myCanvas->Refresh();
}
- dialog->Close();
+ dialog->Destroy();
}
void MyFrame::ChooseFont(wxCommandEvent& WXUNUSED(event) )
wxGetApp().m_canvasTextColour = retData.GetColour();
myCanvas->Refresh();
}
- dialog->Close();
+ dialog->Destroy();
}
-#if !defined(__WXMSW__) || USE_GENERIC_DIALOGS_IN_MSW
+#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
void MyFrame::ChooseColourGeneric(wxCommandEvent& WXUNUSED(event))
{
wxColourData data;
myCanvas->Clear();
myCanvas->Refresh();
}
- dialog->Close();
+ dialog->Destroy();
}
void MyFrame::ChooseFontGeneric(wxCommandEvent& WXUNUSED(event) )
wxGetApp().m_canvasTextColour = retData.GetColour();
myCanvas->Refresh();
}
- dialog->Close();
+ dialog->Destroy();
}
#endif
void MyFrame::MessageBox(wxCommandEvent& WXUNUSED(event) )
{
- wxMessageDialog dialog(this, "This is a message box\nA long, long string to test out the message box properly",
+ 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);
dialog.ShowModal();
+
+ ::wxMessageBox("MsgBox with a really long long string",
+ "this is the text", wxYES_NO|wxICON_EXCLAMATION);
}
void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event) )
if (dialog.ShowModal() == wxID_OK)
{
- wxMessageDialog dialog2(this, dialog.GetPath(), "Selected path");
+ wxString info;
+ info.Printf(_T("Full file name: %s\n")
+ _T("Path: %s\n")
+ _T("Name: %s"),
+ dialog.GetPath().c_str(),
+ dialog.GetDirectory().c_str(),
+ dialog.GetFilename().c_str());
+ wxMessageDialog dialog2(this, info, "Selected file");
dialog2.ShowModal();
}
}
if (dialog.ShowModal() == wxID_OK)
{
- char buf[400];
- sprintf(buf, "%s, filter %d", (const char *)dialog.GetPath(), dialog.GetFilterIndex());
+ wxChar buf[400];
+ wxSprintf(buf, _T("%s, filter %d"), (const wxChar*)dialog.GetPath(), dialog.GetFilterIndex());
wxMessageDialog dialog2(this, wxString(buf), "Selected path");
dialog2.ShowModal();
}
void MyFrame::DirChoose(wxCommandEvent& WXUNUSED(event) )
{
-#ifndef __WXGTK__
wxDirDialog dialog(this, "Testing directory picker", "");
if (dialog.ShowModal() == wxID_OK)
wxMessageDialog dialog2(this, dialog.GetPath(), "Selected path");
dialog2.ShowModal();
}
-#endif
}
void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) )
EVT_MENU(DIALOGS_FILE_OPEN, MyFrame::FileOpen)
EVT_MENU(DIALOGS_FILE_SAVE, MyFrame::FileSave)
EVT_MENU(DIALOGS_DIR_CHOOSE, MyFrame::DirChoose)
-#if !defined(__WXMSW__) || USE_GENERIC_DIALOGS_IN_MSW
+#if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC, MyFrame::ChooseColourGeneric)
EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC, MyFrame::ChooseFontGeneric)
#endif