Exemple #1
0
  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)