]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/dialog.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxDialog class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart and Markus Holzem
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
16 #pragma interface "dialog.h"
21 WXDLLEXPORT_DATA(extern const wxChar
*) wxDialogNameStr
;
24 class WXDLLEXPORT wxDialog
: public wxPanel
26 DECLARE_DYNAMIC_CLASS(wxDialog
)
31 // Constructor with a modal flag, but no window id - the old convention
32 wxDialog(wxWindow
*parent
,
33 const wxString
& title
, bool modal
,
34 int x
= -1, int y
= -1, int width
= 500, int height
= 500,
35 long style
= wxDEFAULT_DIALOG_STYLE
,
36 const wxString
& name
= wxDialogNameStr
)
38 long modalStyle
= modal
? wxDIALOG_MODAL
: wxDIALOG_MODELESS
;
39 Create(parent
, -1, title
, wxPoint(x
, y
), wxSize(width
, height
),
40 style
| modalStyle
, name
);
43 // Constructor with no modal flag - the new convention.
44 wxDialog(wxWindow
*parent
, wxWindowID id
,
45 const wxString
& title
,
46 const wxPoint
& pos
= wxDefaultPosition
,
47 const wxSize
& size
= wxDefaultSize
,
48 long style
= wxDEFAULT_DIALOG_STYLE
,
49 const wxString
& name
= wxDialogNameStr
)
51 Create(parent
, id
, title
, pos
, size
, style
, name
);
54 bool Create(wxWindow
*parent
, wxWindowID id
,
55 const wxString
& title
,
56 const wxPoint
& pos
= wxDefaultPosition
,
57 const wxSize
& size
= wxDefaultSize
,
58 long style
= wxDEFAULT_DIALOG_STYLE
,
59 const wxString
& name
= wxDialogNameStr
);
63 void SetReturnCode(int returnCode
) { m_returnCode
= returnCode
; }
64 int GetReturnCode() const { return m_returnCode
; }
66 virtual bool Destroy();
68 virtual void DoSetClientSize(int width
, int height
);
70 virtual void GetPosition(int *x
, int *y
) const;
74 void Iconize(bool iconize
);
76 #if WXWIN_COMPATIBILITY
77 bool Iconized() const { return IsIconized(); };
80 virtual bool IsIconized() const;
83 void SetTitle(const wxString
& title
);
84 wxString
GetTitle() const ;
86 void OnSize(wxSizeEvent
& event
);
88 void OnCharHook(wxKeyEvent
& event
);
89 void OnPaint(wxPaintEvent
& event
);
90 void OnCloseWindow(wxCloseEvent
& event
);
92 void SetModal(bool flag
);
94 virtual void Centre(int direction
= wxBOTH
);
95 virtual bool IsModal() const
96 { return ((GetWindowStyleFlag() & wxDIALOG_MODAL
) == wxDIALOG_MODAL
); }
98 // For now, same as Show(TRUE) but returns return code
99 virtual int ShowModal();
100 virtual void EndModal(int retCode
);
103 void OnOK(wxCommandEvent
& event
);
104 void OnApply(wxCommandEvent
& event
);
105 void OnCancel(wxCommandEvent
& event
);
107 // Responds to colour changes
108 void OnSysColourChanged(wxSysColourChangedEvent
& event
);
113 long MSWWindowProc(WXUINT message
, WXWPARAM wParam
, WXLPARAM lParam
);
115 virtual WXHBRUSH
OnCtlColor(WXHDC pDC
, WXHWND pWnd
, WXUINT nCtlColor
,
116 WXUINT message
, WXWPARAM wParam
, WXLPARAM lParam
);
118 bool IsModalShowing() const { return m_modalShowing
; }
120 // tooltip management
122 WXHWND
GetToolTipCtrl() const { return m_hwndToolTip
; }
123 void SetToolTipCtrl(WXHWND hwndTT
) { m_hwndToolTip
= hwndTT
; }
128 WXHWND m_hwndOldFocus
; // the window which had focus before we were shown
132 WXHWND m_hwndToolTip
;
137 DECLARE_EVENT_TABLE()