]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/motif/dialog.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxDialog class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
16 #pragma interface "dialog.h"
21 WXDLLEXPORT_DATA(extern const char*) 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 inline 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
), style
|modalStyle
, name
);
42 // Constructor with no modal flag - the new convention.
43 inline wxDialog(wxWindow
*parent
, wxWindowID id
,
44 const wxString
& title
,
45 const wxPoint
& pos
= wxDefaultPosition
,
46 const wxSize
& size
= wxDefaultSize
,
47 long style
= wxDEFAULT_DIALOG_STYLE
,
48 const wxString
& name
= wxDialogNameStr
)
50 Create(parent
, id
, title
, pos
, size
, style
, name
);
53 bool Create(wxWindow
*parent
, wxWindowID id
,
54 const wxString
& title
, // bool modal = FALSE, // TODO make this a window style?
55 const wxPoint
& pos
= wxDefaultPosition
,
56 const wxSize
& size
= wxDefaultSize
,
57 long style
= wxDEFAULT_DIALOG_STYLE
,
58 const wxString
& name
= wxDialogNameStr
);
62 virtual bool Destroy();
63 void SetClientSize(int width
, int height
);
64 void SetClientSize(const wxSize
& size
) { wxWindow::SetClientSize(size
); }
66 void SetSize(int x
, int y
, int width
, int height
, int sizeFlags
= wxSIZE_AUTO
);
67 virtual void SetSize(const wxRect
& rect
, int sizeFlags
= wxSIZE_AUTO
)
68 { wxWindow::SetSize(rect
, sizeFlags
); }
69 virtual void SetSize(const wxSize
& size
) { wxWindow::SetSize(size
); }
70 virtual void SetSize(int width
, int height
) { SetSize(-1, -1, width
, height
, wxSIZE_USE_EXISTING
); }
73 void Iconize(bool iconize
);
77 virtual bool IsIconized() const;
80 void SetTitle(const wxString
& title
);
81 wxString
GetTitle() const ;
84 void OnCharHook(wxKeyEvent
& event
);
85 void OnCloseWindow(wxCloseEvent
& event
);
87 void SetModal(bool flag
);
89 virtual void Centre(int direction
= wxBOTH
);
90 virtual bool IsModal() const { return ((GetWindowStyleFlag() & wxDIALOG_MODAL
) == wxDIALOG_MODAL
); }
92 virtual int ShowModal();
93 virtual void EndModal(int retCode
);
96 void OnOK(wxCommandEvent
& event
);
97 void OnApply(wxCommandEvent
& event
);
98 void OnCancel(wxCommandEvent
& event
);
100 // Responds to colour changes
101 void OnSysColourChanged(wxSysColourChangedEvent
& event
);
104 virtual void ChangeFont(bool keepOriginalSize
= TRUE
);
105 virtual void ChangeBackgroundColour();
106 virtual void ChangeForegroundColour();
107 inline WXWidget
GetTopWidget() const { return m_mainWidget
; }
108 inline WXWidget
GetClientWidget() const { return m_mainWidget
; }
114 wxString m_dialogTitle
;
116 DECLARE_EVENT_TABLE()