개정판 8bfdce15
issue #538: add key_i function insert symbol
Change-Id: I0a22d381d1a202a6cd959a239d9cd51eb5e24ab9
DTI_PID/DTI_PID/MainWindow.py | ||
---|---|---|
341 | 341 |
def eventFilter(self, source, event): |
342 | 342 |
"""display mouse position of graphics view""" |
343 | 343 |
if event.type() == QEvent.MouseMove: |
344 |
pos = self.graphicsView.mapToScene(event.pos()) |
|
345 |
self._label_mouse.setText('mouse pos : ({},{})'.format(round(pos.x()), round(pos.y())))
|
|
344 |
self.current_pos = self.graphicsView.mapToScene(event.pos())
|
|
345 |
self._label_mouse.setText('mouse pos : ({},{})'.format(round(self.current_pos.x()), round(self.current_pos.y())))
|
|
346 | 346 |
|
347 | 347 |
return QWidget.eventFilter(self, source, event) |
348 | 348 |
|
... | ... | |
1818 | 1818 |
if modifiers == Qt.ControlModifier: |
1819 | 1819 |
dlg = QDevelopmentToolkitDialog(self, self.graphicsView) |
1820 | 1820 |
dlg.show() |
1821 |
elif event.key() == Qt.Key_I: |
|
1822 |
# insert symbol item that is selected symbol in tree to main window if symbol already selected on main window, replace |
|
1823 |
items = self.dirTreeWidget.selectedItems() |
|
1824 |
if items and hasattr(items[0], 'svgFilePath'): |
|
1825 |
symData = items[0].data(0, self.dirTreeWidget.TREE_DATA_ROLE) |
|
1826 |
symName = symData.getName() |
|
1827 |
else: |
|
1828 |
return |
|
1829 |
|
|
1830 |
symbolItems = [symbol for symbol in self.graphicsView.scene.selectedItems() if |
|
1831 |
issubclass(type(symbol), SymbolSvgItem)] |
|
1832 |
old_symbol = None |
|
1833 |
if symbolItems and len(symbolItems) is 1: |
|
1834 |
old_symbol = symbolItems[0] |
|
1835 |
scenePos = QPoint(old_symbol.origin[0], old_symbol.origin[1]) |
|
1836 |
old_symbol.transfer.onRemoved.emit(old_symbol) |
|
1837 |
else: |
|
1838 |
scenePos = self.current_pos |
|
1839 |
|
|
1840 |
svg = self.graphicsView.createSymbolObject(symName) |
|
1841 |
self.graphicsView.matchSymbolToLine(svg, scenePos) |
|
1842 |
|
|
1843 |
if old_symbol: |
|
1844 |
return |
|
1821 | 1845 |
|
1822 | 1846 |
QMainWindow.keyPressEvent(self, event) |
1823 | 1847 |
except Exception as ex: |
DTI_PID/DTI_PID/QtImageViewer.py | ||
---|---|---|
446 | 446 |
for item in items: |
447 | 447 |
item.keyPressEvent(event) |
448 | 448 |
return |
449 |
elif event.key() == Qt.Key_I: |
|
450 |
self.mainWindow.keyPressEvent(event) |
|
451 |
return |
|
449 | 452 |
|
450 | 453 |
QGraphicsView.keyPressEvent(self, event) |
451 | 454 |
except Exception as ex: |
내보내기 Unified diff