1 /* 2 * Copyright (c) Tony Bybell 2010. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 2 7 * of the License, or (at your option) any later version. 8 */ 9 10 #ifndef WAVE_TCLCB_H 11 #define WAVE_TCLCB_H 12 13 #include <config.h> 14 15 #ifdef HAVE_LIBTCL 16 17 #include <tcl.h> 18 #include <tk.h> 19 #include "debug.h" 20 21 #define WAVE_TCL_LIST_ELEMENT (TCL_LIST_ELEMENT) 22 #define WAVE_TCL_APPEND_VALUE (TCL_APPEND_VALUE) 23 #define WAVE_TCL_GLOBAL_ONLY (TCL_GLOBAL_ONLY) 24 25 #else 26 27 #define WAVE_TCL_LIST_ELEMENT (0) 28 #define WAVE_TCL_APPEND_VALUE (0) 29 #define WAVE_TCL_GLOBAL_ONLY (0) 30 31 #endif 32 33 34 #define WAVE_TCLCB_FLAGS_NONE (WAVE_TCL_LIST_ELEMENT|WAVE_TCL_GLOBAL_ONLY) 35 #define WAVE_TCLCB_FLAGS_APPEND (WAVE_TCL_LIST_ELEMENT|WAVE_TCL_GLOBAL_ONLY|WAVE_TCL_APPEND_VALUE) 36 37 /* ################################################################ */ 38 39 #define WAVE_TCLCB_ERROR "gtkwave::cbError" 40 #define WAVE_TCLCB_ERROR_FLAGS WAVE_TCLCB_FLAGS_NONE 41 #define WAVE_TCLCB_ERROR_INIT "" 42 43 #define WAVE_TCLCB_TIMER_PERIOD "gtkwave::cbTimerPeriod" 44 #define WAVE_TCLCB_TIMER_PERIOD_FLAGS WAVE_TCLCB_FLAGS_NONE 45 #define WAVE_TCLCB_TIMER_PERIOD_INIT "250" 46 47 #define WAVE_TCLCB_CURRENT_ACTIVE_TAB "gtkwave::cbCurrentActiveTab" 48 #define WAVE_TCLCB_CURRENT_ACTIVE_TAB_FLAGS WAVE_TCLCB_FLAGS_NONE 49 #define WAVE_TCLCB_CURRENT_ACTIVE_INIT "" 50 51 #define WAVE_TCLCB_QUIT_PROGRAM "gtkwave::cbQuitProgram" 52 #define WAVE_TCLCB_QUIT_PROGRAM_FLAGS WAVE_TCLCB_FLAGS_NONE 53 #define WAVE_TCLCB_QUIT_PROGRAM_INIT "" 54 55 #define WAVE_TCLCB_CLOSE_TAB_NUMBER "gtkwave::cbCloseTabNumber" 56 #define WAVE_TCLCB_CLOSE_TAB_NUMBER_FLAGS WAVE_TCLCB_FLAGS_NONE 57 #define WAVE_TCLCB_CLOSE_TAB_NUMBER_INIT "" 58 59 #define WAVE_TCLCB_RELOAD_BEGIN "gtkwave::cbReloadBegin" 60 #define WAVE_TCLCB_RELOAD_BEGIN_FLAGS WAVE_TCLCB_FLAGS_NONE 61 #define WAVE_TCLCB_RELOAD_BEGIN_INIT "" 62 63 #define WAVE_TCLCB_RELOAD_END "gtkwave::cbReloadEnd" 64 #define WAVE_TCLCB_RELOAD_END_FLAGS WAVE_TCLCB_FLAGS_NONE 65 #define WAVE_TCLCB_RELOAD_END_INIT "" 66 67 #define WAVE_TCLCB_TREE_EXPAND "gtkwave::cbTreeExpand" 68 #define WAVE_TCLCB_TREE_EXPAND_FLAGS WAVE_TCLCB_FLAGS_NONE 69 #define WAVE_TCLCB_TREE_EXPAND_INIT "" 70 71 #define WAVE_TCLCB_TREE_COLLAPSE "gtkwave::cbTreeCollapse" 72 #define WAVE_TCLCB_TREE_COLLAPSE_FLAGS WAVE_TCLCB_FLAGS_NONE 73 #define WAVE_TCLCB_TREE_COLLAPSE_INIT "" 74 75 #define WAVE_TCLCB_TREE_SELECT "gtkwave::cbTreeSelect" 76 #define WAVE_TCLCB_TREE_SELECT_FLAGS WAVE_TCLCB_FLAGS_NONE 77 #define WAVE_TCLCB_TREE_SELECT_INIT "" 78 79 #define WAVE_TCLCB_TREE_UNSELECT "gtkwave::cbTreeUnselect" 80 #define WAVE_TCLCB_TREE_UNSELECT_FLAGS WAVE_TCLCB_FLAGS_NONE 81 #define WAVE_TCLCB_TREE_UNSELECT_INIT "" 82 83 #define WAVE_TCLCB_TREE_SIG_SELECT "gtkwave::cbTreeSigSelect" 84 #define WAVE_TCLCB_TREE_SIG_SELECT_FLAGS WAVE_TCLCB_FLAGS_NONE 85 #define WAVE_TCLCB_TREE_SIG_SELECT_INIT "" 86 87 #define WAVE_TCLCB_TREE_SIG_UNSELECT "gtkwave::cbTreeSigUnselect" 88 #define WAVE_TCLCB_TREE_SIG_UNSELECT_FLAGS WAVE_TCLCB_FLAGS_NONE 89 #define WAVE_TCLCB_TREE_SIG_UNSELECT_INIT "" 90 91 #define WAVE_TCLCB_TREE_SIG_DOUBLE_CLICK "gtkwave::cbTreeSigDoubleClick" 92 #define WAVE_TCLCB_TREE_SIG_DOUBLE_CLICK_FLAGS WAVE_TCLCB_FLAGS_NONE 93 #define WAVE_TCLCB_TREE_SIG_DOUBLE_CLICK_INIT "" 94 95 #define WAVE_TCLCB_OPEN_TRACE_GROUP "gtkwave::cbOpenTraceGroup" 96 #define WAVE_TCLCB_OPEN_TRACE_GROUP_FLAGS WAVE_TCLCB_FLAGS_NONE 97 #define WAVE_TCLCB_OPEN_TRACE_GROUP_INIT "" 98 99 #define WAVE_TCLCB_CLOSE_TRACE_GROUP "gtkwave::cbCloseTraceGroup" 100 #define WAVE_TCLCB_CLOSE_TRACE_GROUP_FLAGS WAVE_TCLCB_FLAGS_NONE 101 #define WAVE_TCLCB_CLOSE_TRACE_GROUP_INIT "" 102 103 #define WAVE_TCLCB_TRACES_UPDATED "gtkwave::cbTracesUpdated" 104 #define WAVE_TCLCB_TRACES_UPDATED_FLAGS WAVE_TCLCB_FLAGS_NONE 105 #define WAVE_TCLCB_TRACES_UPDATED_INIT "" 106 107 #define WAVE_TCLCB_FROM_ENTRY_UPDATED "gtkwave::cbFromEntryUpdated" 108 #define WAVE_TCLCB_FROM_ENTRY_UPDATED_FLAGS WAVE_TCLCB_FLAGS_NONE 109 #define WAVE_TCLCB_FROM_ENTRY_UPDATED_INIT "" 110 111 #define WAVE_TCLCB_TO_ENTRY_UPDATED "gtkwave::cbToEntryUpdated" 112 #define WAVE_TCLCB_TO_ENTRY_UPDATED_FLAGS WAVE_TCLCB_FLAGS_NONE 113 #define WAVE_TCLCB_TO_ENTRY_UPDATED_INIT "" 114 115 #define WAVE_TCLCB_STATUS_TEXT "gtkwave::cbStatusText" 116 #define WAVE_TCLCB_STATUS_TEXT_FLAGS WAVE_TCLCB_FLAGS_NONE 117 #define WAVE_TCLCB_STATUS_TEXT_INIT "" 118 119 /* ################################################################ */ 120 121 #define WAVE_TCLCB_MACRO_EXPANSION \ 122 WAVE_TCLCB_M(WAVE_TCLCB_ERROR, WAVE_TCLCB_ERROR_FLAGS, WAVE_TCLCB_ERROR_INIT),\ 123 WAVE_TCLCB_M(WAVE_TCLCB_TIMER_PERIOD, WAVE_TCLCB_TIMER_PERIOD_FLAGS, WAVE_TCLCB_TIMER_PERIOD_INIT),\ 124 WAVE_TCLCB_M(WAVE_TCLCB_CURRENT_ACTIVE_TAB, WAVE_TCLCB_CURRENT_ACTIVE_TAB_FLAGS, WAVE_TCLCB_CURRENT_ACTIVE_INIT),\ 125 WAVE_TCLCB_M(WAVE_TCLCB_QUIT_PROGRAM, WAVE_TCLCB_QUIT_PROGRAM_FLAGS, WAVE_TCLCB_QUIT_PROGRAM_INIT),\ 126 WAVE_TCLCB_M(WAVE_TCLCB_CLOSE_TAB_NUMBER, WAVE_TCLCB_CLOSE_TAB_NUMBER_FLAGS, WAVE_TCLCB_CLOSE_TAB_NUMBER_INIT),\ 127 WAVE_TCLCB_M(WAVE_TCLCB_RELOAD_BEGIN, WAVE_TCLCB_RELOAD_BEGIN_FLAGS, WAVE_TCLCB_RELOAD_BEGIN_INIT),\ 128 WAVE_TCLCB_M(WAVE_TCLCB_RELOAD_END, WAVE_TCLCB_RELOAD_END_FLAGS, WAVE_TCLCB_RELOAD_END_INIT),\ 129 WAVE_TCLCB_M(WAVE_TCLCB_TREE_EXPAND, WAVE_TCLCB_TREE_EXPAND_FLAGS, WAVE_TCLCB_TREE_EXPAND_INIT),\ 130 WAVE_TCLCB_M(WAVE_TCLCB_TREE_COLLAPSE, WAVE_TCLCB_TREE_COLLAPSE_FLAGS, WAVE_TCLCB_TREE_COLLAPSE_INIT),\ 131 WAVE_TCLCB_M(WAVE_TCLCB_TREE_SELECT, WAVE_TCLCB_TREE_SELECT_FLAGS, WAVE_TCLCB_TREE_SELECT_INIT),\ 132 WAVE_TCLCB_M(WAVE_TCLCB_TREE_UNSELECT, WAVE_TCLCB_TREE_UNSELECT_FLAGS, WAVE_TCLCB_TREE_UNSELECT_INIT),\ 133 WAVE_TCLCB_M(WAVE_TCLCB_TREE_SIG_SELECT, WAVE_TCLCB_TREE_SIG_SELECT_FLAGS, WAVE_TCLCB_TREE_SIG_SELECT_INIT),\ 134 WAVE_TCLCB_M(WAVE_TCLCB_TREE_SIG_UNSELECT, WAVE_TCLCB_TREE_SIG_UNSELECT_FLAGS, WAVE_TCLCB_TREE_SIG_UNSELECT_INIT),\ 135 WAVE_TCLCB_M(WAVE_TCLCB_TREE_SIG_DOUBLE_CLICK, WAVE_TCLCB_TREE_SIG_DOUBLE_CLICK_FLAGS, WAVE_TCLCB_TREE_SIG_DOUBLE_CLICK_INIT),\ 136 WAVE_TCLCB_M(WAVE_TCLCB_OPEN_TRACE_GROUP, WAVE_TCLCB_OPEN_TRACE_GROUP_FLAGS, WAVE_TCLCB_OPEN_TRACE_GROUP_INIT),\ 137 WAVE_TCLCB_M(WAVE_TCLCB_CLOSE_TRACE_GROUP, WAVE_TCLCB_CLOSE_TRACE_GROUP_FLAGS, WAVE_TCLCB_CLOSE_TRACE_GROUP_INIT),\ 138 WAVE_TCLCB_M(WAVE_TCLCB_TRACES_UPDATED, WAVE_TCLCB_TRACES_UPDATED_FLAGS, WAVE_TCLCB_TRACES_UPDATED_INIT),\ 139 WAVE_TCLCB_M(WAVE_TCLCB_FROM_ENTRY_UPDATED, WAVE_TCLCB_FROM_ENTRY_UPDATED_FLAGS, WAVE_TCLCB_FROM_ENTRY_UPDATED_INIT),\ 140 WAVE_TCLCB_M(WAVE_TCLCB_TO_ENTRY_UPDATED, WAVE_TCLCB_TO_ENTRY_UPDATED_FLAGS, WAVE_TCLCB_TO_ENTRY_UPDATED_INIT),\ 141 WAVE_TCLCB_M(WAVE_TCLCB_STATUS_TEXT, WAVE_TCLCB_STATUS_TEXT_FLAGS, WAVE_TCLCB_STATUS_TEXT_INIT),\ 142 WAVE_TCLCB_M("",-1,"") 143 144 /* ################################################################ */ 145 146 #endif 147