several <link linkend="uimodes-survey">user interface modes</link> from which you can select the look and feel of the workspace,
</para></listitem>
<listitem><para>
an <link linkend="applicationwizard">&appwizard;</link> which aids you in setting up a new project,
</para></listitem>
<listitem><para>
several <link linkend="makesystems">project management systems</link> which aid in building and managing your project,
</para></listitem>
<listitem><para>
some <link linkend="editing">editing tools</link> to easily work on your program texts
</para></listitem>
<listitem><para>
various <link linkend="file-browsers">file browsers</link> providing you different views on your file system,
</para></listitem>
<listitem><para>
various <link linkend="class-browsers">class browsers</link> to aid you in maintaining the classes and their relationships of your object-oriented programming project,
several <link linkend="plugin-tools">plugin tools</link>, extensible modules which can be loaded at runtime and on demand. This allows you to only turn on those features you really need.
</para></listitem>
<listitem><para>
a set of other diagnosis, documentation, and optimization helper tools.
<listitem><para>The &tdevelop; IDE — this is the place where you will usually work.</para></listitem>
<listitem><para>The stand-alone &tdevelop; Assistant documentation browser — isolates all the powerful documentation facilities of the &tdevelop; IDE in a separate tool. This comes in handy when you want to look up some programming documentation but do not want to start the full IDE.</para></listitem>
<listitem><para>The &tdevelop; Designer — enhances the &Qt; User Interface Designer by &kde; specific elements and integrates nicely in the &tdevelop; IDE.</para></listitem>
To switch the user interface mode select <menuchoice> <guimenu>Settings</guimenu> <guimenuitem>Configure KDevelop...</guimenuitem> </menuchoice> from the menus. The <guilabel>Customize KDevelop</guilabel> dialog will pop up, where you have to select <guilabel>User Interface</guilabel> in the left hand tree. This will display the settings page shown below.
In the <guilabel>Major User-Interface Mode</guilabel> section select the radio button of the user interface mode you want to work in.
</para>
<para>
Dependent on the user interface mode you selected, other configuration sections will become available where you can taylor more details of the look and feel to your preferences. See the <link linkend="setup-ui">Selecting the User Interface</link> chapter for more detail.
To maximize space, there is a full-screen window mode available which expands the mainframe area to the screen borders. Additional space can be reclaimed by hiding the menubar. And you can of course hide any toolbar as usual in <application>KDE</application> applications.
</para>
<variablelist>
<varlistentry>
<term>Full Screen Mode</term>
<listitem>
<para>
To switch to or from full screen mode select <menuchoice>
<keycombo>&Ctrl;&Shift;<keycap>F</keycap> </keycombo>. There is also a
<guiicon>Full-Screen Mode</guiicon> icon in the <guilabel>Browse
Toolbar</guilabel> available.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Hide/Unhide the Menubar</term>
<listitem>
<para>
To <emphasis>hide</emphasis> the menubar select <menuchoice> <guimenu>Settings</guimenu> <guimenuitem>Show Menubar</guimenuitem> </menuchoice> from the menus or press <keycombo>&Ctrl;<keycap>M</keycap> </keycombo>. You may also include a <guiicon>Show Menubar</guiicon> icon in a suiting toolbar, ⪚ the <guilabel>Browse Toolbar</guilabel> for that purpose. To <emphasis>unhide</emphasis> the menubar you must press <keycombo> &Ctrl;<keycap>M</keycap> </keycombo> or use the <guiicon>Show Menubar</guiicon> icon if available.
Globally, a project will rely on some form of project management system. &tdevelop; offers four <emphasis>project management systems</emphasis> the programmer can select from when creating a new project.
For developers who enjoy the flexibility and feel of &Qt;'s qmake system, &tdevelop; offers the ability to handle qmake based projects (.pro files) within the &GUI;.
For more information on the QMake project manager see the <quote>qmake User Guide</quote> which should be included in your distribution or have a look at the <ulink url="http://doc.trolltech.com/">TROLLTECH Documentation</ulink> home page where you may find the QMake documentation of your <quote>Qt C++ GUI Application Development Toolkit</quote> version.
&Java; developers may want to use the Apache ANT project manager for their projects. To set up a new Ant project in &tdevelop; select <menuchoice><guimenu>Project</guimenu>
If you prefer to maintain your own <filename>Makefiles</filename> for your project you may use the custom project option of &tdevelop;. This may be feasible in unusually structured projects or if you want to retain full control over the <command>make</command> process.
Yet, if you do not <emphasis>really need</emphasis> the extra flexibility and control of the custom project manager you should consider &automanag; or one of the other project managers, because they considerably ease the program building and distribution processes.
</para>
</sect2> <!-- custom-project -->
<sect2 id="makesystems-distribution">
<title>How to Distribute Your Application</title>
<indexterm zone="makesystems-distribution">
<primary>distribution</primary></indexterm>
<indexterm zone="makesystems-distribution">
<primary>application</primary>
<secondary>distribution</secondary></indexterm>
<indexterm zone="makesystems-distribution">
<primary>binary packages</primary></indexterm>
<para>
The distribution of your applications does not require the end-user to have anything different installed other than
For giving away your sources, we advise to include the <emphasis>project file</emphasis> of &tdevelop; as well. This makes it very easy for other developers—if they use &tdevelop;—to work with your sources.
For projects where <emphasis>several developers</emphasis>, maybe working on different places, are involved, this should be the case anyway. So you can ensure consistency of the <filename>Makefiles</filename> to not run into trouble.
</para>
<para>
Especially on multi language applications, <emphasis>translators</emphasis> won't actually work with the source code, except in cases that require correction for enabling translation support.