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