コード例 #1
0
	def runDockableMirror(self):
		from dockableMirrorMap import DockableMirrorMap
		wdg = DockableMirrorMap(self.iface.mainWindow(), self.iface)

		minsize = wdg.minimumSize()
		maxsize = wdg.maximumSize()

		self.setupDockWidget(wdg)		
		self.addDockWidget(wdg)

		wdg.setMinimumSize(minsize)
		wdg.setMaximumSize(maxsize)

		if wdg.isFloating():
			wdg.move(50, 50)	# move the widget to the center
コード例 #2
0
    def runDockableMirror(self, title = None):
        from dockableMirrorMap import DockableMirrorMap
        wdg = DockableMirrorMap(self.iface.mainWindow(), self.iface, title)

        minsize = wdg.minimumSize()
        maxsize = wdg.maximumSize()

        self.setupDockWidget(wdg)
        self.addDockWidget(wdg)

        wdg.setMinimumSize(minsize)
        wdg.setMaximumSize(maxsize)

        if wdg.isFloating():
            wdg.move(50, 50)  # move the widget to the center

        # QObject.connect(wdg.mainWidget.canvas, SIGNAL( "extentsChanged()" ), wdg.mainWidget.mirror_extent_changed)
        # QObject.connect(wdg.mainWidget, SIGNAL("extentChanged( QgsRectangle )"), self.extentChanged )
        return wdg
コード例 #3
0
	def onProjectLoaded(self):
		# restore mirrors?
		num, ok = QgsProject.instance().readNumEntry("DockableMirrorMap", "/numMirrors")
		if not ok or num <= 0:
			return

		# remove all mirrors
		self.removeDockableMirrors()

		mirror2lids = {}
		# load mirrors
		for i in range(num):
			if num >= 2:
				if i == 0: 
					prevFlag = self.iface.mapCanvas().renderFlag()
					self.iface.mapCanvas().setRenderFlag(False)
				elif i == num-1:
					self.iface.mapCanvas().setRenderFlag(True)

			from dockableMirrorMap import DockableMirrorMap
			dockwidget = DockableMirrorMap(self.iface.mainWindow(), self.iface)

			minsize = dockwidget.minimumSize()
			maxsize = dockwidget.maximumSize()

			# restore position
			floating, ok = QgsProject.instance().readBoolEntry("DockableMirrorMap", "/mirror%s/floating" % i)
			if ok: 
				dockwidget.setFloating( floating )
				position, ok = QgsProject.instance().readEntry("DockableMirrorMap", "/mirror%s/position" % i)
				if ok: 
					try:
						if floating:
							parts = position.split(" ")
							if len(parts) >= 2:
								dockwidget.move( int(parts[0]), int(parts[1]) )
						else:
							dockwidget.setLocation( int(position) )
					except ValueError:
						pass

			# restore geometry
			dockwidget.setFixedSize( dockwidget.geometry().width(), dockwidget.geometry().height() )
			size, ok = QgsProject.instance().readEntry("DockableMirrorMap", "/mirror%s/size" % i)
			if ok:
				try:
					parts = size.split(" ")
					dockwidget.setFixedSize( int(parts[0]), int(parts[1]) )
				except ValueError:
					pass				

			scaleFactor, ok = QgsProject.instance().readDoubleEntry("DockableMirrorMap", "/mirror%s/scaleFactor" % i, 1.0)
			if ok: dockwidget.getMirror().scaleFactor.setValue( scaleFactor )

			# get layer list
			layerIds, ok = QgsProject.instance().readListEntry("DockableMirrorMap", "/mirror%s/layers" % i)
			if ok: dockwidget.getMirror().setLayerSet( layerIds )

			self.addDockWidget( dockwidget )
			dockwidget.setMinimumSize(minsize)
			dockwidget.setMaximumSize(maxsize)