poplistview.h
Go to the documentation of this file.00001
00015 #ifndef POPLISTVIEW_H
00016 #define POPLISTVIEW_H
00017
00018 #include <qlistview.h>
00019 #include <qpalette.h>
00020
00021 #include <kpopupmenu.h>
00022
00029 class ColorListViewItem : public QListViewItem
00030 {
00031 public:
00041 ColorListViewItem(QListView* parent, const QColor& color = QColor(),
00042 bool separator = false);
00056 ColorListViewItem(QListView* parent, QListViewItem* after,
00057 const QColor& color=QColor(), bool separator = false);
00068 ColorListViewItem(QListViewItem* parent, const QColor& color = QColor(),
00069 bool separator = false);
00083 ColorListViewItem(QListViewItem* parent, QListViewItem* after,
00084 const QColor& color=QColor(), bool separator = false);
00086 ~ColorListViewItem();
00087
00088 protected:
00094 void init(QListView* parent, const QColor& color);
00103 virtual void paintCell(QPainter* p, const QColorGroup& cg, int column,
00104 int width, int align);
00105
00106 protected:
00107 QListView* m_listView;
00108 QColor m_color;
00109 bool m_separator;
00110 };
00111
00123 class popListView : public QListView
00124 {
00125 Q_OBJECT
00126
00127 public:
00134 popListView(QWidget *parent, bool grid=false, const char *name=0);
00136 ~popListView();
00146 QListViewItem* insertRootItem( const QString& aName, QPixmap *icon=0 );
00159 QListViewItem* insertChildItem(const QString& aName, QPixmap *icon=0,
00160 QListViewItem *parent=0 );
00162 void clear();
00175 int insertPopupItem(const QString& name, int id=-1, int index=-1);
00190 int insertPopupItem(const QPixmap& icon, const QString& name,
00191 int id=-1, int index=-1);
00206 int insertPopupItem(const QString& name, QPopupMenu* pop,
00207 int id=-1, int index=-1);
00224 int insertPopupItem(const QPixmap& icon, const QString& name,
00225 QPopupMenu* pop, int id=-1, int index=-1);
00234 void setAccel(int key, int id) {popup->setAccel(key, id);}
00239 inline void insertSeparator() {if(popup) popup->insertSeparator();}
00244 inline void popupSetTitle(const QString& title) {if(popup) popup->setTitle(title);}
00246 KPopupMenu* popupMenu();
00248 enum PopupStyle {ShowAnywhere, OverItem};
00256 void setPopupStyle(PopupStyle p);
00258 PopupStyle popupStyle();
00263 void setGridEnabled(bool grid);
00265 bool isGridEnabled() {return(drawGrid);}
00266
00267 protected:
00269 QListViewItem* lastChildItem;
00271 QListViewItem* lastRootItem;
00273 PopupStyle pstyle;
00275 KPopupMenu* popup;
00277 bool drawGrid;
00278
00279 protected slots:
00292 void slotMouseButtonClicked(int but, QListViewItem* it,
00293 const QPoint& pos, int col);
00303 void slotShowContextMenu(QListViewItem* it, const QPoint& pos, int col);
00304 };
00305
00306 #endif
This file is part of the documentation for Ksetiwatch API Version 2.6.1.