filters

presentation.h

00001 /* libppt - library to read PowerPoint presentation
00002    Copyright (C) 2005 Yolla Indria <yolla.indria@gmail.com>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008    
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA
00018 */
00019 
00020 #ifndef LIBPPT_PRESENTATION
00021 #define LIBPPT_PRESENTATION
00022 
00023 
00024 namespace Libppt
00025 {
00026 
00027 class Slide;
00028 
00029 class Presentation
00030 {
00031 public:
00032 
00033   /*
00034    * Constructs a new presentation.
00035    */  
00036   Presentation();
00037   
00038   /*
00039    * Destroys the presentation.
00040    */  
00041   ~Presentation();
00042   
00043   /*
00044    * Clears the presentation, i.e. makes it as if it is just constructed.
00045    */  
00046   void clear();
00047   
00048   /*
00049    * Loads the presentation file. Returns false if error occurred.
00050    */
00051   bool load( const char* filename );
00052 
00053   /*
00054    * Appends a new slide.
00055    */
00056   void appendSlide( Slide* slide );
00057 
00058   /*
00059    * Returns the number of slides in this presentation. A newly created
00060    * presentation has no slide, i.e. slideCount() returns 0.
00061    */
00062   unsigned slideCount() const;
00063 
00064   /*
00065    * Returns a slide at given index. If index is invalid (e.g. larger
00066    * than total number of slides), this function returns NULL.
00067    */
00068 
00069   Slide* slide( unsigned index );
00070 
00071   Slide* masterSlide();
00072   void setMasterSlide( Slide* master );
00073 
00074 private:
00075   // no copy or assign
00076   Presentation( const Presentation& );
00077   Presentation& operator=( const Presentation& );
00078   
00079   class Private;
00080   Private* d;
00081 };
00082 
00083 
00084 }
00085 
00086 #endif /* LIBPPT_PRESENTATION */
KDE Home | KDE Accessibility Home | Description of Access Keys