KDE Platform 4

From Wikipedia, the free encyclopedia
  (Redirected from KPart)
Jump to: navigation, search
KDE Platform 4
Original author(s) KDE
Developer(s) KDE
Initial release 11 January 2008;
6 years ago
 (2008-01-11)[1]
Discontinued 4.14 (August 20, 2014; 0 days ago (2014-08-20)) [±][2]
Written in C++[3][4]
Type
License GNU Lesser General Public License (LGPL)
Website example.org

KDE Platform 4 is a collection of libraries and software frameworks by KDE that serve as technological foundation for KDE Software Compilation 4 distributed under the GNU Lesser General Public License (LGPL). KDE Platform 4 is the successor to KDElibs and the predecessors of KDE Frameworks 5. KDE Platform 4 is the only version of KDE Platform, see KDE’s brand repositioning.

Technologies[edit]

  • User Interface
    • Plasma – desktop and panel widget engine
    • KHTMLHTML rendering engine
    • KIO – extensible network-transparent file access
    • KParts – lightweight in-process graphical component framework
    • Sonnet – spell checker
    • XMLGUI – allows defining UI elements such as menus and toolbars via XML files
    • Goya
  • Hardware and Multimedia
    • Phonon – multimedia framework
    • Solid – device integration framework

Technologies superseded in KDE Platform 4[edit]

KParts[edit]

KParts is the component framework for the KDE desktop environment. An individual component is called a KPart. KParts are analogous to Bonobo components in GNOME and ActiveX controls in Microsoft's Component Object Model. Konsole is available as a KPart and is used in applications like Konqueror and Kate.

Example uses of KParts:

External links

Solid[edit]

Solid is a device integration framework for KDE Platform 4, the current release of KDE. It functions on similar principles to KDE's multimedia pillar Phonon; rather than managing hardware on its own, it makes existing solutions accessible through a single API. The current solution uses udev, NetworkManager and BlueZ (the official Linux Bluetooth stack). However, any and all parts can be replaced without breaking the application, making applications using Solid extremely flexible and portable.[6][7] Work is underway to build a Solid backend for the Windows port of KDE based on Windows Management Instrumentation.[8]

Solid is broken up into many hardware “domains” which operate independently. Domains may be added as needed. For instance, one domain may be Bluetooth, and another may be power management. Solid is used extensively within KDE 4 and its popular applications, making them more aware of hardware events and easier to develop.

External links

ThreadWeaver[edit]

Main article: ThreadWeaver
ThreadWeaver
Developer(s) Mirko Boehm
Operating system Linux, other Unix and Unix-like systems
Type multithreaded library
License LGPL
Website http://api.kde.org/4.x-api/kdelibs-apidocs/threadweaver/html/index.html

ThreadWeaver is a programming library developed for KDE 4[9] by Mirko Boehm that allows developers to easily take advantage of multicore processors.[9] In Threadweaver the workload is divided into individual jobs, then relationship between jobs (what order they should be completed or which has a higher priority) from that Threadweaver will work out the most efficient way to execute them. Krita has implemented visual filter previews using ThreadWeaver to prevent GUI lockups.

Further reading
  • Til Adam and Mirko Boehm (2009). "When the bazaar sets out to build cathedrals (§ ThreadWeaver)". In Diomidis Spinellis and Georgios Gousios. Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design. O'Reilly Media, Inc. pp. 303–14. ISBN 0-596-51798-X. ISBN 9780596517984. 

Hello world example[edit]

#include <KApplication>
#include <KAboutData>
#include <KCmdLineArgs>
#include <KMessageBox>
#include <KLocale>
 
int main (int argc, char *argv[])
{
    KAboutData aboutData(
                         // The program name used internally.
                         "tutorial1",
                         // The message catalog name
                         // If null, program name is used instead.
                         0,
                         // A displayable program name string.
                         ki18n("Tutorial 1"),
                         // The program version string.
                         "1.0",
                         // Short description of what the app does.
                         ki18n("Displays a KMessageBox popup"),
                         // The license this code is released under
                         KAboutData::License_GPL,
                         // Copyright Statement
                         ki18n("Copyright (c) 2007"),
                         // Optional text shown in the About box.
                         // Can contain any information desired.
                         ki18n("Some text..."),
                         // The program homepage string.
                         "http://example.com/",
                         // The bug report email address
                         "submit@bugs.kde.org");
 
    KCmdLineArgs::init( argc, argv, &aboutData );
    KApplication app;
    KGuiItem yesButton( i18n( "Hello" ), QString(),
                        i18n( "This is a tooltip" ),
                        i18n( "This is a WhatsThis help text." ) );
    KMessageBox::questionYesNo( 0, i18n( "Hello World" ),
                                i18n( "Hello" ), yesButton );
    return 0;
}

References[edit]

External links[edit]