Beispiel #1
0
 def apply(self, value_root):
     source_parent = Tree._navigate_to_index_parent(self._index, value_root)
     moved_node = source_parent.pop_child(self._index[-1])
     dest_parent = Tree._navigate_to_index_parent(
         self._dest_index,
         value_root)
     dest_parent.insert_child(self._dest_index[-1], moved_node)
     event = self.Event(source_parent, moved_node)
     source_parent.trigger_event(event)
Beispiel #2
0
    def apply(self, value_root):
        class Pair:
            pass

        remove_pairs = []
        # build a pointer-based deletion reference so sibling's can't screw with
        # eachother's indicies
        for index in self._index_list:
            pair = Pair()
            pair.parent = Tree._navigate_to_index_parent(index, value_root)
            pair.child = pair.parent.get_child(index[-1])
            remove_pairs.append(pair)
        for pair in remove_pairs:
            pair.parent.remove_child(pair.child)
            pair.parent.trigger_event(self.Event(pair.child))
Beispiel #3
0
 def apply(self, value_root):
     parent_node = Tree._navigate_to_index_parent(self._index, value_root)
     new_node = parent_node.create_child(self._index[-1])
     parent_node.trigger_event(self.Event(new_node))