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