diff clients/editor/plugins/LayerTool.py @ 323:b64ce990abb1

LayerTool: * Fixed bug where newly created layers wasn't rendered * Added tool tips for buttons
author cheesesucker@33b003aa-7bff-0310-803a-e67f0ece8222
date Tue, 18 Aug 2009 18:03:54 +0000
parents 3853f8659598
children e249fa887259
line wrap: on
line diff
--- a/clients/editor/plugins/LayerTool.py	Mon Aug 17 08:16:30 2009 +0000
+++ b/clients/editor/plugins/LayerTool.py	Tue Aug 18 18:03:54 2009 +0000
@@ -100,9 +100,19 @@
 		self.removeLayerButton = self.container.findChild(name="remove_layer_button")
 		self.createLayerButton = self.container.findChild(name="add_layer_button")
 		self.editLayerButton = self.container.findChild(name="edit_layer_button")
+		
 		self.removeLayerButton.capture(self.removeSelectedLayer)
+		self.removeLayerButton.capture(cbwa(self._editor.getStatusBar().showTooltip, self.removeLayerButton.helptext), 'mouseEntered')
+		self.removeLayerButton.capture(self._editor.getStatusBar().hideTooltip, 'mouseExited')
+		
 		self.createLayerButton.capture(self.showLayerWizard)
+		self.createLayerButton.capture(cbwa(self._editor.getStatusBar().showTooltip, self.createLayerButton.helptext), 'mouseEntered')
+		self.createLayerButton.capture(self._editor.getStatusBar().hideTooltip, 'mouseExited')
+		
 		self.editLayerButton.capture(self.showEditDialog)
+		self.editLayerButton.capture(cbwa(self._editor.getStatusBar().showTooltip, self.editLayerButton.helptext), 'mouseEntered')
+		self.editLayerButton.capture(self._editor.getStatusBar().hideTooltip, 'mouseExited')
+		
 		self.update(None)
 
 	def _adjust_position(self):
@@ -152,7 +162,11 @@
 		if not self._mapview: return
 		
 		if self._layer_wizard: self._layer_wizard._widget.hide()
-		self._layer_wizard = LayerEditor(self._editor.getEngine(), self._mapview.getMap(), callback=cbwa(self.update, self._mapview))
+		self._layer_wizard = LayerEditor(self._editor.getEngine(), self._mapview.getMap(), callback=self._layerCreated)
+		
+	def _layerCreated(self, layer):
+		self.update(self._mapview)
+		self.select_active_layer(None, self.wrapper.findChild(name=_LABEL_NAME_PREFIX + layer.getId()))
 		
 	def showEditDialog(self):
 		if not self._mapview: return
@@ -429,6 +443,7 @@
 	
 			try:
 				layer = self.map.createLayer(str(layerId), cellgrid)
+				
 			except:
 				print 'The layer ' + str(layerId) + ' already exists!'
 				return
@@ -442,9 +457,11 @@
 		
 		layer.setPathingStrategy(pathing)
 		
+		self.engine.getView().resetRenderers()
+		
 		# Hide dialog and call back
 		self._widget.hide()
 		
 		if self.callback:
-			self.callback()
+			pychan.tools.applyOnlySuitable(self.callback, layer=layer)