X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ca8d899fcb677bad4ed7df5c65887b725a092482..d18868bb9b22d6f0fd1010779ddab14a6ab398d8:/include/wx/sizer.h diff --git a/include/wx/sizer.h b/include/wx/sizer.h index 1aab873030..5bf47821b8 100644 --- a/include/wx/sizer.h +++ b/include/wx/sizer.h @@ -25,6 +25,15 @@ class WXDLLEXPORT wxBoxSizer; class WXDLLEXPORT wxSizerItem; class WXDLLEXPORT wxSizer; +#ifndef wxUSE_BORDER_BY_DEFAULT + #ifdef __SMARTPHONE__ + // no borders by default on limited size screen + #define wxUSE_BORDER_BY_DEFAULT 0 + #else + #define wxUSE_BORDER_BY_DEFAULT 1 + #endif +#endif + // ---------------------------------------------------------------------------- // wxSizerFlags: flags used for an item in the sizer // ---------------------------------------------------------------------------- @@ -69,6 +78,18 @@ public: wxSizerFlags& Left() { return Align(wxALIGN_LEFT); } wxSizerFlags& Right() { return Align(wxALIGN_RIGHT); } + // default border size used by Border() below + static int GetDefaultBorder() + { +#if wxUSE_BORDER_BY_DEFAULT + // FIXME: default border size shouldn't be hardcoded and at the very + // least they should depend on the current font size + return 5; +#else + return 0; +#endif + } + wxSizerFlags& Border(int direction, int borderInPixels) { @@ -82,17 +103,55 @@ public: wxSizerFlags& Border(int direction = wxALL) { - // FIXME: default border size shouldn't be hardcoded -#ifdef __SMARTPHONE__ +#if wxUSE_BORDER_BY_DEFAULT + return Border(direction, GetDefaultBorder()); +#else // no borders by default on limited size screen wxUnusedVar(direction); return *this; +#endif + } + + wxSizerFlags& DoubleBorder(int direction = wxALL) + { +#if wxUSE_BORDER_BY_DEFAULT + return Border(direction, 2*GetDefaultBorder()); #else - return Border(direction, 5); + wxUnusedVar(direction); + + return *this; #endif } + wxSizerFlags& TripleBorder(int direction = wxALL) + { +#if wxUSE_BORDER_BY_DEFAULT + return Border(direction, 3*GetDefaultBorder()); +#else + wxUnusedVar(direction); + + return *this; +#endif + } + + wxSizerFlags& HorzBorder() + { +#if wxUSE_BORDER_BY_DEFAULT + return Border(wxLEFT | wxRIGHT, GetDefaultBorder()); +#else + return *this; +#endif + } + + wxSizerFlags& DoubleHorzBorder() + { +#if wxUSE_BORDER_BY_DEFAULT + return Border(wxLEFT | wxRIGHT, 2*GetDefaultBorder()); +#else + return *this; +#endif + } // accessors for wxSizer only int GetProportion() const { return m_proportion; } @@ -327,7 +386,7 @@ class WXDLLEXPORT wxSizer: public wxObject, public wxClientDataContainer { public: wxSizer() { m_containingWindow = NULL; } - ~wxSizer(); + virtual ~wxSizer(); // methods for adding elements to the sizer: there are Add/Insert/Prepend // overloads for each of window/sizer/spacer/wxSizerItem