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
 
virtual void parse (librevenge::RVNGPresentationInterface *documentInterface)=0
 virtual function used to parse the input
 
- Public Member Functions inherited from MWAWParser
virtual ~MWAWParser ()
 virtual destructor
 
virtual bool checkHeader (MWAWHeader *header, bool strict=false)=0
 virtual function used to check if the document header is correct (or not)
 
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().

◆ checkHeader()

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

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by parse().

◆ createDocument()

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

creates the listener which will be associated to the document

Referenced by parse().

◆ createZones()

bool PowerPoint7Parser::createZones ( )
protected

finds the different zones

Referenced by parse().

◆ getColor()

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

returns the color corresponding to an id

Referenced by PowerPoint7Text::readTextZone().

◆ parse()

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

virtual function used to parse the input

Implements MWAWPresentationParser.

◆ parseTextContent()

bool PowerPoint7Parser::parseTextContent ( MWAWInputStreamPtr  input)
protected

try to read the "Text_Content" stream

Referenced by createZones().

◆ readBookmarkCollection()

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

try to read the bookmark collection zone 2019

Referenced by readSummary().

◆ readBookmarkSeedAtom()

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

try to read the bookmark seed atom zone 2025

Referenced by readBookmarkCollection().

◆ readColorList()

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

try to read the color list zone 2031

Referenced by 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 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 readContainerList().

◆ readContainerList()

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

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

Referenced by readDocument(), and PowerPoint7Graph::readGroup().

◆ readDocAtom()

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

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

Referenced by readDocument().

◆ readDocRoot()

bool PowerPoint7Parser::readDocRoot ( )
protected

try to read the main zone: the zone 3

Referenced by createZones().

◆ readDocument()

bool PowerPoint7Parser::readDocument ( long  endPos)
protected

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

Referenced by readDocRoot().

◆ readEnvironment()

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

try to read the environment zone 1010

Referenced by readDocument().

◆ readGuideAtom()

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

try to read the guide atom zone 1019

Referenced by readZone2026().

◆ readHandout()

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

try to read the handout zone 4041

Referenced by readDocument().

◆ readHeaderFooterAtom()

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

try to read the header footer atom zone: 4058

Referenced by readHeaderFooters().

◆ readHeaderFooters()

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

try to read the header footer zone: 4057

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

◆ readIdentifier()

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

◆ readKinsoku()

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

try to read the Kinsoku zone 4040

Referenced by readEnvironment().

◆ readKinsokuAtom()

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

try to read the Kinsoku atom zone 4050

Referenced by readKinsoku().

◆ readMainSub10()

bool PowerPoint7Parser::readMainSub10 ( long  endPos)
protected

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

Referenced by readDocRoot().

◆ readNoteAtom()

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

try to read the note atom zone 1009

Referenced by readNotes().

◆ readNotes()

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

try to read the notes zone 1008

Referenced by 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 PowerPoint7Graph::readPlaceholderContainer(), and PowerPoint7Graph::readRect().

◆ readOutlineTextPropsHeader9Atom()

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

try to read the outline text props header9 atom zone 4015

Referenced by readOutlineTextProps9Atom().

◆ readOutlineViewInfo()

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

try to read the outline view info zone 1031

Referenced by 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 readSlides().

◆ readSlideIdentifier()

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

try to read a slide identifier zone 4032

Referenced by 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().

◆ readSlideInformation()

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

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

Referenced by 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 readContainerList().

◆ readSlideShowInfo()

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

try to read the slide show info zone 1017

Referenced by readSlides().

◆ readSlideViewInfo()

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

try to read the slide view info zone 1018

Referenced by readContainerList().

◆ readSlideViewInfoAtom()

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

try to read the slide view info zone 1022

Referenced by readSlideViewInfo().

◆ readSorterViewInfo()

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

try to read the sorter view info zone 1032

Referenced by readContainerList().

◆ readSoundCollection()

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

try to read the sound collection zone 2020

Referenced by 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 readDocument().

◆ readString()

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

◆ readStyleTextPropAtom()

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

try to read the style text prop atom zone 4001

Referenced by PowerPoint7Graph::readPlaceholderContainer(), PowerPoint7Graph::readRect(), and readZone3012().

◆ readSummary()

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

try to read the summary zone 1026: child of Document

Referenced by readDocument().

◆ readTextCharsAtom()

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

try to read the text chars atom zone 4000

Referenced by readStyleTextPropAtom().

◆ readVbaInfo()

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

try to read the vba info zone 1023

Referenced by readContainerList().

◆ readVbaInfoAtom()

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

try to read the vba info zone 1024

Referenced by readVbaInfo().

◆ readViewInfoAtom()

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

try to read the view info zone 1021

Referenced by 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 readSlides().

◆ readZone1028()

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

try to read the zone 1028: child of Environment

Referenced by readEnvironment().

◆ readZone1028Atom()

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

try to read the zone 1029

Referenced by readZone1028().

◆ readZone1028Data()

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

try to read the zone 4052: child of Zone1028

Referenced by readZone1028().

◆ readZone2026()

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

try to read the zone 2026: child of SlideViewInfo

Referenced by readSlideViewInfo().

◆ readZone3000()

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

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

Referenced by PowerPoint7Graph::readGroup(), readHandout(), readNotes(), and readSlides().

◆ readZone3012()

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

try to read the zone 3012: child of Environment

Referenced by readEnvironment().

◆ readZone3012Atom()

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

try to read the zone 3013: child of Zone3012

Referenced by readZone3012().

◆ readZone4039()

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

try to read the zone 4039: child of Zone4072

Referenced by readZone4072().

◆ readZone4042()

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

try to read the zone 4042: child of FontCollection

◆ readZone4072()

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

try to read the zone 4072: child of Zone3008

Referenced by PowerPoint7Graph::readRect().

◆ readZoneNoData()

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

◆ sendSlides()

void PowerPoint7Parser::sendSlides ( )
protected

try to send all slides

Referenced by parse().

◆ sendText()

bool PowerPoint7Parser::sendText ( int  textId)
protected

try to send the text content

Referenced by PowerPoint7Graph::sendText().

Friends And Related Function Documentation

◆ PowerPoint7Graph

friend class PowerPoint7Graph
friend

Referenced by PowerPoint7Parser().

◆ PowerPoint7Text

friend class PowerPoint7Text
friend

Referenced by PowerPoint7Parser().

Member Data Documentation

◆ m_state


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

Generated on Wed May 3 2023 07:18:29 for libmwaw by doxygen 1.9.6