From 2be7beda2d186af20ce9f0cd2bc28352d890db77 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Mon, 9 Oct 2006 19:32:46 +0000
Subject: [PATCH] added wxSizerFlags::GetDefaultBorder()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/sizer.tex   | 23 ++++++++++++++++-------
 include/wx/sizer.h        | 16 ++++++++++++++--
 src/generic/aboutdlgg.cpp |  2 +-
 3 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/docs/latex/wx/sizer.tex b/docs/latex/wx/sizer.tex
index 2a29941542..87aa48b05d 100644
--- a/docs/latex/wx/sizer.tex
+++ b/docs/latex/wx/sizer.tex
@@ -563,14 +563,14 @@ above.
 
 \func{}{wxSizerFlags}{\param{int }{proportion = 0}}
 
-Creates the wxSizer with the proportion specified by \tt{proportion}.
+Creates the wxSizer with the proportion specified by \arg{proportion}.
 
 
 \membersection{wxSizerFlags::Align}\label{wxsizerflagsalign}
 
 \func{wxSizerFlags\& }{Align}{\param{int }{align = 0}}
 
-Sets the alignment of this wxSizerFlags to \tt{align}.
+Sets the alignment of this wxSizerFlags to \arg{align}.
 
 Note that if this method is not called, the wxSizerFlags has no specified alignment.
 
@@ -585,11 +585,14 @@ Note that if this method is not called, the wxSizerFlags has no specified alignm
 
 \func{wxSizerFlags\& }{Border}{\param{int }{direction}, \param{int }{borderinpixels}}
 
-Sets the wxSizerFlags to have a border of a number of pixels specified by \tt{borderinpixels} with the directions specified by \tt{direction}.
-
 \func{wxSizerFlags\& }{Border}{\param{int }{direction = wxALL}}
 
-Sets the wxSizerFlags to have a border of a default size with the directions specified by \tt{direction}.
+Sets the wxSizerFlags to have a border of a number of pixels specified by
+\arg{borderinpixels} with the directions specified by \arg{direction}.
+
+In the overloaded version without \arg{borderinpixels} parameter, the border of
+default size, as returned by \helpref{GetDefaultBorder}{wxsizerflagsgetdefaultborder},
+is used.
 
 
 \membersection{wxSizerFlags::Center}\label{wxsizerflagscenter}
@@ -613,7 +616,13 @@ Sets the object of the wxSizerFlags to center itself in the area it is given.
 Sets the object of the wxSizerFlags to expand to fill as much area as it can.
 
 
-\membersection{wxSizerFlags::Left}\label{wxsizerflagsleft}
+\membersection{wxSizerFlags::GetDefaultBorder}\label{wxsizerflagsgetdefaultborder}
+
+\func{static int}{GetDefaultBorder}{\void}
+
+Returns the border used by default in \helpref{Border}{wxsizerflagsborder} method.
+
+
 \membersection{wxSizerFlags::Left}\label{wxsizerflagsleft}
 
 \func{wxSizerFlags\& }{Left}{\void}
@@ -629,7 +638,7 @@ Aligns the object to the left, shortcut for \texttt{Align(wxALIGN\_LEFT)}
 
 \func{wxSizerFlags\& }{Proportion}{\param{int }{proportion = 0}}
 
-Sets the proportion of this wxSizerFlags to \tt{proportion}
+Sets the proportion of this wxSizerFlags to \arg{proportion}
 
 
 \membersection{wxSizerFlags::Right}\label{wxsizerflagsright}
diff --git a/include/wx/sizer.h b/include/wx/sizer.h
index e278b0d2ba..a17f61d079 100644
--- a/include/wx/sizer.h
+++ b/include/wx/sizer.h
@@ -69,6 +69,19 @@ public:
     wxSizerFlags& Left() { return Align(wxALIGN_LEFT); }
     wxSizerFlags& Right() { return Align(wxALIGN_RIGHT); }
 
+    // default border size used by Border() below
+    static int GetDefaultBorder()
+    {
+#ifdef __SMARTPHONE__
+        // no borders by default on limited size screen
+        return 0;
+#else // !__SMARTPHONE__
+        // FIXME: default border size shouldn't be hardcoded and at the very
+        //        least they should depend on the current font size
+        return 5;
+#endif // __SMARTPHONE__/!__SMARTPHONE__
+    }
+
 
     wxSizerFlags& Border(int direction, int borderInPixels)
     {
@@ -82,14 +95,13 @@ public:
 
     wxSizerFlags& Border(int direction = wxALL)
     {
-        // FIXME: default border size shouldn't be hardcoded
 #ifdef __SMARTPHONE__
         // no borders by default on limited size screen
         wxUnusedVar(direction);
 
         return *this;
 #else
-        return Border(direction, 5);
+        return Border(direction, GetDefaultBorder());
 #endif
     }
 
diff --git a/src/generic/aboutdlgg.cpp b/src/generic/aboutdlgg.cpp
index 21a6a05754..11a545c816 100644
--- a/src/generic/aboutdlgg.cpp
+++ b/src/generic/aboutdlgg.cpp
@@ -152,7 +152,7 @@ bool wxGenericAboutDialog::Create(const wxAboutDialogInfo& info)
     wxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
     sizerTop->Add(sizerIconAndText, wxSizerFlags(1).Expand().Border());
 
-    int defBorder = wxSizerFlags().Border().GetBorderInPixels();
+    const int defBorder = wxSizerFlags::GetDefaultBorder();
     wxSizer *buttonSizer = CreateButtonSizer( wxOK , false, defBorder );
     if(buttonSizer->GetChildren().GetCount() > 0 )
     {
-- 
2.50.0

