// ----------------------------------------------------------------------------
#ifdef __GNUG__
- #pragma implementation "ctrlcmn.h"
+ #pragma implementation "controlbase.h"
#endif
// For compilers that support precompilation, includes "wx.h".
// even if it's possible to create controls without parents in some port,
// it should surely be discouraged because it doesn't work at all under
// Windows
- wxCHECK_MSG( parent, FALSE, T("all controls must have parents") );
+ wxCHECK_MSG( parent, FALSE, wxT("all controls must have parents") );
if ( !CreateBase(parent, id, pos, size, style, validator, name) )
return FALSE;
void wxControlBase::Command(wxCommandEvent& event)
{
- (void)ProcessEvent(event);
+ (void)GetEventHandler()->ProcessEvent(event);
}
+
+void wxControlBase::InitCommandEvent(wxCommandEvent& event) const
+{
+ event.SetEventObject((wxControlBase *)this); // const_cast
+
+ // event.SetId(GetId()); -- this is usuall done in the event ctor
+
+ switch ( m_clientDataType )
+ {
+ case ClientData_Void:
+ event.SetClientData(GetClientData());
+ break;
+
+ case ClientData_Object:
+ event.SetClientObject(GetClientObject());
+ break;
+
+ case ClientData_None:
+ // nothing to do
+ ;
+ }
+}
+