summaryrefslogtreecommitdiffstats
path: root/languages/cpp/app_templates/tdevpart
diff options
context:
space:
mode:
Diffstat (limited to 'languages/cpp/app_templates/tdevpart')
-rw-r--r--languages/cpp/app_templates/tdevpart/CMakeLists.txt29
-rw-r--r--languages/cpp/app_templates/tdevpart/Makefile.am19
-rw-r--r--languages/cpp/app_templates/tdevpart/README.dox55
-rw-r--r--languages/cpp/app_templates/tdevpart/app.tdevelop116
-rw-r--r--languages/cpp/app_templates/tdevpart/globalconfig.cpp15
-rw-r--r--languages/cpp/app_templates/tdevpart/globalconfig.h23
-rw-r--r--languages/cpp/app_templates/tdevpart/globalconfigbase.ui20
-rw-r--r--languages/cpp/app_templates/tdevpart/projectconfig.cpp15
-rw-r--r--languages/cpp/app_templates/tdevpart/projectconfig.h23
-rw-r--r--languages/cpp/app_templates/tdevpart/projectconfigbase.ui20
-rw-r--r--languages/cpp/app_templates/tdevpart/src-Makefile.am20
-rw-r--r--languages/cpp/app_templates/tdevpart/tdevpart.desktop83
-rw-r--r--languages/cpp/app_templates/tdevpart/tdevpart.pngbin0 -> 483 bytes
-rw-r--r--languages/cpp/app_templates/tdevpart/tdevpart.tdevtemplate242
-rw-r--r--languages/cpp/app_templates/tdevpart/tdevpart_part.cpp183
-rw-r--r--languages/cpp/app_templates/tdevpart/tdevpart_part.h46
-rw-r--r--languages/cpp/app_templates/tdevpart/tdevpart_part.rc11
-rw-r--r--languages/cpp/app_templates/tdevpart/tdevpart_widget.cpp21
-rw-r--r--languages/cpp/app_templates/tdevpart/tdevpart_widget.h24
19 files changed, 965 insertions, 0 deletions
diff --git a/languages/cpp/app_templates/tdevpart/CMakeLists.txt b/languages/cpp/app_templates/tdevpart/CMakeLists.txt
new file mode 100644
index 00000000..e952ce8a
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/CMakeLists.txt
@@ -0,0 +1,29 @@
+#################################################
+#
+# (C) 2010-2011 Serghei Amelian
+# serghei (DOT) amelian (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+add_custom_target( tdevpart.tar.gz ALL
+ COMMAND tar zcf tdevpart.tar.gz -C ${CMAKE_CURRENT_SOURCE_DIR}
+ src-Makefile.am tdevpart_part.cpp tdevpart_part.h
+ tdevpart_widget.h tdevpart_widget.cpp tdevpart_part.rc
+ tdevpart.desktop app.tdevelop README.dox
+ globalconfigbase.ui globalconfig.h globalconfig.cpp
+ projectconfigbase.ui projectconfig.h projectconfig.cpp
+)
+
+
+install( FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/tdevpart.tar.gz tdevpart.png
+ DESTINATION ${DATA_INSTALL_DIR}/tdevappwizard )
+
+
+install( FILES
+ tdevpart.tdevtemplate
+ DESTINATION ${DATA_INSTALL_DIR}/tdevappwizard/templates )
diff --git a/languages/cpp/app_templates/tdevpart/Makefile.am b/languages/cpp/app_templates/tdevpart/Makefile.am
new file mode 100644
index 00000000..6aa1f606
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/Makefile.am
@@ -0,0 +1,19 @@
+dataFiles = src-Makefile.am tdevpart_part.cpp tdevpart_part.h \
+ tdevpart_widget.h tdevpart_widget.cpp tdevpart_part.rc \
+ tdevpart.desktop app.tdevelop README.dox globalconfigbase.ui globalconfig.h \
+ globalconfig.cpp projectconfigbase.ui projectconfig.h projectconfig.cpp
+templateName = tdevpart
+
+### no need to change below:
+template_DATA = $(templateName).tdevtemplate
+templatedir = ${appwizarddatadir}/templates
+
+appwizarddatadir = ${kde_datadir}/tdevappwizard
+$(templateName).tar.gz: ${dataFiles}
+ $(TAR) -cf $(templateName).tar -C $(srcdir) ${dataFiles}
+ $(GZIP_COMMAND) -f9 $(templateName).tar
+
+archivedir = ${appwizarddatadir}
+archive_DATA = $(templateName).tar.gz ${templateName}.png
+
+CLEANFILES = *.tar.gz \ No newline at end of file
diff --git a/languages/cpp/app_templates/tdevpart/README.dox b/languages/cpp/app_templates/tdevpart/README.dox
new file mode 100644
index 00000000..7069f3a5
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/README.dox
@@ -0,0 +1,55 @@
+/** \class %{APPNAME}
+Put a brief description here, the brief description ends at the first dot.
+Put a more detailed description of your part in these lines. It can span
+over several lines. You can even use some html commands in these lines like:
+<code>This is code</code>, html links <a href="http://somelocation">link text</a>,
+and images.
+
+\authors <a href="mailto:%{EMAIL}">%{AUTHOR}</a>
+\authors <a href="mailto:2nd author AT provider.com">2nd author full name</a>
+...
+\authors <a href="mailto:nth author AT provider.com">nth author full name</a>
+
+\maintainer <a href="mailto:%{EMAIL}">%{AUTHOR}</a>
+\maintainer <a href="mailto:2nd maintainer AT provider.com">2nd maintainer full name</a>
+...
+\maintainer <a href="mailto:nth maintainer AT provider.com">nth maintainer full name</a>
+
+\feature Describe the first feature
+\feature Describe the second feature
+...
+\feature Describe the last feature
+
+\bug bugs in <a href="http://bugs.kde.org/buglist.cgi?product=tdevelop&component=YOUR_COMPONENT_NAME&
+bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=Bug+Number">
+YOUR_COMPONENT_NAME at Bugzilla database</a>
+\bug Describe a the 1st bug that you know of, but probably hasn't been reported yet.
+..
+\bug Describe a the nth bug that you know of, but probably hasn't been reported yet.
+
+\requirement Describe a the 1st requirement of your part.
+\requirement Describe a the 2nd requirement of your part.
+...
+\requirement Describe a the nth requirement of your part.
+
+\todo Describe a the 1st TODO of your part.
+\todo Describe a the 2nd TODO of your part.
+...
+\todo Describe a the nth TODO of your part.
+
+\faq <b>First frequenly asked question about your part ?</b> Answer.
+\faq <b>Second frequenly asked question about your part ?</b> Answer.
+...
+\faq <b>Last frequenly asked question about your part ?</b> Answer.
+
+\note First note text.
+\note Second note text.
+...
+\note Last note text.
+
+\warning First warning text.
+\warning Second warning text.
+...
+\warning Last warning text.
+
+*/
diff --git a/languages/cpp/app_templates/tdevpart/app.tdevelop b/languages/cpp/app_templates/tdevpart/app.tdevelop
new file mode 100644
index 00000000..473da16e
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/app.tdevelop
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<tdevelop>
+ <general>
+ <author>%{AUTHOR}</author>
+ <email>%{EMAIL}</email>
+ <version>%{VERSION}</version>
+ <projectmanagement>KDevTDEAutoProject</projectmanagement>
+ <primarylanguage>C++</primarylanguage>
+ <keywords>
+ <keyword>C++</keyword>
+ <keyword>Code</keyword>
+ <keyword>Qt</keyword>
+ <keyword>TDE</keyword>
+ <keyword>KDevelop</keyword>
+ </keywords>
+ </general>
+ <tdevcppsupport>
+ <qt>
+ <version>3</version>
+ <used>true</used>
+ <includestyle>3</includestyle>
+ <designerintegration>EmbeddedTDevDesigner</designerintegration>
+ </qt>
+ </tdevcppsupport>
+
+ <tdevautoproject>
+ <general>
+ <activetarget>src/%{APPNAMELC}</activetarget>
+ <useconfiguration>debug</useconfiguration>
+ </general>
+ <run>
+ <mainprogram>src/%{APPNAMELC}</mainprogram>
+ </run>
+ <configurations>
+ <optimized>
+ <builddir>optimized</builddir>
+ <ccompiler>kdevgccoptions</ccompiler>
+ <cxxcompiler>kdevgppoptions</cxxcompiler>
+ <f77compiler>kdevg77options</f77compiler>
+ <cxxflags>-O2 -g0</cxxflags>
+ </optimized>
+ <debug>
+ <configargs>--enable-debug=full</configargs>
+ <builddir>debug</builddir>
+ <ccompiler>kdevgccoptions</ccompiler>
+ <cxxcompiler>kdevgppoptions</cxxcompiler>
+ <f77compiler>kdevg77options</f77compiler>
+ <cxxflags>-O0 -g3</cxxflags>
+ </debug>
+ </configurations>
+</tdevautoproject>
+ <tdevfileview>
+ <groups>
+ <group pattern="*.cpp;*.cxx;*.h" name="Sources" />
+ <group pattern="*.ui" name="User Interface" />
+ <group pattern="*.png" name="Icons" />
+ <group pattern="*.po;*.ts" name="Translations" />
+ <group pattern="*" name="Others" />
+ </groups>
+ </tdevfileview>
+ <tdevdoctreeview>
+ <ignoretocs>
+ <toc>ada</toc>
+ <toc>ada_bugs_gcc</toc>
+ <toc>bash</toc>
+ <toc>bash_bugs</toc>
+ <toc>clanlib</toc>
+ <toc>w3c-dom-level2-html</toc>
+ <toc>fortran_bugs_gcc</toc>
+ <toc>gnome1</toc>
+ <toc>gnustep</toc>
+ <toc>gtk</toc>
+ <toc>gtk_bugs</toc>
+ <toc>haskell</toc>
+ <toc>haskell_bugs_ghc</toc>
+ <toc>java_bugs_gcc</toc>
+ <toc>java_bugs_sun</toc>
+ <toc>pascal_bugs_fp</toc>
+ <toc>php</toc>
+ <toc>php_bugs</toc>
+ <toc>perl</toc>
+ <toc>perl_bugs</toc>
+ <toc>python</toc>
+ <toc>python_bugs</toc>
+ <toc>ruby</toc>
+ <toc>ruby_bugs</toc>
+ <toc>sdl</toc>
+ <toc>w3c-svg</toc>
+ <toc>sw</toc>
+ <toc>w3c-uaag10</toc>
+ <toc>wxwidgets_bugs</toc>
+ </ignoretocs>
+ <ignoreqt_xml>
+ <toc>qmake User Guide</toc>
+ </ignoreqt_xml>
+ </tdevdoctreeview>
+ <tdevdebugger>
+ <general>
+ <dbgshell>libtool</dbgshell>
+ </general>
+ </tdevdebugger>
+ <tdevfilecreate>
+ <filetypes/>
+ <useglobaltypes>
+ <type ext="ui" />
+ <type ext="cpp" />
+ <type ext="h" />
+ </useglobaltypes>
+ </tdevfilecreate>
+ <tdevdocumentation>
+ <projectdoc>
+ <docsystem>Doxygen Documentation Collection</docsystem>
+ <docurl>%{APPNAMELC}.tag</docurl>
+ </projectdoc>
+ </tdevdocumentation>
+</tdevelop>
diff --git a/languages/cpp/app_templates/tdevpart/globalconfig.cpp b/languages/cpp/app_templates/tdevpart/globalconfig.cpp
new file mode 100644
index 00000000..cddf3e7e
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/globalconfig.cpp
@@ -0,0 +1,15 @@
+%{CPP_TEMPLATE}
+#include "%{APPNAMELC}globalconfig.h"
+
+#include "%{APPNAMELC}part.h"
+
+%{APPNAME}GlobalConfig::%{APPNAME}GlobalConfig(%{APPNAME}Part *part, TQWidget *parent, const char *name)
+ : %{APPNAME}GlobalConfigBase(parent, name), m_part(part)
+{
+}
+
+void %{APPNAME}GlobalConfig::accept()
+{
+}
+
+#include "%{APPNAMELC}globalconfig.moc"
diff --git a/languages/cpp/app_templates/tdevpart/globalconfig.h b/languages/cpp/app_templates/tdevpart/globalconfig.h
new file mode 100644
index 00000000..723dbae2
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/globalconfig.h
@@ -0,0 +1,23 @@
+%{H_TEMPLATE}
+#ifndef %{APPNAMEUC}_GLOBAL_CONFIG_H
+#define %{APPNAMEUC}_GLOBAL_CONFIG_H
+
+#include "%{APPNAMELC}globalconfigbase.h"
+
+class %{APPNAME}Part;
+
+class %{APPNAME}GlobalConfig: public %{APPNAME}GlobalConfigBase
+{
+ Q_OBJECT
+
+public:
+ %{APPNAME}GlobalConfig(%{APPNAME}Part *part, TQWidget *parent = 0, const char *name = 0);
+
+public slots:
+ void accept();
+
+private:
+ %{APPNAME}Part *m_part;
+};
+
+#endif
diff --git a/languages/cpp/app_templates/tdevpart/globalconfigbase.ui b/languages/cpp/app_templates/tdevpart/globalconfigbase.ui
new file mode 100644
index 00000000..588f9dc9
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/globalconfigbase.ui
@@ -0,0 +1,20 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>%{APPNAME}GlobalConfigBase</class>
+<widget class="TQWidget">
+ <property name="name">
+ <cstring>%{APPNAME}GlobalConfigBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>%{APPNAME}</string>
+ </property>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/languages/cpp/app_templates/tdevpart/projectconfig.cpp b/languages/cpp/app_templates/tdevpart/projectconfig.cpp
new file mode 100644
index 00000000..42a9f3e7
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/projectconfig.cpp
@@ -0,0 +1,15 @@
+%{CPP_TEMPLATE}
+#include "%{APPNAMELC}projectconfig.h"
+
+#include "%{APPNAMELC}part.h"
+
+%{APPNAME}ProjectConfig::%{APPNAME}ProjectConfig(%{APPNAME}Part *part, TQWidget *parent, const char *name)
+ : %{APPNAME}ProjectConfigBase(parent, name), m_part(part)
+{
+}
+
+void %{APPNAME}ProjectConfig::accept()
+{
+}
+
+#include "%{APPNAMELC}projectconfig.moc"
diff --git a/languages/cpp/app_templates/tdevpart/projectconfig.h b/languages/cpp/app_templates/tdevpart/projectconfig.h
new file mode 100644
index 00000000..49d4f089
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/projectconfig.h
@@ -0,0 +1,23 @@
+%{H_TEMPLATE}
+#ifndef %{APPNAMEUC}_PROJECT_CONFIG_H
+#define %{APPNAMEUC}_PROJECT_CONFIG_H
+
+#include "%{APPNAMELC}projectconfigbase.h"
+
+class %{APPNAME}Part;
+
+class %{APPNAME}ProjectConfig: public %{APPNAME}ProjectConfigBase
+{
+ Q_OBJECT
+
+public:
+ %{APPNAME}ProjectConfig(%{APPNAME}Part *part, TQWidget *parent = 0, const char *name = 0);
+
+public slots:
+ void accept();
+
+private:
+ %{APPNAME}Part *m_part;
+};
+
+#endif
diff --git a/languages/cpp/app_templates/tdevpart/projectconfigbase.ui b/languages/cpp/app_templates/tdevpart/projectconfigbase.ui
new file mode 100644
index 00000000..30849e54
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/projectconfigbase.ui
@@ -0,0 +1,20 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>%{APPNAME}ProjectConfigBase</class>
+<widget class="TQWidget">
+ <property name="name">
+ <cstring>%{APPNAME}ProjectConfigBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>%{APPNAME}</string>
+ </property>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/languages/cpp/app_templates/tdevpart/src-Makefile.am b/languages/cpp/app_templates/tdevpart/src-Makefile.am
new file mode 100644
index 00000000..e082adff
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/src-Makefile.am
@@ -0,0 +1,20 @@
+INCLUDES = -I$(top_srcdir)/lib/interfaces -I$(top_srcdir)/lib/util $(all_includes)
+
+kde_module_LTLIBRARIES = libtdev%{APPNAMELC}.la
+libtdev%{APPNAMELC}_la_LDFLAGS = -module -avoid-version -no-undefined $(all_libraries) $(KDE_PLUGIN) $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) $(LIB_TDEPARTS)
+libtdev%{APPNAMELC}_la_LIBADD = $(top_builddir)/lib/libtdevelop.la
+
+libtdev%{APPNAMELC}_la_SOURCES = %{APPNAMELC}part.cpp %{APPNAMELC}widget.cpp \
+ %{APPNAMELC}globalconfigbase.ui %{APPNAMELC}globalconfig.cpp \
+ %{APPNAMELC}projectconfigbase.ui %{APPNAMELC}projectconfig.cpp
+
+METASOURCES = AUTO
+
+appsharedir = $(kde_datadir)/kdev%{APPNAMELC}
+appshare_DATA =
+
+servicedir = $(kde_servicesdir)
+service_DATA = kdev%{APPNAMELC}.desktop
+
+rcdir = $(kde_datadir)/kdev%{APPNAMELC}
+rc_DATA = kdev%{APPNAMELC}.rc
diff --git a/languages/cpp/app_templates/tdevpart/tdevpart.desktop b/languages/cpp/app_templates/tdevpart/tdevpart.desktop
new file mode 100644
index 00000000..c3eb6a81
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/tdevpart.desktop
@@ -0,0 +1,83 @@
+[Desktop Entry]
+Type=Service
+Exec=blubb
+Name=KDev%{APPNAME}
+Name[nds]=KDev%{ProgNaam}
+Name[sv]=TDevelop %{APPNAME}
+Name[ta]=கெடெவ்%{APPNAME}
+GenericName=%{APPNAME} Plugin
+GenericName[br]=Lugent %{APPNAME}
+GenericName[ca]=Connector per a %{APPNAME}
+GenericName[da]=%{APPNAME} plugin
+GenericName[de]=%{APPNAME}-Modul
+GenericName[el]=Πρόσθετο %{APPNAME}
+GenericName[es]=Complemento %{APPNAME}
+GenericName[et]=%{APPNAME} plugin
+GenericName[eu]=%{APPNAME} plugina
+GenericName[fa]=وصلۀ %{APPNAME}
+GenericName[fr]=Module externe pour %{APPNAME}
+GenericName[ga]=Breiseán %{APPNAME}
+GenericName[gl]=Extensión %{APPNAME}
+GenericName[hu]=%{APPNAME}-bővítőmodul
+GenericName[it]=Plugin %{APPNAME}
+GenericName[ja]=%{APPNAME} プラグイン
+GenericName[nds]=%{APPNAME}-Moduul
+GenericName[ne]=%{APPNAME} प्लगइन
+GenericName[nl]=%{APPNAME}-plugin
+GenericName[pl]=Wtyczka %{APPNAME}
+GenericName[pt]='Plugin' %{APPNAME}
+GenericName[pt_BR]=Plug-in do %{APPNAME}
+GenericName[ru]=Модуль %{APPNAME}
+GenericName[sk]=%{APPNAME} modul
+GenericName[sl]=Vstavek za %{APPNAME}
+GenericName[sr]=%{APPNAME} прикључак
+GenericName[sr@Latn]=%{APPNAME} priključak
+GenericName[sv]=%{APPNAME} insticksprogram
+GenericName[tr]=%{APPNAME} Eklentisi
+GenericName[zh_CN]=%{APPNAME} 插件
+GenericName[zh_TW]=%{APPNAME} 外掛程式
+Comment=%{APPNAME} Description
+Comment[br]=Deskrivadur %{APPNAME}
+Comment[ca]=Descripció per a %{APPNAME}
+Comment[da]=%{APPNAME} beskrivelse
+Comment[de]=%{APPNAME} Beschreibung
+Comment[el]=Περιγραφή %{APPNAME}
+Comment[es]=Descripción de %{APPNAME}
+Comment[et]=%{APPNAME} kirjeldus
+Comment[eu]=%{APPNAME} deskribapena
+Comment[fa]=توصیف %{APPNAME}
+Comment[fr]=Description pour %{APPNAME}
+Comment[ga]=Cur Síos %{APPNAME}
+Comment[gl]=Descripción de %{APPNAME}
+Comment[hu]=%{APPNAME} leírása
+Comment[it]=Descrizione %{APPNAME}
+Comment[ja]=%{APPNAME} 概説
+Comment[nds]=%{APPNAME}-Beschrieven
+Comment[ne]=%{APPNAME} वर्णन
+Comment[nl]=%{APPNAME} omschrijving
+Comment[pl]=Opis %{APPNAME}
+Comment[pt]=Descrição de %{APPNAME$}
+Comment[pt_BR]=Descrição do %{APPNAME}
+Comment[ru]=Описание %{APPNAME}
+Comment[sk]=%{APPNAME} popis
+Comment[sl]=Opis za %{APPNAME}
+Comment[sr]=Опис за %{APPNAME}
+Comment[sr@Latn]=Opis za %{APPNAME}
+Comment[sv]=%{APPNAME} beskrivning
+Comment[tr]=%{APPNAME} Tanımı
+Comment[zh_CN]=%{APPNAME} 描述
+Comment[zh_TW]=%{APPNAME} 描述
+Icon=tdevelop
+ServiceTypes=TDevelop/Plugin
+
+X-TDevelop-Plugin-Version=1
+X-TDevelop-Plugin-Homepage=
+X-TDevelop-Plugin-BugsEmailAddress=%{EMAIL}
+X-TDevelop-Plugin-Copyright=(C) by %{AUTHOR}
+
+X-TDevelop-Args=
+
+X-TDevelop-Scope=%{SCOPE}
+X-TDE-Library=libtdev%{APPNAMELC}
+X-TDevelop-Version=3
+X-TDevelop-Properties=%{PROPS}
diff --git a/languages/cpp/app_templates/tdevpart/tdevpart.png b/languages/cpp/app_templates/tdevpart/tdevpart.png
new file mode 100644
index 00000000..840a953c
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/tdevpart.png
Binary files differ
diff --git a/languages/cpp/app_templates/tdevpart/tdevpart.tdevtemplate b/languages/cpp/app_templates/tdevpart/tdevpart.tdevtemplate
new file mode 100644
index 00000000..8bdb87e3
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/tdevpart.tdevtemplate
@@ -0,0 +1,242 @@
+# TDE Config File
+[General]
+Name=TDevelop Plugin (TDevelop source tree build)
+Name[ca]=Connector per a TDevelop (de construcció a l'arbre de fonts de TDevelop)
+Name[da]=TDevelop Plugin (TDevelop kildetræ bygning)
+Name[de]=TDevelop-Modul (Erstellung im TDevelop-Quelltextbaum)
+Name[el]=Πρόσθετο TDevelop (κατασκευή με το δέντρο πηγαίου κώδικα του TDevelop)
+Name[es]=Complemento para TDevelop (construcción en árbol de código fuente de TDevelop)
+Name[et]=TDevelopi plugin (Kdevelopi lähtekoodipuus)
+Name[eu]=TDevelop plugina (TDevelop-en iturburu zuhaitzean erakitzeko)
+Name[fa]=وصلۀ TDevelop )ساخت درخت منبع TDevelop(
+Name[fr]=Module externe de TDevelop (construction dans l'arborescence des sources de TDevelop)
+Name[gl]=Extensión para TDevelop (compilación na árbore de código de TDevelop)
+Name[hu]=TDevelop-bővítőmodul (TDevelopos forráskönyvtáron belül)
+Name[it]=Plugin di TDevelop (compila l'albero sorgente di TDevelop)
+Name[ja]=TDevelop プラグイン (TDevelop ソースツリービルド)
+Name[nds]=TDevelop-Moduul (TDevelop-Bornboomprogramm)
+Name[ne]=केडीई विकास प्लगइन (केडीई विकास स्रोत ट्री निर्माण)
+Name[nl]=TDevelop-plugin (TDevelop source tree build)
+Name[pl]=Wtyczka TDevelopa (budowa w drzewie źródłowym TDevelopa)
+Name[pt]='Plugin' do TDevelop (compilação na árvore de código do TDevelop)
+Name[pt_BR]='Plugin' do TDevelop (compilação na árvore de código do TDevelop)
+Name[ru]=Модуль TDevelop (в исходном коде TDevelop)
+Name[sk]=TDevelop modul (TDevelop zdrojový strom build)
+Name[sr]=Прикључак за TDevelop (градња у изворном стаблу TDevelop-а)
+Name[sr@Latn]=Priključak za TDevelop (gradnja u izvornom stablu TDevelop-a)
+Name[sv]=TDevelop-insticksprogram (att bygga i TDevelops källkodsträd)
+Name[tr]=TDevelop Eklentisi (TDevelop kaynak ağacı kurulumu)
+Name[zh_CN]=TDevelop 插件(TDevelop 源代码树编译)
+Name[zh_TW]=TDevelop 外掛程式(TDevelop 程式源碼樹內建立)
+Category=C++/TDevelop/
+Comment=This generates a plugin for TDevelop, for building within the TDevelop source tree
+Comment[ca]=Genera un connector per a TDevelop, per a que es construeixi en l'arbre de fonts de TDevelop
+Comment[da]=Dette genererer et plugin for TDevelop, til at bygges indenfor TDevelop's kildetræ
+Comment[de]=Hiermit wird ein Modul für TDevelop erstellt, dessen Erstellung innerhalb des Quelltextbaumes von TDevelop erfolgt.
+Comment[el]=Αυτό δημιουργεί ένα πρόσθετο για το TDevelop, για κατασκευή του μέσα στο δέντρο πηγαίου κώδικα του TDevelop
+Comment[es]=Genera un complemento para TDevelop, para ser construido en el árbol de código fuente de TDevelop
+Comment[et]=TDevelopi plugina loomine, mis ehitatakse TDevelopi lähtekoodipuus.
+Comment[eu]=Honek TDevelop-erako plugin bat sortzen du, TDevelop-en iturburu-zuhaitzean eraikitzeko
+Comment[fa]=وصله‌ای برای TDevelop، برای ساختن در درخت منبع TDevelop تولید می‌کند
+Comment[fr]=Génère un module externe pour TDevelop, à construire dans l'arborescence des sources de TDevelop
+Comment[gl]=Isto xera unha extensión para TDevelop que se compilará dentro da árbore de código de TDevelop
+Comment[hu]=Létrehoz egy TDevelop-bővítőmodult, mely a TDevelopos forráskönyvtáron belül fordítható le
+Comment[it]=Genera un plugin per TDevelop, per compilarlo assieme all'albero sorgente di TDevelop
+Comment[nds]=Dit stellt en TDevelop-Moduul för't Kompileren binnen den TDevelop-Bornboom op
+Comment[ne]=यसले केडीई विकास स्रोत ट्री भित्र निर्माण गर्न, केडीई विकासका लागि प्लगइन उत्पन्न गर्दछ
+Comment[nl]=Dit genereert een plugin voor TDevelop, om te bouwen binnen de TDevelop sourcetree
+Comment[pl]=Generuje wtyczkę do TDevelopa, która jest budowana w jego drzewie źródłowym
+Comment[pt]=Isto gera um 'plugin' para o TDevelop, para uma compilação dentro da árvore de código do TDevelop
+Comment[pt_BR]=Isto gera um 'plugin' para o TDevelop, para uma compilação dentro da árvore de código do TDevelop
+Comment[ru]=Создание модуля TDevelop в исходном коде TDevelop
+Comment[sk]=Vygeneruje modul pre TDevelop, ktorý sa bude kompilovať v rámci TDevelop zdrojového stromu
+Comment[sr]=Ово прави прикључак за TDevelop, за градњу у оквиру TDevelop-овог изворног стабла
+Comment[sr@Latn]=Ovo pravi priključak za TDevelop, za gradnju u okviru TDevelop-ovog izvornog stabla
+Comment[sv]=Det här skapar ett insticksprogram för TDevelop, att byggas inne i TDevelops källkodsträd.
+Comment[tr]=Bu TDevelop için, TDevelop kaynak ağacınında olacak, bir eklenti yaratır.
+Comment[zh_CN]=这将生成 TDevelop 的插件,该插件需要与 TDevelop 源代码树一起编译
+Comment[zh_TW]=產生一個 TDevelop 外掛程式,建立於 TDevelop 程式源碼樹內。
+FileTemplates=h,CStyle,cpp,CStyle
+ShowFilesAfterGeneration=%{dest}/%{APPNAMELC}part.cpp
+Archive=tdevpart.tar.gz
+
+[SCOPE]
+Type = value
+ValueType=QString
+Value= SCOPE
+Comment= The scope of a plugin (Global, Project, Core)
+Comment[ca]= L'àmbit d'un connector (Global, Project, Core)
+Comment[da]= Et plugins omfang (Globalt, Projekt, Kerne)
+Comment[de]= Gültigkeitsbereich eines Moduls (Global, Projekt, Kern)
+Comment[el]= Η εμβέλεια ενός πρόσθετου (Καθολική, Έργο, Πυρήνας)
+Comment[es]=El alcance de un complemento (global, proyecto, núcleo)
+Comment[et]=Plugina skoop (globaalne, projekt, tuum)
+Comment[eu]= Pluginaren barrutia (Globala, Projektua, Nukleoa)
+Comment[fa]=دامنۀ یک وصله )سراسری، پروژه، هسته(
+Comment[fr]= La portée d'un module externe (globale, projet, core)
+Comment[ga]= Scóip an bhreiseáin (Comhchoiteann, Tionscadal, Ceartlár)
+Comment[gl]=Ámbito da extensión (Global, Proxecto, Núcleo)
+Comment[hu]=A modul hatóköre (globális, projektszintű, alap)
+Comment[it]=Il contesto di un plugin (Globale, Progetto, Core)
+Comment[nds]= Dat Rebeet vun en Moduul (Globaal, Projekt, Karn)
+Comment[ne]= प्लगइनको क्षेत्र (विश्वव्यापी, परियोजना, कोर)
+Comment[nl]=Het bereik van een plugin (globaal, project, core)
+Comment[pl]=Przynależność wtyczki (globalna, projekt, część główna)
+Comment[pt]=O âmbito de um 'plugin' (Global, Projecto, Núcleo)
+Comment[pt_BR]=O âmbito de um 'plugin' (Global, Projecto, Núcleo)
+Comment[ru]=Тип модуля (Global, Project, Core)
+Comment[sk]=Rozsah module (globálny, projektový, jadrový)
+Comment[sr]=Опсег прикључка (глобални, пројекат, језгро)
+Comment[sr@Latn]=Opseg priključka (globalni, projekat, jezgro)
+Comment[sv]=Insticksprogrammets omfattning (Global, Projekt, Kärna)
+Comment[tr]=Bir eklentinin alanı (Genel, Proje, İç)
+Comment[zh_CN]=插件的范围(全局、工程、核心)
+Comment[zh_TW]=外掛程式的範圍(全域、專案、核心)
+Default= Global
+
+[PROPS]
+Type = value
+ValueType=QString
+Value= PROPS
+Comment= The list of supported TDevelop properties
+Comment[ca]= La llista de propietats suportades del TDevelop
+Comment[da]= Listen af understøttede TDevelop-egenskaber
+Comment[de]= Die Liste der unterstützten TDevelop-Eigenschaften
+Comment[el]= Η λίστα των υποστηριζόμενων ιδιοτήτων του TDevelop
+Comment[es]=La lista de propiedades de TDevelop soportadas
+Comment[et]= TDevelopi toetatud omaduste nimekiri
+Comment[eu]= Onartzen diren TDevelop-en propietateen zerrenda
+Comment[fa]=فهرست ویژگیهای پشتیبانی‌شدۀ TDevelop
+Comment[fr]= La liste des propriétés de TDevelop prises en charge
+Comment[ga]= Liosta d'airíonna TDevelop a dtacaítear leo
+Comment[gl]=Lista das propiedades de TDevelop soportadas
+Comment[hu]=A támogatott TDevelop-tulajdonságok
+Comment[it]=Lista delle proprietà supportate da TDevelop
+Comment[nds]= De List mit ünnerstütt TDevelop-Egenschappen
+Comment[ne]= केडीई विकास समर्थन गर्ने गुणको सूची
+Comment[nl]=De lijst met ondersteunde TDevelop-properties
+Comment[pl]= Lista obsługiwanych właściwości TDevelopa
+Comment[pt]= A lista de propriedades do TDevelop suportadas
+Comment[pt_BR]= A lista de propriedades do TDevelop suportadas
+Comment[ru]=Список поддерживаемых типов модулей для TDevelop
+Comment[sk]=Zoznam podporovaných vlastností TDevelop
+Comment[sl]=Seznam podprtih lastnosti TDevelop
+Comment[sr]=Листа подржаних TDevelop-ових својстава
+Comment[sr@Latn]=Lista podržanih TDevelop-ovih svojstava
+Comment[sv]=Listan med egenskaper i TDevelop som stöds
+Comment[tr]=Desteklenen TDevelop özellikleri
+Comment[zh_CN]=列出支持的 TDevelop 属性
+Comment[zh_TW]=支援的 TDevelop 屬性列表
+Default=
+
+[FILE1]
+Type=install
+EscapeXML=true
+Source=%{src}/app.tdevelop
+Dest=%{dest}/%{APPNAMELC}.tdevelop
+
+[FILE2]
+Type=install
+Source=%{src}/src-Makefile.am
+Dest=%{dest}/Makefile.am
+
+[FILE3]
+Type=install
+Source=%{src}/tdevpart_part.cpp
+Dest=%{dest}/%{APPNAMELC}part.cpp
+
+[FILE4]
+Type=install
+Source=%{src}/tdevpart_part.h
+Dest=%{dest}/%{APPNAMELC}part.h
+
+[FILE5]
+Type=install
+Source=%{src}/tdevpart_widget.cpp
+Dest=%{dest}/%{APPNAMELC}widget.cpp
+
+[FILE6]
+Type=install
+Source=%{src}/tdevpart_widget.h
+Dest=%{dest}/%{APPNAMELC}widget.h
+
+[FILE7]
+Type=install
+EscapeXML=true
+Source=%{src}/tdevpart_part.rc
+Dest=%{dest}/kdev%{APPNAMELC}.rc
+
+[FILE71]
+Type=install
+EscapeXML=true
+Source=%{src}/globalconfigbase.ui
+Dest=%{dest}/%{APPNAMELC}globalconfigbase.ui
+
+[FILE711]
+Type=install
+Source=%{src}/globalconfig.h
+Dest=%{dest}/%{APPNAMELC}globalconfig.h
+
+[FILE712]
+Type=install
+Source=%{src}/globalconfig.cpp
+Dest=%{dest}/%{APPNAMELC}globalconfig.cpp
+
+[FILE72]
+Type=install
+EscapeXML=true
+Source=%{src}/projectconfigbase.ui
+Dest=%{dest}/%{APPNAMELC}projectconfigbase.ui
+
+[FILE721]
+Type=install
+Source=%{src}/projectconfig.h
+Dest=%{dest}/%{APPNAMELC}projectconfig.h
+
+[FILE722]
+Type=install
+Source=%{src}/projectconfig.cpp
+Dest=%{dest}/%{APPNAMELC}projectconfig.cpp
+
+[FILE8]
+Type=install
+Source=%{src}/tdevpart.desktop
+Dest=%{dest}/kdev%{APPNAMELC}.desktop
+
+[FILE9]
+Type=install
+Source=%{src}/README.dox
+Dest=%{dest}/README.dox
+
+[MSG]
+Type=message
+Comment=A TDevelop plugin was created in %{dest}
+Comment[ca]=Un connector per a TDevelop ha estat creat en %{dest}
+Comment[da]=Et TDevelop plugin blev oprettet i %{dest}
+Comment[de]=Ein TDevelop-Modul wurde in %{dest} erstellt.
+Comment[el]=Ένα πρόσθετο του TDevelop δημιουργήθηκε στο %{dest}
+Comment[es]=Un complemento para TDevelop ha sido creado en %{dest}
+Comment[et]=TDevelopi plugin loodi asukohta %{dest}
+Comment[eu]=TDevelop plugin bat sortu da hemen: %{dest}
+Comment[fa]=یک وصلۀ TDevelop در %{dest} ایجاد شد
+Comment[fr]=Un module externe pour TDevelop a été créé dans %{dest}
+Comment[ga]=Cruthaíodh breiseán TDevelop i %{dest}
+Comment[gl]=Creouse unha extensión para TDevelop en %{dest}
+Comment[hu]=Létrejött egy TDevelop-bővítőmodul itt: %{dest}
+Comment[it]=È stato creato un plugin per TDevelop in %{dest}
+Comment[ja]=TDevelop プラグインを %{dest} に作成しました
+Comment[nds]=In %{dest} wöör en TDevelop-Moduul opstellt
+Comment[ne]=केडीई विकास प्लगइन %{dest} मा सिर्जना गरियो
+Comment[nl]=Er is een TDevelop-plugin aangemaakt in %{dest}
+Comment[pl]=Wtyczka do TDevelopa została utworzona w %{dest}
+Comment[pt]=Foi criado um 'plugin' do TDevelop em %{dest}
+Comment[pt_BR]=Foi criado um 'plugin' do TDevelop em %{dest}
+Comment[ru]=Модуль TDevelop создан в %{dest}
+Comment[sk]=TDevelop modul bol vytvorený v %{dest}
+Comment[sl]=Vstavek za TDevelop je bil ustvarjen v %{dest}
+Comment[sr]=Прикључак за TDevelop направљен је у %{dest}
+Comment[sr@Latn]=Priključak za TDevelop napravljen je u %{dest}
+Comment[sv]=Ett insticksprogram för TDevelop skapades i %{dest}
+Comment[tr]=Bir TDevelop eklentisi %{dest} içinde yaratıldı.
+Comment[zh_CN]=在 %{dest} 中创建了 TDevelop 插件
+Comment[zh_TW]=一個 TDevelop 外掛程式已建立於 %{dest}
diff --git a/languages/cpp/app_templates/tdevpart/tdevpart_part.cpp b/languages/cpp/app_templates/tdevpart/tdevpart_part.cpp
new file mode 100644
index 00000000..0d846d38
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/tdevpart_part.cpp
@@ -0,0 +1,183 @@
+%{CPP_TEMPLATE}
+#include "%{APPNAMELC}part.h"
+
+#include <tqtimer.h>
+#include <tqpopupmenu.h>
+#include <tqwhatsthis.h>
+
+#include <tdelocale.h>
+#include <tdeaction.h>
+#include <kdialogbase.h>
+#include <kiconloader.h>
+#include <tdemessagebox.h>
+#include <tdevplugininfo.h>
+#include <tdevgenericfactory.h>
+
+#include <tdevcore.h>
+#include <tdevmainwindow.h>
+#include <configwidgetproxy.h>
+
+#include "%{APPNAMELC}widget.h"
+#include "%{APPNAMELC}globalconfig.h"
+#include "%{APPNAMELC}projectconfig.h"
+
+typedef TDevGenericFactory<%{APPNAME}Part> %{APPNAME}Factory;
+TDevPluginInfo data("tdev%{APPNAMELC}");
+K_EXPORT_COMPONENT_FACTORY( libtdev%{APPNAMELC}, %{APPNAME}Factory( data ) );
+
+#define GLOBALDOC_OPTIONS 1
+#define PROJECTDOC_OPTIONS 2
+
+%{APPNAME}Part::%{APPNAME}Part(TQObject *parent, const char *name, const TQStringList &/*args*/)
+ : TDevPlugin(&data, parent, name ? name : "%{APPNAME}Part")
+{
+ setInstance(%{APPNAME}Factory::instance());
+ setXMLFile("tdev%{APPNAMELC}.rc");
+
+ m_widget = new %{APPNAME}Widget(this);
+ m_widget->setCaption("widget caption");
+ m_widget->setIcon(SmallIcon(info()->icon()));
+
+ TQWhatsThis::add(m_widget, i18n("WHAT DOES THIS PART DO?"));
+
+ // now you decide what should happen to the widget. Take a look at tdevcore.h
+ // or at other plugins how to embed it.
+
+ // if you want to embed your widget as an outputview, simply uncomment
+ // the following line.
+ // mainWindow()->embedOutputView( m_widget, "name that should appear", "enter a tooltip" );
+
+ // if you want to embed your widget as a selectview (at the left), simply uncomment
+ // the following line.
+ // mainWindow()->embedSelectView( m_widget, "name that should appear", "enter a tooltip" );
+
+ // if you want to embed your widget as a selectview (at the right), simply uncomment
+ // the following line.
+ // mainWindow()->embedSelectViewRight( m_widget, "name that should appear", "enter a tooltip" );
+
+ setupActions();
+
+ m_configProxy = new ConfigWidgetProxy(core());
+ m_configProxy->createGlobalConfigPage(i18n("%{APPNAME}"), GLOBALDOC_OPTIONS, info()->icon());
+ m_configProxy->createProjectConfigPage(i18n("%{APPNAME}"), PROJECTDOC_OPTIONS, info()->icon());
+ connect(m_configProxy, TQT_SIGNAL(insertConfigWidget(const KDialogBase*, TQWidget*, unsigned int )),
+ this, TQT_SLOT(insertConfigWidget(const KDialogBase*, TQWidget*, unsigned int)));
+
+ connect(core(), TQT_SIGNAL(contextMenu(TQPopupMenu *, const Context *)),
+ this, TQT_SLOT(contextMenu(TQPopupMenu *, const Context *)));
+ connect(core(), TQT_SIGNAL(projectOpened()), this, TQT_SLOT(projectOpened()));
+ connect(core(), TQT_SIGNAL(projectClosed()), this, TQT_SLOT(projectClosed()));
+
+
+ TQTimer::singleShot(0, this, TQT_SLOT(init()));
+}
+
+%{APPNAME}Part::~%{APPNAME}Part()
+{
+// if you embed a widget, you need to tell the mainwindow when you remove it
+// if ( m_widget )
+// {
+// mainWindow()->removeView( m_widget );
+// }
+ delete m_widget;
+ delete m_configProxy;
+}
+
+void %{APPNAME}Part::init()
+{
+// delayed initialization stuff goes here
+}
+
+void %{APPNAME}Part::setupActions()
+{
+// create XMLGUI actions here
+ action = new TDEAction(i18n("&Do Something..."), 0,
+ this, TQT_SLOT(doSomething()), actionCollection(), "plugin_action" );
+ action->setToolTip(i18n("Do something"));
+ action->setWhatsThis(i18n("<b>Do something</b><p>Describe here what does this action do."));
+}
+
+void %{APPNAME}Part::insertConfigWidget(const KDialogBase *dlg, TQWidget *page, unsigned int pageNo)
+{
+// create configuraton dialogs here
+ switch (pageNo)
+ {
+ case GLOBALDOC_OPTIONS:
+ {
+ %{APPNAME}GlobalConfig *w = new %{APPNAME}GlobalConfig(this, page, "global config");
+ connect(dlg, TQT_SIGNAL(okClicked()), w, TQT_SLOT(accept()));
+ break;
+ }
+ case PROJECTDOC_OPTIONS:
+ {
+ %{APPNAME}ProjectConfig *w = new %{APPNAME}ProjectConfig(this, page, "project config");
+ connect(dlg, TQT_SIGNAL(okClicked()), w, TQT_SLOT(accept()));
+ break;
+ }
+ }
+}
+
+void %{APPNAME}Part::contextMenu(TQPopupMenu *popup, const Context *context)
+{
+// put actions into the context menu here
+ if (context->hasType(Context::EditorContext))
+ {
+ // editor context menu
+ const EditorContext *econtext = static_cast<const EditorContext*>(context);
+
+ // use context and plug actions here
+ action->plug(popup);
+
+ // or create menu items on the fly
+ // int id = -1;
+ // id = popup->insertItem(i18n("Do Something Here"),
+ // this, TQT_SLOT(doSomething()) );
+ // popup->setWhatsThis(id, i18n("<b>Do something here</b><p>Describe here what does this action do."
+ }
+ else if (context->hasType(Context::FileContext))
+ {
+ // file context menu
+ const FileContext *fcontext = static_cast<const FileContext*>(context);
+
+ //use context and plug actions here
+ }
+ else if (context->hasType(Context::ProjectModelItemContext))
+ {
+ // project tree context menu
+ const ProjectModelItemContext *pcontext = static_cast<const ProjectModelItemContext*>(context);
+
+ // use context and plug actions here
+ }
+ else if (context->hasType(Context::CodeModelItemContext))
+ {
+ // class tree context menu
+ const CodeModelItemContext *mcontext = static_cast<const CodeModelItemContext*>(context);
+
+ // use context and plug actions here
+ }
+ else if (context->hasType(Context::DocumentationContext))
+ {
+ // documentation viewer context menu
+ const DocumentationContext *dcontext = static_cast<const DocumentationContext*>(context);
+
+ // use context and plug actions here
+ }
+}
+
+void %{APPNAME}Part::projectOpened()
+{
+// do something when the project is opened
+}
+
+void %{APPNAME}Part::projectClosed()
+{
+// do something when the project is closed
+}
+
+void %{APPNAME}Part::doSomething()
+{
+// do something useful here instead of showing the message box
+ KMessageBox::information(m_widget, i18n("This action does nothing."), i18n("%{APPNAME} Plugin"));
+}
+
+#include "%{APPNAMELC}part.moc"
diff --git a/languages/cpp/app_templates/tdevpart/tdevpart_part.h b/languages/cpp/app_templates/tdevpart/tdevpart_part.h
new file mode 100644
index 00000000..1d61dd0c
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/tdevpart_part.h
@@ -0,0 +1,46 @@
+%{H_TEMPLATE}
+#ifndef TDEV%{APPNAMEUC}_H
+#define TDEV%{APPNAMEUC}_H
+
+#include <tdevplugin.h>
+
+#include <tqguardedptr.h>
+
+class TQPopupMenu;
+class TDEAction;
+class KDialogBase;
+class Context;
+class ConfigWidgetProxy;
+class %{APPNAME}Widget;
+
+/**
+Please read the README.dox file for more info about this part
+*/
+class %{APPNAME}Part: public TDevPlugin
+{
+ Q_OBJECT
+
+public:
+ %{APPNAME}Part(TQObject *parent, const char *name, const TQStringList &args);
+ ~%{APPNAME}Part();
+
+private slots:
+ void init();
+
+ void insertConfigWidget(const KDialogBase *dlg, TQWidget *page, unsigned int pageNo);
+ void contextMenu(TQPopupMenu *popup, const Context *context);
+ void projectOpened();
+ void projectClosed();
+
+ void doSomething();
+
+private:
+ void setupActions();
+
+ TDEAction *action;
+
+ TQGuardedPtr<%{APPNAME}Widget> m_widget;
+ ConfigWidgetProxy *m_configProxy;
+};
+
+#endif
diff --git a/languages/cpp/app_templates/tdevpart/tdevpart_part.rc b/languages/cpp/app_templates/tdevpart/tdevpart_part.rc
new file mode 100644
index 00000000..a38ee14e
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/tdevpart_part.rc
@@ -0,0 +1,11 @@
+<!DOCTYPE kpartgui>
+<kpartplugin name="%{APPNAMELC}" library="lib%{APPNAMELC}plugin" version="1">
+<MenuBar>
+ <Menu name="tools"><Text>&amp;Tools</Text>
+ <Action name="plugin_action"/>
+ </Menu>
+</MenuBar>
+<ToolBar name="extraToolBar">
+ <Action name="plugin_action"/>
+</ToolBar>
+</kpartplugin>
diff --git a/languages/cpp/app_templates/tdevpart/tdevpart_widget.cpp b/languages/cpp/app_templates/tdevpart/tdevpart_widget.cpp
new file mode 100644
index 00000000..1f356afd
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/tdevpart_widget.cpp
@@ -0,0 +1,21 @@
+%{CPP_TEMPLATE}
+#include "%{APPNAMELC}widget.h"
+
+#include <kurl.h>
+#include <klibloader.h>
+#include <tdeparts/part.h>
+
+#include <tdevcore.h>
+
+#include "%{APPNAMELC}part.h"
+
+%{APPNAME}Widget::%{APPNAME}Widget(%{APPNAME}Part *part)
+ : TQWidget(0, "%{APPNAMELC} widget"), m_part(part)
+{
+}
+
+%{APPNAME}Widget::~%{APPNAME}Widget()
+{
+}
+
+#include "%{APPNAMELC}widget.moc"
diff --git a/languages/cpp/app_templates/tdevpart/tdevpart_widget.h b/languages/cpp/app_templates/tdevpart/tdevpart_widget.h
new file mode 100644
index 00000000..e9762de3
--- /dev/null
+++ b/languages/cpp/app_templates/tdevpart/tdevpart_widget.h
@@ -0,0 +1,24 @@
+%{H_TEMPLATE}
+#ifndef %{APPNAMEUC}_WIDGET_H
+#define %{APPNAMEUC}_WIDGET_H
+
+#include <tqwidget.h>
+#include <tqstring.h>
+
+class TDevProject;
+class %{APPNAME}Part;
+
+class %{APPNAME}Widget: public TQWidget
+{
+ Q_OBJECT
+
+public:
+ %{APPNAME}Widget(%{APPNAME}Part *part);
+ ~%{APPNAME}Widget();
+
+private:
+ %{APPNAME}Part *m_part;
+};
+
+
+#endif