MsWksDBParser Class Reference documentation

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:

## 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
MWAWHeader * | getHeader ()
| returns the header
MWAWInputStreamPtr & | getInput ()
| returns the actual input
MWAWListenerPtr | getMainListener ()
| returns the main listener
MWAWGraphicListenerPtr & | getGraphicListener ()
| returns the graphic listener
MWAWPresentationListenerPtr & | getPresentationListener ()
| returns the presentation listener
MWAWSpreadsheetListenerPtr & | getSpreadsheetListener ()
| returns the spreadsheet listener
MWAWTextListenerPtr & | getTextListener ()
| returns the text listener
MWAWFontConverterPtr & | getFontConverter ()
| returns the font converter
MWAWFontManagerPtr & | getFontManager ()
| returns the font manager
MWAWPageSpan const & | getPageSpan () const
| returns the actual page dimension
MWAWPageSpan & | getPageSpan ()
| 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 )
MWAWRSRCParserPtr & | getRSRCParser ()
| returns the rsrc parser
libmwaw::DebugFile & | ascii ()
| 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::State > | m_state
| the state
std::vector< MWAWEntry > | m_listZones
| the list of different Zones
std::shared_ptr< MsWksDocument > | m_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().

## Friends And Related Symbol Documentation

## ◆ MsWksDBParserInternal::SubDocument

friend class MsWksDBParserInternal::SubDocument
| friend

## Member Data Documentation

## ◆ m_document

std::shared_ptr<MsWksDocument> MsWksDBParser::m_document
| protected

the actual zone

Referenced by checkHeader(), createDocument(), createZones(), MsWksDBParser(), parse(), readColSize(), readDataBase(), readDefaultValues(), readFieldTypes(), readFieldTypesV2(), readFilters(), readForm(), readForms(), readFormTypes(), readFormula(), readFormV2(), readRecords(), readReportHeader(), readReports(), readReportV2(), readSerialFormula(), readUnknownV2(), and sendDatabase().

## ◆ m_listZones

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

the list of different Zones

Referenced by MsWksDBParser().

## ◆ m_state

std::shared_ptr<MsWksDBParserInternal::State> MsWksDBParser::m_state
| protected

the state

Referenced by checkHeader(), createDocument(), createZones(), init(), MsWksDBParser(), readDataBase(), readDefaultValues(), readFieldTypes(), readFieldTypesV2(), readForm(), readForms(), readFormTypes(), readFormula(), readFormV2(), readRecords(), readReports(), readSerialFormula(), and sendDatabase().

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

- MsWksDBParser.hxx
- MsWksDBParser.cxx