34 #ifndef MS_WKS_DOCUMENT
35 # define MS_WKS_DOCUMENT
41 #include <librevenge/librevenge.h>
167 void getPageSpanList(std::vector<MWAWPageSpan> &pagesList,
int &numPages);
171 static std::vector<MWAWColor>
const &
getPalette(
int vers);
180 std::multimap<std::string, MWAWEntry> &
getEntryMap();
190 void newPage(
int page,
bool softBreak=
false);
217 bool readDBNumber(
long endPos,
double &res,
bool &isNan, std::string &str);
239 shared_ptr<MsWksDocumentInternal::State>
m_state;
void setKind(MWAWDocument::Kind kind)
sets the document's kind
Definition: MsWksDocument.cxx:230
small class use to define a formula instruction
Definition: MWAWCell.hxx:360
shared_ptr< MsWksDocumentInternal::State > m_state
the state
Definition: MsWksDocument.hxx:239
bool readGroupHeaderFooter(bool header, int check)
try to read a header/footer group
Definition: MsWksDocument.cxx:850
MWAWInputStreamPtr m_input
the input which can be an OLE in MSWorks 4 file
Definition: MsWksDocument.hxx:250
the main class to read a Microsoft Works database file and convert it in a spreadsheet file ...
Definition: MsWksDBParser.hxx:65
shared_ptr< MsWksGraph > getGraphParser()
returns the graph parser
Definition: MsWksDocument.hxx:117
void sendTextbox(MWAWEntry const &entry, std::string const &frame)
send a textbox
Definition: MsWksDocument.cxx:420
virtual ~MsWksDocument()
destructor
Definition: MsWksDocument.cxx:193
int m_zoneId
the parser zone id
Definition: MsWksDocument.hxx:85
the main class to read a Microsoft Works file: v1-v4
Definition: MsWksParser.hxx:59
The class which parses text zones in a mac MS Works document v4.
Definition: MsWks4Text.hxx:64
static std::vector< MWAWColor > const & getPalette(int vers)
returns a list of color corresponding to a version
Definition: MsWksDocument.cxx:459
MWAWParser & getMainParser()
returns the main parser
Definition: MsWksDocument.hxx:112
void sendOLE(int id, MWAWPosition const &pos, MWAWGraphicStyle const &style)
send an OLE zone
Definition: MsWksDocument.cxx:394
ZoneType m_type
the zone type
Definition: MsWksDocument.hxx:83
an interface used to insert comment in a binary file, written in ascii form (if debug_with_files is n...
Definition: MWAWDebug.hxx:65
int version() const
returns the document's version
Definition: MsWksDocument.cxx:220
Definition: MsWksDocument.hxx:77
bool readFormula(long endPos, MWAWCellContent &content, std::string &extra)
Definition: MsWksDocument.cxx:1227
libmwaw::DebugFile m_asciiFile
the debug file of the actual input
Definition: MsWksDocument.hxx:252
a structure used to define a picture style
Definition: MWAWGraphicStyle.hxx:47
void(MWAWParser::* NewPage)(int page, bool softBreak)
callback used to send a page break
Definition: MsWksDocument.hxx:262
ZoneType
the different type of zone (v1-v3)
Definition: MsWksDocument.hxx:77
void sendZone(int zoneType)
try to send a zone (v1-v3 document)
Definition: MsWksDocument.cxx:268
MsWksDocument & operator=(MsWksDocument const &orig)
a zone of a MsWksDocument ( main, header, footer )
Definition: MsWksDocument.hxx:79
void sendText(int id)
try to send a text zone (v1-v3 document)
Definition: MsWksDocument.cxx:263
MsWksDocument * m_parentDocument
the parent document (if this is not the main document)
Definition: MsWksDocument.hxx:248
void sendRBIL(int id, MWAWVec2i const &sz)
send a rbil zone
Definition: MsWksDocument.cxx:410
the class to store a color
Definition: libmwaw_internal.hxx:177
shared_ptr< MsWks4Text > getTextParser4()
returns the text parser (for v4 document)
Definition: MsWksDocument.cxx:209
Definition: MsWksDocument.hxx:77
small class use to define a sheet cell content
Definition: MWAWCell.hxx:356
shared_ptr< MsWks3Text > m_textParser3
the text document (for v1-3 document)
Definition: MsWksDocument.hxx:257
bool createOLEZones(MWAWInputStreamPtr input)
finds the different OLE zones
Definition: MsWksDocument.cxx:586
bool readDBNumber(long endPos, double &res, bool &isNan, std::string &str)
try to read a number
Definition: MsWksDocument.cxx:1178
MWAWInputStreamPtr & getInput()
returns the actual input
Definition: MsWksDocument.hxx:107
bool readZone(Zone &zone)
try to read a generic zone
Definition: MsWksDocument.cxx:949
MWAWParser * m_parser
the main parser
Definition: MsWksDocument.hxx:246
Internal: the structures of a MsWksDocument.
Definition: MsWksDocument.cxx:63
shared_ptr< MWAWParserState > m_parserState
the parser state
Definition: MsWksDocument.hxx:242
The class which parses the main zones of a mac MS Works document v4.
Definition: MsWks4Zone.hxx:73
void newPage(int page, bool softBreak=false)
tries to create a new page
Definition: MsWksDocument.cxx:372
static bool getColor(int id, MWAWColor &col, int vers)
returns the color which correspond to an index
Definition: MsWksDocument.cxx:556
the main class to read the text part of Microsoft Works file
Definition: MsWks3Text.hxx:69
bool readDocumentInfo(long sz=-1)
try to read the documentinfo ( v1-v3)
Definition: MsWksDocument.cxx:736
long getLengthOfFileHeader3() const
returns the length of the file header of a v1-v3 document (if know)
Definition: MsWksDocument.cxx:258
std::multimap< std::string, MWAWEntry > & getEntryMap()
returns the document entry map of a v4 document
Definition: MsWksDocument.cxx:253
the main class to read a Microsoft Works graphic file
Definition: MsWksDRParser.hxx:59
Definition: MsWksDocument.hxx:77
int getNewZoneId() const
returns a free zone'id
Definition: MsWksDocument.cxx:235
void sendFootnoteContent(int noteId)
try to send a footnote content (v4 document)
Definition: MsWksDocument.cxx:276
bool readPrintInfo()
read the print info zone (v1-v3)
Definition: MsWksDocument.cxx:670
Zone getZone(ZoneType type) const
returns the zone corresponding to a zoneType (v1-v3 document)
Definition: MsWksDocument.cxx:240
shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:439
void getPageSpanList(std::vector< MWAWPageSpan > &pagesList, int &numPages)
get the page span list and the number of page for a v1-v3 document
Definition: MsWksDocument.cxx:306
MsWksDocument(MWAWInputStreamPtr input, MWAWParser &parser)
constructor
Definition: MsWksDocument.cxx:185
NewPage m_newPage
the new page callback
Definition: MsWksDocument.hxx:265
the main class to read the graphic of a Microsoft Works file
Definition: MsWksGraph.hxx:73
the main class to read a Microsoft Works spreadsheet file
Definition: MsWksSSParser.hxx:65
Kind
an enum to define the kind of document
Definition: MWAWDocument.hxx:80
Internal: the subdocument of a MsWksDocument.
Definition: MsWksDocument.cxx:107
shared_ptr< MsWks3Text > getTextParser3()
returns the text parser (for v1-v3 document)
Definition: MsWksDocument.cxx:203
bool checkHeader3(MWAWHeader *header, bool strict=false)
checks if the file header corresponds to a v1-v3 document (or not)
Definition: MsWksDocument.cxx:996
void sendFootnote(int id)
tries to send a footnote
Definition: MsWksDocument.cxx:383
bool readDBString(long endPos, std::string &res)
try to read a string
Definition: MsWksDocument.cxx:1163
int m_textId
the text internal id
Definition: MsWksDocument.hxx:87
Defines MWAWCell (cell content and format)
std::multimap< int, Zone > & getTypeZoneMap()
returns the document entry map of a v1-v3 document
Definition: MsWksDocument.cxx:248
virtual class which defines the ancestor of all main zone parser
Definition: MWAWParser.hxx:97
Class to define the position of an object (textbox, picture, ..) in the document. ...
Definition: MWAWPosition.hxx:47
MWAWDocument::Kind getKind() const
returns the document's kind
Definition: MsWksDocument.cxx:225
void initAsciiFile(std::string const &name)
inits the ascii file
Definition: MsWksDocument.cxx:197
shared_ptr< MsWksGraph > m_graphParser
the graph document
Definition: MsWksDocument.hxx:255
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:46
shared_ptr< MsWks4Text > m_textParser4
the text document (for v4 document)
Definition: MsWksDocument.hxx:259
Zone(ZoneType type=Z_NONE, int zoneId=-1)
the constructor
Definition: MsWksDocument.hxx:81
Definition: MsWksDocument.hxx:77
libmwaw::DebugFile & ascii()
a DebugFile used to write what we recognize when we parse the document
Definition: MsWksDocument.hxx:126
void setVersion(int vers)
sets the document's version
Definition: MsWksDocument.cxx:215
float getHeaderFooterHeight(bool header) const
returns the header/footer height (found by readGroupHeaderFooter)
Definition: MsWksDocument.cxx:301
bool hasFooter() const
returns true if the document has some footer ( found by checkHeader3)
Definition: MsWksDocument.cxx:296
std::vector< std::string > const & getUnparsedOLEZones() const
returns the list of unparsed OLE zones
Definition: MsWksDocument.cxx:581
bool readCellInFormula(MWAWCellContent::FormulaInstruction &instr, bool is2D)
reads a cell
Definition: MsWksDocument.cxx:1188
bool hasHeader() const
returns true if the document has some header ( found by checkHeader3)
Definition: MsWksDocument.cxx:291
the main class to read/store generic data of a MsWorks document v1-v3
Definition: MsWksDocument.hxx:67