<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE">
]>

<book id="kapptemplate" lang="&language;">

<bookinfo>
<title>The &kapptemplate; Handbook</title>

<authorgroup>
<author>
<firstname>Anne-Marie</firstname>
<surname>Mahfouf</surname>
<affiliation>
<address>&Anne-Marie.Mahfouf.mail;</address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>

<copyright>
<year>2008</year>
<holder>&Anne-Marie.Mahfouf;</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>


<date>2016-06-06</date>
<releaseinfo>0.1 (Applications 16.08)</releaseinfo>

<abstract>
<para>
&kapptemplate; is a &kde; templates generator.
</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdesdk</keyword>
<keyword>KDE 4</keyword>
<keyword>programming</keyword>
<keyword>template</keyword>
<keyword>C++</keyword>
<keyword>python</keyword>
<keyword>ruby</keyword>
<keyword>pyqt4</keyword>
<keyword>pykde4</keyword>
<keyword>plasma</keyword>
<keyword>Qt 4</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction"> 
<title>Introduction</title> 
<para>
&kapptemplate;  is an application to start development quickly using existing templates providing basic
repeatedly written code and a proper structure.</para>

<para>
&kapptemplate; offers you a few basic templates projects and also picks up Plasma and KDevelop templates if some are installed on your machine.
</para>
<para>
As default you will find:</para>

<itemizedlist>
<listitem><para>A QML Application template</para> </listitem>
<listitem><para>A &kde; 4 KPart template</para> </listitem>
<listitem><para>A C++ KDE Frameworks template</para></listitem>
<listitem><para>A Minimal C++ KDE Frameworks template</para></listitem>
<listitem><para>An Akonadi resource template</para></listitem>
<listitem><para>An Akonadi serializer plugin</para></listitem>
</itemizedlist>

<para>Answer the wizard questions on each page and generate your template.</para>

<note><para>A <filename>README</filename> file in each template will allow you to find out how to build the template. It will also give you links for tutorials related to the project. After the project is generated, &kapptemplate;'s job is finished and you are on your own to build it.</para></note>
</chapter>

<chapter id="using-kapptemplate">
<title>Using &kapptemplate;</title>
<para>&kapptemplate; is a wizard. The first page of the wizard explains you that &kapptemplate; will generate a base project. Click <guibutton>Next</guibutton> to start generating your project. <guibutton>Cancel</guibutton> will stop the program and quit it. <guibutton>Help</guibutton> will display this help handbook in &khelpcenter;.</para>
<screenshot>
<screeninfo>&kapptemplate; first page</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="first-page.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&kapptemplate; first page</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para>The second page lists the available templates. On the right you can see the template preview and below the template description. After you chose your template, you are invited to enter the project name in the field at the bottom.</para>
<screenshot>
<screeninfo>&kapptemplate; second page</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="second-page.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&kapptemplate; second page</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
<para>On the third page, you are asked for the project version, the source folder and the author name and email. If you filled &systemsettings; tab about your personal information, it will be taken from there as default.</para>
<screenshot>
<screeninfo>&kapptemplate; third page</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="third-page.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&kapptemplate; third page</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
<para>The fourth and last page gives you some feedback about the project generation.</para>
<screenshot>
<screeninfo>&kapptemplate; fourth page</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="fourth-page.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&kapptemplate; fourth page</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
<para>Then click <guibutton>Finish</guibutton> to close &kapptemplate;.</para>
</chapter>

<chapter id="templates-description">
<title>What template do you need?</title>

<sect1 id="default-templates">

<title>Default Templates</title>
<para>This chapter describes the templates so you can choose the one that
is the best adapted to your needs.</para>

<sect2 id="kde4-gui-app">
<title>The C++ &kde; 4 &GUI; application template</title>
<para>This is a &cmake; based &kde; 4 &GUI; template using KXMLGuiWindow and KConfig XT. This is a &kde; 4 standard application.</para>
<screenshot>
<screeninfo>Here's a screenshot of the C++ &kde; 4 &GUI; application template</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kapp4.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>C++ &kde; 4 &GUI; application template</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
<para>This template demonstrates how you create &kde; menus using XMLGui and 
how to use KConfig XT to change settings using the <menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &lt;AppName&gt;</guimenuitem>
</menuchoice>.</para>

<para>You can find some great tutorials for &kde; 4 on <ulink url="http://techbase.kde.org/Development/Tutorials">http://techbase.kde.org/Development/Tutorials</ulink>.</para>
</sect2>

<sect2 id="kpart-app">
<title>The C++ &kde; 4 KPart application template</title>
<para>This is a &cmake; based &kde; 4 KPart template.</para>
<screenshot>
<screeninfo>Here's a screenshot of the C++ &kde; 4 Kpart template</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kpartapp.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>C++ &kde; 4 Kpart template</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para>This template inherits from XMLGuiWindow and demonstrates how to use KPart.</para>
</sect2>

<sect2 id="kf5-app">
<title>C++ &kde-frameworks; application template</title>
<para>A &kf5-full; &GUI; Application in C++.</para>
<screenshot>
<screeninfo>C++ &kde-frameworks;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kde-frameworks5.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>C++ &kde-frameworks;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

</sect2>

<sect2 id="kf5simple-app">
<title>Minimal C++ &kde-frameworks; application template</title>
<para>A very basic &kf5-full; &GUI; Application in C++.</para>
<screenshot>
<screeninfo>Minimal C++ &kde-frameworks;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kde-frameworks5-simple.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>Minimal C++ &kde-frameworks;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

</sect2>

</sect1>

</chapter>

<chapter id="credits">
<title>Credits and License</title>

<itemizedlist>
<listitem><para>Program copyright 1998-2003 &Kurt.Granroth;</para> </listitem>
<listitem><para>Program copyright 2006-2008 &Anne-Marie.Mahfouf;</para></listitem>
<listitem><para>Program copyright 2008 Beat Wolf</para>
</listitem>
</itemizedlist>
<para>
Contributors:
<itemizedlist>
<listitem><para>Coding help: Beat Wolf
<email>asraniel@fryx.ch</email></para> </listitem>
<listitem><para>Ruby template: Cyrille Berger
<email>cberger@cberger.net</email></para> </listitem>
<listitem><para>Ruby template: Richard Dale
<email>Richard_Dale@tipitina.demon.co.uk></email></para> </listitem>
<listitem><para>Py&kde;4 template: Christoph Burgmer 
<email>chrislb@gmx.de</email></para> </listitem>
</itemizedlist>
</para>
<para>
Documentation copyright 2008 &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail;
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;               <!-- FDL: do not remove -->
&underGPL;        	 <!-- GPL License -->

</chapter>

&documentation.index; 
</book>

<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->
