Ejemplo n.º 1
0
	def removeLayer(self,layer,history=True,listlock=None):
		index=None
		if not listlock:
			listlock=qtcore.QWriteLocker(self.layerslistlock)

		if layer.type==LayerTypes.floating:
			index=-1
			self.scene.removeItem(layer)
			self.scene.update()
			if checkvalid:
				self.setValidActiveLayer(True,listlock=listlock)
			self.requestLayerListRefresh(listlock)

		else:
			(layer,index)=BeeSessionState.removeLayer(self,layer,history=history,listlock=listlock)
			if layer:
				self.scene.removeItem(layer)

				self.scene.update()
				self.setValidActiveLayer(True,listlock=listlock)

		return layer,index
Ejemplo n.º 2
0
	def __init__(self,master,width,height,type,maxundo):
		BeeSessionState.__init__(self,master,width,height,type)
		self.commandindexes={}
		self.historysize=maxundo
		self.master=master
Ejemplo n.º 3
0
	def __init__(self,master,width=600,height=400,startlayer=True,type=WindowTypes.singleuser,maxundo=40):

		BeeSessionState.__init__(self,master,width,height,type)
		qtgui.QWidget.__init__(self)

		self.localcommandstack=CommandStack(self,CommandStackTypes.singleuser,maxundo=maxundo)

		self.layerfinisher=LayerFinisher(qtcore.QRectF(0,0,width,height))

		# initialize values
		self.zoom=1.0

		self.ui=Ui_DrawingWindowMdi()
		self.ui.setupUi(self)

		self.activated=False
		self.backdrop=None

		self.filename=""

		self.cursoroverlay=None
		self.remotedrawingthread=None

		self.tooloverlay=None

		self.selection=None
		self.selectionlock=qtcore.QReadWriteLock()
		self.clippath=None
		self.clippathlock=qtcore.QReadWriteLock()

		self.localcommandqueue=Queue(0)

		# replace widget with my custom class widget
		self.scene=BeeCanvasScene(self)
		self.ui.PictureViewWidget=BeeCanvasView(self,self.ui.PictureViewWidget,self.scene)
		self.view=self.ui.PictureViewWidget
		#self.resizeViewToWindow()
		self.view.setCursor(master.getCurToolDesc().getCursor())

		self.selectiondisplay=SelectedAreaDisplay(None,self.scene,self.view)

		self.scene.addItem(self.layerfinisher)

		# initiate drawing thread
		if type==WindowTypes.standaloneserver:
			self.localdrawingthread=DrawingThread(self.remotecommandqueue,self.id,type=ThreadTypes.server,master=master)
		else:
			self.localdrawingthread=DrawingThread(self.localcommandqueue,self.id,master=self.master)

		self.localdrawingthread.start()

		# for sending events to server so they don't slow us down locally
		self.sendtoserverqueue=None
		self.sendtoserverthread=None

		self.serverreadingthread=None

		# create a backdrop to be put at the bottom of all the layers
		self.recreateBackdrop()

		# put in starting blank layer if needed
		# don't go through the queue for this layer add because we need it to
		# be done before the next step
		if startlayer:
			self.insertLayer(self.nextLayerKey(),0,history=False)

		# have window get destroyed when it gets a close event
		self.setAttribute(qtcore.Qt.WA_DeleteOnClose)

		self.changeWindowTitle("Bee Canvas %d" % self.id)

		self.setupMenu()
Ejemplo n.º 4
0
	def scaleCanvas(self,newwidth,newheight,history=True):
		sizelock=qtcore.QWriteLocker(self.docsizelock)
		BeeSessionState.scaleCanvas(self,newwidth,newheight,sizelock,history)
		self.scene.setCanvasSize(newwidth,newheight)