X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/808e3bce622d9ec7ae8c43581472ae699ed47221..ede3a6d68af66772b4f5f94208b4126bab566cc8:/src/palmos/radiobut.cpp diff --git a/src/palmos/radiobut.cpp b/src/palmos/radiobut.cpp index d7c45e609b..2e008218e0 100644 --- a/src/palmos/radiobut.cpp +++ b/src/palmos/radiobut.cpp @@ -102,6 +102,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl) void wxRadioButton::Init() { + m_radioStyle = pushButtonCtl; + m_groupID = 0; } bool wxRadioButton::Create(wxWindow *parent, @@ -113,8 +115,26 @@ bool wxRadioButton::Create(wxWindow *parent, const wxValidator& validator, const wxString& name) { - wxControl::PalmCreateControl(pushButtonCtl, parent, id, label, pos, size); - return true; + // replace native push button with native checkbox + if ( style & wxRB_USE_CHECKBOX ) + m_radioStyle = checkboxCtl; + + if(!wxControl::Create(parent, id, pos, size, style, validator, name)) + return false; + + return wxControl::PalmCreateControl( + // be sure only one of two possibilities was taken + m_radioStyle == checkboxCtl ? checkboxCtl : pushButtonCtl, + label, + pos, + size, + m_groupID + ); +} + +void wxRadioButton::SetGroup(uint8_t group) +{ + m_groupID = group; } // ---------------------------------------------------------------------------- @@ -135,6 +155,14 @@ bool wxRadioButton::GetValue() const // wxRadioButton event processing // ---------------------------------------------------------------------------- +bool wxRadioButton::SendClickEvent() +{ + wxCommandEvent event(wxEVT_COMMAND_RADIOBUTTON_SELECTED, GetId()); + event.SetInt(GetValue()); + event.SetEventObject(this); + return ProcessCommand(event); +} + void wxRadioButton::Command (wxCommandEvent& event) { }