Library Structure (KDE3 Architecture)

From Trinity Desktop Project Wiki
Jump to navigation Jump to search
Legacy KDE.png
This page contains information relevant to KDE 3.x or older versions.
This page contains archived content from various sources pertaining to KDE 3.x (maybe outdated and/or partly useful) which should probably be updated. Please regard information in this page with extra caution.

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.


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

  • KConfig - provides access to KDE's configuration database.
  • KSimpleConfig - access to simple, non-hierarchical configuration files.
  • KDesktopFile - access to .desktop files.
  • KGlobalSettings - convenient access to not application-specific settings.


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


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.


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 bernd@kdevelop.org