#include "wx/panel.h"
-WXDLLEXPORT_DATA(extern const wxChar*) wxDialogNameStr;
+extern WXDLLEXPORT_DATA(const wxChar*) wxDialogNameStr;
class WXDLLEXPORT wxDialogModalData;
public:
wxDialog() { Init(); }
- // Constructor with a modal flag, but no window id - the old convention
- wxDialog(wxWindow *parent,
- const wxString& title, bool modal,
- int x = -1, int y= -1, int width = 500, int height = 500,
- long style = wxDEFAULT_DIALOG_STYLE,
- const wxString& name = wxDialogNameStr)
- {
- Init();
-
- long modalStyle = modal ? wxDIALOG_MODAL : wxDIALOG_MODELESS ;
- Create(parent, -1, title, wxPoint(x, y), wxSize(width, height),
- style | modalStyle, name);
- }
-
- // Constructor with no modal flag - the new convention.
+ // full ctor
wxDialog(wxWindow *parent, wxWindowID id,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
virtual ~wxDialog();
- void SetModal(bool flag);
- virtual bool IsModal() const;
+ // return true if we're showing the dialog modally
+ virtual bool IsModal() const { return m_modalData != NULL; }
- // For now, same as Show(TRUE) but returns return code
+ // show the dialog modally and return the value passed to EndModal()
virtual int ShowModal();
// may be called to terminate the dialog with the given return code
virtual void EndModal(int retCode);
- // returns TRUE if we're in a modal loop
- bool IsModalShowing() const;
-
// implementation only from now on
// -------------------------------
// override some base class virtuals
- virtual bool Show(bool show = TRUE);
+ virtual bool Show(bool show = true);
virtual void Raise();
// Responds to colour changes
void OnSysColourChanged(wxSysColourChangedEvent& event);
+#ifdef __POCKETPC__
+ // Responds to the OK button in a PocketPC titlebar. This
+ // can be overridden, or you can change the id used for
+ // sending the event with SetAffirmativeId. Returns false
+ // if the event was not processed.
+ virtual bool DoOK();
+#endif
+
// Windows callbacks
- long MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
+ WXLRESULT MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
+
+ // obsolete methods
+ // ----------------
-#if wxUSE_CTL3D
- virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
- WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
-#endif // wxUSE_CTL3D
+ // use the other ctor
+ wxDEPRECATED( wxDialog(wxWindow *parent,
+ const wxString& title, bool modal,
+ int x = wxDefaultCoord, int y = wxDefaultCoord, int width = 500, int height = 500,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const wxString& name = wxDialogNameStr) );
+
+ // just call Show() or ShowModal()
+ wxDEPRECATED( void SetModal(bool flag) );
+
+ // use IsModal()
+ wxDEPRECATED( bool IsModalShowing() const );
protected:
// find the window to use as parent for this dialog if none has been
// may return NULL
wxWindow *FindSuitableParent() const;
- // show modal dialog and enter modal loop
- void DoShowModal();
-
// common part of all ctors
void Init();
+ // end either modal or modeless dialog
+ void EndDialog(int rc);
+
private:
wxWindow* m_oldFocus;
bool m_endModalCalled; // allow for closing within InitDialog