Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (revision 15594) +++ trunk/src/action_helper.c (revision 15595) @@ -126,25 +126,6 @@ %end-doc */ -/* %start-doc actions 00macros - -@macro pinshapes - -Pins, pads, and vias can have various shapes. All may be round. Pins -and pads may be square (obviously "square" pads are usually -rectangular). Pins and vias may be octagonal. When you change a -shape flag of an element, you actually change all of its pins and -pads. - -Note that the square flag takes precedence over the octagon flag, -thus, if both the square and octagon flags are set, the object is -square. When the square flag is cleared, the pins and pads will be -either round or, if the octagon flag is set, octagonal. - -@end macro - -%end-doc */ - int defer_updates = 0; int defer_needs_update = 0; Index: trunk/src/change.c =================================================================== --- trunk/src/change.c (revision 15594) +++ trunk/src/change.c (revision 15595) @@ -126,19 +126,6 @@ NULL /* padstack */ }; -pcb_opfunc_t ChangeSquareFunctions = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - pcb_subcop_change_square, - NULL /* padstack */ -}; - static pcb_opfunc_t ChangeNonetlistFunctions = { NULL, NULL, @@ -165,19 +152,6 @@ NULL /* padstack */ }; -pcb_opfunc_t ChangeOctagonFunctions = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - pcb_subcop_change_octagon, - NULL /* padstack */ -}; - #warning padstack TODO: remove this code static pcb_opfunc_t ChangeMaskSizeFunctions = { NULL, @@ -192,19 +166,6 @@ NULL /* padstack */ }; -pcb_opfunc_t SetSquareFunctions = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - pcb_subcop_set_square, - NULL /* padstack */ -}; - static pcb_opfunc_t SetJoinFunctions = { pcb_lineop_set_join, pcb_textop_set_join, @@ -218,32 +179,6 @@ NULL /* padstack */ }; -pcb_opfunc_t SetOctagonFunctions = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - pcb_subcop_set_octagon, - NULL /* padstack */ -}; - -pcb_opfunc_t ClrSquareFunctions = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - pcb_subcop_clear_square, - NULL /* padstack */ -}; - static pcb_opfunc_t ClrJoinFunctions = { pcb_lineop_clear_join, pcb_textop_clear_join, @@ -257,19 +192,6 @@ NULL /* padstack */ }; -pcb_opfunc_t ClrOctagonFunctions = { - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - pcb_subcop_clear_octagon, /* subc */ - NULL /* padstack */ -}; - static pcb_opfunc_t ChangeRadiusFunctions = { NULL, NULL, @@ -530,25 +452,6 @@ #endif /* ---------------------------------------------------------------------- - * changes the square-flag of all selected and visible pins or pads - * returns pcb_true if anything has changed - */ -pcb_bool pcb_chg_selected_square(int types) -{ - pcb_bool change = pcb_false; - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - change = pcb_selected_operation(PCB, PCB->Data, &ChangeSquareFunctions, &ctx, pcb_false, types); - if (change) { - pcb_draw(); - pcb_undo_inc_serial(); - } - return change; -} - -/* ---------------------------------------------------------------------- * changes the angle of all selected and visible object types * returns pcb_true if anything has changed */ @@ -593,101 +496,6 @@ } -/* ---------------------------------------------------------------------- - * sets the square-flag of all selected and visible pins or pads - * returns pcb_true if anything has changed - */ -pcb_bool pcb_set_selected_square(int types) -{ - pcb_bool change = pcb_false; - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - change = pcb_selected_operation(PCB, PCB->Data, &SetSquareFunctions, &ctx, pcb_false, types); - if (change) { - pcb_draw(); - pcb_undo_inc_serial(); - } - return change; -} - -/* ---------------------------------------------------------------------- - * clears the square-flag of all selected and visible pins or pads - * returns pcb_true if anything has changed - */ -pcb_bool pcb_clr_selected_square(int types) -{ - pcb_bool change = pcb_false; - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - change = pcb_selected_operation(PCB, PCB->Data, &ClrSquareFunctions, &ctx, pcb_false, types); - if (change) { - pcb_draw(); - pcb_undo_inc_serial(); - } - return change; -} - -/* ---------------------------------------------------------------------- - * changes the octagon-flag of all selected and visible padstacks - * returns pcb_true if anything has changed - */ -pcb_bool pcb_chg_selected_octagon(int types) -{ - pcb_bool change = pcb_false; - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - change = pcb_selected_operation(PCB, PCB->Data, &ChangeOctagonFunctions, &ctx, pcb_false, types); - if (change) { - pcb_draw(); - pcb_undo_inc_serial(); - } - return change; -} - -/* ---------------------------------------------------------------------- - * sets the octagon-flag of all selected and visible padstacks - * returns pcb_true if anything has changed - */ -pcb_bool pcb_set_selected_octagon(int types) -{ - pcb_bool change = pcb_false; - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - change = pcb_selected_operation(PCB, PCB->Data, &SetOctagonFunctions, &ctx, pcb_false, types); - if (change) { - pcb_draw(); - pcb_undo_inc_serial(); - } - return change; -} - -/* ---------------------------------------------------------------------- - * clears the octagon-flag of all selected and visible padstacks - * returns pcb_true if anything has changed - */ -pcb_bool pcb_clr_selected_octagon(int types) -{ - pcb_bool change = pcb_false; - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - change = pcb_selected_operation(PCB, PCB->Data, &ClrOctagonFunctions, &ctx, pcb_false, types); - if (change) { - pcb_draw(); - pcb_undo_inc_serial(); - } - return change; -} - #warning padstack TODO: remove this /* ---------------------------------------------------------------------- * changes the hole-flag of all selected and visible vias @@ -1008,115 +816,6 @@ } /* --------------------------------------------------------------------------- - * changes the square-flag of the passed object - * Returns pcb_true if anything is changed - */ -pcb_bool pcb_chg_obj_square(int Type, void *Ptr1, void *Ptr2, void *Ptr3, int style) -{ - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - ctx.chgsize.value = style; - - if (pcb_object_operation(&ChangeSquareFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3) != NULL) { - pcb_draw(); - pcb_undo_inc_serial(); - return pcb_true; - } - return pcb_false; -} - -/* --------------------------------------------------------------------------- - * sets the square-flag of the passed object - * Returns pcb_true if anything is changed - */ -pcb_bool pcb_set_obj_square(int Type, void *Ptr1, void *Ptr2, void *Ptr3) -{ - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - if (pcb_object_operation(&SetSquareFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3) != NULL) { - pcb_draw(); - pcb_undo_inc_serial(); - return pcb_true; - } - return pcb_false; -} - -/* --------------------------------------------------------------------------- - * clears the square-flag of the passed object - * Returns pcb_true if anything is changed - */ -pcb_bool pcb_clr_obj_square(int Type, void *Ptr1, void *Ptr2, void *Ptr3) -{ - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - if (pcb_object_operation(&ClrSquareFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3) != NULL) { - pcb_draw(); - pcb_undo_inc_serial(); - return pcb_true; - } - return pcb_false; -} - -/* --------------------------------------------------------------------------- - * changes the octagon-flag of the passed object - * Returns pcb_true if anything is changed - */ -pcb_bool pcb_chg_obj_octagon(int Type, void *Ptr1, void *Ptr2, void *Ptr3) -{ - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - if (pcb_object_operation(&ChangeOctagonFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3) != NULL) { - pcb_draw(); - pcb_undo_inc_serial(); - return pcb_true; - } - return pcb_false; -} - -/* --------------------------------------------------------------------------- - * sets the octagon-flag of the passed object - * Returns pcb_true if anything is changed - */ -pcb_bool pcb_set_obj_octagon(int Type, void *Ptr1, void *Ptr2, void *Ptr3) -{ - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - if (pcb_object_operation(&SetOctagonFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3) != NULL) { - pcb_draw(); - pcb_undo_inc_serial(); - return pcb_true; - } - return pcb_false; -} - -/* --------------------------------------------------------------------------- - * clears the octagon-flag of the passed object - * Returns pcb_true if anything is changed - */ -pcb_bool pcb_clr_obj_octagon(int Type, void *Ptr1, void *Ptr2, void *Ptr3) -{ - pcb_opctx_t ctx; - - ctx.chgsize.pcb = PCB; - - if (pcb_object_operation(&ClrOctagonFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3) != NULL) { - pcb_draw(); - pcb_undo_inc_serial(); - return pcb_true; - } - return pcb_false; -} - -/* --------------------------------------------------------------------------- * queries the user for a new object name and changes it * * The allocated memory isn't freed because the old string is used Index: trunk/src/change.h =================================================================== --- trunk/src/change.h (revision 15594) +++ trunk/src/change.h (revision 15595) @@ -77,15 +77,9 @@ pcb_bool pcb_set_selected_join(int); pcb_bool pcb_clr_selected_join(int); pcb_bool pcb_chg_selected_nonetlist(int); -pcb_bool pcb_chg_selected_square(int); -pcb_bool pcb_set_selected_square(int); -pcb_bool pcb_clr_selected_square(int); pcb_bool pcb_chg_selected_thermals(int types, int therm_style, unsigned long lid); pcb_bool pcb_chg_selected_hole(void); pcb_bool pcb_chg_selected_paste(void); -pcb_bool pcb_chg_selected_octagon(int); -pcb_bool pcb_set_selected_octagon(int); -pcb_bool pcb_clr_selected_octagon(int); pcb_bool pcb_chg_obj_size(int, void *, void *, void *, pcb_coord_t, pcb_bool); pcb_bool pcb_chg_obj_1st_size(int, void *, void *, void *, pcb_coord_t, pcb_bool); pcb_bool pcb_chg_obj_thermal(int Type, void *Ptr1, void *Ptr2, void *Ptr3, int therm_type, unsigned long lid); @@ -96,12 +90,6 @@ pcb_bool pcb_set_obj_join(int, void *, void *, void *); pcb_bool pcb_clr_obj_join(int, void *, void *, void *); pcb_bool pcb_chg_obj_nonetlist(int Type, void *Ptr1, void *Ptr2, void *Ptr3); -pcb_bool pcb_chg_obj_square(int, void *, void *, void *, int); -pcb_bool pcb_set_obj_square(int, void *, void *, void *); -pcb_bool pcb_clr_obj_square(int, void *, void *, void *); -pcb_bool pcb_chg_obj_octagon(int, void *, void *, void *); -pcb_bool pcb_set_obj_octagon(int, void *, void *, void *); -pcb_bool pcb_clr_obj_octagon(int, void *, void *, void *); void *pcb_chg_obj_name(int, void *, void *, void *, char *); void *pcb_chg_obj_name_query(int, void *, void *, void *); pcb_bool pcb_chg_obj_radius(int Type, void *Ptr1, void *Ptr2, void *Ptr3, int is_x, pcb_coord_t r, pcb_bool absolute); Index: trunk/src/change_act.c =================================================================== --- trunk/src/change_act.c (revision 15594) +++ trunk/src/change_act.c (revision 15595) @@ -140,7 +140,7 @@ "ChangeFlag(Object|Selected|SelectedObjects, flag, value)\n" "ChangeFlag(SelectedLines|SelectedPins|SelectedVias, flag, value)\n" "ChangeFlag(SelectedPads|SelectedTexts|SelectedNames, flag, value)\n" - "ChangeFlag(SelectedElements, flag, value)\n" "flag = square | octagon | thermal | join\n" "value = 0 | 1"; + "ChangeFlag(SelectedElements, flag, value)\n" "flag = thermal | join\n" "value = 0 | 1"; static const char pcb_acth_ChangeFlag[] = "Sets or clears flags on objects."; @@ -147,7 +147,7 @@ /* %start-doc actions ChangeFlag Toggles the given flag on the indicated object(s). The flag may be -one of the flags listed above (square, octagon, thermal, join). The +one of the flags listed above (thermal, join). The value may be the number 0 or 1. If the value is 0, the flag is cleared. If the value is 1, the flag is set. @@ -172,15 +172,7 @@ pcb_bool(*set_object) (int, void *, void *, void *); pcb_bool(*set_selected) (int); - if (PCB_NSTRCMP(flag_name, "square") == 0) { - set_object = value ? pcb_set_obj_square : pcb_clr_obj_square; - set_selected = value ? pcb_set_selected_square : pcb_clr_selected_square; - } - else if (PCB_NSTRCMP(flag_name, "octagon") == 0) { - set_object = value ? pcb_set_obj_octagon : pcb_clr_obj_octagon; - set_selected = value ? pcb_set_selected_octagon : pcb_clr_selected_octagon; - } - else if (PCB_NSTRCMP(flag_name, "join") == 0) { + if (PCB_NSTRCMP(flag_name, "join") == 0) { /* Note: these are backwards, because the flag is "clear" but the command is "join". */ set_object = value ? pcb_clr_obj_join : pcb_set_obj_join; @@ -741,8 +733,6 @@ Note that @code{Pins} means both pins and pads. -@pinshapes - %end-doc */ static int pcb_act_ChangeNonetlist(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) @@ -779,335 +769,47 @@ #warning padstack TODO: remove the next few? /* --------------------------------------------------------------------------- */ -static const char pcb_acts_ChangeSquare[] = - "ChangeSquare(ToggleObject)\n" "ChangeSquare(SelectedElements|SelectedPins)\n" "ChangeSquare(Selected|SelectedObjects)"; - -static const char pcb_acth_ChangeSquare[] = "Changes the square flag of pins and pads."; - -/* %start-doc actions ChangeSquare - -Note that @code{Pins} means both pins and pads. - -@pinshapes - -%end-doc */ - +static const char pcb_acts_ChangeSquare[] = "ChangeSquare(ToggleObject)\n" "ChangeSquare(SelectedElements|SelectedPins)\n" "ChangeSquare(Selected|SelectedObjects)"; +static const char pcb_acth_ChangeSquare[] = "Changes the square flag of pins and pads. Not supported anymore."; static int pcb_act_ChangeSquare(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) { - const char *function = PCB_ACTION_ARG(0); - if (function) { - switch (pcb_funchash_get(function, NULL)) { - case F_ToggleObject: - case F_Object: - { - int type; - void *ptr1, *ptr2, *ptr3; - - pcb_gui->get_coords(_("Select an Object"), &x, &y); - - ptr3 = NULL; - type = pcb_search_screen(x, y, PCB_CHANGESQUARE_TYPES, &ptr1, &ptr2, &ptr3); - - if (ptr3 != NULL) { - int qstyle = PCB_FLAG_SQUARE_GET((pcb_pin_t *) ptr3); - qstyle++; - if (qstyle > 17) - qstyle = 0; - if (type != PCB_TYPE_NONE) - if (pcb_chg_obj_square(type, ptr1, ptr2, ptr3, qstyle)) - pcb_board_set_changed_flag(pcb_true); - } - break; - } - - case F_SelectedElements: - if (pcb_chg_selected_square(PCB_TYPE_ELEMENT)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedPins: - if (pcb_chg_selected_square(PCB_TYPE_PIN | PCB_TYPE_PAD)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_Selected: - case F_SelectedObjects: - if (pcb_chg_selected_square(PCB_TYPE_PIN | PCB_TYPE_PAD)) - pcb_board_set_changed_flag(pcb_true); - break; - } - } - return 0; + pcb_message(PCB_MSG_ERROR, "Feature not supported with padstacks.\n"); + return 1; } - -/* --------------------------------------------------------------------------- */ - static const char pcb_acts_SetSquare[] = "SetSquare(ToggleObject|SelectedElements|SelectedPins)"; - -static const char pcb_acth_SetSquare[] = "sets the square-flag of objects."; - -/* %start-doc actions SetSquare - -Note that @code{Pins} means pins and pads. - -@pinshapes - -%end-doc */ - +static const char pcb_acth_SetSquare[] = "sets the square-flag of objects. Not supported anymore."; static int pcb_act_SetSquare(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) { - const char *function = PCB_ACTION_ARG(0); - if (function && *function) { - switch (pcb_funchash_get(function, NULL)) { - case F_ToggleObject: - case F_Object: - { - int type; - void *ptr1, *ptr2, *ptr3; - - pcb_gui->get_coords(_("Select an Object"), &x, &y); - if ((type = pcb_search_screen(x, y, PCB_CHANGESQUARE_TYPES, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) - if (pcb_set_obj_square(type, ptr1, ptr2, ptr3)) - pcb_board_set_changed_flag(pcb_true); - break; - } - - case F_SelectedElements: - if (pcb_set_selected_square(PCB_TYPE_ELEMENT)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedPins: - if (pcb_set_selected_square(PCB_TYPE_PIN | PCB_TYPE_PAD)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_Selected: - case F_SelectedObjects: - if (pcb_set_selected_square(PCB_TYPE_PIN | PCB_TYPE_PAD)) - pcb_board_set_changed_flag(pcb_true); - break; - } - } - return 0; + pcb_message(PCB_MSG_ERROR, "Feature not supported with padstacks.\n"); + return 1; } -/* --------------------------------------------------------------------------- */ - static const char pcb_acts_ClearSquare[] = "ClearSquare(ToggleObject|SelectedElements|SelectedPins)"; - -static const char pcb_acth_ClearSquare[] = "Clears the square-flag of pins and pads."; - -/* %start-doc actions ClearSquare - -Note that @code{Pins} means pins and pads. - -@pinshapes - -%end-doc */ - +static const char pcb_acth_ClearSquare[] = "Clears the square-flag of pins and pads. Not supported anymore."; static int pcb_act_ClearSquare(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) { - const char *function = PCB_ACTION_ARG(0); - if (function && *function) { - switch (pcb_funchash_get(function, NULL)) { - case F_ToggleObject: - case F_Object: - { - int type; - void *ptr1, *ptr2, *ptr3; - - pcb_gui->get_coords(_("Select an Object"), &x, &y); - if ((type = pcb_search_screen(x, y, PCB_CHANGESQUARE_TYPES, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) - if (pcb_clr_obj_square(type, ptr1, ptr2, ptr3)) - pcb_board_set_changed_flag(pcb_true); - break; - } - - case F_SelectedElements: - if (pcb_clr_selected_square(PCB_TYPE_ELEMENT)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedPins: - if (pcb_clr_selected_square(PCB_TYPE_PIN | PCB_TYPE_PAD)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_Selected: - case F_SelectedObjects: - if (pcb_clr_selected_square(PCB_TYPE_PIN | PCB_TYPE_PAD)) - pcb_board_set_changed_flag(pcb_true); - break; - } - } - return 0; + pcb_message(PCB_MSG_ERROR, "Feature not supported with padstacks.\n"); + return 1; } - -/* --------------------------------------------------------------------------- */ - -static const char pcb_acts_ChangeOctagon[] = - "ChangeOctagon(Object|ToggleObject|SelectedObjects|Selected)\n" "ChangeOctagon(SelectedElements|SelectedPins|SelectedVias)"; - -static const char pcb_acth_ChangeOctagon[] = "Changes the octagon-flag of pins and vias."; - -/* %start-doc actions ChangeOctagon - -@pinshapes - -%end-doc */ - +static const char pcb_acts_ChangeOctagon[] = "ChangeOctagon(Object|ToggleObject|SelectedObjects|Selected)\n" "ChangeOctagon(SelectedElements|SelectedPins|SelectedVias)"; +static const char pcb_acth_ChangeOctagon[] = "Changes the octagon-flag of pins and vias. Not supported anymore."; static int pcb_act_ChangeOctagon(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) { - const char *function = PCB_ACTION_ARG(0); - if (function) { - switch (pcb_funchash_get(function, NULL)) { - case F_ToggleObject: - case F_Object: - { - int type; - void *ptr1, *ptr2, *ptr3; - - pcb_gui->get_coords(_("Select an Object"), &x, &y); - if ((type = pcb_search_screen(x, y, PCB_CHANGEOCTAGON_TYPES, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) - if (pcb_chg_obj_octagon(type, ptr1, ptr2, ptr3)) - pcb_board_set_changed_flag(pcb_true); - break; - } - - case F_SelectedElements: - if (pcb_chg_selected_octagon(PCB_TYPE_ELEMENT)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedPins: - if (pcb_chg_selected_octagon(PCB_TYPE_PIN)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedVias: - if (pcb_chg_selected_octagon(PCB_TYPE_VIA)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_Selected: - case F_SelectedObjects: - if (pcb_chg_selected_octagon(PCB_TYPEMASK_PIN)) - pcb_board_set_changed_flag(pcb_true); - break; - } - } - return 0; + pcb_message(PCB_MSG_ERROR, "Feature not supported with padstacks.\n"); + return 1; } - -/* --------------------------------------------------------------------------- */ - static const char pcb_acts_SetOctagon[] = "SetOctagon(Object|ToggleObject|SelectedElements|Selected)"; - -static const char pcb_acth_SetOctagon[] = "Sets the octagon-flag of objects."; - -/* %start-doc actions SetOctagon - -@pinshapes - -%end-doc */ - +static const char pcb_acth_SetOctagon[] = "Sets the octagon-flag of objects. Not supported anymore."; static int pcb_act_SetOctagon(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) { - const char *function = PCB_ACTION_ARG(0); - if (function) { - switch (pcb_funchash_get(function, NULL)) { - case F_ToggleObject: - case F_Object: - { - int type; - void *ptr1, *ptr2, *ptr3; - - pcb_gui->get_coords(_("Select an Object"), &x, &y); - if ((type = pcb_search_screen(x, y, PCB_CHANGEOCTAGON_TYPES, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) - if (pcb_set_obj_octagon(type, ptr1, ptr2, ptr3)) - pcb_board_set_changed_flag(pcb_true); - break; - } - - case F_SelectedElements: - if (pcb_set_selected_octagon(PCB_TYPE_ELEMENT)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedPins: - if (pcb_set_selected_octagon(PCB_TYPE_PIN)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedVias: - if (pcb_set_selected_octagon(PCB_TYPE_VIA)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_Selected: - case F_SelectedObjects: - if (pcb_set_selected_octagon(PCB_TYPEMASK_PIN)) - pcb_board_set_changed_flag(pcb_true); - break; - } - } - return 0; + pcb_message(PCB_MSG_ERROR, "Feature not supported with padstacks.\n"); + return 1; } - -/* --------------------------------------------------------------------------- */ - -static const char pcb_acts_ClearOctagon[] = - "ClearOctagon(ToggleObject|Object|SelectedObjects|Selected)\n" "ClearOctagon(SelectedElements|SelectedPins|SelectedVias)"; - -static const char pcb_acth_ClearOctagon[] = "Clears the octagon-flag of pins and vias."; - -/* %start-doc actions ClearOctagon - -@pinshapes - -%end-doc */ - +static const char pcb_acts_ClearOctagon[] = "ClearOctagon(ToggleObject|Object|SelectedObjects|Selected)\n" "ClearOctagon(SelectedElements|SelectedPins|SelectedVias)"; +static const char pcb_acth_ClearOctagon[] = "Clears the octagon-flag of pins and vias. Not supported anymore."; static int pcb_act_ClearOctagon(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) { - const char *function = PCB_ACTION_ARG(0); - if (function) { - switch (pcb_funchash_get(function, NULL)) { - case F_ToggleObject: - case F_Object: - { - int type; - void *ptr1, *ptr2, *ptr3; - - pcb_gui->get_coords(_("Select an Object"), &x, &y); - if ((type = pcb_search_screen(x, y, PCB_CHANGEOCTAGON_TYPES, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) - if (pcb_clr_obj_octagon(type, ptr1, ptr2, ptr3)) - pcb_board_set_changed_flag(pcb_true); - break; - } - - case F_SelectedElements: - if (pcb_clr_selected_octagon(PCB_TYPE_ELEMENT)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedPins: - if (pcb_clr_selected_octagon(PCB_TYPE_PIN)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_SelectedVias: - if (pcb_clr_selected_octagon(PCB_TYPE_VIA)) - pcb_board_set_changed_flag(pcb_true); - break; - - case F_Selected: - case F_SelectedObjects: - if (pcb_clr_selected_octagon(PCB_TYPEMASK_PIN)) - pcb_board_set_changed_flag(pcb_true); - break; - } - } + pcb_message(PCB_MSG_ERROR, "Feature not supported with padstacks.\n"); return 0; } @@ -1193,7 +895,7 @@ "SetFlag(Object|Selected|SelectedObjects, flag)\n" "SetFlag(SelectedLines|SelectedPins|SelectedVias, flag)\n" "SetFlag(SelectedPads|SelectedTexts|SelectedNames, flag)\n" - "SetFlag(SelectedElements, flag)\n" "flag = square | octagon | thermal | join"; + "SetFlag(SelectedElements, flag)\n" "flag = thermal | join"; static const char pcb_acth_SetFlag[] = "Sets flags on objects."; @@ -1222,7 +924,7 @@ "ClrFlag(Object|Selected|SelectedObjects, flag)\n" "ClrFlag(SelectedLines|SelectedPins|SelectedVias, flag)\n" "ClrFlag(SelectedPads|SelectedTexts|SelectedNames, flag)\n" - "ClrFlag(SelectedElements, flag)\n" "flag = square | octagon | thermal | join"; + "ClrFlag(SelectedElements, flag)\n" "flag = thermal | join"; static const char pcb_acth_ClrFlag[] = "Clears flags on objects."; Index: trunk/src/obj_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 15594) +++ trunk/src/obj_subc.c (revision 15595) @@ -980,8 +980,6 @@ } extern pcb_opfunc_t ClipFunctions, MoveFunctions, MoveFunctions_noclip, Rotate90Functions, RotateFunctions, ChgFlagFunctions, ChangeSizeFunctions, ChangeClearSizeFunctions, Change1stSizeFunctions, Change2ndSizeFunctions; -extern pcb_opfunc_t ChangeOctagonFunctions, SetOctagonFunctions, ClrOctagonFunctions; -extern pcb_opfunc_t ChangeSquareFunctions, SetSquareFunctions, ClrSquareFunctions; /* drag&drop move when not selected */ void *pcb_subcop_move(pcb_opctx_t *ctx, pcb_subc_t *sc) @@ -1413,45 +1411,6 @@ return res; } - -void *pcb_subcop_clear_octagon(pcb_opctx_t *ctx, pcb_subc_t *sc) -{ - pcb_subc_op(ctx->chgsize.pcb->Data, sc, &ClrOctagonFunctions, ctx); - return sc; -} - -void *pcb_subcop_set_octagon(pcb_opctx_t *ctx, pcb_subc_t *sc) -{ - pcb_subc_op(ctx->chgsize.pcb->Data, sc, &SetOctagonFunctions, ctx); - return sc; -} - -void *pcb_subcop_change_octagon(pcb_opctx_t *ctx, pcb_subc_t *sc) -{ - pcb_subc_op(ctx->chgsize.pcb->Data, sc, &ChangeOctagonFunctions, ctx); - return sc; -} - -void *pcb_subcop_clear_square(pcb_opctx_t *ctx, pcb_subc_t *sc) -{ - pcb_subc_op(ctx->chgsize.pcb->Data, sc, &ClrSquareFunctions, ctx); - return sc; -} - -void *pcb_subcop_set_square(pcb_opctx_t *ctx, pcb_subc_t *sc) -{ - pcb_subc_op(ctx->chgsize.pcb->Data, sc, &SetSquareFunctions, ctx); - return sc; -} - -void *pcb_subcop_change_square(pcb_opctx_t *ctx, pcb_subc_t *sc) -{ - pcb_subc_op(ctx->chgsize.pcb->Data, sc, &ChangeSquareFunctions, ctx); - return sc; -} - - - void *pcb_subcop_change_flag(pcb_opctx_t *ctx, pcb_subc_t *sc) { static pcb_flag_values_t pcb_subc_flags = 0; Index: trunk/src/obj_subc_op.h =================================================================== --- trunk/src/obj_subc_op.h (revision 15594) +++ trunk/src/obj_subc_op.h (revision 15595) @@ -44,13 +44,6 @@ void *pcb_subcop_destroy(pcb_opctx_t *ctx, pcb_subc_t *sc); void *pcb_subcop_remove(pcb_opctx_t *ctx, pcb_subc_t *sc); -void *pcb_subcop_clear_octagon(pcb_opctx_t *ctx, pcb_subc_t *sc); -void *pcb_subcop_set_octagon(pcb_opctx_t *ctx, pcb_subc_t *sc); -void *pcb_subcop_change_octagon(pcb_opctx_t *ctx, pcb_subc_t *sc); -void *pcb_subcop_clear_square(pcb_opctx_t *ctx, pcb_subc_t *sc); -void *pcb_subcop_set_square(pcb_opctx_t *ctx, pcb_subc_t *sc); -void *pcb_subcop_change_square(pcb_opctx_t *ctx, pcb_subc_t *sc); - void *pcb_subcop_change_flag(pcb_opctx_t *ctx, pcb_subc_t *sc); void *pcb_subc_op(pcb_data_t *Data, pcb_subc_t *sc, pcb_opfunc_t *opfunc, pcb_opctx_t *ctx);