def __init__(self, image, normalize=True, title=None, parent=None): OverlayViewer.__init__(self, parent) self.setImage(image, normalize) self._savedExpression = "x" self._lastSaveType = 2 self.overlays = [] if title is not None: self.setWindowTitle(title) elif hasattr(image, "name"): self.setWindowTitle(image.name) else: for k in xrange(1, 10000): if not ImageViewer.activeViewers.has_key(k): break ImageViewer.activeViewers[k] = self self.setWindowTitle("Image %d" % k) self.imageCursor = ImageCursor(self) self.imageCursor.setVisible(False) self.imageCursor.setPosition(qcore.QPoint(self.image.width // 2, self.image.height // 2)) OverlayViewer.addOverlay(self, self.imageCursor) self.zoomInAction = qt.QAction("Zoom in", self) self.zoomInAction.setShortcut("+") self.connect(self.zoomInAction, SIGNAL("triggered()"), self.zoomInPopup) self.zoomOutAction = qt.QAction("Zoom out", self) self.zoomOutAction.setShortcut("-") self.connect(self.zoomOutAction, SIGNAL("triggered()"), self.zoomOutPopup) self.saveAction = qt.QAction("Save image...", self) self.saveAction.setShortcut("S") self.connect(self.saveAction, SIGNAL("triggered()"), self.writeImage) self.svgAction = qt.QAction("Save as SVG...", self) self.svgAction.setShortcut("V") self.connect(self.svgAction, SIGNAL("triggered()"), self.writeSVG) self.expressionAction = qt.QAction("Apply expression...", self) self.expressionAction.setShortcut("E") self.connect(self.expressionAction, SIGNAL("triggered()"), self.applyExpression) self.cursorAction = qt.QAction("Line cursor", self) self.cursorAction.setShortcut("L") self.cursorAction.setCheckable(True) self.cursorAction.setChecked(False) self.connect(self.cursorAction, SIGNAL("triggered()"), self._toggleImageCursor) self.popup = qt.QMenu(self) self.popup.addAction(self.zoomInAction) self.popup.addAction(self.zoomOutAction) self.popup.addAction(self.saveAction) self.popup.addAction(self.svgAction) self.popup.addAction(self.expressionAction) self.popup.addAction(self.cursorAction) self.overlayMenu = self.popup.addMenu("Overlays") self.connect(self.overlayMenu, SIGNAL("aboutToShow()"), self.overlayPopup)
def addOverlay(self, overlay): if not hasattr(overlay, "draw"): raise TypeError("addOverlay: " + str(overlay) + "is no valid overlay with 'draw' method!") if overlay.parent() is None: overlay.setParent(self) overlay.visible = True if not hasattr(overlay, "name") or not overlay.name: overlay.name = self._defaultOverlayName(overlay) self.overlays.append(overlay) OverlayViewer.addOverlay(self, overlay) self.update() return len(self.overlays) - 1
def addOverlay(self, overlay): if not hasattr(overlay, "draw"): raise TypeError("addOverlay: " + str(overlay) + "is no valid overlay with 'draw' method!") if overlay.parent() is None: overlay.setParent(self) overlay.visible = True if not hasattr(overlay, "name") or not overlay.name: overlay.name = self._defaultOverlayName(overlay) self.overlays.append(overlay) OverlayViewer.addOverlay(self, overlay) self.update() return len(self.overlays) - 1
def __init__(self, image, normalize=True, title=None, parent=None): OverlayViewer.__init__(self, parent) self.setImage(image, normalize) self._savedExpression = "x" self._lastSaveType = 2 self.overlays = [] if title is not None: self.setWindowTitle(title) elif hasattr(image, "name"): self.setWindowTitle(image.name) else: for k in xrange(1, 10000): if not ImageViewer.activeViewers.has_key(k): break ImageViewer.activeViewers[k] = self self.setWindowTitle("Image %d" % k) #self.imageCursor = ImageCursor(self) # doesn't work anymore - setVisible() is gone self.imageCursor = Crosshair(self) self.imageCursor.setVisible(False) self.imageCursor.setPosition( qcore.QPoint(self.image.width // 2, self.image.height // 2)) OverlayViewer.addOverlay(self, self.imageCursor) self.zoomInAction = qt.QAction("Zoom in", self) self.zoomInAction.setShortcut("+") self.connect(self.zoomInAction, SIGNAL("triggered()"), self.zoomInPopup) self.zoomOutAction = qt.QAction("Zoom out", self) self.zoomOutAction.setShortcut("-") self.connect(self.zoomOutAction, SIGNAL("triggered()"), self.zoomOutPopup) self.saveAction = qt.QAction("Save image...", self) self.saveAction.setShortcut("S") self.connect(self.saveAction, SIGNAL("triggered()"), self.writeImage) self.svgAction = qt.QAction("Save as SVG...", self) self.svgAction.setShortcut("V") self.connect(self.svgAction, SIGNAL("triggered()"), self.writeSVG) self.expressionAction = qt.QAction("Apply expression...", self) self.expressionAction.setShortcut("E") self.connect(self.expressionAction, SIGNAL("triggered()"), self.applyExpression) self.cursorAction = qt.QAction("Line cursor", self) self.cursorAction.setShortcut("L") self.cursorAction.setCheckable(True) self.cursorAction.setChecked(False) self.connect(self.cursorAction, SIGNAL("triggered()"), self._toggleImageCursor) self.popup = qt.QMenu(self) self.popup.addAction(self.zoomInAction) self.popup.addAction(self.zoomOutAction) self.popup.addAction(self.saveAction) self.popup.addAction(self.svgAction) self.popup.addAction(self.expressionAction) self.popup.addAction(self.cursorAction) self.overlayMenu = self.popup.addMenu("Overlays") self.connect(self.overlayMenu, SIGNAL("aboutToShow()"), self.overlayPopup)