]>
Commit | Line | Data |
---|---|---|
c801d85f | 1 | ///////////////////////////////////////////////////////////////////////////// |
d9506e77 VZ |
2 | // Name: src/generic/panelg.cpp |
3 | // Purpose: wxPanel and the keyboard handling code | |
4 | // Author: Julian Smart, Robert Roebling, Vadim Zeitlin | |
c801d85f KB |
5 | // Modified by: |
6 | // Created: 04/01/98 | |
7 | // RCS-ID: $Id$ | |
8 | // Copyright: (c) Julian Smart and Markus Holzem | |
87a1e308 | 9 | // Licence: wxWindows license |
c801d85f KB |
10 | ///////////////////////////////////////////////////////////////////////////// |
11 | ||
d9506e77 VZ |
12 | // ============================================================================ |
13 | // declarations | |
14 | // ============================================================================ | |
15 | ||
16 | // ---------------------------------------------------------------------------- | |
17 | // headers | |
18 | // ---------------------------------------------------------------------------- | |
19 | ||
c801d85f | 20 | #ifdef __GNUG__ |
d9506e77 | 21 | #pragma implementation "panelg.h" |
c801d85f KB |
22 | #endif |
23 | ||
24 | // For compilers that support precompilation, includes "wx.h". | |
25 | #include "wx/wxprec.h" | |
26 | ||
27 | #ifdef __BORLANDC__ | |
d9506e77 | 28 | #pragma hdrstop |
c801d85f KB |
29 | #endif |
30 | ||
31 | #ifndef WX_PRECOMP | |
d9506e77 VZ |
32 | #include "wx/object.h" |
33 | #include "wx/font.h" | |
34 | #include "wx/colour.h" | |
35 | #include "wx/settings.h" | |
36 | #include "wx/log.h" | |
c801d85f KB |
37 | #endif |
38 | ||
456bc6d9 VZ |
39 | #include "wx/containr.h" |
40 | #include "wx/panel.h" | |
c801d85f | 41 | |
d9506e77 VZ |
42 | // ---------------------------------------------------------------------------- |
43 | // wxWin macros | |
44 | // ---------------------------------------------------------------------------- | |
45 | ||
c801d85f KB |
46 | IMPLEMENT_DYNAMIC_CLASS(wxPanel, wxWindow) |
47 | ||
48 | BEGIN_EVENT_TABLE(wxPanel, wxWindow) | |
456bc6d9 VZ |
49 | EVT_SYS_COLOUR_CHANGED(wxPanel::OnSysColourChanged) |
50 | ||
51 | EVT_SIZE(wxPanel::OnSize) | |
52 | ||
53 | WX_EVENT_TABLE_CONTROL_CONTAINER(wxPanel) | |
c801d85f KB |
54 | END_EVENT_TABLE() |
55 | ||
d9506e77 VZ |
56 | // ============================================================================ |
57 | // implementation | |
58 | // ============================================================================ | |
59 | ||
6b55490a | 60 | WX_DELEGATE_TO_CONTROL_CONTAINER(wxPanel) |
456bc6d9 | 61 | |
d9506e77 VZ |
62 | // ---------------------------------------------------------------------------- |
63 | // wxPanel creation | |
64 | // ---------------------------------------------------------------------------- | |
c801d85f | 65 | |
edccf428 | 66 | void wxPanel::Init() |
c801d85f | 67 | { |
c801d85f KB |
68 | } |
69 | ||
debe6624 | 70 | bool wxPanel::Create(wxWindow *parent, wxWindowID id, |
90c3bdac VZ |
71 | const wxPoint& pos, |
72 | const wxSize& size, | |
73 | long style, | |
74 | const wxString& name) | |
c801d85f | 75 | { |
8bf30fe9 | 76 | return wxWindow::Create(parent, id, pos, size, style, name); |
c801d85f KB |
77 | } |
78 | ||
456bc6d9 VZ |
79 | wxPanel::~wxPanel() |
80 | { | |
456bc6d9 VZ |
81 | } |
82 | ||
d9506e77 VZ |
83 | // ---------------------------------------------------------------------------- |
84 | // misc | |
85 | // ---------------------------------------------------------------------------- | |
86 | ||
87 | void wxPanel::InitDialog() | |
c801d85f | 88 | { |
b292e2f5 RR |
89 | wxInitDialogEvent event(GetId()); |
90 | event.SetEventObject(this); | |
91 | GetEventHandler()->ProcessEvent(event); | |
90c3bdac VZ |
92 | } |
93 | ||
c801d85f KB |
94 | // Responds to colour changes, and passes event on to children. |
95 | void wxPanel::OnSysColourChanged(wxSysColourChangedEvent& event) | |
96 | { | |
97 | SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE)); | |
c801d85f KB |
98 | Refresh(); |
99 | ||
100 | // Propagate the event to the non-top-level children | |
101 | wxWindow::OnSysColourChanged(event); | |
102 | } | |
103 | ||
d9506e77 VZ |
104 | void wxPanel::OnSize(wxSizeEvent& WXUNUSED(event)) |
105 | { | |
106 | #if wxUSE_CONSTRAINTS | |
107 | if (GetAutoLayout()) | |
108 | Layout(); | |
456bc6d9 | 109 | #endif // wxUSE_CONSTRAINTS |
d9506e77 VZ |
110 | } |
111 |