Class overview Alphabetical list Annotated list Header Files Member List
This is the verbatim text of the tree.h include file.
#ifndef TreeWidget_included
#define TreeWidget_included
#include <iostream.h>
#include <qframe.h>
#include <qlist.h>
#include <qscrbar.h>
#include <qpixmap.h>
#include <qpopmenu.h>
#define TREE_PIXMAP_SIZE 16
#define TREE_NODE_HEIGHT 18
class TreeNode;
class TreeWidget;
class TreeNode
{
public:
TreeNode(const char *txt, QPixmap *pic=0, void *data=0);
~TreeNode();
void setHighlighted(bool val) {_highlighted = val;}
bool highlighted() {return _highlighted;}
void setExpanded(bool val) {_expanded = val;}
bool expanded() {return _expanded;}
void setText(const char *txt) {_txt = txt;}
const char *text() {return _txt;}
void setPixmap(QPixmap *pic) {_pic = pic;}
QPixmap *pixmap() {return _pic;}
void setData(void *data) {_data = data;}
void *data() {return _data;}
private:
void draw(QPaintDevice *dev, int xpos, int ypos);
void setLevel(int val) {_level = val;}
int level() {return _level;}
QRect rect() {return _rect;}
bool _highlighted;
bool _expanded;
int _level;
QPixmap *_pic;
QString _txt;
void *_data;
QRect _rect;
friend class TreeWidget;
};
typedef QList<TreeNode> NodeList;
typedef QListIterator<TreeNode> NodeListIt;
class TreeWidget: public QFrame
{
Q_OBJECT
public:
TreeWidget(QWidget *parent=0, const char *name=0);
~TreeWidget();
void setCurrentNode(TreeNode *val);
TreeNode *rootNode();
TreeNode *currentNode();
NodeList *nodes();
TreeNode *addNode(const char *txt, QPixmap *pic=0, void *data=0,
TreeNode *parent=0);
void addNode(TreeNode *id, TreeNode *parent=0);
void rmNode(TreeNode *id);
void clear();
void setNodePopup(QPopupMenu *menu) {_nodePopup = menu;}
void setBackPopup(QPopupMenu *menu) {_backPopup = menu;}
public slots:
void update();
private slots:
void doXBar(int val) {_offset.setX(val); update();}
void doYBar(int val) {_offset.setY(val); update();}
signals:
void highlighted();
void selected();
void nothingSelected();
private:
void mousePressEvent(QMouseEvent *);
void mouseDoubleClickEvent(QMouseEvent *);
void paintEvent(QPaintEvent *);
void resizeEvent(QResizeEvent *);
void draw();
private:
QScrollBar *_xBar;
QScrollBar *_yBar;
TreeNode *_rootNode;
TreeNode *_currNode;
QList<TreeNode> _nodeList;
QPixmap *_canvas;
QPoint _offset;
QPopupMenu *_nodePopup;
QPopupMenu *_backPopup;
};
#endif
Generated at 14:38, 1998/04/17 for Ebuilder by
written by Dimitri van Heesch, © 1997-1998