X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4e2dc7895b298774d54a6f9e73855c116dfd8851..a4130412a327257e6c2f0f18e98c818312caf9ba:/samples/dialogs/dialogs.h diff --git a/samples/dialogs/dialogs.h b/samples/dialogs/dialogs.h index 0dd71405a5..54a2fe3138 100644 --- a/samples/dialogs/dialogs.h +++ b/samples/dialogs/dialogs.h @@ -1,12 +1,13 @@ ///////////////////////////////////////////////////////////////////////////// // 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 -// Licence: wxWindows license +// (c) 2004 ABX +// (c) Vadim Zeitlin +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /* @@ -98,15 +99,42 @@ 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(); + MyApp() { m_startupProgressStyle = -1; } + + virtual bool OnInit(); - wxFont m_canvasFont; - wxColour m_canvasTextColour; +#if wxUSE_CMDLINE_PARSER + virtual void OnInitCmdLine(wxCmdLineParser& parser); + virtual bool OnCmdLineParsed(wxCmdLineParser& parser); +#endif // wxUSE_CMDLINE_PARSER + +protected: +#if wxUSE_LOG + virtual wxAppTraits *CreateTraits() { return new MyAppTraits; } +#endif // wxUSE_LOG + +private: + // Flag set to a valid value if command line option "progress" is used, + // this allows testing of wxProgressDialog before the main event loop is + // started. If this option is not specified it is set to -1 by default + // meaning that progress dialog shouldn't be shown at all. + long m_startupProgressStyle; }; #if USE_MODAL_PRESENTATION @@ -177,30 +205,55 @@ class TestMessageBoxDialog : public wxDialog public: TestMessageBoxDialog(wxWindow *parent); -private: + bool Create(); + +protected: + wxString GetBoxTitle() { return m_textTitle->GetValue(); } + wxString GetMessage() { return m_textMsg->GetValue(); } + long GetStyle(); + + void PrepareMessageDialog(wxMessageDialogBase &dlg); + + virtual void AddAdditionalTextOptions(wxSizer *WXUNUSED(sizer)) { } + virtual void AddAdditionalFlags(wxSizer *WXUNUSED(sizer)) { } + void OnApply(wxCommandEvent& event); void OnClose(wxCommandEvent& event); void OnUpdateLabelUI(wxUpdateUIEvent& event); void OnUpdateNoDefaultUI(wxUpdateUIEvent& event); +private: enum { Btn_Yes, Btn_No, Btn_Ok, Btn_Cancel, + Btn_Help, Btn_Max }; struct BtnInfo { int flag; - wxString name; + const char *name; }; - static BtnInfo ms_btnInfo[Btn_Max]; + static const BtnInfo ms_btnInfo[Btn_Max]; + + enum + { + MsgDlgIcon_No, + MsgDlgIcon_None, + MsgDlgIcon_Info, + MsgDlgIcon_Question, + MsgDlgIcon_Warning, + MsgDlgIcon_Error, + MsgDlgIcon_Max + }; - wxTextCtrl *m_textMsg, + wxTextCtrl *m_textTitle, + *m_textMsg, *m_textExtMsg; wxCheckBox *m_buttons[Btn_Max]; @@ -212,16 +265,41 @@ private: *m_chkCentre; DECLARE_EVENT_TABLE() - DECLARE_NO_COPY_CLASS(TestMessageBoxDialog) + wxDECLARE_NO_COPY_CLASS(TestMessageBoxDialog); }; +#if wxUSE_RICHMSGDLG +class TestRichMessageDialog : public TestMessageBoxDialog +{ +public: + TestRichMessageDialog(wxWindow *parent); + +protected: + // overrides method in base class + virtual void AddAdditionalTextOptions(wxSizer *sizer); + virtual void AddAdditionalFlags(wxSizer *sizer); + + void OnApply(wxCommandEvent& event); + +private: + wxTextCtrl *m_textCheckBox; + wxCheckBox *m_initialValueCheckBox; + wxTextCtrl *m_textDetailed; + + DECLARE_EVENT_TABLE() +}; +#endif // wxUSE_RICHMSGDLG + class TestDefaultActionDialog: public wxDialog { public: TestDefaultActionDialog( wxWindow *parent ); void OnListBoxDClick(wxCommandEvent& event); + void OnDisableOK(wxCommandEvent& event); + void OnDisableCancel(wxCommandEvent& event); void OnCatchListBoxDClick(wxCommandEvent& event); + void OnTextEnter(wxCommandEvent& event); private: bool m_catchListBoxDClick; @@ -267,14 +345,19 @@ 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); + void MessageBoxWindowModal(wxCommandEvent& event); + void MessageBoxWindowModalClosed(wxWindowModalDialogEvent& event); #endif // wxUSE_MSGDLG +#if wxUSE_RICHMSGDLG + void RichMessageDialog(wxCommandEvent& event); +#endif // wxUSE_RICHMSGDLG #if wxUSE_COLOURDLG void ChooseColour(wxCommandEvent& event); @@ -289,12 +372,20 @@ public: void LogDialog(wxCommandEvent& event); #endif // wxUSE_LOG_DIALOG +#if wxUSE_INFOBAR + void InfoBarSimple(wxCommandEvent& event); + void InfoBarAdvanced(wxCommandEvent& event); +#endif // wxUSE_INFOBAR + #if wxUSE_CHOICEDLG void SingleChoice(wxCommandEvent& event); void MultiChoice(wxCommandEvent& event); #endif // wxUSE_CHOICEDLG + void Rearrange(wxCommandEvent& event); + #if wxUSE_TEXTDLG + void LineEntry(wxCommandEvent& event); void TextEntry(wxCommandEvent& event); void PasswordEntry(wxCommandEvent& event); #endif // wxUSE_TEXTDLG @@ -376,6 +467,10 @@ public: void OnNotifMsgHide(wxCommandEvent& event); #endif // wxUSE_NOTIFICATION_MESSAGE +#if wxUSE_RICHTOOLTIP + void OnRichTipDialog(wxCommandEvent& event); +#endif // wxUSE_RICHTOOLTIP + void OnStandardButtonsSizerDialog(wxCommandEvent& event); void OnTestDefaultActionDialog(wxCommandEvent& event); @@ -404,15 +499,30 @@ private: wxColourData m_clrData; + // just a window which we use to show the effect of font/colours selection + wxWindow *m_canvas; + +#if wxUSE_INFOBAR + void OnInfoBarRedo(wxCommandEvent& event); + + wxInfoBar *m_infoBarSimple, + *m_infoBarAdvanced; +#endif // wxUSE_INFOBAR + 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() @@ -428,10 +538,14 @@ enum DIALOGS_CHOOSE_FONT, DIALOGS_CHOOSE_FONT_GENERIC, DIALOGS_MESSAGE_BOX, + DIALOGS_MESSAGE_BOX_WINDOW_MODAL, DIALOGS_MESSAGE_DIALOG, DIALOGS_MESSAGE_BOX_WXINFO, + DIALOGS_RICH_MESSAGE_DIALOG, DIALOGS_SINGLE_CHOICE, DIALOGS_MULTI_CHOICE, + DIALOGS_REARRANGE, + DIALOGS_LINE_ENTRY, DIALOGS_TEXT_ENTRY, DIALOGS_PASSWORD_ENTRY, DIALOGS_FILE_OPEN, @@ -447,6 +561,8 @@ enum DIALOGS_TIP, DIALOGS_NUM_ENTRY, DIALOGS_LOG_DIALOG, + DIALOGS_INFOBAR_SIMPLE, + DIALOGS_INFOBAR_ADVANCED, DIALOGS_MODAL, DIALOGS_MODELESS, DIALOGS_CENTRE_SCREEN, @@ -466,6 +582,7 @@ enum DIALOGS_NOTIFY_AUTO, DIALOGS_NOTIFY_SHOW, DIALOGS_NOTIFY_HIDE, + DIALOGS_RICHTIP_DIALOG, DIALOGS_PROPERTY_SHEET, DIALOGS_PROPERTY_SHEET_TOOLBOOK, DIALOGS_PROPERTY_SHEET_BUTTONTOOLBOOK,