2007-07-24 20:30:36 +02:00
|
|
|
/** @mainpage Plasma libraries
|
|
|
|
|
2008-08-26 18:06:05 +02:00
|
|
|
libplasma is the core of the Plasma desktop. It provides a framework of graphical
|
|
|
|
widgets (Plasma::Applet) that can be organised into managed groupings
|
|
|
|
(Plasma::Containment), such as a desktop or panel. It also provides a data
|
|
|
|
abstraction layer (Plasma::DataEngine) and a corresponding service interaction
|
|
|
|
layer (Plasma::Service) to make implementing widgets easier and a
|
|
|
|
system of callouts (Plasma::AbstractRunner) that provide responses to queries,
|
|
|
|
from running an application to performing a quick calculation.
|
2007-07-24 20:30:36 +02:00
|
|
|
|
2008-08-26 18:06:05 +02:00
|
|
|
The <a href="http://doc.trolltech.com/latest/graphicsview.html">Qt Graphics View
|
|
|
|
framework</a> and the <a href="http://api.kde.org/4.x-api/kdelibs-apidocs/">KDE
|
|
|
|
libraries</a> provide the underpinning for libplasma. As a result, it should
|
|
|
|
work anywhere that Qt and KDE do.
|
2007-07-24 20:30:36 +02:00
|
|
|
|
2008-08-26 18:06:05 +02:00
|
|
|
Although libplasma is developed for the use of Plasma, the new desktop shell in
|
|
|
|
KDE 4, it is general enough to be useful in other applications.
|
|
|
|
<a href="http://amarok.kde.org">Amarok</a> is already using it for its context
|
|
|
|
view, allowing for pluggable widgets to display and interact with the music
|
|
|
|
collection, such as "current track" and "tag cloud" widgets.
|
2007-07-24 20:30:36 +02:00
|
|
|
|
2008-08-26 18:06:05 +02:00
|
|
|
libplasma itself only provides a framework, and the widgets, containments,
|
|
|
|
data engines and runners are all implemented as plugins. However, the framework
|
|
|
|
is designed to make implementing these plugins as easy as possible, including
|
|
|
|
providing scripting support. Also, infrastructure such as a dialog to install
|
|
|
|
new widgets and even download them from the web (Plasma::AppletBrowser) is also
|
|
|
|
included.
|
|
|
|
|
|
|
|
Other important classes are:
|
|
|
|
|
|
|
|
- Plasma::Corona: the canvas that containments are placed on
|
|
|
|
- Plasma::View: a QWidget for displaying a containment
|
|
|
|
- Plasma::Theme: provides theming support
|
|
|
|
- Plasma::Animator: provides animations for things like elements appearing
|
|
|
|
and disappearing
|
|
|
|
- Plasma::Delegate: provides an item delegate for Qt's
|
|
|
|
<a href="http://doc.trolltech.com/latest/model-view-programming.html">Model /
|
|
|
|
View framework</a> for menu items.
|
|
|
|
- Plasma::ToolTipManager: allows widgets have (themed) tooltips displayed when the
|
|
|
|
mouse is hovered over them
|
|
|
|
- Plasma::Dialog: displays a themed application dialog
|
|
|
|
- Plasma::Extender: provides detachable sections to Plasma::Applet
|
|
|
|
- Plasma::GLApplet: provides an OpneGL-rendered Plasma::Applet
|
|
|
|
- Plasma::PackageStructure: provides descriptions of packages containing plugins
|
|
|
|
for libplasma
|
|
|
|
- Plasma::PopupApplet: provides a simple way of implementing a Plasma::Applet
|
|
|
|
consisting of an icon that shows a popup when clicked
|
|
|
|
- Plasma::Svg and Plasma::PanelSvg: provides themable, cached SVGs
|
|
|
|
- Plasma::Wallpaper: provides pluggable backgrounds for containments
|
|
|
|
- Plasma::AppletScript, Plasma::DataEngineScript, Plasma::RunnerScript and
|
|
|
|
Plasma::ScriptEngine: provide scripting interfaces for plugins
|
|
|
|
- Various themed QGraphicsWidgets for use in creating a Plasma::Applet
|
|
|
|
|
|
|
|
|
|
|
|
The
|
2007-07-24 20:30:36 +02:00
|
|
|
<a href="http://techbase.kde.org/Development/Tutorials/Plasma">Plasma tutorials</a>
|
2008-08-26 18:06:05 +02:00
|
|
|
on TechBase provide a good introduction to writing plugins, such as widgets and
|
|
|
|
data engines, for libplasma-based applications.
|
2007-07-24 20:30:36 +02:00
|
|
|
|
|
|
|
@authors
|
|
|
|
Aaron Seigo \<aseigo@kde.org\><br>
|
2008-08-26 17:12:14 +02:00
|
|
|
Alex Merry \<kde@randomguy3.me.uk\><br>
|
2007-07-24 20:30:36 +02:00
|
|
|
Alexander Wiedenbruch \<wirr01@gmail.com\><br>
|
2008-04-24 10:04:34 +02:00
|
|
|
Alexis Ménard \<darktears31@gmail.com\><br>
|
2008-08-26 17:14:59 +02:00
|
|
|
André Duffeck \<andre@duffeck.de\><br>
|
2008-04-24 10:04:34 +02:00
|
|
|
Bertjan Broeksema \<b.broeksema@kdemail.net\><br>
|
|
|
|
Chris Schlaeger \<cs@kde.org\><br>
|
|
|
|
Dan Meltzer \<hydrogen@notyetimplemented.com\><br>
|
|
|
|
Fredrik Höglund \<fredrik@kde.org\><br>
|
|
|
|
Ivan Cukic \<ivan.cukic+kde@gmail.com\><br>
|
2008-08-26 17:14:59 +02:00
|
|
|
Jani Huhtanen \<jani.huhtanen@tut.fi\><br>
|
2008-04-24 10:04:34 +02:00
|
|
|
John Tapsell \<tapsell@kde.org\><br>
|
|
|
|
Jon de Andres Frias \<jondeandres@gmail.com\><br>
|
|
|
|
Kevin Ottens \<ervin@kde.org\><br>
|
|
|
|
Marco Martin \<notmart@gmail.com\><br>
|
2008-08-26 17:14:59 +02:00
|
|
|
Matias Valdenegro T. \<mvaldenegro@informatica.utem.cl\><br>
|
|
|
|
Matt Broadstone \<mbroadst@gmail.com\><br>
|
2008-04-24 10:04:34 +02:00
|
|
|
Petri Damsten \<damu@iki.fi\><br>
|
2008-08-26 17:14:59 +02:00
|
|
|
Rafael Fernández López \<ereslibre@kde.org\><br>
|
|
|
|
Riccardo Iaconelli \<riccardo@kde.org\><br>
|
2008-04-24 10:04:34 +02:00
|
|
|
Richard J. Moore \<rich@kde.org\><br>
|
|
|
|
Robert Knight \<robertknight@gmail.com\><br>
|
|
|
|
Sebastian Kuegler \<sebas@kde.org\><br>
|
2008-08-26 17:14:59 +02:00
|
|
|
Siraj Razick \<siraj@kde.net\><br>
|
2008-04-24 10:04:34 +02:00
|
|
|
Zack Rusin \<zack@kde.org\>
|
2007-07-24 20:30:36 +02:00
|
|
|
|
|
|
|
@maintainers
|
|
|
|
Aaron Seigo \<aseigo@kde.org\>
|
|
|
|
|
|
|
|
@licenses
|
|
|
|
@lgpl
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
// DOXYGEN_SET_PROJECT_NAME = libplasma
|
|
|
|
// DOXYGEN_SET_RECURSIVE = YES
|
|
|
|
// vim:ts=4:sw=4:expandtab:filetype=doxygen
|