X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8ce68f7fc03beda6b7cbfdd7180a8f7f7eee952d..ffa50e73618bab4f57ea423b9178a9c08b44433a:/samples/dialogs/dialogs.h diff --git a/samples/dialogs/dialogs.h b/samples/dialogs/dialogs.h index 36836f1d3a..fe0b0638a9 100644 --- a/samples/dialogs/dialogs.h +++ b/samples/dialogs/dialogs.h @@ -1,11 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// // Name: dialogs.h // Purpose: Common dialogs demo -// Author: Julian Smart -// Modified by: ABX (2004) - adjustementd for conditional building +// Author: Julian Smart, Vadim Zeitlin, ABX // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart +// (c) 2004 ABX +// (c) Vadim Zeitlin // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// @@ -98,15 +99,28 @@ of MSW, MAC and OS2 #define USE_SETTINGS_DIALOG 0 #endif +#if wxUSE_LOG + +// Custom application traits class which we use to override the default log +// target creation +class MyAppTraits : public wxGUIAppTraits +{ +public: + virtual wxLog *CreateLogTarget(); +}; + +#endif // wxUSE_LOG // Define a new application type class MyApp: public wxApp { public: - bool OnInit(); + virtual bool OnInit(); - wxFont m_canvasFont; - wxColour m_canvasTextColour; +protected: +#if wxUSE_LOG + virtual wxAppTraits *CreateTraits() { return new MyAppTraits; } +#endif // wxUSE_LOG }; #if USE_MODAL_PRESENTATION @@ -142,6 +156,7 @@ private: #endif // USE_MODAL_PRESENTATION +// A class demonstrating CreateStdDialogButtonSizer() class StdButtonSizerDialog : public wxDialog { public: @@ -170,14 +185,58 @@ private: DECLARE_EVENT_TABLE() }; +// Test harness for wxMessageDialog. +class TestMessageBoxDialog : public wxDialog +{ +public: + TestMessageBoxDialog(wxWindow *parent); + +private: + void OnApply(wxCommandEvent& event); + void OnClose(wxCommandEvent& event); + void OnUpdateLabelUI(wxUpdateUIEvent& event); + void OnUpdateNoDefaultUI(wxUpdateUIEvent& event); + + enum + { + Btn_Yes, + Btn_No, + Btn_Ok, + Btn_Cancel, + Btn_Max + }; + + struct BtnInfo + { + int flag; + const char *name; + }; + + static const BtnInfo ms_btnInfo[Btn_Max]; + + wxTextCtrl *m_textMsg, + *m_textExtMsg; + + wxCheckBox *m_buttons[Btn_Max]; + wxTextCtrl *m_labels[Btn_Max]; + + wxRadioBox *m_icons; + + wxCheckBox *m_chkNoDefault, + *m_chkCentre; + + DECLARE_EVENT_TABLE() + wxDECLARE_NO_COPY_CLASS(TestMessageBoxDialog); +}; + class TestDefaultActionDialog: public wxDialog { public: TestDefaultActionDialog( wxWindow *parent ); - + void OnListBoxDClick(wxCommandEvent& event); void OnCatchListBoxDClick(wxCommandEvent& event); - + private: bool m_catchListBoxDClick; @@ -222,11 +281,12 @@ DECLARE_EVENT_TABLE() class MyFrame: public wxFrame { public: - MyFrame(wxWindow *parent, const wxString& title); + MyFrame(const wxString& title); virtual ~MyFrame(); #if wxUSE_MSGDLG void MessageBox(wxCommandEvent& event); + void MessageBoxDialog(wxCommandEvent& event); void MessageBoxInfo(wxCommandEvent& event); #endif // wxUSE_MSGDLG @@ -248,6 +308,8 @@ public: void MultiChoice(wxCommandEvent& event); #endif // wxUSE_CHOICEDLG + void Rearrange(wxCommandEvent& event); + #if wxUSE_TEXTDLG void TextEntry(wxCommandEvent& event); void PasswordEntry(wxCommandEvent& event); @@ -331,9 +393,9 @@ public: #endif // wxUSE_NOTIFICATION_MESSAGE void OnStandardButtonsSizerDialog(wxCommandEvent& event); - + void OnTestDefaultActionDialog(wxCommandEvent& event); - + void OnExit(wxCommandEvent& event); private: @@ -358,15 +420,23 @@ private: wxColourData m_clrData; + // just a window which we use to show the effect of font/colours selection + wxWindow *m_canvas; + DECLARE_EVENT_TABLE() }; class MyCanvas: public wxScrolledWindow { public: - MyCanvas(wxWindow *parent) : - wxScrolledWindow(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxNO_FULL_REPAINT_ON_RESIZE) { } + MyCanvas(wxWindow *parent) : wxScrolledWindow(parent, wxID_ANY) + { + SetForegroundColour(*wxBLACK); + SetBackgroundColour(*wxWHITE); + SetFont(*wxNORMAL_FONT); + } +private: void OnPaint(wxPaintEvent& event); DECLARE_EVENT_TABLE() @@ -382,9 +452,11 @@ enum DIALOGS_CHOOSE_FONT, DIALOGS_CHOOSE_FONT_GENERIC, DIALOGS_MESSAGE_BOX, + DIALOGS_MESSAGE_DIALOG, DIALOGS_MESSAGE_BOX_WXINFO, DIALOGS_SINGLE_CHOICE, DIALOGS_MULTI_CHOICE, + DIALOGS_REARRANGE, DIALOGS_TEXT_ENTRY, DIALOGS_PASSWORD_ENTRY, DIALOGS_FILE_OPEN,