def __createPolygon(self, nb): try: showgButton = self._widgetTree.child('__showGrab') showgButton.setOn(True) grabButton = self._widgetTree.child('__grabButton') grabButton.setOn(False) polygon = QubPolygoneDrawingMgr(self._view.canvas(), self._view.matrix()) polygon.setActionInfo('Drawing mask plygon %d' % self.__polyNb) polygon.setEndDrawCallBack(self.__polygonCBK) polygon.setAutoDisconnectEvent(True) drawingObject = QubCanvasCloseLinePolygone(self._view.canvas()) polygon.addDrawingObject(drawingObject) self._view.addDrawingMgr(polygon) polygon.setColor(self._view.foregroundColor()) newItem = qt.QListViewItem(self.__polygonListWidget) newItem.setText(0, 'Polygon %d' % self.__polyNb) newItem.setPixmap(0, Icons.load('Plus2')) newItem.drawingManager = polygon newItem.includeMode = True self.__polyNb += 1 polygon.startDrawing() except: import traceback traceback.print_exc()
def _viewConnect(self, view): self._graphicSelection = QubPolygoneDrawingMgr(view.canvas(), view.matrix()) self._graphicSelection.setActionInfo('Grid grab, select the area') drawingobject = QubCanvasGrid(view.canvas()) self._graphicSelection.addDrawingObject(drawingobject) self._graphicSelection.setEndDrawCallBack(self.__endGridGrab) view.addDrawingMgr(self._graphicSelection)