|
|
|
@ -46,8 +46,8 @@ the &tdevelop; IDE</para>
|
|
|
|
|
</abstract>
|
|
|
|
|
|
|
|
|
|
<keywordset>
|
|
|
|
|
<keyword>KDE</keyword>
|
|
|
|
|
<keyword>KDevelop</keyword>
|
|
|
|
|
<keyword>TDE</keyword>
|
|
|
|
|
<keyword>TDevelop</keyword>
|
|
|
|
|
<keyword>IDE</keyword>
|
|
|
|
|
<keyword>development</keyword>
|
|
|
|
|
<keyword>programming</keyword>
|
|
|
|
@ -60,9 +60,9 @@ the &tdevelop; IDE</para>
|
|
|
|
|
<para>
|
|
|
|
|
As Unix Systems are becoming more and more popular to even beginners working with computer machines
|
|
|
|
|
due to its advantages in regards of stability and functionality, most are somehow disappointed, because
|
|
|
|
|
those applications don't have a consistent look and each one behaves different from another. With KDE,
|
|
|
|
|
those applications don't have a consistent look and each one behaves different from another. With TDE,
|
|
|
|
|
developers have an almost perfect way to create first-class applications for Unix desktop systems to get
|
|
|
|
|
a wider user community by the mere quality their applications have to offer. Therefore, KDE becomes more
|
|
|
|
|
a wider user community by the mere quality their applications have to offer. Therefore, TDE becomes more
|
|
|
|
|
and more popular as a base for programming design, and developers want to take advantage of the
|
|
|
|
|
possibilities that the system has to offer.
|
|
|
|
|
</para>
|
|
|
|
@ -74,8 +74,8 @@ For making the best use of this programming handbook, we assume that you already
|
|
|
|
|
C++ programming language; if not, you should make yourself familiar with that first. Information about
|
|
|
|
|
C++ is available through various sources either in printed form at your local bookstore or by tutorials
|
|
|
|
|
found on the Internet. Knowledge about the design of Graphical User Interfaces is not required, as this
|
|
|
|
|
handbook tries to cover the application design for KDE programs, which also includes an introduction into
|
|
|
|
|
the Qt toolkit as well as the KDE libraries and the design of User Interfaces. Also, you should have made
|
|
|
|
|
handbook tries to cover the application design for TDE programs, which also includes an introduction into
|
|
|
|
|
the Qt toolkit as well as the TDE libraries and the design of User Interfaces. Also, you should have made
|
|
|
|
|
yourself comfortable with &tdevelop; by reading The User Manual to &tdevelop;, which contains a descriptive
|
|
|
|
|
review of the functionality provided by the IDE.
|
|
|
|
|
</para>
|
|
|
|
@ -84,7 +84,7 @@ review of the functionality provided by the IDE.
|
|
|
|
|
<sect1 id="c1s2">
|
|
|
|
|
<title>About this Handbook</title>
|
|
|
|
|
<para>
|
|
|
|
|
This handbook has been written to give developers an introduction into KDE application development by
|
|
|
|
|
This handbook has been written to give developers an introduction into TDE application development by
|
|
|
|
|
using the KDevelop Integrated Development Environment.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
@ -104,7 +104,7 @@ online-manuals.
|
|
|
|
|
<sect2 id="c1s2s1">
|
|
|
|
|
<title>In the next chapter</title>
|
|
|
|
|
<para>
|
|
|
|
|
We'll take a look at the Qt and KDE libraries, showing basic concepts and why things are the way they are.
|
|
|
|
|
We'll take a look at the Qt and TDE libraries, showing basic concepts and why things are the way they are.
|
|
|
|
|
Also, we will discuss how to create the tutorial applications provided with the Qt toolkit by using
|
|
|
|
|
tdevelop;, so beginners can already see first results with a few steps, and thereby will learn how to make
|
|
|
|
|
use of some of &tdevelop;'s best features.
|
|
|
|
@ -132,17 +132,17 @@ You will learn how to:
|
|
|
|
|
<sect1 id="c1s3">
|
|
|
|
|
<title>Additional Information</title>
|
|
|
|
|
<para>
|
|
|
|
|
Additional information about Qt/KDE programming is available by various sources:
|
|
|
|
|
Additional information about Qt/TDE programming is available by various sources:
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem><para>Programming with Qt by Matthias Kalle Dalheimer</para></listitem>
|
|
|
|
|
<listitem><para><ulink url="www.kdevelop.org">The User Manual to KDevelop, provided with the TDevelop IDE</ulink></para></listitem>
|
|
|
|
|
<listitem><para><ulink url="doc.trolltech.com">The Online Reference to the Qt library</ulink></para></listitem>
|
|
|
|
|
<listitem><para><ulink url="developer.kde.org">The KDE Developer web site</ulink></para></listitem>
|
|
|
|
|
<listitem><para><ulink url="developer.kde.org">The TDE Developer web site</ulink></para></listitem>
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
Additionally, you should look for help by subscribing to the various mailing lists, whose addresses
|
|
|
|
|
are available on the mentioned web sites, and on the Usenet newsgroups dedicated to users of KDE and
|
|
|
|
|
are available on the mentioned web sites, and on the Usenet newsgroups dedicated to users of TDE and
|
|
|
|
|
Unix Systems as well as about the C and C++ programming language.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
@ -159,7 +159,7 @@ functionality of the development environment.
|
|
|
|
|
</chapter>
|
|
|
|
|
|
|
|
|
|
<chapter id="chapter2">
|
|
|
|
|
<title>The KDE and Qt Libraries</title>
|
|
|
|
|
<title>The TDE and Qt Libraries</title>
|
|
|
|
|
<para>
|
|
|
|
|
The Norwegian company TrollTech (<ulink url="http://www.trolltech.com">http://www.trolltech.com</ulink>)
|
|
|
|
|
provides a so-called GUI toolkit, named Qt. GUI means "Graphical User Interface", and therefore, Qt-based
|
|
|
|
@ -171,25 +171,20 @@ application design very easy. Additionally, the Qt toolkit is also available for
|
|
|
|
|
which allows developers to provide their applications for both platforms.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
The KDE Team (<ulink url="http://www.kde.org">http://www.kde.org</ulink>) joined together with the goal
|
|
|
|
|
to make using Unix Systems more friendly, and decided to use the Qt toolkit for the development of a window
|
|
|
|
|
manager on X-Windows, plus a variety of tools included with the KDE packages. The K Desktop Environment
|
|
|
|
|
therefore contains the window manager kwm, the file manager kfm and the launch panel kpanel as the main
|
|
|
|
|
components plus a variety of first-class utilities and applications. After KDE was out, a lot of developers
|
|
|
|
|
turned their eyes towards the new environment and what it has to offer them. The KDE libraries are providing
|
|
|
|
|
essential methods and classes that make all applications designed with them look similar and consistent,
|
|
|
|
|
so the user has the great advantage that he only has to get accustomed with an application's specific
|
|
|
|
|
usage, not with handling dialogs or buttons. Also, KDE programs integrate themselves into the desktop and
|
|
|
|
|
are able to interact with the file manager via drag'n drop, offer session management and many more, if all
|
|
|
|
|
features offered by the KDE libraries are used. Both, the Qt toolkit and the KDE libraries, are implemented
|
|
|
|
|
in the C++ programming language; therefore applications that make use of these libraries are also mostly
|
|
|
|
|
written in C++. In the following chapter, we'll make a short trip through the libraries to see what already
|
|
|
|
|
The TDE libraries, which rely on the Qt toolkit, provide essential methods and classes that make all TDE
|
|
|
|
|
applications designed with them look similar and consistent, so the user has the great advantage that he
|
|
|
|
|
only has to get accustomed with an application's specific usage, not with handling dialogs or buttons.
|
|
|
|
|
Also, TDE programs integrate themselves into the desktop and are able to interact with the file manager
|
|
|
|
|
via drag'n drop, offer session management and many more, if all features offered by the TDE libraries are used.
|
|
|
|
|
Both, the Qt toolkit and the TDE libraries, are implemented in the C++ programming language; therefore
|
|
|
|
|
applications that make use of these libraries are also mostly written in C++. In the following chapter,
|
|
|
|
|
we'll make a short trip through the libraries to see what already
|
|
|
|
|
is provided and how Qt and TDE applications are created in general.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
Both, the Qt toolkit and the KDE libraries, are implemented in the C++ programming language;
|
|
|
|
|
Both, the Qt toolkit and the TDE libraries, are implemented in the C++ programming language;
|
|
|
|
|
therefore applications that make use of these libraries are also mostly written in C++. In the following
|
|
|
|
|
chapter, we'll make a short trip through the libraries to see what already is provided and how Qt and KDE
|
|
|
|
|
chapter, we'll make a short trip through the libraries to see what already is provided and how Qt and TDE
|
|
|
|
|
applications are created in general.
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
@ -206,9 +201,9 @@ applications and are needed for X-Window programming. Additionally, the toolkit
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
Therefore knowing the Qt classes is very essential, even if you only want to program KDE-applications.
|
|
|
|
|
Therefore knowing the Qt classes is very essential, even if you only want to program TDE-applications.
|
|
|
|
|
To have an impression on the basic concept how GUI-applications are constructed and compiled, we'll first
|
|
|
|
|
have a look at a sample Qt-only program; then we'll extend it to a KDE program.
|
|
|
|
|
have a look at a sample Qt-only program; then we'll extend it to a TDE program.
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<sect2 id="c2s1s1">
|
|
|
|
@ -273,7 +268,7 @@ Alternatively, you can use the online documentation from Trolltech's <ulink url=
|
|
|
|
|
For <classname>QApplication</classname>, you will see the constructor and all other methods that this
|
|
|
|
|
class provides. If you follow a link, you will get more information about the usage and meaning of the
|
|
|
|
|
methods, which is very useful when you sometimes can't detect the correct use or want to have an example.
|
|
|
|
|
This also counts for the KDE library documentation, which uses a similar documentation type; therefore
|
|
|
|
|
This also counts for the TDE library documentation, which uses a similar documentation type; therefore
|
|
|
|
|
this is almost all you have to know about using the class-references with the documentation browser.
|
|
|
|
|
</para>
|
|
|
|
|
<sect3 id="c2s1s2s1">
|
|
|
|
@ -332,7 +327,7 @@ user events.
|
|
|
|
|
<note><para>
|
|
|
|
|
For already advanced users: The button has no parent declared in the constructor, therefore it
|
|
|
|
|
is a top-level widget alone and runs in a local event loop which doesn't need to wait for the main
|
|
|
|
|
event loop. See the QWidget class documentation and The KDE Library Reference Guide</para>
|
|
|
|
|
event loop. See the QWidget class documentation and The TDE Library Reference Guide</para>
|
|
|
|
|
</note>
|
|
|
|
|
|
|
|
|
|
</sect3>
|
|
|
|
@ -510,7 +505,7 @@ by the member function which actually is the slot that will be executed on signa
|
|
|
|
|
By using signals and slots, your program's objects can interact with each other easily without explicitly
|
|
|
|
|
depending on the type of the receiver object. You will learn more about using this mechanism for productive
|
|
|
|
|
usage later in this handbook. More information about the Signals/Slot mechanism can also be found in
|
|
|
|
|
<ulink url="developer.kde.org/documentation/library/libraryref.html">The KDE Library Reference Guide</ulink>
|
|
|
|
|
<ulink url="developer.kde.org/documentation/library/libraryref.html">The TDE Library Reference Guide</ulink>
|
|
|
|
|
and the <ulink url="doc.trolltech.com">Qt online reference</ulink>.
|
|
|
|
|
</para>
|
|
|
|
|
</sect3>
|
|
|
|
@ -518,11 +513,11 @@ and the <ulink url="doc.trolltech.com">Qt online reference</ulink>.
|
|
|
|
|
</sect1>
|
|
|
|
|
|
|
|
|
|
<sect1 id="c2s3">
|
|
|
|
|
<title>What KDE provides</title>
|
|
|
|
|
<title>What TDE provides</title>
|
|
|
|
|
<sect2 id="c2s3s1">
|
|
|
|
|
<title>The KDE 3.x libraries</title>
|
|
|
|
|
<title>The TDE libraries</title>
|
|
|
|
|
<para>
|
|
|
|
|
The main KDE libraries you'll be using for creating your own TDE applications are:
|
|
|
|
|
The main TDE libraries you'll be using for creating your own TDE applications are:
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
the tdecore library, containing all classes that are non-visible elements to provide application functionality
|
|
|
|
@ -536,16 +531,16 @@ the tdefile library, containing the file selection dialogs
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
Additionally, for specific solutions KDE offers the following libraries:
|
|
|
|
|
Additionally, for specific solutions TDE offers the following libraries:
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
the tdefx library, containing pixmaps, image effects the TDEStyle extension to QStyle
|
|
|
|
|
</para></listitem>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
the tdehtml library, containing KDE's html component
|
|
|
|
|
the tdehtml library, containing TDE's html component
|
|
|
|
|
</para></listitem>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
the kjs library, containing KDE's Javascript support
|
|
|
|
|
the kjs library, containing TDE's Javascript support
|
|
|
|
|
</para></listitem>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
the tdeio library, containing low level access to network files
|
|
|
|
@ -556,14 +551,14 @@ the tdeparts library, containing support for re-usable embeddable extendable app
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
Next we'll have a look at what is needed to turn out first Qt Application into a KDE one.
|
|
|
|
|
Next we'll have a look at what is needed to turn out first Qt Application into a TDE one.
|
|
|
|
|
</para>
|
|
|
|
|
</sect2>
|
|
|
|
|
<sect2 id="c2s3s2">
|
|
|
|
|
<title>Example KDE Application</title>
|
|
|
|
|
<title>Example TDE Application</title>
|
|
|
|
|
<para>
|
|
|
|
|
In the following, you will see that writing a KDE application is not much more difficult than a
|
|
|
|
|
Qt application. For the use of KDE's features, you just have to use some other classes, and you're almost
|
|
|
|
|
In the following, you will see that writing a TDE application is not much more difficult than a
|
|
|
|
|
Qt application. For the use of TDE's features, you just have to use some other classes, and you're almost
|
|
|
|
|
done. As an example, we'll discuss the changed version of the Qt example from above:
|
|
|
|
|
<programlisting>
|
|
|
|
|
#include <tdeapplication.h>
|
|
|
|
@ -589,7 +584,7 @@ return a.exec();
|
|
|
|
|
You see that first we have changed from <classname>QApplication</classname> to <classname>TDEApplication
|
|
|
|
|
</classname>. Further, we had to change the previously used <methodname>setMainWidget()</methodname> method
|
|
|
|
|
to <methodname>setTopWidget</methodname>, which <classname>TDEApplication</classname> uses to set the main
|
|
|
|
|
widget. That's it! Your first KDE application is ready - you only have to tell the compiler the KDE
|
|
|
|
|
widget. That's it! Your first TDE application is ready - you only have to tell the compiler the TDE
|
|
|
|
|
include path and the linker to link in the tdecore library with -ltdecore.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
@ -602,7 +597,7 @@ mentioned before and see the effects.
|
|
|
|
|
What you should have looked into additionally until now is the reference documentation for Qt,
|
|
|
|
|
especially the <classname>QApplication</classname>, <classname>QWidget</classname> and <classname>QObject
|
|
|
|
|
</classname> class and the tdecore library documentation for the <classname>TDEApplication</classname> class.
|
|
|
|
|
The <ulink url="developer.kde.org/documentation/library/libraryref.html">KDE Library Reference handbook</ulink>
|
|
|
|
|
The <ulink url="developer.kde.org/documentation/library/libraryref.html">TDE Library Reference handbook</ulink>
|
|
|
|
|
also covers a complete description about the invocation of the <classname>QApplication</classname> and
|
|
|
|
|
<classname>TDEApplication</classname> constructors including command-line argument processing.
|
|
|
|
|
</para>
|
|
|
|
@ -622,7 +617,7 @@ all of your projects are first created by the wizard, and then you can start bui
|
|
|
|
|
already provided by the source skeleton. You can choose from several project types according to your project goals:
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
KDE Application Framework: includes source code for a complete frame structre of a standard KDE application
|
|
|
|
|
TDE Application Framework: includes source code for a complete frame structre of a standard TDE application
|
|
|
|
|
</para></listitem>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
QMake Project: Creates an application framework based around Trolltech's qmake configuration system
|
|
|
|
@ -637,7 +632,7 @@ A multitude of other program skeletons
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
In this chapter we'll see how the Application Wizard can be invoked and what has to be done to generate
|
|
|
|
|
a KDE application project. This will also be the initial step of our coverage, where we will create the
|
|
|
|
|
a TDE application project. This will also be the initial step of our coverage, where we will create the
|
|
|
|
|
initial version of a sample project. For all other project types the steps are usualyl the same, but you
|
|
|
|
|
may not have as many options available.
|
|
|
|
|
</para>
|
|
|
|
@ -648,9 +643,9 @@ may not have as many options available.
|
|
|
|
|
<sect2 id="c3s2s1">
|
|
|
|
|
<title>Starting the Application Wizard and the First Page</title>
|
|
|
|
|
<para>
|
|
|
|
|
To start with your KDE application, open &tdevelop;. From the Project menu, selection New Project. The
|
|
|
|
|
To start with your TDE application, open &tdevelop;. From the Project menu, selection New Project. The
|
|
|
|
|
Application Wizard starts, and you'll see the selection tree on the first page containing available project
|
|
|
|
|
types that can be created. Choose the C++ subtree, then KDE, then Application Framework.
|
|
|
|
|
types that can be created. Choose the C++ subtree, then TDE, then Application Framework.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
For our sample project, we are going to create the application KScribble. Enter this as the application
|
|
|
|
@ -835,13 +830,13 @@ used by kscribble.cpp via an #include statement inside of the file.
|
|
|
|
|
<sect1 id="c3s4">
|
|
|
|
|
<title>The source skeleton</title>
|
|
|
|
|
<para>
|
|
|
|
|
To conceptualize how a KDE application works, we'll first have a very close look at the source
|
|
|
|
|
To conceptualize how a TDE application works, we'll first have a very close look at the source
|
|
|
|
|
skeleton already provided by the Application Wizard. As we already saw, we're having a set of source
|
|
|
|
|
and header files that build the initial code for the application and make it ready-to-run. Therefore,
|
|
|
|
|
the easiest way to explain the code is to follow the implementation line by line as it is processed
|
|
|
|
|
during executing the program until it enters the main event loop and is ready to accept user input.
|
|
|
|
|
Then, we'll have a look at the functionality that enables user interaction and how certain things work.
|
|
|
|
|
This is probably the best way to explain the framework and, as it is similar to almost all KDE
|
|
|
|
|
This is probably the best way to explain the framework and, as it is similar to almost all TDE
|
|
|
|
|
applications, will enable you to read source codes from other projects as well; additionally, you will
|
|
|
|
|
know where to change what part of the code to make your applications behave the way they are designed for.
|
|
|
|
|
</para>
|
|
|
|
@ -897,7 +892,7 @@ by selecting the "Global Functions" folder.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
Now, what happens first is the usual creation of a <classname>TDEApplication</classname> object, but we've
|
|
|
|
|
added some KDE methods that set program and author information for this application.
|
|
|
|
|
added some TDE methods that set program and author information for this application.
|
|
|
|
|
</para>
|
|
|
|
|
</sect2>
|
|
|
|
|
<sect2>
|
|
|
|
@ -989,7 +984,7 @@ design would match best to allow any user to work with the application with a mi
|
|
|
|
|
learning how to handle the user interface.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
For some purposes like text editing and displaying HTML files, views are provided by the Qt and KDE
|
|
|
|
|
For some purposes like text editing and displaying HTML files, views are provided by the Qt and TDE
|
|
|
|
|
libraries; we will discuss certain aspects of these high-level widgets in the next section.
|
|
|
|
|
But for most applications new widgets have to be designed and implemented. It is that what makes a
|
|
|
|
|
programmer also a designer and where his abilities on creativity are asked. Nevertheless, you should
|
|
|
|
@ -1016,13 +1011,13 @@ a joy if you know how to exploit it's capabilities- inheritance, information hid
|
|
|
|
|
already existing code.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
When creating a KDE or Qt project, you always have to have a view that inherits QWidget, either by
|
|
|
|
|
When creating a TDE or Qt project, you always have to have a view that inherits QWidget, either by
|
|
|
|
|
direct inheritance or because the library widget you want to use inherits QWidget. Therefore, the
|
|
|
|
|
Application Wizard already constructed a view that is an instance of a class yourappView, which
|
|
|
|
|
inherits QWidget already.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
This chapter therefore describes how to use library widgets for creating views of KDE or
|
|
|
|
|
This chapter therefore describes how to use library widgets for creating views of TDE or
|
|
|
|
|
Qt applications that are generated with &tdevelop;, then we look at the libraries and what kind of
|
|
|
|
|
views are already offered.
|
|
|
|
|
</para>
|
|
|
|
@ -1032,7 +1027,7 @@ views are already offered.
|
|
|
|
|
<para>
|
|
|
|
|
When your application design has been set up, you first should look for already existing code that
|
|
|
|
|
will make your life a lot easier. A part of this search is to look for a widget that can be used as
|
|
|
|
|
a view or at least as a part of it; either directly or by inheritance. The KDE and Qt libraries already
|
|
|
|
|
a view or at least as a part of it; either directly or by inheritance. The TDE and Qt libraries already
|
|
|
|
|
contain a set of widgets that can be used for this purpose. To use them, you have two options:
|
|
|
|
|
<orderedlist>
|
|
|
|
|
<listitem><para>
|
|
|
|
@ -1071,7 +1066,7 @@ Looking at the first page of the Qt online documentation, you will find a link t
|
|
|
|
|
"Widget Screenshots" where you can have a look at how the widgets Qt contains look like.
|
|
|
|
|
These are ready to use and can be combined together to form complex widgets to create application
|
|
|
|
|
views or dialogs. In the following, we'll discuss some of these which are very usable for creating
|
|
|
|
|
application views, but keep in mind that the KDE libraries sometimes contain other widgets for the
|
|
|
|
|
application views, but keep in mind that the TDE libraries sometimes contain other widgets for the
|
|
|
|
|
same purpose; those will be reviewed in the next section.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
@ -1087,7 +1082,7 @@ document's view widget.
|
|
|
|
|
<listitem><para>
|
|
|
|
|
to create a ScrollView yourself, inherit the View widget from <classname>QWidget</classname>
|
|
|
|
|
and add vertical and horizontal <classname>QScrollBars </classname>.
|
|
|
|
|
(This is done by KDE`s TDEHTMLView widget.)
|
|
|
|
|
(This is done by TDE`s TDEHTMLView widget.)
|
|
|
|
|
</para></listitem>
|
|
|
|
|
<listitem><para>
|
|
|
|
|
For text processing, use <classname>QTextEdit</classname>. This class provides a complete
|
|
|
|
@ -1117,9 +1112,9 @@ know how to handle them and only have to concentrate on the displayed data.
|
|
|
|
|
</para>
|
|
|
|
|
</sect2>
|
|
|
|
|
<sect2 id="c4s3s2">
|
|
|
|
|
<title>KDE Views</title>
|
|
|
|
|
<title>TDE Views</title>
|
|
|
|
|
<para>
|
|
|
|
|
The KDE libraries were invented to make designing applications for the K Desktop Environment easier
|
|
|
|
|
The TDE libraries were invented to make designing applications for the K Desktop Environment easier
|
|
|
|
|
and capable of more functionality than what Qt alone is offering. The tdeui library offers:
|
|
|
|
|
<orderedlist>
|
|
|
|
|
<listitem><para>
|
|
|
|
@ -1201,7 +1196,7 @@ toolBar()</methodname> will also provide you with applicable widgets.
|
|
|
|
|
<para>
|
|
|
|
|
A very professional thing you should always add to your application are keyboard accelerators.
|
|
|
|
|
Those are mainly used by experienced users that want to work fast with their applications and
|
|
|
|
|
are willing to learn shortcuts. For this, the KDE libraries provide the class <classname>
|
|
|
|
|
are willing to learn shortcuts. For this, the TDE libraries provide the class <classname>
|
|
|
|
|
TDEAction</classname>, which provides the keyboard accelerator keys and access to global configured
|
|
|
|
|
standard keyboard accelerators.
|
|
|
|
|
</para>
|
|
|
|
@ -1212,7 +1207,7 @@ such as F1 for accessing online-help, Ctrl+N for New File etc.
|
|
|
|
|
<para>
|
|
|
|
|
If your application contains a lot of accelerators, you should make them configurable
|
|
|
|
|
by an Options-menu; either it could be combined with other application configuration in a QWidget
|
|
|
|
|
or stand alone. The KDE library already provides a <classname>KKeyChooser</classname>
|
|
|
|
|
or stand alone. The TDE library already provides a <classname>KKeyChooser</classname>
|
|
|
|
|
for use in tab dialogs, whereas <classname>KKeyDialog</classname> provides a ready-to use
|
|
|
|
|
key-configuration dialog.
|
|
|
|
|
</para>
|
|
|
|
@ -1238,7 +1233,7 @@ A very important part of the development process is to provide help functionalit
|
|
|
|
|
wherever possible. Most developers tend to delay this, but you should remember that a normal user
|
|
|
|
|
isn't necessarily a Unix expert. He may come from the the dark side of computer software usage offering
|
|
|
|
|
all sweets that a user may need to work himself into using an application even without ever touching the
|
|
|
|
|
manuals. Therefore, the KDE and Qt library provide all means usually considered making an application
|
|
|
|
|
manuals. Therefore, the TDE and Qt library provide all means usually considered making an application
|
|
|
|
|
professional in the eyes of the normal user by help functions that are ready to use.
|
|
|
|
|
Within the application, those are:</para>
|
|
|
|
|
<itemizedlist>
|
|
|
|
@ -1252,7 +1247,7 @@ using the standard help key F1. This context based help system is provided auto
|
|
|
|
|
<classname>TDEMainWindow</classname> class, though as the author you must provide the content.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
|
|
|
|
As &tdevelop; also offers all types of help as well as the KDE framework generated by the
|
|
|
|
|
As &tdevelop; also offers all types of help as well as the TDE framework generated by the
|
|
|
|
|
application wizard already contains support for this, this chapter will help you find out where
|
|
|
|
|
and how to add your help functionality. </para>
|
|
|
|
|
<para>
|
|
|
|
@ -1322,7 +1317,7 @@ To add the What's This...? help to one of your widgets, use the static method
|
|
|
|
|
<para>
|
|
|
|
|
Due to the fact that projects often lack a complete set of user documentation,
|
|
|
|
|
all &tdevelop; projects contain a pre-build handbook that can be easily adapted;
|
|
|
|
|
therefore fulfiling another goal of KDE: providing enough online-help to support users that
|
|
|
|
|
therefore fulfiling another goal of TDE: providing enough online-help to support users that
|
|
|
|
|
are not familiar with an application. This chapter therefore introduces you on how to extend
|
|
|
|
|
the provided documentation template and what you have to do to make it available to the user.
|
|
|
|
|
</para>
|
|
|
|
@ -1333,7 +1328,7 @@ the provided documentation template and what you have to do to make it available
|
|
|
|
|
The documentation for your project lies in projectdir/doc/en, or perhaps another directory if English
|
|
|
|
|
isn't your native language. Therein lies a file, index.docbook, in which the documentation is stored.
|
|
|
|
|
The format for editing this file is explained on
|
|
|
|
|
<ulink url="http://i18n.kde.org/doc/markup/">KDE's documentation website</ulink>.
|
|
|
|
|
<ulink url="http://i18n.kde.org/doc/markup/">TDE's documentation website</ulink>.
|
|
|
|
|
</para>
|
|
|
|
|
</sect1>
|
|
|
|
|
<sect1 id="c9s3">
|
|
|
|
@ -1342,7 +1337,7 @@ The format for editing this file is explained on
|
|
|
|
|
Another important part of the documentation is including a descriptive help for your class interfaces.
|
|
|
|
|
This will allow you and other programmers to use your classes by reading the HTML class documentation
|
|
|
|
|
that can be created with KDoc. &tdevelop; supports the use of KDoc completely by creating the
|
|
|
|
|
KDE-library documentation, also your application frameworks are already documented. To work yourself
|
|
|
|
|
TDE-library documentation, also your application frameworks are already documented. To work yourself
|
|
|
|
|
into the provided code, it would be a good start to read the included documentation online.
|
|
|
|
|
The following describes what to do to get the API documentation, where &tdevelop; helps you add it
|
|
|
|
|
and what kind of special tags KDoc provides.
|
|
|
|
@ -1365,7 +1360,7 @@ use of the provided functionality and feel more comfortable.
|
|
|
|
|
</sect1>
|
|
|
|
|
<!--
|
|
|
|
|
<sect1 id="c10s2">
|
|
|
|
|
<title>How KDE support Internationalization</title>
|
|
|
|
|
<title>How TDE support Internationalization</title>
|
|
|
|
|
<para>
|
|
|
|
|
</para>
|
|
|
|
|
</sect1> -->
|
|
|
|
|