]> git.saurik.com Git - wxWidgets.git/commitdiff
made wxPanel be auto layout aware
authorRobin Dunn <robin@alldunn.com>
Wed, 20 Oct 1999 04:57:45 +0000 (04:57 +0000)
committerRobin Dunn <robin@alldunn.com>
Wed, 20 Oct 1999 04:57:45 +0000 (04:57 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/generic/panelg.h
src/generic/panelg.cpp

index f47c9afc4199667d95682efe0342a2d6ee58028b..c5442a15e0ecb1c75ca58217968eb64c1f76258d 100644 (file)
@@ -25,7 +25,7 @@ class WXDLLEXPORT wxPanel : public wxWindow
 {
 public:
     wxPanel() { Init(); }
-    
+
     // Old-style constructor (no default values for coordinates to avoid
     // ambiguity with the new one)
     wxPanel(wxWindow *parent,
@@ -37,7 +37,7 @@ public:
 
         Create(parent, -1, wxPoint(x, y), wxSize(width, height), style, name);
     }
-    
+
     // Constructor
     wxPanel(wxWindow *parent,
             wxWindowID id = -1,
@@ -57,7 +57,7 @@ public:
                 const wxSize& size = wxDefaultSize,
                 long style = wxTAB_TRAVERSAL | wxNO_BORDER,
                 const wxString& name = wxPanelNameStr);
-    
+
     // Sends an OnInitDialog event, which in turns transfers data to
     // to the dialog via validators.
     virtual void InitDialog();
@@ -71,13 +71,15 @@ public:
 
         // responds to colour changes
     void OnSysColourChanged(wxSysColourChangedEvent& event);
-    
+
         // process a keyboard navigation message (Tab traversal)
     void OnNavigationKey(wxNavigationKeyEvent& event);
-    
+
         // set the focus to the first child if we get it
     void OnFocus(wxFocusEvent& event);
 
+    void OnSize(wxSizeEvent& event);
+
         // called by wxWindow whenever it gets focus
     void SetLastFocus(wxWindow *win) { m_winLastFocused = win; }
     wxWindow *GetLastFocus() const { return m_winLastFocused; }
index 567a882de60f34078e75c910ef1a05415ebed5c2..e9339b481a876516a56ade8d343d54de4e8e7576 100644 (file)
@@ -36,6 +36,7 @@ BEGIN_EVENT_TABLE(wxPanel, wxWindow)
   EVT_SYS_COLOUR_CHANGED(wxPanel::OnSysColourChanged)
   EVT_SET_FOCUS(wxPanel::OnFocus)
   EVT_NAVIGATION_KEY(wxPanel::OnNavigationKey)
+  EVT_SIZE(wxPanel::OnSize)
 END_EVENT_TABLE()
 
 #endif
@@ -101,7 +102,7 @@ void wxPanel::OnNavigationKey( wxNavigationKeyEvent& event )
     wxWindow *winFocus = event.GetCurrentFocus();
     if (!winFocus)
         winFocus = wxWindow::FindFocus();
-       
+
     if (!winFocus)
     {
         event.Skip();
@@ -132,7 +133,7 @@ void wxPanel::OnNavigationKey( wxNavigationKeyEvent& event )
                // we don't want to tab into a different dialog or frame
                if ( focussed_child_of_p->IsTopLevel() )
                    break;
-                   
+
                 if ( wxDynamicCast(p, wxPanel) )
                 {
                    event.SetCurrentFocus( focussed_child_of_p );
@@ -166,6 +167,14 @@ void wxPanel::OnNavigationKey( wxNavigationKeyEvent& event )
     event.Skip();
 }
 
+
+void wxPanel::OnSize(wxSizeEvent& WXUNUSED(event))
+{
+#if wxUSE_CONSTRAINTS
+    if (GetAutoLayout()) Layout();
+#endif
+}
+
 void wxPanel::OnFocus(wxFocusEvent& event)
 {
     if ( m_winLastFocused )