20 #ifndef PLASMA_EXTENDER_H
21 #define PLASMA_EXTENDER_H
23 #include <QtGui/QGraphicsWidget>
32 class ExtenderPrivate;
68 Q_PROPERTY(QString emptyExtenderMessage READ emptyExtenderMessage WRITE setEmptyExtenderMessage)
70 Q_PROPERTY(QList<
ExtenderItem*> attachedItems READ attachedItems())
71 Q_PROPERTY(QList<
ExtenderItem*> detachedItems READ detachedItems())
73 Q_PROPERTY(
bool empty READ isEmpty())
114 void setEmptyExtenderMessage(
const QString &message);
119 QString emptyExtenderMessage()
const;
125 QList<ExtenderItem*> items()
const;
130 QList<ExtenderItem*> attachedItems()
const;
135 QList<ExtenderItem*> detachedItems()
const;
144 Q_INVOKABLE
ExtenderItem *item(
const QString &name)
const;
162 Q_INVOKABLE
bool hasItem(
const QString &name)
const;
168 bool isEmpty()
const;
176 void setAppearance(Appearance appearance);
181 Appearance appearance()
const;
187 QList<ExtenderGroup*> groups()
const;
204 virtual void itemAddedEvent(
ExtenderItem *item,
const QPointF &pos = QPointF(-1, -1));
228 virtual void itemHoverMoveEvent(
ExtenderItem *item,
const QPointF &pos);
242 virtual void saveState();
250 virtual FrameSvg::EnabledBorders enabledBordersForItem(
ExtenderItem *item)
const;
255 QVariant itemChange(GraphicsItemChange change,
const QVariant &value);
260 void resizeEvent(QGraphicsSceneResizeEvent *event);
265 void mousePressEvent(QGraphicsSceneMouseEvent *event);
270 void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
275 void dragMoveEvent(QGraphicsSceneDragDropEvent *event);
280 void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
285 void dropEvent(QGraphicsSceneDragDropEvent *event);
301 void geometryChanged();
304 ExtenderPrivate *
const d;
306 Q_PRIVATE_SLOT(d,
void delayItemAddedEvent())
307 Q_PRIVATE_SLOT(d,
void extenderItemDestroyed(Plasma::
ExtenderItem *item))
308 Q_PRIVATE_SLOT(d,
void viewportGeometryChanged(const QRectF &))
310 friend class ExtenderPrivate;
312 friend class ExtenderGroupPrivate;
314 friend class ExtenderItemPrivate;
316 friend class DialogPrivate;
323 #endif //PLASMA_EXTENDER_H
Appearance
Description on how to render the extender's items.
Extends applets to allow detachable parts.
Allows for grouping of extender items.
Provides detachable items for an Extender.