00001 // Copyright (c) 2003 - 2004 Anselm R. Garbe <anselmg at t-online.de> 00002 // See ../LICENSE.txt for license details. 00003 // 00004 // $Id: tree.h 7 2007-05-24 11:03:53Z eg1981 $ 00005 00006 #ifndef __TREE_H 00007 #define __TREE_H 00008 00009 #include "rectangle.h" 00010 00011 class Frame; 00012 class Tree; 00013 00015 class Tree : public Rectangle { 00016 00017 public: 00018 00019 Tree(Tree *parent, Rectangle *rect); 00020 00021 ~Tree(); 00022 00023 Tree *parent() const; 00024 00025 void setParent(Tree *tree); 00026 00027 void setFrame(Frame *frame); 00028 00029 Frame *frame() const; 00030 00031 Tree *first() const; 00032 Tree *last() const; 00033 00034 void setChilds(Tree *first, Tree *last); 00035 00036 void setHoriz(bool horiz); 00037 bool isHoriz() const; 00038 00039 unsigned int visits() const; 00040 void setVisit(unsigned int visit); 00041 00042 private: 00043 00044 Tree *first_; 00045 Tree *last_; 00046 Tree *parent_; 00047 Frame *frame_; 00048 bool isHoriz_; 00049 unsigned int visits_; 00050 }; 00051 00052 #endif // __TREE_H