KDevelop API Documentation

KDevelop 3 Architecture

KDevelop uses a plugin based architecture. This will be explained in more detail in the next sections. To add a new plugin check the How to extend KDevelop via plugins page.

Development Team cooperation model

KDevelop is the result of the work of many people. To help syncronize the effords and to automate some tasks, the team uses many tools:

They get interconnected like this:

Development.png

Source Overview

Main Source Divisions

The KDevelop 3 source is divided into several parts which correspond to subdirectories in the KDevelop project directory. There are several main parts to distinguish, mainly:

Architecture.png

This image is not complete there are parts that are not displayed. See below for a more detailed description.

The Core Part of KDevelop

Main Window Objects

There are two types of possible main window objects:

Both main window classes inherit from the KDevMainWindow class which provides access to common window features.

The TopLevel Object

There is only one toplevel object of class KDevMainWindow in KDevelop. It can be accessed through the static function TopLevel::getInstance() (see the TopLevel class).

KDevelop Parts Overview

All parts reside in dedicated subdirectories acording to their function. They can be viewed according to their functionalities as follows.

Programming Language Support Parts

These parts implement a KDevLanguageSupport Class interface. To add support for a new programming language check the How to add support for a programming language page (doc/api/HowToAddProgrammingLanguages.dox file). Take a look at Programming Languages Support Status (doc/api/LangSupportStatus.dox file) to see the current status/features of the programming languages currently supported by KDevelop.

Build tools Parts

These parts implement a KDevProject Class interface.

VCS (Version Control System) Parts

These parts implement a KDevVersionControl Class interface.

editor support Specific Parts

These parts implement a KTextEditor Class interface. Take a look at Editors Support Status (doc/api/EditorsSupportStatus.dox file) to see the current status/features of the editors currently supported by KDevelop.

Global Parts

Some of the parts are considered global - that is, they effect the entire operation of KDevelop.

These parts implement a KDevPlugin Class interface.

Project Specific Parts

These parts implement a KDevPlugin Class interface.

KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 23 00:31:54 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003