]> git.saurik.com Git - wxWidgets.git/commitdiff
wxButton::GetDefaultSize() added for MSW and documented
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 10 Jul 1999 21:51:58 +0000 (21:51 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 10 Jul 1999 21:51:58 +0000 (21:51 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/button.tex
include/wx/msw/button.h
src/msw/button.cpp

index be87dacb3188da36f27ebf5c5e4e984d1e1362d0..7bac1a11181fa705c88ea01477a0caf64eb24bb3 100644 (file)
@@ -99,6 +99,14 @@ The button's label.
 
 \helpref{wxButton::SetLabel}{wxbuttonsetlabel}
 
+\membersection{wxButton::GetDefaultSize}\label{wxbuttongetdefaultsize}
+
+\func{wxSize}{GetDefaultSize}{\void}
+
+Returns the default size for the buttons. It is advised to make all the dialog
+buttons of the same size and this function allows to retrieve the (platform and
+current font dependent size) which should be the best suited for this.
+
 \membersection{wxButton::SetDefault}\label{wxbuttonsetdefault}
 
 \func{void}{SetDefault}{\void}
index 4d78ab2d4013e3290bcb529e17465c1828fa82e4..6888ee443a158760f515c1a2ec1e2b30a1011b73 100644 (file)
@@ -49,6 +49,8 @@ public:
 
     virtual void SetDefault();
 
+    static wxSize GetDefaultSize();
+
     // implementation from now on
     virtual void Command(wxCommandEvent& event);
     virtual bool MSWCommand(WXUINT param, WXWORD id);
index 1a34a34d0e659c360d2be3fddb9c2bbfdfc31abf..5138afaf6d2e35719fde013b88249556e2c9f512 100644 (file)
@@ -131,6 +131,20 @@ wxSize wxButton::DoGetBestSize()
     return wxSize(wBtn, hBtn);
 }
 
+/* static */
+wxSize wxButton::GetDefaultSize()
+{
+    // the base unit is the height of the system GUI font
+    int wChar, hChar;
+    wxGetCharSize(0, &wChar, &hChar, NULL);
+
+    // the button height is proportional to the height of the font used
+    int hBtn = BUTTON_HEIGHT_FROM_CHAR_HEIGHT(hChar);
+
+    // and the width/height ration is 75/23
+    return wxSize((75 * hBtn) / 23, hBtn);
+}
+
 // ----------------------------------------------------------------------------
 // set this button as the default one in its panel
 // ----------------------------------------------------------------------------