comparison clients/editor/scripts/gui/mapeditor.py @ 257:f2195628947b

* Cursor will now respect image shift values when drawing the cursor * Editor now have cursors showing what mode the editor is in
author cheesesucker@33b003aa-7bff-0310-803a-e67f0ece8222
date Mon, 08 Jun 2009 19:56:54 +0000
parents 51cc05d862f2
children a0068e00f076
comparison
equal deleted inserted replaced
256:e893afb4963b 257:f2195628947b
60 60
61 events.mousePressed.connect(self.mousePressed) 61 events.mousePressed.connect(self.mousePressed)
62 events.mouseDragged.connect(self.mouseDragged) 62 events.mouseDragged.connect(self.mouseDragged)
63 events.mouseReleased.connect(self.mouseReleased) 63 events.mouseReleased.connect(self.mouseReleased)
64 events.mouseMoved.connect(self.mouseMoved) 64 events.mouseMoved.connect(self.mouseMoved)
65 events.mouseEntered.connect(self.mouseEntered)
66 events.mouseExited.connect(self.mouseExited)
65 events.mouseWheelMovedUp.connect(self.mouseWheelMovedUp) 67 events.mouseWheelMovedUp.connect(self.mouseWheelMovedUp)
66 events.mouseWheelMovedDown.connect(self.mouseWheelMovedDown) 68 events.mouseWheelMovedDown.connect(self.mouseWheelMovedDown)
67 events.mouseExited.connect(self.mouseExited)
68 events.onPump.connect(self.pump) 69 events.onPump.connect(self.pump)
69 70
70 def _clear(self): 71 def _clear(self):
71 self._clearToolbarButtons() 72 self._clearToolbarButtons()
72 73
75 76
76 events.mousePressed.disconnect(self.mousePressed) 77 events.mousePressed.disconnect(self.mousePressed)
77 events.mouseDragged.disconnect(self.mouseDragged) 78 events.mouseDragged.disconnect(self.mouseDragged)
78 events.mouseReleased.disconnect(self.mouseReleased) 79 events.mouseReleased.disconnect(self.mouseReleased)
79 events.mouseMoved.disconnect(self.mouseMoved) 80 events.mouseMoved.disconnect(self.mouseMoved)
81 events.mouseExited.disconnect(self.mouseExited)
82 events.mouseEntered.disconnect(self.mouseEntered)
80 events.mouseWheelMovedUp.disconnect(self.mouseWheelMovedUp) 83 events.mouseWheelMovedUp.disconnect(self.mouseWheelMovedUp)
81 events.mouseWheelMovedDown.disconnect(self.mouseWheelMovedDown) 84 events.mouseWheelMovedDown.disconnect(self.mouseWheelMovedDown)
82 events.mouseExited.disconnect(self.mouseExited)
83 events.onPump.disconnect(self.pump) 85 events.onPump.disconnect(self.pump)
84 86
85 def _mapChanged(self, sender, mapview): 87 def _mapChanged(self, sender, mapview):
86 self.setController(mapview.getController()) 88 self.setController(mapview.getController())
89
90 def _setCursor(self):
91 engine = self._editor.getEngine()
92 cursor = engine.getCursor()
93
94 id = -1
95 if self._mode == SELECTING:
96 id = engine.getImagePool().addResourceFromFile("gui/icons/select_instance.png")
97 image = engine.getImagePool().getImage(id)
98 image.setXShift(-16)
99 image.setYShift(-15)
100 elif self._mode == INSERTING:
101 id = engine.getImagePool().addResourceFromFile("gui/icons/add_instance.png")
102 image = engine.getImagePool().getImage(id)
103 image.setXShift(-2)
104 image.setYShift(-20)
105 elif self._mode == REMOVING:
106 id = engine.getImagePool().addResourceFromFile("gui/icons/erase_instance.png")
107 image = engine.getImagePool().getImage(id)
108 image.setXShift(-2)
109 image.setYShift(-19)
110 elif self._mode == MOVING:
111 id = engine.getImagePool().addResourceFromFile("gui/icons/move_instance.png")
112 image = engine.getImagePool().getImage(id)
113 image.setXShift(-11)
114 image.setYShift(-11)
115 elif self._mode == OBJECTPICKER:
116 id = engine.getImagePool().addResourceFromFile("gui/icons/objectpicker.png")
117 image = engine.getImagePool().getImage(id)
118 image.setXShift(-0)
119 image.setYShift(-22)
120
121 if id < 0:
122 self._resetCursor()
123 else:
124 cursor.set(fife.CURSOR_IMAGE, id)
125
126 def _resetCursor(self):
127 cursor = self._editor.getEngine().getCursor()
128 cursor.set(fife.CURSOR_NATIVE, fife.NC_ARROW)
87 129
88 def setObject(self, object): 130 def setObject(self, object):
89 self._object = object 131 self._object = object
90 132
91 def setController(self, controller): 133 def setController(self, controller):
178 self._ignoreToggles = False 220 self._ignoreToggles = False
179 221
180 self._mode = mode 222 self._mode = mode
181 print "Entered mode " + mode 223 print "Entered mode " + mode
182 self._statusbar.setText(mode.replace('_', ' ').capitalize()) 224 self._statusbar.setText(mode.replace('_', ' ').capitalize())
225 self._setCursor()
183 226
184 def _buttonToggled(self, sender, toggled): 227 def _buttonToggled(self, sender, toggled):
185 if self._controller is None: return 228 if self._controller is None: return
186 if self._ignoreToggles is True: return 229 if self._ignoreToggles is True: return
187 230
199 elif sender == self._objectpickerAction: 242 elif sender == self._objectpickerAction:
200 mode = OBJECTPICKER 243 mode = OBJECTPICKER
201 244
202 self._setMode(mode) 245 self._setMode(mode)
203 246
204 def mouseExited(self, sender, event):
205 pass
206
207
208 def mousePressed(self, sender, event): 247 def mousePressed(self, sender, event):
209 if event.isConsumedByWidgets(): 248 if event.isConsumedByWidgets():
210 return 249 return
211 250
212 realCoords = self._getRealCoords(sender, event) 251 realCoords = self._getRealCoords(sender, event)
358 self._dragx = NOT_INITIALIZED 397 self._dragx = NOT_INITIALIZED
359 self._dragy = NOT_INITIALIZED 398 self._dragy = NOT_INITIALIZED
360 399
361 def mouseMoved(self, sender, event): 400 def mouseMoved(self, sender, event):
362 pass 401 pass
402
403 def mouseEntered(self, sender, event):
404 self._setCursor()
405
406 def mouseExited(self, sender, event):
407 self._resetCursor()
363 408
364 def mouseWheelMovedUp(self, event): 409 def mouseWheelMovedUp(self, event):
365 if self._eventlistener.controlPressed and self._controller._camera: 410 if self._eventlistener.controlPressed and self._controller._camera:
366 self._controller._camera.setZoom(self._controller._camera.getZoom() * 1.10) 411 self._controller._camera.setZoom(self._controller._camera.getZoom() * 1.10)
367 412