]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk1/dialog.h
Next try at avoiding too few or too many size events.
[wxWidgets.git] / include / wx / gtk1 / dialog.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: dialog.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Created:
6 // Id: $Id$
7 // Copyright: (c) 1998 Robert Roebling
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef __GTKDIALOGH__
12 #define __GTKDIALOGH__
13
14 #ifdef __GNUG__
15 #pragma interface
16 #endif
17
18 #include "wx/defs.h"
19 #include "wx/panel.h"
20 #include "wx/icon.h"
21
22 //-----------------------------------------------------------------------------
23 // classes
24 //-----------------------------------------------------------------------------
25
26 class wxDialog;
27
28 //-----------------------------------------------------------------------------
29 // global data
30 //-----------------------------------------------------------------------------
31
32 extern const wxChar *wxDialogNameStr;
33
34 //-----------------------------------------------------------------------------
35 // wxDialog
36 //-----------------------------------------------------------------------------
37
38 class wxDialog: public wxDialogBase
39 {
40 public:
41 wxDialog() { Init(); }
42 wxDialog( wxWindow *parent, wxWindowID id,
43 const wxString &title,
44 const wxPoint &pos = wxDefaultPosition,
45 const wxSize &size = wxDefaultSize,
46 long style = wxDEFAULT_DIALOG_STYLE,
47 const wxString &name = wxDialogNameStr );
48 bool Create( wxWindow *parent, wxWindowID id,
49 const wxString &title,
50 const wxPoint &pos = wxDefaultPosition,
51 const wxSize &size = wxDefaultSize,
52 long style = wxDEFAULT_DIALOG_STYLE,
53 const wxString &name = wxDialogNameStr );
54 ~wxDialog();
55
56 void SetTitle(const wxString& title);
57 wxString GetTitle() const;
58
59 void OnApply( wxCommandEvent &event );
60 void OnCancel( wxCommandEvent &event );
61 void OnOK( wxCommandEvent &event );
62 void OnPaint( wxPaintEvent& event );
63 void OnSize( wxSizeEvent &event );
64 void OnCloseWindow( wxCloseEvent& event );
65 /*
66 void OnCharHook( wxKeyEvent& event );
67 */
68
69 bool Destroy();
70
71 virtual bool Show( bool show );
72 virtual int ShowModal();
73 virtual void EndModal( int retCode );
74 virtual bool IsModal() const;
75 void SetModal( bool modal );
76
77 virtual void InitDialog(void);
78
79 virtual void SetIcon( const wxIcon &icon );
80 virtual void Iconize( bool WXUNUSED(iconize)) { }
81 virtual bool IsIconized() const { return FALSE; }
82 bool Iconized() const { return IsIconized(); }
83 virtual void Maximize() { }
84 virtual void Restore() { }
85
86 virtual bool IsTopLevel() const { return TRUE; }
87
88 // implementation
89 // --------------
90
91 // move the window to the specified location and resize it: this is called
92 // from both DoSetSize() and DoSetClientSize()
93 virtual void DoMoveWindow(int x, int y, int width, int height);
94
95 virtual void GtkOnSize( int x, int y, int width, int height );
96 virtual void OnInternalIdle();
97
98 bool m_modalShowing;
99 wxString m_title;
100 wxIcon m_icon;
101
102 protected:
103 // common part of all ctors
104 void Init();
105
106 virtual void DoSetSize(int x, int y,
107 int width, int height,
108 int sizeFlags = wxSIZE_AUTO);
109
110 private:
111 DECLARE_EVENT_TABLE()
112 DECLARE_DYNAMIC_CLASS(wxDialog)
113 };
114
115 #endif // __GTKDIALOGH__