From f17f95535546a6816441965a3a723882870ff2b1 Mon Sep 17 00:00:00 2001 From: jpcaram Date: Thu, 1 Jan 2015 15:41:50 -0500 Subject: [PATCH] Added delete button in drawing toolbar. --- FlatCAMDraw.py | 12 +++++++++--- camlib.py | 9 ++------- doc/source/planning.rst | 13 +++++++++++-- share/deleteshape16.png | Bin 0 -> 542 bytes share/deleteshape24.png | Bin 0 -> 679 bytes share/deleteshape32.png | Bin 0 -> 886 bytes 6 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 share/deleteshape16.png create mode 100644 share/deleteshape24.png create mode 100644 share/deleteshape32.png diff --git a/FlatCAMDraw.py b/FlatCAMDraw.py index 60eb99b..fb5d2b9 100644 --- a/FlatCAMDraw.py +++ b/FlatCAMDraw.py @@ -526,7 +526,7 @@ class FlatCAMDraw(QtCore.QObject): self.drawing_toolbar = QtGui.QToolBar() self.drawing_toolbar.setDisabled(disabled) self.app.ui.addToolBar(self.drawing_toolbar) - self.select_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/pointer32.png'), 'Select') + self.select_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/pointer32.png'), "Select 'Esc'") self.add_circle_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/circle32.png'), 'Add Circle') self.add_arc_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/arc32.png'), 'Add Arc') self.add_rectangle_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/rectangle32.png'), 'Add Rectangle') @@ -535,8 +535,9 @@ class FlatCAMDraw(QtCore.QObject): self.union_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/union32.png'), 'Polygon Union') self.subtract_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/subtract32.png'), 'Polygon Subtraction') self.cutpath_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/cutpath32.png'), 'Cut Path') - self.move_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/move32.png'), 'Move Objects') - self.copy_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/copy32.png'), 'Copy Objects') + self.move_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/move32.png'), "Move Objects 'm'") + self.copy_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/copy32.png'), "Copy Objects 'c'") + self.delete_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/deleteshape32.png'), "Delete Shape '-'") ### Snap Toolbar ### self.snap_toolbar = QtGui.QToolBar() @@ -569,6 +570,7 @@ class FlatCAMDraw(QtCore.QObject): self.union_btn.triggered.connect(self.union) self.subtract_btn.triggered.connect(self.subtract) self.cutpath_btn.triggered.connect(self.cutpath) + self.delete_btn.triggered.connect(self.on_delete_btn) ## Toolbar events and properties self.tools = { @@ -926,6 +928,10 @@ class FlatCAMDraw(QtCore.QObject): def on_canvas_key_release(self, event): self.key = None + def on_delete_btn(self): + self.delete_selected() + self.replot() + def get_selected(self): """ Returns list of shapes that are selected in the editor. diff --git a/camlib.py b/camlib.py index 416ff51..8e5319b 100644 --- a/camlib.py +++ b/camlib.py @@ -2370,19 +2370,14 @@ class CNCjob(Geometry): try: while True: path_count += 1 - print "Current: ", "(%.3f, %.3f)" % current_pt - - # TODO: There shoudn't be any None in geometry.flatten() - # if geo is None: - # storage.remove(geo) - # continue + #print "Current: ", "(%.3f, %.3f)" % current_pt # Remove before modifying, otherwise # deletion will fail. storage.remove(geo) if list(pt) == list(geo.coords[-1]): - print "Reversing" + #print "Reversing" geo.coords = list(geo.coords)[::-1] # G-code diff --git a/doc/source/planning.rst b/doc/source/planning.rst index 4d9ea45..6dd24bc 100644 --- a/doc/source/planning.rst +++ b/doc/source/planning.rst @@ -15,12 +15,14 @@ Drawing * [DONE] Remove from index (rebuild index or make deleted instances equal to None in the list). * Better handling/abstraction of geometry types and lists of such. + * Plotting and extraction of point is now done in a quite + efficient recursive way. Algorithms ---------- -* Reverse path if end is nearer. +* [DONE] Reverse path if end is nearer. * Seed paint: Specify seed. @@ -48,4 +50,11 @@ Bugs ---- * Unit conversion on opening. -* `cascaded_union([])` bug requires more testing. \ No newline at end of file +* [DONE] `cascaded_union([])` bug requires more testing. + * Old version of GEOS + + +Other +----- + +* Unit testing \ No newline at end of file diff --git a/share/deleteshape16.png b/share/deleteshape16.png new file mode 100644 index 0000000000000000000000000000000000000000..cb672fa24fe7938f8a26fb8e444dd3a96607c9ad GIT binary patch literal 542 zcmV+(0^$9MP)ugK~y-6rIWF16LA#BKhFy!IgTVWn1dtO49(n45JU$DvCz#$ z2bV}%vI$wTgwSRXL2w8mlC0uj_qw#ArT>7Sb5I=4($EN+(0i(D#+^>*zU#V9KA%4U)>ZXS#6oatwc4R+n&16a-vJ*1&15oP8;!=NS$<>+sZ{E; zR4Tmyz5ow_JHUrZrSd8sk58|hLO3kT`Um_9LC1+iVmyx<5%4_EXt&$XfLp*p&`GP+ z+L%lx5>c2LmE}0j381-L?pwWHZ&j<+*XeZn2+(4&_!EeQb0k=05wU<>;I?hsKg#9u z`(!dX1{e$miEg*MJ{%60fF0nGs*W#p05mv%`8~j#vq;y0&pzkr1s)=-0$cNvXGFGv g<%osX85))JQ$Ph|`Tzg`07*qoM6N<$g1$KE&Hw-a literal 0 HcmV?d00001 diff --git a/share/deleteshape24.png b/share/deleteshape24.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2cdda91473f8310646694ba060a3e6a0c9d74e GIT binary patch literal 679 zcmV;Y0$BZtP)k8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10whU9K~zYI?UgZz6HyR`zgahgfTTJwAXrHbmTM$sWC@0d#TJI+ z;I6nrJBvt8gn<2;O`{SE8&R$ZY7q#ULTp4K<)yKa6qXl6NF_w{+_6Zan~l4P$YJAy z*UUff|CxX0y(g;5aW3On+5d@vh@26TlYdGiB4$=Z!xttQ}Nyu|`97pT*`qL<$$a`QIhHh?dl1L<4 z(@+w40oS@vNf#83%!Z1+C|++V0e)kL?U^iVRNfSmYcZR(}i=sThD%Jq)-Q* zoAaD=zF(g6<2|n^r8rD64i)`Bfg?*mL~e;lLPVk>(zM^;B63bd7DQxGL@sHKlu|_p z@B+$mW`U+syJ`pU0SQZ-Rjr-I@idS*2nh|i0-ow@k856JO+>B&4}fENb&td0m>C-z zyWY{!@x9Ws$6~Qg!!YjTa=B)UItkp+rm5T@5|LrxzJ&y>t*wlXj^cDWwLbB9oJb_X z=H{kVodo)oQg3uVWxGHr^#~Xdkpjcj)m5U=C|g@wHG$jh_H-riU7(7mudnZkVHnn2 zDx1yrYG`Q4XPRcaX`1bUKw!`?jL%jZm&>I>q0qf*@qepn(1~h7}eL$?k~XT?FFsI1>{S z=S#qozy;t6CEYPTKJL>Et9=nzTwHWVA`vo~jIH2g7+(T`z-7}kznP}_!t3?ku##9` zUvG>?qik$!II6`j`z?T-oZId8+3oG^6T3Q>%SAXGrnJxJ=jWN8o+g*u%Sdx`^I9sE zI-`{OS~mep!4;mp9C#%Xz)N7T90_f)=)eubNOgC2Uu$V;St