/////////////////////////////////////////////////////////////////////////////
// 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
/////////////////////////////////////////////////////////////////////////////
/*
public:
virtual bool OnInit();
- wxFont m_canvasFont;
- wxColour m_canvasTextColour;
-
protected:
#if wxUSE_LOG
virtual wxAppTraits *CreateTraits() { return new MyAppTraits; }
public:
TestMessageBoxDialog(wxWindow *parent);
-private:
+ bool Create();
+
+protected:
+ 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,
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,
*m_textExtMsg;
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:
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);
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);
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()
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_TIP,
DIALOGS_NUM_ENTRY,
DIALOGS_LOG_DIALOG,
+ DIALOGS_INFOBAR_SIMPLE,
+ DIALOGS_INFOBAR_ADVANCED,
DIALOGS_MODAL,
DIALOGS_MODELESS,
DIALOGS_CENTRE_SCREEN,