00001 // Copyright (c) 2003 - 2004 Anselm R. Garbe <anselmg at t-online.de> 00002 // See ../LICENSE.txt for license details. 00003 // 00004 // $Id: tree.cpp 2 2007-05-16 10:38:27Z eg $ 00005 00006 #include "tree.h" 00007 00008 #include "frame.h" 00009 00010 Tree::Tree(Tree *parent, Rectangle *rect) 00011 : Rectangle(*rect) 00012 { 00013 parent_ = parent; 00014 frame_ = 0; 00015 first_ = last_ = 0; 00016 visits_ = 0; 00017 } 00018 00019 Tree::~Tree() { 00020 } 00021 00022 Tree *Tree::parent() const { 00023 return parent_; 00024 } 00025 00026 void Tree::setParent(Tree *tree) { 00027 parent_ = tree; 00028 } 00029 00030 void Tree::setFrame(Frame *frame) { 00031 frame_ = frame; 00032 if (frame_) { 00033 frame_->setTree(this); 00034 frame_->copy(this); 00035 } 00036 } 00037 00038 Frame *Tree::frame() const { 00039 return frame_; 00040 } 00041 00042 Tree *Tree::first() const { 00043 return first_; 00044 } 00045 00046 Tree *Tree::last() const { 00047 return last_; 00048 } 00049 00050 void Tree::setChilds(Tree *first, Tree *last) { 00051 first_ = first; 00052 last_ = last; 00053 if (first_ && last_) { 00054 first_->setParent(this); 00055 last_->setParent(this); 00056 } 00057 } 00058 00059 void Tree::setHoriz(bool horiz) { 00060 isHoriz_ = horiz; 00061 } 00062 00063 bool Tree::isHoriz() const { 00064 return isHoriz_; 00065 } 00066 00067 unsigned int Tree::visits() const { 00068 return visits_; 00069 } 00070 00071 void Tree::setVisit(unsigned int visit) { 00072 visits_ = visit; 00073 }