/////////////////////////////////////////////////////////////////////////////
-// Name: checkbox.cpp
+// Name: src/os2/checkbox.cpp
// Purpose: wxCheckBox
// Author: David Webster
// Modified by:
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
+#include "wx/checkbox.h"
+
#ifndef WX_PRECOMP
- #include "wx/checkbox.h"
#include "wx/brush.h"
#include "wx/scrolwin.h"
#include "wx/dcscreen.h"
// macros
// ----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox, wxCheckBox)
extern void wxAssociateWinWithHandle( HWND hWnd
return true;
} // end of wxCheckBox::OS2Command
-bool wxCheckBox::Create(
- wxWindow* pParent
-, wxWindowID vId
-, const wxString& rsLabel
-, const wxPoint& rPos
-, const wxSize& rSize
-, long lStyle
-, const wxValidator& rValidator
-, const wxString& rsName
-)
+bool wxCheckBox::Create(wxWindow* pParent,
+ wxWindowID vId,
+ const wxString& rsLabel,
+ const wxPoint& rPos,
+ const wxSize& rSize,
+ long lStyle,
+ const wxValidator& rValidator,
+ const wxString& rsName )
{
- LONG lColor;
- bool bOk;
-
if (!CreateControl( pParent
,vId
,rPos
,rValidator
,rsName
))
- return FALSE;
+ return false;
- long osStyle = BS_AUTOCHECKBOX |
- WS_TABSTOP |
- WS_VISIBLE;
+ long osStyle = BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE;
- bOk = OS2CreateControl( wxT("BUTTON")
+ bool bOk = OS2CreateControl( wxT("BUTTON")
,osStyle
,rPos
,rSize
,0
);
m_backgroundColour = pParent->GetBackgroundColour();
- lColor = (LONG)m_backgroundColour.GetPixel();
+
+ LONG lColor = (LONG)m_backgroundColour.GetPixel();
::WinSetPresParam( m_hWnd
,PP_BACKGROUNDCOLOR
,sizeof(LONG)
return bOk;
} // end of wxCheckBox::Create
-void wxCheckBox::SetLabel(
- const wxString& rsLabel
-)
+void wxCheckBox::SetLabel( const wxString& rsLabel )
{
- wxString sLabel=::wxPMTextToLabel(rsLabel);
- ::WinSetWindowText(GetHwnd(), (PSZ)sLabel.c_str());
+ wxString sLabel=::wxPMTextToLabel(rsLabel);
+ ::WinSetWindowText(GetHwnd(), sLabel.c_str());
} // 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();
- }
-
+ // 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());
,&nWidthCheckbox
,&nHeightCheckbox
);
- nWidthCheckbox += nCheckSize + GetCharWidth();
+ nWidthCheckbox += nCheckSize;
if (nHeightCheckbox < nCheckSize)
nHeightCheckbox = nCheckSize;
nHeightCheckbox = nCheckSize;
}
- return wxSize( nWidthCheckbox
- ,nHeightCheckbox
- );
+ return wxSize( nWidthCheckbox, nHeightCheckbox );
} // end of wxCheckBox::DoGetBestSize
-void wxCheckBox::SetValue(
- bool bValue
-)
+void wxCheckBox::SetValue( bool bValue )
{
::WinSendMsg(GetHwnd(), BM_SETCHECK, (MPARAM)bValue, 0);
} // end of wxCheckBox::SetValue
return((LONGFROMMR(::WinSendMsg(GetHwnd(), BM_QUERYCHECK, (MPARAM)0, (MPARAM)0)) == 1L));
} // end of wxCheckBox::GetValue
-void wxCheckBox::Command (
- wxCommandEvent& rEvent
-)
+void wxCheckBox::Command ( wxCommandEvent& rEvent )
{
SetValue((rEvent.GetInt() != 0));
ProcessCommand(rEvent);