]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/generic/panelg.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/generic/panelg.h
3 // Purpose: wxPanel: a container for child controls
4 // Author: Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_GENERIC_PANEL_H_
13 #define _WX_GENERIC_PANEL_H_
16 #pragma interface "panelg.h"
19 // ----------------------------------------------------------------------------
20 // headers and forward declarations
21 // ----------------------------------------------------------------------------
23 #include "wx/window.h"
25 class WXDLLEXPORT wxButton
;
27 WXDLLEXPORT_DATA(extern const wxChar
*) wxPanelNameStr
;
29 // ----------------------------------------------------------------------------
30 // wxPanel contains other controls and implements TAB traversal between them
31 // ----------------------------------------------------------------------------
33 class WXDLLEXPORT wxPanel
: public wxWindow
38 // Old-style constructor (no default values for coordinates to avoid
39 // ambiguity with the new one)
40 wxPanel(wxWindow
*parent
,
41 int x
, int y
, int width
, int height
,
42 long style
= wxTAB_TRAVERSAL
| wxNO_BORDER
,
43 const wxString
& name
= wxPanelNameStr
)
47 Create(parent
, -1, wxPoint(x
, y
), wxSize(width
, height
), style
, name
);
51 wxPanel(wxWindow
*parent
,
53 const wxPoint
& pos
= wxDefaultPosition
,
54 const wxSize
& size
= wxDefaultSize
,
55 long style
= wxTAB_TRAVERSAL
| wxNO_BORDER
,
56 const wxString
& name
= wxPanelNameStr
)
60 Create(parent
, id
, pos
, size
, style
, name
);
64 bool Create(wxWindow
*parent
, wxWindowID id
,
65 const wxPoint
& pos
= wxDefaultPosition
,
66 const wxSize
& size
= wxDefaultSize
,
67 long style
= wxTAB_TRAVERSAL
| wxNO_BORDER
,
68 const wxString
& name
= wxPanelNameStr
);
70 // Sends an OnInitDialog event, which in turns transfers data to
71 // to the dialog via validators.
72 virtual void InitDialog();
74 // a default button is activated when Enter is pressed
75 wxButton
*GetDefaultItem() const { return m_btnDefault
; }
76 void SetDefaultItem(wxButton
*btn
) { m_btnDefault
= btn
; }
78 // implementation from now on
79 // --------------------------
81 // responds to colour changes
82 void OnSysColourChanged(wxSysColourChangedEvent
& event
);
84 // process a keyboard navigation message (Tab traversal)
85 void OnNavigationKey(wxNavigationKeyEvent
& event
);
87 // set the focus to the first child if we get it
88 void OnFocus(wxFocusEvent
& event
);
90 // calls layout for layout constraints and sizers
91 void OnSize(wxSizeEvent
& event
);
93 // overridden to tab move focus into first focusable child
94 virtual void SetFocus();
96 // called by wxWindow whenever it gets focus
97 void SetLastFocus(wxWindow
*win
) { m_winLastFocused
= win
; }
98 wxWindow
*GetLastFocus() const { return m_winLastFocused
; }
100 virtual void RemoveChild(wxWindowBase
*child
);
103 // common part of all ctors
106 // set the focus to the child which had it the last time
107 bool SetFocusToChild();
109 // the child which had the focus last time this panel was activated
110 wxWindow
*m_winLastFocused
;
112 // a default button or NULL
113 wxButton
*m_btnDefault
;
116 DECLARE_DYNAMIC_CLASS(wxPanel
)
117 DECLARE_EVENT_TABLE()
120 // this function is for wxWindows use only
121 extern bool wxSetFocusToChild(wxWindow
*win
, wxWindow
**child
);
124 // _WX_GENERIC_PANEL_H_