treecombobox.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef TREECOMBOBOX_H
00021 #define TREECOMBOBOX_H
00022
00023 #include <qlistbox.h>
00024 #include <qcombobox.h>
00025 #include <qstringlist.h>
00026
00030 class TreeListBoxItem : public QListBoxPixmap
00031 {
00032 public:
00033 TreeListBoxItem(QListBox *lb, const QPixmap& pix, const QString& txt, bool oneBlock = false);
00034
00035 virtual int width(const QListBox *lb) const;
00036
00037 protected:
00038 virtual void paint(QPainter *p);
00039 int stepSize() const { return 16; }
00040
00041 private:
00042 QStringList m_path;
00043 int m_depth;
00044 TreeListBoxItem *m_child, *m_next, *m_parent;
00045 };
00046
00050 class TreeListBox : public QListBox
00051 {
00052 friend class TreeListBoxItem;
00053 public:
00054 TreeListBox(QWidget *parent = 0, const char *name = 0);
00055
00056 protected:
00057 virtual void paintCell(QPainter *p, int row, int col);
00058
00059 private:
00060 bool m_painting;
00061 };
00062
00066 class TreeComboBox : public QComboBox
00067 {
00068 public:
00069 TreeComboBox(QWidget *parent = 0, const char *name = 0);
00070 void insertItem(const QPixmap& pix, const QString& txt, bool oneBlock = false);
00071
00072 private:
00073 QListBox *m_listbox;
00074 };
00075
00076 #endif
|