#ifndef SDK_EVENTS_H
#define SDK_EVENTS_H
#include <wx/event.h>
#include "settings.h"
#include "cbproject.h"
#include "cbeditor.h"
#include "cbplugin.h"
class EVTIMPORT CodeBlocksEvent : public wxCommandEvent
{
public:
CodeBlocksEvent(wxEventType commandType = wxEVT_NULL, int id = 0, cbProject* project = 0L, cbEditor* editor = 0L, cbPlugin* plugin = 0L)
: wxCommandEvent(commandType, id),
m_pProject(project),
m_pEditor(editor),
m_pPlugin(plugin),
m_X(0),
m_Y(0) {}
CodeBlocksEvent(const CodeBlocksEvent& event)
: wxCommandEvent(event),
m_pProject(event.m_pProject),
m_pEditor(event.m_pEditor),
m_pPlugin(event.m_pPlugin),
m_X(event.m_X),
m_Y(event.m_Y) {}
virtual wxEvent *Clone() const { return new CodeBlocksEvent(*this); }
cbProject* GetProject() const { return m_pProject; }
void SetProject(cbProject* project){ m_pProject = project; }
cbEditor* GetEditor() const { return m_pEditor; }
void SetEditor(cbEditor* editor){ m_pEditor = editor; }
cbPlugin* GetPlugin() const { return m_pPlugin; }
void SetPlugin(cbPlugin* plugin){ m_pPlugin = plugin; }
int GetX(){ return m_X; }
void SetX(int x){ m_X = x; }
int GetY(){ return m_Y; }
void SetY(int y){ m_Y = y; }
protected:
cbProject* m_pProject;
cbEditor* m_pEditor;
cbPlugin* m_pPlugin;
// for some editor events
int m_X;
int m_Y;
private:
DECLARE_DYNAMIC_CLASS(CodeBlocksEvent)
};
typedef void (wxEvtHandler::*CodeBlocksEventFunction)(CodeBlocksEvent&);
// app events
DECLARE_CB_EVENT_TYPE(cbEVT_APP_STARTUP_DONE)
#define EVT_APP_STARTUP_DONE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_APP_STARTUP_DONE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_APP_START_SHUTDOWN)
#define EVT_APP_START_SHUTDOWN(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_APP_START_SHUTDOWN, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
// plugin events
DECLARE_CB_EVENT_TYPE(cbEVT_PLUGIN_ATTACHED)
#define EVT_PLUGIN_ATTACHED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PLUGIN_ATTACHED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PLUGIN_RELEASED)
#define EVT_PLUGIN_RELEASED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PLUGIN_RELEASED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
// editor events
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_CLOSE)
#define EVT_EDITOR_CLOSE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_CLOSE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_OPEN)
#define EVT_EDITOR_OPEN(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_OPEN, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_SAVE)
#define EVT_EDITOR_SAVE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_SAVE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_AUTOCOMPLETE)
#define EVT_EDITOR_AUTOCOMPLETE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_AUTOCOMPLETE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_CALLTIP)
#define EVT_EDITOR_CALLTIP(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_CALLTIP, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_TOOLTIP)
#define EVT_EDITOR_TOOLTIP(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_TOOLTIP, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_TOOLTIP_CANCEL)
#define EVT_EDITOR_TOOLTIP_CANCEL(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_TOOLTIP_CANCEL, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_USERLIST_SELECTION)
#define EVT_EDITOR_USERLIST_SELECTION(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_USERLIST_SELECTION, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_BREAKPOINT_ADDED)
#define EVT_EDITOR_BREAKPOINT_ADDED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_BREAKPOINT_ADDED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_BREAKPOINT_DELETED)
#define EVT_EDITOR_BREAKPOINT_DELETED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_BREAKPOINT_DELETED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_EDITOR_UPDATE_UI)
#define EVT_EDITOR_UPDATE_UI(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_UPDATE_UI, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
// project events
DECLARE_CB_EVENT_TYPE(cbEVT_PROJECT_CLOSE)
#define EVT_PROJECT_CLOSE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_CLOSE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PROJECT_OPEN)
#define EVT_PROJECT_OPEN(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_OPEN, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PROJECT_SAVE)
#define EVT_PROJECT_SAVE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_SAVE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PROJECT_ACTIVATE)
#define EVT_PROJECT_ACTIVATE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_ACTIVATE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PROJECT_FILE_ADDED)
#define EVT_PROJECT_FILE_ADDED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_FILE_ADDED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PROJECT_FILE_REMOVED)
#define EVT_PROJECT_FILE_REMOVED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_FILE_REMOVED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PROJECT_POPUP_MENU)
#define EVT_PROJECT_POPUP_MENU(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_POPUP_MENU, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ),
// pipedprocess events
DECLARE_CB_EVENT_TYPE(cbEVT_PIPEDPROCESS_STDOUT)
#define EVT_PIPEDPROCESS_STDOUT(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_STDOUT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PIPEDPROCESS_STDERR)
#define EVT_PIPEDPROCESS_STDERR(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_STDERR, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_PIPEDPROCESS_TERMINATED)
#define EVT_PIPEDPROCESS_TERMINATED(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_TERMINATED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
// thread-pool events
DECLARE_CB_EVENT_TYPE(cbEVT_THREADTASK_STARTED)
#define EVT_THREADTASK_STARTED(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_THREADTASK_STARTED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_THREADTASK_ENDED)
#define EVT_THREADTASK_ENDED(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_THREADTASK_ENDED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_THREADTASK_ALLDONE)
#define EVT_THREADTASK_ALLDONE(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_THREADTASK_ALLDONE, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
// request app to dock/undock a window
DECLARE_CB_EVENT_TYPE(cbEVT_DOCK_WINDOW)
#define EVT_DOCK_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_DOCK_WINDOW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_UNDOCK_WINDOW)
#define EVT_UNDOCK_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_UNDOCK_WINDOW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
DECLARE_CB_EVENT_TYPE(cbEVT_SHOW_DOCK_WINDOW)
#define EVT_SHOW_DOCK_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_SHOW_DOCK_WINDOW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ),
#endif // SDK_EVENTS_H
syntax highlighted by Code2HTML, v. 0.9.1