Difference between revisions of "Development/Architecture/KDE3/Library Structure"
(port of http://developer.kde.org/documentation/library/kdeqt/kde3arch/structure.html -- all links adapted to KDE 3.5 (I could not find any KDE 3.0 documentation))
m (fix space.)
|Line 15:||Line 15:|
; [http://api.kde.org/3.5-api/kdelibs-apidocs/khtml/html/index.html khtml]
Revision as of 12:44, 3 January 2007
The following list gives an overview of the library structure.
Libraries by name
- 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.
- 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.
- 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.
Core application skeleton - classes needed by almost every application.
- KApplication - initializes and controls a KDE application.
- KUniqueApplication - makes sure only instance of an application can run simultaneously.
- KAboutData - hold information for the about box.
- KCmdLineArgs - command line argument processing.
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 invokation.
- 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.
- KStringHandler - an extravagant interface for string manipulation.
- KZoneAllocator - efficient memory allocator for large groups of small objects.
- KRandomSequence - pseudo random number generator.
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.
- KURLDrag - a drag object for URLs.
- KColorDrag - a drag object for colors.
- KMultipleDrag - allows to construct drag objects from several others.
- KCompletion - generic auto-completion of strings.
- KURLCompletion - auto-completion of URLs.
- KShellCompletion - auto-completion of executables.
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.
- KColorDialog - a color selection dialog.
- KFontDialog - a font selection dialog.
- KIconDialog - an icon selection dialog.
- KKeyDialog - a dialog for editing keyboard bindings.
- KEditToolBar - a dialog for editing toolbars.
- KTipDialog - a Tip-of-the-day dialog.
- KAboutDialog - an about dialog.
- KLineEditDlg - a simple dialog for entering text.
- KURLRequesterDlg - a simple dialog for entering URLs.
- KMessageBox - a dialog for signaling errors and warnings.
- KPasswordDialog - a dialog for inputting passwords.
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
- KLibrary - represents a dynamically loaded library.
- KLibLoader - shared library loading.
- KLibFactory - object factory in plugins.
- KServiceType - represents a service type.
- KService - represents a service.
- KMimeType - represents a MIME type.
- KServiceTypeProfile - user preferences for MIME type mappings.
- KTrader - querying for services.
Initial Author: Bernd Gehrmann firstname.lastname@example.org