Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 15863) +++ trunk/src/Makefile.dep (revision 15864) @@ -83,7 +83,7 @@ ../src_3rd/genvector/vtp0.h vtpadstack.h obj_pstk_shape.h polygon.h \ vtpadstack_t.h draw.h error.h layer.h intersect.h rtree.h macro.h move.h \ rats.h netlist.h route_style.h remove.h rotate.h compat_misc.h obj_rat.h \ - obj_term.h data_it.h data.h + obj_term.h obj_pstk_inlines.h data.h thermal.h data_it.h ../src_plugins/autoroute/action.o: ../src_plugins/autoroute/action.c \ ../config.h ../src_plugins/autoroute/autoroute.h board.h const.h macro.h \ global_typedefs.h pcb_bool.h unit.h vtroutestyle.h attrib.h \ @@ -1512,7 +1512,7 @@ plug_footprint.h vtlibrary.h hid.h ../src_plugins/hid_lesstif/lesstif.h \ hid_cfg_input.h ../src_3rd/genht/htpp.h hid_cfg.h compat_nls.h board.h \ vtroutestyle.h library.h rats_patch.h board.h \ - ../src_plugins/hid_lesstif/stdarg.h event.h + ../src_plugins/hid_lesstif/stdarg.h event.h tool.h ../src_plugins/hid_lesstif/main.o: ../src_plugins/hid_lesstif/main.c \ ../src_plugins/hid_lesstif/xincludes.h ../config.h math_helper.h \ conf_core.h conf.h global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -1543,7 +1543,7 @@ library.h rats_patch.h board.h hid_attrib.h hid_helper.h hid_init.h \ hid_color.h hid_extents.h hid_flags.h hid_actions.h \ ../src_plugins/hid_lesstif/stdarg.h misc_util.h compat_misc.h \ - layer_vis.h ../src_plugins/hid_lesstif/dlg_preview.c stub_draw.h \ + layer_vis.h tool.h ../src_plugins/hid_lesstif/dlg_preview.c stub_draw.h \ dolists.h ../src_plugins/hid_lesstif/menu.o: ../src_plugins/hid_lesstif/menu.c \ ../src_plugins/hid_lesstif/xincludes.h ../config.h conf_core.h conf.h \ @@ -2947,7 +2947,7 @@ ../src_3rd/genht/htsp.h ../src_3rd/genvector/vtp0.h list_conf.h conf.h \ ../src_plugins/lib_gtk_common/compat.h \ ../src_plugins/lib_gtk_common/bu_mode_btn.data const.h crosshair.h \ - vtonpoint.h hid.h route.h const.h conf_core.h \ + vtonpoint.h hid.h route.h const.h conf_core.h tool.h \ ../src_plugins/lib_gtk_config/hid_gtk_conf.h ../src_plugins/lib_gtk_common/bu_notebook.o: \ ../src_plugins/lib_gtk_common/bu_notebook.c ../config.h \ @@ -3188,7 +3188,7 @@ ../src_plugins/lib_gtk_common/ui_zoompan.h unit.h pcb_bool.h \ ../src_plugins/lib_gtk_common/in_mouse.h hid_cfg_input.h \ ../src_3rd/genht/htpp.h hid_cfg.h \ - ../src_plugins/lib_gtk_common/win_place.h \ + ../src_plugins/lib_gtk_common/win_place.h tool.h \ ../src_plugins/lib_gtk_config/hid_gtk_conf.h \ ../src_plugins/lib_gtk_common/dlg_library_param.h ../src_plugins/lib_gtk_common/dlg_library_param.o: \ @@ -3431,7 +3431,7 @@ ../src_plugins/lib_gtk_common/util_listener.h \ ../src_plugins/lib_gtk_common/in_mouse.h \ ../src_plugins/lib_gtk_common/in_keyboard.h \ - ../src_plugins/lib_gtk_common/ui_zoompan.h unit.h \ + ../src_plugins/lib_gtk_common/ui_zoompan.h unit.h tool.h \ ../src_plugins/lib_gtk_config/lib_gtk_config.h event.h \ ../src_plugins/lib_gtk_common/glue.h \ ../src_plugins/lib_gtk_config/hid_gtk_conf.h \ @@ -3476,7 +3476,7 @@ conf.h ../src_plugins/lib_gtk_common/compat.h const.h board.h const.h \ vtroutestyle.h library.h rats_patch.h board.h action_helper.h \ crosshair.h vtonpoint.h hid.h route.h conf_core.h undo.h \ - ../src_3rd/libuundo/uundo.h undo_old.h \ + ../src_3rd/libuundo/uundo.h undo_old.h tool.h \ ../src_plugins/lib_gtk_common/in_keyboard.h \ ../src_plugins/lib_gtk_common/ui_zoompan.h unit.h pcb_bool.h \ ../src_plugins/lib_gtk_common/bu_status_line.h \ @@ -3742,7 +3742,7 @@ obj_pstk_shape.h polygon.h vtpadstack_t.h layer.h action_helper.h \ change.h plug_io.h error.h draw.h pcb-printf.h hid_attrib.h misc_util.h \ paths.h plug_footprint.h vtlibrary.h stub_draw.h compat_misc.h \ - compat_nls.h fptr_cast.h safe_fs.h ../src_3rd/liblihata/tree.h \ + compat_nls.h fptr_cast.h safe_fs.h tool.h ../src_3rd/liblihata/tree.h \ ../src_plugins/lib_gtk_config/gtk_conf_list.h \ ../src_plugins/lib_gtk_config/hid_gtk_conf.h \ ../src_plugins/lib_gtk_common/compat.h \ @@ -4823,7 +4823,7 @@ rats.h netlist.h route_style.h plugins.h ../src_3rd/puplug/puplug.h \ ../src_3rd/puplug/libs.h ../src_3rd/puplug/os_dep.h \ ../src_3rd/puplug/config.h ../src_3rd/puplug/libs.h \ - ../src_3rd/puplug/error.h hid_actions.h compat_misc.h misc_util.h \ + ../src_3rd/puplug/error.h hid_actions.h compat_misc.h misc_util.h tool.h \ dolists.h ../src_plugins/shape/shape.o: ../src_plugins/shape/shape.c ../config.h \ ../src_plugins/shape/shape.h board.h const.h macro.h global_typedefs.h \ @@ -4851,8 +4851,8 @@ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/dom.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h list_conf.h \ error.h event.h math_helper.h obj_poly.h obj_poly_draw.h rotate.h \ - compat_misc.h ../src_plugins/shape/shape_dialog.c hid_dad.h hid_attrib.h \ - dolists.h + compat_misc.h tool.h ../src_plugins/shape/shape_dialog.c hid_dad.h \ + hid_attrib.h dolists.h ../src_plugins/smartdisperse/smartdisperse.o: \ ../src_plugins/smartdisperse/smartdisperse.c ../src_3rd/genht/htpi.h \ ../src_3rd/genht/ht.h ../config.h board.h const.h macro.h \ @@ -4877,7 +4877,7 @@ ../src_3rd/puplug/libs.h ../src_3rd/puplug/os_dep.h \ ../src_3rd/puplug/config.h ../src_3rd/puplug/libs.h \ ../src_3rd/puplug/error.h action_helper.h hid_actions.h compat_nls.h \ - obj_subc.h dolists.h + obj_subc.h obj_subc_parent.h data.h dolists.h ../src_plugins/stroke/stroke.o: ../src_plugins/stroke/stroke.c \ ../config.h math_helper.h board.h const.h macro.h global_typedefs.h \ pcb_bool.h unit.h vtroutestyle.h attrib.h \ @@ -4904,7 +4904,7 @@ undo_old.h undo_act.h error.h plugins.h ../src_3rd/puplug/puplug.h \ ../src_3rd/puplug/libs.h ../src_3rd/puplug/os_dep.h \ ../src_3rd/puplug/config.h ../src_3rd/puplug/libs.h \ - ../src_3rd/puplug/error.h compat_nls.h + ../src_3rd/puplug/error.h compat_nls.h tool.h ../src_plugins/teardrops/teardrops.o: \ ../src_plugins/teardrops/teardrops.c ../config.h math_helper.h board.h \ const.h macro.h global_typedefs.h pcb_bool.h unit.h vtroutestyle.h \ @@ -5134,7 +5134,7 @@ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/dom.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h list_conf.h \ plug_io.h compat_misc.h hid_actions.h paths.h undo.h \ - ../src_3rd/libuundo/uundo.h undo_old.h draw.h event.h safe_fs.h \ + ../src_3rd/libuundo/uundo.h undo_old.h draw.h event.h safe_fs.h tool.h \ defpcb_internal.c obj_pstk_inlines.h thermal.h box.o: box.c ../config.h rotate.h global_typedefs.h pcb_bool.h unit.h \ compat_misc.h box.h math_helper.h macro.h move.h obj_common.h flag.h \ @@ -5286,7 +5286,7 @@ ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h \ ../src_3rd/genvector/vtp0.h list_conf.h route_style.h error.h hid.h \ - drc.h + drc.h tool.h conf_core.o: conf_core.c ../config.h conf.h global_typedefs.h pcb_bool.h \ unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -5436,7 +5436,7 @@ vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h action_helper.h \ plug_io.h plug_import.h remove.h draw.h find.h search.h rats.h netlist.h \ route_style.h hid_actions.h compat_misc.h compat_nls.h hid_init.h \ - layer_vis.h safe_fs.h + layer_vis.h safe_fs.h tool.h find.o: find.c ../config.h const.h math_helper.h conf_core.h conf.h \ global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ @@ -6492,7 +6492,7 @@ vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h action_helper.h \ undo.h ../src_3rd/libuundo/uundo.h undo_old.h funchash_core.h funchash.h \ funchash_core_list.h draw.h search.h rats.h netlist.h route_style.h \ - compat_nls.h + compat_nls.h tool.h rats.o: rats.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ Index: trunk/src/board.c =================================================================== --- trunk/src/board.c (revision 15863) +++ trunk/src/board.c (revision 15864) @@ -38,6 +38,7 @@ #include "draw.h" #include "event.h" #include "safe_fs.h" +#include "tool.h" pcb_board_t *PCB; Index: trunk/src/conf_act.c =================================================================== --- trunk/src/conf_act.c (revision 15863) +++ trunk/src/conf_act.c (revision 15864) @@ -30,6 +30,7 @@ #include "route_style.h" #include "error.h" #include "hid.h" +#include "tool.h" static const char pcb_acts_Conf[] = "conf(set, path, value, [role], [policy]) - change a config setting to an absolute value\n" Index: trunk/src/const.h =================================================================== --- trunk/src/const.h (revision 15863) +++ trunk/src/const.h (revision 15864) @@ -32,30 +32,6 @@ #define PCB_CONST_H /* --------------------------------------------------------------------------- - * modes - */ -typedef enum { - PCB_MODE_NO = -1, /* no mode selected - panning - TODO: remove this in favor of the default mode (it's the same as the arrow mode) */ - PCB_MODE_VIA = 15, /* draw vias */ - PCB_MODE_LINE = 5, /* draw lines */ - PCB_MODE_RECTANGLE = 10, /* create rectangles */ - PCB_MODE_POLYGON = 8, /* draw filled polygons */ - PCB_MODE_PASTE_BUFFER = 2, /* paste objects from buffer */ - PCB_MODE_TEXT = 13, /* create text objects */ - PCB_MODE_ROTATE = 12, /* rotate objects */ - PCB_MODE_REMOVE = 11, /* remove objects */ - PCB_MODE_MOVE = 7, /* move objects */ - PCB_MODE_COPY = 3, /* copy objects */ - PCB_MODE_INSERT_POINT = 4, /* insert point into line/polygon */ - PCB_MODE_RUBBERBAND_MOVE = 16, /* move objects and attached lines */ - PCB_MODE_THERMAL = 14, /* toggle thermal layer flag */ - PCB_MODE_ARC = 0, /* draw arcs */ - PCB_MODE_ARROW = 1, /* selection with arrow mode */ - PCB_MODE_LOCK = 6, /* lock/unlock objects */ - PCB_MODE_POLYGON_HOLE = 9 /* cut holes in filled polygons */ -} pcb_mode_t; - -/* --------------------------------------------------------------------------- * object types (bitfield) */ typedef enum { Index: trunk/src/file_act.c =================================================================== --- trunk/src/file_act.c (revision 15863) +++ trunk/src/file_act.c (revision 15864) @@ -51,6 +51,7 @@ #include "hid_init.h" #include "layer_vis.h" #include "safe_fs.h" +#include "tool.h" /* ---------------------------------------------------------------- */ static const char pcb_acts_ExecCommand[] = "ExecCommand(command)"; Index: trunk/src/polygon_act.c =================================================================== --- trunk/src/polygon_act.c (revision 15863) +++ trunk/src/polygon_act.c (revision 15864) @@ -45,6 +45,7 @@ #include "search.h" #include "crosshair.h" #include "compat_nls.h" +#include "tool.h" #include "obj_poly.h" Index: trunk/src/tool.h =================================================================== --- trunk/src/tool.h (revision 15863) +++ trunk/src/tool.h (revision 15864) @@ -32,6 +32,27 @@ #include "global_typedefs.h" #include "pcb_bool.h" +typedef enum { + PCB_MODE_NO = -1, /* no mode selected - panning - TODO: remove this in favor of the default mode (it's the same as the arrow mode) */ + PCB_MODE_VIA = 15, /* draw vias */ + PCB_MODE_LINE = 5, /* draw lines */ + PCB_MODE_RECTANGLE = 10, /* create rectangles */ + PCB_MODE_POLYGON = 8, /* draw filled polygons */ + PCB_MODE_PASTE_BUFFER = 2, /* paste objects from buffer */ + PCB_MODE_TEXT = 13, /* create text objects */ + PCB_MODE_ROTATE = 12, /* rotate objects */ + PCB_MODE_REMOVE = 11, /* remove objects */ + PCB_MODE_MOVE = 7, /* move objects */ + PCB_MODE_COPY = 3, /* copy objects */ + PCB_MODE_INSERT_POINT = 4, /* insert point into line/polygon */ + PCB_MODE_RUBBERBAND_MOVE = 16, /* move objects and attached lines */ + PCB_MODE_THERMAL = 14, /* toggle thermal layer flag */ + PCB_MODE_ARC = 0, /* draw arcs */ + PCB_MODE_ARROW = 1, /* selection with arrow mode */ + PCB_MODE_LOCK = 6, /* lock/unlock objects */ + PCB_MODE_POLYGON_HOLE = 9 /* cut holes in filled polygons */ +} pcb_mode_t; + typedef int pcb_toolid_t; #define PCB_TOOLID_INVALID (-1) Index: trunk/src_plugins/hid_lesstif/library.c =================================================================== --- trunk/src_plugins/hid_lesstif/library.c (revision 15863) +++ trunk/src_plugins/hid_lesstif/library.c (revision 15864) @@ -18,6 +18,7 @@ #include "lesstif.h" #include "stdarg.h" #include "event.h" +#include "tool.h" static Widget library_dialog = 0; static Widget library_list, libnode_list; Index: trunk/src_plugins/hid_lesstif/main.c =================================================================== --- trunk/src_plugins/hid_lesstif/main.c (revision 15863) +++ trunk/src_plugins/hid_lesstif/main.c (revision 15864) @@ -46,6 +46,7 @@ #include "compat_misc.h" #include "compat_nls.h" #include "layer_vis.h" +#include "tool.h" #include Index: trunk/src_plugins/lib_gtk_common/bu_mode_btn.c =================================================================== --- trunk/src_plugins/lib_gtk_common/bu_mode_btn.c (revision 15863) +++ trunk/src_plugins/lib_gtk_common/bu_mode_btn.c (revision 15864) @@ -36,6 +36,7 @@ #include "const.h" #include "crosshair.h" #include "conf_core.h" +#include "tool.h" #include "../src_plugins/lib_gtk_config/hid_gtk_conf.h" Index: trunk/src_plugins/lib_gtk_common/dlg_library.c =================================================================== --- trunk/src_plugins/lib_gtk_common/dlg_library.c (revision 15863) +++ trunk/src_plugins/lib_gtk_common/dlg_library.c (revision 15864) @@ -75,6 +75,7 @@ #include "compat.h" #include "wt_preview.h" #include "win_place.h" +#include "tool.h" #include "../src_plugins/lib_gtk_config/hid_gtk_conf.h" #include "dlg_library_param.h" Index: trunk/src_plugins/lib_gtk_common/dlg_topwin.c =================================================================== --- trunk/src_plugins/lib_gtk_common/dlg_topwin.c (revision 15863) +++ trunk/src_plugins/lib_gtk_common/dlg_topwin.c (revision 15864) @@ -65,6 +65,7 @@ #include "in_mouse.h" #include "in_keyboard.h" #include "wt_layersel.h" +#include "tool.h" #include "../src_plugins/lib_gtk_config/lib_gtk_config.h" #include "../src_plugins/lib_gtk_config/hid_gtk_conf.h" #include "win_place.h" Index: trunk/src_plugins/lib_gtk_common/in_mouse.c =================================================================== --- trunk/src_plugins/lib_gtk_common/in_mouse.c (revision 15863) +++ trunk/src_plugins/lib_gtk_common/in_mouse.c (revision 15864) @@ -42,6 +42,7 @@ #include "crosshair.h" #include "conf_core.h" #include "undo.h" +#include "tool.h" #include "in_keyboard.h" #include "bu_status_line.h" Index: trunk/src_plugins/lib_gtk_config/gui-config.c =================================================================== --- trunk/src_plugins/lib_gtk_config/gui-config.c (revision 15863) +++ trunk/src_plugins/lib_gtk_config/gui-config.c (revision 15864) @@ -59,6 +59,7 @@ #include "compat_nls.h" #include "fptr_cast.h" #include "safe_fs.h" +#include "tool.h" #include #include "gtk_conf_list.h" Index: trunk/src_plugins/shand_cmd/command.c =================================================================== --- trunk/src_plugins/shand_cmd/command.c (revision 15863) +++ trunk/src_plugins/shand_cmd/command.c (revision 15864) @@ -49,6 +49,7 @@ #include "hid_actions.h" #include "compat_misc.h" #include "misc_util.h" +#include "tool.h" /* ---------------------------------------------------------------------- */ Index: trunk/src_plugins/shape/shape.c =================================================================== --- trunk/src_plugins/shape/shape.c (revision 15863) +++ trunk/src_plugins/shape/shape.c (revision 15864) @@ -44,6 +44,7 @@ #include "obj_poly.h" #include "obj_poly_draw.h" #include "rotate.h" +#include "tool.h" const char *pcb_shape_cookie = "shape plugin"; static pcb_layer_t pcb_shape_current_layer_; Index: trunk/src_plugins/stroke/stroke.c =================================================================== --- trunk/src_plugins/stroke/stroke.c (revision 15863) +++ trunk/src_plugins/stroke/stroke.c (revision 15864) @@ -47,6 +47,7 @@ #include "error.h" #include "plugins.h" #include "compat_nls.h" +#include "tool.h" void FinishStroke(void);