Mercurial > MadButterfly
comparison pyink/MBScene.py @ 1264:ff410dcdea02
Rename _domview to _domviewui
author | wycc |
---|---|
date | Wed, 12 Jan 2011 12:25:45 +0800 |
parents | 1a54486c2987 |
children | ca301f6abef7 |
comparison
equal
deleted
inserted
replaced
1263:1a54486c2987 | 1264:ff410dcdea02 |
---|---|
67 self._root = root | 67 self._root = root |
68 self.framerate = 12 | 68 self.framerate = 12 |
69 self._disable_tween_type_selector = False | 69 self._disable_tween_type_selector = False |
70 self.current = 0 | 70 self.current = 0 |
71 | 71 |
72 self._domview = create_domview_ui() | 72 self._domviewui = create_domview_ui() |
73 pass | 73 pass |
74 | 74 |
75 def change_active_frame(self, node): | 75 def change_active_frame(self, node): |
76 """ | 76 """ |
77 Change the active frame to the current selected node. This will | 77 Change the active frame to the current selected node. This will |
84 node = node.parent() | 84 node = node.parent() |
85 continue | 85 continue |
86 | 86 |
87 try: | 87 try: |
88 layer_idx, (start, end, tween_type) = \ | 88 layer_idx, (start, end, tween_type) = \ |
89 self._domview.find_key_from_group(node_id) | 89 self._domviewui.find_key_from_group(node_id) |
90 except: | 90 except: |
91 pass | 91 pass |
92 else: | 92 else: |
93 self._domview.set_active_layer_frame(layer_idx, start) | 93 self._domviewui.set_active_layer_frame(layer_idx, start) |
94 break | 94 break |
95 | 95 |
96 node = node.parent() | 96 node = node.parent() |
97 pass | 97 pass |
98 pass | 98 pass |
105 two parts. If the nth is out of any scene, we will append a | 105 two parts. If the nth is out of any scene, we will append a |
106 new scene. | 106 new scene. |
107 | 107 |
108 """ | 108 """ |
109 try: | 109 try: |
110 self._domview.mark_key(layer_idx, frame_idx) | 110 self._domviewui.mark_key(layer_idx, frame_idx) |
111 except ValueError: # existed key frame | 111 except ValueError: # existed key frame |
112 pass | 112 pass |
113 pass | 113 pass |
114 | 114 |
115 def removeKeyScene(self, layer_idx, frame_idx): | 115 def removeKeyScene(self, layer_idx, frame_idx): |
116 self._domview.unmark_key(layer_idx, frame_idx) | 116 self._domviewui.unmark_key(layer_idx, frame_idx) |
117 self._director.show_scene(frame_idx) | 117 self._director.show_scene(frame_idx) |
118 pass | 118 pass |
119 | 119 |
120 def extendScene(self): | 120 def extendScene(self): |
121 layer_idx, frame_idx = self._domview.get_active_layer_frame() | 121 layer_idx, frame_idx = self._domviewui.get_active_layer_frame() |
122 start, end, tween_type = \ | 122 start, end, tween_type = \ |
123 self._domview.get_left_key(layer_idx, frame_idx) | 123 self._domviewui.get_left_key(layer_idx, frame_idx) |
124 tween_len = frame_idx - start + 1 | 124 tween_len = frame_idx - start + 1 |
125 self._domview.tween(layer_idx, start, tween_len, tween_type) | 125 self._domviewui.tween(layer_idx, start, tween_len, tween_type) |
126 | 126 |
127 scene_group = self._domview.get_key_group(layer_idx, start) | 127 scene_group = self._domviewui.get_key_group(layer_idx, start) |
128 self._enterGroup(scene_group) | 128 self._enterGroup(scene_group) |
129 pass | 129 pass |
130 | 130 |
131 def _enterGroup(self, scene_group): | 131 def _enterGroup(self, scene_group): |
132 self.desktop.setCurrentLayer(scene_group.spitem) | 132 self.desktop.setCurrentLayer(scene_group.spitem) |
139 pass | 139 pass |
140 | 140 |
141 def selectSceneObject(self, layer_idx, frame_idx): | 141 def selectSceneObject(self, layer_idx, frame_idx): |
142 try: | 142 try: |
143 start, stop, tween_type = \ | 143 start, stop, tween_type = \ |
144 self._domview.get_key(layer_idx, frame_idx) | 144 self._domviewui.get_key(layer_idx, frame_idx) |
145 except: | 145 except: |
146 return | 146 return |
147 | 147 |
148 scene_group = self._domview.get_key_group(layer_idx, start) | 148 scene_group = self._domviewui.get_key_group(layer_idx, start) |
149 self._enterGroup(scene_group) | 149 self._enterGroup(scene_group) |
150 self.setTweenType(tween_type) | 150 self.setTweenType(tween_type) |
151 pass | 151 pass |
152 | 152 |
153 def duplicateKeyScene(self): | 153 def duplicateKeyScene(self): |
154 # Search for the current scene | 154 # Search for the current scene |
155 layer_idx, frame_idx = self._domview.get_active_layer_frame() | 155 layer_idx, frame_idx = self._domviewui.get_active_layer_frame() |
156 | 156 |
157 try: | 157 try: |
158 left_start, left_end, left_tween_type = \ | 158 left_start, left_end, left_tween_type = \ |
159 self._domview.get_left_key(layer_idx, frame_idx) | 159 self._domviewui.get_left_key(layer_idx, frame_idx) |
160 except: | 160 except: |
161 return | 161 return |
162 if left_end >= frame_idx: | 162 if left_end >= frame_idx: |
163 return | 163 return |
164 | 164 |
165 self._domview.mark_key(layer_idx, frame_idx) | 165 self._domviewui.mark_key(layer_idx, frame_idx) |
166 self._domview.copy_key_group(layer_idx, left_start, frame_idx) | 166 self._domviewui.copy_key_group(layer_idx, left_start, frame_idx) |
167 | 167 |
168 self._director.show_scene(frame_idx) | 168 self._director.show_scene(frame_idx) |
169 pass | 169 pass |
170 | 170 |
171 def do_changeObjectLabel(self,w): | 171 def do_changeObjectLabel(self,w): |
225 | 225 |
226 self._lockui = False | 226 self._lockui = False |
227 pass | 227 pass |
228 | 228 |
229 def markUndo(self, msg): | 229 def markUndo(self, msg): |
230 #self._domview.mark_undo(msg) | 230 #self._domviewui.mark_undo(msg) |
231 # FIXME: move into domview latter when the inkscpae-pybind is modified | 231 # FIXME: move into domview latter when the inkscpae-pybind is modified |
232 # to support the sp_document_done. | 232 # to support the sp_document_done. |
233 self.desktop.doc().done("None",msg) | 233 self.desktop.doc().done("None",msg) |
234 | 234 |
235 def doInsertKeyScene(self,w): | 235 def doInsertKeyScene(self,w): |
236 self._lockui=True | 236 self._lockui=True |
237 layer_idx, frame_idx = self._domview.get_active_layer_frame() | 237 layer_idx, frame_idx = self._domviewui.get_active_layer_frame() |
238 self.insertKeyScene(layer_idx, frame_idx) | 238 self.insertKeyScene(layer_idx, frame_idx) |
239 self.selectSceneObject(layer_idx, frame_idx) | 239 self.selectSceneObject(layer_idx, frame_idx) |
240 self.markUndo("insert key") | 240 self.markUndo("insert key") |
241 self._lockui=False | 241 self._lockui=False |
242 return | 242 return |
247 self.markUndo("dup key") | 247 self.markUndo("dup key") |
248 self._lockui = False | 248 self._lockui = False |
249 | 249 |
250 def doRemoveScene(self,w): | 250 def doRemoveScene(self,w): |
251 self._lockui = True | 251 self._lockui = True |
252 layer_idx, frame_idx = self._domview.get_active_layer_frame() | 252 layer_idx, frame_idx = self._domviewui.get_active_layer_frame() |
253 self.removeKeyScene(layer_idx, frame_idx) | 253 self.removeKeyScene(layer_idx, frame_idx) |
254 self.markUndo("remove key") | 254 self.markUndo("remove key") |
255 self._lockui = False | 255 self._lockui = False |
256 return | 256 return |
257 | 257 |
278 self._lockui = False | 278 self._lockui = False |
279 pass | 279 pass |
280 pass | 280 pass |
281 | 281 |
282 def doRunNext(self): | 282 def doRunNext(self): |
283 if self.current > self._domview.get_max_frame(): | 283 if self.current > self._domviewui.get_max_frame(): |
284 self.current = 0 | 284 self.current = 0 |
285 pass | 285 pass |
286 try: | 286 try: |
287 self._director.show_scene(self.current) | 287 self._director.show_scene(self.current) |
288 except: | 288 except: |
293 self.last_update = glib.timeout_add(tmout, self.doRunNext) | 293 self.last_update = glib.timeout_add(tmout, self.doRunNext) |
294 pass | 294 pass |
295 | 295 |
296 def doInsertFrame(self, w): | 296 def doInsertFrame(self, w): |
297 self.lockui=True | 297 self.lockui=True |
298 layer_idx, frame_idx = self._domview.get_active_layer_frame() | 298 layer_idx, frame_idx = self._domviewui.get_active_layer_frame() |
299 self._domview.insert_frames(layer_idx, frame_idx, 1) | 299 self._domviewui.insert_frames(layer_idx, frame_idx, 1) |
300 self.markUndo("insert frame") | 300 self.markUndo("insert frame") |
301 self.lockui=False | 301 self.lockui=False |
302 | 302 |
303 def doRemoveFrame(self, w): | 303 def doRemoveFrame(self, w): |
304 self.lockui=True | 304 self.lockui=True |
305 layer_idx, frame_idx = self._domview.get_active_layer_frame() | 305 layer_idx, frame_idx = self._domviewui.get_active_layer_frame() |
306 self._domview.rm_frames(layer_idx, frame_idx, 1) | 306 self._domviewui.rm_frames(layer_idx, frame_idx, 1) |
307 self.markUndo("remove frame") | 307 self.markUndo("remove frame") |
308 self.lockui=False | 308 self.lockui=False |
309 | 309 |
310 def do_TweenTypeChange(self, w): | 310 def do_TweenTypeChange(self, w): |
311 if self._disable_tween_type_selector: | 311 if self._disable_tween_type_selector: |
312 return | 312 return |
313 | 313 |
314 layer_idx, frame_idx = self._domview.get_active_layer_frame() | 314 layer_idx, frame_idx = self._domviewui.get_active_layer_frame() |
315 tween_type = self.tweenTypeSelector.get_active() | 315 tween_type = self.tweenTypeSelector.get_active() |
316 | 316 |
317 start, end, old_tween_type = \ | 317 start, end, old_tween_type = \ |
318 self._domview.get_left_key(layer_idx, frame_idx) | 318 self._domviewui.get_left_key(layer_idx, frame_idx) |
319 if end >= frame_idx and start != end: | 319 if end >= frame_idx and start != end: |
320 # Length of tween > 1 and cover this frame | 320 # Length of tween > 1 and cover this frame |
321 self._domview.chg_tween(layer_idx, start, tween_type=tween_type) | 321 self._domviewui.chg_tween(layer_idx, start, tween_type=tween_type) |
322 pass | 322 pass |
323 self.markUndo("change type") | 323 self.markUndo("change type") |
324 pass | 324 pass |
325 | 325 |
326 def onQuit(self, event): | 326 def onQuit(self, event): |
373 self._root = self.desktop.doc().root().repr | 373 self._root = self.desktop.doc().root().repr |
374 pass | 374 pass |
375 | 375 |
376 self.document = self.desktop.doc().rdoc | 376 self.document = self.desktop.doc().rdoc |
377 | 377 |
378 self._domview.handle_doc_root(self.document, self._root) | 378 self._domviewui.handle_doc_root(self.document, self._root) |
379 self._domview.register_active_frame_callback(self.do_CellClick) | 379 self._domviewui.register_active_frame_callback(self.do_CellClick) |
380 self._director = scenes_director(self._domview) | 380 self._director = scenes_director(self._domviewui) |
381 | 381 |
382 if self.top == None: | 382 if self.top == None: |
383 self.top = gtk.VBox(False, 0) | 383 self.top = gtk.VBox(False, 0) |
384 toplevel = self.desktop.getToplevel() | 384 toplevel = self.desktop.getToplevel() |
385 toplevel.child.child.pack_end(self.top, expand=False) | 385 toplevel.child.child.pack_end(self.top, expand=False) |
388 pass | 388 pass |
389 | 389 |
390 vbox = gtk.VBox(False, 0) | 390 vbox = gtk.VBox(False, 0) |
391 self.startWindow = vbox | 391 self.startWindow = vbox |
392 self.top.pack_start(vbox, expand=False) | 392 self.top.pack_start(vbox, expand=False) |
393 frame_ui = self._domview.get_frame_ui_widget() | 393 frame_ui = self._domviewui.get_frame_ui_widget() |
394 vbox.pack_start(frame_ui, expand=False) | 394 vbox.pack_start(frame_ui, expand=False) |
395 hbox=gtk.HBox(False, 0) | 395 hbox=gtk.HBox(False, 0) |
396 self._add_buttons(hbox) | 396 self._add_buttons(hbox) |
397 vbox.pack_start(hbox, expand=False) | 397 vbox.pack_start(hbox, expand=False) |
398 | 398 |