22 #ifndef PLASMA_CONTAINMENT_H
23 #define PLASMA_CONTAINMENT_H
25 #include <QtGui/QGraphicsItem>
26 #include <QtGui/QWidget>
27 #include <QtGui/QStyleOptionGraphicsItem>
29 #include <kplugininfo.h>
30 #include <ksharedconfig.h>
31 #include <kgenericfactory.h>
40 class AccessAppletJob;
47 class ContainmentActions;
48 class ContainmentPrivate;
49 class AbstractToolBox;
88 Version = QStyleOptionGraphicsItem::Version + 1
100 NoContainmentType = -1,
101 DesktopContainment = 0,
103 CustomContainment = 127,
105 CustomPanelContainment = 128
116 const QString &serviceId = QString(),
117 uint containmentId = 0);
141 Type containmentType()
const;
164 static KPluginInfo::List listContainments(
const QString &category = QString(),
165 const QString &parentApp = QString());
186 static KPluginInfo::List listContainmentsOfType(
const QString &
type,
187 const QString &category = QString(),
188 const QString &parentApp = QString());
193 static QStringList listContainmentTypes();
200 static KPluginInfo::List listContainmentsForMimetype(
const QString &mimetype);
213 Applet *addApplet(
const QString &name,
const QVariantList &args = QVariantList(),
214 const QRectF &geometry = QRectF(-1, -1, -1, -1));
227 void addApplet(
Applet *applet,
const QPointF &pos = QPointF(-1, -1),
bool dontInit =
true);
246 void setScreen(
int screen,
int desktop = -1);
259 int lastScreen()
const;
271 int lastDesktop()
const;
277 void save(KConfigGroup &group)
const;
283 void restore(KConfigGroup &group);
291 void enableAction(
const QString &name,
bool enable);
296 void addToolBoxAction(QAction *action);
301 void removeToolBoxAction(QAction *action);
308 void setToolBoxOpen(
bool open);
314 bool isToolBoxOpen()
const;
330 void addAssociatedWidget(
QWidget *widget);
336 void removeAssociatedWidget(
QWidget *widget);
341 bool drawWallpaper();
351 void setWallpaper(
const QString &pluginName,
const QString &mode = QString());
363 void setActivity(
const QString &activity);
368 QString activity()
const;
380 void showContextMenu(
const QPointF &containmentPos,
const QPoint &screenPos);
390 virtual void showDropZone(
const QPoint pos);
399 void setContainmentActions(
const QString &trigger,
const QString &pluginName);
405 QStringList containmentActionsTriggers();
411 QString containmentActions(
const QString &trigger);
417 KConfigGroup containmentActionsConfig();
439 void toolBoxToggled();
445 void toolBoxVisibilityChanged(
bool);
460 void showAddWidgetsInterface(
const QPointF &pos);
502 void addSiblingContainment();
507 void focusNextApplet();
512 void focusPreviousApplet();
528 void destroy(
bool confirm);
534 void showConfigurationInterface();
541 void configChanged();
553 void setDrawWallpaper(
bool drawWallpaper);
561 virtual void saveContents(KConfigGroup &group)
const;
569 virtual void restoreContents(KConfigGroup &group);
571 void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
572 void mousePressEvent(QGraphicsSceneMouseEvent *event);
573 void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
574 void contextMenuEvent(QGraphicsSceneContextMenuEvent *event);
575 void keyPressEvent(QKeyEvent *event);
576 void wheelEvent(QGraphicsSceneWheelEvent *event);
577 bool sceneEventFilter(QGraphicsItem *watched, QEvent *event);
578 QVariant itemChange(GraphicsItemChange change,
const QVariant &value);
584 void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
590 void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
596 void dragMoveEvent(QGraphicsSceneDragDropEvent *event);
602 void dropEvent(QGraphicsSceneDragDropEvent *event);
608 void resizeEvent(QGraphicsSceneResizeEvent *event);
613 #ifndef KDE_NO_DEPRECATED
614 KDE_DEPRECATED
const QGraphicsItem *toolBoxItem()
const;
642 Containment(
const QString &packagePath, uint appletId,
const QVariantList &args);
645 Q_PRIVATE_SLOT(d,
void appletAppearAnimationComplete())
646 Q_PRIVATE_SLOT(d,
void triggerShowAddWidgets())
647 Q_PRIVATE_SLOT(d,
void positionToolBox())
648 Q_PRIVATE_SLOT(d,
void requestConfiguration())
649 Q_PRIVATE_SLOT(d,
void updateToolBoxVisibility())
650 Q_PRIVATE_SLOT(d,
void showDropZoneDelayed())
651 Q_PRIVATE_SLOT(d,
void checkStatus(Plasma::
ItemStatus))
653 Q_PRIVATE_SLOT(d,
void onContextChanged(Plasma::
Context *con))
657 Q_PRIVATE_SLOT(d,
void mimeTypeRetrieved(KIO::Job *, const QString &))
658 Q_PRIVATE_SLOT(d,
void dropJobResult(
KJob *))
661 friend class AppletPrivate;
663 friend class CoronaPrivate;
664 friend class ContainmentPrivate;
668 ContainmentPrivate *const d;
673 #endif // multiple inclusion guard