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

Plasma

Plasma::Containment

Plasma::Containment Class Reference

The base class for plugins that provide backgrounds and applet grouping containers. More...

#include <Plasma/Containment>

Inheritance diagram for Plasma::Containment:

Inheritance graph
[legend]

List of all members.


Classes

class  StyleOption

Public Types

enum  Type {
  NoContainmentType = -1, DesktopContainment = 0, PanelContainment, CustomContainment = 127,
  CustomPanelContainment = 128
}

Public Slots

void addSiblingContainment ()
void destroy (bool confirm)
void destroy ()
void focusNextApplet ()
void focusPreviousApplet ()
void setFormFactor (Plasma::FormFactor formFactor)
void setLocation (Plasma::Location location)
void showConfigurationInterface ()

Signals

void addSiblingContainment (Plasma::Containment *)
void appletAdded (Plasma::Applet *applet, const QPointF &pos)
void appletRemoved (Plasma::Applet *applet)
void configureRequested (Plasma::Containment *containment)
void contextChanged (Plasma::Context *context)
void screenChanged (int wasScreen, int isScreen, Plasma::Containment *containment)
void showAddWidgetsInterface (const QPointF &pos)
void toolBoxToggled ()
void zoomRequested (Plasma::Containment *containment, Plasma::ZoomDirection direction)

Public Member Functions

QString activity () const
void addApplet (Applet *applet, const QPointF &pos=QPointF(-1,-1), bool dontInit=true)
Applet * addApplet (const QString &name, const QVariantList &args=QVariantList(), const QRectF &geometry=QRectF(-1,-1,-1,-1))
void addAssociatedWidget (QWidget *widget)
void addToolBoxAction (QAction *action)
Applet::List applets () const
void clearApplets ()
void closeToolBox ()
 Containment (QObject *parent, const QVariantList &args)
 Containment (QGraphicsItem *parent=0, const QString &serviceId=QString(), uint containmentId=0)
Type containmentType () const
Corona * corona () const
int desktop () const
bool drawWallpaper ()
void enableAction (const QString &name, bool enable)
void init ()
void openToolBox ()
void removeAssociatedWidget (QWidget *widget)
void removeToolBoxAction (QAction *action)
void restore (KConfigGroup &group)
void save (KConfigGroup &group) const
int screen () const
void setActivity (const QString &activity)
void setScreen (int screen, int desktop=-1)
void setToolBoxOpen (bool open)
void setWallpaper (const QString &pluginName, const QString &mode=QString())
void showContextMenu (const QPointF &containmentPos, const QPoint &screenPos)
virtual void showDropZone (const QPoint pos)
Plasma::Wallpaper * wallpaper () const
 ~Containment ()

Static Public Member Functions

static KPluginInfo::List listContainments (const QString &category=QString(), const QString &parentApp=QString())
static KPluginInfo::List listContainmentsForMimetype (const QString &mimetype)

Protected Member Functions

void contextMenuEvent (QGraphicsSceneContextMenuEvent *event)
void dragEnterEvent (QGraphicsSceneDragDropEvent *event)
void dragMoveEvent (QGraphicsSceneDragDropEvent *event)
void dropEvent (QGraphicsSceneDragDropEvent *event)
QVariant itemChange (GraphicsItemChange change, const QVariant &value)
void keyPressEvent (QKeyEvent *event)
void mouseMoveEvent (QGraphicsSceneMouseEvent *event)
void mousePressEvent (QGraphicsSceneMouseEvent *event)
void mouseReleaseEvent (QGraphicsSceneMouseEvent *event)
void resizeEvent (QGraphicsSceneResizeEvent *event)
virtual void restoreContents (KConfigGroup &group)
virtual void saveContents (KConfigGroup &group) const
bool sceneEventFilter (QGraphicsItem *watched, QEvent *event)
void setContainmentType (Containment::Type type)
void setDrawWallpaper (bool drawWallpaper)
const QGraphicsItem * toolBoxItem () const
void wheelEvent (QGraphicsSceneWheelEvent *event)

Detailed Description

The base class for plugins that provide backgrounds and applet grouping containers.

Containment objects provide the means to group applets into functional sets. They also provide the following:

creation of focussing event

  • drawing of the background image (which can be interactive)
  • form factors (e.g. panel, desktop, full screen, etc)
  • applet layout management

Since containment is actually just a Plasma::Applet, all the techniques used for writing the visual presentation of Applets is applicable to Containtments. Containments are differentiated from Applets by being marked with the ServiceType of Plasma/Containment. Plugins registered with both the Applet and the Containment ServiceTypes can be loaded for us in either situation.

See techbase.kde.org for a tutorial on writing Containments using this class.

Definition at line 67 of file containment.h.


Member Enumeration Documentation

enum Plasma::Containment::Type

Enumerator:
NoContainmentType 

For internal use only.

DesktopContainment  A desktop containment.
PanelContainment  A desktop panel.
CustomContainment  A containment that is neither a desktop nor a panel but something application specific.
CustomPanelContainment  A customized desktop panel.

Reimplemented from Plasma::Applet.

Definition at line 94 of file containment.h.


Constructor & Destructor Documentation

Plasma::Containment::Containment ( QGraphicsItem *  parent = 0,
const QString &  serviceId = QString(),
uint  containmentId = 0 
) [explicit]

Parameters:
parent the QGraphicsItem this applet is parented to
serviceId the name of the .desktop file containing the information about the widget
containmentId a unique id used to differentiate between multiple instances of the same Applet type

Definition at line 89 of file containment.cpp.

Plasma::Containment::Containment ( QObject *  parent,
const QVariantList &  args 
)

This constructor is to be used with the plugin loading systems found in KPluginInfo and KService.

The argument list is expected to have two elements: the KService service ID for the desktop entry and an applet ID which must be a base 10 number.

Parameters:
parent a QObject parent; you probably want to pass in 0
args a list of strings containing two entries: the service id and the applet id

Definition at line 102 of file containment.cpp.

Plasma::Containment::~Containment (  ) 

Definition at line 112 of file containment.cpp.


Member Function Documentation

QString Plasma::Containment::activity (  )  const

Returns:
the current activity associated with this activity

Definition at line 1359 of file containment.cpp.

void Plasma::Containment::addApplet ( Applet *  applet,
const QPointF &  pos = QPointF(-1, -1),
bool  dontInit = true 
)

Add an existing applet to this Containment.

If dontInit is true, the pending constraints are not flushed either. So it is your responsibility to call both init() and flushPendingConstraints() on the applet.

Parameters:
applet the applet that should be added
pos the containment-relative position
dontInit if true, init() will not be called on the applet

Definition at line 700 of file containment.cpp.

Applet * Plasma::Containment::addApplet ( const QString &  name,
const QVariantList &  args = QVariantList(),
const QRectF &  geometry = QRectF(-1, -1, -1, -1) 
)

Adds an applet to this Containment.

Parameters:
name the plugin name for the applet, as given by KPluginInfo::pluginName()
args argument list to pass to the plasmoid
geometry where to place the applet, or to auto-place it if an invalid is provided
Returns:
a pointer to the applet on success, or 0 on failure

Definition at line 694 of file containment.cpp.

void Plasma::Containment::addAssociatedWidget ( QWidget *  widget  )  [virtual]

associate actions with this widget, including ones added after this call.

needed to make keyboard shortcuts work.

Reimplemented from Plasma::Applet.

Definition at line 1233 of file containment.cpp.

void Plasma::Containment::addSiblingContainment (  )  [slot]

Tells the corona to create a new desktop containment.

Definition at line 680 of file containment.cpp.

void Plasma::Containment::addSiblingContainment ( Plasma::Containment *   )  [signal]

Emitted when the containment wants a new containment to be created.

Usually only used for desktop containments.

void Plasma::Containment::addToolBoxAction ( QAction *  action  ) 

Add an action to the toolbox.

Definition at line 1196 of file containment.cpp.

void Plasma::Containment::appletAdded ( Plasma::Applet *  applet,
const QPointF &  pos 
) [signal]

This signal is emitted when a new applet is created by the containment.

void Plasma::Containment::appletRemoved ( Plasma::Applet *  applet  )  [signal]

This signal is emitted when an applet is destroyed.

Applet::List Plasma::Containment::applets (  )  const

Returns:
the applets currently in this Containment

Definition at line 781 of file containment.cpp.

void Plasma::Containment::clearApplets (  ) 

Removes all applets from this Containment.

Definition at line 685 of file containment.cpp.

void Plasma::Containment::closeToolBox (  ) 

Closes Containment's toolbox.

Definition at line 1226 of file containment.cpp.

void Plasma::Containment::configureRequested ( Plasma::Containment *  containment  )  [signal]

Emitted when the user wants to configure/change containment.

Containment::Type Plasma::Containment::containmentType (  )  const

Returns the type of containment.

Definition at line 376 of file containment.cpp.

void Plasma::Containment::contextChanged ( Plasma::Context *  context  )  [signal]

The activity associated to this containemnt has changed.

void Plasma::Containment::contextMenuEvent ( QGraphicsSceneContextMenuEvent *  event  )  [protected]

Definition at line 468 of file containment.cpp.

Corona * Plasma::Containment::corona (  )  const

Returns the Corona (if any) that this Containment is hosted by.

Definition at line 402 of file containment.cpp.

int Plasma::Containment::desktop (  )  const

Returns:
the viewport (e.g. virtual desktop) this Containment is associated with.

Definition at line 868 of file containment.cpp.

void Plasma::Containment::destroy ( bool  confirm  )  [slot]

Destroys this containment and all its applets (after a confirmation dialog); it will be removed nicely and deleted.

Its configuration will also be deleted.

  • confirm whether or not confirmation from the user should be requested

Definition at line 1449 of file containment.cpp.

void Plasma::Containment::destroy (  )  [virtual, slot]

Destroys this containment and all its applets (after a confirmation dialog); it will be removed nicely and deleted.

Its configuration will also be deleted.

Reimplemented from Plasma::Applet.

Definition at line 1434 of file containment.cpp.

void Plasma::Containment::dragEnterEvent ( QGraphicsSceneDragDropEvent *  event  )  [protected]

Reimplemented from superclass.
See also:
QGraphicsItem::dragEnterEvent()

Definition at line 908 of file containment.cpp.

void Plasma::Containment::dragMoveEvent ( QGraphicsSceneDragDropEvent *  event  )  [protected]

Reimplemented from superclass.
See also:
QGraphicsItem::dragMoveEvent()

Definition at line 929 of file containment.cpp.

bool Plasma::Containment::drawWallpaper (  ) 

Return whether wallpaper is painted or not.

Definition at line 1275 of file containment.cpp.

void Plasma::Containment::dropEvent ( QGraphicsSceneDragDropEvent *  event  )  [protected]

Reimplemented from superclass.
See also:
QGraphicsItem::dropEvent()

appletList.isEmpty()

Definition at line 935 of file containment.cpp.

void Plasma::Containment::enableAction ( const QString &  name,
bool  enable 
)

convenience function - enables or disables an action by name

Parameters:
name the name of the action in our collection
enable true to enable, false to disable

Definition at line 1187 of file containment.cpp.

void Plasma::Containment::focusNextApplet (  )  [slot]

switch keyboard focus to the next of our applets

Definition at line 1408 of file containment.cpp.

void Plasma::Containment::focusPreviousApplet (  )  [slot]

switch keyboard focus to the previous one of our applets

Definition at line 1421 of file containment.cpp.

void Plasma::Containment::init (  )  [virtual]

Reimplemented from Applet.

Reimplemented from Plasma::Applet.

Definition at line 122 of file containment.cpp.

QVariant Plasma::Containment::itemChange ( GraphicsItemChange  change,
const QVariant &  value 
) [protected]

Reimplemented from QGraphicsItem.

Reimplemented from Plasma::Applet.

Definition at line 1167 of file containment.cpp.

void Plasma::Containment::keyPressEvent ( QKeyEvent *  event  )  [protected]

Definition at line 1079 of file containment.cpp.

KPluginInfo::List Plasma::Containment::listContainments ( const QString &  category = QString(),
const QString &  parentApp = QString() 
) [static]

Returns a list of all known containments.

Parameters:
category Only applets matchin this category will be returned. Useful in conjunction with knownCategories. If "Misc" is passed in, then applets without a Categories= entry are also returned. If an empty string is passed in, all applets are returned.
parentApp the application to filter applets on. Uses the X-KDE-ParentApp entry (if any) in the plugin info. The default value of QString() will result in a list containing only applets not specifically registered to an application.
Returns:
list of applets

Definition at line 873 of file containment.cpp.

KPluginInfo::List Plasma::Containment::listContainmentsForMimetype ( const QString &  mimetype  )  [static]

Returns a list of all known applets associated with a certain mimetype.

Returns:
list of applets

Definition at line 900 of file containment.cpp.

void Plasma::Containment::mouseMoveEvent ( QGraphicsSceneMouseEvent *  event  )  [protected]

For internal use only.

manage the mouse movement to drag the applet around

Reimplemented from Plasma::Applet.

Definition at line 407 of file containment.cpp.

void Plasma::Containment::mousePressEvent ( QGraphicsSceneMouseEvent *  event  )  [protected]

Definition at line 423 of file containment.cpp.

void Plasma::Containment::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  event  )  [protected]

Definition at line 441 of file containment.cpp.

void Plasma::Containment::openToolBox (  ) 

Open the Containment's toolbox.

Definition at line 1219 of file containment.cpp.

void Plasma::Containment::removeAssociatedWidget ( QWidget *  widget  )  [virtual]

un-associate actions from this widget, including ones added after this call.

needed to make keyboard shortcuts work.

Reimplemented from Plasma::Applet.

Definition at line 1247 of file containment.cpp.

void Plasma::Containment::removeToolBoxAction ( QAction *  action  ) 

Remove an action from the toolbox.

Definition at line 1203 of file containment.cpp.

void Plasma::Containment::resizeEvent ( QGraphicsSceneResizeEvent *  event  )  [protected]

Reimplemented from superclass.
See also:
QGraphicsItem::resizeEvent()

Reimplemented from Plasma::Applet.

Definition at line 1071 of file containment.cpp.

void Plasma::Containment::restore ( KConfigGroup &  group  )  [virtual]

Reimplemented from superclass.
See also:
Applet::restore(KConfigGroup &)

Reimplemented from Plasma::Applet.

Definition at line 258 of file containment.cpp.

void Plasma::Containment::restoreContents ( KConfigGroup &  group  )  [protected, virtual]

Called when the contents of the containment should be loaded.

By default this loads all previously saved Applets

Parameters:
group the KConfigGroup to save settings under

Definition at line 345 of file containment.cpp.

void Plasma::Containment::save ( KConfigGroup &  group  )  const [virtual]

Reimplemented from superclass.
See also:
Applet::save(KConfigGroup &)

Reimplemented from Plasma::Applet.

Definition at line 303 of file containment.cpp.

void Plasma::Containment::saveContents ( KConfigGroup &  group  )  const [protected, virtual]

Called when the contents of the containment should be saved.

By default this saves all loaded Applets

Parameters:
group the KConfigGroup to save settings under

Definition at line 336 of file containment.cpp.

bool Plasma::Containment::sceneEventFilter ( QGraphicsItem *  watched,
QEvent *  event 
) [protected]

For internal use only.

scene event filter; used to manage applet dragging

Reimplemented from Plasma::Applet.

Definition at line 1128 of file containment.cpp.

int Plasma::Containment::screen (  )  const

Returns:
the screen number this containment is serving as the desktop for or -1 if none

Definition at line 863 of file containment.cpp.

void Plasma::Containment::screenChanged ( int  wasScreen,
int  isScreen,
Plasma::Containment *  containment 
) [signal]

This signal indicates that a containment has been newly associated (or dissociated) with a physical screen.

Parameters:
wasScreen the screen it was associated with
isScreen the screen it is now associated with
containment the containment switching screens

void Plasma::Containment::setActivity ( const QString &  activity  ) 

Sets the current activity by name.

Parameters:
activity the name of the activity; if it doesn't exist in the semantic store, it will be created.

Definition at line 1343 of file containment.cpp.

void Plasma::Containment::setContainmentType ( Containment::Type  type  )  [protected]

Sets the type of this containment.

Definition at line 381 of file containment.cpp.

void Plasma::Containment::setDrawWallpaper ( bool  drawWallpaper  )  [protected]

Sets whether wallpaper is painted or not.

Definition at line 1261 of file containment.cpp.

void Plasma::Containment::setFormFactor ( Plasma::FormFactor  formFactor  )  [slot]

Sets the form factor for this Containment.

This may cause changes in both the arrangement of Applets as well as the display choices of individual Applets.

Definition at line 618 of file containment.cpp.

void Plasma::Containment::setLocation ( Plasma::Location  location  )  [slot]

Informs the Corona as to what position it is in.

This is informational only, as the Corona doesn't change it's actual location. This is, however, passed on to Applets that may be managed by this Corona.

Parameters:
location the new location of this Corona

Definition at line 643 of file containment.cpp.

void Plasma::Containment::setScreen ( int  screen,
int  desktop = -1 
)

Sets the physical screen this Containment is associated with.

Parameters:
screen the screen number this containment is the desktop for, or -1 if it is not serving as the desktop for any screen
desktop the virtual desktop to also associate this this screen with

Definition at line 786 of file containment.cpp.

void Plasma::Containment::setToolBoxOpen ( bool  open  ) 

Sets the open or closed state of the Containment's toolbox.

  • open true to open the ToolBox, false to close it

Definition at line 1210 of file containment.cpp.

void Plasma::Containment::setWallpaper ( const QString &  pluginName,
const QString &  mode = QString() 
)

Sets wallpaper plugin.

Parameters:
pluginName the name of the wallpaper to attempt to load
mode optional mode or the wallpaper plugin (e.g. "Slideshow"). These values are pugin specific and enumerated in the plugin's .desktop file.

Definition at line 1280 of file containment.cpp.

void Plasma::Containment::showAddWidgetsInterface ( const QPointF &  pos  )  [signal]

Emitted when the containment requests an add widgets dialog is shown.

Usually only used for desktop containments.

Parameters:
pos where in the containment this request was made from, or an invalid position (QPointF()) is not location specific

void Plasma::Containment::showConfigurationInterface (  )  [virtual, slot]

Reimplemented from superclass.
See also:
Applet::showConfigurationInterface()

Reimplemented from Plasma::Applet.

Definition at line 1439 of file containment.cpp.

void Plasma::Containment::showContextMenu ( const QPointF &  containmentPos,
const QPoint &  screenPos 
)

Shows the context menu for the containment directly, bypassing Applets altogether.

Definition at line 463 of file containment.cpp.

void Plasma::Containment::showDropZone ( const QPoint  pos  )  [virtual]

Shows a visual clue for drag and drop The default implementation does nothing, reimplement in containments that need it.

Parameters:
pos point where to show the drop target; if an invalid point is passed in the drop zone should not be shown

Definition at line 457 of file containment.cpp.

const QGraphicsItem * Plasma::Containment::toolBoxItem (  )  const [protected]

Returns:
the toolbox associated with this containment, or a null pointer if none

Definition at line 1066 of file containment.cpp.

void Plasma::Containment::toolBoxToggled (  )  [signal]

Emitted when the user clicks on the toolbox.

Plasma::Wallpaper * Plasma::Containment::wallpaper (  )  const

Return wallpaper plugin.

Definition at line 1338 of file containment.cpp.

void Plasma::Containment::wheelEvent ( QGraphicsSceneWheelEvent *  event  )  [protected]

Definition at line 1091 of file containment.cpp.

void Plasma::Containment::zoomRequested ( Plasma::Containment *  containment,
Plasma::ZoomDirection  direction 
) [signal]

Emitted when the containment requests zooming in or out one step.


The documentation for this class was generated from the following files:
  • containment.h
  • containment.cpp

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
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs 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