Development/Architecture/KDE4/Plasma
Plasma is the name of the new desktop which replaced KDesktop in KDE4. You may think that it is a union of SuperKaramba and KDesktop, but it's more. It's a whole concept of functionality and beauty.
Its implementation is based on the Qt [UNHANDLED MATCHGraphics View Framework] introduced in Qt 4.2.
From a developer point of view there are some classes in libplasma who play central roles.
- Corona: extends QGraphicsScene and provides functionality for adding applets and karamba themes.
- Widget: extends QGraphicsItem and works as simple elements in the desktop. There are some built-in in libplasma as icons or buttons.
- Applet: extends Widget and implements sophisticated functionality as rss display, a clock or system monitoring.
- DataEngine: The common use of a DataEngine is to provide data to an applet for display. This allows a user interface elements to show all sorts of data.