X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bfc6fde4b1dd5bfd8ae22839ff9a69cf24eb9120..bd3e41f6003fa1d589c1477a327931c3f57516f2:/include/wx/generic/laywin.h diff --git a/include/wx/generic/laywin.h b/include/wx/generic/laywin.h index 7a80b50e13..db428595fd 100644 --- a/include/wx/generic/laywin.h +++ b/include/wx/generic/laywin.h @@ -9,7 +9,7 @@ // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_LAYWIN_H_G_ @@ -19,22 +19,26 @@ #pragma interface "laywin.h" #endif -#include "wx/sashwin.h" +#if wxUSE_SASH + #include "wx/sashwin.h" +#endif // wxUSE_SASH const wxEventType wxEVT_QUERY_LAYOUT_INFO = wxEVT_FIRST + 1500; const wxEventType wxEVT_CALCULATE_LAYOUT = wxEVT_FIRST + 1501; -enum wxLayoutOrientation { +enum wxLayoutOrientation +{ wxLAYOUT_HORIZONTAL, wxLAYOUT_VERTICAL }; -enum wxLayoutAlignment { +enum wxLayoutAlignment +{ wxLAYOUT_NONE, wxLAYOUT_TOP, wxLAYOUT_LEFT, wxLAYOUT_RIGHT, - wxLAYOUT_BOTTOM, + wxLAYOUT_BOTTOM }; // Not sure this is necessary @@ -110,7 +114,7 @@ public: { SetEventType(wxEVT_CALCULATE_LAYOUT); m_flags = 0; - m_id = id; + m_id = id; } // Read by the app inline void SetFlags(int flags) { m_flags = flags; } @@ -128,6 +132,8 @@ typedef void (wxEvtHandler::*wxCalculateLayoutEventFunction)(wxCalculateLayoutEv #define EVT_CALCULATE_LAYOUT(func) { wxEVT_CALCULATE_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxCalculateLayoutEventFunction) & func, NULL }, +#if wxUSE_SASH + // This is window that can remember alignment/orientation, does its own layout, // and can provide sashes too. Useful for implementing docked windows with sashes in // an IDE-style interface. @@ -135,7 +141,18 @@ class WXDLLEXPORT wxSashLayoutWindow: public wxSashWindow { DECLARE_CLASS(wxSashLayoutWindow) public: + wxSashLayoutWindow() + { + Init(); + } + wxSashLayoutWindow(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = wxSW_3D|wxCLIP_CHILDREN, const wxString& name = "layoutWindow") + { + Create(parent, id, pos, size, style, name); + } + + bool Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxSW_3D|wxCLIP_CHILDREN, const wxString& name = "layoutWindow"); // Accessors @@ -155,7 +172,10 @@ public: // Called by layout algorithm to retrieve information about the window. void OnQueryLayoutInfo(wxQueryLayoutInfoEvent& event); -protected: + +private: + void Init(); + wxLayoutAlignment m_alignment; wxLayoutOrientation m_orientation; wxSize m_defaultSize; @@ -163,6 +183,8 @@ protected: DECLARE_EVENT_TABLE() }; +#endif // wxUSE_SASH + class WXDLLEXPORT wxMDIParentFrame; class WXDLLEXPORT wxFrame; @@ -182,7 +204,7 @@ public: return LayoutWindow(frame, mainWindow); } - // mainWindow is sized to whatever's left over. This function for backward + // mainWindow is sized to whatever's left over. bool LayoutWindow(wxWindow* frame, wxWindow* mainWindow = (wxWindow*) NULL); };