Quattro9.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwps
3  * Version: MPL 2.0 / LGPLv2.1+
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * Major Contributor(s):
10  * Copyright (C) 2006, 2007 Andrew Ziem
11  * Copyright (C) 2003-2005 William Lachance (william.lachance@sympatico.ca)
12  * Copyright (C) 2003 Marc Maurer (uwog@uwog.net)
13  *
14  * For minor contributions see the git repository.
15  *
16  * Alternatively, the contents of this file may be used under the terms
17  * of the GNU Lesser General Public License Version 2.1 or later
18  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
19  * applicable instead of those above.
20  */
21 
22 #ifndef QUATTRO_9_H
23 #define QUATTRO_9_H
24 
25 #include <map>
26 #include <vector>
27 
28 #include <librevenge-stream/librevenge-stream.h>
29 #include "libwps/libwps.h"
30 
31 #include "libwps_internal.h"
32 #include "libwps_tools_win.h"
33 
34 #include "WKSParser.h"
35 #include "WPSGraphicStyle.h"
36 
37 namespace Quattro9ParserInternal
38 {
39 class SubDocument;
40 struct State;
41 
42 struct TextEntry
43 {
46  : m_entry()
47  , m_fontsList()
48  , m_posFontIdMap()
49  , m_flag(0)
50  , m_extra()
51  {
52  }
54  bool empty() const
55  {
56  return !m_entry.valid();
57  }
59  librevenge::RVNGString getString(std::shared_ptr<WPSStream> const &stream, libwps_tools_win::Font::Type type=libwps_tools_win::Font::WIN3_WEUROPE) const;
61  void send(std::shared_ptr<WPSStream> const &stream, WPSFont const &font, libwps_tools_win::Font::Type type, WKSContentListenerPtr &listener);
63  std::string getDebugString(std::shared_ptr<WPSStream> const &stream) const;
67  std::vector<WPSFont> m_fontsList;
69  std::map<int, int> m_posFontIdMap;
71  int m_flag;
73  std::string m_extra;
74 };
75 }
76 
77 class Quattro9Graph;
79 
80 namespace QuattroFormulaInternal
81 {
82 class CellReference;
83 }
84 
89 class Quattro9Parser final : public WKSParser
90 {
92  friend class Quattro9Graph;
93  friend class Quattro9Spreadsheet;
94 
95 public:
99  char const *password=nullptr);
101  ~Quattro9Parser() final;
103  void parse(librevenge::RVNGSpreadsheetInterface *documentInterface) final;
105  bool checkHeader(WPSHeader *header, bool strict=false);
106 
107 protected:
109  int version() const;
113  libwps_tools_win::Font::Type getDefaultFontType() const;
115  bool getExternalFileName(int fId, librevenge::RVNGString &fName) const;
117  bool getField(int fId, librevenge::RVNGString &text,
118  QuattroFormulaInternal::CellReference &ref,
119  librevenge::RVNGString const &fileName) const;
120 
121  //
122  // interface with Quattro9Spreadsheet
123  //
124 
126  bool getFont(int id, WPSFont &font) const;
128  Vec2f getCellPosition(int sheetId, Vec2i const &cell) const;
129 
130  //
131  // interface with Quattro9Graph
132  //
133 
135  bool getColor(int id, WPSColor &color) const;
137  bool getPattern(int id, WPSGraphicStyle::Pattern &pattern) const;
139  bool sendPageGraphics(int sheetId) const;
140 
141  //
142  //
143  //
144 
146  std::shared_ptr<WKSContentListener> createListener(librevenge::RVNGSpreadsheetInterface *interface);
147 
149  void sendHeaderFooter(bool header);
150 
151  //
152  // low level
153  //
154 
156  bool checkHeader(std::shared_ptr<WPSStream> stream, bool strict);
158  bool readZones();
160  bool readZone(std::shared_ptr<WPSStream> &stream);
161 
163 
165  bool readPString(std::shared_ptr<WPSStream> const &stream, long endPos, Quattro9ParserInternal::TextEntry &entry);
167  bool readFontNames(std::shared_ptr<WPSStream> const &stream);
169  bool readFontStyles(std::shared_ptr<WPSStream> const &stream);
171  bool readFilePositions(std::shared_ptr<WPSStream> const &stream, long (&filePos)[2]);
173  bool readDocumentFields(std::shared_ptr<WPSStream> const &stream);
175  bool readDocumentStrings(std::shared_ptr<WPSStream> const &stream);
176 
178  bool readTextStyles(std::shared_ptr<WPSStream> const &stream, long endPos, Quattro9ParserInternal::TextEntry &entry);
180  bool readTextFontStyles(std::shared_ptr<WPSStream> const &stream, int dataSz, WPSFont &font);
181 
183  void addDocumentStrings();
184 
186 
187 
189 
191  bool parseOLEStream(RVNGInputStreamPtr input, std::string const &avoid="");
193  bool readOleLinkInfo(std::shared_ptr<WPSStream> stream);
195  bool readOleBOlePart(std::shared_ptr<WPSStream> stream);
196 
198 
200  RVNGInputStreamPtr decodeStream(RVNGInputStreamPtr input, std::vector<uint8_t> const &key) const;
201 
202  std::shared_ptr<WKSContentListener> m_listener;
203  std::shared_ptr<Quattro9ParserInternal::State> m_state;
206  std::shared_ptr<Quattro9Graph> m_graphParser;
209 };
210 
211 #endif /* WPS4_H */
212 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
Quattro9ParserInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: Quattro9.cpp:67
WKSContentListener::FormulaInstruction::F_Text
Definition: WKSContentListener.h:59
Quattro9Parser::readDocumentFields
bool readDocumentFields(std::shared_ptr< WPSStream > const &stream)
read a zone 406 which contains a list of fields
Definition: Quattro9.cpp:1522
Quattro9ParserInternal::State::getDefaultFontType
libwps_tools_win::Font::Type getDefaultFontType() const
return the default font style
Definition: Quattro9.cpp:146
Quattro9ParserInternal::TextEntry::empty
bool empty() const
returns true if the string is empty
Definition: Quattro9.h:54
Quattro9ParserInternal::SubDocument
Internal: the subdocument of a WPS4Parser.
Definition: Quattro9.cpp:60
WPS_STRIKEOUT_BIT
#define WPS_STRIKEOUT_BIT
Definition: libwps_internal.h:507
QuattroFormulaInternal::CellReference
small class use to store Quattro Pro cell reference (.wb1-3 and qpw)
Definition: QuattroFormula.h:42
libwps::DebugStream::str
static std::string str()
Definition: WPSDebug.h:200
libwps::DebugFile::open
static bool open(std::string const &)
Definition: WPSDebug.h:215
Quattro9Parser::m_spreadsheetParser
std::shared_ptr< Quattro9Spreadsheet > m_spreadsheetParser
the spreadsheet manager
Definition: Quattro9.h:208
Quattro9ParserInternal::TextEntry::m_fontsList
std::vector< WPSFont > m_fontsList
the list of fonts
Definition: Quattro9.h:67
WPS_BOLD_BIT
#define WPS_BOLD_BIT
Definition: libwps_internal.h:506
libwps::DebugFile::addPos
static void addPos(long)
Definition: WPSDebug.h:220
WPSPageSpan::setPageSpan
void setPageSpan(const int pageSpan)
Definition: WPSPageSpan.h:164
WPSCell.h
WPSEntry::setLength
void setLength(long l)
sets the zone size
Definition: WPSEntry.h:60
libwps_tools_win::Font::Type
Type
enum Type
Definition: libwps_tools_win.h:46
WPSHeader::setKind
void setKind(libwps::WPSKind kind)
Definition: WPSHeader.h:64
Quattro9ParserInternal::State::m_password
const char * m_password
the password (if known)
Definition: Quattro9.cpp:167
WPS_SUBSCRIPT_BIT
#define WPS_SUBSCRIPT_BIT
Definition: libwps_internal.h:500
Quattro9Parser::getDefaultFontType
libwps_tools_win::Font::Type getDefaultFontType() const
returns the default font type, ie.
Definition: Quattro9.cpp:422
Quattro9Parser::createListener
std::shared_ptr< WKSContentListener > createListener(librevenge::RVNGSpreadsheetInterface *interface)
creates the main listener
Definition: Quattro9.cpp:581
Quattro9Parser::sendHeaderFooter
void sendHeaderFooter(bool header)
send the header/footer
Definition: Quattro9.cpp:1741
Quattro9Spreadsheet
This class parses Quattro9 Pro spreadsheet file.
Definition: Quattro9Spreadsheet.h:56
WPS_UNDERLINE_BIT
#define WPS_UNDERLINE_BIT
Definition: libwps_internal.h:508
WKSSubDocument.h
libwps
Definition: libwps_internal.cpp:38
Quattro9ParserInternal::TextEntry::getString
librevenge::RVNGString getString(std::shared_ptr< WPSStream > const &stream, libwps_tools_win::Font::Type type=libwps_tools_win::Font::WIN3_WEUROPE) const
returns the string
Definition: Quattro9.cpp:280
Quattro9Parser::~Quattro9Parser
~Quattro9Parser() final
destructor
Definition: Quattro9.cpp:413
WPS_SUPERSCRIPT_BIT
#define WPS_SUPERSCRIPT_BIT
Definition: libwps_internal.h:499
WPSStream
small structure use to store a stream and it debug file
Definition: WPSStream.h:29
Quattro9ParserInternal::ZoneName::m_extra
std::string m_extra
the extra data
Definition: Quattro9.cpp:120
Quattro9ParserInternal::SubDocument::operator==
bool operator==(std::shared_ptr< WPSSubDocument > const &doc) const final
operator==
Definition: Quattro9.cpp:70
Quattro9ParserInternal::State::m_version
int m_version
the file version
Definition: Quattro9.cpp:165
Quattro9ParserInternal::State::m_metaData
librevenge::RVNGPropertyList m_metaData
the meta data
Definition: Quattro9.cpp:169
libwps::DebugFile::reset
static void reset()
Definition: WPSDebug.h:224
WPSOLEParser
a class used to parse some basic oles Tries to read the different ole parts and stores their contents...
Definition: WPSOLEParser.h:85
libwps_tools_win::Font::unicodeString
static librevenge::RVNGString unicodeString(const unsigned char *p, unsigned long size, Type type, bool skipUnknown=true)
converts a list of character in unicode
Definition: libwps_tools_win.cpp:7283
WPSHeader.h
WPS_OUTLINE_BIT
#define WPS_OUTLINE_BIT
Definition: libwps_internal.h:501
Quattro9Parser
This class parses Quattro Pro WP spreadsheet: .qpw.
Definition: Quattro9.h:89
WPS_DOUBLE_UNDERLINE_BIT
#define WPS_DOUBLE_UNDERLINE_BIT
Definition: libwps_internal.h:505
WPSFont
define the font properties
Definition: WPSFont.h:36
QuattroFormulaInternal::CellReference::addInstruction
void addInstruction(WKSContentListener::FormulaInstruction const &instr)
add an instruction
Definition: QuattroFormula.h:51
WPSEntry::valid
bool valid(bool checkId=false) const
returns true if the zone length is positive
Definition: WPSEntry.h:87
WPS_ITALICS_BIT
#define WPS_ITALICS_BIT
Definition: libwps_internal.h:502
WPSEntry
basic class to store an entry in a file This contained :
Definition: WPSEntry.h:38
WPSHeader::setMajorVersion
void setMajorVersion(int version)
Definition: WPSHeader.h:94
Vec2i
Vec2< int > Vec2i
Vec2 of int.
Definition: libwps_internal.h:702
Quattro9ParserInternal::TextEntry::m_posFontIdMap
std::map< int, int > m_posFontIdMap
the position to font map(complex text)
Definition: Quattro9.h:69
WPSHeader::setCreator
void setCreator(libwps::WPSCreator creator)
Definition: WPSHeader.h:54
WKSContentListener::FormulaInstruction::m_type
What m_type
the type
Definition: WKSContentListener.h:77
WPSPageSpan.h
WPSStringStream
internal class used to create a RVNGInputStream from a unsigned char's pointer
Definition: WPSStringStream.h:41
QuattroFormulaInternal::CellReference::m_cells
std::vector< WKSContentListener::FormulaInstruction > m_cells
the list of instruction coding each cell's block
Definition: QuattroFormula.h:70
WPSOLEParser::parse
bool parse(RVNGInputStreamPtr fileInput)
tries to parse basic OLE (excepted mainName)
Definition: WPSOLEParser.cpp:318
Quattro9ParserInternal::ZoneName
a zone name
Definition: Quattro9.cpp:109
Quattro9.h
Quattro9ParserInternal::SubDocument::m_header
bool m_header
a flag to known if we need to send the header or the footer
Definition: Quattro9.cpp:82
Quattro9Parser::readDocumentStrings
bool readDocumentStrings(std::shared_ptr< WPSStream > const &stream)
read a zone 407 which contains a list of stream
Definition: Quattro9.cpp:1628
WPSHeader::setNeedEncoding
void setNeedEncoding(bool needEncoding)
Definition: WPSHeader.h:84
Quattro9Parser::readOleBOlePart
bool readOleBOlePart(std::shared_ptr< WPSStream > stream)
try to read the BOlePart sub stream: a zone which contains 5 long
Definition: Quattro9.cpp:1785
WKSParser::getInput
RVNGInputStreamPtr & getInput()
Definition: WKSParser.h:41
libwps::ParseException
Definition: libwps_internal.h:151
libwps::Debug::flattenFileName
std::string flattenFileName(std::string const &name)
Definition: WPSDebug.h:185
Vec2< float >
libwps::PasswordException
Definition: libwps_internal.h:156
Quattro9Parser::getExternalFileName
bool getExternalFileName(int fId, librevenge::RVNGString &fName) const
returns the name of the fId file
Definition: Quattro9.cpp:427
WPS_DEBUG_MSG
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:134
Quattro9Parser::readZones
bool readZones()
finds the different zones in the main OLE stream (spreadsheet, chart, print, ...)
Definition: Quattro9.cpp:648
libwps::readU32
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:76
WPSFont::m_color
WPSColor m_color
the font color
Definition: WPSFont.h:89
WKSParser.h
WPSEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: WPSEntry.h:55
Quattro9Parser::parse
void parse(librevenge::RVNGSpreadsheetInterface *documentInterface) final
called by WPSDocument to parse the file
Definition: Quattro9.cpp:535
QuattroFormulaInternal
namespace to regroup data used to read QuattroPro .wb1-3, .qpw formula
Definition: Quattro.h:45
WPSOLEParser.h
WKSContentListenerPtr
std::shared_ptr< WKSContentListener > WKSContentListenerPtr
shared pointer to WKSContentListener
Definition: libwps_internal.h:114
WPSHeader
Definition: WPSHeader.h:31
Quattro9ParserInternal::State::m_actualSheet
int m_actualSheet
the actual sheet id
Definition: Quattro9.cpp:181
WPSHeader::setIsEncrypted
void setIsEncrypted(bool isEncrypted)
Definition: WPSHeader.h:74
Quattro9ParserInternal::TextEntry
Definition: Quattro9.h:42
libwps_tools_win::Font::UNKNOWN
Definition: libwps_tools_win.h:63
libwps::read32
int32_t read32(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:85
libwps::SubDocumentType
SubDocumentType
Definition: libwps_internal.h:248
WKSContentListener::FormulaInstruction
small class use to define a formula instruction
Definition: WKSContentListener.h:57
Quattro9ParserInternal::State::m_isDecoded
bool m_isDecoded
true if the main stream has been decoded
Definition: Quattro9.cpp:187
Quattro9Parser::readZone
bool readZone(std::shared_ptr< WPSStream > &stream)
try to read a zone
Definition: Quattro9.cpp:725
Quattro9Parser::m_graphParser
std::shared_ptr< Quattro9Graph > m_graphParser
the graph manager
Definition: Quattro9.h:206
Quattro9ParserInternal::SubDocument::SubDocument
SubDocument(RVNGInputStreamPtr const &input, Quattro9Parser &pars, bool header)
constructor for a text entry
Definition: Quattro9.cpp:64
WPSFont.h
Quattro9ParserInternal::State::m_fontType
libwps_tools_win::Font::Type m_fontType
the user font type
Definition: Quattro9.cpp:163
Quattro9ParserInternal::State::m_isEncrypted
bool m_isEncrypted
true if the file is encrypted
Definition: Quattro9.cpp:185
Quattro9Parser::readFontStyles
bool readFontStyles(std::shared_ptr< WPSStream > const &stream)
read a font style zone: zone 7
Definition: Quattro9.cpp:1336
WPSEntry.h
Quattro9ParserInternal::State::getDefaultFont
WPSFont getDefaultFont() const
returns a default font with file's version *‍/
Definition: Quattro9.cpp:153
WPSGraphicStyle
a structure used to define a picture style
Definition: WPSGraphicStyle.h:37
WPSFont::m_attributes
uint32_t m_attributes
the font attributes defined as a set of bits
Definition: WPSFont.h:85
libwps.h
libwps::DebugFile::addNote
static void addNote(char const *)
Definition: WPSDebug.h:221
Quattro9Parser::checkHeader
bool checkHeader(WPSHeader *header, bool strict=false)
checks if the document header is correct (or not)
Definition: Quattro9.cpp:599
Quattro9ParserInternal
Internal: namespace to define internal class of Quattro9Parser.
Definition: Quattro9.cpp:57
libwps::WPS_SPREADSHEET
Definition: WPSDocument.h:60
Quattro9ParserInternal::State::m_idToZoneNameMap
std::map< int, ZoneName > m_idToZoneNameMap
map zone id to zone name
Definition: Quattro9.cpp:189
Quattro9Parser::readFilePositions
bool readFilePositions(std::shared_ptr< WPSStream > const &stream, long(&filePos)[2])
read a zone which contains two files position (prev and next): zone 2,402,602,a02
Definition: Quattro9.cpp:1690
Quattro9ParserInternal::ZoneName::ZoneName
ZoneName(char const *name, char const *extra=nullptr)
constructor
Definition: Quattro9.cpp:112
libwps::read8
int8_t read8(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:59
WPSFont::m_size
double m_size
font size
Definition: WPSFont.h:83
Quattro9Parser::getPattern
bool getPattern(int id, WPSGraphicStyle::Pattern &pattern) const
returns the pattern corresponding to a pattern id between 0 and 24
Definition: Quattro9.cpp:496
Quattro9Parser::getField
bool getField(int fId, librevenge::RVNGString &text, QuattroFormulaInternal::CellReference &ref, librevenge::RVNGString const &fileName) const
returns the text and cell of a field instruction
Definition: Quattro9.cpp:444
Quattro9Parser::getColor
bool getColor(int id, WPSColor &color) const
returns the color corresponding to an id
Definition: Quattro9.cpp:491
libwps::WPS_QUATTRO_PRO
Quattro Pro wq1,wq2, wb1,wb2,wb3, qpw spreadsheets and qpw spreadsheet.
Definition: WPSDocument.h:50
Quattro9ParserInternal::TextEntry::m_extra
std::string m_extra
extra data
Definition: Quattro9.h:73
Quattro9Spreadsheet.h
Quattro9ParserInternal::TextEntry::getDebugString
std::string getDebugString(std::shared_ptr< WPSStream > const &stream) const
internal: returns a debug string
Definition: Quattro9.cpp:313
WPSHeaderPtr
std::shared_ptr< WPSHeader > WPSHeaderPtr
shared pointer to WPSHeader
Definition: libwps_internal.h:109
Quattro9ParserInternal::State::State
State(libwps_tools_win::Font::Type fontType, char const *password)
constructor
Definition: Quattro9.cpp:127
Quattro9ParserInternal::State::m_idToExternalFileMap
std::map< int, librevenge::RVNGString > m_idToExternalFileMap
map id to filename
Definition: Quattro9.cpp:175
WKSSubDocument
Basic class used to store a spreadsheet sub document.
Definition: WKSSubDocument.h:35
libwps::DebugStream
Definition: WPSDebug.h:191
Quattro9ParserInternal::State::m_actualStrings
std::pair< std::shared_ptr< WPSStream >, std::vector< TextEntry > > m_actualStrings
the actual string list
Definition: Quattro9.cpp:183
libwps::readU8
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:40
Quattro9ParserInternal::ZoneName::m_name
std::string m_name
the zone name
Definition: Quattro9.cpp:118
Quattro9ParserInternal::State::m_fontNamesList
std::vector< librevenge::RVNGString > m_fontNamesList
the font name list
Definition: Quattro9.cpp:171
Quattro9Parser::getCellPosition
Vec2f getCellPosition(int sheetId, Vec2i const &cell) const
returns the beginning position of a cell
Definition: Quattro9.cpp:520
Quattro9ParserInternal::TextEntry::m_flag
int m_flag
the flag
Definition: Quattro9.h:71
Quattro9ParserInternal::State
the state of Quattro9Parser
Definition: Quattro9.cpp:124
libwps_tools_win.h
Quattro9Graph.h
WPSPageSpan
Definition: WPSPageSpan.h:38
WKSContentListener::FormulaInstruction::m_content
std::string m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text)
Definition: WKSContentListener.h:79
Quattro9Parser::readPString
bool readPString(std::shared_ptr< WPSStream > const &stream, long endPos, Quattro9ParserInternal::TextEntry &entry)
try to read a string: length[2bytes], unknow[bytes] followed by the string
Definition: Quattro9.cpp:1258
libwps::readU16
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:64
libwps_tools_win::Language::name
std::string name(long id)
returns the name given Windows id
Definition: libwps_tools_win.cpp:7332
Quattro9Parser::m_listener
std::shared_ptr< WKSContentListener > m_listener
Definition: Quattro9.h:202
Quattro9Parser::readTextStyles
bool readTextStyles(std::shared_ptr< WPSStream > const &stream, long endPos, Quattro9ParserInternal::TextEntry &entry)
read a text entry style zone
Definition: Quattro9.cpp:1406
RVNGInputStreamPtr
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
shared pointer to librevenge::RVNGInputStream
Definition: libwps_internal.h:87
Quattro9ParserInternal::State::m_idToFieldMap
std::map< int, std::pair< librevenge::RVNGString, QuattroFormulaInternal::CellReference > > m_idToFieldMap
map id to field
Definition: Quattro9.cpp:179
Quattro9Parser::m_state
std::shared_ptr< Quattro9ParserInternal::State > m_state
the listener (if set)
Definition: Quattro9.h:204
libwps::DebugFile::addDelimiter
static void addDelimiter(long, char)
Definition: WPSDebug.h:222
libwps::readDataToEnd
bool readDataToEnd(RVNGInputStreamPtr &input, librevenge::RVNGBinaryData &data)
try to read the last bytes from input and store them in a librevenge::RVNGBinaryData
Definition: libwps_internal.cpp:346
libwps_tools_win::Font::WIN3_WEUROPE
Definition: libwps_tools_win.h:52
Quattro9ParserInternal::TextEntry::send
void send(std::shared_ptr< WPSStream > const &stream, WPSFont const &font, libwps_tools_win::Font::Type type, WKSContentListenerPtr &listener)
sends the text to the main listener
Definition: Quattro9.cpp:322
Quattro9ParserInternal::State::m_idToExternalNameMap
std::map< int, librevenge::RVNGString > m_idToExternalNameMap
map id to external name
Definition: Quattro9.cpp:177
libwps::read16
int16_t read16(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:71
WKSParser::ascii
libwps::DebugFile & ascii()
a DebugFile used to write what we recognize when we parse the document
Definition: WKSParser.h:63
libwps_internal.h
Quattro9Parser::readOleLinkInfo
bool readOleLinkInfo(std::shared_ptr< WPSStream > stream)
try to read the link info sub stream
Definition: Quattro9.cpp:1755
WKSContentListener.h
WPSGraphicStyle::Pattern
a basic pattern used in a WPSGraphicStyle:
Definition: WPSGraphicStyle.h:88
WPSColor
the class to store a color
Definition: libwps_internal.h:280
Quattro9Parser::readTextFontStyles
bool readTextFontStyles(std::shared_ptr< WPSStream > const &stream, int dataSz, WPSFont &font)
read a font style in a text entry zone
Definition: Quattro9.cpp:1459
Quattro9Parser::version
int version() const
return the file version
Definition: Quattro9.cpp:417
Quattro9Graph
This class parses Quattro9Pro graph file.
Definition: Quattro9Graph.h:52
Quattro9Parser::sendPageGraphics
bool sendPageGraphics(int sheetId) const
send the page graphic corresponding to a sheet
Definition: Quattro9.cpp:501
WPS_SHADOW_BIT
#define WPS_SHADOW_BIT
Definition: libwps_internal.h:503
libwps_tools_win::Font::getFontType
static Type getFontType(librevenge::RVNGString &name)
returns the type of the font using the fontName
Definition: libwps_tools_win.cpp:39
Quattro9ParserInternal::State::m_fontsList
std::vector< WPSFont > m_fontsList
the font list
Definition: Quattro9.cpp:173
WPSStream.h
WKSContentListener
Definition: WKSContentListener.h:53
librevenge
Definition: WPSOLEStream.h:33
WKSParser::getFileInput
RVNGInputStreamPtr getFileInput()
Definition: WKSParser.cpp:44
libwps_tools_win
some Windows classes and tools
Definition: libwps_tools_win.cpp:31
Quattro9Parser::decodeStream
RVNGInputStreamPtr decodeStream(RVNGInputStreamPtr input, std::vector< uint8_t > const &key) const
try to decode a stream, if successful, replace the stream'input by the new one
Definition: Quattro9.cpp:1809
libwps::DebugFile
Definition: WPSDebug.h:207
Quattro9Parser::addDocumentStrings
void addDocumentStrings()
add the document strings to the spreadsheetParser
Definition: Quattro9.cpp:525
WPSGraphicStyle.h
Quattro9ParserInternal::TextEntry::m_entry
WPSEntry m_entry
the text entry
Definition: Quattro9.h:65
WPSStringStream.h
Quattro9Parser::parseOLEStream
bool parseOLEStream(RVNGInputStreamPtr input, std::string const &avoid="")
try to parse the OLE stream(except the main stream)
Definition: Quattro9.cpp:675
Quattro9ParserInternal::TextEntry::TextEntry
TextEntry()
constructor
Definition: Quattro9.h:45
WPSOLEStream.h
Quattro9Parser::Quattro9Parser
Quattro9Parser(RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::UNKNOWN, char const *password=nullptr)
constructor
Definition: Quattro9.cpp:404
WPSFont::m_name
librevenge::RVNGString m_name
font name
Definition: WPSFont.h:81
Quattro9Parser::getFont
bool getFont(int id, WPSFont &font) const
returns the font corresponding to an id
Definition: Quattro9.cpp:509
libwps::DebugFile::setStream
static void setStream(RVNGInputStreamPtr)
Definition: WPSDebug.h:212
Quattro9Parser::readFontNames
bool readFontNames(std::shared_ptr< WPSStream > const &stream)
read a font name zone: zone 6
Definition: Quattro9.cpp:1293
WKSParser
Definition: WKSParser.h:33

Generated on Mon Jan 20 2020 00:08:42 for libwps by doxygen 1.8.16