/[pcsx2_0.9.7]/branch/r3113_0.9.7_beta/3rdparty/wxWidgets/src/generic/panelg.cpp
ViewVC logotype

Annotation of /branch/r3113_0.9.7_beta/3rdparty/wxWidgets/src/generic/panelg.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31 - (hide annotations) (download)
Tue Sep 7 03:24:11 2010 UTC (10 years ago) by william
Original Path: trunk/3rdparty/wxWidgets/src/generic/panelg.cpp
File size: 5319 byte(s)
committing r3113 initial commit again...
1 william 31 /////////////////////////////////////////////////////////////////////////////
2     // Name: src/generic/panelg.cpp
3     // Purpose: wxPanel and the keyboard handling code
4     // Author: Julian Smart, Robert Roebling, Vadim Zeitlin
5     // Modified by:
6     // Created: 04/01/98
7     // RCS-ID: $Id: panelg.cpp 40307 2006-07-25 01:31:13Z VZ $
8     // Copyright: (c) Julian Smart
9     // Licence: wxWindows licence
10     /////////////////////////////////////////////////////////////////////////////
11    
12     // ============================================================================
13     // declarations
14     // ============================================================================
15    
16     // ----------------------------------------------------------------------------
17     // headers
18     // ----------------------------------------------------------------------------
19    
20     // For compilers that support precompilation, includes "wx.h".
21     #include "wx/wxprec.h"
22    
23     #ifdef __BORLANDC__
24     #pragma hdrstop
25     #endif
26    
27     #ifndef WX_PRECOMP
28     #include "wx/object.h"
29     #include "wx/font.h"
30     #include "wx/colour.h"
31     #include "wx/settings.h"
32     #include "wx/log.h"
33     #include "wx/panel.h"
34     #include "wx/containr.h"
35     #endif
36    
37     // ----------------------------------------------------------------------------
38     // wxWin macros
39     // ----------------------------------------------------------------------------
40    
41     #if wxUSE_EXTENDED_RTTI
42     WX_DEFINE_FLAGS( wxPanelStyle )
43    
44     wxBEGIN_FLAGS( wxPanelStyle )
45     // new style border flags, we put them first to
46     // use them for streaming out
47     wxFLAGS_MEMBER(wxBORDER_SIMPLE)
48     wxFLAGS_MEMBER(wxBORDER_SUNKEN)
49     wxFLAGS_MEMBER(wxBORDER_DOUBLE)
50     wxFLAGS_MEMBER(wxBORDER_RAISED)
51     wxFLAGS_MEMBER(wxBORDER_STATIC)
52     wxFLAGS_MEMBER(wxBORDER_NONE)
53    
54     // old style border flags
55     wxFLAGS_MEMBER(wxSIMPLE_BORDER)
56     wxFLAGS_MEMBER(wxSUNKEN_BORDER)
57     wxFLAGS_MEMBER(wxDOUBLE_BORDER)
58     wxFLAGS_MEMBER(wxRAISED_BORDER)
59     wxFLAGS_MEMBER(wxSTATIC_BORDER)
60     wxFLAGS_MEMBER(wxBORDER)
61    
62     // standard window styles
63     wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
64     wxFLAGS_MEMBER(wxCLIP_CHILDREN)
65     wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
66     wxFLAGS_MEMBER(wxWANTS_CHARS)
67     wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
68     wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
69     wxFLAGS_MEMBER(wxVSCROLL)
70     wxFLAGS_MEMBER(wxHSCROLL)
71    
72     wxEND_FLAGS( wxPanelStyle )
73    
74     IMPLEMENT_DYNAMIC_CLASS_XTI(wxPanel, wxWindow,"wx/panel.h")
75    
76     wxBEGIN_PROPERTIES_TABLE(wxPanel)
77     wxPROPERTY_FLAGS( WindowStyle , wxPanelStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE, 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
78     // style wxTAB_TRAVERSAL
79     wxEND_PROPERTIES_TABLE()
80    
81     wxBEGIN_HANDLERS_TABLE(wxPanel)
82     wxEND_HANDLERS_TABLE()
83    
84     wxCONSTRUCTOR_5( wxPanel , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size , long , WindowStyle )
85    
86     #else
87     IMPLEMENT_DYNAMIC_CLASS(wxPanel, wxWindow)
88     #endif
89    
90     BEGIN_EVENT_TABLE(wxPanel, wxWindow)
91     EVT_SIZE(wxPanel::OnSize)
92    
93     WX_EVENT_TABLE_CONTROL_CONTAINER(wxPanel)
94     END_EVENT_TABLE()
95    
96     // ============================================================================
97     // implementation
98     // ============================================================================
99    
100     WX_DELEGATE_TO_CONTROL_CONTAINER(wxPanel, wxWindow)
101    
102     // ----------------------------------------------------------------------------
103     // wxPanel creation
104     // ----------------------------------------------------------------------------
105    
106     void wxPanel::Init()
107     {
108     m_container.SetContainerWindow(this);
109     }
110    
111     bool wxPanel::Create(wxWindow *parent, wxWindowID id,
112     const wxPoint& pos,
113     const wxSize& size,
114     long style,
115     const wxString& name)
116     {
117     if ( !wxWindow::Create(parent, id, pos, size, style, name) )
118     return false;
119    
120     // so that non-solid background renders correctly under GTK+:
121     SetThemeEnabled(true);
122    
123     #if defined(__WXWINCE__) && (defined(__POCKETPC__) || defined(__SMARTPHONE__))
124     // Required to get solid control backgrounds under WinCE
125     SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
126     #endif
127    
128     return true;
129     }
130    
131     wxPanel::~wxPanel()
132     {
133     }
134    
135     void wxPanel::InitDialog()
136     {
137     wxInitDialogEvent event(GetId());
138     event.SetEventObject(this);
139     GetEventHandler()->ProcessEvent(event);
140     }
141    
142     // ----------------------------------------------------------------------------
143     // event handlers
144     // ----------------------------------------------------------------------------
145    
146     void wxPanel::OnSize(wxSizeEvent& event)
147     {
148     if (GetAutoLayout())
149     Layout();
150     #if wxUSE_CONSTRAINTS
151     #if defined(__WXPM__) && 0
152     else
153     {
154     // Need to properly move child windows under OS/2
155    
156     PSWP pWinSwp = GetSwp();
157    
158     if (pWinSwp->cx == 0 && pWinSwp->cy == 0 && pWinSwp->fl == 0)
159     {
160     // Uninitialized
161    
162     ::WinQueryWindowPos(GetHWND(), pWinSwp);
163     }
164     else
165     {
166     SWP vSwp;
167     int nYDiff;
168    
169     ::WinQueryWindowPos(GetHWND(), &vSwp);
170     nYDiff = pWinSwp->cy - vSwp.cy;
171     MoveChildren(nYDiff);
172     pWinSwp->cx = vSwp.cx;
173     pWinSwp->cy = vSwp.cy;
174     }
175     }
176     #endif
177     #endif // wxUSE_CONSTRAINTS
178    
179     event.Skip();
180     }

  ViewVC Help
Powered by ViewVC 1.1.22