- void SetClientSize(int width, int height) { wxWindow::DoSetClientSize(width, height); };
- void SetClientSize( const wxSize& size ) { wxWindow::DoSetClientSize(size.x, size.y); };
- void SetClientSize(const wxRect& rect) { SetClientSize( rect.width, rect.height ); };
-
- void GetPosition(int *x, int *y) const;
- bool Show(bool show);
- void Iconize(bool iconize);
-
- void Fit();
-
- void SetTitle(const wxString& title);
- wxString GetTitle() const ;
-
- void OnCharHook(wxKeyEvent& event);
- void OnCloseWindow(wxCloseEvent& event);
-
- void SetModal(bool flag);
-
- // Standard buttons
- void OnOK(wxCommandEvent& event);
- void OnApply(wxCommandEvent& event);
- void OnCancel(wxCommandEvent& event);
-
- // Responds to colour changes
- void OnSysColourChanged(wxSysColourChangedEvent& event);
-
-DECLARE_EVENT_TABLE()
-};
-
-#endif
- // _WX_DIALOG_H_
+ // implementation only from now on
+ // -------------------------------
+
+ // override some base class virtuals
+ virtual bool Show(bool show = true);
+
+ //
+ // Callbacks
+ //
+ virtual MRESULT OS2WindowProc( WXUINT uMessage
+ ,WXWPARAM wParam
+ ,WXLPARAM lParam
+ );
+#if WXWIN_COMPATIBILITY_2_6
+
+ // Constructor with a modal flag, but no window id - the old convention
+ wxDEPRECATED( wxDialog( wxWindow* pParent
+ ,const wxString& rsTitle
+ ,bool bModal
+ ,int nX = -1
+ ,int nY = -1
+ ,int nWidth = 500
+ ,int nHeight = 500
+ ,long lStyle = wxDEFAULT_DIALOG_STYLE
+ ,const wxString& rsName = wxDialogNameStr
+ ) );
+
+ // just call Show() or ShowModal()
+ wxDEPRECATED( void SetModal(bool bFlag) );
+
+ // use IsModal()
+ wxDEPRECATED( bool IsModalShowing() const );
+
+#endif // WXWIN_COMPATIBILITY_2_6
+
+protected:
+ //
+ // Common part of all ctors
+ //
+ void Init(void);
+
+private:
+ wxWindow* m_pOldFocus;
+ bool m_endModalCalled; // allow for closing within InitDialog
+
+ // this pointer is non-NULL only while the modal event loop is running
+ wxDialogModalData *m_modalData;
+
+ //
+ // While we are showing a modal dialog we disable the other windows using
+ // this object
+ //
+ class wxWindowDisabler* m_pWindowDisabler;
+
+ DECLARE_DYNAMIC_CLASS(wxDialog)
+ wxDECLARE_NO_COPY_CLASS(wxDialog);
+}; // end of CLASS wxDialog
+
+#endif // _WX_DIALOG_H_