/****************************************************************************
**
**  indeview_slides.h    of the IndeView project, see http://www.indeview.org
**
**
**  The IndeView application is a stand-alone viewer to display presentations
**  created by IndeView creator modules like IndeViewExport.bas or kpr2iv.sh.
**  -------------------------------------------------------------------------
**  This enables you to show OpenOffice/StarOffice or KOffice presentations
**  on machines where the respective presentation program is not available.
**
**
**  Copyright (C) 2003..2004 Michael & Karl-Heinz Zimmer.
**  All rights reserved.
**
**  This file is distributed under the terms of the
**  GNU Lesser General Public License version 2.1 as published by the
**  Free Software Foundation and appearing in the file LICENSE included
**  in the packaging of this file.
**
**  This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
**  THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
**  PURPOSE.
**
**  See http://www.indeview.org for further information.
**
**  Contact info@indeview.org if any conditions of this
**  licensing are not clear to you.
**
**
**  Please consider sending
**  a little picture postcard to   Michael & Karl-Heinz Zimmer
**                                 Butzengasse 15
**                                 54343 Föhren
**                                 Germany
**
**  Your feedback will be very much appreciated: we would be glad about
**  receiving a visual representation of where on earth you are living
**  using our little module.
**
*****************************************************************************/

#ifndef INDEVIEW_SLIDES_H
#define INDEVIEW_SLIDES_H


#include <qtextedit.h>
#include <qstringlist.h>


class IndeViewSlide;
class IndeViewCachedPixmaps;

class IndeViewSlides
{
public:
  IndeViewSlides( const QString& runFileName,
                  bool createAnOwnProgressDialog = true,
                  QTextEdit* existingProgressWidget = 0,
                  QTextEdit* existingDetailsWidget  = 0 );
  ~IndeViewSlides();

  bool structureOK()const;

  QStringList slideNames()const;

  const IndeViewSlide* rootSlide()const;
  const IndeViewSlide* lastSlide()const;

private:
  QPtrList<IndeViewSlide> mSlides;
  IndeViewSlide* mRootSlide;
  IndeViewSlide* mLastSlide;
  IndeViewCachedPixmaps*  mCache;
};

#endif // INDEVIEW_SLIDES_H
