]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/checkbox.cpp
1. derive wxGTK wxRadioBox from wxRadioBoxBase now, as in all other ports
[wxWidgets.git] / src / os2 / checkbox.cpp
index 547270a72da9f44657407e29751dcb6498a055f0..3bdc229700a626495238334439b6d75f6873101f 100644 (file)
@@ -41,18 +41,14 @@ extern void  wxAssociateWinWithHandle( HWND         hWnd
 // wxCheckBox
 // ----------------------------------------------------------------------------
 
 // wxCheckBox
 // ----------------------------------------------------------------------------
 
-bool wxCheckBox::OS2Command(
-  WXUINT                            WXUNUSED(uParam)
-, WXWORD                            WXUNUSED(wId)
-)
+bool wxCheckBox::OS2Command( WXUINT WXUNUSED(uParam),
+                             WXWORD WXUNUSED(wId) )
 {
 {
-    wxCommandEvent                  rEvent( wxEVT_COMMAND_CHECKBOX_CLICKED
-                                           ,m_windowId
-                                          );
+    wxCommandEvent rEvent( wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId );
     rEvent.SetInt(GetValue());
     rEvent.SetEventObject(this);
     ProcessCommand(rEvent);
     rEvent.SetInt(GetValue());
     rEvent.SetEventObject(this);
     ProcessCommand(rEvent);
-    return TRUE;
+    return true;
 } // end of wxCheckBox::OS2Command
 
 bool wxCheckBox::Create(
 } // end of wxCheckBox::OS2Command
 
 bool wxCheckBox::Create(
@@ -106,38 +102,26 @@ void wxCheckBox::SetLabel(
   const wxString&                   rsLabel
 )
 {
   const wxString&                   rsLabel
 )
 {
-    ::WinSetWindowText(GetHwnd(), (PSZ)rsLabel.c_str());
+    wxString                         sLabel=::wxPMTextToLabel(rsLabel);
+    ::WinSetWindowText(GetHwnd(), (PSZ)sLabel.c_str());
 } // end of wxCheckBox::SetLabel
 
 wxSize wxCheckBox::DoGetBestSize() const
 {
 } // end of wxCheckBox::SetLabel
 
 wxSize wxCheckBox::DoGetBestSize() const
 {
-    static int                      nCheckSize = 0;
-
-    if (!nCheckSize)
-    {
-        wxScreenDC                  vDc;
-
-        vDc.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
-
-        //
-        // The height of a standard button in the dialog units is 8,
-        // translate this to pixels (as one dialog unit is precisely equal to
-        // 8 character heights, it's just the char height)
-        //
-        nCheckSize = vDc.GetCharHeight();
-    }
-
-    int                             nWidthCheckbox;
-    int                             nHeightCheckbox;
-    wxString                        sStr = wxGetWindowText(GetHWND());
-
-    if (!sStr.IsEmpty())
+    // We should probably compute nCheckSize but it seems to be a constant
+    // independent of its label's font size and not made available by OS/2.
+    int      nCheckSize = RADIO_SIZE;
+    int      nWidthCheckbox;
+    int      nHeightCheckbox;
+    wxString sStr = wxGetWindowText(GetHWND());
+
+    if (!sStr.empty())
     {
         GetTextExtent( sStr
                       ,&nWidthCheckbox
                       ,&nHeightCheckbox
                      );
     {
         GetTextExtent( sStr
                       ,&nWidthCheckbox
                       ,&nHeightCheckbox
                      );
-        nWidthCheckbox += nCheckSize + GetCharWidth();
+        nWidthCheckbox += nCheckSize;
 
         if (nHeightCheckbox < nCheckSize)
             nHeightCheckbox = nCheckSize;
 
         if (nHeightCheckbox < nCheckSize)
             nHeightCheckbox = nCheckSize;
@@ -181,16 +165,14 @@ void wxCheckBox::Command (
 // wxBitmapCheckBox
 // ----------------------------------------------------------------------------
 
 // wxBitmapCheckBox
 // ----------------------------------------------------------------------------
 
-bool wxBitmapCheckBox::Create(
-  wxWindow*                         pParent
-, wxWindowID                        vId
-, const wxBitmap*                   pLabel
-, const wxPoint&                    rPos
-, const wxSize&                     rSize
-, long                              lStyle
-, const wxValidator&                rValidator
-, const wxString&                   rsName
-)
+bool wxBitmapCheckBox::Create( wxWindow*          pParent,
+                               wxWindowID         vId,
+                               const wxBitmap*    WXUNUSED(pLabel),
+                               const wxPoint&     rPos,
+                               const wxSize&      rSize,
+                               long               lStyle,
+                               const wxValidator& rValidator,
+                               const wxString&    rsName)
 {
     SetName(rsName);
 #if wxUSE_VALIDATORS
 {
     SetName(rsName);
 #if wxUSE_VALIDATORS
@@ -233,13 +215,10 @@ bool wxBitmapCheckBox::Create(
            );
 
     ::WinShowWindow(hButton, TRUE);
            );
 
     ::WinShowWindow(hButton, TRUE);
-    return TRUE;
+    return true;
 } // end of wxBitmapCheckBox::Create
 
 } // end of wxBitmapCheckBox::Create
 
-void wxBitmapCheckBox::SetLabel(
-  const wxBitmap&                   rBitmap
-)
+void wxBitmapCheckBox::SetLabel( const wxBitmap& WXUNUSED(rBitmap) )
 {
     wxFAIL_MSG(wxT("not implemented"));
 }  // end of wxBitmapCheckBox::SetLabel
 {
     wxFAIL_MSG(wxT("not implemented"));
 }  // end of wxBitmapCheckBox::SetLabel
-