#ifndef __WXSEVENT_H
#define __WXSEVENT_H
#include <wx/event.h>
class wxsResource;
class wxsWidget;
class wxsEvent: public wxCommandEvent
{
public:
wxsEvent(wxEventType Type = wxEVT_NULL, int id = 0, wxsResource* _Res = NULL, wxsWidget* _Widget=NULL)
: wxCommandEvent(Type, id),
Res(_Res),
Widget(_Widget)
{}
wxsEvent(const wxsEvent& event)
: wxCommandEvent(event),
Res(event.Res),
Widget(event.Widget)
{}
virtual wxEvent *Clone() const { return new wxsEvent(*this); }
inline wxsResource* GetResource() { return Res;}
inline void SetResource(wxsResource* _Res) { Res = Res; }
inline wxsWidget* GetWidget() { return Widget; }
inline void SetWidget(wxsWidget* _Widget) { Widget = _Widget; }
private:
wxsResource* Res;
wxsWidget* Widget;
};
typedef void (wxEvtHandler::*wxsEventFunction)(wxsEvent&);
extern const wxEventType wxEVT_SELECT_RES; // Sent when resource is selected
extern const wxEventType wxEVT_UNSELECT_RES; // Sent when given resourcee is no longer valid
extern const wxEventType wxEVT_SELECT_WIDGET; // Sent when selecting given widget
extern const wxEventType wxEVT_UNSELECT_WIDGET; // Send when given widget is no longer valid
#define EVT_SELECT_RES(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_SELECT_RES, -1, -1, (wxObjectEventFunction)(wxEventFunction)(wxsEventFunction)&fn, (wxObject *) NULL ),
#define EVT_UNSELECT_RES(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_UNSELECT_RES, -1, -1, (wxObjectEventFunction)(wxEventFunction)(wxsEventFunction)&fn, (wxObject *) NULL ),
#define EVT_SELECT_WIDGET(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_SELECT_WIDGET, -1, -1, (wxObjectEventFunction)(wxEventFunction)(wxsEventFunction)&fn, (wxObject *) NULL ),
#define EVT_UNSELECT_WIDGET(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_UNSELECT_WIDGET, -1, -1, (wxObjectEventFunction)(wxEventFunction)(wxsEventFunction)&fn, (wxObject *) NULL ),
void wxsSelectWidget(wxsWidget* Widget);
void wxsUnselectWidget(wxsWidget* Widget);
void wxsSelectRes(wxsResource* Res);
void wxsUnselectRes(wxsResource* Res);
#endif
syntax highlighted by Code2HTML, v. 0.9.1