|
![]() ![]() ![]() |
IndeView - Entwicklung |
|
IndeView kann derzeit einfache Präsentationen anzeigen:
Anwendergesteuerte, lineare oder zirkuläre Dia-Folgen,
keine spezielle Überblendungen, keine Klang-Ausgabe, keine Animationen.
Für viele Zwecke ist dieser Funktionsumfang ausreichend,
selbstverständlich geht die Entwicklung aber weiter:
Ungefähr in der angegebenen Reihenfolge wird implementiert:
Als neues IndeView-Modul ist ein spezieller Editor in Planung.
Mit dem Editor kannst Du Deine Präsentation überarbeiten: Sprungziele ändern, Gruppen oder Pfade definieren, aktive Bereiche festlegen...
Schön wäre eine Möglichkeit, auch PowerPoint-Präsentationen ins IndeView-Format zu überführen.
Uns steht allerdings kein Microsoft Office zur Verfügung, daher sind wir in diesem Punkt vollständig auf die Hilfe kenntnisreicher Power-User angewiesen: falls Du Interesse an der Erstellung dieses Creator-Moduls hast, melde Dich bitte vorher per E-Mail bei , damit wir vermeiden, dass mehrere Leute ohne voneinander zu wissen die gleiche Aufgabe in Angriff nehmen.
Da IndeView "Freie Software" ist, winkt als Lohn reichlich Ruhm und Ehre:
Falls Du dies wünschst, tragen wir Deinen Namen unter Hinweis auf den von Dir beigesteuerten Beitrag auf der Autoren-Seite ein, gerne auch mit Nennung Deiner E-Mailadresse.
Du kennst Dich gut mit C++ und Qt aus und hättest Lust, bei der IndeView-Entwicklung mitzumachen?
Du beherrschst PowerPoint und denkst darüber nach, mit Visual Basic for Applications eine Creator-Modul für IndeView zu entwickeln?
Bitte keine Scheu, wir freuen uns auf Deine Mail!
Wie Du an unserer Planung siehst, haben wir mit IndeView noch einiges vor und Deine Beteiligung käme uns sehr gelegen - vielleicht möchtest Du Dich an einer der geplanten Funktionen versuchen oder Dir fehlt etwas an IndeView, was Du gerne einbauen würdest?
Wir bitten Dich allerdings, folgende Punkte zu beachten:
IndeView ist vorbereitet für die Nutzung durch andere (Qt-)Programme:
Die im Vollbild-Modus laufende Viewer-Anwendung greift transparent auf ein separates core-Modul zu:
Qt-Bibliothek: | QObject | |
¦ | ||
IndeView core: | IndeViewSlides | liest Steuerdatei und Seiten-Infodateien, verwaltet die Struktur der Präsentation, liefert die Pixmaps zur Darstellung der Seiten |
Qt-Bibliothek: | QWidget | |
¦ | ||
IndeView core: | IndeViewWidget | kann Präsentation im Fenster anzeigen, hat keine Benutzerschnittstelle |
¦ | ||
IndeView app: | IndeViewMain | läuft im Vollbild-Modus, bietet: Tastatur- und Maus-Interface, Auswahl-Liste der Seiten, Hilfe-Bildschirm |
IndeView app: | int main() | instantiiert ein IndeViewSlides-Objekt und startet dann IndeViewMain, falls IndeViewSlides die Struktur der Präsentation erfolgreich einlesen konnte |
Bitte beachte:
Die Klasse IndeViewMain wurde für die besonderen Anforderungen des Viewers entwickelt, in Deine eigenen Programme bindest Du sie bitte nicht ein, sondern verwendest stattdessen IndeViewSlides und IndeViewWidget.
Importiere das vollständige Verzeichnis core in Dein Projekt und erzeuge ein IndeViewWidget nach folgendem Beispiel:
#include "core/indeview_widget.h" IndeViewWidget* getIVW( const QString& runFile, QWidget *parent ) { IndeViewSlides* slides = new IndeViewSlides( runFile ); if( slides->structureOK() ) return new IndeViewWidget( slides, true, parent, "my_IVW" ); delete slides; return 0; }Liefert der Aufruf von getIVW() einen Null-Pointer, so zeigst Du ggfs. eine Fehlermeldung, ansonsten bindest Du das IndeViewWidget in Dein Layout ein. Für slides ist gesorgt: obiger Parameter true weist das IndeViewWidget an, slides abzuräumen, wenn das Widget geschlossen wird.
Möchtest Du dem IndeViewWidget später eine andere Präsentation unterschieben, tust Du dies wie folgt, ohne das Widget neu zu erzeugen:
bool changePresentation( IndeViewWidget& widget, const QString& runFile ) { IndeViewSlides* theNewSlides = new IndeViewSlides( runFile ); const bool bOK = theNewSlides->structureOK(); if( bOK ) widget.setSlides( theNewSlides, true ); else delete theNewSlides; return bOK; }
Zur Steuerung Deines IndeViewWidget verknüpfst Du geeignete "Signale" Deiner Anwendung mit den in indeview_widget.h dokumentierten public slot-Methoden, wie gotoNextSlide() oder changeZoom(). Den aktuellen Status erfragst Du durch const-Funktionen wie bool optionDontStretch() oder int movedByX().
Möchtest Du eine Möglichkeit zur Seitenauswahl anbieten, werden folgende Methoden der Klasse IndeViewWidget nützlich sein:
Viel Spass und Erfolg - und lass mal von Dir hören - es wäre spannend zu erfahren, wie Du IndeView verwendest.