object-hierarchy.cpp revision 0f201e31b850b4b97592ea8198e3ecd5cac73ae4
/** \file
* Object hierarchy implementation.
*
* Authors:
* MenTaLguY <mental@rydia.net>
*
* Copyright (C) 2004 MenTaLguY
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
#include "sp-object.h"
#include "object-hierarchy.h"
namespace Inkscape {
/**
* Create new object hierarchy.
* \param top The first entry if non-NULL.
*/
if (top) {
}
}
_clear();
}
/**
* Remove all entries.
*/
void ObjectHierarchy::clear() {
_clear();
}
/**
* Trim or expand hierarchy on top such that object becomes top entry.
*/
return;
}
if (!top()) {
} else {
_clear();
}
}
/**
* Add hierarchy from junior's parent to senior to this
* hierarchy's top.
*/
do {
}
/**
* Add object to top of hierarchy.
* \pre object!=NULL
*/
}
/**
* Remove all objects above limit from hierarchy.
*/
}
}
/**
* Trim or expand hierarchy at bottom such that object becomes bottom entry.
*/
return;
}
if (!top()) {
_trimBelow(top());
} else { // object is a sibling or cousin of bottom()
_clear();
}
} else {
_clear();
}
}
/**
* Remove all objects under given object.
* \param limit If NULL, remove all.
*/
}
}
/**
* Add hierarchy from senior to junior to this hierarchy's bottom.
*/
}
}
/**
* Add object at bottom of hierarchy.
* \pre object!=NULL
*/
}
this->_trimBelow(object);
this->_hierarchy.pop_front();
}
= object->connectRelease(
);
}
}
}
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :