• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

libtaskmanager

abstractgroupableitem.h

Go to the documentation of this file.
00001 /*****************************************************************
00002 
00003 Copyright 2008 Christian Mollekopf <chrigi_1@hotmail.com>
00004 
00005 Permission is hereby granted, free of charge, to any person obtaining a copy
00006 of this software and associated documentation files (the "Software"), to deal
00007 in the Software without restriction, including without limitation the rights
00008 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00009 copies of the Software, and to permit persons to whom the Software is
00010 furnished to do so, subject to the following conditions:
00011 
00012 The above copyright notice and this permission notice shall be included in
00013 all copies or substantial portions of the Software.
00014 
00015 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00016 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00017 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
00018 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
00019 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00020 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
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     /*void removedFromGroup();
00114     void addedToGroup(const GroupPtr group);*/
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 } // TaskManager namespace
00126 
00127 #endif

libtaskmanager

Skip menu "libtaskmanager"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • KWin
  •   KWin Libraries
  • Libraries
  •   libkworkspace
  •   libsolidcontrol
  •   libtaskmanager
  • Plasma
  •   Animators
  •   Applets
  •   Engines
  • Solid Modules
Generated for API Reference by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal