HOME     USAGE     DEVELOPMENT     AUTHORS     LICENSE    
  concept     prepare     state  
  structure     show     future  
  sources     chances  
  [en]
[es]
[de]

 

   IndeView - Development   

 
LET'S GO ON

 
 
 


 
 
TOP

current state

You may use IndeView to display simple presentations:
 
User controlled, linear or looping runs of slides,
without special transition effects nor sound playback nor animations.

While this should be enough for many purposes
IndeView development is going on of course:

 
 
TOP

extentions being worked on or planned

Viewer

roughly in the following order will be implemented:

Editor

As a new IndeView modul a special Editor is being planned right now.

Presentation editing will include covenient means to change links, specify slide groups / paths / active areas...

Creator

Being able to also convert PowerPoint presentations into the IndeView format would be very nice.

Unfortunately we do not own a Microsoft Office, so this creator module hinges upon the skills of an IndeView power users: in case you are interested in developing this module please contact us before starting: send your mail to developers@indeview.org, so we can prevent you from working on the same issues that might have been digged into by another committed IndeView user already.

IndeView is "Free Software" so we won't give you money but do you credit:

See our autors page with its as of yet empty slot for this module, we would be happy to fill it with your name there and (if you like it) your mail address.

 
 
TOP

chances for you

Contribute to IndeView

You are a skilled C++ and Qt programmer interested in participating at IndeView development?

Knowing a lot about PowerPoint and Visual Basic for Applications you would like to develop a respective IndeView Creator module?

Please do not hesitate, we are looking forward to your mail!

As you may see looking at our plans IndeView's further way will be long and quite interesting so we would welcome your participation very much - perhaps you want to try developing one of the planned features or you got another idea you would like to realize?

In any case we kindly ask you to observe these rules:

TOP

embedd the IndeView core into your programs

IndeView is ready to be used by other (Qt-)programs:

The viewer application (running in full screen mode) uses an extra core module:

Qt library: QObject
¦
IndeView core: IndeViewSlides reads control file and page information files,
organizes the structure of the presentation,
provides the pixmaps to display the slides
Qt library: QWidget
¦
IndeView core: IndeViewWidget can show a presentation in a window,
does not have a user interface
¦
IndeView app: IndeViewMain runs in full screen mode,
provides: keyboard / mouse interface,
slide access list, help screen
IndeView app: int main() instantiates an IndeViewSlides object
and starts IndeViewMain if
IndeViewSlides has successfully read and the
parsed the presentation structure

Please note:
The IndeViewMain class has been developed for the special needs of the viewer application, please do not use it in your own programs but use IndeViewSlides and IndeViewWidget instead.

Importiert all contents of directory core into your project and create an IndeViewWidget like this:

#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;
}
In case getIVW() returns a Null pointer you might want to show an error box, otherwise you add IndeViewWidget to your layout. No need to worry about slides: the parameter true shown above tells IndeViewWidget to delete slides when the widget is about to be closed.

To assign another presentation to your IndeViewWidget without creating a new widget you might act like this:

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;
}

Controll the IndeViewWidget by connecting "Signals" of your application with the public slot methods documented in indeview_widget.h, e.g.: gotoNextSlide() and changeZoom(). Obtain state information by calling const functions like bool optionDontStretch() and int movedByX().

The following IndeViewWidget methods might be usefull for adding slide selection capabilities to your program:

Have fun and succeed - and tell us about your results - we would like to learn how you are making use of IndeView.

 
TOP


If you like IndeView
please consider sending a little picture postcard
of your town / your village to
 
white space
 
Your feedback will be very much appreciated:
we will be glad about receiving a visual representation
of where on earth our IndeView users are living.
[smile]