236 |
return Member(); |
return Member(); |
237 |
} |
} |
238 |
|
|
239 |
|
Member Object::memberByUID(const UID& uid) const { |
240 |
|
if (!uid) return Member(); |
241 |
|
for (int i = 0; i < m_members.size(); ++i) |
242 |
|
if (m_members[i].uid() == uid) |
243 |
|
return m_members[i]; |
244 |
|
return Member(); |
245 |
|
} |
246 |
|
|
247 |
void Object::remove(const Member& member) { |
void Object::remove(const Member& member) { |
248 |
for (int i = 0; i < m_members.size(); ++i) { |
for (int i = 0; i < m_members.size(); ++i) { |
249 |
if (m_members[i] == member) { |
if (m_members[i] == member) { |
753 |
m_isModified = false; |
m_isModified = false; |
754 |
} |
} |
755 |
|
|
756 |
|
void Archive::removeMember(Object& parent, const Member& member) { |
757 |
|
parent.remove(member); |
758 |
|
m_isModified = true; |
759 |
|
} |
760 |
|
|
761 |
void Archive::remove(const Object& obj) { |
void Archive::remove(const Object& obj) { |
762 |
|
//FIXME: Should traverse from root object and remove all members associated with this object |
763 |
if (!obj.uid()) return; |
if (!obj.uid()) return; |
764 |
m_allObjects.erase(obj.uid()); |
m_allObjects.erase(obj.uid()); |
765 |
m_isModified = true; |
m_isModified = true; |