- parts = The various parts using the KParts framework ( KDevPlugin children )
- parts = The various parts using the KParts framework ( KDevPlugin children )
- languages = \ref language-parts
- languages = \ref language-parts
@ -51,7 +51,7 @@ parts to distinguish, mainly:
This image is not complete there are parts that are not displayed. See below for a more detailed description.
This image is not complete there are parts that are not displayed. See below for a more detailed description.
\subsection core-part The Core Part of KDevelop
\subsection core-part The Core Part of TDevelop
\subsubsection mainwindows Main Window Objects
\subsubsection mainwindows Main Window Objects
@ -72,11 +72,11 @@ access to common window features.
\subsubsection toplevel The TopLevel Object
\subsubsection toplevel The TopLevel Object
There is only one toplevel object of class KDevMainWindow in KDevelop. It can
There is only one toplevel object of class KDevMainWindow in TDevelop. It can
be accessed through the static function TopLevel::getInstance() (see the
be accessed through the static function TopLevel::getInstance() (see the
TopLevel class).
TopLevel class).
\subsection parts-overview KDevelop Parts Overview
\subsection parts-overview TDevelop Parts Overview
All parts reside in dedicated subdirectories acording to their function. They can
All parts reside in dedicated subdirectories acording to their function. They can
be viewed according to their functionalities as follows.
be viewed according to their functionalities as follows.
@ -85,7 +85,7 @@ be viewed according to their functionalities as follows.
These parts implement a KDevLanguageSupport Class interface.
These parts implement a KDevLanguageSupport Class interface.
To add support for a new programming language check the \ref howToAddProgrammingLanguages page (doc/api/HowToAddProgrammingLanguages.dox file).
To add support for a new programming language check the \ref howToAddProgrammingLanguages page (doc/api/HowToAddProgrammingLanguages.dox file).
Take a look at \ref LangSupportStatus (doc/api/LangSupportStatus.dox file) to see the current status/features of the programming languages currently supported by KDevelop.
Take a look at \ref LangSupportStatus (doc/api/LangSupportStatus.dox file) to see the current status/features of the programming languages currently supported by TDevelop.
- languages/ada = Support for Ada
- languages/ada = Support for Ada
- (see AdaSupportPart)
- (see AdaSupportPart)
@ -192,7 +192,7 @@ These parts implement a KDevVersionControl Class interface.
\subsubsection editor-parts editor support Specific Parts
\subsubsection editor-parts editor support Specific Parts
These parts implement a KTextEditor Class interface.
These parts implement a KTextEditor Class interface.
Take a look at \ref EditorsSupportStatus (doc/api/EditorsSupportStatus.dox file) to see the current status/features of the editors currently supported by KDevelop.
Take a look at \ref EditorsSupportStatus (doc/api/EditorsSupportStatus.dox file) to see the current status/features of the editors currently supported by TDevelop.
- editors/editor-chooser = Chooses an internal text editor
- editors/editor-chooser = Chooses an internal text editor
- (see EditorChooserPart)
- (see EditorChooserPart)
@ -209,7 +209,7 @@ Take a look at \ref EditorsSupportStatus (doc/api/EditorsSupportStatus.dox file)
\subsubsection global-parts Global Parts
\subsubsection global-parts Global Parts
Some of the parts are considered global - that is, they effect the entire
Some of the parts are considered global - that is, they effect the entire
operation of KDevelop.
operation of TDevelop.
These parts implement a KDevPlugin Class interface.
These parts implement a KDevPlugin Class interface.
/** \page howToAddProgrammingLanguages How to add support for a programming language
/** \page howToAddProgrammingLanguages How to add support for a programming language
\section LSupport List of things to have "complete" support of a given language in KDevelop
\section LSupport List of things to have "complete" support of a given language in TDevelop
- Implement interface KDevLanguageSupport
- Implement interface KDevLanguageSupport
- \ref sectionClassWizard
- \ref sectionClassWizard
@ -30,12 +30,12 @@
- \ref sectionCompilerPlugins
- \ref sectionCompilerPlugins
.
.
List of optional things to support a given language in KDevelop:
List of optional things to support a given language in TDevelop:
- \ref sectionEditor - Syntax highlighter - (add to QEditor if not available elsewhere)
- \ref sectionEditor - Syntax highlighter - (add to QEditor if not available elsewhere)
- \ref sectionBuildTool (make/ant/etc)
- \ref sectionBuildTool (make/ant/etc)
.
.
Take a look at \ref LangSupportStatus (doc/api/LangSupportStatus.dox file) to see the current status/features of the programming languages currently supported by KDevelop.
Take a look at \ref LangSupportStatus (doc/api/LangSupportStatus.dox file) to see the current status/features of the programming languages currently supported by TDevelop.
@ -52,8 +52,8 @@ Implementing methods:
Should be enough for a language support to start working.
Should be enough for a language support to start working.
KDevelop ships with KDevLang project template. It is a simple language support prototype that can be used when developing language support plugins with KDevelop.
TDevelop ships with KDevLang project template. It is a simple language support prototype that can be used when developing language support plugins with TDevelop.
To use it, start a New Project and select: <code>C++->KDevelop->KDevelop Language Support Plugin</code> in the application wizard.
To use it, start a New Project and select: <code>C++->TDevelop->TDevelop Language Support Plugin</code> in the application wizard.
The template is located in <code>languages/cpp/app_templates/kdevlang</code>, you can change it there if you need.
The template is located in <code>languages/cpp/app_templates/kdevlang</code>, you can change it there if you need.
@ -93,7 +93,7 @@ See <code>cpp</code> and <code>java</code> for examples.
In general, class stores can be filled with information without specialized
In general, class stores can be filled with information without specialized
and complex language parsers (take a look at <code>languages/python</code> that have a very simple python parser) but your language support will surely benefit
and complex language parsers (take a look at <code>languages/python</code> that have a very simple python parser) but your language support will surely benefit
from having such. There is a hand-written c/c++ parser (<code>lib/cppparser</code>) in KDevelop that might be used for ObjC or related C-based languages.
from having such. There is a hand-written c/c++ parser (<code>lib/cppparser</code>) in TDevelop that might be used for ObjC or related C-based languages.
Other (not so complex as c++) languages can be parsed by ANTLR based parsers (library is in lib/antlr).
Other (not so complex as c++) languages can be parsed by ANTLR based parsers (library is in lib/antlr).
Consult www.antlr.org for a ANTLR documentation and look at <code>languages/java</code>, <code>languages/ada</code> and <code>languages/pascal</code> for an example of using such parsers.
Consult www.antlr.org for a ANTLR documentation and look at <code>languages/java</code>, <code>languages/ada</code> and <code>languages/pascal</code> for an example of using such parsers.
@ -106,13 +106,13 @@ If you write (or have) a language parser, your language support can have
and methods - their names, names of source files, location in source files,
and methods - their names, names of source files, location in source files,
etc.). Class store libraries can be found at <code>lib/catalog</code> (Catalog) and <code>lib/interfaces</code> (CodeModel).
etc.). Class store libraries can be found at <code>lib/catalog</code> (Catalog) and <code>lib/interfaces</code> (CodeModel).
KDevelop provides class browsers that extract information from a <b>class store</b> and display it in a tree view and toolbar selectors of scopes, classes and methods.
TDevelop provides class browsers that extract information from a <b>class store</b> and display it in a tree view and toolbar selectors of scopes, classes and methods.
\subsubsection sectionMemoryClassStore Memory class store
\subsubsection sectionMemoryClassStore Memory class store
CodeModel is the memory class store. It is very efficient and thus it is recommended for using as a project class store. CodeModel libraries are located in <code>lib/interfaces/codemodel.h</code>. The class browser for a CodeModel based stores is <code>parts/classview</code>.
CodeModel is the memory class store. It is very efficient and thus it is recommended for using as a project class store. CodeModel libraries are located in <code>lib/interfaces/codemodel.h</code>. The class browser for a CodeModel based stores is <code>parts/classview</code>.
\subsubsection sectionPersistantClassStore Persistant class store
\subsubsection sectionPersistantClassStore Persistant class store
Catalog is the persistant class store for KDevelop. Persistant class store can be used as an information storage for code completion but it also can be used as a class store for the project. Take a look at
Catalog is the persistant class store for TDevelop. Persistant class store can be used as an information storage for code completion but it also can be used as a class store for the project. Take a look at
<code>languages/cpp</code> for an example of using catalog. Catalog is stored on disk in the database file (Berkeley db) If you use catalog with the project, your class browser will be <code>parts/classbrowser</code>.
<code>languages/cpp</code> for an example of using catalog. Catalog is stored on disk in the database file (Berkeley db) If you use catalog with the project, your class browser will be <code>parts/classbrowser</code>.
\subsection sectionCodeCompletion Code completion
\subsection sectionCodeCompletion Code completion
@ -136,12 +136,12 @@ and look at <code>languages/ruby/app_templates/rubyhello</code>, <code>languages
KDevelop has a support for <b>code abbreviations</b> so you can add some predefined abbreviations to your language support. Take <code>languages/cpp/cpptemplates</code> as an example.
TDevelop has a support for <b>code abbreviations</b> so you can add some predefined abbreviations to your language support. Take <code>languages/cpp/cpptemplates</code> as an example.
There is an ability to create compiler plugin for KDevelop. Compiler plugin provides the compiler configuration dialog which implements command line compiler options.
There is an ability to create compiler plugin for TDevelop. Compiler plugin provides the compiler configuration dialog which implements command line compiler options.
Compiler plugins must implement KDevCompilerOptions interface.
Compiler plugins must implement KDevCompilerOptions interface.
@ -192,14 +192,14 @@ See also \ref howToAddPlugins (doc/api/HowToAddPlugins.dox file) for an informat
\section sectionEditor Language Editor
\section sectionEditor Language Editor
To edit source files KDevelop uses any editor that supports the KTextEditor
To edit source files TDevelop uses any editor that supports the KTextEditor
interface. The current supported editors and their features are listed
interface. The current supported editors and their features are listed
in the \ref EditorsSupportStatus (doc/api/EditorsSupportStatus.dox file) page.
in the \ref EditorsSupportStatus (doc/api/EditorsSupportStatus.dox file) page.
In case none of the editors does support advanced editing of sources
In case none of the editors does support advanced editing of sources
written in your language (like code folding, syntax highlighting, line
written in your language (like code folding, syntax highlighting, line
indentation) you can improve QEditor included in KDevelop (<code>editors/qeditor</code>).
indentation) you can improve QEditor included in TDevelop (<code>editors/qeditor</code>).
By creating QEditorIndenter and QSourceColorizer descendants you can provide the support for an automatic indentation and syntax highlighting that will be available for sure in KDevelop.
By creating QEditorIndenter and QSourceColorizer descendants you can provide the support for an automatic indentation and syntax highlighting that will be available for sure in TDevelop.
@ -209,7 +209,7 @@ By creating QEditorIndenter and QSourceColorizer descendants you can provide the
\section sectionBuildTool Build Tool
\section sectionBuildTool Build Tool
The language support is important, but it is unusable without a <b>build tool</b>
The language support is important, but it is unusable without a <b>build tool</b>
that can manage projects written on this language. KDevelop
that can manage projects written on this language. TDevelop
KDevelop is an easy to use IDE (Integrated Development Environment) for developing applications under X11.
TDevelop is an easy to use IDE (Integrated Development Environment) for developing applications under X11.
\section intro Introduction
\section intro Introduction
This document is targeted at all those that want to add or improve KDevelop's source code.
This document is targeted at all those that want to add or improve TDevelop's source code.
If you are instead looking for a user manual, just go to the help menu of your KDevelop and select KDevelop handbook.
If you are instead looking for a user manual, just go to the help menu of your TDevelop and select TDevelop handbook.
This documentation contains the KDevelop online class reference for the current
This documentation contains the TDevelop online class reference for the current
development version of KDevelop. Additionally, you
development version of TDevelop. Additionally, you
can subscribe or read the <a href="http://www.kdevelop.org/index.html?filename=mailinglist.html">mailing list</a> for any additions and/or
can subscribe or read the <a href="http://www.kdevelop.org/index.html?filename=mailinglist.html">mailing list</a> for any additions and/or
modifications to the %API.
modifications to the %API.
An on-line, updated every 24H, html version of this documentation can be found at: http://www.kdevelop.org/HEAD/doc/api/html/index.html
An on-line, updated every 24H, html version of this documentation can be found at: http://www.kdevelop.org/HEAD/doc/api/html/index.html
More information about the KDevelop architecture in form of tutorials, HOWTOs,
More information about the TDevelop architecture in form of tutorials, HOWTOs,
and FAQs can be found at
and FAQs can be found at
the <a href="http://www.kdevelop.org">KDevelop website</a>.
the <a href="http://www.kdevelop.org">TDevelop website</a>.
\section status Current Status
\section status Current Status
@ -29,9 +29,9 @@ Here you can see the current \ref requirements and the \ref features.
There is also a \ref LangSupportStatus (doc/api/LangSupportStatus.dox file) page and a \ref EditorsSupportStatus (doc/api/EditorsSupportStatus.dox file) page.
There is also a \ref LangSupportStatus (doc/api/LangSupportStatus.dox file) page and a \ref EditorsSupportStatus (doc/api/EditorsSupportStatus.dox file) page.
\section expand How to expand KDevelop
\section expand How to expand TDevelop
First of all read the \ref architecture (doc/api/Architecture.dox file) then you can find more information on how to expand KDevelop:
First of all read the \ref architecture (doc/api/Architecture.dox file) then you can find more information on how to expand TDevelop:
There are some \ref unmaintained parts in KDevelop. You migth want to "adopt" one. :)\n
There are some \ref unmaintained parts in TDevelop. You migth want to "adopt" one. :)\n
There is also \ref FutureTasks (doc/api/FutureTasks.dox file). Put all ideas for the future KDevelop releases there. It is also a good place to comment on those ideas.
There is also \ref FutureTasks (doc/api/FutureTasks.dox file). Put all ideas for the future TDevelop releases there. It is also a good place to comment on those ideas.
\section misc Misc
\section misc Misc
@ -59,7 +59,7 @@ There is also \ref FutureTasks (doc/api/FutureTasks.dox file). Put all ideas for
- \ref FAQ
- \ref FAQ
- \ref deprecated
- \ref deprecated
\section misc_libs Miscellaneous libraries included in KDevelop
\section misc_libs Miscellaneous libraries included in TDevelop
- \ref PropEditor
- \ref PropEditor
\section howTobuildAPIlocalcopy How to build a local copy of this documentation
\section howTobuildAPIlocalcopy How to build a local copy of this documentation
\mainpage The KDevelop Platform %API %Documentation
\mainpage The TDevelop Platform %API %Documentation
KDevelop Platform is set of libraries and tools that are used to build IDEs (Integrated Development Environments),
TDevelop Platform is set of libraries and tools that are used to build IDEs (Integrated Development Environments),
applications similar to IDEs (web development enviroment, text editors for programmers and designers, etc.)
applications similar to IDEs (web development enviroment, text editors for programmers and designers, etc.)
and/or IDE plugins for all possible purposes.
and/or IDE plugins for all possible purposes.
@ -18,10 +18,10 @@ Platform provides:
\section intro Introduction
\section intro Introduction
This document is targeted at all those that want to build their own IDE or improve KDevelop's source code.
This document is targeted at all those that want to build their own IDE or improve TDevelop's source code.
If you are instead looking for a user manual, just go to the help menu of your KDevelop and select KDevelop handbook.
If you are instead looking for a user manual, just go to the help menu of your TDevelop and select TDevelop handbook.
This documentation contains the KDevelop Platform online class reference for the current
This documentation contains the TDevelop Platform online class reference for the current
development version of KDevelop. Additionally, you
development version of TDevelop. Additionally, you
can subscribe or read the <a href="http://www.kdevelop.org/index.html?filename=mailinglist.html">mailing list</a> for any additions and/or
can subscribe or read the <a href="http://www.kdevelop.org/index.html?filename=mailinglist.html">mailing list</a> for any additions and/or
modifications to the Platform %API.
modifications to the Platform %API.
@ -29,12 +29,12 @@ An on-line, updated every 24H, html version of this documentation can be found a
You can also download a local browseable copy form http://www.kdevelop.org/HEAD/doc/platform/kdevplatformdoc.tar.bz2 . It gets updated every single day too.
You can also download a local browseable copy form http://www.kdevelop.org/HEAD/doc/platform/kdevplatformdoc.tar.bz2 . It gets updated every single day too.
More information about the KDevelop Platform architecture in form of tutorials, Wikis, HOWTOs,
More information about the TDevelop Platform architecture in form of tutorials, Wikis, HOWTOs,
and FAQs can be found at
and FAQs can be found at
the <a href="http://www.kdevelop.org">KDevelop website</a>.
the <a href="http://www.kdevelop.org">TDevelop website</a>.
Quick overviews of the architecture can also be found in the issues of <a href="http://www.kdevelop.org/doc/tehcnotes">
Quick overviews of the architecture can also be found in the issues of <a href="http://www.kdevelop.org/doc/tehcnotes">
KDevelop Technotes</a>.
TDevelop Technotes</a>.
\section platformapi Platform Libraries API
\section platformapi Platform Libraries API
@ -46,7 +46,7 @@ KDevelop Technotes</a>.
<i>Extension interfaces used by TDevelop plugin architecture.</i>
<i>Extension interfaces used by TDevelop plugin architecture.</i>
@ -19,7 +19,7 @@ with the one from <a href="ftp://fara.cs.uni-potsdam.de/incoming/CppCodeGenerato
\bug Language parser can sometimes treat correct lines as errors. Please send sample code to maintainer if you have this problem.
\bug Language parser can sometimes treat correct lines as errors. Please send sample code to maintainer if you have this problem.
\faq <b>Why KDevelop does not provide GNU pascal compiler plugin?</b> If you need GNU pascal compiler plugin, please write about it to maintainer and prepare to help testing it.
\faq <b>Why TDevelop does not provide GNU pascal compiler plugin?</b> If you need GNU pascal compiler plugin, please write about it to maintainer and prepare to help testing it.
\faq <b>Compiler plugin lacks option X.</b> Write about it to maintaner or send a patch. Adding compiler options is easy task. Just look at languages/pascal/compiler directory.
\faq <b>Compiler plugin lacks option X.</b> Write about it to maintaner or send a patch. Adding compiler options is easy task. Just look at languages/pascal/compiler directory.
KDevelop version >= 3.1 comes with a customized version (fork ;)) of %Qt Designer. It is called KDevelop Designer (KDevDesigner, kdevdesigner from the command line). KDevDesigner has some important differences:
TDevelop version >= 3.1 comes with a customized version (fork ;)) of %Qt Designer. It is called TDevelop Designer (KDevDesigner, kdevdesigner from the command line). KDevDesigner has some important differences:
- KDevDesigner provides a read/write KPart which can be embedded into any application which wants to edit .ui files. TDevelop IDE embeds KDevDesigner this way.
- KDevDesigner provides a read/write KPart which can be embedded into any application which wants to edit .ui files. TDevelop IDE embeds KDevDesigner this way.
- KDevDesigner uses %KDE icons and dialogs and thus provides better integration with a system.
- KDevDesigner uses %KDE icons and dialogs and thus provides better integration with a system.
- Again, be careful because doxygen uses the deprecated QList class while KDevelop
- Again, be careful because doxygen uses the deprecated QList class while TDevelop
uses the new QPtrList so you should not merge certain lines of code!!!
uses the new QPtrList so you should not merge certain lines of code!!!
.
.
<br>
<br>
.
.
-# Copy over the file <code>doxygen-location/src/lang_cfg.h</code> to the <code>tdevelop-location/parts/doxygen/</code> directory.
-# Copy over the file <code>doxygen-location/src/lang_cfg.h</code> to the <code>tdevelop-location/parts/doxygen/</code> directory.
-# Add the new i18n strings to messages.cpp.
-# Add the new i18n strings to messages.cpp.
To do so, run KDevelop and go to Project-> Project Options... -> Doxygen.
To do so, run TDevelop and go to Project-> Project Options... -> Doxygen.
Take a look at KDevelop' console output, it will warn you about the missing
Take a look at TDevelop' console output, it will warn you about the missing
messages. Add them to messages.cpp file.
messages. Add them to messages.cpp file.
-# Update version.cpp
-# Update version.cpp
-# Add anything else you needed to do, to get it to compile, to the parts/doxygen/README.dox file.
-# Add anything else you needed to do, to get it to compile, to the parts/doxygen/README.dox file.
@ -53,10 +53,10 @@ Everything else we can customize for our look & feel.
\maintainer <a href="mailto:a.lucas at tu-bs dot de">Amilcar Lucas</a>
\maintainer <a href="mailto:a.lucas at tu-bs dot de">Amilcar Lucas</a>
\feature Call Doxygen executable from a KDevelop menu.
\feature Call Doxygen executable from a TDevelop menu.
\feature Configure Doxygen inside KDevelop.
\feature Configure Doxygen inside TDevelop.
\feature Create a configuration file with correct ProjectName, Author, Version and
\feature Create a configuration file with correct ProjectName, Author, Version and
location of source files whenever a new KDevelop project is created.
location of source files whenever a new TDevelop project is created.
\feature Automaticaly generate a Doxygen search database whenever the "search engine" option in Doxygen configuration is activated and you "Run Doxygen".
\feature Automaticaly generate a Doxygen search database whenever the "search engine" option in Doxygen configuration is activated and you "Run Doxygen".