filters
presentation.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "presentation.h"
00021 #include "slide.h"
00022 #include "powerpoint.h"
00023
00024 #include <vector>
00025
00026 using namespace Libppt;
00027
00028 class Presentation::Private
00029 {
00030 public:
00031 Slide* masterSlide;
00032 std::vector<Slide*> slides;
00033 };
00034
00035 Presentation::Presentation()
00036 {
00037 d = new Private;
00038 d->masterSlide = 0;
00039 }
00040
00041 Presentation::~Presentation()
00042 {
00043 clear();
00044 delete d;
00045 }
00046
00047 void Presentation::clear()
00048 {
00049
00050 for( unsigned i=0; i<slideCount(); i++ )
00051 delete slide( i );
00052 d->slides.clear();
00053 delete d->masterSlide;
00054 d->masterSlide = 0;
00055 }
00056
00057 bool Presentation::load( const char* filename )
00058 {
00059 PPTReader* reader = new PPTReader;
00060 bool result = reader->load( this, filename );
00061 delete reader;
00062 return result;
00063 }
00064
00065 void Presentation::appendSlide( Slide* slide )
00066 {
00067 d->slides.push_back( slide );
00068 }
00069
00070 unsigned Presentation::slideCount() const
00071 {
00072 return d->slides.size();
00073 }
00074
00075 Slide* Presentation::slide( unsigned index )
00076 {
00077 if( index >= slideCount() ) return (Slide*)0;
00078 return d->slides[index];
00079 }
00080
00081
00082 Slide* Presentation::masterSlide()
00083 {
00084 return d->masterSlide;
00085 }
00086
00087 void Presentation::setMasterSlide( Slide* masterSlide )
00088 {
00089 delete d->masterSlide;
00090 d->masterSlide = masterSlide;
00091 }
|