World Library  
Flag as Inappropriate
Email this Article


Article Id: WHEBN0000445627
Reproduction Date:

Title: KParts  
Author: World Heritage Encyclopedia
Language: English
Subject: Konqueror, OpenDoc, Bonobo (component model), XMLGUI, Krusader, KTorrent, List of XML schemas, KDE Platform, Akademy
Publisher: World Heritage Encyclopedia


KDE Platform is a set of frameworks by KDE that serve as technological foundation for all KDE applications. Ever since KDE’s brand repositioning the Platform is released as separate product in sync with KDE’s Plasma Workspaces as part of the KDE Software Compilation 4. While the Platform is mainly written in C++, it includes bindings for other programming languages.[1][2]


  • 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
  • Services
    • KNewStuff – KDE's "Hot New Stuff" classes
    • Policykit-KDE
  • Games
    • Gluon
    • KGGZ
  • Other
    • ThreadWeaver – library to use multiprocessor systems more effectively
    • Kiosk – allows disabling features within KDE to create a more controlled environment
    • Kross
    • KConfig XT
    • ownCloud[3]

Technologies superseded in KDE Platform 4


Type JavaScript engine
Website JavaScript (ECMAScript)

KJS is KDE's ECMAScript/JavaScript engine that was originally developed for the KDE project's Konqueror web browser by Harri Porten in 2000.

On June 13, 2002, Maciej Stachowiak announced on a mailing list that Apple was releasing JavaScriptCore, a framework for Mac OS X that was based on KJS.[4] Through the WebKit project, JavaScriptCore has since evolved into SquirrelFish Extreme, a JavaScript engine that compiles JavaScript into native machine code.

External links
  • JavaScript (ECMAScript)


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
  • Creating and Using Components (KParts) (from KDE)
  • Writing Plugins For KDE Applications (from KDE)


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.[5][6] Work is underway to build a Solid backend for the Windows port of KDE based on Windows Management Instrumentation.[7]

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
  • Solid home page
  • KDE dot article on Solid


Sonnet is a multilingual spell check program to be included in KDE 4. Sonnet is going to replace kspell2 that was created for KDE 3. The two main goals for Sonnet's development were a simpler API, wider language support and performance. Notable improvements in Sonnet over kspell2 are

  • Automatic language detection, a language can be identified with as little as 20 characters of text. Even multiple languages in the same document can be detected and spell checked correctly
  • Better performance
  • Improvements in spell checking languages like Thai and Japanese
  • Simpler design, kspell2 consisted of seven components and a complicated API. Sonnet is a single component and aims to provide a simpler API
  • The user can select a primary and backup dictionary, an example given was a doctor who frequently uses terms from a medical dictionary. Words that would not appear in a regular dictionary would be corrected by the backup dictionary that contains medical terms.
External links
  • Article on Sonnet


Developer(s) Mirko Boehm
Operating system Linux, other Unix and Unix-like systems
Type multithreaded library
License LGPL

ThreadWeaver is a programming library developed for KDE 4[8] by Mirko Boehm that allows developers to easily take advantage of multicore processors.[8] 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

Hello world example

int main (int argc, char *argv[])
    KAboutData aboutData(
                         // The program name used internally.
                         // The message catalog name
                         // If null, program name is used instead.
                         // A displayable program name string.
                         ki18n("Tutorial 1"),
                         // The program version string.
                         // Short description of what the app does.
                         ki18n("Displays a KMessageBox popup"),
                         // The license this code is released under
                         // 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.
                         // The bug report email address
    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;


External links

Free software portal
  • TechBase, documentation for KDE developers
  • KDE Projects, overview of all projects within
  • KDE quick Git source code browser
  • KDE Bug Tracking System
  • KDE tutorial first program
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Hawaii eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.