Lines Matching refs:obj

45         unsigned childIndex(SPObject *obj) {
47 found = std::find(children.begin(), children.end(), obj);
55 unsigned findInsertIndex(SPObject *obj) const {
64 int pos = sp_object_compare_position(*mid, obj);
80 int pos = sp_object_compare_position(*last, obj);
90 void addChild(SPObject *obj) {
91 unsigned index=findInsertIndex(obj);
92 children.insert(children.begin()+index, obj);
97 SPObject *obj)
104 if (obj->isAncestorOf(*iter)) {
120 unsigned removeChild(SPObject *obj) {
122 found = std::find(children.begin(), children.end(), obj);
153 Record *get(SPObject *obj) {
154 Map::iterator found=records.find(obj);
162 void addOne(SPObject *obj);
163 void remove(SPObject *obj, bool subtree);
164 void reorder(SPObject *obj);
168 Record &_doAdd(SPObject *obj) {
169 sp_object_ref(obj);
170 Record &record=records[obj];
172 = obj->connectRelease(
176 = obj->connectPositionChanged(
182 void _notifyAdded(SPObject *obj) {
183 added_signal.emit(obj);
186 void _doRemove(SPObject *obj) {
187 Record &record=records[obj];
192 if ( *it == obj ) {
201 records.erase(obj);
202 removed_signal.emit(obj);
203 sp_object_unref(obj);
206 void _doRemoveSubtree(SPObject *obj) {
207 Record *record=get(obj);
215 _doRemove(obj);
219 void _release_object(SPObject *obj) {
220 if (get(obj)) {
221 remove(obj, true);
231 void DocumentSubset::Relations::addOne(SPObject *obj) {
232 g_return_if_fail( obj != NULL );
233 g_return_if_fail( get(obj) == NULL );
235 Record &record=_doAdd(obj);
239 for ( SPObject::ParentIterator parent_iter=obj->parent
254 /* reparent descendants of obj to obj */
257 obj
264 child_record->parent = obj;
267 /* add obj to the child list */
268 parent_record->addChild(obj);
270 _notifyAdded(obj);
274 void DocumentSubset::Relations::remove(SPObject *obj, bool subtree) {
275 g_return_if_fail( obj != NULL );
277 Record *record=get(obj);
283 unsigned index=parent_record->removeChild(obj);
286 _doRemoveSubtree(obj);
288 /* reparent obj's orphaned children to their grandparent */
302 /* remove obj's record */
303 _doRemove(obj);
319 void DocumentSubset::Relations::reorder(SPObject *obj) {
320 SPObject::ParentIterator parent=obj;
328 if (get(obj)) {
330 parent_record->removeChild(obj);
331 parent_record->addChild(obj);
338 obj
341 unsigned index=parent_record->findInsertIndex(obj);
350 void DocumentSubset::_addOne(SPObject *obj) {
351 _relations->addOne(obj);
354 void DocumentSubset::_remove(SPObject *obj, bool subtree) {
355 _relations->remove(obj, subtree);
362 bool DocumentSubset::includes(SPObject *obj) const {
363 return _relations->get(obj);
366 SPObject *DocumentSubset::parentOf(SPObject *obj) const {
367 Relations::Record *record=_relations->get(obj);
371 unsigned DocumentSubset::childCount(SPObject *obj) const {
372 Relations::Record *record=_relations->get(obj);
376 unsigned DocumentSubset::indexOf(SPObject *obj) const {
377 SPObject *parent=parentOf(obj);
379 return ( record ? record->childIndex(obj) : 0 );
382 SPObject *DocumentSubset::nthChildOf(SPObject *obj, unsigned n) const {
383 Relations::Record *record=_relations->get(obj);