MsWksDocument.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */
2 
3 /* libmwaw
4 * Version: MPL 2.0 / LGPLv2+
5 *
6 * The contents of this file are subject to the Mozilla Public License Version
7 * 2.0 (the "License"); you may not use this file except in compliance with
8 * the License or as specified alternatively below. You may obtain a copy of
9 * the License at http://www.mozilla.org/MPL/
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * Major Contributor(s):
17 * Copyright (C) 2002 William Lachance (wrlach@gmail.com)
18 * Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net)
19 * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
20 * Copyright (C) 2006, 2007 Andrew Ziem
21 * Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr)
22 *
23 *
24 * All Rights Reserved.
25 *
26 * For minor contributions see the git repository.
27 *
28 * Alternatively, the contents of this file may be used under the terms of
29 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
30 * in which case the provisions of the LGPLv2+ are applicable
31 * instead of those above.
32 */
33 
34 #ifndef MS_WKS_DOCUMENT
35 # define MS_WKS_DOCUMENT
36 
37 #include <string>
38 #include <map>
39 #include <vector>
40 
41 #include <librevenge/librevenge.h>
42 
43 #include "libmwaw_internal.hxx"
44 
45 #include "MWAWDebug.hxx"
46 #include "MWAWCell.hxx"
47 #include "MWAWParser.hxx"
48 
49 namespace MsWksDocumentInternal
50 {
51 struct State;
52 
53 class SubDocument;
54 }
55 
56 class MsWksParser;
57 class MsWksDBParser;
58 class MsWksDRParser;
59 class MsWksSSParser;
60 class MsWks4Zone;
61 
62 class MsWksGraph;
63 class MsWks3Text;
64 class MsWks4Text;
65 
69 {
71  friend class MsWksParser;
72  friend class MsWks4Zone;
73  friend class MsWksDBParser;
74  friend class MsWksDRParser;
75  friend class MsWksSSParser;
76 public:
80  struct Zone {
82  Zone(ZoneType type=Z_NONE, int zoneId=-1) : m_type(type), m_zoneId(zoneId), m_textId(-1) {}
86  int m_zoneId;
88  int m_textId;
89  };
90 
91 public:
92 
96  virtual ~MsWksDocument();
97 
99  int version() const;
101  void setVersion(int vers);
103  MWAWDocument::Kind getKind() const;
105  void setKind(MWAWDocument::Kind kind);
106 
109  {
110  return m_input;
111  }
114  {
115  return *m_parser;
116  }
118  shared_ptr<MsWksGraph> getGraphParser()
119  {
120  return m_graphParser;
121  }
123  shared_ptr<MsWks3Text> getTextParser3();
125  shared_ptr<MsWks4Text> getTextParser4();
128  {
129  return m_asciiFile;
130  }
131 
132  //
133  // read some v3 structure
134  //
135 
137  bool checkHeader3(MWAWHeader *header, bool strict=false);
139  long getLengthOfFileHeader3() const;
141  bool readPrintInfo();
143  bool readDocumentInfo(long sz=-1);
145  bool readZone(Zone &zone);
147  bool readGroupHeaderFooter(bool header, int check);
148 
149  //
150  // read some ole structures
151  //
152 
156  std::vector<std::string> const &getUnparsedOLEZones() const;
157  //
158  // utilities functions
159  //
160 
162  bool hasHeader() const;
164  bool hasFooter() const;
166  float getHeaderFooterHeight(bool header) const;
168  void getPageSpanList(std::vector<MWAWPageSpan> &pagesList, int &numPages);
170  bool getColor(int id, MWAWColor &col, int vers);
172  std::vector<MWAWColor> const &getPalette(int vers);
173 
175  std::multimap<int, Zone> &getTypeZoneMap();
177  Zone getZone(ZoneType type) const;
179  int getNewZoneId() const;
181  std::multimap<std::string, MWAWEntry> &getEntryMap();
182 
183  // general interface
184 
186  void sendZone(int zoneType);
187 
188  // interface with the text parser
189 
191  void newPage(int page, bool softBreak=false);
193  void sendFootnoteContent(int noteId);
195  void sendFootnote(int id);
197  void sendText(int id);
198 
199  // interface with the graph parser
200 
202  void sendOLE(int id, MWAWPosition const &pos, MWAWGraphicStyle const &style);
204  void sendRBIL(int id, MWAWVec2i const &sz);
206  void sendTextbox(MWAWEntry const &entry, std::string const &frame);
207 
208 protected:
209  //
210  // spreadsheet/database function
211  //
212 
216  bool readDBString(long endPos, std::string &res);
218  bool readDBNumber(long endPos, double &res, bool &isNan, std::string &str);
219  /* reads a formula */
220  bool readFormula(long endPos, MWAWCellContent &content, std::string &extra);
221 
222 protected:
223 
224  //
225  // low level
226  //
228  void initAsciiFile(std::string const &name);
229 
230 private:
233 
234  //
235  // data
236  //
237 
238 protected:
240  shared_ptr<MsWksDocumentInternal::State> m_state;
241 public:
243  shared_ptr<MWAWParserState> m_parserState;
244 
245 protected:
254 
256  shared_ptr<MsWksGraph> m_graphParser;
258  shared_ptr<MsWks3Text> m_textParser3;
260  shared_ptr<MsWks4Text> m_textParser4;
261 
263  typedef void (MWAWParser::* NewPage)(int page, bool softBreak);
264 
267 };
268 #endif
269 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
MsWksDocument::hasHeader
bool hasHeader() const
returns true if the document has some header ( found by checkHeader3)
Definition: MsWksDocument.cxx:389
MWAWCellContent::FormulaInstruction::F_CellList
@ F_CellList
Definition: MWAWCell.hxx:360
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:47
MsWksDocument::getGraphParser
shared_ptr< MsWksGraph > getGraphParser()
returns the graph parser
Definition: MsWksDocument.hxx:118
MsWksDocumentInternal::SubDocument::SubDocument
SubDocument(MsWksDocument &document, MWAWInputStreamPtr input, Type type, int zoneId)
Definition: MsWksDocument.cxx:207
MWAWDocument::MWAW_K_DATABASE
@ MWAW_K_DATABASE
database
Definition: MWAWDocument.hxx:87
MsWks4Zone::readContentZones
void readContentZones(MWAWEntry const &entry, bool mainOle)
final reading of a text zone
Definition: MsWks4Zone.cxx:550
MsWksDocumentInternal::State::m_numPages
int m_numPages
the number of page of the final document
Definition: MsWksDocument.cxx:100
MWAWDocument::MWAW_T_MICROSOFTWORKS
@ MWAW_T_MICROSOFTWORKS
Microsoft Works Mac: export database(as spreadsheet), graphic, spreadsheet and text files.
Definition: MWAWDocument.hxx:133
MsWksDocumentInternal::State::m_footerHeight
int m_footerHeight
the footer height if known
Definition: MsWksDocument.cxx:103
MsWksDocument::getInput
MWAWInputStreamPtr & getInput()
returns the actual input
Definition: MsWksDocument.hxx:108
MsWksDocument::m_parser
MWAWParser * m_parser
the main parser
Definition: MsWksDocument.hxx:247
MsWksDocument::Zone
a zone of a MsWksDocument ( main, header, footer )
Definition: MsWksDocument.hxx:80
MsWksDocumentInternal::SubDocument::operator!=
virtual bool operator!=(MWAWSubDocument const &doc) const
operator!=
Definition: MsWksDocument.cxx:268
MsWksDocument
the main class to read/store generic data of a MsWorks document v1-v3
Definition: MsWksDocument.hxx:69
MWAWEntry::setName
void setName(std::string const &nam)
sets the name of the entry
Definition: MWAWEntry.hxx:137
MWAWNote
a note
Definition: libmwaw_internal.hxx:406
MsWksDocumentInternal::State::m_footerParser
shared_ptr< MsWks4Zone > m_footerParser
parser of the footer ole
Definition: MsWksDocument.cxx:92
MsWks4Text
The class which parses text zones in a mac MS Works document v4.
Definition: MsWks4Text.hxx:65
MWAWPageSpan::setPageSpan
void setPageSpan(const int pageSpan)
set the page span ( default 1)
Definition: MWAWPageSpan.hxx:262
MWAWDocument::MWAW_K_SPREADSHEET
@ MWAW_K_SPREADSHEET
spreadsheet
Definition: MWAWDocument.hxx:86
MsWksDocument::m_textParser4
shared_ptr< MsWks4Text > m_textParser4
the text document (for v4 document)
Definition: MsWksDocument.hxx:260
MWAWHeaderFooter::HEADER
@ HEADER
Definition: MWAWPageSpan.hxx:48
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:127
MsWksDocumentInternal::State::m_fileHeaderSize
long m_fileHeaderSize
the file header size
Definition: MsWksDocument.cxx:80
MsWksDocumentInternal::SubDocument::Text
@ Text
Definition: MsWksDocument.cxx:206
MsWksDocumentInternal::State::m_kind
MWAWDocument::Kind m_kind
the type of document
Definition: MsWksDocument.cxx:78
MsWksDocument::NewPage
void(MWAWParser::* NewPage)(int page, bool softBreak)
callback used to send a page break
Definition: MsWksDocument.hxx:263
MsWksDocumentInternal
Internal: the structures of a MsWksDocument.
Definition: MsWksDocument.cxx:64
MsWksDocumentInternal::State
Internal: the state of a MsWksDocument.
Definition: MsWksDocument.cxx:68
MsWksDocument::readGroupHeaderFooter
bool readGroupHeaderFooter(bool header, int check)
try to read a header/footer group
Definition: MsWksDocument.cxx:856
MsWksDocument::getPageSpanList
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:404
MsWksDRParser
the main class to read a Microsoft Works graphic file
Definition: MsWksDRParser.hxx:60
MsWksDocument::getPalette
std::vector< MWAWColor > const & getPalette(int vers)
returns a list of color corresponding to a version
Definition: MsWksDocument.cxx:557
MsWksDocumentInternal::SubDocument
Internal: the subdocument of a MsWksDocument.
Definition: MsWksDocument.cxx:204
MsWksDocument::sendZone
void sendZone(int zoneType)
try to send a zone (v1-v3 document)
Definition: MsWksDocument.cxx:366
MsWksGraph::SendData::m_id
int m_id
the rbil id
Definition: MsWksGraph.hxx:117
MsWksGraph.hxx
MsWksDocumentInternal::State::m_unparsedOlesName
std::vector< std::string > m_unparsedOlesName
the list of unparsed OLEs
Definition: MsWksDocument.cxx:97
MWAWCellContent::FormulaInstruction::F_Operator
@ F_Operator
Definition: MWAWCell.hxx:360
MsWksDocument::readZone
bool readZone(Zone &zone)
try to read a generic zone
Definition: MsWksDocument.cxx:955
MsWks4Zone::getTextPosition
MWAWEntry getTextPosition() const
return the text positions ( used for frame text)
Definition: MsWks4Zone.cxx:247
MsWksDocumentInternal::SubDocument::Zone
@ Zone
Definition: MsWksDocument.cxx:206
MsWksDocument::getTextParser3
shared_ptr< MsWks3Text > getTextParser3()
returns the text parser (for v1-v3 document)
Definition: MsWksDocument.cxx:301
libmwaw::DebugFile::open
bool open(std::string const &filename)
opens/creates a file to store a result
Definition: MWAWDebug.cxx:46
MsWksDocument::MsWks4Zone
friend class MsWks4Zone
Definition: MsWksDocument.hxx:72
MsWksDocument::readDocumentInfo
bool readDocumentInfo(long sz=-1)
try to read the documentinfo ( v1-v3)
Definition: MsWksDocument.cxx:742
MWAWCellContent::FormulaInstruction
small class use to define a formula instruction
Definition: MWAWCell.hxx:359
MsWksDocument::Z_NONE
@ Z_NONE
Definition: MsWksDocument.hxx:78
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:182
MWAWEmbeddedObject
small class use to define a embedded object
Definition: libmwaw_internal.hxx:425
MsWksDocumentInternal::State::m_headerParser
shared_ptr< MsWks4Zone > m_headerParser
parser of the header ole
Definition: MsWksDocument.cxx:92
MsWksGraph::SendData::m_anchor
MWAWPosition::AnchorTo m_anchor
the anchor
Definition: MsWksGraph.hxx:119
MsWksDocument::Zone::Zone
Zone(ZoneType type=Z_NONE, int zoneId=-1)
the constructor
Definition: MsWksDocument.hxx:82
MsWksDocument::getColor
bool getColor(int id, MWAWColor &col, int vers)
returns the color which correspond to an index
Definition: MsWksDocument.cxx:562
MsWksDocument::setKind
void setKind(MWAWDocument::Kind kind)
sets the document's kind
Definition: MsWksDocument.cxx:328
MsWksParser
the main class to read a Microsoft Works file: v1-v4
Definition: MsWksParser.hxx:60
MWAWDocument::Kind
Kind
an enum to define the kind of document
Definition: MWAWDocument.hxx:80
MWAWPrinter.hxx
MWAWDocument::MWAW_K_DRAW
@ MWAW_K_DRAW
vectorized grphic
Definition: MWAWDocument.hxx:83
MsWksGraph
the main class to read the graphic of a Microsoft Works file
Definition: MsWksGraph.hxx:74
MWAWCellContent::FormulaInstruction::F_Function
@ F_Function
Definition: MWAWCell.hxx:360
MWAWOLEParser
a class used to parse some basic oles Tries to read the different ole parts and stores their contents...
Definition: MWAWOLEParser.hxx:86
MWAWHeaderFooter::m_subDocument
MWAWSubDocumentPtr m_subDocument
the document data
Definition: MWAWPageSpan.hxx:89
MsWksDocument::initAsciiFile
void initAsciiFile(std::string const &name)
inits the ascii file
Definition: MsWksDocument.cxx:295
libmwaw::PrinterInfo
the AppleŠ printer information : TPrint
Definition: MWAWPrinter.hxx:82
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
MsWksDocumentInternal::State::m_freeZoneId
int m_freeZoneId
an id to count the number of free map
Definition: MsWksDocument.cxx:82
MWAWSubDocument
abstract class used to store a subdocument (with a comparison function)
Definition: MWAWSubDocument.hxx:42
MWAWCellContent::FormulaInstruction::m_content
std::string m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text)
Definition: MWAWCell.hxx:376
MWAWGraphicStyle
a structure used to define a picture style
Definition: MWAWGraphicStyle.hxx:48
MsWksDocument::Zone::m_type
ZoneType m_type
the zone type
Definition: MsWksDocument.hxx:84
MsWksDocumentInternal::State::State
State()
constructor
Definition: MsWksDocument.cxx:70
MsWksDocument::operator=
MsWksDocument & operator=(MsWksDocument const &orig)
MsWksDocument::m_asciiFile
libmwaw::DebugFile m_asciiFile
the debug file of the actual input
Definition: MsWksDocument.hxx:253
MWAWHeaderFooter
a class which stores the header/footer data
Definition: MWAWPageSpan.hxx:45
MsWksDocument::m_newPage
NewPage m_newPage
the new page callback
Definition: MsWksDocument.hxx:266
MWAWCell.hxx
MsWksDocumentInternal::SubDocument::~SubDocument
virtual ~SubDocument()
destructor
Definition: MsWksDocument.cxx:212
MsWksDocument::readCellInFormula
bool readCellInFormula(MWAWCellContent::FormulaInstruction &instr, bool is2D)
reads a cell
Definition: MsWksDocument.cxx:1194
MsWksDocumentInternal::State::m_typeZoneMap
std::multimap< int, MsWksDocument::Zone > m_typeZoneMap
the list of zone (for v1-v3) document
Definition: MsWksDocument.cxx:84
MWAWSubDocument.hxx
MsWksDocumentInternal::State::m_frameParserMap
std::map< std::string, shared_ptr< MsWks4Zone > > m_frameParserMap
the frame parsers: name-> parser
Definition: MsWksDocument.cxx:95
MsWksDocument::ZoneType
ZoneType
the different type of zone (v1-v3)
Definition: MsWksDocument.hxx:78
libmwaw::SubDocumentType
SubDocumentType
Definition: libmwaw_internal.hxx:178
MsWksDocument::Z_FOOTER
@ Z_FOOTER
Definition: MsWksDocument.hxx:78
MsWksDocumentInternal::State::m_hasFooter
bool m_hasFooter
true if there is a footer v3
Definition: MsWksDocument.cxx:87
MWAWCellContent::m_formula
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition: MWAWCell.hxx:440
MsWksDocument::Zone::m_textId
int m_textId
the text internal id
Definition: MsWksDocument.hxx:88
MWAWParagraph.hxx
MsWksDocument::m_parserState
shared_ptr< MWAWParserState > m_parserState
the parser state
Definition: MsWksDocument.hxx:243
MsWksGraph::SendData::m_size
MWAWVec2i m_size
the size of the data ( used by rbil )
Definition: MsWksGraph.hxx:123
MWAWRSRCParser.hxx
MWAWVec2::y
T y() const
second element
Definition: libmwaw_internal.hxx:620
libmwaw_internal.hxx
MWAWPosition.hxx
MWAWDocument
This class provides all the functions needed by applications to parse many pre-MacOSX documents.
Definition: MWAWDocument.hxx:70
MWAWCellContent::FormulaInstruction::m_type
Type m_type
the type
Definition: MWAWCell.hxx:374
MsWksDocument::getZone
Zone getZone(ZoneType type) const
returns the zone corresponding to a zoneType (v1-v3 document)
Definition: MsWksDocument.cxx:338
MsWksDocument::ascii
libmwaw::DebugFile & ascii()
a DebugFile used to write what we recognize when we parse the document
Definition: MsWksDocument.hxx:127
MWAWVec2::x
T x() const
first element
Definition: libmwaw_internal.hxx:615
MsWks4Zone.hxx
MsWks3Text
the main class to read the text part of Microsoft Works file
Definition: MsWks3Text.hxx:70
MsWksDocument::sendOLE
void sendOLE(int id, MWAWPosition const &pos, MWAWGraphicStyle const &style)
send an OLE zone
Definition: MsWksDocument.cxx:492
MsWksDocument::m_input
MWAWInputStreamPtr m_input
the input which can be an OLE in MSWorks 4 file
Definition: MsWksDocument.hxx:251
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:48
MsWksDocument::getEntryMap
std::multimap< std::string, MWAWEntry > & getEntryMap()
returns the document entry map of a v4 document
Definition: MsWksDocument.cxx:351
MsWks4Zone::createZones
bool createZones(bool mainOle)
finds and parses all the zones to prepare the data
Definition: MsWks4Zone.cxx:453
MWAWEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: MWAWEntry.hxx:56
MsWksDocument::checkHeader3
bool checkHeader3(MWAWHeader *header, bool strict=false)
checks if the file header corresponds to a v1-v3 document (or not)
Definition: MsWksDocument.cxx:1002
MsWksGraph::SendData::RBIL
@ RBIL
Definition: MsWksGraph.hxx:115
MsWksDocument::sendFootnote
void sendFootnote(int id)
tries to send a footnote
Definition: MsWksDocument.cxx:481
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:82
MsWksDocument::sendFootnoteContent
void sendFootnoteContent(int noteId)
try to send a footnote content (v4 document)
Definition: MsWksDocument.cxx:374
MsWksDocument::Z_HEADER
@ Z_HEADER
Definition: MsWksDocument.hxx:78
MWAWOLEParser.hxx
MWAWVec2< int >
MsWks4Zone
The class which parses the main zones of a mac MS Works document v4.
Definition: MsWks4Zone.hxx:74
MsWksDocument::m_graphParser
shared_ptr< MsWksGraph > m_graphParser
the graph document
Definition: MsWksDocument.hxx:256
MWAWCellContent
small class use to define a sheet cell content
Definition: MWAWCell.hxx:356
MWAWDebug.hxx
MsWksDocument::m_state
shared_ptr< MsWksDocumentInternal::State > m_state
the state
Definition: MsWksDocument.hxx:240
MWAWHeader
a function used by MWAWDocument to store the version of document
Definition: MWAWHeader.hxx:57
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:72
MsWksDBParser
the main class to read a Microsoft Works database file and convert it in a spreadsheet file
Definition: MsWksDBParser.hxx:66
MsWksDocumentInternal::State::getPalette
std::vector< MWAWColor > const & getPalette(int vers)
returns a color palette
Definition: MsWksDocument.cxx:106
MsWksDocument::setVersion
void setVersion(int vers)
sets the document's version
Definition: MsWksDocument.cxx:313
MsWksDocument::getUnparsedOLEZones
std::vector< std::string > const & getUnparsedOLEZones() const
returns the list of unparsed OLE zones
Definition: MsWksDocument.cxx:587
MsWksDocumentInternal::State::m_footnoteParser
shared_ptr< MsWks4Zone > m_footnoteParser
parser of the footnote ole
Definition: MsWksDocument.cxx:93
MsWksDocumentInternal::SubDocument::m_id
int m_id
the subdocument id
Definition: MsWksDocument.cxx:231
MWAWEntry::setId
void setId(int newId)
sets the id
Definition: MWAWEntry.hxx:158
MsWksDocument::getTextParser4
shared_ptr< MsWks4Text > getTextParser4()
returns the text parser (for v4 document)
Definition: MsWksDocument.cxx:307
MsWksDocumentInternal::State::m_actPage
int m_actPage
the actual page
Definition: MsWksDocument.cxx:100
libmwaw::PrinterInfo::read
bool read(MWAWInputStreamPtr input)
reads the struture in a file
Definition: MWAWPrinter.cxx:218
MsWksSSParser
the main class to read a Microsoft Works spreadsheet file
Definition: MsWksSSParser.hxx:66
MWAWHeaderFooter::FOOTER
@ FOOTER
Definition: MWAWPageSpan.hxx:48
MWAWPosition::Char
@ Char
Definition: MWAWPosition.hxx:51
MWAWCellContent::FormulaInstruction::m_doubleValue
double m_doubleValue
value ( if type==F_Double )
Definition: MWAWCell.hxx:380
MWAWCellContent::FormulaInstruction::F_Cell
@ F_Cell
Definition: MWAWCell.hxx:360
MsWksDocument::getLengthOfFileHeader3
long getLengthOfFileHeader3() const
returns the length of the file header of a v1-v3 document (if know)
Definition: MsWksDocument.cxx:356
MsWksDocument::m_textParser3
shared_ptr< MsWks3Text > m_textParser3
the text document (for v1-3 document)
Definition: MsWksDocument.hxx:258
MWAWHeader.hxx
MWAWInputStreamPtr
shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:503
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:77
MWAWHeaderFooter::ALL
@ ALL
Definition: MWAWPageSpan.hxx:50
MsWksGraph::SendData
small struct used which picture need to be send
Definition: MsWksGraph.hxx:109
MsWksDocumentInternal::State::m_oleParser
shared_ptr< MWAWOLEParser > m_oleParser
the ole parser
Definition: MsWksDocument.cxx:91
MWAWParser
virtual class which defines the ancestor of all main zone parser
Definition: MWAWParser.hxx:100
MsWksDocumentInternal::SubDocument::Note
@ Note
Definition: MsWksDocument.cxx:206
MsWksDocument::getKind
MWAWDocument::Kind getKind() const
returns the document's kind
Definition: MsWksDocument.cxx:323
MsWksDocument::MsWksDocument
MsWksDocument(MsWksDocument const &orig)
MsWksDocument::sendRBIL
void sendRBIL(int id, MWAWVec2i const &sz)
send a rbil zone
Definition: MsWksDocument.cxx:508
MsWksDocument.hxx
MsWksDocument::getHeaderFooterHeight
float getHeaderFooterHeight(bool header) const
returns the header/footer height (found by readGroupHeaderFooter)
Definition: MsWksDocument.cxx:399
MWAWTextListener.hxx
MsWksDocument::readDBNumber
bool readDBNumber(long endPos, double &res, bool &isNan, std::string &str)
try to read a number
Definition: MsWksDocument.cxx:1184
MWAWSubDocument::m_parser
MWAWParser * m_parser
the main zone parser
Definition: MWAWSubDocument.hxx:75
MWAWSection.hxx
MWAWCellContent::FormulaInstruction::F_Double
@ F_Double
Definition: MWAWCell.hxx:360
MsWksDocumentInternal::SubDocument::Type
Type
Definition: MsWksDocument.cxx:206
MsWks3Text.hxx
MWAWCellContent::FormulaInstruction::m_position
MWAWVec2i m_position[2]
cell position ( if type==F_Cell or F_CellList )
Definition: MWAWCell.hxx:382
MWAWBox2::min
MWAWVec2< T > const & min() const
the minimum 2D point (in x and in y)
Definition: libmwaw_internal.hxx:980
MsWksDocument::~MsWksDocument
virtual ~MsWksDocument()
destructor
Definition: MsWksDocument.cxx:291
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
libmwaw::DebugFile::setStream
void setStream(MWAWInputStreamPtr ip)
resets the input
Definition: MWAWDebug.hxx:73
MsWks4Text.hxx
MWAWPageSpan::setHeaderFooter
void setHeaderFooter(MWAWHeaderFooter const &headerFooter)
add a header/footer on some page
Definition: MWAWPageSpan.cxx:223
MsWksDocument::Z_MAIN
@ Z_MAIN
Definition: MsWksDocument.hxx:78
MsWksDocument::sendText
void sendText(int id)
try to send a text zone (v1-v3 document)
Definition: MsWksDocument.cxx:361
MsWksDocument::m_parentDocument
MsWksDocument * m_parentDocument
the parent document (if this is not the main document)
Definition: MsWksDocument.hxx:249
MsWksDocument::getMainParser
MWAWParser & getMainParser()
returns the main parser
Definition: MsWksDocument.hxx:113
MsWksDocument::readDBString
bool readDBString(long endPos, std::string &res)
try to read a string
Definition: MsWksDocument.cxx:1169
MWAWBox2::size
MWAWVec2< T > size() const
the box size
Definition: libmwaw_internal.hxx:1008
libmwaw::DebugFile
an interface used to insert comment in a binary file, written in ascii form (if debug_with_files is n...
Definition: MWAWDebug.hxx:66
MsWksDocument::getNewZoneId
int getNewZoneId() const
returns a free zone'id
Definition: MsWksDocument.cxx:333
MsWksDocumentInternal::State::m_entryMap
std::multimap< std::string, MWAWEntry > m_entryMap
the list of entries, name->entry ( for v4 document)
Definition: MsWksDocument.cxx:86
MsWksDocument::createOLEZones
bool createOLEZones(MWAWInputStreamPtr input)
finds the different OLE zones
Definition: MsWksDocument.cxx:592
MsWksDocument::version
int version() const
returns the document's version
Definition: MsWksDocument.cxx:318
MsWksDocumentInternal::State::m_colorPalette
std::vector< MWAWColor > m_colorPalette[4]
the color palette
Definition: MsWksDocument.cxx:99
MWAWNote::FootNote
@ FootNote
Definition: libmwaw_internal.hxx:408
MsWksDocumentInternal::SubDocument::m_document
MsWksDocument & m_document
the main document
Definition: MsWksDocument.cxx:227
MWAWCellContent::FormulaInstruction::m_positionRelative
MWAWVec2b m_positionRelative[2]
relative cell position ( if type==F_Cell or F_CellList )
Definition: MWAWCell.hxx:384
MsWksDocument::Zone::m_zoneId
int m_zoneId
the parser zone id
Definition: MsWksDocument.hxx:86
MsWksDocumentInternal::SubDocument::OLE
@ OLE
Definition: MsWksDocument.cxx:206
MWAWHeader::reset
void reset(MWAWDocument::Type type, int vers, Kind kind=MWAWDocument::MWAW_K_TEXT)
resets the data
Definition: MWAWHeader.hxx:82
MsWksDocumentInternal::SubDocument::parse
void parse(MWAWListenerPtr &listener, libmwaw::SubDocumentType type)
the parser function
Definition: MsWksDocument.cxx:234
MWAWSubDocumentPtr
shared_ptr< MWAWSubDocument > MWAWSubDocumentPtr
a smart pointer of MWAWSubDocument
Definition: libmwaw_internal.hxx:517
MsWksDocumentInternal::State::m_hasHeader
bool m_hasHeader
true if there is a header v3
Definition: MsWksDocument.cxx:87
MWAWBox2< int >
MsWksDocument::readPrintInfo
bool readPrintInfo()
read the print info zone (v1-v3)
Definition: MsWksDocument.cxx:676
MsWksDocument::newPage
void newPage(int page, bool softBreak=false)
tries to create a new page
Definition: MsWksDocument.cxx:470
MsWksDocument::hasFooter
bool hasFooter() const
returns true if the document has some footer ( found by checkHeader3)
Definition: MsWksDocument.cxx:394
MsWksDocumentInternal::SubDocument::m_type
Type m_type
the type
Definition: MsWksDocument.cxx:229
MWAWVec2b
MWAWVec2< bool > MWAWVec2b
MWAWVec2 of bool.
Definition: libmwaw_internal.hxx:779
MsWksGraph::SendData::m_type
enum MsWksGraph::SendData::Type m_type
MsWksDocument::sendTextbox
void sendTextbox(MWAWEntry const &entry, std::string const &frame)
send a textbox
Definition: MsWksDocument.cxx:518
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition: libmwaw_internal.hxx:781
MsWksDocumentInternal::State::m_headerHeight
int m_headerHeight
the header height if known
Definition: MsWksDocument.cxx:102
MsWksDocumentInternal::SubDocument::operator==
virtual bool operator==(MWAWSubDocument const &doc) const
operator!==
Definition: MsWksDocument.cxx:217
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
MWAWListenerPtr
shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:505
MWAWParser.hxx
MsWksDocument::getTypeZoneMap
std::multimap< int, Zone > & getTypeZoneMap()
returns the document entry map of a v1-v3 document
Definition: MsWksDocument.cxx:346
MWAWSubDocument::m_input
shared_ptr< MWAWInputStream > m_input
the input
Definition: MWAWSubDocument.hxx:77
MWAWPageSpan
A class which defines the page properties.
Definition: MWAWPageSpan.hxx:96
MsWksDocument::readFormula
bool readFormula(long endPos, MWAWCellContent &content, std::string &extra)
Definition: MsWksDocument.cxx:1233
MsWksDocument::MsWksDocument
MsWksDocument(MWAWInputStreamPtr input, MWAWParser &parser)
constructor
Definition: MsWksDocument.cxx:283

Generated on Wed Jun 17 2020 06:30:11 for libmwaw by doxygen 1.8.18