50 #include "TreeItem.hh" 54 TreeItem::TreeItem(
int _id, QString _name,
DataType _type,
TreeItem* _parent) :
79 return ( (dataType_ & _type) );
104 return (
parent()->
id() );
109 bool TreeItem::isGroup() {
156 while ( parentPointer ) {
159 if ( parentPointer->
childCount() > ( thisPointer->
row() + 1) ) {
164 thisPointer = parentPointer;
183 while ( current->
parent() != 0 ) {
185 current = current->
parent();
240 if ( id_ == _objectId )
258 if (
name() == _name )
276 QList<TreeItem*>::iterator i;
285 std::cerr <<
"TreeItem: Illegal remove request" << std::endl;
296 QList< TreeItem* > items;
304 items.push_back(
this);
void deleteSubtree()
delete the whole subtree below this item ( The item itself is not touched )
TreeItem * parent()
Get the parent item ( 0 if root item )
TreeItem * childExists(int _objectId)
Check if the element exists in the subtree of this element.
QList< TreeItem * > childItems_
Children of this node.
void setParent(TreeItem *_parent)
Set the parent pointer.
void appendChild(TreeItem *child)
add a child to this node
int row() const
get the row of this item from the parent
TreeItem * child(int row)
return a child
const DataType DATA_ALL(UINT_MAX)
Identifier for all available objects.
TreeItem * parentItem_
Parent item or 0 if root node.
void removeChild(TreeItem *_item)
Remove a child from this object.
const DataType DATA_GROUP(1)
Items used for Grouping.
int childCount() const
get the number of children
QList< TreeItem * > getLeafs()
get all leafes of the tree below this object ( These will be all visible objects ) ...
DataType dataType()
dataType