Warning, /frameworks/plasma-framework/src/plasma/Mainpage.dox is written in an unsupported language. File is not indexed.

0001 /** @page libplasma Plasma framework
0002 
0003 Plasma framework is the core of the Plasma desktop.  It provides a framework of graphical
0004 widgets (Plasma::Applet) that can be organised into managed groupings
0005 (Plasma::Containment), such as a desktop or panel.  It also provides a data
0006 abstraction layer (Plasma::DataEngine) and a corresponding service interaction
0007 layer (Plasma::Service) to make implementing widgets easier.
0008 
0009 The <a href="https://doc.qt.io/qt-5/qtquick-index.html">Qt Quick
0010 framework</a> and set of <a href="https://api.kde.org/frameworks">KDE Frameworks</a>
0011 provide the underpinning for Plasma framework.  As a result, it should
0012 work anywhere that Qt does.
0013 
0014 Although Plasma framework is developed for the use of the Plasma desktop shell,
0015 currently known as Plasma 5, it is general enough to be useful in other applications.
0016 <a href="https://amarok.kde.org">Amarok</a> is using it for its context
0017 view, allowing for pluggable widgets to display and interact with the music
0018 collection, such as "current track" and "tag cloud" widgets.
0019 
0020 Plasma framework itself only provides a framework, and the widgets, containments,
0021 data engines are all implemented as plugins (using C++, for widgets QML is prefferd).
0022 However, the framework is designed to make implementing these plugins as easy
0023 as possible, including providing scripting support.
0024 
0025 Other important classes are:
0026 
0027  - Plasma::Corona: the canvas that containments are placed on
0028  - Plasma::View: a QWidget for displaying a containment
0029  - Plasma::Theme: provides theming support
0030  - Plasma::Package: provides descriptions of packages containing plugins
0031    for libplasma
0032  - Plasma::Svg and Plasma::FrameSvg: provides themable, cached SVGs
0033  - Plasma::AppletScript, Plasma::DataEngineScript and
0034    Plasma::ScriptEngine: provide scripting interfaces for plugins
0035 
0036 
0037 The
0038 <a href="https://techbase.kde.org/Development/Tutorials/Plasma5">Plasma tutorials</a>
0039 on TechBase provide a good introduction to writing plugins, such as widgets and
0040 data engines, for libplasma-based applications.
0041 
0042 @authors
0043 Aaron Seigo \<aseigo@kde.org\><br>
0044 Alessandro Diaferia \<alediaferia@gmail.com\><br>
0045 Alex Merry \<kde@randomguy3.me.uk\><br>
0046 Alexander Wiedenbruch \<wirr01@gmail.com\><br>
0047 Alexis Ménard \<darktears31@gmail.com\><br>
0048 André Duffeck \<andre@duffeck.de\><br>
0049 Andrew Lake \<jamboarder@yahoo.com\><br>
0050 Artur de Souza \<asouza@kde.org\><br>
0051 Bertjan Broeksema \<b.broeksema@kdemail.net\><br>
0052 Chani Armitage \<chanika@gmail.com\><br>
0053 Davide Bettio \<davide.bettio@kdemail.net\><br>
0054 Dan Meltzer \<hydrogen@notyetimplemented.com\><br>
0055 Fredrik Höglund \<fredrik@kde.org\><br>
0056 Ivan Cukic \<ivan.cukic+kde@gmail.com\><br>
0057 John Tapsell \<tapsell@kde.org\><br>
0058 Jordi Polo \<mumismo@gmail.com\><br>
0059 Kevin Ottens \<ervin@kde.org\><br>
0060 Montel Laurent \<montel@kde.org\><br>
0061 Marco Martin \<notmart@gmail.com\><br>
0062 Matt Broadstone \<mbroadst@gmail.com\><br>
0063 Petri Damsten \<damu@iki.fi\><br>
0064 Rafael Fernández López \<ereslibre@kde.org\><br>
0065 Riccardo Iaconelli  \<riccardo@kde.org\><br>
0066 Richard J. Moore \<rich@kde.org\><br>
0067 Rob Scheepmaker \<r.scheepmaker@student.utwente.nl\><br>
0068 Robert Knight \<robertknight@gmail.com\><br>
0069 Sebastian Kuegler \<sebas@kde.org\><br>
0070 Siraj Razick \<siraj@kde.net\><br>
0071 Zack Rusin \<zack@kde.org\>
0072 
0073 @maintainers
0074 Marco Martin \<notmart@gmail.com\>
0075 
0076 @licenses
0077 @lgpl
0078 
0079 */
0080 
0081 // DOXYGEN_SET_PROJECT_NAME = Plasma
0082 // DOXYGEN_SET_RECURSIVE = YES
0083 // DOXYGEN_EXCLUDE_PATTERNS = *_p.h */private/* */tests/*
0084 // vim:ts=4:sw=4:expandtab:filetype=doxygen