X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9576ca53db96b462ed4c0b4bdf47d64c40203e4..92432aa11122b338d86fc4ac1aee5ea76c696d9a:/src/mac/checkbox.cpp diff --git a/src/mac/checkbox.cpp b/src/mac/checkbox.cpp index dd2e2abe7a..88a00906e0 100644 --- a/src/mac/checkbox.cpp +++ b/src/mac/checkbox.cpp @@ -13,6 +13,8 @@ #pragma implementation "checkbox.h" #endif +#include "wx/defs.h" + #include "wx/checkbox.h" #if !USE_SHARED_LIBRARY @@ -20,6 +22,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl) IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox, wxCheckBox) #endif +#include "wx/mac/uma.h" + // Single check box item bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos, @@ -27,41 +31,28 @@ bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, const wxValidator& validator, const wxString& name) { - SetName(name); - SetValidator(validator); - m_windowStyle = style; - - if (parent) parent->AddChild(this); - - if ( id == -1 ) - m_windowId = NewControlId(); - else - m_windowId = id; - - // TODO: create checkbox - - return FALSE; -} + Rect bounds ; + Str255 title ; + + MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ; -void wxCheckBox::SetLabel(const wxString& label) -{ - // TODO -} + m_macControl = ::NewControl( MAC_WXHWND(parent->MacGetRootWindow()) , &bounds , title , false , 0 , 0 , 1, + kControlCheckBoxProc , (long) this ) ; + + MacPostControlCreate() ; -void wxCheckBox::SetSize(int x, int y, int width, int height, int sizeFlags) -{ - // TODO + return TRUE; } void wxCheckBox::SetValue(bool val) { - // TODO + ::SetControlValue( (ControlHandle) m_macControl , val ) ; + MacRedrawControl() ; } bool wxCheckBox::GetValue() const { - // TODO - return FALSE; + return ::GetControlValue( (ControlHandle) m_macControl ) ; } void wxCheckBox::Command (wxCommandEvent & event) @@ -70,12 +61,22 @@ void wxCheckBox::Command (wxCommandEvent & event) ProcessCommand (event); } +void wxCheckBox::MacHandleControlClick( WXWidget WXUNUSED(control), wxInt16 WXUNUSED(controlpart) ) +{ + SetValue( !GetValue() ) ; + wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId ); + event.SetInt(GetValue()); + event.SetEventObject(this); + ProcessCommand(event); +} + // Bitmap checkbox -bool wxBitmapCheckBox::Create(wxWindow *parent, wxWindowID id, const wxBitmap *label, - const wxPoint& pos, - const wxSize& size, long style, - const wxValidator& validator, - const wxString& name) +bool wxBitmapCheckBox::Create(wxWindow *parent, wxWindowID id, + const wxBitmap *label, + const wxPoint& pos, + const wxSize& size, long style, + const wxValidator& validator, + const wxString& name) { SetName(name); SetValidator(validator); @@ -100,7 +101,7 @@ void wxBitmapCheckBox::SetLabel(const wxBitmap *bitmap) void wxBitmapCheckBox::SetSize(int x, int y, int width, int height, int sizeFlags) { - // TODO + wxControl::SetSize( x , y , width , height , sizeFlags ) ; } void wxBitmapCheckBox::SetValue(bool val)