Mercurial > MadButterfly
annotate pyink/domview_ui.py @ 1503:4d582306df85
Manage control points of transitions by _select_manager
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 08 May 2011 22:18:50 +0800 |
parents | 4a57650bb926 |
children | f185a9d23a30 |
rev | line source |
---|---|
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
1 import gtk |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
2 from tween import TweenObject |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
3 from frameline import frameline, frameruler |
1244
b241f9768833
Remove MBScene_ from the prefix of class names.
Thinker K.F. Li <thinker@codemud.net>
parents:
1243
diff
changeset
|
4 from domview import domview |
1253
07e0cb1e051d
Add class consistency_checker for domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1252
diff
changeset
|
5 import consistency |
1299
6949e2b6cae2
Add unlink clone checker.
Thinker K.F. Li <thinker@codemud.net>
parents:
1294
diff
changeset
|
6 import unlink_clone |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
7 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
8 ## \brief Maintain a stack of frameline UI component. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
9 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
10 # Every layer is assocated with a frameline. Framelines are showed/stacked in |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
11 # virtical. Framelines of lower layers are placed at lower position on the |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
12 # screen. This class provide a set of API to access framelines with layer and |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
13 # frame index number. You access/set content of frameline by specifing layer |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
14 # index and frame index. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
15 # |
1244
b241f9768833
Remove MBScene_ from the prefix of class names.
Thinker K.F. Li <thinker@codemud.net>
parents:
1243
diff
changeset
|
16 class frameline_stack(object): |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
17 _frameline_tween_types = (frameline.TWEEN_TYPE_NONE, |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
18 frameline.TWEEN_TYPE_SHAPE) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
19 _num_frames_of_line = 100 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
20 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
21 _framelines = None |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
22 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
23 def __init__(self, *args, **kws): |
1244
b241f9768833
Remove MBScene_ from the prefix of class names.
Thinker K.F. Li <thinker@codemud.net>
parents:
1243
diff
changeset
|
24 super(frameline_stack, self).__init__(*args, **kws) |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
25 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
26 self._last_mouse_over_frameline = None |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
27 self._last_active_frameline = None |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
28 self._active_frame_callback = None |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
29 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
30 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
31 def _change_hover_frameline(self, widget, event): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
32 """ |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
33 Hide all hover frames. This is a hack. We should use the lost focus |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
34 event instead in the future to reduce the overhead. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
35 """ |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
36 if self._last_mouse_over_frameline and \ |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
37 widget != self._last_mouse_over_frameline: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
38 self._last_mouse_over_frameline.mouse_leave() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
39 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
40 self._last_mouse_over_frameline = widget |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
41 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
42 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
43 ## \brief Switch to new active frameline. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
44 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
45 # Hide active frame mark for the active frame of old active frameline. It |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
46 # always shows at most one active frame mark. When a frame is activated, |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
47 # all active frame mark of other frameline should be hidden. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
48 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
49 def _active_frameline(self, frameline): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
50 last = self._last_active_frameline |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
51 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
52 if last and last != frameline: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
53 last.deactive() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
54 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
55 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
56 self._last_active_frameline = frameline |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
57 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
58 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
59 ## \brief Called for changing of active frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
60 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
61 # This handle deactive previous frameline that owns an active frame when a |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
62 # frame in another frameline is activated. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
63 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
64 def _change_active_frame(self, frameline, frame_idx, button): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
65 frameline.active_frame(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
66 self._active_frameline(frameline) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
67 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
68 if self._active_frame_callback: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
69 layer_idx = frameline.layer_idx |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
70 self._active_frame_callback(layer_idx, frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
71 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
72 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
73 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
74 ## \brief Add a frameline into the frameline box for the given layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
75 # |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
76 def add_frameline(self, layer_idx): |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
77 if layer_idx > len(self._framelines): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
78 raise ValueError, 'layer number should be a consequence' |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
79 vbox = self._frameline_vbox |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
80 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
81 line = frameline(self._num_frames_of_line) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
82 line.set_size_request(self._num_frames_of_line * 10, 20) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
83 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
84 hbox = gtk.HBox() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
85 label = gtk.Label('') |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
86 label.set_size_request(100,0) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
87 hbox.pack_start(label,expand=False, fill=True) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
88 hbox.pack_start(line) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
89 vbox.pack_start(hbox, False) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
90 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
91 # Put later one on the top of earier one, but after the ruler. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
92 position = len(self._framelines) - layer_idx + 1 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
93 vbox.reorder_child(hbox, position) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
94 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
95 self._framelines[layer_idx: layer_idx] = [line] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
96 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
97 for idx in range(layer_idx, len(self._framelines)): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
98 self._framelines[idx].layer_idx = idx |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
99 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
100 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
101 line.label = label |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
102 line.connect('motion-notify-event', self._change_hover_frameline) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
103 line.connect(frameline.FRAME_BUT_PRESS, self._change_active_frame) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
104 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
105 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
106 ## \brief Remove the given frameline from the frameline box. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
107 # |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
108 def remove_frameline(self, layer_idx): |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
109 vbox = self._frameline_vbox |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
110 line = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
111 |
1355
f1fa284fc9c9
Fix error bug for showing mouse over on frameline after removing a layer
Thinker K.F. Li <thinker@codemud.net>
parents:
1336
diff
changeset
|
112 if self._last_active_frameline == line: |
f1fa284fc9c9
Fix error bug for showing mouse over on frameline after removing a layer
Thinker K.F. Li <thinker@codemud.net>
parents:
1336
diff
changeset
|
113 self._last_active_frameline = None |
f1fa284fc9c9
Fix error bug for showing mouse over on frameline after removing a layer
Thinker K.F. Li <thinker@codemud.net>
parents:
1336
diff
changeset
|
114 pass |
f1fa284fc9c9
Fix error bug for showing mouse over on frameline after removing a layer
Thinker K.F. Li <thinker@codemud.net>
parents:
1336
diff
changeset
|
115 if self._last_mouse_over_frameline == line: |
f1fa284fc9c9
Fix error bug for showing mouse over on frameline after removing a layer
Thinker K.F. Li <thinker@codemud.net>
parents:
1336
diff
changeset
|
116 self._last_mouse_over_frameline = None |
f1fa284fc9c9
Fix error bug for showing mouse over on frameline after removing a layer
Thinker K.F. Li <thinker@codemud.net>
parents:
1336
diff
changeset
|
117 pass |
f1fa284fc9c9
Fix error bug for showing mouse over on frameline after removing a layer
Thinker K.F. Li <thinker@codemud.net>
parents:
1336
diff
changeset
|
118 |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
119 hbox = line.parent |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
120 vbox.remove(hbox) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
121 del self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
122 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
123 for idx in range(layer_idx, len(self._framelines)): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
124 self._framelines[idx].layer_idx = idx |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
125 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
126 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
127 |
1320
6090be010927
Fix issue of selecting frames
Thinker K.F. Li <thinker@codemud.net>
parents:
1316
diff
changeset
|
128 ## \brief Remove all framelines from the stack. |
6090be010927
Fix issue of selecting frames
Thinker K.F. Li <thinker@codemud.net>
parents:
1316
diff
changeset
|
129 # |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
130 def remove_all_framelines(self): |
1265
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
131 num = len(self._framelines) |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
132 |
1271 | 133 for idx in range(0, num): |
1265
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
134 line = self._framelines[idx] |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
135 hbox = line.parent |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
136 self._frameline_vbox.remove(hbox) |
1271 | 137 pass |
138 | |
139 self._framelines = [] | |
1265
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
140 self._last_mouse_over_frameline = None |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
141 self._last_active_frameline = None |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
142 pass |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
143 |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
144 def init_framelines(self): |
1265
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
145 if self._framelines!= None: |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
146 return |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
147 self._framelines = [] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
148 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
149 box = gtk.ScrolledWindow() |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
150 self.frameline_box = box |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
151 box.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
152 box.set_size_request(-1, 150) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
153 vbox = gtk.VBox() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
154 self._frameline_vbox = vbox |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
155 box.add_with_viewport(vbox) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
156 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
157 nframes = self._num_frames_of_line |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
158 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
159 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
160 # Set up a ruler |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
161 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
162 ruler = frameruler(nframes) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
163 ruler.set_size_request(nframes * 10, 20) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
164 ruler.show() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
165 hbox = gtk.HBox() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
166 label=gtk.Label('') |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
167 label.set_size_request(100,0) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
168 hbox.pack_start(label,expand=False,fill=True) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
169 hbox.pack_start(ruler) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
170 vbox.pack_start(hbox, False) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
171 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
172 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
173 ## \brief Show framelines on the screen. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
174 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
175 # When a frameline was inserted or removed, it would not be showed |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
176 # immediately. This function is used to notify toolkit to update the |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
177 # screen and drawing framelines. |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
178 def show_framelines(self): |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
179 self._frameline_vbox.show_all() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
180 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
181 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
182 ## \brief Make given frame as current active frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
183 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
184 def active_frame(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
185 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
186 self._active_frameline(frameline) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
187 frameline.active_frame(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
188 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
189 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
190 ## \brief Get layer and frame index of current active frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
191 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
192 # \return (-1, -1) for no active, (layer_idx, frame_idx) for current |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
193 # active. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
194 def get_active_layer_frame(self): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
195 if self._last_active_frameline: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
196 layer_idx = self._last_active_frameline.layer_idx |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
197 frame_idx = self._last_active_frameline.get_active_frame() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
198 if frame_idx != -1: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
199 return layer_idx, frame_idx |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
200 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
201 return -1, -1 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
202 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
203 ## \brief Get information of the key frame at left-side. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
204 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
205 # The key frame, returned, is at the place of the give frame or its |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
206 # left-side. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
207 def get_left_key_tween(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
208 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
209 start, end, fl_tween_type = frameline.get_frame_block_floor(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
210 tween_type = self._frameline_tween_types.index(fl_tween_type) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
211 return start, end, tween_type |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
212 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
213 ## \brief Return information of a key frame and its tweening. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
214 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
215 # This method return the key frame that the given frame is, or is in its |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
216 # tween. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
217 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
218 # \return (start, end, tween_type) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
219 def get_key_tween(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
220 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
221 start, end, fl_tween_type = frameline.get_frame_block(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
222 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
223 tween_type = self._frameline_tween_types.index(fl_tween_type) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
224 return start, end, tween_type |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
225 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
226 def get_all_key_tween_of_layer(self, layer_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
227 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
228 info = frameline.get_frame_blocks() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
229 tweens = [(tween[0], tween[1], |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
230 self._frameline_tween_types.index(tween[2])) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
231 for tween in info] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
232 return tweens |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
233 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
234 ## \brief Tweening key frame to a give size |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
235 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
236 # The tween can be changed by tweening it again. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
237 def tween(self, layer_idx, key_frame_idx, tween_len, |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
238 tween_type=TweenObject.TWEEN_TYPE_NORMAL): |
1293
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
239 assert tween_len > 1 |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
240 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
241 right_frame_idx = key_frame_idx + tween_len - 1 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
242 fl_tween_type = self._frameline_tween_types[tween_type] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
243 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
244 start, end, old_fl_tween_type = \ |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
245 frameline.get_frame_block(key_frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
246 if start != key_frame_idx: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
247 ValueError, 'invalid key frame (%d)' % (key_frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
248 if start < end: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
249 frameline.unmark_keyframe(end) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
250 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
251 frameline.mark_keyframe(right_frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
252 frameline.tween(start, fl_tween_type) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
253 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
254 |
1293
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
255 def untween(self, layer_idx, key_frame_idx): |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
256 frameline = self._framelines[layer_idx] |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
257 start, end, tween_type = \ |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
258 frameline.get_frame_block(key_frame_idx) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
259 if start < end: |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
260 frameline.untween(start) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
261 frameline.unmark_keyframe(end) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
262 pass |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
263 pass |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
264 |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
265 ## \brief Unmark a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
266 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
267 # Once a key frame was unmark, the associated tween was also removed |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
268 # totally. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
269 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
270 def unmark_keyframe(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
271 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
272 start, end, fl_tween_type = frameline.get_frame_block(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
273 if start != frame_idx: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
274 raise ValueError, 'no such key (%d, %d)' % (layer_idx, frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
275 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
276 frameline.unmark_keyframe(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
277 if start < end: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
278 frameline.unmark_keyframe(end) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
279 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
280 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
281 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
282 ## \brief Makr a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
283 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
284 # Make a frame as a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
285 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
286 def mark_keyframe(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
287 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
288 frameline.mark_keyframe(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
289 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
290 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
291 ## \brief Get data associated with the given key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
292 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
293 # The given frame index must be exactly a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
294 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
295 def get_keyframe_data(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
296 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
297 data = frameline.get_frame_data(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
298 return data |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
299 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
300 ## \brief Set/associate data with the given key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
301 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
302 def set_keyframe_data(self, layer_idx, frame_idx, data): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
303 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
304 frameline.set_frame_data(frame_idx, data) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
305 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
306 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
307 ## \brief Insert frames before specified frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
308 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
309 # Specified frame and frames after it are shift right for \ref num |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
310 # positions to make a space for new frames. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
311 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
312 def insert_frames(self, layer_idx, frame_idx, num): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
313 assert num > 0 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
314 assert frame_idx >= 0 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
315 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
316 for i in range(num): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
317 frameline.add_frame(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
318 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
319 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
320 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
321 ## \brief Remove a number of frames from the frameline. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
322 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
323 # All key frames and associated tween info covered by removing range would |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
324 # be removed. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
325 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
326 def rm_frames(self, layer_idx, frame_idx, num): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
327 assert num > 0 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
328 assert frame_idx >= 0 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
329 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
330 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
331 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
332 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
333 # Remove right key frame of last tween which left one will be removed. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
334 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
335 last_rm = frame_idx + num - 1 # last removed frame |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
336 try: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
337 start, end, tween_type = frameline.get_frame_block(last_rm) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
338 except ValueError: # last removed frame is not in any tween |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
339 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
340 else: |
1292
00833f8912a9
Revert function of domview_ui to changeset #4686f3131f2a
Thinker K.F. Li <thinker@codemud.net>
parents:
1284
diff
changeset
|
341 if start >= frame_idx and end > last_rm: |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
342 # Left key frame of the tween was removed, but not right one. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
343 frameline.untween(start) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
344 frameline.unmark_keyframe(end) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
345 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
346 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
347 |
1292
00833f8912a9
Revert function of domview_ui to changeset #4686f3131f2a
Thinker K.F. Li <thinker@codemud.net>
parents:
1284
diff
changeset
|
348 # |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
349 # Remove left key of the tween that right key frame is in removing |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
350 # range. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
351 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
352 try: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
353 start, end, tween_type = frameline.get_frame_block(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
354 except ValueError: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
355 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
356 else: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
357 if start < frame_idx and end <= last_rm: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
358 # right key frame is in removing range but left one. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
359 frameline.untween(start) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
360 frameline.unmark_keyframe(start) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
361 frameline.unmark_keyframe(end) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
362 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
363 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
364 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
365 for i in range(num): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
366 frameline.rm_frame(frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
367 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
368 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
369 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
370 ## \brief Set label for a layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
371 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
372 def set_layer_label(self, layer_idx, txt): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
373 frameline = self._framelines[layer_idx] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
374 frameline.label.set_text(txt) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
375 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
376 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
377 ## \brief Register a callback for active frame event. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
378 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
379 # The callback would be called when a frame is activated. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
380 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
381 def register_active_frame_callback(self, cb): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
382 self._active_frame_callback = cb |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
383 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
384 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
385 |
1246
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
386 |
1305
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
387 ## \biref Components and timelines management for domview. |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
388 # |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
389 # This is mix-in for domview_ui to provide components and timelines |
1308
49775feefbcf
Show components and timelines in comp_dock
Thinker K.F. Li <thinker@codemud.net>
parents:
1306
diff
changeset
|
390 # management functions. This class expose a lot of methods from class |
49775feefbcf
Show components and timelines in comp_dock
Thinker K.F. Li <thinker@codemud.net>
parents:
1306
diff
changeset
|
391 # component_manager. |
1305
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
392 # |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
393 class domview_ui_comp(object): |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
394 def __init__(self): |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
395 from comp_dock import comp_dock |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
396 |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
397 self._comp_dock = comp_dock(self) |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
398 pass |
1316
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
399 |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
400 def _ui_comp_refresh(self): |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
401 self._comp_dock.refresh() |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
402 pass |
1305
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
403 |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
404 ## \brief Setup desktop that the document will be serviced. |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
405 # |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
406 # This method must be called before handle_doc_root. |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
407 # |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
408 def set_desktop(self, desktop): |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
409 self._desktop = desktop |
1308
49775feefbcf
Show components and timelines in comp_dock
Thinker K.F. Li <thinker@codemud.net>
parents:
1306
diff
changeset
|
410 self._comp_dock.install_dock(desktop) |
1305
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
411 pass |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
412 |
1306
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
413 def add_component(self, name): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
414 self._dom.add_component(name) |
1311
e6bb9d00341f
Make content dom and comp_dock synchronized
Thinker K.F. Li <thinker@codemud.net>
parents:
1308
diff
changeset
|
415 self._comp_dock.dom_add_component(name) |
1306
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
416 pass |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
417 |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
418 def rm_component(self, name): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
419 self._dom.rm_component(name) |
1311
e6bb9d00341f
Make content dom and comp_dock synchronized
Thinker K.F. Li <thinker@codemud.net>
parents:
1308
diff
changeset
|
420 self._comp_dock.dom_rm_component(name) |
1306
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
421 pass |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
422 |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
423 def switch_component(self, name): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
424 self._dom.switch_component(name) |
1316
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
425 self._framelines_refresh() # from domview_ui |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
426 self._comp_dock.refresh_timelines() |
1431
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
427 |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
428 cur_layer_idx, cur_frame_idx = self._dom.get_current_frame() |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
429 self._fl_stack.active_frame(cur_layer_idx, cur_frame_idx) |
1306
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
430 pass |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
431 |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
432 def all_comp_names(self): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
433 names = self._dom.all_comp_names() |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
434 return names |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
435 |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
436 def has_component(self, name): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
437 r = self._dom.has_component(name) |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
438 return r |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
439 |
1316
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
440 def get_current_component(self): |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
441 return self._dom.get_current_component() |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
442 |
1306
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
443 def add_timeline(self, name): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
444 self._dom.add_timeline(name) |
1311
e6bb9d00341f
Make content dom and comp_dock synchronized
Thinker K.F. Li <thinker@codemud.net>
parents:
1308
diff
changeset
|
445 self._comp_dock.dom_add_timeline(name) |
1306
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
446 pass |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
447 |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
448 def rm_timeline(self, name): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
449 self._dom.rm_timeline(name) |
1311
e6bb9d00341f
Make content dom and comp_dock synchronized
Thinker K.F. Li <thinker@codemud.net>
parents:
1308
diff
changeset
|
450 self._comp_dock.dom_rm_timeline(name) |
1306
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
451 pass |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
452 |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
453 def switch_timeline(self, name): |
1316
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
454 self._dom.switch_timeline(name) |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
455 self._framelines_refresh() # from domview_ui |
1431
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
456 |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
457 cur_layer_idx, cur_frame_idx = self._dom.get_current_frame() |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
458 self._fl_stack.active_frame(cur_layer_idx, cur_frame_idx) |
1306
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
459 pass |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
460 |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
461 def all_timeline_names(self): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
462 names = self._dom.all_timeline_names() |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
463 return names |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
464 |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
465 def has_timeline(self, name): |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
466 r = self._dom.has_timeline(name) |
8c0a4684c1f7
Expose methods from component_manager
Thinker K.F. Li <thinker@codemud.net>
parents:
1305
diff
changeset
|
467 return r |
1316
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
468 |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
469 def get_current_timeline(self): |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
470 return self._dom.get_current_timeline() |
1323
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
471 |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
472 ## \brief Add a new component from a group node. |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
473 # |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
474 # The group node is reparented to the group of first layer of |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
475 # specified component. |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
476 # |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
477 def add_component_from_group(self, comp_name, group): |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
478 self.add_component(comp_name) |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
479 self._dom.mv_group_to_component(group, comp_name) |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
480 pass |
1328
407f321f0d7c
Add a svg:use after transform a group to a component
Thinker K.F. Li <thinker@codemud.net>
parents:
1323
diff
changeset
|
481 |
407f321f0d7c
Add a svg:use after transform a group to a component
Thinker K.F. Li <thinker@codemud.net>
parents:
1323
diff
changeset
|
482 def link_to_component(self, comp_name, parent_group): |
407f321f0d7c
Add a svg:use after transform a group to a component
Thinker K.F. Li <thinker@codemud.net>
parents:
1323
diff
changeset
|
483 link_node = self._dom.link_to_component(comp_name, parent_group) |
407f321f0d7c
Add a svg:use after transform a group to a component
Thinker K.F. Li <thinker@codemud.net>
parents:
1323
diff
changeset
|
484 return link_node |
1331
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
485 |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
486 def rename_component(self, comp_name, new_name): |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
487 self._dom.rename_component(comp_name, new_name) |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
488 pass |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
489 |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
490 def rename_timeline_of_component(self, timeline_name, new_name, comp_name): |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
491 self._dom.rename_timeline_of_component(timeline_name, new_name, |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
492 comp_name) |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
493 pass |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
494 |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
495 def rename_timeline(self, timeline_name, new_name): |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
496 self._dom.rename_timeline(timeline_name, new_name) |
5da64f67d00d
Rename components and timelines with context menu
Thinker K.F. Li <thinker@codemud.net>
parents:
1328
diff
changeset
|
497 pass |
1335
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
498 |
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
499 def refresh_components(self): |
1336
0b5ee9c90af7
Update components and timelines list for async changes on DOM
Thinker K.F. Li <thinker@codemud.net>
parents:
1335
diff
changeset
|
500 self._dom.reparse_components() |
1335
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
501 dock = self._comp_dock |
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
502 dock.refresh_components() |
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
503 pass |
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
504 |
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
505 def refresh_timelines(self): |
1336
0b5ee9c90af7
Update components and timelines list for async changes on DOM
Thinker K.F. Li <thinker@codemud.net>
parents:
1335
diff
changeset
|
506 self._dom.reparse_timelines() |
1335
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
507 dock = self._comp_dock |
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
508 dock.refresh_timelines() |
194c7a831083
Consistent checking for components and timelines
Thinker K.F. Li <thinker@codemud.net>
parents:
1331
diff
changeset
|
509 pass |
1305
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
510 pass |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
511 |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
512 |
1466
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
513 ## \brief FSM management interface for domview_ui. |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
514 # |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
515 class domview_ui_FSM(object): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
516 def __init__(self): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
517 super(domview_ui_FSM, self).__init__() |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
518 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
519 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
520 def all_state_names(self): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
521 return self._dom.all_state_names() |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
522 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
523 def get_start_state_name(self): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
524 return self._dom.get_start_state_name() |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
525 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
526 def rm_state(self, state_name): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
527 self._dom.rm_state(state_name) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
528 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
529 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
530 def add_state(self, state_name): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
531 self._dom.add_state(state_name) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
532 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
533 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
534 def rename_state(self, state_name, new_name): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
535 self._dom.rename_state(state_name, new_name) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
536 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
537 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
538 def set_start_state(self, state_name): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
539 self._dom.set_start_state(state_name) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
540 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
541 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
542 def set_state_entry_action(self, state_name, entry_action): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
543 self._dom.set_entry_action(state_name, entry_action) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
544 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
545 |
1469
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
546 def set_state_r(self, state_name, r): |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
547 self._dom.set_state_r(state_name, r) |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
548 pass |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
549 |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
550 def set_state_xy(self, state_name, x, y): |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
551 self._dom.set_state_xy(state_name, x, y) |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
552 pass |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
553 |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
554 def get_state_entry_action(self, state_name): |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
555 action = self._dom.get_state_entry_action(state_name) |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
556 return action |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
557 |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
558 def get_state_r(self, state_name): |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
559 r = self._dom.get_state_r(state_name) |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
560 return r |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
561 |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
562 def get_state_xy(self, state_name): |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
563 xy = self._dom.get_state_xy(state_name) |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
564 return xy |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
565 |
1466
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
566 def all_transitions(self, state_name): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
567 return self._dom.all_transitions(state_name) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
568 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
569 def add_transition(self, state_name, cond, target): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
570 self._dom.add_transition(state_name, cond, target) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
571 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
572 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
573 def rm_transition(self, state_name, cond): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
574 self._dom.rm_transition(state_name, cond) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
575 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
576 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
577 def change_transition_cond(self, state_name, old_cond, new_cond): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
578 self._dom.change_transition_cond(state_name, old_cond, new_cond) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
579 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
580 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
581 def get_transition(self, state_name, cond): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
582 return self._dom.get_transition(state_name, cond) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
583 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
584 def set_transition_action(self, state_name, cond, action): |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
585 self._dom.set_transition_action(state_name, cond, action) |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
586 pass |
1469
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
587 |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
588 def set_transition_path(self, state_name, cond, path): |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
589 self._dom.set_transition_path(state_name, cond, path) |
c1e70540541c
Drawing functions for states and transitions
Thinker K.F. Li <thinker@codemud.net>
parents:
1466
diff
changeset
|
590 pass |
1501
4a57650bb926
Apply changes returned from transition editor
Thinker K.F. Li <thinker@codemud.net>
parents:
1469
diff
changeset
|
591 def chg_transition_cond(self, state_name, cond, new_cond): |
4a57650bb926
Apply changes returned from transition editor
Thinker K.F. Li <thinker@codemud.net>
parents:
1469
diff
changeset
|
592 self._dom.chg_transition_cond(state_name, cond, new_cond) |
4a57650bb926
Apply changes returned from transition editor
Thinker K.F. Li <thinker@codemud.net>
parents:
1469
diff
changeset
|
593 pass |
1466
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
594 pass |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
595 |
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
596 |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
597 ## \brief Bridge of DOM-tree to syncrhonize data-model and UI. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
598 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
599 # This class is a wrapper |
1244
b241f9768833
Remove MBScene_ from the prefix of class names.
Thinker K.F. Li <thinker@codemud.net>
parents:
1243
diff
changeset
|
600 class domview_ui(object): |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
601 _tween_type_names = ('normal', 'scale') |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
602 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
603 def __init__(self): |
1244
b241f9768833
Remove MBScene_ from the prefix of class names.
Thinker K.F. Li <thinker@codemud.net>
parents:
1243
diff
changeset
|
604 super(domview_ui, self).__init__() |
1304
94e6594dea59
Make comp_dock being instantiated by domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1299
diff
changeset
|
605 |
1244
b241f9768833
Remove MBScene_ from the prefix of class names.
Thinker K.F. Li <thinker@codemud.net>
parents:
1243
diff
changeset
|
606 self._fl_stack = frameline_stack() |
b241f9768833
Remove MBScene_ from the prefix of class names.
Thinker K.F. Li <thinker@codemud.net>
parents:
1243
diff
changeset
|
607 self._dom = domview() |
1304
94e6594dea59
Make comp_dock being instantiated by domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1299
diff
changeset
|
608 self._desktop = None |
1245
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
609 self._doc = None |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
610 self._root = None |
1252
71222a6b4c06
Implement lock for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1248
diff
changeset
|
611 self._lock = False |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
612 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
613 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
614 ## \brief Update content of a frameline from scenes of respective layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
615 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
616 def _update_frameline_content(self, layer_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
617 fl_stack = self._fl_stack |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
618 scene_nodes = self._dom.get_all_scene_node_of_layer(layer_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
619 for scene_node in scene_nodes: |
1274
a4d3838264dd
Make public APIs being public for domview
Thinker K.F. Li <thinker@codemud.net>
parents:
1273
diff
changeset
|
620 start, end, tween_name = self._dom.parse_one_scene(scene_node) |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
621 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
622 fl_stack.mark_keyframe(layer_idx, start) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
623 fl_stack.set_keyframe_data(layer_idx, start, scene_node) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
624 if start != end: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
625 tween_type = self._tween_type_names.index(tween_name) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
626 tween_len = end - start + 1 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
627 fl_stack.tween(layer_idx, start, tween_len, tween_type) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
628 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
629 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
630 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
631 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
632 ## \brief Add a frameline for every found layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
633 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
634 # This method is called to create a frameline for every layer found when |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
635 # loading a document. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
636 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
637 def _add_frameline_for_every_layer(self): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
638 for layer_idx in range(self._dom.get_layer_num()): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
639 layer_group_node = self._dom.get_layer_group(layer_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
640 label = layer_group_node.getAttribute('inkscape:label') |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
641 |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
642 self._fl_stack.add_frameline(layer_idx) |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
643 self._fl_stack.set_layer_label(layer_idx, label) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
644 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
645 self._update_frameline_content(layer_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
646 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
647 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
648 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
649 ## \brief This method is called to handle a new document. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
650 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
651 def handle_doc_root(self, doc, root): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
652 self._dom.handle_doc_root(doc, root) |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
653 self._fl_stack.init_framelines() |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
654 self._add_frameline_for_every_layer() |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
655 self._fl_stack.show_framelines() |
1316
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
656 self._ui_comp_refresh() # from domview_ui_comp |
1245
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
657 |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
658 self._doc = doc |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
659 self._root = root |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
660 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
661 |
1316
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
662 ## \brief Update framelines according domview. |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
663 # |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
664 def _framelines_refresh(self): |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
665 self._fl_stack.remove_all_framelines() |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
666 self._add_frameline_for_every_layer() |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
667 self._fl_stack.show_framelines() |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
668 pass |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
669 |
1315
fcff6978f9bf
User can switch components.
Thinker K.F. Li <thinker@codemud.net>
parents:
1311
diff
changeset
|
670 ## \brief Parse the document from the scratch and update UI. |
1265
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
671 # |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
672 def reset(self): |
1275
776b024ae8f9
Fix the buggy implementation of reset()
Thinker K.F. Li <thinker@codemud.net>
parents:
1274
diff
changeset
|
673 self._dom.reset() |
1316
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
674 self._framelines_refresh() |
9ab8d50dcf7e
Refactory code of refreshing UI
Thinker K.F. Li <thinker@codemud.net>
parents:
1315
diff
changeset
|
675 self._ui_comp_refresh() # from domview_ui_comp |
1265
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
676 pass |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
677 |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
678 ## \brief Mark given frame as a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
679 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
680 def mark_key(self, layer_idx, key_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
681 scene_group = self._dom.add_scene_group(layer_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
682 scene_group_id = scene_group.getAttribute('id') |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
683 |
1247
45e9566ea5c0
Fix bugs of inserting/removing frames.
Thinker K.F. Li <thinker@codemud.net>
parents:
1246
diff
changeset
|
684 scene_node = self._dom.add_scene_node(layer_idx, key_idx, key_idx) |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
685 self._dom.chg_scene_node(scene_node, ref=scene_group_id) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
686 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
687 self._fl_stack.mark_keyframe(layer_idx, key_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
688 self._fl_stack.set_keyframe_data(layer_idx, key_idx, scene_node) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
689 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
690 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
691 ## \brief Tweening a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
692 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
693 # To tween a key spanning several frames at right-side. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
694 # The tween of a key frame can be changed by tweening it again. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
695 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
696 def tween(self, layer_idx, key_frame_idx, tween_len, |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
697 tween_type=TweenObject.TWEEN_TYPE_NORMAL): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
698 self._fl_stack.tween(layer_idx, key_frame_idx, tween_len, tween_type) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
699 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
700 end_frame_idx = key_frame_idx + tween_len - 1 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
701 scene_node = self._fl_stack.get_keyframe_data(layer_idx, key_frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
702 tween_name = self._tween_type_names[tween_type] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
703 self._dom.chg_scene_node(scene_node, end=end_frame_idx, |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
704 tween_type=tween_name) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
705 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
706 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
707 ## \brief Change tween info of a key frame |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
708 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
709 def chg_tween(self, layer_idx, key_frame_idx, |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
710 tween_len=None, tween_type=None): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
711 scene_node = self._fl_stack.get_keyframe_data(layer_idx, key_frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
712 start, end, old_tween_type = \ |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
713 self._fl_stack.get_key_tween(layer_idx, key_frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
714 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
715 if tween_len is not None: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
716 end = start + tween_len - 1 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
717 self._dom.chg_scene_node(scene_node, end=end) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
718 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
719 if tween_type is not None: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
720 tween_name = self._tween_type_names[tween_type] |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
721 self._dom.chg_scene_node(scene_node, tween_type=tween_name) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
722 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
723 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
724 if tween_type is None: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
725 tween_type = old_tween_type |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
726 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
727 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
728 tween_len = end - start + 1 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
729 self._fl_stack.tween(layer_idx, start, tween_len, tween_type) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
730 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
731 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
732 ## \brief Unmark a frame from a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
733 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
734 def unmark_key(self, layer_idx, key_frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
735 scene_node = self._fl_stack.get_keyframe_data(layer_idx, key_frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
736 self._dom.rm_scene_node_n_group(scene_node) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
737 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
738 self._fl_stack.unmark_keyframe(layer_idx, key_frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
739 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
740 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
741 ## \brief Insert frames at specified position. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
742 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
743 # All frame at and after given position will shift right. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
744 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
745 def insert_frames(self, layer_idx, frame_idx, num): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
746 self._fl_stack.insert_frames(layer_idx, frame_idx, num) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
747 self._dom.insert_frames(layer_idx, frame_idx, num) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
748 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
749 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
750 ## \brief Insert frames at specified position. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
751 # |
1293
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
752 # All frames at and after given position will shift left, except nearest |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
753 # \ref num frames are removed. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
754 # |
1293
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
755 # - For a tween that only right part is covered by removing |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
756 # range, its tween length would be shrinked just before |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
757 # removing range. |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
758 # - For a tween that only left part is covered by removing range, |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
759 # key and tween are fully removed. |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
760 # - For a tween that only middle part is covered, tween length is |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
761 # also shrinked according length of covered part. |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
762 # |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
763 def rm_frames(self, layer_idx, frame_idx, num): |
1293
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
764 # |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
765 # Check the key that is partially covered key tween, but not |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
766 # include key frame. |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
767 # |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
768 last_rm_idx = frame_idx + num - 1 |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
769 try: |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
770 start, end, tween_type = \ |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
771 self._fl_stack.get_left_key_tween(layer_idx, frame_idx) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
772 except ValueError: |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
773 pass # no key at left |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
774 else: |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
775 if start < frame_idx and end >= frame_idx: |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
776 # |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
777 # Key frame is not covered, only part of a key tween |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
778 # is covered. Shrink its tween length, size of the |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
779 # covered part, or the key will be unmarked. |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
780 # |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
781 shrink_sz = min(end - frame_idx + 1, num) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
782 |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
783 tween_len = end - start + 1 - shrink_sz |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
784 if tween_len == 1: |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
785 self._fl_stack.untween(layer_idx, start) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
786 else: |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
787 self._fl_stack.tween(layer_idx, start, tween_len, |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
788 tween_type) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
789 pass |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
790 |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
791 scene_end = end - shrink_sz |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
792 scene_node = self._fl_stack.get_keyframe_data(layer_idx, start) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
793 self._dom.chg_scene_node(scene_node, end=scene_end) |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
794 |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
795 frame_idx = scene_end + 1 # to shift/remove keys at right side |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
796 pass |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
797 pass |
10bffaffef82
Fix the supporting of removing key tween partially.
Thinker K.F. Li <thinker@codemud.net>
parents:
1292
diff
changeset
|
798 |
1247
45e9566ea5c0
Fix bugs of inserting/removing frames.
Thinker K.F. Li <thinker@codemud.net>
parents:
1246
diff
changeset
|
799 self._fl_stack.rm_frames(layer_idx, frame_idx, num) |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
800 self._dom.rm_frames(layer_idx, frame_idx, num) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
801 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
802 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
803 ## \brief Insert a layer at given position. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
804 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
805 # Original layer \ref layer_idx and later ones would be shifted to make a |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
806 # space for the new layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
807 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
808 def insert_layer(self, layer_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
809 self._dom.insert_layer(layer_idx) |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
810 self._fl_stack.add_frameline(layer_idx) |
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
811 self._fl_stack.show_framelines() |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
812 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
813 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
814 ## \brief Remove given layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
815 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
816 def rm_layer(self, layer_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
817 self._dom.rm_layer(layer_idx) |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
818 self._fl_stack.remove_frameline(layer_idx) |
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
819 self._fl_stack.show_framelines() |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
820 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
821 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
822 def set_active_layer_frame(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
823 self._fl_stack.active_frame(layer_idx, frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
824 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
825 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
826 ## \bref Return current active frame and its layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
827 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
828 # \return (layer_idx, frame_idx) of active frame, or (-1, -1) when no |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
829 # active one. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
830 def get_active_layer_frame(self): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
831 layer_idx, frame_idx = self._fl_stack.get_active_layer_frame() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
832 return layer_idx, frame_idx |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
833 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
834 def get_layer_num(self): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
835 return self._dom.get_layer_num() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
836 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
837 ## \brief Return associated group node for a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
838 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
839 # The given frame index must be exactly a key frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
840 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
841 def get_key_group(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
842 scene_node = self._fl_stack.get_keyframe_data(layer_idx, frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
843 scene_group_id = scene_node.getAttribute('ref') |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
844 scene_group_node = self._dom.get_node(scene_group_id) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
845 return scene_group_node |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
846 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
847 ## \brief Find an associated key frame and tween info for a group ID. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
848 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
849 def find_key_from_group(self, scene_group_id): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
850 layer_idx, scene_node = \ |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
851 self._dom.find_layer_n_scene_of_node(scene_group_id) |
1259
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
852 if layer_idx == -1: |
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
853 raise ValueError, \ |
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
854 'can not find the key for group %s' % (scene_group_id) |
1274
a4d3838264dd
Make public APIs being public for domview
Thinker K.F. Li <thinker@codemud.net>
parents:
1273
diff
changeset
|
855 start, end, tween_name = self._dom.parse_one_scene(scene_node) |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
856 tween_type = self._tween_type_names.index(tween_name) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
857 return layer_idx, (start, end, tween_type) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
858 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
859 ## \brief Return key and tween info for given frame index. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
860 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
861 # The return key is at given frame, or its tween covers given frame. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
862 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
863 def get_key(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
864 start, end, tween_type = \ |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
865 self._fl_stack.get_key_tween(layer_idx, frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
866 return start, end, tween_type |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
867 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
868 def get_left_key(self, layer_idx, frame_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
869 start, end, tween_type = \ |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
870 self._fl_stack.get_left_key_tween(layer_idx, frame_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
871 return start, end, tween_type |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
872 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
873 ## \brief Return information of key frames in the given layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
874 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
875 def get_layer_keys(self, layer_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
876 key_tweens = self._fl_stack.get_all_key_tween_of_layer(layer_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
877 return key_tweens |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
878 |
1246
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
879 ## \brief Copy content of a source key frame to a destinate. |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
880 # |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
881 # Copy content of the scene group of a source key frame to the |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
882 # scene group of a destinate key frame. |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
883 # |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
884 def copy_key_group(self, layer_idx, src_frame_idx, dst_frame_idx): |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
885 src_group = self.get_key_group(layer_idx, src_frame_idx) |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
886 dst_group = self.get_key_group(layer_idx, dst_frame_idx) |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
887 self._dom.copy_group_children(src_group, dst_group) |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
888 pass |
42c4874c8d1e
Move _duplicate_group to domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1245
diff
changeset
|
889 |
1294 | 890 def clone_key_group(self, layer_idx, src_frame_idx, dst_frame_idx): |
1288
fb44830c8a81
Change the duplicate key back to the old implementation. Now, we have clone key frame(extend) and copy key frame(duplicate).
wycc
parents:
1284
diff
changeset
|
891 src_group = self.get_key_group(layer_idx, src_frame_idx) |
fb44830c8a81
Change the duplicate key back to the old implementation. Now, we have clone key frame(extend) and copy key frame(duplicate).
wycc
parents:
1284
diff
changeset
|
892 dst_group = self.get_key_group(layer_idx, dst_frame_idx) |
1294 | 893 self._dom.clone_group_children(src_group, dst_group) |
1288
fb44830c8a81
Change the duplicate key back to the old implementation. Now, we have clone key frame(extend) and copy key frame(duplicate).
wycc
parents:
1284
diff
changeset
|
894 pass |
fb44830c8a81
Change the duplicate key back to the old implementation. Now, we have clone key frame(extend) and copy key frame(duplicate).
wycc
parents:
1284
diff
changeset
|
895 |
1323
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
896 ## \brief To test a graphic node. |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
897 # |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
898 # A graphic node is a SVG node that is not layer group, scene |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
899 # group, ... etc. It is only a normal node in a layer group or a |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
900 # scene group. |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
901 def is_graph_node(self, node): |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
902 return self._dom.is_graph_node(node) |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
903 |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
904 ## \brief Return widget showing frames and layers. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
905 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
906 def get_frame_ui_widget(self): |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
907 return self._fl_stack.frameline_box |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
908 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
909 ## \brief Register a callback for activating a frame event. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
910 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
911 # The callback function is called when a frame is activated. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
912 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
913 def register_active_frame_callback(self, cb): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
914 self._fl_stack.register_active_frame_callback(cb) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
915 pass |
1259
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
916 |
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
917 ## \brief Find the layer index associated with a given layer group. |
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
918 # |
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
919 def find_layer_from_group(self, group_id): |
1261
6177f5d0ef01
Remove the layer when a layer group being removed.
Thinker K.F. Li <thinker@codemud.net>
parents:
1259
diff
changeset
|
920 layer_idx = self._dom.find_layer_of_group(group_id) |
1259
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
921 if layer_idx == -1: |
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
922 raise ValueError, \ |
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
923 'can not find the layer for group %s' % (group_id) |
df474448364e
Add find_layer_from_group() for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1258
diff
changeset
|
924 return layer_idx |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
925 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
926 ## \brief Get duplicate group of a layer. |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
927 # |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
928 def get_layer_dup_group(self, layer_idx): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
929 data = self._dom.get_layer_data(layer_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
930 if not data: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
931 data = dict() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
932 self._dom.set_layer_data(layer_idx, data) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
933 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
934 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
935 dup_group = None |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
936 if data.has_key('dup_group_id'): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
937 try: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
938 dup_group = self._dom.get_node(data['dup_group_id']) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
939 except KeyError: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
940 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
941 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
942 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
943 if not dup_group: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
944 # Search dup group from children of the layer group |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
945 layer_group = self._dom.get_layer_group(layer_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
946 for child in layer_group.childList(): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
947 try: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
948 label = child.getAttribute('inkscape:label') |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
949 except: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
950 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
951 else: |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
952 if label == 'dup': |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
953 data['dup_group_id'] = child |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
954 return child |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
955 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
956 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
957 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
958 # Or create a new dup group for the layer |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
959 dup_group = self._dom.create_layer_dup_group(layer_idx) |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
960 data['dup_group_id'] = dup_group.getAttribute('id') |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
961 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
962 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
963 return dup_group |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
964 |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
965 def get_max_frame(self): |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
966 max_frame = self._dom.get_max_frame() |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
967 return max_frame |
1245
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
968 |
1432 | 969 ## \brief Remember current frame and layer on the scenes node. |
970 # | |
1431
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
971 def remember_current_frame(self, layer_idx, frame_idx): |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
972 self._dom.remember_current_frame(layer_idx, frame_idx) |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
973 pass |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
974 |
1432 | 975 ## \brief Get current frame and layer from the scenes node. |
976 # | |
1431
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
977 def get_current_frame(self): |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
978 return self._dom.get_current_frame() |
60f2c9a24cdb
Keep the same active layer and frame when switching back a timeline.
Thinker K.F. Li <thinker@codemud.net>
parents:
1355
diff
changeset
|
979 |
1265
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
980 ## \brief add the current position to the undo buffer. |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
981 # |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
982 # The msg will be displayed in the UI to indicate the undo set. |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
983 def mark_undo(self, msg): |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
984 self._dom.mark_undo(msg) |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
985 pass |
ca301f6abef7
Support undo for insert key frame/rm keyframe. We will refresh all layers and scenes since it is not feasible to collect these changes and update the layers and scenes. We may scan two level only in the future to improve the performance.
wycc
parents:
1262
diff
changeset
|
986 |
1245
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
987 @property |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
988 def doc(self): |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
989 return self._doc |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
990 |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
991 @property |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
992 def root(self): |
ccbf0c5d01d1
Move code of setCurrentScene to tween.py.
Thinker K.F. Li <thinker@codemud.net>
parents:
1244
diff
changeset
|
993 return self._root |
1248
2f9fa5d59e67
Add data_monitor meta-class to monitor accessing on domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1247
diff
changeset
|
994 |
2f9fa5d59e67
Add data_monitor meta-class to monitor accessing on domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1247
diff
changeset
|
995 def lock(self): |
1252
71222a6b4c06
Implement lock for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1248
diff
changeset
|
996 if self._lock: |
71222a6b4c06
Implement lock for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1248
diff
changeset
|
997 return False |
71222a6b4c06
Implement lock for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1248
diff
changeset
|
998 self._lock = True |
1248
2f9fa5d59e67
Add data_monitor meta-class to monitor accessing on domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1247
diff
changeset
|
999 return True |
2f9fa5d59e67
Add data_monitor meta-class to monitor accessing on domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1247
diff
changeset
|
1000 |
2f9fa5d59e67
Add data_monitor meta-class to monitor accessing on domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1247
diff
changeset
|
1001 def unlock(self): |
1252
71222a6b4c06
Implement lock for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1248
diff
changeset
|
1002 self._lock = False |
1248
2f9fa5d59e67
Add data_monitor meta-class to monitor accessing on domview_ui.
Thinker K.F. Li <thinker@codemud.net>
parents:
1247
diff
changeset
|
1003 return True |
1243
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
1004 pass |
d5f70928e9f1
Move MBScene_domview_ui and MBScene_domview to separated modules.
Thinker K.F. Li <thinker@codemud.net>
parents:
diff
changeset
|
1005 |
1258
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1006 |
1262
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1007 ## \brief Expose some internal interface. |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1008 # |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1009 # This is a mix-in to provide API for internal using, for example, |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1010 # consistency_checker. |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1011 # |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1012 class domview_internal(object): |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1013 ## \brief Search a node by a ID. |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1014 # |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1015 def get_node(self, node_id): |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1016 node = self._dom.get_node(node_id) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1017 return node |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1018 |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1019 ## \brief Search scene node by scene group ID. |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1020 # |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1021 def get_scene_by_group(self, scene_group_id): |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1022 scene_node = self._dom.get_scene(scene_group_id) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1023 return scene_node |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1024 |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1025 ## \brief Manage a scene node that is unknown by domview_ui before. |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1026 # |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1027 def manage_scene_node(self, scene_node, scene_group): |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1028 layer_group = scene_group.parent() |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1029 layer_group_id = layer_group.getAttribute('id') |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1030 layer_idx = self.find_layer_from_group(layer_group_id) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1031 self._dom.manage_scene_node(layer_idx, scene_node) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1032 |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1033 start, end, tween_name = \ |
1274
a4d3838264dd
Make public APIs being public for domview
Thinker K.F. Li <thinker@codemud.net>
parents:
1273
diff
changeset
|
1034 self._dom.parse_one_scene(scene_node) |
1262
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1035 tween_type = self._tween_type_names.index(tween_name) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1036 |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1037 tween_len = end - start + 1 |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1038 self._fl_stack.mark_keyframe(layer_idx, start) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1039 self._fl_stack.set_keyframe_data(layer_idx, start, scene_node) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1040 self._fl_stack.tween(layer_idx, start, tween_len, tween_type) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1041 pass |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1042 |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1043 ## \brief Manage a layer group that is unknown by domview_ui before. |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1044 # |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1045 def manage_layer_group(self, layer_group): |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1046 try: |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1047 layer_group_id = layer_group.getAttribute('id') |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1048 except: |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1049 return |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1050 |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1051 layer_idx = self._dom.manage_layer_group(layer_group_id) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1052 if layer_idx == -1: |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1053 return |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1054 |
1273
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
1055 self._fl_stack.add_frameline(layer_idx) |
1d0474f2f6fa
Make public APIs being public for frameline_stack
Thinker K.F. Li <thinker@codemud.net>
parents:
1272
diff
changeset
|
1056 self._fl_stack.show_framelines() |
1262
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1057 try: |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1058 label = layer_group.getAttribute('inkscape:label') |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1059 except: |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1060 label = layer_group.getAttribute('id') |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1061 pass |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1062 self._fl_stack.set_layer_label(layer_idx, label) |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1063 pass |
1323
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
1064 |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
1065 ## \brief Get layer group. |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
1066 # |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
1067 def get_layer_group(self, layer_idx): |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
1068 layer_group = self._dom.get_layer_group(layer_idx) |
ffbbd3aa218d
Make a component from a group.
Thinker K.F. Li <thinker@codemud.net>
parents:
1320
diff
changeset
|
1069 return layer_group |
1262
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1070 pass |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1071 |
2f861eea1214
Make domview_ui manages scenes and layers found by checker
Thinker K.F. Li <thinker@codemud.net>
parents:
1261
diff
changeset
|
1072 |
1305
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
1073 ## \brief Oven domview_ui and all mix-ins |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
1074 # |
1466
1829b0cc9721
Add FSM management interface for domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1432
diff
changeset
|
1075 class domview_ui_oven(domview_ui, domview_ui_comp, domview_ui_FSM): |
1305
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
1076 def __init__(self): |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
1077 super(domview_ui_oven, self).__init__() |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
1078 pass |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
1079 pass |
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
1080 |
1258
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1081 ## \brief A mix-in to enable workers for a domview_ui. |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1082 # |
1305
573a51b1eb37
domview_ui_comp as a mix-in to oven comp_dock and domview_ui
Thinker K.F. Li <thinker@codemud.net>
parents:
1304
diff
changeset
|
1083 class domview_ui_with_workers(domview_ui_oven, domview_internal): |
1258
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1084 def __init__(self): |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1085 super(domview_ui_with_workers, self).__init__() |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1086 |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1087 self._consistency_checker = consistency.consistency_checker(self) |
1299
6949e2b6cae2
Add unlink clone checker.
Thinker K.F. Li <thinker@codemud.net>
parents:
1294
diff
changeset
|
1088 self._unlink_clone_checker = unlink_clone.unlink_clone_checker(self) |
1258
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1089 pass |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1090 |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1091 def handle_doc_root(self, doc, root): |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1092 super(domview_ui_with_workers, self).handle_doc_root(doc, root) |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1093 |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1094 self._consistency_checker.handle_doc_root(doc, root) |
1299
6949e2b6cae2
Add unlink clone checker.
Thinker K.F. Li <thinker@codemud.net>
parents:
1294
diff
changeset
|
1095 self._unlink_clone_checker.handle_doc_root(doc, root) |
1258
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1096 pass |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1097 pass |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1098 |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1099 |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1100 ## \brief Factory function of domview_ui. |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1101 # |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1102 def create_domview_ui(): |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1103 domview = domview_ui_with_workers() |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1104 return domview |
2609b219703d
Move initialize of consistency_checker to domview_ui_with_workers
Thinker K.F. Li <thinker@codemud.net>
parents:
1253
diff
changeset
|
1105 |