X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/808e3bce622d9ec7ae8c43581472ae699ed47221..87eaa6f666513f6209b52ba765b48900fb3ed49f:/src/palmos/radiobut.cpp?ds=sidebyside diff --git a/src/palmos/radiobut.cpp b/src/palmos/radiobut.cpp index d7c45e609b..de723d6607 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" @@ -30,12 +26,15 @@ #if wxUSE_RADIOBTN +#include "wx/radiobut.h" + #ifndef WX_PRECOMP - #include "wx/radiobut.h" #include "wx/settings.h" #include "wx/dcscreen.h" #endif +#include + // ============================================================================ // wxRadioButton implementation // ============================================================================ @@ -102,6 +101,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl) void wxRadioButton::Init() { + m_radioStyle = pushButtonCtl; + m_groupID = 0; } bool wxRadioButton::Create(wxWindow *parent, @@ -113,8 +114,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 +154,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) { }