Weiter Zurück Inhaltsverzeichnis

### 7. Das MDI Framework

Wenn Sie bereits frühere Versionen von KDevelop kennen, werden Sie wissen, daß Ihre IDE sogenannte "Frameworks" als Startpunkt der Anwendungsentwicklung verwendet. Diese Frameworks enthalten standardmäßig die Unterstützung für ein generisches Document View Modell, waren aber bisher auf SDI Strukturen (Single Document Interface, ein Fenster mit einem Ansichtsbereich) limitiert. Seit KDevelop 1.1, kann der Application Wizard eine Menge mehr als die vorhergehenden Versionen: er bietet einige neue Projekttypen insbesondere für jene Programmierer an, die up-to-date mit der kommenden KDE 2, sowie mit Qt 2.1 bleiben wollen. Eine der Haupterweiterungen sind MDI Frameworks für sowohl KDE 2 als auch Qt 2.1. Sie unterscheiden sich nur in der Verwendung einiger Bibliotheksfunktionen, wie Dateidialoge oder Message Boxen, sowie den verwendeten Werkzeugleisten- und Statuszeilenklassen- die KDE Version verwendet KDE 2 Methoden, die Qt Version die entsprechenden Qt Funktionen.

Zur Erstellung des ersten Schrittes der Beispielanwendung KScribble, müssen Sie sicherstellen, daß Sie die Anweisungen in Kapitel 5 dieser Anleitung befolgt haben: Installation von KDE 2. Wenn das alles funktioniert hat, kann nichts schiefgehen. Wenn Sie die KDE 2 Bibliotheken nicht installieren konnten, stellen Sie sicher, daß Qt 2.1 installiert wurde und konfigurieren Sie KDevelop wenigstens für Qt 2.1. Sie können dieser Anleitung auch folgen, wenn Sie das entsprechende Qt Framework wählen (mit den oben beschriebenen Unterschieden: andere Methodenaufrufe für Dialoge und GUI Komponenten).

### 7.1 Erzeugen eines MDI Frameworks

Nun werden wir uns in die Entwicklung stürzen, indem wir den Rahmen für KScribble erzeugen. Starten Sie KDevelop und wählen Sie "Projekt"-"Neu" aus dem Menü, um den Applikation Wizard zu starten. Auf der ersten Seite wird Ihnen ein Baum mit Projekttypen angezeigt. Dieser enthält KDE und Qt Projekte. Wählen Sie "KDE 2 MDI" aus dem KDE Abschnitt. Wenn Sie nur Qt 2.1 installiert haben, wählen Sie "Qt 2.1 MDI" aus dem Qt Abschnitt. Dann wählen Sie "Weiter", geben "KScribble" als Projeknamen und 1.0 als Versionsnummer ein. Fügen Sie Ihren Namen und Ihre E-Mail Adresse in die entsprechenden Felder ein, fertig. Klicken Sie auf den "Erzeugen" Knopf und KDevelop wird unsere erste Version von KScribble erzeugen, während Sie die Ausgabe auf der letzten Seite des AppWiz verfolgen können. Schließlich drücken Sie noch "Beenden" um zu KDevelop zurückzukehren. Im Ausgabefenster sehen Sie eine weitere Meldung, daß die Message Datei für Ihr Projekt erstellt wurde, was wichtig sein wird, wenn Sie KScribble in andere Sprachen übersetzen.

### 7.2 Übersicht

Nun ist es wichtig, daß Sie wissen wo Sie was in den generierten Quellen finden und wo Ihr Platz als Programmierer ist, damit KScribble eine einzigartige KDE Applikation wird.

Zunächst einmal sehen Sie in der Klassenansicht drei, bereits erzeugte Klassen, `KScribbleApp`, `KScribbleDoc` und `KScribbleView`. Wie oben erklärt, spielt jede von ihnen eine bestimmte Rolle in Ihrer Anwendung; die App Klasse bildet das Hauptfenster und koordiniert die Benutzerinteraktion, die Doc Klasse verwaltet die Dokumente, die eine Anwendung manipulieren kann; schließlich ist die View Klasse verantwortlich für die Benutzerinteraktion mit den Kindfenstern und kommuniziert mit dem ihr angeschlossenen Dokument. Dies hat verschiedene Konsequenzen: um guten Nutzen aus der gegebenen Funktionalität zu ziehen, muß sich der Programmierer an die gegebene View Klasse halten. Standardmäßig erbt die Ansicht `QWidget` als minimale Anforderung, aber Sie sind bei weitem nicht darauf beschränkt. Von einer anderen Klasse zu erben, ist nicht allzuviel Arbeit und schließlich gibt es noch die Möglichkeit, z.B. `QMainWindow` oder `KTMainWindow` als zu beerbende Klasse zu verwenden und eine andere Klasse für der Verwaltung der Ansicht zu benutzen.

Im nächsten Kapitel werden wir fortfahren KScribble um die Verwaltung seiner Dokumente zu erweitern. Danach werden wir die Benutzerinteraktion implementieren und Sie werden die erste Funktionalität unserer Anwendung sehen: wir können Bilder zeichnen, sie laden und sie speichern.

Weiter Zurück Inhaltsverzeichnis