1 /* 2 * This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3 3 * http://www.gnu.org/licenses/lgpl-3.0.html 4 */ 5 6 #ifndef SDK_EVENTS_H 7 #define SDK_EVENTS_H 8 9 #include <wx/event.h> 10 #include <wx/intl.h> 11 #include "settings.h" 12 #include "prep.h" 13 14 class cbProject; 15 class EditorBase; 16 class cbPlugin; 17 class Logger; 18 19 /** A generic Code::Blocks event. */ 20 class EVTIMPORT CodeBlocksEvent : public wxCommandEvent 21 { 22 public: 23 CodeBlocksEvent(wxEventType commandType = wxEVT_NULL, int id = 0, cbProject* project = nullptr, EditorBase* editor = nullptr, cbPlugin* plugin = nullptr, EditorBase* old_editor = nullptr) wxCommandEvent(commandType,id)24 : wxCommandEvent(commandType, id), 25 m_pProject(project), 26 m_pEditor(editor), 27 m_pOldEditor(old_editor), 28 m_pPlugin(plugin), 29 m_X(0), 30 m_Y(0) {} CodeBlocksEvent(const CodeBlocksEvent & event)31 CodeBlocksEvent(const CodeBlocksEvent& event) 32 : wxCommandEvent(event), 33 m_pProject(event.m_pProject), 34 m_pEditor(event.m_pEditor), 35 m_pOldEditor(event.m_pOldEditor), 36 m_pPlugin(event.m_pPlugin), 37 m_X(event.m_X), 38 m_Y(event.m_Y) {} Clone()39 wxEvent *Clone() const override { return new CodeBlocksEvent(*this); } 40 GetProject()41 cbProject* GetProject() const { return m_pProject; } SetProject(cbProject * project)42 void SetProject(cbProject* project) { m_pProject = project; } 43 GetEditor()44 EditorBase* GetEditor() const { return m_pEditor; } SetEditor(EditorBase * editor)45 void SetEditor(EditorBase* editor) { m_pEditor = editor; } 46 GetOldEditor()47 EditorBase* GetOldEditor() const { return m_pOldEditor; } SetOldEditor(EditorBase * editor)48 void SetOldEditor(EditorBase* editor) { m_pOldEditor = editor; } 49 GetPlugin()50 cbPlugin* GetPlugin() const { return m_pPlugin; } SetPlugin(cbPlugin * plugin)51 void SetPlugin(cbPlugin* plugin) { m_pPlugin = plugin; } 52 GetX()53 int GetX() const { return m_X; } SetX(int x)54 void SetX(int x) { m_X = x; } 55 GetY()56 int GetY() const { return m_Y; } SetY(int y)57 void SetY(int y) { m_Y = y; } 58 GetBuildTargetName()59 const wxString& GetBuildTargetName() const { return m_TargetName; } SetBuildTargetName(const wxString & target)60 void SetBuildTargetName(const wxString& target) { m_TargetName = target; } 61 62 // the following two functions are only valid for EVT_BUILDTARGET_RENAMED 63 // and EVT_BUILDTARGET_SELECTED events GetOldBuildTargetName()64 const wxString& GetOldBuildTargetName() const { return m_OldTargetName; } SetOldBuildTargetName(const wxString & target)65 void SetOldBuildTargetName(const wxString& target) { m_OldTargetName = target; } 66 protected: 67 cbProject* m_pProject; 68 EditorBase* m_pEditor; 69 EditorBase* m_pOldEditor; 70 cbPlugin* m_pPlugin; 71 // for some editor events 72 int m_X; 73 int m_Y; 74 75 wxString m_TargetName; 76 wxString m_OldTargetName; 77 private: 78 DECLARE_DYNAMIC_CLASS(CodeBlocksEvent) 79 }; 80 typedef void (wxEvtHandler::*CodeBlocksEventFunction)(CodeBlocksEvent&); 81 82 /** Event used to request from the main app to add a window to the docking system. */ 83 class EVTIMPORT CodeBlocksDockEvent : public wxEvent 84 { 85 public: 86 enum DockSide 87 { 88 dsLeft = 0, 89 dsRight, 90 dsTop, 91 dsBottom, 92 dsFloating, 93 dsUndefined 94 }; 95 96 CodeBlocksDockEvent(wxEventType commandType = wxEVT_NULL, int id = 0) wxEvent(id,commandType)97 : wxEvent(id, commandType), 98 title(_("Untitled")), 99 pWindow(nullptr), 100 desiredSize(100, 100), 101 floatingSize(150, 150), 102 minimumSize(40, 40), 103 floatingPos(200, 150), 104 dockSide(dsUndefined), 105 row(-1), 106 column(-1), 107 shown(false), 108 stretch(false), 109 hideable(true), 110 asTab(false) 111 112 { 113 } CodeBlocksDockEvent(const CodeBlocksDockEvent & rhs)114 CodeBlocksDockEvent(const CodeBlocksDockEvent& rhs) 115 : wxEvent(rhs), 116 name(rhs.name), 117 title(rhs.title), 118 pWindow(rhs.pWindow), 119 desiredSize(rhs.desiredSize), 120 floatingSize(rhs.floatingSize), 121 minimumSize(rhs.minimumSize), 122 floatingPos(rhs.floatingPos), 123 dockSide(rhs.dockSide), 124 row(rhs.row), 125 column(rhs.column), 126 shown(rhs.shown), 127 stretch(rhs.stretch), 128 hideable(rhs.hideable), 129 asTab(rhs.asTab), 130 bitmap(rhs.bitmap) 131 { 132 } Clone()133 wxEvent *Clone() const override { return new CodeBlocksDockEvent(*this); } 134 135 wxString name; ///< Dock's name. Must be unique. If empty, a unique name will be assigned. 136 wxString title; ///< Dock's title. 137 wxWindow* pWindow; ///< The window to dock. 138 wxSize desiredSize; ///< The desired size. 139 wxSize floatingSize;///< The desired floating size. 140 wxSize minimumSize; ///< The minimum allowed size. 141 wxPoint floatingPos;///< The desired floating position. 142 DockSide dockSide; ///< The side to dock it. 143 int row; ///< The row to dock it. 144 int column; ///< The column to dock it. 145 bool shown; ///< If true, initially shown. 146 bool stretch; ///< If true, the dock will stretch to fill the @c dockSide 147 bool hideable; ///< If true, the dock will be allowed to be closed by the user. 148 bool asTab; ///< Add this window as a tab of an existing docked window (NOT IMPLEMENTED). 149 wxString bitmap; ///< The bitmap to use. 150 151 char padding[64]; ///< Unused space in this class for later enhancements. 152 private: 153 DECLARE_DYNAMIC_CLASS(CodeBlocksDockEvent) 154 }; 155 typedef void (wxEvtHandler::*CodeBlocksDockEventFunction)(CodeBlocksDockEvent&); 156 157 /** Event used to request from the main app to manage the view layouts. */ 158 class EVTIMPORT CodeBlocksLayoutEvent : public wxEvent 159 { 160 public: 161 CodeBlocksLayoutEvent(wxEventType commandType = wxEVT_NULL, const wxString& layout_name = wxEmptyString) wxEvent(wxID_ANY,commandType)162 : wxEvent(wxID_ANY, commandType), 163 layout(layout_name) 164 {} CodeBlocksLayoutEvent(const CodeBlocksLayoutEvent & rhs)165 CodeBlocksLayoutEvent(const CodeBlocksLayoutEvent& rhs) 166 : wxEvent(rhs), layout(rhs.layout) 167 {} Clone()168 wxEvent *Clone() const override { return new CodeBlocksLayoutEvent(*this); } 169 170 wxString layout; ///< Layout's name. 171 private: 172 DECLARE_DYNAMIC_CLASS(CodeBlocksLayoutEvent) 173 }; 174 typedef void (wxEvtHandler::*CodeBlocksLayoutEventFunction)(CodeBlocksLayoutEvent&); 175 176 /** Event used to request from the main app to add a log. 177 * 178 * @note By adding a Logger*, the app takes ownership of it in cbEVT_ADD_LOG_WINDOW. 179 * By adding a wxWindow*, the ownership is not touched and you should delete the window after calling 180 * cbEVT_REMOVE_LOG_WINDOW for it. 181 */ 182 class EVTIMPORT CodeBlocksLogEvent : public wxEvent 183 { 184 public: 185 CodeBlocksLogEvent(wxEventType commandType = wxEVT_NULL, Logger* logger = nullptr, const wxString& title = wxEmptyString, wxBitmap *icon = nullptr); 186 CodeBlocksLogEvent(wxEventType commandType, wxWindow* window, const wxString& title = wxEmptyString, wxBitmap *icon = nullptr); 187 CodeBlocksLogEvent(wxEventType commandType, int logIndex, const wxString& title = wxEmptyString, wxBitmap *icon = nullptr); 188 CodeBlocksLogEvent(const CodeBlocksLogEvent& rhs); 189 Clone()190 wxEvent *Clone() const override { return new CodeBlocksLogEvent(*this); } 191 192 Logger* logger; ///< The logger. 193 int logIndex; ///< The logger's index. 194 wxBitmap *icon; ///< The logger's icon. Valid only for cbEVT_ADD_LOG_WINDOW. 195 wxString title; ///< The logger's title. Valid only for cbEVT_ADD_LOG_WINDOW. 196 wxWindow* window; ///< A non-logger window. Needed at least by cbEVT_REMOVE_LOG_WINDOW. 197 private: 198 DECLARE_DYNAMIC_CLASS(CodeBlocksLogEvent) 199 }; 200 typedef void (wxEvtHandler::*CodeBlocksLogEventFunction)(CodeBlocksLogEvent&); 201 202 203 // Thread event, this is basically a derived wxCommandEvent but enforce a deep copy of its 204 // m_cmdString member. wxEVT_COMMAND_MENU_SELECTED is reused and event handlers are matched by 205 // ids. This is just to conserve the old code, an alternative is use some 206 // new event type like: cbEVT_THREAD_LOG_MESSAGE, cbEVT_THREAD_LOGDEBUG_MESSAGE 207 // cbEVT_THREAD_SYSTEM_HEADER_UPDATE. 208 209 class EVTIMPORT CodeBlocksThreadEvent : public wxCommandEvent 210 { 211 public: 212 CodeBlocksThreadEvent(wxEventType eventType = wxEVT_NULL, int id = wxID_ANY) wxCommandEvent(eventType,id)213 : wxCommandEvent(eventType,id) 214 { } 215 CodeBlocksThreadEvent(const CodeBlocksThreadEvent & event)216 CodeBlocksThreadEvent(const CodeBlocksThreadEvent& event) 217 : wxCommandEvent(event) 218 { 219 // make sure our string member (which uses COW, aka refcounting) is not 220 // shared by other wxString instances: 221 SetString(GetString().c_str()); 222 } 223 Clone()224 wxEvent *Clone() const override 225 { 226 return new CodeBlocksThreadEvent(*this); 227 } 228 229 230 private: 231 DECLARE_DYNAMIC_CLASS_NO_ASSIGN(CodeBlocksThreadEvent) 232 }; 233 234 typedef void ( wxEvtHandler::*CodeblocksThreadEventFunction) ( CodeBlocksThreadEvent&); 235 236 #define CodeBlocksThreadEventHandler(func) \ 237 (wxObjectEventFunction)(wxEventFunction) \ 238 wxStaticCastEvent(CodeblocksThreadEventFunction, &func) 239 240 241 #define EVT_CODEBLOCKS_THREAD(id, fn) \ 242 DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MENU_SELECTED, id, wxID_ANY, \ 243 (wxObjectEventFunction) (wxEventFunction) (CodeblocksThreadEventFunction) \ 244 wxStaticCastEvent( ThreadEventFunction, & fn ), (wxObject *) NULL ), 245 246 // 247 // if you add more event types, remember to add event sinks in Manager... 248 // 249 250 // app events 251 extern EVTIMPORT const wxEventType cbEVT_APP_STARTUP_DONE; 252 #define EVT_APP_STARTUP_DONE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_APP_STARTUP_DONE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 253 extern EVTIMPORT const wxEventType cbEVT_APP_START_SHUTDOWN; 254 #define EVT_APP_START_SHUTDOWN(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_APP_START_SHUTDOWN, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 255 extern EVTIMPORT const wxEventType cbEVT_APP_ACTIVATED; 256 #define EVT_APP_ACTIVATED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_APP_ACTIVATED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 257 extern EVTIMPORT const wxEventType cbEVT_APP_DEACTIVATED; 258 #define EVT_APP_DEACTIVATED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_APP_DEACTIVATED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 259 extern EVTIMPORT const wxEventType cbEVT_APP_CMDLINE; 260 #define EVT_APP_CMDLINE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_APP_CMDLINE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 261 262 263 // plugin events 264 extern EVTIMPORT const wxEventType cbEVT_PLUGIN_ATTACHED; 265 #define EVT_PLUGIN_ATTACHED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PLUGIN_ATTACHED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 266 extern EVTIMPORT const wxEventType cbEVT_PLUGIN_RELEASED; 267 #define EVT_PLUGIN_RELEASED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PLUGIN_RELEASED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 268 extern EVTIMPORT const wxEventType cbEVT_PLUGIN_INSTALLED; 269 #define EVT_PLUGIN_INSTALLED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PLUGIN_INSTALLED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 270 extern EVTIMPORT const wxEventType cbEVT_PLUGIN_UNINSTALLED; 271 #define EVT_PLUGIN_UNINSTALLED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PLUGIN_UNINSTALLED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 272 extern EVTIMPORT const wxEventType cbEVT_PLUGIN_LOADING_COMPLETE; 273 #define EVT_PLUGIN_LOADING_COMPLETE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PLUGIN_LOADING_COMPLETE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 274 275 // editor events 276 extern EVTIMPORT const wxEventType cbEVT_EDITOR_CLOSE; 277 #define EVT_EDITOR_CLOSE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_CLOSE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 278 extern EVTIMPORT const wxEventType cbEVT_EDITOR_OPEN; 279 #define EVT_EDITOR_OPEN(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_OPEN, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 280 extern EVTIMPORT const wxEventType cbEVT_EDITOR_SWITCHED; 281 #define EVT_EDITOR_SWITCHED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_SWITCHED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 282 extern EVTIMPORT const wxEventType cbEVT_EDITOR_ACTIVATED; 283 #define EVT_EDITOR_ACTIVATED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_ACTIVATED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 284 extern EVTIMPORT const wxEventType cbEVT_EDITOR_DEACTIVATED; 285 #define EVT_EDITOR_DEACTIVATED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_DEACTIVATED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 286 extern EVTIMPORT const wxEventType cbEVT_EDITOR_BEFORE_SAVE; 287 #define EVT_EDITOR_BEFORE_SAVE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_BEFORE_SAVE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 288 extern EVTIMPORT const wxEventType cbEVT_EDITOR_SAVE; 289 #define EVT_EDITOR_SAVE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_SAVE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 290 extern EVTIMPORT const wxEventType cbEVT_EDITOR_MODIFIED; 291 #define EVT_EDITOR_MODIFIED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_MODIFIED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 292 extern EVTIMPORT const wxEventType cbEVT_EDITOR_TOOLTIP; 293 #define EVT_EDITOR_TOOLTIP(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_TOOLTIP, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 294 extern EVTIMPORT const wxEventType cbEVT_EDITOR_TOOLTIP_CANCEL; 295 #define EVT_EDITOR_TOOLTIP_CANCEL(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_TOOLTIP_CANCEL, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 296 extern EVTIMPORT const wxEventType cbEVT_EDITOR_SPLIT; 297 #define EVT_EDITOR_SPLIT(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_SPLIT, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 298 extern EVTIMPORT const wxEventType cbEVT_EDITOR_UNSPLIT; 299 #define EVT_EDITOR_UNSPLIT(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_UNSPLIT, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 300 extern EVTIMPORT const wxEventType cbEVT_EDITOR_UPDATE_UI; 301 #define EVT_EDITOR_UPDATE_UI(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_UPDATE_UI, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 302 303 extern EVTIMPORT const wxEventType cbEVT_EDITOR_CC_DONE; 304 #define EVT_EDITOR_CC_DONE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_EDITOR_CC_DONE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 305 306 // project events 307 extern EVTIMPORT const wxEventType cbEVT_PROJECT_NEW; 308 #define EVT_PROJECT_NEW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_NEW, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 309 extern EVTIMPORT const wxEventType cbEVT_PROJECT_CLOSE; 310 #define EVT_PROJECT_CLOSE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_CLOSE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 311 extern EVTIMPORT const wxEventType cbEVT_PROJECT_OPEN; 312 #define EVT_PROJECT_OPEN(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_OPEN, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 313 extern EVTIMPORT const wxEventType cbEVT_PROJECT_SAVE; 314 #define EVT_PROJECT_SAVE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_SAVE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 315 extern EVTIMPORT const wxEventType cbEVT_PROJECT_ACTIVATE; 316 #define EVT_PROJECT_ACTIVATE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_ACTIVATE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 317 extern EVTIMPORT const wxEventType cbEVT_PROJECT_BEGIN_ADD_FILES; 318 #define EVT_PROJECT_BEGIN_ADD_FILES(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_BEGIN_ADD_FILES, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 319 extern EVTIMPORT const wxEventType cbEVT_PROJECT_END_ADD_FILES; 320 #define EVT_PROJECT_END_ADD_FILES(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_END_ADD_FILES, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 321 extern EVTIMPORT const wxEventType cbEVT_PROJECT_BEGIN_REMOVE_FILES; 322 #define EVT_PROJECT_BEGIN_REMOVE_FILES(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_BEGIN_REMOVE_FILES, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 323 extern EVTIMPORT const wxEventType cbEVT_PROJECT_END_REMOVE_FILES; 324 #define EVT_PROJECT_END_REMOVE_FILES(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_END_REMOVE_FILES, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 325 extern EVTIMPORT const wxEventType cbEVT_PROJECT_FILE_ADDED; 326 #define EVT_PROJECT_FILE_ADDED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_FILE_ADDED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 327 extern EVTIMPORT const wxEventType cbEVT_PROJECT_FILE_REMOVED; 328 #define EVT_PROJECT_FILE_REMOVED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_FILE_REMOVED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 329 extern EVTIMPORT const wxEventType cbEVT_PROJECT_FILE_CHANGED; 330 #define EVT_PROJECT_FILE_CHANGED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_FILE_CHANGED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 331 extern EVTIMPORT const wxEventType cbEVT_PROJECT_POPUP_MENU; 332 #define EVT_PROJECT_POPUP_MENU(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_POPUP_MENU, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 333 extern EVTIMPORT const wxEventType cbEVT_PROJECT_TARGETS_MODIFIED; 334 #define EVT_PROJECT_TARGETS_MODIFIED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_TARGETS_MODIFIED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 335 extern EVTIMPORT const wxEventType cbEVT_PROJECT_RENAMED; 336 #define EVT_PROJECT_RENAMED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_RENAMED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 337 extern EVTIMPORT const wxEventType cbEVT_PROJECT_OPTIONS_CHANGED; 338 #define EVT_PROJECT_OPTIONS_CHANGED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PROJECT_OPTIONS_CHANGED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 339 extern EVTIMPORT const wxEventType cbEVT_WORKSPACE_CHANGED; 340 #define EVT_WORKSPACE_CHANGED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_WORKSPACE_CHANGED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 341 extern EVTIMPORT const wxEventType cbEVT_WORKSPACE_LOADING_COMPLETE; 342 #define EVT_WORKSPACE_LOADING_COMPLETE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_WORKSPACE_LOADING_COMPLETE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 343 extern EVTIMPORT const wxEventType cbEVT_WORKSPACE_CLOSING_BEGIN; 344 #define EVT_WORKSPACE_CLOSING_BEGIN(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_WORKSPACE_CLOSING_BEGIN, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 345 extern EVTIMPORT const wxEventType cbEVT_WORKSPACE_CLOSING_COMPLETE; 346 #define EVT_WORKSPACE_CLOSING_COMPLETE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_WORKSPACE_CLOSING_COMPLETE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 347 348 // build targets events 349 extern EVTIMPORT const wxEventType cbEVT_BUILDTARGET_ADDED; 350 #define EVT_BUILDTARGET_ADDED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_BUILDTARGET_ADDED, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksEventFunction) & fn, (wxObject *) NULL ), 351 extern EVTIMPORT const wxEventType cbEVT_BUILDTARGET_REMOVED; 352 #define EVT_BUILDTARGET_REMOVED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_BUILDTARGET_REMOVED, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksEventFunction) & fn, (wxObject *) NULL ), 353 extern EVTIMPORT const wxEventType cbEVT_BUILDTARGET_RENAMED; 354 #define EVT_BUILDTARGET_RENAMED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_BUILDTARGET_RENAMED, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksEventFunction) & fn, (wxObject *) NULL ), 355 extern EVTIMPORT const wxEventType cbEVT_BUILDTARGET_SELECTED; 356 #define EVT_BUILDTARGET_SELECTED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_BUILDTARGET_SELECTED, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksEventFunction) & fn, (wxObject *) NULL ), 357 358 // pipedprocess events 359 extern EVTIMPORT const wxEventType cbEVT_PIPEDPROCESS_STDOUT; 360 #define EVT_PIPEDPROCESS_STDOUT(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_STDOUT, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ), 361 #define EVT_PIPEDPROCESS_STDOUT_RANGE(id, id1, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_STDOUT, id, id1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ), 362 extern EVTIMPORT const wxEventType cbEVT_PIPEDPROCESS_STDERR; 363 #define EVT_PIPEDPROCESS_STDERR(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_STDERR, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ), 364 #define EVT_PIPEDPROCESS_STDERR_RANGE(id, id1, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_STDERR, id, id1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ), 365 extern EVTIMPORT const wxEventType cbEVT_PIPEDPROCESS_TERMINATED; 366 #define EVT_PIPEDPROCESS_TERMINATED(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_TERMINATED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 367 #define EVT_PIPEDPROCESS_TERMINATED_RANGE(id, id1, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_PIPEDPROCESS_TERMINATED, id, id1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ), 368 369 // thread-pool events 370 extern EVTIMPORT const wxEventType cbEVT_THREADTASK_STARTED; 371 #define EVT_THREADTASK_STARTED(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_THREADTASK_STARTED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ), 372 extern EVTIMPORT const wxEventType cbEVT_THREADTASK_ENDED; 373 #define EVT_THREADTASK_ENDED(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_THREADTASK_ENDED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ), 374 extern EVTIMPORT const wxEventType cbEVT_THREADTASK_ALLDONE; 375 #define EVT_THREADTASK_ALLDONE(id, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_THREADTASK_ALLDONE, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL ), 376 377 // request app to add and manage a docked window 378 extern EVTIMPORT const wxEventType cbEVT_ADD_DOCK_WINDOW; 379 #define EVT_ADD_DOCK_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_ADD_DOCK_WINDOW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksDockEventFunction) & fn, (wxObject *) NULL ), 380 // request app to stop managing a docked window 381 extern EVTIMPORT const wxEventType cbEVT_REMOVE_DOCK_WINDOW; 382 #define EVT_REMOVE_DOCK_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_REMOVE_DOCK_WINDOW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksDockEventFunction) & fn, (wxObject *) NULL ), 383 // request app to show a docked window 384 extern EVTIMPORT const wxEventType cbEVT_SHOW_DOCK_WINDOW; 385 #define EVT_SHOW_DOCK_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_SHOW_DOCK_WINDOW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksDockEventFunction) & fn, (wxObject *) NULL ), 386 // request app to hide a docked window 387 extern EVTIMPORT const wxEventType cbEVT_HIDE_DOCK_WINDOW; 388 #define EVT_HIDE_DOCK_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_HIDE_DOCK_WINDOW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksDockEventFunction) & fn, (wxObject *) NULL ), 389 // app notifies that a docked window has been hidden/shown 390 // to actually find out its state use IsWindowReallyShown(event.pWindow); 391 extern EVTIMPORT const wxEventType cbEVT_DOCK_WINDOW_VISIBILITY; 392 #define EVT_DOCK_WINDOW_VISIBILITY(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_DOCK_WINDOW_VISIBILITY, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksDockEventFunction) & fn, (wxObject *) NULL ), 393 // force update current view layout 394 extern EVTIMPORT const wxEventType cbEVT_UPDATE_VIEW_LAYOUT; 395 #define EVT_UPDATE_VIEW_LAYOUT(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_UPDATE_VIEW_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksLayoutEventFunction) & fn, (wxObject *) NULL ), 396 // ask which is the current view layout 397 extern EVTIMPORT const wxEventType cbEVT_QUERY_VIEW_LAYOUT; 398 #define EVT_QUERY_VIEW_LAYOUT(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_QUERY_VIEW_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksLayoutEventFunction) & fn, (wxObject *) NULL ), 399 // request app to switch view layout 400 extern EVTIMPORT const wxEventType cbEVT_SWITCH_VIEW_LAYOUT; 401 #define EVT_SWITCH_VIEW_LAYOUT(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_SWITCH_VIEW_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksLayoutEventFunction) & fn, (wxObject *) NULL ), 402 // app notifies that a new layout has been applied 403 extern EVTIMPORT const wxEventType cbEVT_SWITCHED_VIEW_LAYOUT; 404 #define EVT_SWITCHED_VIEW_LAYOUT(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_SWITCHED_VIEW_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksLayoutEventFunction) & fn, (wxObject *) NULL ), 405 // app notifies that the menubar is started being (re)created 406 extern EVTIMPORT const wxEventType cbEVT_MENUBAR_CREATE_BEGIN; 407 #define EVT_MENUBAR_CREATE_BEGIN(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_MENUBAR_CREATE_BEGIN, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksEventFunction) & fn, (wxObject *) NULL ), 408 // app notifies that the menubar (re)creation ended 409 extern EVTIMPORT const wxEventType cbEVT_MENUBAR_CREATE_END; 410 #define EVT_MENUBAR_CREATE_END(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_MENUBAR_CREATE_END, -1, -1, (wxObjectEventFunction) (wxEventFunction) (CodeBlocksEventFunction) & fn, (wxObject *) NULL ), 411 412 // compiler-related events (compiler plugins usually fire them) 413 extern EVTIMPORT const wxEventType cbEVT_COMPILER_STARTED; 414 #define EVT_COMPILER_STARTED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_COMPILER_STARTED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 415 extern EVTIMPORT const wxEventType cbEVT_COMPILER_FINISHED; 416 #define EVT_COMPILER_FINISHED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_COMPILER_FINISHED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 417 extern EVTIMPORT const wxEventType cbEVT_COMPILER_SET_BUILD_OPTIONS; 418 #define EVT_COMPILER_SET_BUILD_OPTIONS(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_COMPILER_SET_BUILD_OPTIONS, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 419 extern EVTIMPORT const wxEventType cbEVT_CLEAN_PROJECT_STARTED; 420 #define EVT_CLEAN_PROJECT_STARTED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_CLEAN_PROJECT_STARTED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 421 extern EVTIMPORT const wxEventType cbEVT_CLEAN_WORKSPACE_STARTED; 422 #define EVT_CLEAN_WORKSPACE_STARTED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_CLEAN_WORKSPACE_STARTED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 423 extern EVTIMPORT const wxEventType cbEVT_COMPILER_SETTINGS_CHANGED; 424 #define EVT_COMPILER_SETTINGS_CHANGED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_COMPILER_SETTINGS_CHANGED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 425 426 // request app to compile a single file 427 extern EVTIMPORT const wxEventType cbEVT_COMPILE_FILE_REQUEST; 428 #define EVT_COMPILE_FILE_REQUEST(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_COMPILE_FILE_REQUEST, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 429 430 // debugger-related events (debugger plugins must fire them) 431 extern EVTIMPORT const wxEventType cbEVT_DEBUGGER_STARTED; 432 #define EVT_DEBUGGER_STARTED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_DEBUGGER_STARTED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 433 extern EVTIMPORT const wxEventType cbEVT_DEBUGGER_PAUSED; 434 #define EVT_DEBUGGER_PAUSED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_DEBUGGER_PAUSED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 435 extern EVTIMPORT const wxEventType cbEVT_DEBUGGER_CONTINUED; 436 #define cbEVT_DEBUGGER_CONTINUED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_DEBUGGER_CONTINUED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 437 extern EVTIMPORT const wxEventType cbEVT_DEBUGGER_FINISHED; 438 #define EVT_DEBUGGER_FINISHED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_DEBUGGER_FINISHED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 439 extern EVTIMPORT const wxEventType cbEVT_DEBUGGER_CURSOR_CHANGED; 440 #define EVT_DEBUGGER_CURSOR_CHANGED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_DEBUGGER_CURSOR_CHANGED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 441 /// Event sent when the data for a particular debug window is acquired by the debugger plugin and 442 /// can be presented to the user. Calling GetInt on the event object can be used to find out the 443 /// type of window which has been updated. The value has type cbDebuggerPlugin::DebugWindows. 444 extern EVTIMPORT const wxEventType cbEVT_DEBUGGER_UPDATED; 445 #define EVT_DEBUGGER_UPDATED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_DEBUGGER_UPDATED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 446 447 // logger-related events 448 449 // add a log window 450 extern EVTIMPORT const wxEventType cbEVT_ADD_LOG_WINDOW; 451 #define EVT_ADD_LOG_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_ADD_LOG_WINDOW, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 452 // remove a log window 453 extern EVTIMPORT const wxEventType cbEVT_REMOVE_LOG_WINDOW; 454 #define EVT_REMOVE_LOG_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_REMOVE_LOG_WINDOW, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 455 // switch to a log window (make it visible) 456 extern EVTIMPORT const wxEventType cbEVT_HIDE_LOG_WINDOW; 457 #define EVT_HIIDE_LOG_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_HIDE_LOG_WINDOW, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 458 // switch to a log window (make it visible) 459 extern EVTIMPORT const wxEventType cbEVT_SWITCH_TO_LOG_WINDOW; 460 #define EVT_SWITCH_TO_LOG_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_SWITCH_TO_LOG_WINDOW, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 461 // gets the active log window 462 extern EVTIMPORT const wxEventType cbEVT_GET_ACTIVE_LOG_WINDOW; 463 #define EVT_GET_ACTIVE_LOG_WINDOW(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_GET_ACTIVE_LOG_WINDOW, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 464 // show log manager 465 extern EVTIMPORT const wxEventType cbEVT_SHOW_LOG_MANAGER; 466 #define EVT_SHOW_LOG_MANAGER(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_SHOW_LOG_MANAGER, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 467 // hide log manager 468 extern EVTIMPORT const wxEventType cbEVT_HIDE_LOG_MANAGER; 469 #define EVT_HIDE_LOG_MANAGER(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_HIDE_LOG_MANAGER, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 470 // "lock" it (used with auto-hiding functionality) 471 extern EVTIMPORT const wxEventType cbEVT_LOCK_LOG_MANAGER; 472 #define EVT_LOCK_LOG_MANAGER(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_LOCK_LOG_MANAGER, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 473 // "unlock" it (used with auto-hiding functionality) 474 extern EVTIMPORT const wxEventType cbEVT_UNLOCK_LOG_MANAGER; 475 #define EVT_UNLOCK_LOG_MANAGER(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_UNLOCK_LOG_MANAGER, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksLogEventFunction)&fn, (wxObject *) NULL ), 476 477 //cbAUiNotebook related events 478 // left doubleclick on a tab 479 extern EVTIMPORT const wxEventType cbEVT_CBAUIBOOK_LEFT_DCLICK; 480 #define EVT_CBAUIBOOK_LEFT_DCLICK(winid, fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_CBAUIBOOK_LEFT_DCLICK, winid, -1, (wxObjectEventFunction)(wxEventFunction)(wxMouseEventFunction)&fn, (wxObject *) NULL ), 481 482 // code-completion related events (CodeCompletion plugin usually fires them) 483 extern EVTIMPORT const wxEventType cbEVT_COMPLETE_CODE; 484 #define EVT_COMPLETE_CODE(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_COMPLETE_CODE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 485 extern EVTIMPORT const wxEventType cbEVT_SHOW_CALL_TIP; 486 #define EVT_SHOW_CALL_TIP(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_SHOW_CALL_TIP, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 487 488 // settings events 489 490 // event.GetInt() returns value of type cbSettingsType::Type indicating which setting group was changed 491 struct cbSettingsType 492 { 493 enum Type 494 { 495 Compiler, 496 Debugger, 497 Environment, 498 Editor, 499 Plugins 500 }; 501 }; 502 extern EVTIMPORT const wxEventType cbEVT_SETTINGS_CHANGED; 503 #define EVT_SETTINGS_CHANGED(fn) DECLARE_EVENT_TABLE_ENTRY( cbEVT_SETTINGS_CHANGED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(CodeBlocksEventFunction)&fn, (wxObject *) NULL ), 504 505 #endif // SDK_EVENTS_H 506