]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/dialog.h
Added sqltypes.h (for Cygwin b20), some other Cygwin fixes.
[wxWidgets.git] / include / wx / os2 / dialog.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: dialog.h
3 // Purpose: wxDialog class
4 // Author: AUTHOR
5 // Modified by:
6 // Created: ??/??/98
7 // RCS-ID: $Id$
8 // Copyright: (c) AUTHOR
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_DIALOG_H_
13 #define _WX_DIALOG_H_
14
15 #ifdef __GNUG__
16 #pragma interface "dialog.h"
17 #endif
18
19 #include "wx/panel.h"
20
21 WXDLLEXPORT_DATA(extern const char*) wxDialogNameStr;
22
23 // Dialog boxes
24 class WXDLLEXPORT wxDialog: public wxDialogBase
25 {
26 DECLARE_DYNAMIC_CLASS(wxDialog)
27 public:
28
29 wxDialog();
30
31 // Constructor with a modal flag, but no window id - the old convention
32 inline wxDialog( wxWindow* parent
33 ,const wxString& title
34 ,bool modal
35 ,int x = -1
36 ,int y = -1
37 ,int width = 500
38 ,int height = 500
39 ,long style = wxDEFAULT_DIALOG_STYLE
40 ,const wxString& name = wxDialogNameStr
41 )
42 {
43 long modalStyle = modal ? wxDIALOG_MODAL : wxDIALOG_MODELESS ;
44 Create(parent, -1, title, wxPoint(x, y), wxSize(width, height), style|modalStyle, name);
45 }
46
47 // Constructor with no modal flag - the new convention.
48 inline wxDialog( wxWindow* parent
49 ,wxWindowID id
50 ,const wxString& title
51 ,const wxPoint& pos = wxDefaultPosition
52 ,const wxSize& size = wxDefaultSize
53 ,long style = wxDEFAULT_DIALOG_STYLE
54 ,const wxString& name = wxDialogNameStr
55 )
56 {
57 Create(parent, id, title, pos, size, style, name);
58 }
59
60 bool Create( wxWindow* parent
61 ,wxWindowID id
62 ,const wxString& title
63 , // bool modal = FALSE, // TODO make this a window style?
64 const wxPoint& pos = wxDefaultPosition
65 ,const wxSize& size = wxDefaultSize
66 ,long style = wxDEFAULT_DIALOG_STYLE
67 ,const wxString& name = wxDialogNameStr
68 );
69
70 ~wxDialog();
71
72 // ---------------------------------------------------------------------------
73 // Virtuals
74 // ---------------------------------------------------------------------------
75
76 virtual bool Destroy();
77 virtual void DoSetClientSize(int width, int height);
78 virtual void GetPosition(int *x, int *y) const;
79
80 bool Show(bool show);
81 bool IsShown() const;
82 void Iconize(bool iconize);
83
84 virtual bool IsIconized() const;
85 void Fit();
86
87 void SetTitle(const wxString& title);
88 wxString GetTitle() const ;
89
90 void OnSize(wxSizeEvent& event);
91 bool OnClose();
92 void OnCharHook(wxKeyEvent& event);
93 void OnPaint(wxPaintEvent& event);
94 void OnCloseWindow(wxCloseEvent& event);
95
96 void SetModal(bool flag);
97
98 virtual void Centre(int direction = wxBOTH);
99 virtual bool IsModal() const;
100
101 // For now, same as Show(TRUE) but returns return code
102 virtual int ShowModal();
103 virtual void EndModal(int retCode);
104
105 // Standard buttons
106 void OnOK(wxCommandEvent& event);
107 void OnApply(wxCommandEvent& event);
108 void OnCancel(wxCommandEvent& event);
109
110 // Responds to colour changes
111 void OnSysColourChanged(wxSysColourChangedEvent& event);
112
113 // implementation
114 // --------------
115 virtual MRESULT OS2WindowProc(HWND hwnd, WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
116
117 virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
118 WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
119
120 bool IsModalShowing() const { return m_modalShowing; }
121
122 // tooltip management
123 #if wxUSE_TOOLTIPS
124 WXHWND GetToolTipCtrl() const { return m_hwndToolTip; }
125 void SetToolTipCtrl(WXHWND hwndTT) { m_hwndToolTip = hwndTT; }
126 #endif // tooltips
127
128 protected:
129 bool m_modalShowing;
130 WXHWND m_hwndOldFocus; // the window which had focus before we were shown
131
132 private:
133 #if wxUSE_TOOLTIPS
134 WXHWND m_hwndToolTip;
135 #endif // tooltips
136
137 private:
138
139 DECLARE_EVENT_TABLE()
140 };
141
142 #endif
143 // _WX_DIALOG_H_