X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..bddab017c6c78f1dab68745a532996bab37f3ee8:/src/generic/laywin.cpp diff --git a/src/generic/laywin.cpp b/src/generic/laywin.cpp index b9571b23be..5cb58f3f6a 100644 --- a/src/generic/laywin.cpp +++ b/src/generic/laywin.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: laywin.cpp +// Name: src/generic/laywin.cpp // Purpose: Implements a simple layout algorithm, plus // wxSashLayoutWindow which is an example of a window with // layout-awareness (via event handlers). This is suited to @@ -7,7 +7,6 @@ // Author: Julian Smart // Modified by: // Created: 04/01/98 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -21,20 +20,25 @@ #ifndef WX_PRECOMP #include "wx/frame.h" - #include "wx/mdi.h" #endif #include "wx/laywin.h" +#include "wx/mdi.h" + IMPLEMENT_DYNAMIC_CLASS(wxQueryLayoutInfoEvent, wxEvent) IMPLEMENT_DYNAMIC_CLASS(wxCalculateLayoutEvent, wxEvent) -DEFINE_EVENT_TYPE(wxEVT_QUERY_LAYOUT_INFO) -DEFINE_EVENT_TYPE(wxEVT_CALCULATE_LAYOUT) +wxDEFINE_EVENT( wxEVT_QUERY_LAYOUT_INFO, wxQueryLayoutInfoEvent ); +wxDEFINE_EVENT( wxEVT_CALCULATE_LAYOUT, wxCalculateLayoutEvent ); + + +// ---------------------------------------------------------------------------- +// wxSashLayoutWindow +// ---------------------------------------------------------------------------- #if wxUSE_SASH IMPLEMENT_CLASS(wxSashLayoutWindow, wxSashWindow) - BEGIN_EVENT_TABLE(wxSashLayoutWindow, wxSashWindow) EVT_CALCULATE_LAYOUT(wxSashLayoutWindow::OnCalculateLayout) EVT_QUERY_LAYOUT_INFO(wxSashLayoutWindow::OnQueryLayoutInfo) @@ -159,12 +163,12 @@ void wxSashLayoutWindow::OnCalculateLayout(wxCalculateLayoutEvent& event) { // If not in query mode, resize the window. // TODO: add wxRect& form to wxWindow::SetSize - wxSize sz = GetSize(); + wxSize sz2 = GetSize(); wxPoint pos = GetPosition(); SetSize(thisRect.x, thisRect.y, thisRect.width, thisRect.height); // Make sure the sash is erased when the window is resized - if ((pos.x != thisRect.x || pos.y != thisRect.y || sz.x != thisRect.width || sz.y != thisRect.height) && + if ((pos.x != thisRect.x || pos.y != thisRect.y || sz2.x != thisRect.width || sz2.y != thisRect.height) && (GetSashVisible(wxSASH_TOP) || GetSashVisible(wxSASH_RIGHT) || GetSashVisible(wxSASH_BOTTOM) || GetSashVisible(wxSASH_LEFT))) Refresh(true); @@ -174,9 +178,10 @@ void wxSashLayoutWindow::OnCalculateLayout(wxCalculateLayoutEvent& event) } #endif // wxUSE_SASH -/* - * wxLayoutAlgorithm - */ + +// ---------------------------------------------------------------------------- +// wxLayoutAlgorithm +// ---------------------------------------------------------------------------- #if wxUSE_MDI_ARCHITECTURE @@ -232,7 +237,7 @@ bool wxLayoutAlgorithm::LayoutWindow(wxWindow* parent, wxWindow* mainWindow) int leftMargin = 0, rightMargin = 0, topMargin = 0, bottomMargin = 0; #if wxUSE_SASH - if (parent->IsKindOf(CLASSINFO(wxSashWindow))) + if (wxDynamicCast(parent, wxSashWindow)) { wxSashWindow* sashWindow = (wxSashWindow*) parent;