Пример #1
0
    def delete_at(self, pos):
        assert self.is_online, "Why do we need to delete from an unattached node?"

        with hidden_region_list(self.view, self.regkey_keys) as regions:
            del regions[pos]

        with hidden_region_list(self.view, self.regkey_values) as regions:
            del regions[pos]

        self.key_nodes.pop(pos).detach()
        self.value_nodes.pop(pos).detach()
Пример #2
0
    def insert_at(self, pos, key_region, value_node, value_region):
        assert self.is_online, "Why do we need to insert into an unattached node?"

        self.key_nodes.insert(pos, JsKey(self))
        self.value_nodes.insert(pos, value_node)
        value_node.attach_to(self)

        with hidden_region_list(self.view, self.regkey_keys) as regions:
            regions.insert(pos, key_region)

        with hidden_region_list(self.view, self.regkey_values) as regions:
            regions.insert(pos, value_region)
Пример #3
0
    def replace_value_node_at(self, pos, new_node, new_reg):
        assert self.is_online

        old_node = self.value_nodes[pos]
        old_node.detach()
        new_node.attach_to(self)
        self.value_nodes[pos] = new_node

        with hidden_region_list(self.view, self.regkey_values) as regions:
            regions[pos] = new_reg
Пример #4
0
 def replace_key_node_region_at(self, pos, region):
     with hidden_region_list(self.view, self.regkey_keys) as regions:
         regions[pos] = region