PowerPoint7Parser Class Referencefinal

the main class to read a Microsoft PowerPoint 95 files (Windows) More...

#include <PowerPoint7Parser.hxx>

Inheritance diagram for PowerPoint7Parser:
MWAWPresentationParser MWAWParser

Public Member Functions

 PowerPoint7Parser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor
 ~PowerPoint7Parser () final
 destructor
bool checkHeader (MWAWHeader *header, bool strict=false) final
 checks if the document header is correct (or not)
void parse (librevenge::RVNGPresentationInterface *documentInterface) final
 virtual function used to parse the input
Public Member Functions inherited from MWAWPresentationParser
 ~MWAWPresentationParser () override
 destructor
Public Member Functions inherited from MWAWParser
virtual ~MWAWParser ()
 virtual destructor
int version () const
 returns the works version
MWAWParserStatePtr getParserState ()
 returns the parser state
MWAWHeadergetHeader ()
 returns the header
MWAWInputStreamPtrgetInput ()
 returns the actual input
MWAWListenerPtr getMainListener ()
 returns the main listener
MWAWGraphicListenerPtrgetGraphicListener ()
 returns the graphic listener
MWAWPresentationListenerPtrgetPresentationListener ()
 returns the presentation listener
MWAWSpreadsheetListenerPtrgetSpreadsheetListener ()
 returns the spreadsheet listener
MWAWTextListenerPtrgetTextListener ()
 returns the text listener
MWAWFontConverterPtrgetFontConverter ()
 returns the font converter
MWAWFontManagerPtrgetFontManager ()
 returns the font manager
MWAWPageSpan const & getPageSpan () const
 returns the actual page dimension
MWAWPageSpangetPageSpan ()
 returns the actual page dimension
double getFormLength () const
 returns the form length
double getFormWidth () const
 returns the form width
double getPageLength () const
 returns the page length (form length without margin )
double getPageWidth () const
 returns the page width (form width without margin )
MWAWRSRCParserPtrgetRSRCParser ()
 returns the rsrc parser
libmwaw::DebugFileascii ()
 a DebugFile used to write what we recognize when we parse the document

Protected Member Functions

void createDocument (librevenge::RVNGPresentationInterface *documentInterface)
 creates the listener which will be associated to the document
bool createZones ()
 finds the different zones
void sendSlides ()
 try to send all slides
bool getColor (int cId, MWAWColor &col) const
 returns the color corresponding to an id
bool sendText (int textId)
 try to send the text content
bool readDocRoot ()
 try to read the main zone: the zone 3
bool readMainSub10 (long endPos)
 try to read the main sub zone: the zone 10: child of Root
bool readDocument (long endPos)
 try to read the document's zone 1000: child of Root
bool readDocAtom (int level, long endPos)
 try to read the document atom's zone 1001: child of Document
bool readSlideInformation (int level, long endPos)
 try to read the slide information 1005: dimension, has background, ...
bool readSlides (int level, long endPos, bool master)
 try to read the slides zone 1006(slides) or 1016(master)
bool readSlideAtom (int level, long endPos, PowerPoint7Struct::SlideId &sId, PowerPoint7Struct::SlideId &mId)
 try to read the slide zone 1007
bool readNotes (int level, long endPos)
 try to read the notes zone 1008
bool readNoteAtom (int level, long endPos, PowerPoint7Struct::SlideId &sId)
 try to read the note atom zone 1009
bool readEnvironment (int level, long endPos)
 try to read the environment zone 1010
bool readColorScheme (int level, long endPos, std::vector< MWAWColor > &colors)
 try to read the color scheme 1012
bool readZone1015 (int level, long endPos)
 try to read the zone 1015: child of Slides
bool readSlideShowInfo (int level, long endPos)
 try to read the slide show info zone 1017
bool readSlideViewInfo (int level, long endPos)
 try to read the slide view info zone 1018
bool readGuideAtom (int level, long endPos)
 try to read the guide atom zone 1019
bool readViewInfoAtom (int level, long endPos)
 try to read the view info zone 1021
bool readSlideViewInfoAtom (int level, long endPos)
 try to read the slide view info zone 1022
bool readVbaInfo (int level, long endPos)
 try to read the vba info zone 1023
bool readVbaInfoAtom (int level, long endPos)
 try to read the vba info zone 1024
bool readSSDocInfoAtom (int level, long endPos)
 try to read the slide show doc info atom 1025: child of Document
bool readSummary (int level, long endPos)
 try to read the summary zone 1026: child of Document
bool readZone1028 (int level, long endPos)
 try to read the zone 1028: child of Environment
bool readZone1028Atom (int level, long endPos)
 try to read the zone 1029
bool readOutlineViewInfo (int level, long endPos)
 try to read the outline view info zone 1031
bool readSorterViewInfo (int level, long endPos)
 try to read the sorter view info zone 1032
bool readContainerList (int level, long endPos)
 try to read the container list zone 2000: child of Document
bool readContainerAtom (int level, long endPos, int &N)
 try to read the container atom zone 2001
bool readIdentifier (int level, long endPos, int &id, std::string const &wh)
 try to read an identifier zone 2017
bool readBookmarkCollection (int level, long endPos)
 try to read the bookmark collection zone 2019
bool readSoundCollection (int level, long endPos)
 try to read the sound collection zone 2020
bool readBookmarkSeedAtom (int level, long endPos)
 try to read the bookmark seed atom zone 2025
bool readZone2026 (int level, long endPos)
 try to read the zone 2026: child of SlideViewInfo
bool readColorList (int level, long endPos, std::vector< MWAWColor > &colors)
 try to read the color list zone 2031
bool readZone3000 (int level, long endPos)
 try to read the zone 3000: child of Handout/Notes/Slides/Zone3001
bool readZone3012 (int level, long endPos)
 try to read the zone 3012: child of Environment
bool readZone3012Atom (int level, long endPos)
 try to read the zone 3013: child of Zone3012
bool readTextCharsAtom (int level, long endPos)
 try to read the text chars atom zone 4000
bool readStyleTextPropAtom (int level, long endPos, int &textId)
 try to read the style text prop atom zone 4001
bool readOutlineTextProps9Atom (int level, long endPos, int &pId, PowerPoint7Struct::SlideId &sId)
 try to read the outline text props9 atom zone 4009
bool readOutlineTextPropsHeader9Atom (int level, long endPos)
 try to read the outline text props header9 atom zone 4015
bool readString (int level, long endPos, std::string &string, int &zId, std::string const &what="")
 try to read the string zone 4026
bool readSlideIdentifier (int level, long endPos, PowerPoint7Struct::SlideId &sId)
 try to read a slide identifier zone 4032
bool readZone4039 (int level, long endPos)
 try to read the zone 4039: child of Zone4072
bool readKinsoku (int level, long endPos)
 try to read the Kinsoku zone 4040
bool readHandout (int level, long endPos)
 try to read the handout zone 4041
bool readZone4042 (int level, long endPos)
 try to read the zone 4042: child of FontCollection
bool readKinsokuAtom (int level, long endPos)
 try to read the Kinsoku atom zone 4050
bool readZone1028Data (int level, long endPos)
 try to read the zone 4052: child of Zone1028
bool readSlideIdentifierContainer (int level, long endPos, PowerPoint7Struct::SlideId &sId)
 try to read a container of a slide identifier 4054
bool readHeaderFooters (int level, long endPos)
 try to read the header footer zone: 4057
bool readHeaderFooterAtom (int level, long endPos)
 try to read the header footer atom zone: 4058
bool readZone4072 (int level, long endPos)
 try to read the zone 4072: child of Zone3008
bool readZone (int level, long endPos)
 try to read a zone
bool readZoneNoData (int level, long endPos, std::string const &name, std::string const &wh="")
 try to read a zone with no data
bool parseTextContent (MWAWInputStreamPtr input)
 try to read the "Text_Content" stream
void checkForUnparsedZones ()
 check for unparsed zone
Protected Member Functions inherited from MWAWPresentationParser
 MWAWPresentationParser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor (protected)
 MWAWPresentationParser (MWAWParserStatePtr const &state)
 constructor using a state
Protected Member Functions inherited from MWAWParser
 MWAWParser (MWAWParserState::Type type, MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor (protected)
 MWAWParser (MWAWParserStatePtr const &state)
 constructor using a state
void setVersion (int vers)
 sets the document's version
void setGraphicListener (MWAWGraphicListenerPtr &listener)
 sets the graphic listener
void resetGraphicListener ()
 resets the listener
void setPresentationListener (MWAWPresentationListenerPtr &listener)
 sets the presentation listener
void resetPresentationListener ()
 resets the listener
void setSpreadsheetListener (MWAWSpreadsheetListenerPtr &listener)
 sets the spreadsheet listener
void resetSpreadsheetListener ()
 resets the listener
void setTextListener (MWAWTextListenerPtr &listener)
 sets the text listener
void resetTextListener ()
 resets the listener
void setAsciiName (char const *name)
 Debugging: change the default ascii file.
std::string const & asciiName () const
 return the ascii file name

Protected Attributes

std::shared_ptr< PowerPoint7ParserInternal::Statem_state
 the state

Friends

class PowerPoint7Graph
class PowerPoint7Text

Detailed Description

the main class to read a Microsoft PowerPoint 95 files (Windows)

Constructor & Destructor Documentation

◆ PowerPoint7Parser()

PowerPoint7Parser::PowerPoint7Parser ( MWAWInputStreamPtr const & input,
MWAWRSRCParserPtr const & rsrcParser,
MWAWHeader * header )

constructor

◆ ~PowerPoint7Parser()

PowerPoint7Parser::~PowerPoint7Parser ( )
final

destructor

Member Function Documentation

◆ checkForUnparsedZones()

void PowerPoint7Parser::checkForUnparsedZones ( )
protected

check for unparsed zone

Referenced by parse(), and readZone4042().

◆ checkHeader()

bool PowerPoint7Parser::checkHeader ( MWAWHeader * header,
bool strict = false )
finalvirtual

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by parse(), and PowerPoint7Text.

◆ createDocument()

void PowerPoint7Parser::createDocument ( librevenge::RVNGPresentationInterface * documentInterface)
protected

creates the listener which will be associated to the document

Referenced by parse(), and PowerPoint7Text.

◆ createZones()

bool PowerPoint7Parser::createZones ( )
protected

finds the different zones

Referenced by parse(), and PowerPoint7Text.

◆ getColor()

bool PowerPoint7Parser::getColor ( int cId,
MWAWColor & col ) const
protected

returns the color corresponding to an id

Referenced by PowerPoint7Text.

◆ parse()

void PowerPoint7Parser::parse ( librevenge::RVNGPresentationInterface * documentInterface)
finalvirtual

virtual function used to parse the input

Implements MWAWPresentationParser.

Referenced by PowerPoint7Text.

◆ parseTextContent()

bool PowerPoint7Parser::parseTextContent ( MWAWInputStreamPtr input)
protected

try to read the "Text_Content" stream

Referenced by createZones(), and readZone4042().

◆ readBookmarkCollection()

bool PowerPoint7Parser::readBookmarkCollection ( int level,
long endPos )
protected

try to read the bookmark collection zone 2019

Referenced by PowerPoint7Text, and readSummary().

◆ readBookmarkSeedAtom()

bool PowerPoint7Parser::readBookmarkSeedAtom ( int level,
long endPos )
protected

try to read the bookmark seed atom zone 2025

Referenced by PowerPoint7Text, and readBookmarkCollection().

◆ readColorList()

bool PowerPoint7Parser::readColorList ( int level,
long endPos,
std::vector< MWAWColor > & colors )
protected

try to read the color list zone 2031

Referenced by PowerPoint7Text, readColorScheme(), readEnvironment(), and readSlides().

◆ readColorScheme()

bool PowerPoint7Parser::readColorScheme ( int level,
long endPos,
std::vector< MWAWColor > & colors )
protected

try to read the color scheme 1012

Referenced by PowerPoint7Text, readHandout(), readNotes(), and readSlides().

◆ readContainerAtom()

bool PowerPoint7Parser::readContainerAtom ( int level,
long endPos,
int & N )
protected

try to read the container atom zone 2001

Referenced by PowerPoint7Text, and readContainerList().

◆ readContainerList()

bool PowerPoint7Parser::readContainerList ( int level,
long endPos )
protected

try to read the container list zone 2000: child of Document

Referenced by PowerPoint7Text, and readDocument().

◆ readDocAtom()

bool PowerPoint7Parser::readDocAtom ( int level,
long endPos )
protected

try to read the document atom's zone 1001: child of Document

Referenced by PowerPoint7Text, and readDocument().

◆ readDocRoot()

bool PowerPoint7Parser::readDocRoot ( )
protected

try to read the main zone: the zone 3

Referenced by createZones(), and PowerPoint7Text.

◆ readDocument()

bool PowerPoint7Parser::readDocument ( long endPos)
protected

try to read the document's zone 1000: child of Root

Referenced by PowerPoint7Text, and readDocRoot().

◆ readEnvironment()

bool PowerPoint7Parser::readEnvironment ( int level,
long endPos )
protected

try to read the environment zone 1010

Referenced by PowerPoint7Text, and readDocument().

◆ readGuideAtom()

bool PowerPoint7Parser::readGuideAtom ( int level,
long endPos )
protected

try to read the guide atom zone 1019

Referenced by PowerPoint7Text, and readZone2026().

◆ readHandout()

bool PowerPoint7Parser::readHandout ( int level,
long endPos )
protected

try to read the handout zone 4041

Referenced by PowerPoint7Text, and readDocument().

◆ readHeaderFooterAtom()

bool PowerPoint7Parser::readHeaderFooterAtom ( int level,
long endPos )
protected

try to read the header footer atom zone: 4058

Referenced by readHeaderFooters(), and readZone4042().

◆ readHeaderFooters()

bool PowerPoint7Parser::readHeaderFooters ( int level,
long endPos )
protected

try to read the header footer zone: 4057

Referenced by readHandout(), readNotes(), readSlides(), and readZone4042().

◆ readIdentifier()

bool PowerPoint7Parser::readIdentifier ( int level,
long endPos,
int & id,
std::string const & wh )
protected

try to read an identifier zone 2017

Referenced by PowerPoint7Text, and readBookmarkCollection().

◆ readKinsoku()

bool PowerPoint7Parser::readKinsoku ( int level,
long endPos )
protected

try to read the Kinsoku zone 4040

Referenced by PowerPoint7Text, and readEnvironment().

◆ readKinsokuAtom()

bool PowerPoint7Parser::readKinsokuAtom ( int level,
long endPos )
protected

try to read the Kinsoku atom zone 4050

Referenced by readKinsoku(), and readZone4042().

◆ readMainSub10()

bool PowerPoint7Parser::readMainSub10 ( long endPos)
protected

try to read the main sub zone: the zone 10: child of Root

Referenced by PowerPoint7Text, and readDocRoot().

◆ readNoteAtom()

bool PowerPoint7Parser::readNoteAtom ( int level,
long endPos,
PowerPoint7Struct::SlideId & sId )
protected

try to read the note atom zone 1009

Referenced by PowerPoint7Text, and readNotes().

◆ readNotes()

bool PowerPoint7Parser::readNotes ( int level,
long endPos )
protected

try to read the notes zone 1008

Referenced by PowerPoint7Text, readDocument(), and readSlides().

◆ readOutlineTextProps9Atom()

bool PowerPoint7Parser::readOutlineTextProps9Atom ( int level,
long endPos,
int & pId,
PowerPoint7Struct::SlideId & sId )
protected

try to read the outline text props9 atom zone 4009

Referenced by PowerPoint7Text.

◆ readOutlineTextPropsHeader9Atom()

bool PowerPoint7Parser::readOutlineTextPropsHeader9Atom ( int level,
long endPos )
protected

try to read the outline text props header9 atom zone 4015

Referenced by PowerPoint7Text, and readOutlineTextProps9Atom().

◆ readOutlineViewInfo()

bool PowerPoint7Parser::readOutlineViewInfo ( int level,
long endPos )
protected

try to read the outline view info zone 1031

Referenced by PowerPoint7Text, and readContainerList().

◆ readSlideAtom()

bool PowerPoint7Parser::readSlideAtom ( int level,
long endPos,
PowerPoint7Struct::SlideId & sId,
PowerPoint7Struct::SlideId & mId )
protected

try to read the slide zone 1007

Referenced by PowerPoint7Text, and readSlides().

◆ readSlideIdentifier()

bool PowerPoint7Parser::readSlideIdentifier ( int level,
long endPos,
PowerPoint7Struct::SlideId & sId )
protected

try to read a slide identifier zone 4032

Referenced by PowerPoint7Text, and readSlideIdentifierContainer().

◆ readSlideIdentifierContainer()

bool PowerPoint7Parser::readSlideIdentifierContainer ( int level,
long endPos,
PowerPoint7Struct::SlideId & sId )
protected

try to read a container of a slide identifier 4054

Referenced by readOutlineTextProps9Atom(), and readZone4042().

◆ readSlideInformation()

bool PowerPoint7Parser::readSlideInformation ( int level,
long endPos )
protected

try to read the slide information 1005: dimension, has background, ...

Referenced by PowerPoint7Text, readHandout(), readNotes(), and readSlides().

◆ readSlides()

bool PowerPoint7Parser::readSlides ( int level,
long endPos,
bool master )
protected

try to read the slides zone 1006(slides) or 1016(master)

Referenced by PowerPoint7Text, and readContainerList().

◆ readSlideShowInfo()

bool PowerPoint7Parser::readSlideShowInfo ( int level,
long endPos )
protected

try to read the slide show info zone 1017

Referenced by PowerPoint7Text, and readSlides().

◆ readSlideViewInfo()

bool PowerPoint7Parser::readSlideViewInfo ( int level,
long endPos )
protected

try to read the slide view info zone 1018

Referenced by PowerPoint7Text, and readContainerList().

◆ readSlideViewInfoAtom()

bool PowerPoint7Parser::readSlideViewInfoAtom ( int level,
long endPos )
protected

try to read the slide view info zone 1022

Referenced by PowerPoint7Text, and readSlideViewInfo().

◆ readSorterViewInfo()

bool PowerPoint7Parser::readSorterViewInfo ( int level,
long endPos )
protected

try to read the sorter view info zone 1032

Referenced by PowerPoint7Text, and readContainerList().

◆ readSoundCollection()

bool PowerPoint7Parser::readSoundCollection ( int level,
long endPos )
protected

try to read the sound collection zone 2020

Referenced by PowerPoint7Text, and readEnvironment().

◆ readSSDocInfoAtom()

bool PowerPoint7Parser::readSSDocInfoAtom ( int level,
long endPos )
protected

try to read the slide show doc info atom 1025: child of Document

Referenced by PowerPoint7Text, and readDocument().

◆ readString()

bool PowerPoint7Parser::readString ( int level,
long endPos,
std::string & string,
int & zId,
std::string const & what = "" )
protected

try to read the string zone 4026

Referenced by PowerPoint7Text, readHeaderFooters(), readKinsoku(), readSlides(), readVbaInfo(), and readZone4072().

◆ readStyleTextPropAtom()

bool PowerPoint7Parser::readStyleTextPropAtom ( int level,
long endPos,
int & textId )
protected

try to read the style text prop atom zone 4001

Referenced by PowerPoint7Text, and readZone3012().

◆ readSummary()

bool PowerPoint7Parser::readSummary ( int level,
long endPos )
protected

try to read the summary zone 1026: child of Document

Referenced by PowerPoint7Text, and readDocument().

◆ readTextCharsAtom()

bool PowerPoint7Parser::readTextCharsAtom ( int level,
long endPos )
protected

try to read the text chars atom zone 4000

Referenced by PowerPoint7Text, and readStyleTextPropAtom().

◆ readVbaInfo()

bool PowerPoint7Parser::readVbaInfo ( int level,
long endPos )
protected

try to read the vba info zone 1023

Referenced by PowerPoint7Text, and readContainerList().

◆ readVbaInfoAtom()

bool PowerPoint7Parser::readVbaInfoAtom ( int level,
long endPos )
protected

try to read the vba info zone 1024

Referenced by PowerPoint7Text, and readVbaInfo().

◆ readViewInfoAtom()

bool PowerPoint7Parser::readViewInfoAtom ( int level,
long endPos )
protected

try to read the view info zone 1021

Referenced by PowerPoint7Text, readOutlineViewInfo(), readSlideViewInfo(), and readSorterViewInfo().

◆ readZone()

◆ readZone1015()

bool PowerPoint7Parser::readZone1015 ( int level,
long endPos )
protected

try to read the zone 1015: child of Slides

Referenced by PowerPoint7Text, and readSlides().

◆ readZone1028()

bool PowerPoint7Parser::readZone1028 ( int level,
long endPos )
protected

try to read the zone 1028: child of Environment

Referenced by PowerPoint7Text, and readEnvironment().

◆ readZone1028Atom()

bool PowerPoint7Parser::readZone1028Atom ( int level,
long endPos )
protected

try to read the zone 1029

Referenced by PowerPoint7Text, and readZone1028().

◆ readZone1028Data()

bool PowerPoint7Parser::readZone1028Data ( int level,
long endPos )
protected

try to read the zone 4052: child of Zone1028

Referenced by readZone1028(), and readZone4042().

◆ readZone2026()

bool PowerPoint7Parser::readZone2026 ( int level,
long endPos )
protected

try to read the zone 2026: child of SlideViewInfo

Referenced by PowerPoint7Text, and readSlideViewInfo().

◆ readZone3000()

bool PowerPoint7Parser::readZone3000 ( int level,
long endPos )
protected

try to read the zone 3000: child of Handout/Notes/Slides/Zone3001

Referenced by PowerPoint7Text, readHandout(), readNotes(), and readSlides().

◆ readZone3012()

bool PowerPoint7Parser::readZone3012 ( int level,
long endPos )
protected

try to read the zone 3012: child of Environment

Referenced by PowerPoint7Text, and readEnvironment().

◆ readZone3012Atom()

bool PowerPoint7Parser::readZone3012Atom ( int level,
long endPos )
protected

try to read the zone 3013: child of Zone3012

Referenced by PowerPoint7Text, and readZone3012().

◆ readZone4039()

bool PowerPoint7Parser::readZone4039 ( int level,
long endPos )
protected

try to read the zone 4039: child of Zone4072

Referenced by PowerPoint7Text, and readZone4072().

◆ readZone4042()

bool PowerPoint7Parser::readZone4042 ( int level,
long endPos )
protected

try to read the zone 4042: child of FontCollection

Referenced by readZone4042().

◆ readZone4072()

bool PowerPoint7Parser::readZone4072 ( int level,
long endPos )
protected

try to read the zone 4072: child of Zone3008

Referenced by readZone4042().

◆ readZoneNoData()

bool PowerPoint7Parser::readZoneNoData ( int level,
long endPos,
std::string const & name,
std::string const & wh = "" )
protected

try to read a zone with no data

Referenced by readBookmarkCollection(), readDocument(), and readZone4042().

◆ sendSlides()

void PowerPoint7Parser::sendSlides ( )
protected

try to send all slides

Referenced by parse(), and PowerPoint7Text.

◆ sendText()

bool PowerPoint7Parser::sendText ( int textId)
protected

try to send the text content

Referenced by PowerPoint7Text.

◆ PowerPoint7Graph

friend class PowerPoint7Graph
friend

◆ PowerPoint7Text

friend class PowerPoint7Text
friend

Referenced by PowerPoint7Parser(), and PowerPoint7Text.

Member Data Documentation

◆ m_state


The documentation for this class was generated from the following files:

Generated for libmwaw by doxygen 1.14.0