Development/Architecture/KDE3/Library Structure

    From KDE TechBase
    Revision as of 19:11, 11 July 2012 by AnneW (talk | contribs) (Marked this version for translation)


    The following list gives an overview of the library structure.

    Libraries by name

    kdecore
    The kdecore library is the basic application framework for every KDE based program. It provides access to the configuration system, command line handling, icon loading and manipulation, some special kinds inter-process communication, file handling and various other utilities.
    kdeui
    The kdeui library provides many widgets and standard dialogs which Qt doesn't have or which have more features than their Qt counterparts. It also includes several widgets which are subclassed from Qt ones and are better integrated with the KDE desktop by respecting user preferences.
    kio
    The kio library contains facilities for asynchronous, network transparent I/O and access to mimetype handling. It also provides the KDE file dialog and its helper classes.
    kjs
    The kjs library provides an implementation of JavaScript.
    khtml
    The khtml library contains the KHTML part, a HTML browsing widget, DOM API and parser, including interfaces to Java and JavaScript.

    Grouped Classes

    Core application skeleton - classes needed by almost every application.* KApplication - initializes and controls a KDE application.


    Configuration settings - access to KDE's hierarchical configuration database, global settings and application resources.* KConfig - provides access to KDE's configuration database.


    File and URL handling - decoding of URLs, temporary files etc.

    • KURL - represents and parses URLs.* KTempFile - creates unique files for temporary data
    • KSaveFile - allows to save files atomically.


    Interprocess communication - DCOP helper classes and subprocess invocation.* KProcess - invokes and controls child processes.

    • KShellProcess - invokes child processes via a shell.* PtyProcess - communication with a child process through a pseudo terminal.
    • KIPC - simple IPC mechanism using X11 ClientMessages.* DCOPClient - DCOP messaging.
    • KDCOPPropertyProxy - a proxy class publishing Qt properties through DCOP.* KDCOPActionProxy - a proxy class publishing a DCOP interface for actions.


    Utility classes - memory management, regular expressions, string manipulation, random numbers * KRegExp - POSIX regular expression maching.


    Keyboard accelerators - classes helping to establish consistent key bindings throughout the desktop.

    • KAccel - collection of keyboard shortcuts.* KStdAccel - easy access to the common keyboard shortcut keys.
    • KGlobalAccel - collection of system-wide keyboard shortcuts.


    Image processing - icon loading and manipulating.

    • KIconLoader - loads icons in a theme-conforming way.* KIconTheme - helper classes for KIconLoader.
    • KPixmap - a pixmap class with extended dithering capabilities.* KPixmapEffect - pixmap effects like gradients and patterns.
    • KPixmapIO - fast QImage to QPixmap conversion.


    Drag and Drop - drag objects for colors and URLs.


    Auto-Completion


    Widgets - widget classes for list views, rules, color selction etc.* KListView - a variant of QListView that honors KDE's system-wide settings.

    • KListBox - a variant of QListBox that honors KDE's system-wide settings.* KIconView - a variant of QIconView that honors KDE's system-wide settings.
    • KLineEdit - a variant of QLineEdit with completion support.* KComboBox - a variant of QComboBox with completion support.
    • KFontCombo - a combo box for selecting fonts.* KColorCombo - a combo box for selecting colors.
    • KColorButton - a button for selecting colors.* KURLCombo - a combo box for selecting file names and URLs.
    • KURLRequester - a line edit for selecting file names and URLs.* KRuler - a ruler widget.
    • KAnimWidget - animations.* KNumInput - a widget for inputting numbers.
    • KPasswordEdit - a widget for inputting passwords.

    Dialogs - full-featured dialogs for file, color and font selection.* KFileDialog - a file selection dialog.


    Actions and XML GUI

    • KAction - abstraction for an action that can be plugged into menu bars and tool bars.
    • KActionCollection - a set of actions.* KXMLGUIClient - a GUI fragment consisting of an action collection and a DOM tree representing their location in the GUI.
    • KPartManager - manages the activation of XMLGUI clients.


    Plugins and Components


    Initial Author: Bernd Gehrmann [email protected]