1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/os2/dialog.h
3 // Purpose: wxDialog class
4 // Author: David Webster
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
17 WXDLLEXPORT_DATA(extern const wxChar
) wxDialogNameStr
[];
19 class WXDLLEXPORT wxDialogModalData
;
24 class WXDLLEXPORT wxDialog
: public wxDialogBase
28 inline wxDialog() { Init(); }
31 wxDialog(wxWindow
*parent
, wxWindowID id
,
32 const wxString
& title
,
33 const wxPoint
& pos
= wxDefaultPosition
,
34 const wxSize
& size
= wxDefaultSize
,
35 long style
= wxDEFAULT_DIALOG_STYLE
,
36 const wxString
& name
= wxDialogNameStr
)
40 (void)Create(parent
, id
, title
, pos
, size
, style
, name
);
43 bool Create( wxWindow
* pParent
45 ,const wxString
& rsTitle
46 ,const wxPoint
& rPos
= wxDefaultPosition
47 ,const wxSize
& rSize
= wxDefaultSize
48 ,long lStyle
= wxDEFAULT_DIALOG_STYLE
49 ,const wxString
& rsName
= wxDialogNameStr
53 // return true if we're showing the dialog modally
54 virtual bool IsModal() const { return m_modalData
!= NULL
; }
56 // show the dialog modally and return the value passed to EndModal()
57 virtual int ShowModal();
59 // may be called to terminate the dialog with the given return code
60 virtual void EndModal(int retCode
);
62 // implementation only from now on
63 // -------------------------------
65 // override some base class virtuals
66 virtual bool Show(bool show
= true);
71 void OnCharHook(wxKeyEvent
& rEvent
);
72 void OnCloseWindow(wxCloseEvent
& rEvent
);
77 void OnOK(wxCommandEvent
& rEvent
);
78 void OnApply(wxCommandEvent
& rEvent
);
79 void OnCancel(wxCommandEvent
& rEvent
);
82 // Responds to colour changes
84 void OnSysColourChanged(wxSysColourChangedEvent
& rEvent
);
89 virtual MRESULT
OS2WindowProc( WXUINT uMessage
93 #if WXWIN_COMPATIBILITY_2_6
95 // Constructor with a modal flag, but no window id - the old convention
96 wxDEPRECATED( wxDialog( wxWindow
* pParent
97 ,const wxString
& rsTitle
103 ,long lStyle
= wxDEFAULT_DIALOG_STYLE
104 ,const wxString
& rsName
= wxDialogNameStr
107 // just call Show() or ShowModal()
108 wxDEPRECATED( void SetModal(bool bFlag
) );
111 wxDEPRECATED( bool IsModalShowing() const );
113 #endif // WXWIN_COMPATIBILITY_2_6
117 // find the window to use as parent for this dialog if none has been
118 // specified explicitly by the user
122 wxWindow
*FindSuitableParent() const;
125 // Common part of all ctors
129 // end either modal or modeless dialog
130 void EndDialog(int rc
);
133 wxWindow
* m_pOldFocus
;
134 bool m_endModalCalled
; // allow for closing within InitDialog
136 // this pointer is non-NULL only while the modal event loop is running
137 wxDialogModalData
*m_modalData
;
140 // While we are showing a modal dialog we disable the other windows using
143 class wxWindowDisabler
* m_pWindowDisabler
;
145 DECLARE_DYNAMIC_CLASS(wxDialog
)
146 DECLARE_EVENT_TABLE()
147 DECLARE_NO_COPY_CLASS(wxDialog
)
148 }; // end of CLASS wxDialog
150 #endif // _WX_DIALOG_H_