• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

Plasma

extendergroup.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2009 by Rob Scheepmaker <r.scheepmaker@student.utwente.nl>
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor,
00017  * Boston, MA  02110-1301  USA
00018  */
00019 
00020 #ifndef PLASMA_EXTENDERGROUP_H
00021 #define PLASMA_EXTENDERGROUP_H
00022 
00023 #include <QtGui/QGraphicsWidget>
00024 #include <QtCore/QList>
00025 
00026 #include "extenderitem.h"
00027 
00028 #include "plasma/plasma_export.h"
00029 
00030 namespace Plasma
00031 {
00032 
00033 class ExtenderGroupPrivate;
00034 class ExtenderItem;
00035 class Applet;
00036 
00050 class PLASMA_EXPORT ExtenderGroup : public ExtenderItem
00051 {
00052     Q_OBJECT
00053     Q_PROPERTY(bool autoHide READ autoHide WRITE setAutoHide)
00054     Q_PROPERTY(bool groupCollapsed READ isGroupCollapsed WRITE setGroupCollapsed)
00055     Q_PROPERTY(bool autoCollapse READ isAutoCollapse WRITE setAutoCollapse)
00056 
00057     public:
00062         explicit ExtenderGroup(Extender *parent, uint groupId = 0);
00063 
00064         ~ExtenderGroup();
00065 
00069         QList<ExtenderItem*> items() const;
00070 
00074         bool autoHide() const;
00075 
00079         void setAutoHide(bool autoHide);
00080 
00085         bool isGroupCollapsed() const;
00086 
00091         bool isAutoCollapse() const;
00092 
00097         void setAutoCollapse(bool collapse);
00098 
00099     public Q_SLOTS:
00104         void setGroupCollapsed(bool collapsed);
00105 
00109         void expandGroup();
00110 
00115         void collapseGroup();
00116 
00117     protected:
00118         void resizeEvent(QGraphicsSceneResizeEvent *event);
00119         bool eventFilter(QObject *watched, QEvent *event);
00120         void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
00121         void dragMoveEvent(QGraphicsSceneDragDropEvent *event);
00122         void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
00123         void dropEvent(QGraphicsSceneDragDropEvent *event);
00124 
00125     private:
00126         ExtenderGroupPrivate * const d;
00127 
00128         Q_PRIVATE_SLOT(d, void addItemToGroup(Plasma::ExtenderItem *item))
00129         Q_PRIVATE_SLOT(d, void removeItemFromGroup(Plasma::ExtenderItem *item))
00130         Q_PRIVATE_SLOT(d, void themeChanged())
00131 
00132         friend class ExtenderItem;
00133 };
00134 } // Plasma namespace
00135 
00136 #endif //PLASMA_EXTENDER_H
00137 

Plasma

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.3
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