Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

YQTree.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                                        (C) SuSE GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013   File:       YQTree.h
00014 
00015   Author:     Stefan Hundhammer <sh@suse.de>
00016   Maintainer: Stefan Hundhammer <sh@suse.de>
00017 
00018 /-*/
00019 
00020 // -*- c++ -*-
00021 
00022 #ifndef YQTree_h
00023 #define YQTree_h
00024 
00025 #include <qvbox.h>
00026 #include <qlistview.h>
00027 #include <qptrdict.h>
00028 #include <ycp/YCPString.h>
00029 
00030 #include "YTree.h"
00031 
00032 
00033 class QLabel;
00034 class YQTreeItem;
00035 
00036 
00037 class YQTree : public QVBox, public YTree
00038 {
00039     Q_OBJECT
00040 
00041 public:
00042 
00046     YQTree( QWidget * parent, const YWidgetOpt & opt, const YCPString & label );
00047 
00053     void setEnabling( bool enabled );
00054 
00060     long nicesize( YUIDimension dim );
00061 
00065     void setSize( long newWidth, long newHeight );
00066 
00070     void setLabel( const YCPString & label );
00071 
00075     void rebuildTree();
00076 
00081     virtual const YTreeItem * getCurrentItem() const;
00082 
00086     virtual void setCurrentItem( YTreeItem * it );
00087 
00091     virtual bool setKeyboardFocus();
00092 
00093 
00098     void registerItem( const YTreeItem *        orig,
00099                        const YQTreeItem *       clone );
00100 
00101 
00106     YQTreeItem * findYQTreeItem( const YTreeItem * orig ) const;
00107 
00113     virtual void deleteAllItems();
00114 
00115 
00116 protected slots:
00117 
00121     void slotSelected();
00122 
00126     void slotActivated();
00127 
00128 
00129 protected:
00130 
00134     QLabel * _qt_label;
00135 
00139     QListView * _listView;
00140 
00144     int _nextSerialNo;
00145 
00154     QPtrDict <YQTreeItem> _yTreeItemToYQTreeItem;
00155 };
00156 
00157 
00158 class YQTreeItem: public QListViewItem
00159 {
00160 public:
00161 
00165     YQTreeItem( YQTree  *       tree,
00166                 QListView *     parent,
00167                 YTreeItem *     origItem,
00168                 int             serial  );
00169 
00170 
00174     YQTreeItem( YQTree  *       tree,
00175                 YQTreeItem *    parent,
00176                 YTreeItem *     origItem,
00177                 int             serial  );
00178 
00182     void buildSubTree( YTreeItemList & items, int & nextSerialNo );
00183 
00187     YTreeItem * origItem() { return _origItem; }
00188 
00194     virtual void setOpen( bool open );
00195 
00196 
00197 private:
00198 
00202     void init( YQTree *         tree,
00203                YTreeItem *      yTreeItem,
00204                int              serial );
00205 
00206 
00207 protected:
00208 
00212     YQTree * _tree;
00213 
00217     YTreeItem * _origItem;
00218 
00223     int _serialNo;
00224 
00228     QString key( int column, bool ascending ) const;
00229 
00230 };
00231 
00232 
00233 #endif // YQLabel_h

Generated on Wed Sep 14 10:59:02 2005 for yast2-qt by  doxygen 1.4.4