def __init__(self, iface): QObject.__init__(self) # Save reference to the QGIS interface self.iface = iface self.w = None self.vsCheck = None self.layer_list = [] self.tools = PgVersionTools(self) #Initialise thetranslation environment self.plugin_path = QDir.cleanPath( os.path.abspath(os.path.dirname(__file__)) ) myLocaleName = QLocale.system().name() myLocale = myLocaleName[0:2] if QFileInfo(self.plugin_path).exists(): localePath = self.plugin_path+"/i18n/pgVersion_"+myLocale+".qm" if QFileInfo(localePath).exists(): self.translator = QTranslator() self.translator.load(localePath) if qVersion() > '4.3.3': QCoreApplication.installTranslator(self.translator)
def __init__(self, layer, type='conflict', parent=None): QMainWindow.__init__(self) self.iface = parent.iface self.layer = layer self.parent = parent self.layer_list = parent.layer_list settings = QSettings() self.tools = PgVersionTools(self) # Restore Window Settings settings = QSettings() try: self.restoreGeometry( pybytearray(settings.value("/pgVersion/geometry"))) self.restoreState( pybytearray(settings.value("/pgVersion/windowState"))) except: pass settings = QSettings() self.canvas = QgsMapCanvas() self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing( settings.value("/qgis/enable_anti_aliasing", True, type=bool)) self.canvas.useImageToRender( settings.value("/qgis/use_qimage_to_render", True, type=bool)) action = pyint(settings.value("/qgis/wheel_action", 0)) zoomFactor = pyint(settings.value("/qgis/zoom_factor", 2)) self.canvas.setWheelAction(QgsMapCanvas.WheelAction(action), zoomFactor) QgsMapLayerRegistry.instance().addMapLayer(layer) self.canvas.setExtent(layer.extent()) self.canvas.setLayerSet([QgsMapCanvasLayer(layer)]) self.canvas.zoomToFullExtent() self.setCentralWidget(self.canvas) actionZoomIn = QAction(QIcon(":/plugins/pgversion/icons/ZoomIn.png"), pystring("Zoom in"), self) actionZoomOut = QAction(QIcon(":/plugins/pgversion/icons/ZoomOut.png"), pystring("Zoom out"), self) actionZoomFull = QAction( QIcon(":/plugins/pgversion/icons/ZoomFullExtent.png"), pystring("Fullextent"), self) actionPan = QAction(QIcon(":/plugins/pgversion/icons/Pan.png"), pystring("Pan"), self) actionZoomIn.setCheckable(True) actionZoomOut.setCheckable(True) actionPan.setCheckable(True) actionZoomIn.triggered.connect(self.zoomIn) actionZoomOut.triggered.connect(self.zoomOut) actionZoomFull.triggered.connect(self.zoomFull) actionPan.triggered.connect(self.pan) self.toolbar = self.addToolBar("Canvas actions") self.toolbar.addAction(actionPan) self.toolbar.addAction(actionZoomIn) self.toolbar.addAction(actionZoomOut) self.toolbar.addAction(actionZoomFull) self.dockWidget = QDockWidget() self.dockWidget.setWidget(QTableWidget()) self.addDockWidget(Qt.BottomDockWidgetArea, self.dockWidget) self.tabView = self.dockWidget.widget() # create the map tools self.toolPan = QgsMapToolPan(self.canvas) self.toolPan.setAction(actionPan) self.toolZoomIn = QgsMapToolZoom(self.canvas, False) # false = in self.toolZoomIn.setAction(actionZoomIn) self.toolZoomOut = QgsMapToolZoom(self.canvas, True) # true = out self.toolZoomOut.setAction(actionZoomOut) self.pan() self.conflictLayerList = [] if type == 'conflict': self.cmbMerge = QComboBox() self.cmbMerge.addItems(self.tools.confRecords(self.layer)) self.btnMerge = QPushButton() self.cmbMerge.currentIndexChanged.connect(self.toggleBtnMerge) self.btnMerge.setText(self.tr('solve conflict')) self.toolbar.addWidget(self.cmbMerge) self.toolbar.addWidget(self.btnMerge) self.manageConflicts() self.btnMerge.clicked.connect(self.runMerge) self.tabView.itemSelectionChanged.connect(self.showConfObject) self.rBand = QgsRubberBand(self.canvas, False)