Added KeySensitiveListView for objects in project. Delete key deletes selected objects.
This commit is contained in:
parent
c66fd901a3
commit
8c082365d7
|
@ -481,7 +481,7 @@ class FCMove(FCShapeTool):
|
|||
dx = self.destination[0] - self.origin[0]
|
||||
dy = self.destination[1] - self.origin[1]
|
||||
self.geometry = [DrawToolShape(affinity.translate(geom.geo, xoff=dx, yoff=dy))
|
||||
for geom in self.draw_app.get_selected()]
|
||||
for geom in self.draw_app.get_selected()]
|
||||
|
||||
# Delete old
|
||||
self.draw_app.delete_selected()
|
||||
|
|
|
@ -4,6 +4,15 @@ import inspect # TODO: Remove
|
|||
import FlatCAMApp
|
||||
from PyQt4 import Qt, QtGui, QtCore
|
||||
|
||||
|
||||
class KeySensitiveListView(QtGui.QListView):
|
||||
keyPressed = QtCore.pyqtSignal(int)
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
super(KeySensitiveListView, self).keyPressEvent(event)
|
||||
self.keyPressed.emit(event.key())
|
||||
|
||||
|
||||
class ObjectCollection(QtCore.QAbstractListModel):
|
||||
"""
|
||||
Object storage and management.
|
||||
|
@ -35,7 +44,8 @@ class ObjectCollection(QtCore.QAbstractListModel):
|
|||
self.checked_indexes = []
|
||||
|
||||
### View
|
||||
self.view = QtGui.QListView()
|
||||
#self.view = QtGui.QListView()
|
||||
self.view = KeySensitiveListView()
|
||||
self.view.setSelectionMode(Qt.QAbstractItemView.ExtendedSelection)
|
||||
self.view.setModel(self)
|
||||
|
||||
|
@ -44,9 +54,11 @@ class ObjectCollection(QtCore.QAbstractListModel):
|
|||
## GUI Events
|
||||
self.view.selectionModel().selectionChanged.connect(self.on_list_selection_change)
|
||||
self.view.activated.connect(self.on_item_activated)
|
||||
self.view.keyPressed.connect(self.on_key)
|
||||
|
||||
def on_key(self, event):
|
||||
print event
|
||||
def on_key(self, key):
|
||||
if key == QtCore.Qt.Key_Delete:
|
||||
self.delete_active()
|
||||
|
||||
def on_mouse_down(self, event):
|
||||
print "Mouse button pressed on list"
|
||||
|
|
|
@ -436,7 +436,6 @@ class Geometry(object):
|
|||
self.solid_geometry = [cascaded_union(self.solid_geometry)]
|
||||
|
||||
|
||||
|
||||
class ApertureMacro:
|
||||
"""
|
||||
Syntax of aperture macros.
|
||||
|
@ -547,7 +546,7 @@ class ApertureMacro:
|
|||
if match:
|
||||
## Replace all variables
|
||||
for v in self.locvars:
|
||||
part = re.sub(r'\$'+str(v)+r'(?![0-9a-zA-Z])', str(self.locvars[v]), part)
|
||||
part = re.sub(r'\$' + str(v) + r'(?![0-9a-zA-Z])', str(self.locvars[v]), part)
|
||||
|
||||
# Make all others 0
|
||||
part = re.sub(r'\$[0-9a-zA-Z](?![0-9a-zA-Z])', "0", part)
|
||||
|
@ -585,7 +584,7 @@ class ApertureMacro:
|
|||
:return: Zero-padded list.
|
||||
:rtype: list
|
||||
"""
|
||||
x = [0.0]*n
|
||||
x = [0.0] * n
|
||||
na = len(mods)
|
||||
x[0:na] = mods
|
||||
return x
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
apt-get install libpng-dev
|
||||
apt-get install libfreetype6 libfreetype6-dev
|
||||
apt-get install python-dev
|
||||
#apt-get install python-gi
|
||||
#apt-get install libgtk-3-devel
|
||||
apt-get install python-qt4
|
||||
apt-get install python-numpy python-scipy python-matplotlib
|
||||
apt-get install libgeos-dev
|
||||
|
|
Loading…
Reference in New Issue