X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3015c547a6a602d81878d3d1d717bc79955b44c..1dc39a1fb565cbdc90f8537599551a3556efce8a:/src/common/choiccmn.cpp diff --git a/src/common/choiccmn.cpp b/src/common/choiccmn.cpp index ceeb467b8e..64f8a92347 100644 --- a/src/common/choiccmn.cpp +++ b/src/common/choiccmn.cpp @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: common/choiccmn.cpp +// Name: src/common/choiccmn.cpp // Purpose: common (to all ports) wxChoice functions // Author: Vadim Zeitlin // Modified by: // Created: 26.07.99 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team -// Licence: wxWindows license +// Copyright: (c) wxWidgets team +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "choiccmn.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -28,90 +24,32 @@ #pragma hdrstop #endif +#if wxUSE_CHOICE + +#include "wx/choice.h" + #ifndef WX_PRECOMP - #include "wx/choice.h" - #include "wx/log.h" #endif +const char wxChoiceNameStr[] = "choice"; + // ============================================================================ // implementation // ============================================================================ -// ---------------------------------------------------------------------------- -// events -// ---------------------------------------------------------------------------- - -void wxChoiceBase::Command(wxCommandEvent &event) +wxChoiceBase::~wxChoiceBase() { - SetSelection(event.GetInt()); - (void)ProcessEvent(event); + // this destructor is required for Darwin } // ---------------------------------------------------------------------------- -// string selection management +// misc // ---------------------------------------------------------------------------- -wxString wxChoiceBase::GetStringSelection() const +void wxChoiceBase::Command(wxCommandEvent& event) { - int sel = GetSelection(); - wxString str; - wxCHECK_MSG( sel != wxNOT_FOUND, str, _T("no selection, hence no string") ); - - str = GetString(sel); - return str; -} - -bool wxChoiceBase::SetStringSelection(const wxString& sel) -{ - int selIndex = FindString(sel); - wxCHECK_MSG( selIndex != wxNOT_FOUND, FALSE, - _T("can't set selection to string not in the control") ); - - SetSelection(selIndex); - - return TRUE; -} - -// ---------------------------------------------------------------------------- -// client data -// ---------------------------------------------------------------------------- - -void wxChoiceBase::SetClientObject(int n, wxClientData *data) -{ - wxASSERT_MSG( m_clientDataItemsType != ClientData_Void, - _T("can't have both object and void client data") ); - - wxClientData *clientDataOld = DoGetClientObject(n); - if ( clientDataOld ) - delete clientDataOld; - - DoSetClientObject(n, data); - m_clientDataItemsType = ClientData_Object; -} - -wxClientData *wxChoiceBase::GetClientObject(int n) const -{ - wxASSERT_MSG( m_clientDataItemsType == ClientData_Object, - _T("this window doesn't have object client data") ); - - return DoGetClientObject(n); -} - -void wxChoiceBase::SetClientData(int n, void *data) -{ - wxASSERT_MSG( m_clientDataItemsType != ClientData_Object, - _T("can't have both object and void client data") ); - - DoSetClientData(n, data); - m_clientDataItemsType = ClientData_Void; -} - -void *wxChoiceBase::GetClientData(int n) const -{ - wxASSERT_MSG( m_clientDataItemsType == ClientData_Void, - _T("this window doesn't have void client data") ); - - return DoGetClientData(n); + SetSelection(event.GetInt()); + (void)GetEventHandler()->ProcessEvent(event); } - +#endif // wxUSE_CHOICE