From 0ea4c5d2fe7c6bd056721030634b0f63464aa99e Mon Sep 17 00:00:00 2001 From: carlopav Date: Mon, 24 May 2021 23:45:51 +0200 Subject: [PATCH] Draft: Edit, Added reverse wire option to context menu Now Draft Edit can reverse the order of the points of a Draft_Wire --- src/Mod/Draft/draftguitools/gui_edit_draft_objects.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Mod/Draft/draftguitools/gui_edit_draft_objects.py b/src/Mod/Draft/draftguitools/gui_edit_draft_objects.py index d5e8f8fb90..797b02ff0e 100644 --- a/src/Mod/Draft/draftguitools/gui_edit_draft_objects.py +++ b/src/Mod/Draft/draftguitools/gui_edit_draft_objects.py @@ -112,6 +112,7 @@ class DraftWireGuiTools(GuiTools): def get_edit_obj_context_menu(self, edit_command, obj, position): return [ ("add point", lambda: self.handle_add_point(edit_command, obj, position)), + ("reverse wire", lambda: self.handle_reverse_wire(edit_command, obj, position)), ] def handle_delete_point(self, edit_command, obj, node_idx): @@ -122,6 +123,10 @@ class DraftWireGuiTools(GuiTools): self.add_point(edit_command, obj, pos) edit_command.resetTrackers(obj) + def handle_reverse_wire(self, edit_command, obj, pos): + self.reverse_wire(obj) + edit_command.resetTrackers(obj) + def init_preview_object(self, obj): return trackers.wireTracker(obj.Shape) @@ -183,6 +188,9 @@ class DraftWireGuiTools(GuiTools): obj.recompute() + def reverse_wire(self, obj): + obj.Points = reversed(obj.Points) + obj.recompute() class DraftBSplineGuiTools(DraftWireGuiTools):