X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8cb50e4b4677abb67ffe9026780861c1b12a0463..bcd2b961ff2545f4daf8ca7150b660a23cb0c8f7:/include/wx/generic/laywin.h diff --git a/include/wx/generic/laywin.h b/include/wx/generic/laywin.h index cc2f79ce8b..bc6f743951 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 @@ -53,7 +57,7 @@ enum wxLayoutAlignment { * orientation and size. */ -class wxQueryLayoutInfoEvent: public wxEvent +class WXDLLEXPORT wxQueryLayoutInfoEvent: public wxEvent { DECLARE_DYNAMIC_CLASS(wxQueryLayoutInfoEvent) public: @@ -67,22 +71,24 @@ public: m_alignment = wxLAYOUT_TOP; m_orientation = wxLAYOUT_HORIZONTAL; } -// Read by the app - inline void SetRequestedLength(int length) { m_requestedLength = length; } - inline int GetRequestedLength() const { return m_requestedLength; } - inline void SetFlags(int flags) { m_flags = flags; } - inline int GetFlags() const { return m_flags; } + // Read by the app + void SetRequestedLength(int length) { m_requestedLength = length; } + int GetRequestedLength() const { return m_requestedLength; } -// Set by the app - inline void SetSize(const wxSize& size) { m_size = size; } - inline wxSize GetSize() const { return m_size; } + void SetFlags(int flags) { m_flags = flags; } + int GetFlags() const { return m_flags; } + + // Set by the app + void SetSize(const wxSize& size) { m_size = size; } + wxSize GetSize() const { return m_size; } - inline void SetOrientation(wxLayoutOrientation orient) { m_orientation = orient; } - inline wxLayoutOrientation GetOrientation() const { return m_orientation; } + void SetOrientation(wxLayoutOrientation orient) { m_orientation = orient; } + wxLayoutOrientation GetOrientation() const { return m_orientation; } + + void SetAlignment(wxLayoutAlignment align) { m_alignment = align; } + wxLayoutAlignment GetAlignment() const { return m_alignment; } - inline void SetAlignment(wxLayoutAlignment align) { m_alignment = align; } - inline wxLayoutAlignment GetAlignment() const { return m_alignment; } protected: int m_flags; int m_requestedLength; @@ -100,7 +106,7 @@ typedef void (wxEvtHandler::*wxQueryLayoutInfoEventFunction)(wxQueryLayoutInfoEv * This event is used to take a bite out of the available client area. */ -class wxCalculateLayoutEvent: public wxEvent +class WXDLLEXPORT wxCalculateLayoutEvent: public wxEvent { DECLARE_DYNAMIC_CLASS(wxCalculateLayoutEvent) public: @@ -108,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; } @@ -126,10 +132,12 @@ 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. -class wxSashLayoutWindow: public wxSashWindow +class WXDLLEXPORT wxSashLayoutWindow: public wxSashWindow { DECLARE_CLASS(wxSashLayoutWindow) public: @@ -161,20 +169,29 @@ protected: DECLARE_EVENT_TABLE() }; +#endif // wxUSE_SASH + class WXDLLEXPORT wxMDIParentFrame; class WXDLLEXPORT wxFrame; // This class implements the layout algorithm -class wxLayoutAlgorithm: public wxObject +class WXDLLEXPORT wxLayoutAlgorithm: public wxObject { public: wxLayoutAlgorithm() {} // The MDI client window is sized to whatever's left over. - bool LayoutMDIFrame(wxMDIParentFrame* frame); + bool LayoutMDIFrame(wxMDIParentFrame* frame, wxRect* rect = (wxRect*) NULL); + + // mainWindow is sized to whatever's left over. This function for backward + // compatibility; use LayoutWindow. + bool LayoutFrame(wxFrame* frame, wxWindow* mainWindow = (wxWindow*) NULL) + { + return LayoutWindow(frame, mainWindow); + } - // mainWindow is sized to whatever's left over. - bool LayoutFrame(wxFrame* frame, wxWindow* mainWindow); + // mainWindow is sized to whatever's left over. This function for backward + bool LayoutWindow(wxWindow* frame, wxWindow* mainWindow = (wxWindow*) NULL); }; #endif