summaryrefslogtreecommitdiffstats
path: root/languages/java/app_templates
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit114a878c64ce6f8223cfd22d76a20eb16d177e5e (patch)
treeacaf47eb0fa12142d3896416a69e74cbf5a72242 /languages/java/app_templates
downloadtdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.tar.gz
tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'languages/java/app_templates')
-rw-r--r--languages/java/app_templates/Makefile.am3
-rw-r--r--languages/java/app_templates/java.appwizard2
-rw-r--r--languages/java/app_templates/javahello/.kdev_ignore0
-rw-r--r--languages/java/app_templates/javahello/Main.java7
-rw-r--r--languages/java/app_templates/javahello/Makefile.am16
-rw-r--r--languages/java/app_templates/javahello/build.xml37
-rw-r--r--languages/java/app_templates/javahello/javahello11
-rw-r--r--languages/java/app_templates/javahello/javahello.filelist2
-rw-r--r--languages/java/app_templates/javahello/javahello.kdevelop69
-rw-r--r--languages/java/app_templates/javahello/javahello.kdevtemplate124
-rw-r--r--languages/java/app_templates/javahello/javahello.pngbin0 -> 483 bytes
-rw-r--r--languages/java/app_templates/kappjava/.kdev_ignore0
-rw-r--r--languages/java/app_templates/kappjava/Makefile.am17
-rw-r--r--languages/java/app_templates/kappjava/app.desktop41
-rw-r--r--languages/java/app_templates/kappjava/app.java281
-rw-r--r--languages/java/app_templates/kappjava/app.kdevelop88
-rw-r--r--languages/java/app_templates/kappjava/app_client.java28
-rw-r--r--languages/java/app_templates/kappjava/appui.rc8
-rw-r--r--languages/java/app_templates/kappjava/appview.java115
-rw-r--r--languages/java/app_templates/kappjava/kappjava10
-rw-r--r--languages/java/app_templates/kappjava/kappjava.kdevtemplate163
-rw-r--r--languages/java/app_templates/kappjava/kappjava.pngbin0 -> 5063 bytes
-rw-r--r--languages/java/app_templates/kappjava/pref.java52
-rw-r--r--languages/java/app_templates/kappjava/src-Makefile.am18
-rw-r--r--languages/java/app_templates/kappjava/subdirs3
-rw-r--r--languages/java/app_templates/superwaba/.kdev_ignore0
-rw-r--r--languages/java/app_templates/superwaba/Makefile.am16
-rw-r--r--languages/java/app_templates/superwaba/src-Makefile226
-rw-r--r--languages/java/app_templates/superwaba/superwaba54
-rw-r--r--languages/java/app_templates/superwaba/superwaba.kdevtemplate166
-rw-r--r--languages/java/app_templates/superwaba/superwaba.pngbin0 -> 1100 bytes
-rw-r--r--languages/java/app_templates/superwaba/sw.filelist1
-rw-r--r--languages/java/app_templates/superwaba/sw.java97
-rw-r--r--languages/java/app_templates/superwaba/sw.kdevelop94
34 files changed, 1749 insertions, 0 deletions
diff --git a/languages/java/app_templates/Makefile.am b/languages/java/app_templates/Makefile.am
new file mode 100644
index 00000000..b47abfca
--- /dev/null
+++ b/languages/java/app_templates/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = javahello kappjava superwaba
+profilesdir = $(kde_datadir)/kdevelop/profiles/IDE/CompiledLanguageIDE/JavaIDE
+profiles_DATA = java.appwizard
diff --git a/languages/java/app_templates/java.appwizard b/languages/java/app_templates/java.appwizard
new file mode 100644
index 00000000..087d6c0c
--- /dev/null
+++ b/languages/java/app_templates/java.appwizard
@@ -0,0 +1,2 @@
+[General]
+List=javahello,kappjava,superwaba
diff --git a/languages/java/app_templates/javahello/.kdev_ignore b/languages/java/app_templates/javahello/.kdev_ignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/languages/java/app_templates/javahello/.kdev_ignore
diff --git a/languages/java/app_templates/javahello/Main.java b/languages/java/app_templates/javahello/Main.java
new file mode 100644
index 00000000..dc757fe5
--- /dev/null
+++ b/languages/java/app_templates/javahello/Main.java
@@ -0,0 +1,7 @@
+
+class Main{
+
+ public static void main( String[] args ){
+ System.out.println( "Hello, world!" );
+ }
+}
diff --git a/languages/java/app_templates/javahello/Makefile.am b/languages/java/app_templates/javahello/Makefile.am
new file mode 100644
index 00000000..8551a6ac
--- /dev/null
+++ b/languages/java/app_templates/javahello/Makefile.am
@@ -0,0 +1,16 @@
+dataFiles = Main.java build.xml javahello.filelist javahello.kdevelop
+templateName= javahello
+
+### no need to change below:
+template_DATA = $(templateName).kdevtemplate
+templatedir = ${appwizarddatadir}/templates
+
+appwizarddatadir = ${kde_datadir}/kdevappwizard
+$(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/java/app_templates/javahello/build.xml b/languages/java/app_templates/javahello/build.xml
new file mode 100644
index 00000000..27b6046d
--- /dev/null
+++ b/languages/java/app_templates/javahello/build.xml
@@ -0,0 +1,37 @@
+<project name="%{APPNAME}" default="dist" basedir=".">
+ <description>
+ hello application
+ </description>
+ <!-- set global properties for this build -->
+ <property name="src" location="." />
+ <property name="build" location="build" />
+ <property name="dist" location="dist" />
+
+ <target name="init">
+ <!-- Create the time stamp -->
+ <tstamp/>
+ <!-- Create the build directory structure used by compile -->
+ <mkdir dir="${build}"/>
+ </target>
+
+ <target name="compile" depends="init"
+ description="compile the source " >
+ <!-- Compile the java code from ${src} into ${build} -->
+ <javac srcdir="${src}" destdir="${build}"/>
+ </target>
+
+ <target name="dist" depends="compile"
+ description="generate the distribution" >
+ <!-- Create the distribution directory -->
+ <mkdir dir="${dist}/lib"/>
+
+ <jar jarfile="${dist}/lib/%{APPNAMELC}.jar" basedir="${build}"/>
+ </target>
+
+ <target name="clean"
+ description="clean up" >
+ <!-- Delete the ${build} and ${dist} directory trees -->
+ <delete dir="${build}"/>
+ <delete dir="${dist}"/>
+ </target>
+</project>
diff --git a/languages/java/app_templates/javahello/javahello b/languages/java/app_templates/javahello/javahello
new file mode 100644
index 00000000..a2225ce5
--- /dev/null
+++ b/languages/java/app_templates/javahello/javahello
@@ -0,0 +1,11 @@
+# Java application
+[General]
+Name=Application
+Name[fr]=Une application JAVA / Ant
+Icon=qmakeapp.png
+Category=Java/Ant project
+Category[fr]=Java/Ant
+Comment=Generate a Java application
+Comment[fr]=Gnre une application dans le language JAVA en utilisant Ant
+FileTemplates=java,JavaStyle
+ShowFilesAfterGeneration=Main.java
diff --git a/languages/java/app_templates/javahello/javahello.filelist b/languages/java/app_templates/javahello/javahello.filelist
new file mode 100644
index 00000000..97da44be
--- /dev/null
+++ b/languages/java/app_templates/javahello/javahello.filelist
@@ -0,0 +1,2 @@
+# KDevelop Custom Project File List
+Main.java
diff --git a/languages/java/app_templates/javahello/javahello.kdevelop b/languages/java/app_templates/javahello/javahello.kdevelop
new file mode 100644
index 00000000..c3eb6898
--- /dev/null
+++ b/languages/java/app_templates/javahello/javahello.kdevelop
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<kdevelop>
+ <general>
+ <author>%{AUTHOR}</author>
+ <email>%{EMAIL}</email>
+ <version>%{VERSION}</version>
+ <projectmanagement>KDevAntProject</projectmanagement>
+ <primarylanguage>Java</primarylanguage>
+ <ignoreparts>
+ <part>KDevDebugger</part>
+ </ignoreparts>
+ </general>
+ <kdevcustomproject>
+ <build>
+ <buildtool>ant</buildtool>
+ </build>
+ </kdevcustomproject>
+ <kdevdoctreeview>
+ <ignoretocs>
+ <toc>ada</toc>
+ <toc>ada_bugs_gcc</toc>
+ <toc>bash</toc>
+ <toc>bash_bugs</toc>
+ <toc>c++_bugs_gcc</toc>
+ <toc>clanlib</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>kde2book</toc>
+ <toc>libc</toc>
+ <toc>libstdc++</toc>
+ <toc>opengl</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>qt-kdev3</toc>
+ <toc>ruby</toc>
+ <toc>ruby_bugs</toc>
+ <toc>sdl</toc>
+ <toc>stl</toc>
+ <toc>sw</toc>
+ <toc>wxwidgets_bugs</toc>
+ </ignoretocs>
+ <ignoreqt_xml>
+ <toc>Guide to the Qt Translation Tools</toc>
+ <toc>Qt Assistant Manual</toc>
+ <toc>Qt Designer Manual</toc>
+ <toc>Qt Reference Documentation</toc>
+ <toc>qmake User Guide</toc>
+ </ignoreqt_xml>
+ <ignoredoxygen>
+ <toc>KDE Libraries (Doxygen)</toc>
+ </ignoredoxygen>
+ </kdevdoctreeview>
+ <kdevfileview>
+ <tree>
+ <hidenonprojectfiles>false</hidenonprojectfiles>
+ <hidepatterns>*.o,*.lo,CVS</hidepatterns>
+ </tree>
+ </kdevfileview>
+</kdevelop>
diff --git a/languages/java/app_templates/javahello/javahello.kdevtemplate b/languages/java/app_templates/javahello/javahello.kdevtemplate
new file mode 100644
index 00000000..a7427704
--- /dev/null
+++ b/languages/java/app_templates/javahello/javahello.kdevtemplate
@@ -0,0 +1,124 @@
+# KDE Config File
+[General]
+Name=Application
+Name[br]=Arload
+Name[ca]=Aplicació
+Name[cy]=Cymhwysiad
+Name[da]=Program
+Name[de]=Anwendung
+Name[el]=Εφαρμογή
+Name[es]=Aplicación
+Name[et]=Rakendus
+Name[eu]=Aplikazioa
+Name[fa]=کاربرد
+Name[ga]=Feidhmchlár
+Name[gl]=Aplicación
+Name[hu]=Alkalmazások
+Name[it]=Applicazione
+Name[ja]=アプリケーション
+Name[lt]=Programa
+Name[ms]=Aplikasi
+Name[nds]=Programm
+Name[ne]=अनुप्रयोग
+Name[nl]=Toepassing
+Name[pl]=Program
+Name[pt]=Aplicação
+Name[pt_BR]=Aplicativo
+Name[ru]=Приложение
+Name[rw]=Porogaramu
+Name[sk]=Aplikácia
+Name[sl]=Program
+Name[sr]=Програм
+Name[sr@Latn]=Program
+Name[sv]=Program
+Name[tr]=Uygulama
+Name[zh_CN]=应用程序
+Name[zh_TW]=應用程式
+Icon=qmakeapp.png
+Category=Java/Ant project
+Category[fr]=Java/Ant
+Comment=Generate a Java application
+Comment[ca]=Genera una aplicació Java
+Comment[da]=Generér et Java-program
+Comment[de]=Erstellt eine Java-Anwendung
+Comment[el]=Δημιουργία μιας εφαρμογής Java
+Comment[es]=Genera una aplicación en Java
+Comment[et]=Java rakenduse loomine
+Comment[eu]=Sortu Java aplikazio bat
+Comment[fa]=یک کاربرد جاوا تولید می‌کند
+Comment[fr]=Génère une application Java
+Comment[ga]=Cruthaigh feidhmchlár Java
+Comment[gl]=Xera unha aplicación Java
+Comment[hu]=Létrehoz egy Java-alkalmazást
+Comment[it]=Genera un'applicazione Java
+Comment[ja]= Java アプリケーションを作成
+Comment[nds]=Stellt en Java-Programm op
+Comment[ne]=जाभा अनुप्रयोग उत्पन्न गर्नुहोस्
+Comment[nl]=Genereer een Java-toepassing
+Comment[pl]=Generuj program w Javie
+Comment[pt]=Gera uma aplicação em Java
+Comment[pt_BR]=Gera uma aplicação em Java
+Comment[ru]=Создание приложения Java
+Comment[sk]=Vygeneruje Java aplikáciu
+Comment[sr]=Прави Java програм
+Comment[sr@Latn]=Pravi Java program
+Comment[sv]=Skapa ett Java-program
+Comment[tr]=Bir Java uygulaması yarat
+Comment[zh_CN]=生成一个 Java 应用程序
+Comment[zh_TW]=產生 Java 應用程式
+FileTemplates=java,JavaStyle
+ShowFilesAfterGeneration=%{dest}/Main.java
+Archive=javahello.tar.gz
+
+[FILE1]
+Type=install
+EscapeXML=true
+Source=%{src}/javahello.kdevelop
+Dest=%{dest}/%{APPNAMELC}.kdevelop
+
+[FILE2]
+Type=install
+Source=%{src}/javahello.filelist
+Dest=%{dest}/%{APPNAMELC}.filelist
+
+[FILE3]
+Type=install
+Source=%{src}/Main.java
+Dest=%{dest}/Main.java
+
+[FILE4]
+Type=install
+Source=%{src}/build.xml
+Dest=%{dest}/build.xml
+
+[msg]
+Type=message
+Comment=A JAVA application was created in %{dest}
+Comment[ca]=Una aplicació JAVA ha estat creada en %{dest}
+Comment[da]=Et JAVA-program blev oprettet i %{dest}
+Comment[de]=Eine Java-Anwendung wurde in %{dest} erstellt.
+Comment[el]=Μια εφαρμογή JAVA δημιουργήθηκε στο %{dest}
+Comment[es]=Una aplicación en Java ha sido creada en %{dest}
+Comment[et]=Java rakendus loodi asukohta %{dest}
+Comment[eu]=JAVA aplikazio bat sortu da hemen: %{dest}
+Comment[fa]=یک کاربرد جاوا در %{dest} ایجاد شد
+Comment[fr]=Une application Java a été créée dans %{dest}
+Comment[ga]=Cruthaíodh feidhmchlár JAVA i %{dest}
+Comment[gl]=Creouse una aplicación JAVA en %{dest}
+Comment[hu]=Létrejött egy Java-alkalmazás itt: %{dest}
+Comment[it]=È stata creata un'applicazione Java in %{dest}
+Comment[ja]=JAVA アプリケーションを %{dest} に作成しました
+Comment[nds]=In %{dest} wöör en JAVA-Programm opstellt
+Comment[ne]= जाभा अनुप्रयोग %{dest} मा सिर्जना गरियो
+Comment[nl]=Een Java-toepassing is aangemaakt in %{dest}
+Comment[pl]=Program w Javie został utworzony w %{dest}
+Comment[pt]=Foi criada uma aplicação em Java em %{dest}
+Comment[pt_BR]=Foi criada uma aplicação em Java em %{dest}
+Comment[ru]=Приложение Java создано в %{dest}
+Comment[sk]=Java aplikácia bola vytvorená v %{dest}
+Comment[sr]=Java програм је направљен у %{dest}
+Comment[sr@Latn]=Java program je napravljen u %{dest}
+Comment[sv]=Ett Java-program skapades i %{dest}
+Comment[tr]=Bir JAVA uygulaması %{dest} içinde yaratıldı.
+Comment[zh_CN]=在 %{dest} 创建了一个 Java 应用程序
+Comment[zh_TW]=一個 Java 應用程式已建立於 %{dest}
diff --git a/languages/java/app_templates/javahello/javahello.png b/languages/java/app_templates/javahello/javahello.png
new file mode 100644
index 00000000..840a953c
--- /dev/null
+++ b/languages/java/app_templates/javahello/javahello.png
Binary files differ
diff --git a/languages/java/app_templates/kappjava/.kdev_ignore b/languages/java/app_templates/kappjava/.kdev_ignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/languages/java/app_templates/kappjava/.kdev_ignore
diff --git a/languages/java/app_templates/kappjava/Makefile.am b/languages/java/app_templates/kappjava/Makefile.am
new file mode 100644
index 00000000..4cda2ef7
--- /dev/null
+++ b/languages/java/app_templates/kappjava/Makefile.am
@@ -0,0 +1,17 @@
+dataFiles = app.java pref.java appview.java app_client.java appui.rc \
+ src-Makefile.am kappjava.png app.kdevelop subdirs
+templateName = kappjava
+
+### no need to change below:
+template_DATA = $(templateName).kdevtemplate
+templatedir = ${appwizarddatadir}/templates
+
+appwizarddatadir = ${kde_datadir}/kdevappwizard
+$(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/java/app_templates/kappjava/app.desktop b/languages/java/app_templates/kappjava/app.desktop
new file mode 100644
index 00000000..941c0846
--- /dev/null
+++ b/languages/java/app_templates/kappjava/app.desktop
@@ -0,0 +1,41 @@
+[Desktop Entry]
+Name=%{APPNAME}
+Exec=%{APPNAMELC} %i -caption "%c"
+Icon=%{APPNAMELC}
+Type=Application
+X-DocPath=%{APPNAMELC}/%{APPNAMELC}.html
+Comment=A Java KDE KPart Application
+Comment[ca]=Una aplicació KPart en Java per al KDE
+Comment[da]=Et Java KDE KPart-program
+Comment[de]=Eine KDE-Komponten-Anwendung in Java
+Comment[el]=Μια εφαρμογή Java KDE KPart
+Comment[es]=Una aplicación KPart en Java para KDE
+Comment[et]=Java KDE KPart rakendus
+Comment[eu]=Java KDE KPart aplikazio bat
+Comment[fa]=یک کاربرد KDE KPart جاوا
+Comment[fr]=Une application KPart en JAVA pour KDE
+Comment[ga]=Feidhmchlár KPart KDE i Java
+Comment[gl]=Unha aplicación KPart de KDE en Java
+Comment[hi]=एक जावा केडीई के-पार्ट अनुप्रयोग
+Comment[hu]=Java-ban írt, KPart-alapú KDE-alkalmazás
+Comment[is]=Java KDE KPart forrit
+Comment[it]=Un'applicazione Java KDE KPart
+Comment[ja]= Java KDE KPart アプリケーション
+Comment[nds]=En KDE-Programm in Java
+Comment[ne]=जाभा केडीई KPart अनुप्रयोग
+Comment[nl]=Een Java KDE KPart-toepassing
+Comment[pl]=Element osadzalny KPart Javy
+Comment[pt]=Uma Aplicação KDE KPart em Java
+Comment[pt_BR]=Um Aplicativo KPart do KDE para Java
+Comment[ru]=Приложение KPart для KDE на Java
+Comment[sk]=Java KDE KPart aplikácia
+Comment[sl]=Program za Javo KDE KPart
+Comment[sr]=Java KDE KPart програм
+Comment[sr@Latn]=Java KDE KPart program
+Comment[sv]=Ett Java KDE Kpart-program
+Comment[ta]=ஜாவா கெடி கெபாகம் பயன்பாடு
+Comment[tg]=Гузориш KPart барои KDE дар Java
+Comment[tr]=Bir Java KDE KPart Uygulaması
+Comment[zh_CN]=一个 Java KDE KPart 应用程序
+Comment[zh_TW]=Java KDE KPart 應用程式
+Terminal=false
diff --git a/languages/java/app_templates/kappjava/app.java b/languages/java/app_templates/kappjava/app.java
new file mode 100644
index 00000000..2cb3e94a
--- /dev/null
+++ b/languages/java/app_templates/kappjava/app.java
@@ -0,0 +1,281 @@
+/*
+ * Copyright (C) %{YEAR} %{AUTHOR} <%{EMAIL}>
+ */
+
+import java.util.*;
+import org.kde.qt.*;
+import org.kde.koala.*;
+
+/**
+ * This class serves as the main window for %{APPNAME}. It handles the
+ * menus, toolbars, and status bars.
+ *
+ * @short Main window class
+ * @author $AUTHOR <$EMAIL>
+ * @version $APP_VERSION
+ */
+public class %{APPNAME} extends KMainWindow
+{
+ private %{APPNAME}View m_view;
+ private QPrinter m_printer;
+
+%{APPNAME}()
+{
+ super( null, "%{APPNAME}" );
+ m_view = new %{APPNAME}View(this);
+ m_printer = new QPrinter();
+ // accept dnd
+ setAcceptDrops(true);
+
+ // tell the KMainWindow that this is indeed the main widget
+ setCentralWidget(m_view);
+
+ // then, setup our actions
+ setupActions();
+
+ // and a status bar
+ statusBar().show();
+
+ // Apply the create the main window and ask the mainwindow to
+ // automatically save settings if changed: window size, toolbar
+ // position, icon size, etc. Also to add actions for the statusbar
+ // toolbar, and keybindings if necessary.
+ setupGUI();
+
+ // allow the view to change the statusbar and caption
+ connect(m_view, SIGNAL("signalChangeStatusbar(String)"),
+ this, SLOT("changeStatusbar(String)"));
+ connect(m_view, SIGNAL("signalChangeCaption(String)"),
+ this, SLOT("changeCaption(String)"));
+
+}
+
+public void load(KURL url)
+{
+ StringBuffer target = new StringBuffer();
+ // the below code is what you should normally do. in this
+ // example case, we want the url to our own. you probably
+ // want to use this code instead for your app
+
+ // download the contents
+ if (NetAccess.download(url, target, null))
+ {
+ // set our caption
+ setCaption(url.fileName());
+
+ // load in the file (target is always local)
+// loadFile(target);
+
+ // and remove the temp file
+ NetAccess.removeTempFile(target.toString());
+ }
+
+ setCaption(url.url());
+ m_view.openURL(url);
+}
+
+public void setupActions()
+{
+ KApplication kapp = KApplication.kApplication();
+ KStdAction.openNew(this, SLOT("fileNew()"), actionCollection());
+ KStdAction.open(this, SLOT("fileOpen()"), actionCollection());
+ KStdAction.save(this, SLOT("fileSave()"), actionCollection());
+ KStdAction.saveAs(this, SLOT("fileSaveAs()"), actionCollection());
+ KStdAction.print(this, SLOT("filePrint()"), actionCollection());
+ KStdAction.quit(kapp, SLOT("quit()"), actionCollection());
+
+ KStdAction.preferences(this, SLOT("optionsPreferences()"), actionCollection());
+
+ // this doesn't do anything useful. it's just here to illustrate
+ // how to insert a custom menu and menu item
+ KAction custom = new KAction(tr("Cus&tom Menuitem"), new KShortcut(),
+ this, SLOT("optionsPreferences()"),
+ actionCollection(), "custom_action");
+}
+
+protected void saveProperties(KConfig config)
+{
+ // the 'config' object points to the session managed
+ // config file. anything you write here will be available
+ // later when this app is restored
+
+ if (m_view.currentURL() != null)
+ config.writeEntry("lastURL", m_view.currentURL());
+}
+
+protected void readProperties(KConfig config)
+{
+ // the 'config' object points to the session managed
+ // config file. this function is automatically called whenever
+ // the app is being restored. read in here whatever you wrote
+ // in 'saveProperties'
+
+ String url = config.readPathEntry("lastURL");
+
+ if (url != null)
+ m_view.openURL(new KURL(url));
+}
+
+protected void dragEnterEvent(QDragEnterEvent event)
+{
+ // accept uri drops only
+ event.accept(QUriDrag.canDecode(event));
+}
+
+protected void dropEvent(QDropEvent event)
+{
+ // this is a very simplistic implementation of a drop event. we
+ // will only accept a dropped URL. the Qt dnd code can do *much*
+ // much more, so please read the docs there
+ ArrayList uri = new ArrayList();
+
+ // see if we can decode a URI.. if not, just ignore it
+ if (QUriDrag.decode(event, (String[]) uri.toArray()))
+ {
+ // okay, we have a URI.. process it
+ String url, target;
+ url = (String) uri.get(0);
+
+ // load in the file
+ load(new KURL(url));
+ }
+}
+
+private void fileNew()
+{
+ // this slot is called whenever the File.New menu is selected,
+ // the New shortcut is pressed (usually CTRL+N) or the New toolbar
+ // button is clicked
+
+ // create a new window
+ (new %{APPNAME}()).show();
+}
+
+private void fileOpen()
+{
+ // this slot is called whenever the File.Open menu is selected,
+ // the Open shortcut is pressed (usually CTRL+O) or the Open toolbar
+ // button is clicked
+ KURL url = KURLRequesterDlg.getURL(null, this, tr("Open Location") );
+ if (!url.isEmpty())
+ m_view.openURL(url);
+}
+
+private void fileSave()
+{
+ // this slot is called whenever the File.Save menu is selected,
+ // the Save shortcut is pressed (usually CTRL+S) or the Save toolbar
+ // button is clicked
+
+ // save the current file
+}
+
+private void fileSaveAs()
+{
+ // this slot is called whenever the File.Save As menu is selected,
+ KURL file_url = KFileDialog.getSaveURL();
+ if (!file_url.isEmpty() && file_url.isValid())
+ {
+ // save your info, here
+ }
+}
+
+private void filePrint()
+{
+ // this slot is called whenever the File.Print menu is selected,
+ // the Print shortcut is pressed (usually CTRL+P) or the Print toolbar
+ // button is clicked
+ if (m_printer == null) m_printer = new QPrinter();
+ if (QPrintDialog.getPrinterSetup(m_printer))
+ {
+ // setup the printer. with Qt, you always "print" to a
+ // QPainter.. whether the output medium is a pixmap, a screen,
+ // or paper
+ QPainter p = new QPainter();
+ p.begin(m_printer);
+
+ // we let our view do the actual printing
+ QPaintDeviceMetrics metrics = new QPaintDeviceMetrics(m_printer);
+ m_view.print(p, metrics.height(), metrics.width());
+
+ // and send the result to the printer
+ p.end();
+ }
+}
+
+private void optionsPreferences()
+{
+ // popup some sort of preference dialog, here
+ %{APPNAME}Preferences dlg = new %{APPNAME}Preferences();
+ if (dlg.exec() != 0)
+ {
+ // redo your settings
+ }
+}
+
+private void changeStatusbar(String text)
+{
+ // display the text on the statusbar
+ statusBar().message(text);
+}
+
+private void changeCaption(String text)
+{
+ // display the text on the caption
+ setCaption(text);
+}
+
+static String description =
+ "A KDE Application";
+
+static String version = "%{VERSION}";
+
+static String[][] options =
+{
+ { "+[URL]", "Document to open.", null }
+};
+
+static void main(String[] cmdLineArgs)
+{
+ KAboutData about = new KAboutData("%{APPNAMELC}", "%{APPNAME}", version, description,
+ KAboutData.License_%{LICENSE}, "(C) %{YEAR} %{AUTHOR}", null, null, "%{EMAIL}");
+ about.addAuthor( "%{AUTHOR}", null, "%{EMAIL}" );
+ KCmdLineArgs.init(cmdLineArgs, about);
+ KCmdLineArgs.addCmdLineOptions(options);
+ KApplication app = new KApplication();
+
+ // see if we are starting with session management
+ if (app.isRestored())
+ RESTORE("%{APPNAME}");
+ else
+ {
+ // no session.. just start up normally
+ KCmdLineArgs args = KCmdLineArgs.parsedArgs();
+ if (args.count() == 0)
+ {
+ %{APPNAME} widget = new %{APPNAME}();
+ widget.show();
+ }
+ else
+ {
+ int i = 0;
+ for (; i < args.count(); i++)
+ {
+ %{APPNAME} widget = new %{APPNAME}();
+ widget.show();
+ widget.load(args.url(i));
+ }
+ }
+ args.clear();
+ }
+
+ app.exec();
+ return;
+}
+
+ static {
+ qtjava.initialize();
+ kdejava.initialize();
+ }
+}
+
diff --git a/languages/java/app_templates/kappjava/app.kdevelop b/languages/java/app_templates/kappjava/app.kdevelop
new file mode 100644
index 00000000..078f5c1a
--- /dev/null
+++ b/languages/java/app_templates/kappjava/app.kdevelop
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<kdevelop>
+ <general>
+ <author>%{AUTHOR}</author>
+ <email>%{EMAIL}</email>
+ <version>%{VERSION}</version>
+ <projectmanagement>KDevAutoProject</projectmanagement>
+ <primarylanguage>Java</primarylanguage>
+ <keywords>
+ <keyword>Java</keyword>
+ <keyword>Code</keyword>
+ <keyword>Qt</keyword>
+ <keyword>KDE</keyword>
+ </keywords>
+ </general>
+ <kdevautoproject>
+ <general>
+ <activetarget>src/java</activetarget>
+ </general>
+ <run>
+ <mainprogram>src/%{APPNAMELC}</mainprogram>
+ </run>
+ </kdevautoproject>
+ <kdevfileview>
+ <groups>
+ <group pattern="*.java" name="Sources" />
+ <group pattern="*.ui" name="User Interface" />
+ <group pattern="*.png" name="Icons" />
+ <group pattern="*.po;*.ts" name="Translations" />
+ <group pattern="*" name="Others" />
+ </groups>
+ </kdevfileview>
+ <kdevdebugger>
+ <general>
+ </general>
+ </kdevdebugger>
+ <kdevdoctreeview>
+ <ignoretocs>
+ <toc>ada</toc>
+ <toc>ada_bugs_gcc</toc>
+ <toc>bash</toc>
+ <toc>bash_bugs</toc>
+ <toc>c++_bugs_gcc</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>libc</toc>
+ <toc>libstdc++</toc>
+ <toc>opengl</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>stl</toc>
+ <toc>w3c-svg</toc>
+ <toc>sw</toc>
+ <toc>w3c-uaag10</toc>
+ <toc>wxwidgets_bugs</toc>
+ </ignoretocs>
+ <ignoreqt_xml>
+ <toc>Guide to the Qt Translation Tools</toc>
+ <toc>Qt Assistant Manual</toc>
+ <toc>Qt Designer Manual</toc>
+ <toc>Qt Reference Documentation</toc>
+ <toc>qmake User Guide</toc>
+ </ignoreqt_xml>
+ <ignoredoxygen>
+ <toc>KDE Libraries (Doxygen)</toc>
+ </ignoredoxygen>
+ </kdevdoctreeview>
+ <kdevfilecreate>
+ <useglobaltypes>
+ <type ext="java"/>
+ </useglobaltypes>
+ </kdevfilecreate>
+</kdevelop>
diff --git a/languages/java/app_templates/kappjava/app_client.java b/languages/java/app_templates/kappjava/app_client.java
new file mode 100644
index 00000000..9ed90c8a
--- /dev/null
+++ b/languages/java/app_templates/kappjava/app_client.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) %{YEAR} %{AUTHOR} <%{EMAIL}>
+ */
+
+#include <kapp.h>
+#include <dcopclient.h>
+#include <qdatastream.h>
+#include <qstring.h>
+
+int main(int argc, char **argv)
+{
+ KApplication app(argc, argv, "%{APPNAMELC}_client", false);
+
+ // get our DCOP client and attach so that we may use it
+ DCOPClient *client = app.dcopClient();
+ client->attach();
+
+ // do a 'send' for now
+ QByteArray data;
+ QDataStream ds(data, IO_WriteOnly);
+ if (argc > 1)
+ ds << QString(argv[1]);
+ else
+ ds << QString("http://www.kde.org");
+ client->send("%{APPNAMELC}", "%{APPNAME}Iface", "openURL(QString)", data);
+
+ return app.exec();
+}
diff --git a/languages/java/app_templates/kappjava/appui.rc b/languages/java/app_templates/kappjava/appui.rc
new file mode 100644
index 00000000..ceb4f14e
--- /dev/null
+++ b/languages/java/app_templates/kappjava/appui.rc
@@ -0,0 +1,8 @@
+<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
+<kpartgui name="%{APPNAMELC}" version="1">
+<MenuBar>
+ <Menu name="custom"><text>C&amp;ustom</text>
+ <Action name="custom_action" />
+ </Menu>
+</MenuBar>
+</kpartgui>
diff --git a/languages/java/app_templates/kappjava/appview.java b/languages/java/app_templates/kappjava/appview.java
new file mode 100644
index 00000000..1ead5458
--- /dev/null
+++ b/languages/java/app_templates/kappjava/appview.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) %{YEAR} %{AUTHOR} <%{EMAIL}>
+ */
+
+import java.util.*;
+import org.kde.qt.*;
+import org.kde.koala.*;
+
+/**
+ * This is the main view class for %{APPNAME}. Most of the non-menu,
+ * non-toolbar, and non-statusbar (e.g., non frame) GUI code should go
+ * here.
+ *
+ * This %{APPNAMELC} uses an HTML component as an example.
+ *
+ * @short Main view
+ * @author %{AUTHOR} <%{EMAIL}>
+ * @version %{VERSION}
+ */
+public class %{APPNAME}View extends QWidget
+{
+
+ QHBoxLayout top_layout;
+
+public %{APPNAME}View(QWidget parent)
+{
+ super(parent, null);
+ // setup our layout manager to automatically add our widgets
+ top_layout = new QHBoxLayout(this);
+ top_layout.setAutoAdd(true);
+
+ // we want to look for all components that satisfy our needs. the
+ // trader will actually search through *all* registered KDE
+ // applications and components -- not just KParts. So we have to
+ // specify two things: a service type and a constraint
+ //
+ // the service type is like a mime type. we say that we want all
+ // applications and components that can handle HTML -- 'text/html'
+ //
+ // however, by itself, this will return such things as Netscape..
+ // not what we wanted. so we constrain it by saying that the
+ // string 'KParts/ReadOnlyPart' must be found in the ServiceTypes
+ // field. with this, only components of the type we want will be
+ // returned.
+ ArrayList offers = KTrader.self().query("text/html", "'KParts/ReadOnlyPart' in ServiceTypes");
+
+ KLibFactory factory = null;
+ // in theory, we only care about the first one.. but let's try all
+ // offers just in case the first can't be loaded for some reason
+ Iterator it = offers.iterator();
+ while(it.hasNext())
+ {
+ KService ptr = (KService) it.next();
+
+ // we now know that our offer can handle HTML and is a part.
+ // since it is a part, it must also have a library... let's try to
+ // load that now
+ factory = KLibLoader.self().factory( ptr.library() );
+ if (factory != null)
+ {
+ m_html = (ReadOnlyPart) factory.create(this, ptr.name(), "KParts::ReadOnlyPart");
+ break;
+ }
+ }
+
+ // if our factory is invalid, then we never found our component
+ // and we might as well just exit now
+ if (factory == null)
+ {
+ KMessageBox.error(this, "Could not find a suitable HTML component");
+ return;
+ }
+
+ connect(m_html, SIGNAL("setWindowCaption(String)"),
+ this, SLOT("slotSetTitle(String)"));
+ connect(m_html, SIGNAL("setStatusBarText(String)"),
+ this, SLOT("slotOnURL(String)"));
+
+}
+
+
+public void print(QPainter p, int height, int width)
+{
+ // do the actual printing, here
+ // p.drawText(etc..)
+}
+
+public String currentURL()
+{
+ return m_html.url().url();
+}
+
+public void openURL(String url)
+{
+ openURL(new KURL(url));
+}
+
+public void openURL(KURL url)
+{
+ m_html.openURL(url);
+}
+
+private void slotOnURL(String url)
+{
+ emit("signalChangeStatusbar", url);
+}
+
+private void slotSetTitle(String title)
+{
+ emit("signalChangeCaption", title);
+}
+
+private ReadOnlyPart m_html;
+
+}
diff --git a/languages/java/app_templates/kappjava/kappjava b/languages/java/app_templates/kappjava/kappjava
new file mode 100644
index 00000000..e199ac25
--- /dev/null
+++ b/languages/java/app_templates/kappjava/kappjava
@@ -0,0 +1,10 @@
+# KDE Config File
+[General]
+Name=Application framework
+Name[fr]=Squelette d'application
+Icon=kappjava.png
+Category=Java/KDE
+Comment=Generates a simple Java KDE application with one toplevel window, menus and toolbars.
+Comment[fr]=Gnre une simple application KDE dans le language JAVA avec une fentre principale, des menus, et des barres d'outils.
+FileTemplates=java,CStyle
+ShowFilesAfterGeneration=src/APPNAMEView.java
diff --git a/languages/java/app_templates/kappjava/kappjava.kdevtemplate b/languages/java/app_templates/kappjava/kappjava.kdevtemplate
new file mode 100644
index 00000000..3fd80ca8
--- /dev/null
+++ b/languages/java/app_templates/kappjava/kappjava.kdevtemplate
@@ -0,0 +1,163 @@
+# KDE Config File
+[General]
+Name=Application framework
+Name[ca]=Infraestructura d'aplicacions
+Name[da]=Programskelet
+Name[de]=Anwendungsgrundgerüst
+Name[el]=Πλαίσιο εφαρμογής
+Name[es]=Infraestructura de aplicación
+Name[et]=Rakenduse raamistik
+Name[eu]=Aplikazioen lan-markoa
+Name[fa]=چارچوب کاربرد
+Name[fr]=Infrastructure d'application
+Name[ga]=Creatlach feidhmchláir
+Name[gl]=Entorno de traballo para aplicación
+Name[hu]=Alkalmazás-keretrendszer
+Name[it]=Infrastruttura applicativa
+Name[ja]=アプリケーションフレームワーク
+Name[nds]=Programmrahmenwark
+Name[ne]=अनुप्रयोग फ्रेमवर्क
+Name[nl]=Applicationframework
+Name[pl]=Szablon programu
+Name[pt]=Plataforma de aplicações
+Name[pt_BR]=Plataforma de aplicações
+Name[ru]=Приложение KDE
+Name[sk]=Aplikačný framework
+Name[sl]=Ogrodje programa
+Name[sr]=Радни оквир програма
+Name[sr@Latn]=Radni okvir programa
+Name[sv]=Programramverk
+Name[tr]=Uygulama Çatısı
+Name[zh_CN]=应用程序框架
+Name[zh_TW]=應用程式框架
+Icon=kappjava.png
+Category=Java/KDE
+Comment=Generates a simple Java KDE application with one toplevel window, menus and toolbars.
+Comment[ca]=Genera una simple aplicació per al KDE en Java amb una finestra principal, menús i barres d'eines.
+Comment[da]=Genererer et simpelt Java KDE program med et vindue på topniveau, menuer og værktøjslinjer.
+Comment[de]=Erstellt eine einfache Java-KDE-Anwendung mit einem Toplevel-Fenster, Menüs und Werkzeugleisten.
+Comment[el]=Δημιουργεί μια απλή εφαρμογή Java του KDE με ένα ανώτερο παράθυρο, μενού, και γραμμές εργαλείων.
+Comment[es]=Genera una sencilla aplicación para KDE en Java, con una ventana principal, menús y barras de herramientas.
+Comment[et]=Lihtsa Java KDE rakenduse loomine ühe tipptaseme akna, menüüde ja tööriistaribadega.
+Comment[eu]=Goi-mailako lehio bat, menuak eta tresna-barrak dituen Java KDE aplikazio bat sortzen du.
+Comment[fa]=یک کاربرد سادۀ KDE جاوا با یک پنجرۀ سطح بالا، گزینگان و میله‌های ابزار تولید می‌کند.
+Comment[fr]=Génère une application KDE simple en Java comprenant une fenêtre de premier niveau, des menus et des barres d'outils.
+Comment[gl]=Xera unha aplicación sinxela KDE en Java cunha xanela principal, menús e barras de ferramentas.
+Comment[hu]=Létrehoz egy egyszerű Java-alapú KDE-alkalmazást egy főablakkal, menükkel és eszköztárakkal.
+Comment[it]=Genera una semplice applicazione KDE Java con una finestra toplevel, menu e barre degli strumenti.
+Comment[nds]=Stellt en eenfach KDE-Programm in Java mit een böverst Finster, Menüs un Warktüüchbalkens op.
+Comment[ne]=एउटा उच्चतह सञ्झ्याल, मेनु र उपकरणपट्टीसँग साधारण जाभा केडीई अनुप्रयोग उत्पन्न गर्दछ ।
+Comment[nl]=Genereert een eenvoudige Java KDE-toepassing met een toplevel window, menu's en toolbars.
+Comment[pl]=Generuje prosty program KDE w Javie posiadający okno, menu i paski narzędzi.
+Comment[pt]=Gera uma aplicação para KDE simples em Java, com uma janela de topo, menus e barras de ferramentas.
+Comment[pt_BR]=Gera uma aplicação para KDE simples em Java, com uma janela de topo, menus e barras de ferramentas.
+Comment[ru]=Создание простого приложения Java KDE с окном, меню и панелями инструментов.
+Comment[sk]=Vygeneruje jednoduchú Java KDE aplikáciu s jedným oknom, menu a panelom nástrojov.
+Comment[sr]=Прави једноставан Java KDE програм са једним прозором највишег нивоа, менијима и тракама са алатом.
+Comment[sr@Latn]=Pravi jednostavan Java KDE program sa jednim prozorom najvišeg nivoa, menijima i trakama sa alatom.
+Comment[sv]=Skapar ett enkelt Java KDE-program med ett toppnivåfönster, menyer och verktygsrader.
+Comment[tr]=Bir üst seviye penceresi, menüleri ve araç çubukları olan basit bir Java KDE uygulaması yaratır.
+Comment[zh_CN]=生成一个简单的带有顶级窗口、菜单和工具栏的 Java KDE 应用程序。
+Comment[zh_TW]=產生一個簡單的 Java KDE 應用程式,內含頂層視窗、選單與工具列。
+FileTemplates=java,CStyle
+ShowFilesAfterGeneration=%{dest}/src/%{APPNAME}View.java
+Archive=kappjava.tar.gz
+
+[ADMIN]
+Type=include
+File=%{kdevelop}/template-common/admin.kdevtemplate
+
+[GNU]
+Type=include
+File=%{kdevelop}/template-common/gnu.kdevtemplate
+
+[DOCBOOK]
+Type=include
+File=%{kdevelop}/template-common/dockbook.kdevtemplate
+
+[FILE4]
+Type=install
+EscapeXML=true
+Source=%{src}/app.kdevelop
+Dest=%{dest}/%{APPNAMELC}.kdevelop
+
+[FILE5]
+Type=install
+Source=%{kdevelop}/template-common/kde-Makefile.am
+Dest=%{dest}/Makefile.am
+
+[FILE6]
+Type=install
+Source=%{kdevelop}/template-common/kde-Makefile.cvs
+Dest=%{dest}/Makefile.cvs
+
+[FILE7]
+Type=install
+Source=%{kdevelop}/template-common/kde-configure.in.in
+Dest=%{dest}/configure.in.in
+
+[MkDir3]
+Type=mkdir
+Dir=%{dest}/src
+
+[FILE8]
+Type=install
+Source=%{kdevelop}/template-common/kde-app.desktop
+Dest=%{dest}/src/%{APPNAMELC}.desktop
+
+[FILE9]
+Type=install
+Source=%{kdevelop}/template-common/kde-app.lsm
+Dest=%{dest}/src/%{APPNAMELC}.lsm
+
+[FILE10]
+Type=install
+Source=%{kdevelop}/template-common/hi16-app-app.png
+Dest=%{dest}/src/hi16-app-%{APPNAMELC}.png
+Process=false
+
+[FILE11]
+Type=install
+Source=%{kdevelop}/template-common/hi32-app-app.png
+Dest=%{dest}/src/hi32-app-%{APPNAMELC}.png
+Process=false
+
+[MkDir4]
+Type=mkdir
+Dir=%{dest}/po
+
+[FILE12]
+Type=install
+Source=%{kdevelop}/template-common/kde-po-Makefile.am
+Dest=%{dest}/po/Makefile.am
+
+[FILE13]
+Type=install
+Source=%{src}/subdirs
+Dest=%{dest}/subdirs
+
+[FILE14]
+Type=install
+Source=%{src}/src-Makefile.am
+Dest=%{dest}/src/Makefile.am
+
+[FILE15]
+Type=install
+Source=%{src}/app.java
+Dest=%{dest}/src/%{APPNAME}.java
+
+[FILE16]
+Type=install
+Source=%{src}/appview.java
+Dest=%{dest}/src/%{APPNAME}View.java
+
+[FILE17]
+Type=install
+Source=%{src}/pref.java
+Dest=%{dest}/src/%{APPNAME}Preferences.java
+
+[FILE18]
+Type=install
+Source=%{src}/appui.rc
+Dest=%{dest}/src/%{APPNAMELC}ui.rc
+
diff --git a/languages/java/app_templates/kappjava/kappjava.png b/languages/java/app_templates/kappjava/kappjava.png
new file mode 100644
index 00000000..913ebb87
--- /dev/null
+++ b/languages/java/app_templates/kappjava/kappjava.png
Binary files differ
diff --git a/languages/java/app_templates/kappjava/pref.java b/languages/java/app_templates/kappjava/pref.java
new file mode 100644
index 00000000..a50fdb31
--- /dev/null
+++ b/languages/java/app_templates/kappjava/pref.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) %{YEAR} %{AUTHOR} <%{EMAIL}>
+ */
+
+import java.util.*;
+import org.kde.qt.*;
+import org.kde.koala.*;
+
+public class %{APPNAME}Preferences extends KDialogBase
+{
+private %{APPNAME}PrefPageOne m_pageOne;
+private %{APPNAME}PrefPageTwo m_pageTwo;
+
+public %{APPNAME}Preferences()
+{
+ super(TreeList, "%{APPNAME} Preferences",
+ Help|Default|Ok|Apply|Cancel, Ok);
+
+ // this is the base class for your preferences dialog. it is now
+ // a Treelist dialog.. but there are a number of other
+ // possibilities (including Tab, Swallow, and just Plain)
+ QFrame frame;
+ frame = addPage(tr("First Page"), tr("Page One Options"));
+ m_pageOne = new %{APPNAME}PrefPageOne(frame);
+
+ frame = addPage(tr("Second Page"), tr("Page Two Options"));
+ m_pageTwo = new %{APPNAME}PrefPageTwo(frame);
+}
+
+public class %{APPNAME}PrefPageOne extends QFrame {
+public %{APPNAME}PrefPageOne(QWidget parent)
+{
+ super(parent);
+ QHBoxLayout layout = new QHBoxLayout(this);
+ layout.setAutoAdd(true);
+
+ new QLabel("Add something here", this);
+}
+}
+
+public class %{APPNAME}PrefPageTwo extends QFrame {
+public %{APPNAME}PrefPageTwo(QWidget parent)
+{
+ super(parent);
+ QHBoxLayout layout = new QHBoxLayout(this);
+ layout.setAutoAdd(true);
+
+ new QLabel("Add something here", this);
+}
+}
+
+}
diff --git a/languages/java/app_templates/kappjava/src-Makefile.am b/languages/java/app_templates/kappjava/src-Makefile.am
new file mode 100644
index 00000000..6468994c
--- /dev/null
+++ b/languages/java/app_templates/kappjava/src-Makefile.am
@@ -0,0 +1,18 @@
+## Makefile.am for %{APPNAMELC}
+
+JAVAROOT = .
+
+# which sources should be compiled for %{APPNAMELC}
+java_JAVA = %{APPNAME}.java %{APPNAME}View.java \
+ %{APPNAME}Preferences.java
+
+
+KDE_ICON = %{APPNAMELC}
+
+# this is where the kdelnk file will go
+kdelnkdir = $(kde_appsdir)/Utilities
+kdelnk_DATA = %{APPNAMELC}.desktop
+
+# this is where the XML-GUI resource file goes
+rcdir = $(kde_datadir)/%{APPNAMELC}
+rc_DATA = %{APPNAMELC}ui.rc
diff --git a/languages/java/app_templates/kappjava/subdirs b/languages/java/app_templates/kappjava/subdirs
new file mode 100644
index 00000000..0e678106
--- /dev/null
+++ b/languages/java/app_templates/kappjava/subdirs
@@ -0,0 +1,3 @@
+doc
+po
+src
diff --git a/languages/java/app_templates/superwaba/.kdev_ignore b/languages/java/app_templates/superwaba/.kdev_ignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/languages/java/app_templates/superwaba/.kdev_ignore
diff --git a/languages/java/app_templates/superwaba/Makefile.am b/languages/java/app_templates/superwaba/Makefile.am
new file mode 100644
index 00000000..8c27b8d5
--- /dev/null
+++ b/languages/java/app_templates/superwaba/Makefile.am
@@ -0,0 +1,16 @@
+dataFiles = superwaba.png sw.java src-Makefile sw.kdevelop sw.filelist
+templateName = superwaba
+
+### no need to change below:
+template_DATA = $(templateName).kdevtemplate
+templatedir = ${appwizarddatadir}/templates
+
+appwizarddatadir = ${kde_datadir}/kdevappwizard
+$(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/java/app_templates/superwaba/src-Makefile b/languages/java/app_templates/superwaba/src-Makefile
new file mode 100644
index 00000000..84b55ece
--- /dev/null
+++ b/languages/java/app_templates/superwaba/src-Makefile
@@ -0,0 +1,226 @@
+# Makefile template
+#
+# for using WABA and SUPERWABA on Linux systems
+#
+# Doug Lawson (dlawson@cablespeed.com)
+# Modified for use with KDevelop by Ian Reinhart Geiser <geiseri@kde.org>
+
+# Copyright (c) Doug Lawson 2003
+# developed for classes I teach.
+#
+# may be distributed under GPL
+# (http://www.gnu.org/licenses/gpl.html)
+# or any other license that allows it to be freely used.
+#
+# please let me know about any improvements you make
+
+VERSION = %{VERSION}
+# What are we building? We put the names here at the
+# top to make it easy to change
+
+MAINCLASSNAME = %{APPNAME}
+
+# ExtraClassList will be blank if the app consists of
+# only one class
+EXTRACLASSLIST =
+
+# Is there an icon for this program? If there
+# is, create an icon argument for exegen
+#
+# Exegen will automatically look for icons
+# so this may not be needed. Run
+# java Exegen /?
+# for help on Exegen
+#
+# If you use this line, make sure to un-comment it!
+#
+# ICONFLAG = /I Icon
+
+# Like ICONFLAG, height and width may be specified, or
+# you may accept the default. On PalmOS, the app will run
+# full-screen by default, which is usually what you want.
+#
+# If you want the same look on PalmOS as on
+# Windows CE, you should specify height and width
+#
+# run
+# java Exegen /?
+# for more information, or see the docs.
+#
+# HEIGHT = /h 160
+# WIDTH = /w 160
+
+# CAB Options
+# The /Z parameter is used to create eight cab files so your application can
+# easily be installed in all compatible Windows CE platforms. You may pass,
+# optionally, a .swz file with some global and local libraries used by your
+# app. For example, if you need to install the TinyLarge.pdb font and also a
+# custom database, E.g. mydata.pdb, you must copy all files to the current
+# directory, then create a myapp.swz file with the following contents:
+#
+# [G]TinyLarge.pdb
+# [L]mydata.pdb
+#
+# The [G] denotes a global library (fonts are always global libraries), and the
+# [L] denotes a local library.
+# The user will then have two options to start the installation process:
+# 1. Run the created xxx_install.bat file, or
+# 2. If the cab files are available in the internet, the user may launch the
+# browser from inside the device, connect to the site and choose the appropriate
+# cab file. The browser will then download and install the file.
+# The /Z parameter works on in the Windows platform.
+SWZFILE =
+CABFLAGS = /Z $(SWZFILE)
+
+# ------------------------------------------------------
+# Most of the stuff below this line will not change
+# very often. If you change Java SDKs or re-install
+# waba or superwaba, you may need to change it.
+
+# first, the locations of the various java components.
+# On a *NIX system, they will usually be in something
+# like the directories listed here.
+
+
+# The flags and arguments here have been developed for use with
+# the SUN jdk v1.3. Read your java documentation carefully,
+# don't just blindly assume that what I have here will work
+# with your setup.
+
+JAVADIR = %{JAVADIR}
+JAVABINDIR = $(JAVADIR)/bin
+JAVAC = $(JAVABINDIR)/javac
+JAR = $(JAVABINDIR)/jar
+
+# Java Compiler flags and arguments. For these makefiles,
+# it is easiest if we include the CLASSPATH in the command
+# line.
+JCFLAGS = -classpath $(CLASSPATH)
+
+JAVA = $(JAVABINDIR)/java
+JAVAFLAGS = -classpath $(CLASSPATH)
+
+APPLETVIEWER = $(JAVABINDIR)/appletviewer
+AVFLAGS = -J-classpath -J$(CLASSPATH)
+
+
+# next, where are all the WABA bits and pieces?
+WABADIR = %{WABADIR}
+WABABINDIR = $(WABADIR)/superwaba/bin
+WABAEXTRADIR = $(WABADIR)/superwaba
+
+################################################################################
+# You should not have to change anything below this line.
+################################################################################
+# the classpath will have to tell java where to find the waba stuff.
+#
+# the CLASSPATH here is set to let java find
+# - the classes it needs to produce the executable class files
+# - the waba.applet class, Warp.class, and Exegen.class
+#
+# This strategy works so far, but it may (conceivably) produce a
+# conflict at some point. Be warned. You may want to use a CLASSPATH
+# that leaves out waba.applet, Warp and/or Exegen.
+#
+CLASSPATH = $(WABADIR):$(WABAEXTRADIR):$(WABAEXTRADIR)/classes:$(WABABINDIR):.
+
+# exegen and warp
+#
+# exegen is the EXEcutable GENerator. It takes the
+# main waba/java class (which usually extends MainWindow)
+# and makes it into a program that will automagically run
+# itself under waba or superwaba on a PalmOS gadget.
+#
+# Since the palm program has a .prc extension, it is called
+# PRCFILE here.
+#
+# Exegen also creates a .exe file for Window CE
+#
+# warp is the Waba Application Resource Packager.
+# It bundles the classes and other resources into
+# a single PALM database file (which is also used
+# by the Win CE executable). This file has a .pdb
+# extension. In this makefile it is called PDBFILE
+#
+# The standard waba SDK has only the MS-Windows *.exe files.
+# for exegen and warp
+#
+# Although there are exegen and warp native binaries for Linux,
+# they don't seem to work very well. The solution has been to
+# write those programs in Java.
+#
+# for waba, use the java apps
+# from http://www.wn.com.au/rnielsen/wextras/
+# (Rob Nielsen). Getting all the paths to fall into the right
+# place takes a little tuning, though (which is why this makefile
+# is here, I suppose)
+#
+# For superwaba, the same programs are included in the
+# distribution
+
+
+EXEGEN = $(JAVA) $(JAVAFLAGS) Exegen
+EXEGENFLAGS = $(HEIGHT) $(WIDTH) $(ICONFLAG) /L /V $(VERSION) $(CABFLAGS)
+
+WARP = $(JAVA) $(JAVAFLAGS) Warp
+WARPFLAGS = c
+
+MAINCLASS = $(MAINCLASSNAME).class
+EXTRACLASSES = $(EXTRACLASSLIST)
+
+WEBPAGE = $(MAINCLASSNAME).html
+
+PRCBASENAME = $(MAINCLASSNAME)
+PDBBASENAME = $(MAINCLASSNAME)
+
+PDBFILE = $(PDBBASENAME).pdb
+PRCFILE = $(PRCBASENAME).prc
+
+
+all: $(PDBFILE) $(PRCFILE)
+
+$(PRCFILE): $(PDBFILE)
+ $(EXEGEN) $(EXEGENFLAGS) $(PRCBASENAME) $(MAINCLASSNAME) $(PDBBASENAME)
+
+# you may want to change this one so that Warp only handles
+# the classes you tell it to (instead of using the wildcard '*.class')
+# Use the second pair of lines below, which are commented out.
+#
+# Note that there is a potential problem if your program generates
+# inner classes (which have names like
+# 'ClockPanel$SettingsWindow.class'.
+# If that is the case, the wildcard *.class filespec is guaranteed to
+# include them in the make dependency.
+
+$(PDBFILE): $(MAINCLASS) $(EXTRACLASSES)
+ $(WARP) $(WARPFLAGS) $(PDBBASENAME) *.class
+
+# $(PDBFILE): $(MAINCLASS) $(EXTRACLASSES)
+# $(WARP) $(WARPFLAGS) $(PDBBASENAME) $(MAINCLASS) $(EXTRACLASSES)
+
+# Below, we just tell make how to create foo.class if it can find
+# foo.java
+
+%.class: %.java
+ $(JAVAC) $(JCFLAGS) $<
+
+# note that the 'test' target DOES NOT INCLUDE A DEPENDENCY
+# for the java classes. This way, you can keep doing tests of the old
+# class while you rewrite the source (foo.java).
+
+test:
+ echo "running this test does not rebuild any of the targets" ;\
+ $(JAVA) $(JAVAFLAGS) waba.applet.Applet $(MAINCLASSNAME)
+
+# Since I haven't (yet) got the code written to generate the
+# web page, target 'applettest' is commented out. If you want
+# to create the web page by hand and test it, be my guest.
+
+# applettest: $(WEBPAGE)
+# $(APPLETVIEWER) $(AVFLAGS) $(webpage)
+
+clean:
+ rm -f *.class *.pdb *.prc *.lnk
+
+jar: $(MAINCLASS) $(EXTRACLASSES)
+ $(JAR) -cvfm $(MAINCLASSNAME).jar $(MAINCLASSNAME).mft $(MAINCLASS) $(EXTRACLASSES)
diff --git a/languages/java/app_templates/superwaba/superwaba b/languages/java/app_templates/superwaba/superwaba
new file mode 100644
index 00000000..eea98775
--- /dev/null
+++ b/languages/java/app_templates/superwaba/superwaba
@@ -0,0 +1,54 @@
+# KDE Config File
+[General]
+Name=SuperWaba
+Name[fr]=Une application SuperWaba
+Icon=superwaba.png
+Category=Java
+Comment=A simple template for building SuperWaba Java based apps on WinCE and PalmOS. More information can be found at http://www.superwaba.org
+Comment[fr]=Gnre un simple modle d'application JAVA en utilisant SuperWaba pour les environnements WinCE et PalmOS. Plus d'informations peuvent tre trouv l'URL suivante : http://www.superwaba.org.
+FileTemplates=java
+ShowFilesAfterGeneration=APPNAME.java
+Archive=superwaba.tar.gz
+
+[JAVA]
+Type=value
+Value=JAVA
+Comment=Path to your java root
+Default=/usr/lib/java
+ValueType=QString
+
+[WABA]
+Type=value
+Value=WABA
+Comment=Path to your SuperWaba root
+Default=/usr/lib
+ValueType=QString
+
+[GNU]
+Type=install archive
+Source=%{kdevelop}/template-common/gnu.tar.gz
+Dest=%{dest}
+
+[PROJECT]
+Type=install
+Source=%{src}/sw.kdevelop
+Dest=%{dest}/%{APPNAMELC}.kdevelop
+
+[FILELIST]
+Type=install
+Source=%{src}/sw.filelist
+Dest=%{dest}/%{APPNAMELC}.filelist
+
+[MAKEFILE]
+Type=install
+Source=%{src}/src-Makefile
+Dest=%{dest}/Makefile
+
+[SOURCE]
+Type=install
+Source=%{src}/sw.java
+Dest=%{dest}/%{APPNAME}.java
+
+[MESSAGE]
+Type=Message
+Comment=Your application is setup to build. Edit the make targets to customize the file.
diff --git a/languages/java/app_templates/superwaba/superwaba.kdevtemplate b/languages/java/app_templates/superwaba/superwaba.kdevtemplate
new file mode 100644
index 00000000..a963caac
--- /dev/null
+++ b/languages/java/app_templates/superwaba/superwaba.kdevtemplate
@@ -0,0 +1,166 @@
+# KDE Config File
+[General]
+Name=SuperWaba
+Name[ne]=सुपरवाभा
+Icon=superwaba.png
+Category=Java
+Comment=A simple template for building SuperWaba Java based apps on WinCE and PalmOS. More information can be found at http://www.superwaba.org
+Comment[ca]=Una simple plantilla per a construir aplicacions basades en SuperWaba Java per a WinCE i PalmOS. Podeu trobar més informació a http://www.superwaba.org
+Comment[da]=En simpel skabelon til at bygge SuperWaba Java baserede programmer på WinCE og PalmOS. Mere information kan findes på http://www.superwaba.org
+Comment[de]=Eine einfache Vorlage zum Erstellen von auf Java basierenden SuperWaba-Anwendungen unter WinCE und PalmOS. Weitere Informationen erhalten Sie auf http://www.superwaba.org.
+Comment[el]=Ένα απλό πρότυπο για την κατασκευή εφαρμογών SuperWaba Java για τα WinCE και PalmOS. Περισσότερες πληροφορίες μπορούν να βρεθούν στο http://www.superwaba.org
+Comment[es]=Una plantilla sencilla para crear aplicaciones basadas en SuperWaba Java para WinCE y PalmOS. Puede encontrar más información en http://www.superwaba.org
+Comment[et]=Lihtne mall rakenduste loomiseks SuperWaba Java põhjal WinCE ja PalmOS'i tarbeks. Rohkem infot annab http://www.superwaba.org
+Comment[eu]=WinCE eta PalmOS sistema eragileetan SuperWaba Javan oinarritutako aplikazioak sortzeko txantiloi sinple bat. Informazio gehiagorako: http://www.superwaba.org
+Comment[fa]=یک قالب ساده برای ساختن کاربردهای بر مبنای SuperWaba جاوا روی WinCE و PalmOS. اطلاعات بیشتر می‌تواند در http://www.superwaba.org یافت شود
+Comment[fr]=Un modèle simple pour construire des applications basées sur Java SuperWaba pour WinCE et PalmOS. Vous trouverez plus d'informations sur http://www.superwaba.org
+Comment[gl]=Un modelo sinxelo para crear aplicacións SuperWaba baseadas en Java para WinCE e PalmOS. Pode atopar máis información en http://www.superwaba.org
+Comment[hu]=Egyszerű sablon SuperWaba Java-alkalmazások készítéséhez, WinCE és PalmOS platformra. Részletes információ itt található: http://www.superwaba.org
+Comment[it]=Un semplice modello per compilare applicazioni Java SuperWaba basato su WinCE e PalmOS. Ulteriori informazioni possono essere trovate visitando http://www.superwaba.org/
+Comment[nds]=En eenfach Vörlaag för't Opstellen vun op WinCE un PalmOS opbuut SuperWaba-Programmen. Mehr Informatschonen laat sik op http://www.superwaba.org finnen
+Comment[ne]=WinCE र PalmOS मा सुपरवाभा जाभा आधारित अनुप्रयोग निर्माणका लागि साधारण टेम्प्लेट । बढी जानकारी http://www.superwaba.org मा फेला पार्न सकिन्छ ।
+Comment[nl]=Een eenvouidg sjabloon voor het bouwen van SuperWaba Java-gebaseerde toepassingen op WinCE en PalmOS. Meer informatie vindt u op http://www.superwaba.org.
+Comment[pl]=Prosty szablon do budowania programów w Javie wykorzystujących SuperWaba w środowiskach WinCE oraz PalmOS. Więcej informacji można znaleźć na stronie http://www.superwaba.org
+Comment[pt]=Um modelo simples para criara aplicações Java, baseadas no SuperWaba, para o WinCE e o PalmOS. Poderá encontrar mais informações em http://www.superwaba.org
+Comment[pt_BR]=Um modelo simples para criara aplicações Java, baseadas no SuperWaba, para o WinCE e o PalmOS. Poderá encontrar mais informações em http://www.superwaba.org
+Comment[ru]=Создание приложения SuperWaba Java для устройств WinCE и PalmOS. Дополнительную информацию можно найти на http://www.superwaba.org
+Comment[sk]=Jednoduchá šablóna pre vytváranie SuperWaba Java Aplikácií na WinCE a PalmOS. Viac informácií môžte nájsť na http://www.superwaba.org
+Comment[sr]=Једноставан шаблон за градњу SuperWaba програма на основу Java-е, за WinCE и PalmOS. Више информација на http://www.superwaba.org
+Comment[sr@Latn]=Jednostavan šablon za gradnju SuperWaba programa na osnovu Java-e, za WinCE i PalmOS. Više informacija na http://www.superwaba.org
+Comment[sv]=En enkel mall för att bygga SuperWaba Java-baserade program på WinCE och PalmOS. Mer information hittas på http://www.superwaba.org.
+Comment[tr]=WinCE ve PalmOS üstünde SuperWaba tabanlı Java uygulamarı yapmak için basit bir şablon. Daha fazla bilgi http://www.superwaba.org/ adresinde bulunabilir.
+Comment[zh_CN]=在 WinCE 和 PalmOS 上构建基于 SuperWaba Java 应用程序的简单模板。更多信息可以在 http://www.superwaba.org 找到
+Comment[zh_TW]=一個簡單的建立在 WinCE 與 PalmOS 上執行的 SuperWaba Java 應用程式。您可以在 http://www.superwaba.org 取得更多資訊。
+FileTemplates=java
+ShowFilesAfterGeneration=%{dest}/%{APPNAME}.java
+Archive=superwaba.tar.gz
+
+[JAVA]
+Type=value
+Value=JAVA
+Comment=Path to your java root
+Comment[ca]=Ruta cap a la vostra arrel Java
+Comment[da]=Sti til din java-rod
+Comment[de]=Pfad zum Stammordner von Java
+Comment[el]=Διαδρομή στο κατάλογό σας της java
+Comment[es]=Ruta a su carpeta raíz Java
+Comment[et]=Java juurkataloogi asukoht
+Comment[eu]=Zure java erroaren bide-izena
+Comment[fa]=مسیر ریشۀ جاوای شما
+Comment[fr]=Chemin vers votre racine Java
+Comment[gl]=Ruta a súa instalación de java
+Comment[hu]=A Java-alapkönyvtár elérési útja
+Comment[it]=Percorso alla radice java
+Comment[ja]=Java ルートへのパス
+Comment[nds]=Padd na Dien Java-Wörtelorner
+Comment[ne]=तपाईँको जाभा रूटको मार्ग
+Comment[nl]=Pad naar uw Java-hoofdmap
+Comment[pl]=Ścieżka do głównego katalogu Javy
+Comment[pt]=A localização de base do seu Java
+Comment[pt_BR]=A localização de base do seu Java
+Comment[ru]=Путь к корневому каталогу Java
+Comment[sk]=Cesta ku java koreňu
+Comment[sr]=Путања до вашег корена Java-е
+Comment[sr@Latn]=Putanja do vašeg korena Java-e
+Comment[sv]=Sökväg till Java-rotkatalog
+Comment[zh_CN]=您的 Java 根路径
+Comment[zh_TW]=您的 java 根路徑
+Default=/usr/lib/java
+ValueType=QString
+
+[WABA]
+Type=value
+Value=WABA
+Comment=Path to your SuperWaba root
+Comment[ca]=Ruta cap a la vostra arrel SuperWaba
+Comment[da]=Sti til din SuperWaba-rod
+Comment[de]=Pfad zum Stammordner von SuperWaba
+Comment[el]=Διαδρομή στο κατάλογό σας της SuperWaba
+Comment[es]=Ruta a su carpeta raíz de SuperWaba
+Comment[et]=SuperWaba juurkataloogi asukoht
+Comment[eu]=Zure SuperWaba erroaren bide-izena
+Comment[fa]=مسیر ریشۀ SuperWaba شما
+Comment[fr]=Chemin vers votre racine SuperWaba
+Comment[gl]=Ruta a súa instalación de SuperWaba
+Comment[hu]=A SuperWaba-alapkönyvtár elérési útja
+Comment[it]=Percorso alla radice SuperWaba
+Comment[ja]=SuperWaba ルートへのパス
+Comment[nds]=Padd na Dien SuperWaba-Wörtelorner
+Comment[ne]=तपाईँको सुपरवाभा रूटको मार्ग
+Comment[nl]=Pad naar uw SuperWaba-hoofdmap
+Comment[pl]=Ścieżka do głównego katalogu SuperWaba
+Comment[pt]=A localização de base do seu SuperWaba
+Comment[pt_BR]=A localização de base do seu SuperWaba
+Comment[ru]=Путь к корневому каталогу SuperWaba
+Comment[sk]=Cesta ku SuperWaba koreňu
+Comment[sr]=Путања до вашег корена SuperWaba-е
+Comment[sr@Latn]=Putanja do vašeg korena SuperWaba-e
+Comment[sv]=Sökväg till SuperWaba-rotkatalog
+Comment[tr]=SuperWaba kök dizininizin yolu
+Comment[zh_CN]=您的 SuperWaba 根路径
+Comment[zh_TW]=您的 SuperWaba 根路徑
+Default=/usr/lib
+ValueType=QString
+
+[GNU]
+Type=install archive
+Source=%{kdevelop}/template-common/gnu.tar.gz
+Dest=%{dest}
+
+[PROJECT]
+Type=install
+EscapeXML=true
+Source=%{src}/sw.kdevelop
+Dest=%{dest}/%{APPNAMELC}.kdevelop
+
+[FILELIST]
+Type=install
+Source=%{src}/sw.filelist
+Dest=%{dest}/%{APPNAMELC}.filelist
+
+[MAKEFILE]
+Type=install
+Source=%{src}/src-Makefile
+Dest=%{dest}/Makefile
+
+[SOURCE]
+Type=install
+Source=%{src}/sw.java
+Dest=%{dest}/%{APPNAME}.java
+
+[MESSAGE]
+Type=Message
+Comment=Your application is setup to build. Edit the make targets to customize the file.
+Comment[ca]=La vostra aplicació està llesta per a ser construïda. Editeu els objectius de make per a personalitzar el fitxer.
+Comment[da]=Dit program er parat til at blive bygget. Redigér make targets for at indstille filen.
+Comment[de]=Ihre Anwendung ist bereit für das Erstellen. Bearbeiten Sie die Make-Targets, um die Datei an Ihre Bedürfnisse anzupassen.
+Comment[el]=Η εφαρμογή σας έχει ρυθμιστεί για κατασκευή. Επεξεργαστείτε τους προορισμούς κατασκευής για την προσαρμογή του αρχείου.
+Comment[en_GB]=Your application is setup to build. Edit the make targets to customise the file.
+Comment[es]=Su aplicación está lista para ser construída. Edite los objetivos make para personalizar el archivo.
+Comment[et]=Rakendus on ehitamiseks valmis. Faili kohandamiseks redigeeri ehitamise sihtmärke.
+Comment[eu]=Zure aplikazioa eraikitzeko konfiguratu da. Editatu make-en helburuak fitxategia pertsonalizatzeko.
+Comment[fa]=کاربرد شما برای ساختن برپا می‌شود. برای سفارشی کردن پرونده، هدفهای make را ویرایش کنید.
+Comment[fr]=Votre application est prête à être construite. Modifiez les cibles de « make » pour personnaliser le fichier.
+Comment[gl]=A súa aplicación esta configurada para compilar. Edite os obxectivos make para persoalizalo ficheiro.
+Comment[hu]=Az alkalmazás készen áll a lefordításra. A make-célpontok szerkeszthetők, ha szükséges.
+Comment[it]=L'applicazione è configurata per compilare. Modifica i target di make per personalizzare il file.
+Comment[nds]=Dien Programm kann opstellt warrn. Bewerk de "Make"-Telen för't Topassen vun de Datei.
+Comment[ne]=तपाईँको अनुप्रयोग निर्माण गर्नका लागि सेटअप भएको छ । फाइललाई अनुकूल गर्नका लागि मेक तार्गेटलाई सम्पादन गर्नुहोस् ।
+Comment[nl]=Uw toepassing kan worden gebouwd. Bewerk de make targets om het bestand naar eigen inzicht aan te passen.
+Comment[pl]=Program skonfigurowany. Dostosowanie pliku do własnych potrzeb jest możliwe przez modyfikację celów make.
+Comment[pt]=A sua aplicação está preparada para ser compilada. Edite os alvos do 'make' para personalizar o ficheiro.
+Comment[pt_BR]=A sua aplicação está preparada para ser compilada. Edite os alvos do 'make' para personalizar o ficheiro.
+Comment[ru]=Ваше приложение готово для сборки.
+Comment[sk]=Aplikácia je pripravená na build. Môžte si prispôsobiť make ciele.
+Comment[sr]=Ваш програм је спреман за градњу. Уредите циљеве справљача да бисте прилагодили фајл.
+Comment[sr@Latn]=Vaš program je spreman za gradnju. Uredite ciljeve spravljača da biste prilagodili fajl.
+Comment[sv]=Programmet är inställt att byggas. Redigera byggmålen för att anpassa filen.
+Comment[tr]=Uygulamanız derlenmeye hazır. Dosyayı özelleştirmek için make hedeflerini düzenleyin.
+Comment[zh_CN]=您的应用程序已设置为构建。编辑 make 目标可自定义文件。
+Comment[zh_TW]=您的應用程式已設定好可建立了。請編輯 make 目標來調整檔案。
+Archive=superwaba.tar.gz
+
+[GNU]
+Type=include
+File=%{kdevelop}/template-common/gnu.kdevtemplate
+
diff --git a/languages/java/app_templates/superwaba/superwaba.png b/languages/java/app_templates/superwaba/superwaba.png
new file mode 100644
index 00000000..3492333d
--- /dev/null
+++ b/languages/java/app_templates/superwaba/superwaba.png
Binary files differ
diff --git a/languages/java/app_templates/superwaba/sw.filelist b/languages/java/app_templates/superwaba/sw.filelist
new file mode 100644
index 00000000..f219d672
--- /dev/null
+++ b/languages/java/app_templates/superwaba/sw.filelist
@@ -0,0 +1 @@
+%{APPNAME}.java
diff --git a/languages/java/app_templates/superwaba/sw.java b/languages/java/app_templates/superwaba/sw.java
new file mode 100644
index 00000000..e1c9927c
--- /dev/null
+++ b/languages/java/app_templates/superwaba/sw.java
@@ -0,0 +1,97 @@
+
+/** An example that shows the new user interface gadgets for grayscale */
+
+import waba.fx.*;
+import waba.sys.*;
+import waba.ui.*;
+
+public class %{APPNAME} extends MainWindow
+{
+ MenuBar mbar;
+ Button pushB;
+
+public %{APPNAME}()
+{
+ super( "%{APPNAME}", TAB_ONLY_BORDER );
+
+ setDoubleBuffer( true );
+ // use native style?
+ if ( waba.sys.Settings.platform.equals( "PalmOS" ) )
+ {
+ waba.sys.Settings.setPalmOSStyle( true );
+ }
+ // if we are a color device then we can use a nice color
+ // otherwise WHITE is the most readable
+ if ( !waba.sys.Settings.isColor )
+ {
+ Color.defaultBackColor = Color.WHITE;
+ waba.ui.MainWindow.getMainWindow().setBackColor( Color.WHITE );
+ }
+ else
+ {
+ Color.defaultBackColor = new Color( 213, 210, 205 );
+ waba.ui.MainWindow.getMainWindow().setBackColor( new Color( 213, 210, 205 ) );
+ }
+}
+
+public void onStart()
+{
+
+ initGUI();
+ Settings.appSecretKey = "installed";
+}
+
+// Called by the system to pass events to the application.
+public void onEvent( Event event )
+{
+ if ( event.type == ControlEvent.WINDOW_CLOSED )
+ {
+ if ( event.target == mbar )
+ {
+ switch ( mbar.getSelectedMenuItem() )
+ {
+ case 1:
+ quitApp();
+ break;
+ case 101:
+ showAbout();
+ break;
+ default :
+ break;
+ }
+ }
+ }
+ else if ( event.type == ControlEvent.PRESSED )
+ {
+ if ( event.target == pushB )
+ {
+ showAbout();
+ }
+ }
+}
+
+private void showAbout( )
+{
+ MessageBox mb = new MessageBox( "%{APPNAME}", "This is a small test app." );
+ mb.setDoubleBuffer( true );
+ popupBlockingModal( mb );
+}
+
+private void quitApp()
+{
+ exit( 0 );
+}
+
+
+private void initGUI()
+{
+ String col0[] = { "File","Exit..."};
+ String col1[] = { "Help","About" };
+
+ pushB = new Button( "Push me" );
+ add(pushB, CENTER, CENTER);
+ setMenuBar( mbar = new MenuBar( new String[][]{ col0, col1 }) );
+
+}
+
+}
diff --git a/languages/java/app_templates/superwaba/sw.kdevelop b/languages/java/app_templates/superwaba/sw.kdevelop
new file mode 100644
index 00000000..bddee282
--- /dev/null
+++ b/languages/java/app_templates/superwaba/sw.kdevelop
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<kdevelop>
+ <general>
+ <author>%{AUTHOR}</author>
+ <email>%{EMAIL}</email>
+ <version>%{VERSION}</version>
+ <projectmanagement>KDevCustomProject</projectmanagement>
+ <primarylanguage>Java</primarylanguage>
+ <ignoreparts>
+ <part>KDevDebugger</part>
+ </ignoreparts>
+ <keywords>
+ <keyword>Java</keyword>
+ <keyword>Code</keyword>
+ </keywords>
+ </general>
+ <kdevcustomproject>
+ <run>
+ <mainprogram>make test</mainprogram>
+ <programargs/>
+ <terminal>true</terminal>
+ <envvars/>
+ </run>
+ <envvars/>
+ <build>
+ <buildtool>make</buildtool>
+ <builddir/>
+ </build>
+ <make>
+ <abortonerror>true</abortonerror>
+ <numberofjobs>1</numberofjobs>
+ <dontact>false</dontact>
+ <makebin/>
+ <envvars/>
+ </make>
+ <makeenvvars/>
+ </kdevcustomproject>
+ <kdevfileview>
+ <groups>
+ <group pattern="Makefile" name="Build" />
+ <group pattern="*.java" name="Source" />
+ </groups>
+ </kdevfileview>
+ <kdevdoctreeview>
+ <ignoretocs>
+ <toc>bash</toc>
+ <toc>bash_bugs</toc>
+ <toc>c++_bugs_gcc</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>kde2book</toc>
+ <toc>libc</toc>
+ <toc>libstdc++</toc>
+ <toc>opengl</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>qt-kdev3</toc>
+ <toc>ruby</toc>
+ <toc>ruby_bugs</toc>
+ <toc>sdl</toc>
+ <toc>stl</toc>
+ <toc>w3c-svg</toc>
+ <toc>w3c-uaag10</toc>
+ <toc>wxwidgets_bugs</toc>
+ </ignoretocs>
+ <ignoreqt_xml>
+ <toc>Guide to the Qt Translation Tools</toc>
+ <toc>Qt Assistant Manual</toc>
+ <toc>Qt Designer Manual</toc>
+ <toc>Qt Reference Documentation</toc>
+ <toc>qmake User Guide</toc>
+ </ignoreqt_xml>
+ <ignoredoxygen>
+ <toc>KDE Libraries (Doxygen)</toc>
+ </ignoredoxygen>
+ </kdevdoctreeview>
+ <kdevfilecreate>
+ <useglobaltypes>
+ <type ext="java"/>
+ </useglobaltypes>
+ </kdevfilecreate>
+</kdevelop>