def mouseDoubleClickEvent(self, e): """ mouseDoubleClickEvent(self, e: QMouseEvent) -> None Try to avoid unselect if double-click on the background """ if not self.canSelectBackground: return else: qt_super(QInteractiveGraphicsView, self).mouseDoubleClickEvent(e)
def moveEvent(self, e): """ moveEvent(e: QEvent) -> None Echo the move event into vtkRenderWindow """ qt_super(QVTKViewWidget, self).moveEvent(e) if not self.mRenWin: return self.mRenWin.SetPosition(self.x(), self.y())
def moveEvent(self,e): """ moveEvent(e: QEvent) -> None Echo the move event into vtkRenderWindow """ qt_super(QVTKWidget, self).moveEvent(e) if not self.mRenWin: return self.mRenWin.SetPosition(self.x(),self.y())
def mouseReleaseEvent(self, event): """ mouseReleaseEvent(event: QMouseEvent) -> None """ qt_super(QGraphicsLinkItem, self).mouseReleaseEvent(event) if self.expand: self.scene().controller.expand_versions(self.startVersion, self.endVersion) elif self.collapse: self.scene().controller.collapse_versions(self.endVersion) self.setSelected(False)
def resizeEvent(self, e): """ resizeEvent(e: QEvent) -> None Re-adjust the vtkRenderWindow size then QVTKViewWidget resized """ qt_super(QVTKViewWidget, self).resizeEvent(e) if not self.mRenWin: return self.resizeWindow(self.width(), self.height()) self.mRenWin.Render()
def mouseReleaseEvent(self, event): """ mouseReleaseEvent(event: QMouseEvent) -> None Cancel the drag """ self.dragging = False self.scene().emit(QtCore.SIGNAL('versionSelected(int, bool)'), self.id, True) qt_super(QGraphicsVersionItem, self).mouseReleaseEvent(event) if self.id != 0: self.text.show()
def focusOutEvent(self, event): """ focusOutEvent(event: QEvent) -> None Update the tag if the text has changed """ qt_super(QGraphicsVersionTextItem, self).focusOutEvent(event) if not self.updatingTag and QtCore.QString.compare(self.label, self.toPlainText()) != 0: self.updatingTag = True if (self.label == str(self.toPlainText()) or not self.scene().controller.update_current_tag(str(self.toPlainText()))): self.reset() self.updatingTag = False
def focusOutEvent(self, event): """ focusOutEvent(event: QEvent) -> None Update the tag if the text has changed """ qt_super(QGraphicsVersionTextItem, self).focusOutEvent(event) if not self.updatingTag and QtCore.QString.compare( self.label, self.toPlainText()) != 0: self.updatingTag = True if (self.label == str(self.toPlainText()) or not self.scene().controller.update_current_tag( str(self.toPlainText()))): self.reset() self.updatingTag = False
def resizeEvent(self, e): """ resizeEvent(e: QEvent) -> None Re-adjust the vtkRenderWindow size then QVTKWidget resized """ qt_super(QVTKWidget, self).resizeEvent(e) if not self.mRenWin: return self.resizeWindow(self.width(), self.height()) if self.mRenWin.GetInteractor(): self.mRenWin.GetInteractor().Render() else: self.mRenWin.Render()
def QVTS_keyPressEvent(self, event): selectedItems = self.selectedItems() versions = [item.id for item in selectedItems if type(item)== gui.version_view.QGraphicsVersionItem and not item.text.hasFocus()] if (self.controller and len(versions)>0 and event.key() in [QtCore.Qt.Key_F]): self.controller.focus_current_version_in_view() if (getBuilderWindow() and len(versions)>0 and event.key() in [QtCore.Qt.Key_A]): getBuilderWindow().resetView() qt_super(gui.version_view.QVersionTreeScene, self).keyPressEvent(event)
def timerEvent(self, event): """ timerEvent(event: QTimerEvent) -> None Start up a timer for animating tree drawing events """ if event.timerId() == self.timer.timerId(): self.animation_step += 1 if self.animation_step >= self.num_animation_steps: self.animation_step = 1 self.timer.stop() self.controller.animate_layout = False self.setupScene(self.controller) self.update() else: qt_super(QVersionTreeScene, self).timerEvent(event)
def selectModules(self): """ selectModules() -> None Overrides parent class to disable text items if you click on background """ if self.canSelectRectangle: br = self.selectionBox.sceneBoundingRect() else: br = QtCore.QRectF(self.startSelectingPos, self.startSelectingPos) items = self.scene().items(br) if len(items) == 0 or items == [self.selectionBox]: for item in self.scene().selectedItems(): if type(item) == gui.version_view.QGraphicsVersionItem: item.text.clearFocus() qt_super(QVersionTreeView, self).selectModules()
def selectModules(self): """ selectModules() -> None Overrides parent class to disable text items if you click on background """ if self.canSelectRectangle: br = self.selectionBox.sceneBoundingRect() else: br = QtCore.QRectF(self.startSelectingPos, self.startSelectingPos) items = self.scene().items(br) if len(items)==0 or items==[self.selectionBox]: for item in self.scene().selectedItems(): if type(item) == gui.version_view.QGraphicsVersionItem: item.text.clearFocus() qt_super(QVersionTreeView, self).selectModules()
def event(self, e): """ event(e: QEvent) -> depends on event type Process window and interaction events """ if e.type()==QtCore.QEvent.ParentAboutToChange: if self.mRenWin: if self.mRenWin.GetMapped(): self.mRenWin.Finalize() else: if e.type()==QtCore.QEvent.ParentChange: if self.mRenWin: self.mRenWin.SetWindowInfo(str(int(self.winId()))) if self.isVisible(): self.mRenWin.Start() if QtCore.QObject.event(self,e): return 1 if e.type() == QtCore.QEvent.KeyPress: self.keyPressEvent(e) if e.isAccepted(): return e.isAccepted() return qt_super(QVTKWidget, self).event(e)
def event(self, e): """ event(e: QEvent) -> depends on event type Process window and interaction events """ if e.type() == QtCore.QEvent.ParentAboutToChange: if self.mRenWin: if self.mRenWin.GetMapped(): self.mRenWin.Finalize() else: if e.type() == QtCore.QEvent.ParentChange: if self.mRenWin: self.mRenWin.SetWindowInfo(str(int(self.winId()))) if self.isVisible(): self.mRenWin.Start() if QtCore.QObject.event(self, e): return 1 if e.type() == QtCore.QEvent.KeyPress: self.keyPressEvent(e) if e.isAccepted(): return e.isAccepted() return qt_super(QVTKViewWidget, self).event(e)
def keyPressEvent(self, event): """ keyPressEvent(event: QEvent) -> None Enter and Return keys signal a change in the label. Other keys update the position and size of the parent ellipse during key entry. """ if event.key() in [QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return]: self.updatingTag = True if (self.label == str(self.toPlainText()) or not self.scene().controller.update_current_tag(str(self.toPlainText()))): self.reset() self.updatingTag = False event.ignore() self.clearFocus() return qt_super(QGraphicsVersionTextItem, self).keyPressEvent(event) if (len(str(self.toPlainText())) > 0): self.setTextWidth(-1) self.updatePos() self.parentItem().updateWidthFromLabel()
def keyPressEvent(self, event): """ keyPressEvent(event: QKeyEvent) -> None Capture 'Del', 'Backspace' for pruning versions when not editing a tag """ selectedItems = self.selectedItems() versions = [item.id for item in selectedItems if type(item)==QGraphicsVersionItem and not item.text.hasFocus()] if (self.controller and len(versions)>0 and event.key() in [QtCore.Qt.Key_Backspace, QtCore.Qt.Key_Delete]): versions = [item.id for item in selectedItems] res = gui.utils.show_question("VisTrails", "Are you sure that you want to " "prune the selected version(s)?", [gui.utils.YES_BUTTON, gui.utils.NO_BUTTON], gui.utils.NO_BUTTON) if res == gui.utils.YES_BUTTON: self.controller.prune_versions(versions) qt_super(QVersionTreeScene, self).keyPressEvent(event)
def keyPressEvent(self, event): """ keyPressEvent(event: QEvent) -> None Enter and Return keys signal a change in the label. Other keys update the position and size of the parent ellipse during key entry. """ if event.key() in [QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return]: self.updatingTag = True if (self.label == str(self.toPlainText()) or not self.scene().controller.update_current_tag( str(self.toPlainText()))): self.reset() self.updatingTag = False event.ignore() self.clearFocus() return qt_super(QGraphicsVersionTextItem, self).keyPressEvent(event) if (len(str(self.toPlainText())) > 0): self.setTextWidth(-1) self.updatePos() self.parentItem().updateWidthFromLabel()
def keyPressEvent(self, event): """ keyPressEvent(event: QKeyEvent) -> None Capture 'Del', 'Backspace' for pruning versions when not editing a tag """ selectedItems = self.selectedItems() versions = [ item.id for item in selectedItems if type(item) == QGraphicsVersionItem and not item.text.hasFocus() ] if (self.controller and len(versions) > 0 and event.key() in [QtCore.Qt.Key_Backspace, QtCore.Qt.Key_Delete]): event.accept() versions = [item.id for item in selectedItems] res = gui.utils.show_question( "VisTrails", "Are you sure that you want to " "prune the selected version(s)?", [gui.utils.YES_BUTTON, gui.utils.NO_BUTTON], gui.utils.NO_BUTTON) if res == gui.utils.YES_BUTTON: self.controller.prune_versions(versions) else: qt_super(QVersionTreeScene, self).keyPressEvent(event)
def mousePressEvent(self, event): """ mousePressEvent(event: QMouseEvent) -> None """ qt_super(QGraphicsLinkItem, self).mousePressEvent(event) self.setSelected(True)