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
// ----------------------------------------------------------------------------
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)
{
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; }
{
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