31 return isinstance(other, RevisionProxy)
and self.
rev == other.rev
34 return not isinstance(other, RevisionProxy)
or self.
rev != other.rev
44 return [
ObjectProxy(self.
rev, ob)
for ob
in self.rev.get_objects()]
57 if isinstance(rev, RevisionProxy):
59 return self.rev.copy_objects(rev, sel)
62 if isinstance(ob, ObjectProxy):
64 self.rev.delete_object(ob)
67 self.rev.delete_objects(sel)
70 return self.rev.is_transient()
87 return isinstance(other, ObjectProxy)
and self.
rev == other.rev \
88 and self.
ob == other.ob
91 return not isinstance(other, ObjectProxy)
or self.
rev != other.rev \
92 or self.
ob != other.ob
95 return hash((self.
rev, self.
ob))
98 return self.rev.object_exists(self.
ob)
101 return self.rev.get_object_data(self.
ob)
104 self.rev.set_object_data(self.
ob, data)
107 attached_to, pos = self.rev.get_object_location(self.
ob)
108 if attached_to
is None:
117 if isinstance(attach_to, ObjectProxy):
118 attach_to = attach_to.ob
119 if isinstance(insert_before, ObjectProxy):
120 insert_before = insert_before.ob
121 self.rev.relocate_object(self.
ob, attach_to, insert_before)
127 if name.startswith(
'_'):
129 if 'rev' not in self.__dict__
or 'ob' not in self.__dict__:
131 if name
in [
'line',
'fill']:
133 return self.
data().__getattribute__(name)
136 if 'rev' not in self.__dict__
or 'ob' not in self.__dict__:
137 self.__dict__[name] = value
141 data.__setattr__(name, value)
142 except AttributeError:
143 self.__dict__[name] = value
145 self.rev.set_object_data(self.
ob, data)
155 if not isinstance(name, str):
163 ob_data = self.rev.get_object_data(self.
ob)
167 ob_data.__getattribute__(self.
name)
168 except AttributeError:
173 return self.rev.get_object_data(self.
ob).__getattribute__(self.
name)
176 if name.startswith(
'_'):
178 if 'rev' not in self.__dict__
or 'ob' not in self.__dict__ \
179 or 'name' not in self.__dict__:
181 return self.
data().__getattribute__(name)
184 if 'rev' not in self.__dict__
or 'ob' not in self.__dict__ \
185 or 'name' not in self.__dict__:
186 self.__dict__[name] = value
188 data0 = self.rev.get_object_data(self.
ob)
189 data1 = data0.__getattribute__(self.
name)
191 data1.__setattr__(name, value)
192 except AttributeError:
193 self.__dict__[name] = value
195 self.rev.set_object_data(self.
ob, data0)
def object_is_selected
Return whether an object exists in a revision and is selected in a selection.
High-level revision proxy class.
High-level object proxy class.
def get_objects_attached_to
Return a list of objects in a revision which are attached to a certain object.
High-level line/fill attribute proxy class.
A particular state of the contents of a file.
The identity of an object across revisions.
def get_selected_objects
Return a list of objects which are in a revision as well as in a selection.