Mercurial > MadButterfly
comparison pyink/domview_ui.py @ 1299:6949e2b6cae2
Add unlink clone checker.
- Monitor changes of DOM-tree of the document
- Unlinking a clone is actually removing the clone and copying nodes
from the source.
- Copy value of ID of a node to saved_id to track source of copy
nodes.
- For a new node with 'saved_id' is a copy of another node.
- Copy vulae of 'saved_id' to 'ns0:duplicate-src' to keep the source
- Change value of 'saved_id' to the value of ID of the node for
later copying.
- For a new node without 'saved_id' is not a copy of another node.
- only set 'saved_id' to the value of its ID.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 16 Jan 2011 16:13:37 +0800 |
parents | 082fff7e9604 |
children | 94e6594dea59 |
comparison
equal
deleted
inserted
replaced
1298:2a5da457474d | 1299:6949e2b6cae2 |
---|---|
1 import gtk | 1 import gtk |
2 from tween import TweenObject | 2 from tween import TweenObject |
3 from frameline import frameline, frameruler | 3 from frameline import frameline, frameruler |
4 from domview import domview | 4 from domview import domview |
5 import consistency | 5 import consistency |
6 import unlink_clone | |
6 | 7 |
7 ## \brief Maintain a stack of frameline UI component. | 8 ## \brief Maintain a stack of frameline UI component. |
8 # | 9 # |
9 # Every layer is assocated with a frameline. Framelines are showed/stacked in | 10 # Every layer is assocated with a frameline. Framelines are showed/stacked in |
10 # virtical. Framelines of lower layers are placed at lower position on the | 11 # virtical. Framelines of lower layers are placed at lower position on the |
821 class domview_ui_with_workers(domview_ui, domview_internal): | 822 class domview_ui_with_workers(domview_ui, domview_internal): |
822 def __init__(self): | 823 def __init__(self): |
823 super(domview_ui_with_workers, self).__init__() | 824 super(domview_ui_with_workers, self).__init__() |
824 | 825 |
825 self._consistency_checker = consistency.consistency_checker(self) | 826 self._consistency_checker = consistency.consistency_checker(self) |
827 self._unlink_clone_checker = unlink_clone.unlink_clone_checker(self) | |
826 pass | 828 pass |
827 | 829 |
828 def handle_doc_root(self, doc, root): | 830 def handle_doc_root(self, doc, root): |
829 super(domview_ui_with_workers, self).handle_doc_root(doc, root) | 831 super(domview_ui_with_workers, self).handle_doc_root(doc, root) |
830 | 832 |
831 self._consistency_checker.handle_doc_root(doc, root) | 833 self._consistency_checker.handle_doc_root(doc, root) |
834 self._unlink_clone_checker.handle_doc_root(doc, root) | |
832 pass | 835 pass |
833 pass | 836 pass |
834 | 837 |
835 | 838 |
836 ## \brief Factory function of domview_ui. | 839 ## \brief Factory function of domview_ui. |