MsWksDBParser Class Referencefinal

the main class to read a Microsoft Works database file and convert it in a spreadsheet file More...

#include <MsWksDBParser.hxx>

Inheritance diagram for MsWksDBParser:
MWAWSpreadsheetParser MWAWParser

Public Member Functions

 MsWksDBParser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor
 ~MsWksDBParser () final
 destructor
bool checkHeader (MWAWHeader *header, bool strict=false) final
 checks if the document header is correct (or not)
void parse (librevenge::RVNGSpreadsheetInterface *documentInterface) final
 virtual function used to parse the input
Public Member Functions inherited from MWAWSpreadsheetParser
 ~MWAWSpreadsheetParser () 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 init ()
 inits all internal variables
void createDocument (librevenge::RVNGSpreadsheetInterface *documentInterface)
 creates the listener which will be associated to the document
bool createZones ()
 finds the different objects zones
bool readDataBase ()
 try to read the database zone
bool sendDatabase ()
 try to send the main database
bool readFieldTypes ()
 reads the list of the fields type v3-v4
bool readFieldTypesV2 ()
 reads the list of the fields type v2
bool readRecords (bool onlyCheck)
 reads the database contents: field's names and values
bool readFilters ()
 reads the filters
bool readColSize (std::vector< int > &colSize)
 reads the list of the columns size
bool readDefaultValues ()
 reads the default value
bool readFormula ()
 reads the formula value
bool readSerialFormula ()
 reads the serial value
bool readForms ()
 reads all the form
bool readFormV2 ()
 reads a list of dimension(?) corresponding to the fields type v2
bool readForm ()
 reads one form
bool readFormTypes (MsWksDBParserInternal::Form &form)
 read a form types
bool readReports ()
 reads the reports
bool readReportHeader ()
 read a report header
bool readReportV2 ()
 reads a report zone in v.2 file
bool readUnknownV2 ()
 reads an unknown zone V2
Protected Member Functions inherited from MWAWSpreadsheetParser
 MWAWSpreadsheetParser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor (protected)
 MWAWSpreadsheetParser (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< MsWksDBParserInternal::Statem_state
 the state
std::vector< MWAWEntrym_listZones
 the list of different Zones
std::shared_ptr< MsWksDocumentm_document
 the actual zone

Friends

class MsWksDBParserInternal::SubDocument

Detailed Description

the main class to read a Microsoft Works database file and convert it in a spreadsheet file

Constructor & Destructor Documentation

◆ MsWksDBParser()

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

constructor

◆ ~MsWksDBParser()

MsWksDBParser::~MsWksDBParser ( )
final

destructor

Member Function Documentation

◆ checkHeader()

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

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by MsWksDBParserInternal::SubDocument, and parse().

◆ createDocument()

void MsWksDBParser::createDocument ( librevenge::RVNGSpreadsheetInterface * documentInterface)
protected

creates the listener which will be associated to the document

Referenced by MsWksDBParserInternal::SubDocument, and parse().

◆ createZones()

bool MsWksDBParser::createZones ( )
protected

finds the different objects zones

Referenced by MsWksDBParserInternal::SubDocument, and parse().

◆ init()

void MsWksDBParser::init ( )
protected

inits all internal variables

Referenced by MsWksDBParser(), and MsWksDBParserInternal::SubDocument.

◆ parse()

void MsWksDBParser::parse ( librevenge::RVNGSpreadsheetInterface * documentInterface)
finalvirtual

virtual function used to parse the input

Implements MWAWSpreadsheetParser.

Referenced by MsWksDBParserInternal::SubDocument.

◆ readColSize()

bool MsWksDBParser::readColSize ( std::vector< int > & colSize)
protected

reads the list of the columns size

Referenced by MsWksDBParserInternal::SubDocument, readForms(), readFormV2(), and readReportV2().

◆ readDataBase()

bool MsWksDBParser::readDataBase ( )
protected

try to read the database zone

Referenced by createZones(), and MsWksDBParserInternal::SubDocument.

◆ readDefaultValues()

bool MsWksDBParser::readDefaultValues ( )
protected

reads the default value

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readFieldTypes()

bool MsWksDBParser::readFieldTypes ( )
protected

reads the list of the fields type v3-v4

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readFieldTypesV2()

bool MsWksDBParser::readFieldTypesV2 ( )
protected

reads the list of the fields type v2

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readFilters()

bool MsWksDBParser::readFilters ( )
protected

reads the filters

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readForm()

bool MsWksDBParser::readForm ( )
protected

reads one form

Referenced by MsWksDBParserInternal::SubDocument, and readForms().

◆ readForms()

bool MsWksDBParser::readForms ( )
protected

reads all the form

Referenced by createZones(), MsWksDBParserInternal::SubDocument, and readReports().

◆ readFormTypes()

bool MsWksDBParser::readFormTypes ( MsWksDBParserInternal::Form & form)
protected

read a form types

[ff,5c,,-8,,-9] or [ff,a8,,-8,,-9] or [,5c,,-8,_,-9]

Referenced by MsWksDBParserInternal::SubDocument, and readForm().

◆ readFormula()

bool MsWksDBParser::readFormula ( )
protected

reads the formula value

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readFormV2()

bool MsWksDBParser::readFormV2 ( )
protected

reads a list of dimension(?) corresponding to the fields type v2

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readRecords()

bool MsWksDBParser::readRecords ( bool onlyCheck)
protected

reads the database contents: field's names and values

Note
if onlyCheck = true, only check if the zone is ok but do nothing

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readReportHeader()

bool MsWksDBParser::readReportHeader ( )
protected

read a report header

Referenced by MsWksDBParserInternal::SubDocument, and readReports().

◆ readReports()

bool MsWksDBParser::readReports ( )
protected

reads the reports

Referenced by createZones(), and MsWksDBParserInternal::SubDocument.

◆ readReportV2()

bool MsWksDBParser::readReportV2 ( )
protected

reads a report zone in v.2 file

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readSerialFormula()

bool MsWksDBParser::readSerialFormula ( )
protected

reads the serial value

reads the serial formula

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ readUnknownV2()

bool MsWksDBParser::readUnknownV2 ( )
protected

reads an unknown zone V2

Note
this header looks like the form v3-4 header, but is it really the form header ?

Referenced by MsWksDBParserInternal::SubDocument, and readDataBase().

◆ sendDatabase()

bool MsWksDBParser::sendDatabase ( )
protected

try to send the main database

Referenced by MsWksDBParserInternal::SubDocument, and parse().

◆ MsWksDBParserInternal::SubDocument

Member Data Documentation

◆ m_document

◆ m_listZones

std::vector<MWAWEntry> MsWksDBParser::m_listZones
protected

the list of different Zones

Referenced by MsWksDBParser().

◆ m_state


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

Generated on Mon Jan 20 2025 00:00:00 for libmwaw by doxygen 1.14.0