Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (revision 12113) +++ trunk/src/action_helper.c (revision 12114) @@ -61,6 +61,7 @@ #include "obj_rat_draw.h" #include "obj_poly_draw.h" +#include "tool.h" #include "tool_arc.h" #include "tool_arrow.h" #include "tool_buffer.h" Index: trunk/src/tool.c =================================================================== --- trunk/src/tool.c (revision 12113) +++ trunk/src/tool.c (revision 12114) @@ -155,11 +155,26 @@ #include "tool_thermal.h" #include "tool_via.h" -const char *pcb_tool_cookie = "default tools"; +static const char *pcb_tool_cookie = "default tools"; static void default_tool_reg(void) { - + pcb_tool_reg(&pcb_tool_arc, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_arrow, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_buffer, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_copy, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_insert, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_line, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_lock, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_move, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_poly, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_polyhole, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_rectangle, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_remove, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_rotate, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_text, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_thermal, pcb_tool_cookie); + pcb_tool_reg(&pcb_tool_via, pcb_tool_cookie); } static void default_tool_unreg(void) Index: trunk/src/tool.h =================================================================== --- trunk/src/tool.h (revision 12113) +++ trunk/src/tool.h (revision 12114) @@ -70,8 +70,4 @@ /* Get the tool pointer of a tool by id */ #define pcb_tool_get(id) ((const pcb_tool_t *)vtp0_get(&pcb_tools, id, 0)) -/**** temporary - will be moved out to a plugin ****/ -extern const char *pcb_tool_cookie; - - #endif Index: trunk/src/tool_arc.c =================================================================== --- trunk/src/tool_arc.c (revision 12113) +++ trunk/src/tool_arc.c (revision 12114) @@ -94,3 +94,8 @@ } } } + +pcb_tool_t pcb_tool_arc = { + "arc", NULL, 100, + pcb_tool_arc_notify_mode +}; Index: trunk/src/tool_arc.h =================================================================== --- trunk/src/tool_arc.h (revision 12113) +++ trunk/src/tool_arc.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_arc; void pcb_tool_arc_notify_mode(void); Index: trunk/src/tool_arrow.c =================================================================== --- trunk/src/tool_arrow.c (revision 12113) +++ trunk/src/tool_arrow.c (revision 12114) @@ -136,3 +136,8 @@ return; } } + +pcb_tool_t pcb_tool_arrow = { + "arrow", NULL, 10, + pcb_tool_arrow_notify_mode +}; Index: trunk/src/tool_arrow.h =================================================================== --- trunk/src/tool_arrow.h (revision 12113) +++ trunk/src/tool_arrow.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_arrow; void pcb_tool_arrow_notify_mode(void); Index: trunk/src/tool_buffer.c =================================================================== --- trunk/src/tool_buffer.c (revision 12113) +++ trunk/src/tool_buffer.c (revision 12114) @@ -88,3 +88,8 @@ } } } + +pcb_tool_t pcb_tool_buffer = { + "buffer", NULL, 100, + pcb_tool_buffer_notify_mode +}; Index: trunk/src/tool_buffer.h =================================================================== --- trunk/src/tool_buffer.h (revision 12113) +++ trunk/src/tool_buffer.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_buffer; void pcb_tool_buffer_notify_mode(void); Index: trunk/src/tool_copy.c =================================================================== --- trunk/src/tool_copy.c (revision 12113) +++ trunk/src/tool_copy.c (revision 12114) @@ -67,3 +67,8 @@ break; } } + +pcb_tool_t pcb_tool_copy = { + "copy", NULL, 100, + pcb_tool_copy_notify_mode +}; Index: trunk/src/tool_copy.h =================================================================== --- trunk/src/tool_copy.h (revision 12113) +++ trunk/src/tool_copy.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_copy; void pcb_tool_copy_notify_mode(void); Index: trunk/src/tool_insert.c =================================================================== --- trunk/src/tool_insert.c (revision 12113) +++ trunk/src/tool_insert.c (revision 12114) @@ -97,3 +97,8 @@ break; } } + +pcb_tool_t pcb_tool_insert = { + "insert", NULL, 100, + pcb_tool_insert_notify_mode +}; Index: trunk/src/tool_insert.h =================================================================== --- trunk/src/tool_insert.h (revision 12113) +++ trunk/src/tool_insert.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_insert; void pcb_tool_insert_notify_mode(void); Index: trunk/src/tool_line.c =================================================================== --- trunk/src/tool_line.c (revision 12113) +++ trunk/src/tool_line.c (revision 12114) @@ -233,3 +233,8 @@ pcb_draw(); } } + +pcb_tool_t pcb_tool_line = { + "line", NULL, 100, + pcb_tool_line_notify_mode +}; Index: trunk/src/tool_line.h =================================================================== --- trunk/src/tool_line.h (revision 12113) +++ trunk/src/tool_line.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_line; void pcb_tool_line_notify_mode(void); Index: trunk/src/tool_lock.c =================================================================== --- trunk/src/tool_lock.c (revision 12113) +++ trunk/src/tool_lock.c (revision 12114) @@ -92,3 +92,8 @@ pcb_hid_actionl("Report", "Object", NULL); } } + +pcb_tool_t pcb_tool_lock = { + "lock", NULL, 100, + pcb_tool_lock_notify_mode +}; Index: trunk/src/tool_lock.h =================================================================== --- trunk/src/tool_lock.h (revision 12113) +++ trunk/src/tool_lock.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_lock; void pcb_tool_lock_notify_mode(void); Index: trunk/src/tool_move.c =================================================================== --- trunk/src/tool_move.c (revision 12113) +++ trunk/src/tool_move.c (revision 12114) @@ -75,3 +75,8 @@ break; } } + +pcb_tool_t pcb_tool_move = { + "move", NULL, 100, + pcb_tool_move_notify_mode +}; Index: trunk/src/tool_move.h =================================================================== --- trunk/src/tool_move.h (revision 12113) +++ trunk/src/tool_move.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_move; void pcb_tool_move_notify_mode(void); Index: trunk/src/tool_poly.c =================================================================== --- trunk/src/tool_poly.c (revision 12113) +++ trunk/src/tool_poly.c (revision 12114) @@ -72,3 +72,8 @@ pcb_marked.Y = Note.Y; } } + +pcb_tool_t pcb_tool_poly = { + "poly", NULL, 100, + pcb_tool_poly_notify_mode +}; Index: trunk/src/tool_poly.h =================================================================== --- trunk/src/tool_poly.h (revision 12113) +++ trunk/src/tool_poly.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_poly; void pcb_tool_poly_notify_mode(void); Index: trunk/src/tool_polyhole.c =================================================================== --- trunk/src/tool_polyhole.c (revision 12113) +++ trunk/src/tool_polyhole.c (revision 12114) @@ -103,3 +103,8 @@ } } } + +pcb_tool_t pcb_tool_polyhole = { + "polyhole", NULL, 100, + pcb_tool_polyhole_notify_mode +}; Index: trunk/src/tool_polyhole.h =================================================================== --- trunk/src/tool_polyhole.h (revision 12113) +++ trunk/src/tool_polyhole.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_polyhole; void pcb_tool_polyhole_notify_mode(void); Index: trunk/src/tool_rectangle.c =================================================================== --- trunk/src/tool_rectangle.c (revision 12113) +++ trunk/src/tool_rectangle.c (revision 12114) @@ -76,3 +76,8 @@ pcb_crosshair.AttachedBox.State = PCB_CH_STATE_FIRST; } } + +pcb_tool_t pcb_tool_rectangle = { + "rectangle", NULL, 100, + pcb_tool_rectangle_notify_mode +}; Index: trunk/src/tool_rectangle.h =================================================================== --- trunk/src/tool_rectangle.h (revision 12113) +++ trunk/src/tool_rectangle.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_rectangle; void pcb_tool_rectangle_notify_mode(void); Index: trunk/src/tool_remove.c =================================================================== --- trunk/src/tool_remove.c (revision 12113) +++ trunk/src/tool_remove.c (revision 12114) @@ -56,3 +56,8 @@ pcb_board_set_changed_flag(pcb_true); } } + +pcb_tool_t pcb_tool_remove = { + "remove", NULL, 100, + pcb_tool_remove_notify_mode +}; Index: trunk/src/tool_remove.h =================================================================== --- trunk/src/tool_remove.h (revision 12113) +++ trunk/src/tool_remove.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_remove; void pcb_tool_remove_notify_mode(void); Index: trunk/src/tool_rotate.c =================================================================== --- trunk/src/tool_rotate.c (revision 12113) +++ trunk/src/tool_rotate.c (revision 12114) @@ -40,3 +40,8 @@ pcb_screen_obj_rotate90(Note.X, Note.Y, pcb_gui->shift_is_pressed()? (PCB_SWAP_IDENT ? 1 : 3) : (PCB_SWAP_IDENT ? 3 : 1)); } + +pcb_tool_t pcb_tool_rotate = { + "rotate", NULL, 100, + pcb_tool_rotate_notify_mode +}; Index: trunk/src/tool_rotate.h =================================================================== --- trunk/src/tool_rotate.h (revision 12113) +++ trunk/src/tool_rotate.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_rotate; void pcb_tool_rotate_notify_mode(void); Index: trunk/src/tool_text.c =================================================================== --- trunk/src/tool_text.c (revision 12113) +++ trunk/src/tool_text.c (revision 12114) @@ -63,3 +63,8 @@ free(string); } } + +pcb_tool_t pcb_tool_text = { + "text", NULL, 100, + pcb_tool_text_notify_mode +}; Index: trunk/src/tool_text.h =================================================================== --- trunk/src/tool_text.h (revision 12113) +++ trunk/src/tool_text.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_text; void pcb_tool_text_notify_mode(void); Index: trunk/src/tool_thermal.c =================================================================== --- trunk/src/tool_thermal.c (revision 12113) +++ trunk/src/tool_thermal.c (revision 12114) @@ -57,3 +57,8 @@ pcb_chg_obj_thermal(type, ptr1, ptr2, ptr3, PCB->ThermStyle); } } + +pcb_tool_t pcb_tool_thermal = { + "thermal", NULL, 100, + pcb_tool_thermal_notify_mode +}; Index: trunk/src/tool_thermal.h =================================================================== --- trunk/src/tool_thermal.h (revision 12113) +++ trunk/src/tool_thermal.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_thermal; void pcb_tool_thermal_notify_mode(void); Index: trunk/src/tool_via.c =================================================================== --- trunk/src/tool_via.c (revision 12113) +++ trunk/src/tool_via.c (revision 12114) @@ -61,3 +61,8 @@ pcb_draw(); } } + +pcb_tool_t pcb_tool_via = { + "via", NULL, 100, + pcb_tool_via_notify_mode +}; Index: trunk/src/tool_via.h =================================================================== --- trunk/src/tool_via.h (revision 12113) +++ trunk/src/tool_via.h (revision 12114) @@ -1,2 +1,3 @@ +extern pcb_tool_t pcb_tool_via; void pcb_tool_via_notify_mode(void);