diff options
Diffstat (limited to 'kommander/widgets/treewidget.h')
-rw-r--r-- | kommander/widgets/treewidget.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/kommander/widgets/treewidget.h b/kommander/widgets/treewidget.h new file mode 100644 index 00000000..29d0a747 --- /dev/null +++ b/kommander/widgets/treewidget.h @@ -0,0 +1,87 @@ +/*************************************************************************** + treewidget.h - Tree/detailed list widget + ------------------- + copyright : (C) 2002-2003 Marc Britton <[email protected]> + (C) 2004 Michal Rudolf <[email protected]> + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef _HAVE_TREEWIDGET_H_ +#define _HAVE_TREEWIDGET_H_ + +/* KDE INCLUDES */ +#include <klistview.h> + +/* QT INCLUDES */ +#include <qstring.h> +#include <qstringlist.h> +#include <qptrvector.h> + +/* OTHER INCLUDES */ +#include <kommanderwidget.h> +#include <kommander_export.h> + +class QWidget; + +class QShowEvent; +class KOMMANDER_EXPORT TreeWidget : public KListView, public KommanderWidget +{ + Q_OBJECT + + Q_PROPERTY(QString populationText READ populationText WRITE setPopulationText DESIGNABLE false) + Q_PROPERTY(QStringList associations READ associatedText WRITE setAssociatedText DESIGNABLE false) + Q_PROPERTY(bool KommanderWidget READ isKommanderWidget) + Q_PROPERTY(QString pathSeparator READ pathSeparator WRITE setPathSeparator) + +public: + TreeWidget(QWidget *a_parent, const char *a_name); + ~TreeWidget(); + virtual void setCurrentItem(QListViewItem* item); + QString pathSeparator() const; + void setPathSeparator(const QString& a_pathSep); + + virtual bool isKommanderWidget() const; + virtual void setAssociatedText(const QStringList&); + virtual QStringList associatedText() const; + virtual QString currentState() const; + virtual QString populationText() const; + virtual void setPopulationText(const QString&); + + virtual QString handleDCOP(int function, const QStringList& args); + virtual bool isFunctionSupported(int function); +public slots: + virtual void setWidgetText(const QString&); + virtual void populate(); +signals: + void widgetOpened(); + void widgetTextChanged(const QString&); + void contextMenuRequested(int xpos, int ypos); +protected: + void showEvent(QShowEvent *e); + void contextMenuEvent( QContextMenuEvent * e ); + int itemToIndex(QListViewItem* item); + int itemToIndexSafe(QListViewItem* item); + QString itemText(QListViewItem* item) const; + QString itemsText(); + QListViewItem* indexToItem(int index); + QString itemPath(QListViewItem* item) const; +private: + void addItemFromString(const QString& s); + QListViewItem* itemFromString(QListViewItem* parent, const QString& s); + QPtrVector<QListViewItem> m_lastPath; + QString m_pathSeparator; + int addColumnTree(const QString & label, int width = -1 ); + void setSortCol(int column, bool ascending=true); + void setAltBackground(const QColor & c); + void setColAlign(int column, const QString& align); +}; + +#endif |