1) keyboard handling added (OnNavigationKey)
[wxWidgets.git] / include / wx / generic / panelg.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: panelg.h
3 // Purpose: wxPanel: similar to wxWindows but is coloured as for a dialog
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c)
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __PANELH_G__
13 #define __PANELH_G__
14
15 #ifdef __GNUG__
16 #pragma interface "panelg.h"
17 #endif
18
19 #include "wx/window.h"
20
21 WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr;
22
23 // Dialog boxes
24 class WXDLLEXPORT wxPanel: public wxWindow
25 {
26 public:
27 wxPanel();
28
29 // Old-style constructor (no default values for coordinates to avoid ambiguity
30 // with the new one)
31 inline wxPanel(wxWindow *parent,
32 int x, int y, int width, int height,
33 long style = wxTAB_TRAVERSAL | wxNO_BORDER,
34 const wxString& name = wxPanelNameStr)
35 {
36 Create(parent, -1, wxPoint(x, y), wxSize(width, height), style, name);
37 }
38
39 // Constructor
40 inline wxPanel(wxWindow *parent, wxWindowID id = -1,
41 const wxPoint& pos = wxDefaultPosition,
42 const wxSize& size = wxDefaultSize,
43 long style = wxTAB_TRAVERSAL | wxNO_BORDER,
44 const wxString& name = wxPanelNameStr)
45 {
46 Create(parent, id, pos, size, style, name);
47 }
48
49 bool Create(wxWindow *parent, wxWindowID id,
50 const wxPoint& pos = wxDefaultPosition,
51 const wxSize& size = wxDefaultSize,
52 long style = wxTAB_TRAVERSAL | wxNO_BORDER,
53 const wxString& name = wxPanelNameStr);
54
55 // Sends an OnInitDialog event, which in turns transfers data to
56 // to the dialog via validators.
57 virtual void InitDialog();
58
59 // overriden base class virtuals
60 virtual void SetFocus();
61
62 // callbacks
63 // Responds to colour changes
64 void OnSysColourChanged(wxSysColourChangedEvent& event);
65 // Process a keyboard navigation message (Tab traversal)
66 void OnNavigationKey(wxNavigationKeyEvent& event);
67
68 protected:
69 bool SetFocusToNextChild(wxNode *nodeCurrent = NULL, bool bForward = TRUE);
70
71 DECLARE_DYNAMIC_CLASS(wxPanel)
72 DECLARE_EVENT_TABLE()
73 };
74
75 #endif
76 // __PANELH_G__