• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Projektvorlage für KDevelop erstellen

Moin,

ich hätte gerne gewusst, ob es möglich ist aus einem vorhandenen KDevelop-Projekt eine Vorlage zu erstellen, so dass man diese bei der Neuerstellung eines Projektes auswählen kann.

Ich arbeite mit KDevelop 3.5.3.

Ich hab schon mit den Einstellungen in den Projekt-Eigenschaften unter 'Dateivorlagen' herumgespielt bin aber nicht zu dem gewünschten Ergebnis gekommen. Das kann unter anderem daran liegen, dass ich nicht weiß, welche Datei in dem Dialog 'Dateivorlage' ausgewählt werden soll. Ich hab es mal mit der Projektdatei *.kdevelop versucht. Hat aber nichts gebracht. Bin mir auch überhaupt nicht sicher, ob ich da auf dem richtigen Weg bin :???: .

Vielen Dank für eure Hilfe und greetz,

Kai
 
Das sieht vielleicht ein wenig chaotisch aus, kommt per copy und paste aus einem open office Dokument, hatte auch keine Lust hier lange an der Formatierung zu arbeiten. Außerdem sind die Daten schon älteren Ursprungs, sollten aber trotzdem noch gelten. Ach ja, habe folgende Kurzformen gewählt:

  • $$HOME entspricht deinem Homeverzeichnis
    $$KDE_DIR entspricht /opt/kde3
Die eigene Projektvorlage erstellen
Hier soll aus dem Projekt des vorherigen Abschnittes, eine Vorlage für KDE-Applikationen abgeleitet werden.
Pfade und importieren der Projektvorlage
Wie schon zu vor erwähnt, besteht unter KDE der Standardpfad aus zwei Teilen. Der erste Pfad $$KDE_DIR zeigt auf den Systemstandard, während der Zweite $$HOME/.kde den Benutzer spezifischen Teil beinhaltet. Im zweiten Pfad kann jeder Benutzer zusätzliche Projektvorlagen hinzufügen. Basis für die eigene Vorlage, ist das Standardprojekt für KDE-Applikationen von KDevelop. Im ersten Schritt, wird diese in die Benutzerpfade importiert. Dazu werden die folgenden Verzeichnisse erzeugt:
$$HOME/.kde/share/apps/kdevappwizard
$$HOME/.kde/share/apps/kdevappwizard/templates
$$HOME/.kde/share/apps/kdevappwizard/template-common

Anschließend werden folgende Dateien kopiert:

Quelle: $$KDE_DIR/share/apps/kdevappwizard
Ziel: $$HOME/.kde/share/apps/kdevappwizard
Dateien: kapp.tar.gz kapp.png

Quelle: $$KDE_DIR/share/apps/kdevappwizard/templates
Ziel: $$HOME/.kde/share/apps/kdevappwizard/templates
Datei: kapp.kdevtemplate

Quelle: $$KDE_DIR/share/apps/kdevappwizard/template-common
Ziel: $$HOME/.kde/share/apps/kdevappwizard/template-common
Dateien: admin.kdevtemplate admin.tar.gz
COPYING gnu.kdevtemplate
gnu.tar.gz hi16-app-app.png
hi32-app-app.png kde-app.desktop
kde-app.lsm kde-configure.in.in
kde-doc-en-Makefile.am kde-doc-Makefile.am
kde-index.docbook kde-Makefile.am
kde-Makefile.cvs kde-po-Makefile.am

Danach benennen wir die Datei kapp.kdevtemplate in my_kapp.kdevtemplate um und editieren in ihr die folgenden Zeilen der Projektbeschreibung:
Name=My simple KDE-Application framework
Name[de]=Mein einfaches KDE-Applikationsgerüst
Comment=Generates a simple KDE-Application without DCOP and Kparts.
Comment[de]=Erzeugt eine einfach KDE-Applikation, ohne DCOP und Kparts.
Jetzt erfolgt der erste Test der eigenen Vorlage. Mit „Projekt“ -> „Neues Projekt...“ -> „C++“ -> „KDE“ -> „Mein einfaches KDE-Applikationsgerüst“ erzeugen wir ein Testprojekt. Wenn alles funktioniert, sollte ein KDE-Standardprojekt erstellt werden.
Hinweis:
Die Datei kapp.kdevtemplate sollte nicht mit Konqueror umbenannt werden. Aus irgend einem Grund verändert Konqueror die Datei beim Umbenennen.
Anpassen der Projektvorlage
Aufbau von Projektvorlagen
Verschiedene Projektvorlagen können bestimmte Dateien gemeinsam nutzen. Daher ist es sinnvoll, jede Datei vor dem Editieren umzubenennen, oder zu kopieren. In dieser Anleitung wird dazu dem Originaldateinamen „my_“ vorangestellt. Dateien mit der Endung „kdevtemplate“ enthalten den Bauplan für die Vorlagen, in diesem Beispiel my_kapp.kdevtemplate. Zusätzlich können weitere Baupläne eingefügt werden, hier ein Beispiel aus kapp.kdevtemplate:
[ADMIN]
Type=include
File=%{kdevelop}/template-common/admin.kdevtemplate
Die Datei admin.kdevtemplate, verwaltet den Inhalt des Archivs admin.tar.gz.
Die Projektvorlage editieren
Als erstes wird das Archiv kapp.tar.gz bearbeitet. Dazu benennen wir es in my_kapp.tar.gz um und ändern in der Datei my_kapp.kdevtemplate die Zeile
Archive=kapp.tar.gz in Archive=my_kapp.tar.gz
Für die Implementierung der neuen Vorlage, müssen nur die Dateien innerhalb dieses Archivs bearbeitet werden. Werden Dateien diesem Archiv hinzugefügt oder entfernt, so muss die Datei my_kapp.kdevtemplate entsprechend angepasst werden. Für jede Datei die aus dem Archiv in das Projekt installiert werden soll, existiert ein Eintrag ähnlich wie dieser:
[FILE18]
Type=install
Source=%{src}/appview.h
Dest=%{dest}/src/%{APPNAMELC}view.h
Zum Editieren, entpacken wir das Archiv in ein temporäres Verzeichnis und führen die Änderungen des vorherigen Abschnittes sinngemäß durch. Dabei ist zu beachten, die entsprechende symbolische Schreibweise für die Klassennamen zu benutzen. Zum Schluss müssen noch die Änderungen, die vorher mit dem Automake-Manager durchgeführt wurden, per Hand in der Datei src-Makefile.am implementiert werden. Im Anhang B befindet sich für jede geänderte Datei ein Listing.
 
Jungejunge, das ist aber aufwendig. Ich hatte eigentlich gehofft, dass das mit ein paar Knöpfchen geht. Vielen Dank aber für die Info. Wo hast du das denn ausgegraben, wenn ich fragen darf?

Also für so viel Wurschtelei bin ich gerade zu nervös. Ich mach es jetzt erstmal über CVS. Funktioniert auch ganz gut. Sollte ich das obige mal ausprobieren, lass ich euch natürlich wissen, wie es gelaufen ist.

greetz, kai
 
Das ist nichts aufwendig. Man nehme ein fertige Vorlage (obiges Beispiel kapp.kdevtemplate) kopiere sie mit neuen Namen in den KDE-User-Pfad, entsprechend dem globalen KDE-Pfad. Suche sich alle Komponenten die in der Vorlage aufgeführt sind heraus, kopiere sie ebenfalls in den Userpfad. Jede Komponente die man ändert bekommt einen neuen Dateinamen und passt entsprechend die Vorlage an. Das ist alles.
kaizimir schrieb:
Wo hast du das denn ausgegraben, wenn ich fragen darf?
Bei mir finde ich das unter ~/Documents/KDevelop/KDevelop-KDE3.odt, oder anders ausgedrückt selbst gebaut.

Was für ein Projekt-Typ willst du denn überhaupt anpassen?
 
Sorry hat ein bißchen länger gedauert.
Ich möchte gerne eine Vorlage für ein Qt-MainWindow erstellen, in der aber wirklich noch nichts drin ist.
Also keinerlei Widgets.
 
Da du keine näheren angaben gemacht hast behaupte ich mal es geht um QT4.

Also erst einmal eine passende Vorlage von KDevelop aussuchen, ich nehme C++/QMake Project/QT4-Anwendung. Dann sucht man die Projektbeschreibung unter /opt/kde3/share/apps/kdevappwizard/templates, die richtige Datei heißt qt4makeapp.kdevtemplate. Die schaut man sich mit einem Editor an und stellt fest, zum Projekt gehören noch zwei weitere Dateien qt4makeapp.png und qt4makeapp.tar.gz, die man ein Verzeichnis höher finden kann.

Als nächste kopieren wir die drei aus globalen KDE3-Pfad, in den KDE3-Pfad des Benutzers, wobei zwei von ihnen gleich einen neuen Namen bekommen da sie später verändert werden.
  • /opt/kde3/share/apps/kdevappwizard/templates/qt4makeapp.kdevtemplate --> /home/username/.kde/share/apps/kdevappwizard/templates/my_qt4makeapp.kdevtemplate
    /opt/kde3/share/apps/kdevappwizard/qt4makeapp.png --> /home/username/.kde/share/apps/kdevappwizard/qt4makeapp.png
    /opt/kde3/share/apps/kdevappwizard/qt4makeapp.tar.gz --> /home/username/.kde/share/apps/kdevappwizard/my_qt4makeapp.tar.gz
Jetzt passen wir in der eigenen Projektbeschreibung (/home/username/.kde/share/apps/kdevappwizard/templates/my_qt4makeapp.kdevtemplate) ein paar Daten an. Jeweils die entsprechende Zeile
  • Name=Qt4 Application
    Name[de]=Qt4-Anwendung
    Archive=qt4makeapp.tar.gz
ändern in
  • Name=My Qt4 Template
    Name[de]=Meine eigene Qt4-Vorlage
    Archive=my_qt4makeapp.tar.gz
Nun KDevelop starten, die Vorlage "C++/QMake Project/Meine eigene Qt4-Vorlage" auswählen und ein Projekt mit dem Namen Qt4MakeApp erstellen. Im Prinzip bin ich jetzt fertig. Reduziere den Quellcode so wie du ihn haben willst und füge dann die geänderten Dateien in das Archiv /home/username/.kde/share/apps/kdevappwizard/my_qt4makeapp.tar.gz ein. Dürfte sich ja nur um application.qrc, main.cpp, qt4makeapp.cpp und qt4makeapp.h handeln.
 
Hey Tooltime,
vielen Dank für die ausführliche Beschreibung. Echt nett. Ich werd es bei Gelegenheit einmal ausprobieren. Du hast recht es geht um Qt4 :D . Muss ja ein Spaß gewesen sein, sich das selbst zusammen zu basteln.

greetz, kai
 
Oben