X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/808e3bce622d9ec7ae8c43581472ae699ed47221..63a3cd7a8c737eb4571f27e5f2af37eda0f1c5cc:/src/palmos/radiobut.cpp diff --git a/src/palmos/radiobut.cpp b/src/palmos/radiobut.cpp index d7c45e609b..394cf2d413 100644 --- a/src/palmos/radiobut.cpp +++ b/src/palmos/radiobut.cpp @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "radiobut.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -36,6 +32,8 @@ #include "wx/dcscreen.h" #endif +#include + // ============================================================================ // wxRadioButton implementation // ============================================================================ @@ -102,6 +100,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl) void wxRadioButton::Init() { + m_radioStyle = pushButtonCtl; + m_groupID = 0; } bool wxRadioButton::Create(wxWindow *parent, @@ -113,8 +113,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 +153,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) { }