libtaskmanager
abstractgroupableitem.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef ABSTRACTGROUPABLEITEM_H
00025 #define ABSTRACTGROUPABLEITEM_H
00026
00027 #include <QtCore/QObject>
00028 #include <QtGui/QIcon>
00029
00030 #include <KDE/KWindowSystem>
00031
00032 #include <taskmanager/taskmanager.h>
00033 #include <taskmanager/taskmanager_export.h>
00034
00035 namespace TaskManager
00036 {
00037
00038 class TaskGroup;
00039 class AbstractGroupableItem;
00040
00041 typedef AbstractGroupableItem* AbstractItemPtr;
00042 typedef TaskGroup* GroupPtr;
00043
00044 typedef QList<AbstractItemPtr> ItemList;
00045 typedef QList<GroupPtr> GroupList;
00046
00051 class TASKMANAGER_EXPORT AbstractGroupableItem : public QObject
00052 {
00053 Q_OBJECT
00054 public:
00055 AbstractGroupableItem(QObject *parent);
00056 virtual ~AbstractGroupableItem();
00057
00058 virtual QIcon icon() const;
00059 virtual QString name() const;
00060
00064 GroupPtr parentGroup() const;
00065
00069 bool isGrouped() const;
00070
00071 bool isGroupMember(const GroupPtr group) const;
00072 virtual bool isGroupItem() const = 0;
00073
00074 virtual bool isOnCurrentDesktop() const = 0;
00075 virtual bool isOnAllDesktops() const = 0;
00076 virtual int desktop() const = 0;
00077 virtual bool isShaded() const = 0;
00078 virtual bool isMaximized() const = 0;
00079 virtual bool isMinimized() const = 0;
00080 virtual bool isFullScreen() const = 0;
00081 virtual bool isKeptBelowOthers() const = 0;
00082 virtual bool isAlwaysOnTop() const = 0;
00083 virtual bool isActionSupported(NET::Action) const = 0;
00084 virtual bool isActive() const = 0;
00085 virtual bool demandsAttention() const = 0;
00086 virtual void addMimeData(QMimeData *) const = 0;
00087
00088 public Q_SLOTS:
00090 virtual void toDesktop(int) = 0;
00091
00092 virtual void setShaded(bool) = 0;
00093 virtual void toggleShaded() = 0;
00094
00095 virtual void setMaximized(bool) = 0;
00096 virtual void toggleMaximized() = 0;
00097
00098 virtual void setMinimized(bool) = 0;
00099 virtual void toggleMinimized() = 0;
00100
00101 virtual void setFullScreen(bool) = 0;
00102 virtual void toggleFullScreen() = 0;
00103
00104 virtual void setKeptBelowOthers(bool) = 0;
00105 virtual void toggleKeptBelowOthers() = 0;
00106
00107 virtual void setAlwaysOnTop(bool) = 0;
00108 virtual void toggleAlwaysOnTop() = 0;
00109
00110 virtual void close() = 0;
00111
00112 void setParentGroup(const GroupPtr group);
00113
00114
00115
00116 Q_SIGNALS:
00117 void changed(::TaskManager::TaskChanges changes);
00118 void destroyed(AbstractGroupableItem *);
00119
00120 private:
00121 class Private;
00122 Private * const d;
00123 };
00124
00125 }
00126
00127 #endif