Multiplan.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 MULTIPLAN_H
23 #define MULTIPLAN_H
24 
25 #include <vector>
26 
27 #include <librevenge-stream/librevenge-stream.h>
28 #include "libwps/libwps.h"
29 
30 #include "libwps_internal.h"
31 #include "libwps_tools_win.h"
32 
33 #include "WKSContentListener.h"
34 
35 #include "WKSParser.h"
36 
37 namespace libwps
38 {
39 
40 namespace MultiplanParserInternal
41 {
42 struct State;
43 }
44 
49 class MultiplanParser final : public WKSParser
50 {
51 public:
55  char const *password=nullptr);
57  ~MultiplanParser() override;
59  void parse(librevenge::RVNGSpreadsheetInterface *documentInterface) final;
61  bool checkHeader(WPSHeader *header, bool strict=false);
62 
63 protected:
65  bool checkFilePosition(long pos);
67  int version() const;
72 
74  std::shared_ptr<WKSContentListener> createListener(librevenge::RVNGSpreadsheetInterface *interface);
76  bool sendSpreadsheet();
78  bool sendCell(Vec2i const &cellPos, int pos);
79 
80  //
81  // low level
82  //
83 
85  bool readZones();
87  bool readColumnsWidth();
89  bool readZonesList();
91  bool readZonesListV2();
93  bool readCellDataPosition(WPSEntry const &entry);
95  bool readLink(int pos, WKSContentListener::FormulaInstruction &instruction);
97  bool readFilename(int pos, librevenge::RVNGString &filename);
99  bool readSharedData(int pos, int cellType, Vec2i const &cellPos, WKSContentListener::CellContent &content);
101  bool readName(int pos, WKSContentListener::FormulaInstruction &instruction);
103  bool readFunctionNamesList();
104 
106 
108  bool checkPassword(char const *password) const;
112  bool retrievePasswordKeys();
113 
115 
117  bool readZoneB();
118 
119 
120 protected:
122  bool readDouble(double &value);
124  bool readFormula(Vec2i const &cellPos, std::vector<WKSContentListener::FormulaInstruction> &formula, long endPos, std::string &extra);
126  bool readFormulaV2(Vec2i const &cellPos, std::vector<WKSContentListener::FormulaInstruction> &formula, long endPos, std::string &extra);
127 
128  std::shared_ptr<WKSContentListener> m_listener;
129  std::shared_ptr<MultiplanParserInternal::State> m_state;
131 };
132 
133 }
134 
135 #endif /* MULTIPLAN_H */
136 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WKSContentListener::FormulaInstruction::F_Text
@ F_Text
Definition: WKSContentListener.h:59
libwps::MultiplanParserInternal::Zone::SharedData
@ SharedData
Definition: Multiplan.cpp:95
libwps::MultiplanParser::readFormulaV2
bool readFormulaV2(Vec2i const &cellPos, std::vector< WKSContentListener::FormulaInstruction > &formula, long endPos, std::string &extra)
try to read a formula V2
Definition: Multiplan.cpp:1399
WPS_N_ELEMENTS
#define WPS_N_ELEMENTS(m)
Definition: libwps_internal.h:124
WPSCellFormat::F_BOOLEAN
@ F_BOOLEAN
Definition: WPSCell.h:54
libwps::MultiplanParserInternal::State
the state of MultiplanParser
Definition: Multiplan.cpp:129
libwps::MultiplanParser::m_listener
std::shared_ptr< WKSContentListener > m_listener
Definition: Multiplan.h:128
libwps::MultiplanParser::version
int version() const
return the file version
Definition: Multiplan.cpp:233
libwps::WPS_MULTIPLAN
@ WPS_MULTIPLAN
Definition: WPSDocument.h:58
libwps::MultiplanParserInternal::Functions::m_name
char const * m_name
Definition: Multiplan.cpp:962
libwps::MultiplanParserInternal::State::m_eof
long m_eof
the last file position
Definition: Multiplan.cpp:169
libwps::MultiplanParser::retrievePasswordKeys
bool retrievePasswordKeys()
try to guess a password supposing that the Zone0 content is default
Definition: Multiplan.cpp:2791
libwps::MultiplanParser
This class parses Microsoft Multiplan DOS spreadsheet v1.
Definition: Multiplan.h:50
WKSContentListener::FormulaInstruction::m_fileName
librevenge::RVNGString m_fileName
the file name (external reference)
Definition: WKSContentListener.h:96
WKSContentListener::CellContent::m_formula
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition: WKSContentListener.h:155
libwps::DebugStream::str
static std::string str()
Definition: WPSDebug.h:200
libwps::DebugFile::open
static bool open(std::string const &)
Definition: WPSDebug.h:215
libwps::MultiplanParser::checkHeader
bool checkHeader(WPSHeader *header, bool strict=false)
checks if the document header is correct (or not)
Definition: Multiplan.cpp:317
WKSContentListener::CellContent::C_FORMULA
@ C_FORMULA
Definition: WKSContentListener.h:102
libwps::DebugFile::addPos
static void addPos(long)
Definition: WPSDebug.h:220
WKSContentListener::FormulaInstruction::F_Cell
@ F_Cell
Definition: WKSContentListener.h:59
libwps::MultiplanParserInternal::State::m_posToLinkMap
std::map< int, WKSContentListener::FormulaInstruction > m_posToLinkMap
the list of link instruction
Definition: Multiplan.cpp:185
WPSEntry::end
long end() const
returns the end offset
Definition: WPSEntry.h:76
WPSCell.h
libwps::MultiplanParser::readZonesListV2
bool readZonesListV2()
read the spreadsheet zone list v2
Definition: Multiplan.cpp:692
libwps::MultiplanParser::MultiplanParser
MultiplanParser(RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::UNKNOWN, char const *password=nullptr)
constructor
Definition: Multiplan.cpp:221
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
libwps::MultiplanParser::readZoneB
bool readZoneB()
read an unknown zone
Definition: Multiplan.cpp:2237
libwps::MultiplanParserInternal::s_listOperators
static Functions const s_listOperators[]
Definition: Multiplan.cpp:966
libwps::MultiplanParserInternal::State::getColumnsWidth
std::vector< WPSColumnFormat > getColumnsWidth() const
returns the column width in point
Definition: Multiplan.cpp:204
libwps::MultiplanParserInternal::State::m_zonesList
std::vector< Zone > m_zonesList
the list of cell's data zone
Definition: Multiplan.cpp:179
libwps::MultiplanParserInternal::Zone::m_entry
WPSEntry m_entry
the zone data
Definition: Multiplan.cpp:123
WPSTable.h
libwps::MultiplanParser::decodeStream
RVNGInputStreamPtr decodeStream(RVNGInputStreamPtr input)
try to decode a stream, if successful, replace the stream'input by the new one
Definition: Multiplan.cpp:2840
WKSSubDocument.h
libwps::MultiplanParserInternal::s_listFunctionsV2
static char const * s_listFunctionsV2[]
Definition: Multiplan.cpp:1374
libwps
Definition: libwps_internal.cpp:39
WKSContentListener::FormulaInstruction::F_Operator
@ F_Operator
Definition: WKSContentListener.h:59
libwps::MultiplanParser::readCellDataPosition
bool readCellDataPosition(WPSEntry const &entry)
read the cell data position
Definition: Multiplan.cpp:1827
WKSContentListener::FormulaInstruction::F_Double
@ F_Double
Definition: WKSContentListener.h:59
WKSContentListener::FormulaInstruction::F_Function
@ F_Function
Definition: WKSContentListener.h:59
libwps::DebugFile::reset
static void reset()
Definition: WPSDebug.h:224
libwps::MultiplanParserInternal::s_listOperatorsV2
static Functions const s_listOperatorsV2[]
Definition: Multiplan.cpp:1355
WKSParser::resetInput
void resetInput(RVNGInputStreamPtr const &newInput)
Definition: WKSParser.h:45
WPSColumnFormat
Definition: WPSTable.h:40
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
libwps::MultiplanParser::~MultiplanParser
~MultiplanParser() override
destructor
Definition: Multiplan.cpp:229
WKSContentListener::FormulaInstruction::m_doubleValue
double m_doubleValue
value ( if type==F_Double )
Definition: WKSContentListener.h:83
WPSCellFormat::setFormat
void setFormat(FormatType form, int subForm=0)
sets the format type
Definition: WPSCell.h:167
libwps::MultiplanParserInternal::Zone::Zone
Zone()
constructor
Definition: Multiplan.cpp:99
WPSCellFormat::HALIGN_RIGHT
@ HALIGN_RIGHT
Definition: WPSCell.h:46
WPSFont
define the font properties
Definition: WPSFont.h:37
libwps::MultiplanParser::sendCell
bool sendCell(Vec2i const &cellPos, int pos)
try to send a cell
Definition: Multiplan.cpp:2306
WPSEntry::valid
bool valid(bool checkId=false) const
returns true if the zone length is positive
Definition: WPSEntry.h:87
libwps::MultiplanParser::checkPassword
bool checkPassword(char const *password) const
check if the password corresponds to a ket
Definition: Multiplan.cpp:2707
WPSEntry
basic class to store an entry in a file This contained :
Definition: WPSEntry.h:39
WPSHeader::setMajorVersion
void setMajorVersion(int version)
Definition: WPSHeader.h:94
Vec2i
Vec2< int > Vec2i
Vec2 of int.
Definition: libwps_internal.h:702
WPSCell::setPosition
void setPosition(Vec2i posi)
set the cell positions : 0,0 -> A1, 0,1 -> A2
Definition: WPSCell.h:340
WPSHeader::setCreator
void setCreator(libwps::WPSCreator creator)
Definition: WPSHeader.h:54
libwps::MultiplanParserInternal::Font::m_type
libwps_tools_win::Font::Type m_type
font encoding type
Definition: Multiplan.cpp:63
libwps::MultiplanParser::parse
void parse(librevenge::RVNGSpreadsheetInterface *documentInterface) final
called by WPSDocument to parse the file
Definition: Multiplan.cpp:259
libwps::MultiplanParserInternal::Functions
Definition: Multiplan.cpp:961
libwps::MultiplanParserInternal::Font::Font
Font(libwps_tools_win::Font::Type type)
constructor
Definition: Multiplan.cpp:57
WKSContentListener::FormulaInstruction::m_type
What m_type
the type
Definition: WKSContentListener.h:77
libwps::MultiplanParser::m_state
std::shared_ptr< MultiplanParserInternal::State > m_state
the listener (if set)
Definition: Multiplan.h:130
WPSPageSpan.h
WKSContentListener::FormulaInstruction::m_position
Vec2i m_position[2]
cell position ( if type==F_Cell or F_CellList )
Definition: WKSContentListener.h:85
libwps::MultiplanParser::readFunctionNamesList
bool readFunctionNamesList()
try to read the function names: v2
Definition: Multiplan.cpp:876
libwps::MultiplanParserInternal::Cell::send
bool send(WPSListenerPtr &)
call when a cell must be send
Definition: Multiplan.cpp:86
WPSListenerPtr
std::shared_ptr< WPSListener > WPSListenerPtr
shared pointer to WPSListener
Definition: libwps_internal.h:105
WPSStringStream
internal class used to create a RVNGInputStream from a unsigned char's pointer
Definition: WPSStringStream.h:42
libwps::MultiplanParserInternal::Zone::Undef
@ Undef
Definition: Multiplan.cpp:96
libwps::MultiplanParserInternal::s_listFunctions
static char const * s_listFunctions[]
Definition: Multiplan.cpp:1020
libwps::MultiplanParserInternal::Zone::FileName
@ FileName
Definition: Multiplan.cpp:95
libwps::MultiplanParserInternal::State::m_cellPositionsMap
std::map< int, std::vector< int > > m_cellPositionsMap
the positions of each cell: a vector for each row
Definition: Multiplan.cpp:181
libwps::MultiplanParser::checkFilePosition
bool checkFilePosition(long pos)
return true if the pos is in the file, update the file size if need
Definition: Multiplan.cpp:238
libwps::MultiplanParserInternal::State::m_columnWidths
std::vector< int > m_columnWidths
the columns width in char, 0 means default
Definition: Multiplan.cpp:177
WPSHeader::setNeedEncoding
void setNeedEncoding(bool needEncoding)
Definition: WPSHeader.h:84
libwps::MultiplanParser::readFilename
bool readFilename(int pos, librevenge::RVNGString &filename)
read a link filename
Definition: Multiplan.cpp:1957
WKSParser::getInput
RVNGInputStreamPtr & getInput()
Definition: WKSParser.h:41
libwps::ParseException
Definition: libwps_internal.h:152
Vec2< int >
libwps::PasswordException
Definition: libwps_internal.h:157
libwps::MultiplanParser::sendSpreadsheet
bool sendSpreadsheet()
try to send the main spreadsheet
Definition: Multiplan.cpp:2660
libwps::MultiplanParserInternal::State::getDefaultFontType
libwps_tools_win::Font::Type getDefaultFontType() const
return the default font style
Definition: Multiplan.cpp:150
libwps::MultiplanParser::readSharedData
bool readSharedData(int pos, int cellType, Vec2i const &cellPos, WKSContentListener::CellContent &content)
read a shared data
Definition: Multiplan.cpp:2092
WPS_DEBUG_MSG
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:134
WPSCellFormat::F_TIME
@ F_TIME
Definition: WPSCell.h:54
WKSParser.h
WPS_FALLTHROUGH
#define WPS_FALLTHROUGH
fall through attributes
Definition: libwps_internal.h:82
WPSEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: WPSEntry.h:55
WPSCellFormat::F_NUMBER
@ F_NUMBER
Definition: WPSCell.h:54
WKSContentListener::FormulaInstruction::m_sheetName
librevenge::RVNGString m_sheetName[2]
the sheet name
Definition: WKSContentListener.h:89
WPSHeader
Definition: WPSHeader.h:32
WPSHeader::setIsEncrypted
void setIsEncrypted(bool isEncrypted)
Definition: WPSHeader.h:74
libwps_tools_win::Font::UNKNOWN
@ UNKNOWN
Definition: libwps_tools_win.h:63
libwps::MultiplanParserInternal::Zone::Zone0
@ Zone0
Definition: Multiplan.cpp:95
WKSContentListener::FormulaInstruction
small class use to define a formula instruction
Definition: WKSContentListener.h:58
WPSCellFormat::setDTFormat
void setDTFormat(FormatType form, std::string const &dtFormat="")
sets the format type
Definition: WPSCell.h:173
WPSFont.h
WPSCellFormat::F_TEXT
@ F_TEXT
Definition: WPSCell.h:54
WPSEntry.h
libwps.h
libwps::DebugFile::addNote
static void addNote(char const *)
Definition: WPSDebug.h:221
libwps::MultiplanParserInternal::State::m_maximumCell
Vec2i m_maximumCell
the maximumCell
Definition: Multiplan.cpp:175
WPSEntry::begin
long begin() const
returns the begin offset
Definition: WPSEntry.h:71
libwps::MultiplanParserInternal::Zone
a data cell zone
Definition: Multiplan.cpp:93
libwps::WPS_SPREADSHEET
@ WPS_SPREADSHEET
Definition: WPSDocument.h:60
libwps::MultiplanParserInternal::Cell::sendContent
bool sendContent(WPSListenerPtr &) final
call when the content of a cell must be send
Definition: Multiplan.cpp:80
libwps::MultiplanParserInternal::Font::~Font
~Font() final
destructor
Definition: Multiplan.cpp:66
libwps::MultiplanParserInternal::State::m_hash
int m_hash
the file hash
Definition: Multiplan.cpp:194
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
libwps::MultiplanParserInternal::State::m_posToSharedDataSeen
std::set< int > m_posToSharedDataSeen
a set a shared data already seen
Definition: Multiplan.cpp:189
libwps_tools_win::Font::CP_437
@ CP_437
Definition: libwps_tools_win.h:46
libwps::readDouble8
bool readDouble8(RVNGInputStreamPtr &input, double &res, bool &isNaN)
read a double store with 8 bytes: mantisse 6.5 bytes, exponent 1.5 bytes
Definition: libwps_internal.cpp:173
WPSCellFormat::HALIGN_LEFT
@ HALIGN_LEFT
Definition: WPSCell.h:46
libwps::MultiplanParserInternal::State::m_fontType
libwps_tools_win::Font::Type m_fontType
the user font type
Definition: Multiplan.cpp:173
WPSCellFormat::setHAlignment
void setHAlignment(HorizontalAlignment align)
sets the horizontal alignement
Definition: WPSCell.h:114
WKSContentListener::CellContent::m_textEntry
WPSEntry m_textEntry
the cell string
Definition: WKSContentListener.h:153
WPSEntry::length
long length() const
returns the length of the zone
Definition: WPSEntry.h:81
libwps::MultiplanParser::createListener
std::shared_ptr< WKSContentListener > createListener(librevenge::RVNGSpreadsheetInterface *interface)
creates the main listener
Definition: Multiplan.cpp:304
WPSHeaderPtr
std::shared_ptr< WPSHeader > WPSHeaderPtr
shared pointer to WPSHeader
Definition: libwps_internal.h:109
WKSContentListener::CellContent::m_contentType
ContentType m_contentType
the content type ( by default unknown )
Definition: WKSContentListener.h:147
WPSCell
a structure used to defined the cell position, and a format
Definition: WPSCell.h:291
libwps::DebugStream
Definition: WPSDebug.h:192
libwps::readU8
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:40
libwps::MultiplanParserInternal::Zone::m_positionsSet
std::set< int > m_positionsSet
list of position in the zone
Definition: Multiplan.cpp:125
libwps::MultiplanParserInternal::State::m_posToNameMap
std::map< int, WKSContentListener::FormulaInstruction > m_posToNameMap
the map name's pos to name's cell instruction
Definition: Multiplan.cpp:187
libwps::MultiplanParserInternal::Zone::Type
Type
the different enum type
Definition: Multiplan.cpp:95
WPSRowFormat::m_isMinimalHeight
bool m_isMinimalHeight
a flag to know if the height is only a minimum
Definition: WPSTable.h:144
libwps_tools_win.h
libwps::MultiplanParserInternal::State::getDefaultFont
WPSFont getDefaultFont() const
returns a default font (Courier12) with file's version to define the default encoding *‍/
Definition: Multiplan.cpp:158
WPSPageSpan
Definition: WPSPageSpan.h:39
WPSCellFormat::setProtected
void setProtected(bool fl)
returns true if the cell is protected
Definition: WPSCell.h:198
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
WPSEntry::setEnd
void setEnd(long e)
sets the end offset
Definition: WPSEntry.h:65
WPSCellFormat::setFont
void setFont(WPSFont const &font)
sets the font
Definition: WPSCell.h:104
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
libwps::MultiplanParserInternal::Functions::m_arity
int m_arity
Definition: Multiplan.cpp:963
libwps::MultiplanParserInternal::Zone::Link
@ Link
Definition: Multiplan.cpp:95
RVNGInputStreamPtr
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
shared pointer to librevenge::RVNGInputStream
Definition: libwps_internal.h:87
libwps::MultiplanParser::readZonesList
bool readZonesList()
read the spreadsheet zone list
Definition: Multiplan.cpp:610
libwps::MultiplanParser::readDouble
bool readDouble(double &value)
try to read a double value
Definition: Multiplan.cpp:904
libwps::MultiplanParserInternal::State::m_version
int m_version
the file version
Definition: Multiplan.cpp:171
Multiplan.h
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
WPSCellFormat::setDigits
void setDigits(int newDigit)
set the number of digits ( for a number)
Definition: WPSCell.h:186
libwps::MultiplanParserInternal::Zone::getName
static std::string getName(int type)
returns the name corresponding to a type
Definition: Multiplan.cpp:110
libwps::MultiplanParserInternal::Cell::Cell
Cell()
constructor
Definition: Multiplan.cpp:75
libwps::MultiplanParser::getDefaultFontType
libwps_tools_win::Font::Type getDefaultFontType() const
returns the default font type, ie.
Definition: Multiplan.cpp:251
libwps::MultiplanParserInternal::State::m_password
char const * m_password
the password (if known)
Definition: Multiplan.cpp:192
libwps::read16
int16_t read16(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:71
libwps::MultiplanParserInternal::State::m_checksum
int m_checksum
the file checksum
Definition: Multiplan.cpp:196
libwps::MultiplanParserInternal::Zone::CellPosition
@ CellPosition
Definition: Multiplan.cpp:96
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
WPSRowFormat
Definition: WPSTable.h:101
WKSContentListener::FormulaInstruction::m_positionRelative
Vec2b m_positionRelative[2]
relative cell position ( if type==F_Cell or F_CellList )
Definition: WKSContentListener.h:87
libwps::MultiplanParser::readLink
bool readLink(int pos, WKSContentListener::FormulaInstruction &instruction)
read a link
Definition: Multiplan.cpp:1872
WKSContentListener.h
WKSContentListener::CellContent::C_TEXT
@ C_TEXT
Definition: WKSContentListener.h:102
WPSCellFormat::F_DATE
@ F_DATE
Definition: WPSCell.h:54
WPSBox2i
WPSBox2< int > WPSBox2i
WPSBox2 of int.
Definition: libwps_internal.h:888
libwps::MultiplanParser::readName
bool readName(int pos, WKSContentListener::FormulaInstruction &instruction)
reads a name and returns the cell's instruction
Definition: Multiplan.cpp:1989
libwps::MultiplanParserInternal::Zone::Name
@ Name
Definition: Multiplan.cpp:95
libwps::MultiplanParserInternal::Zone::CellData
@ CellData
Definition: Multiplan.cpp:96
Vec2b
Vec2< bool > Vec2b
Vec2 of bool.
Definition: libwps_internal.h:700
libwps::MultiplanParserInternal::State::State
State(State const &)=delete
WKSContentListener::CellContent::setValue
void setValue(double value)
sets the double value
Definition: WKSContentListener.h:126
WKSContentListener
Definition: WKSContentListener.h:54
WKSContentListener::CellContent
small class use to define a sheet cell content
Definition: WKSContentListener.h:100
libwps::MultiplanParserInternal::Font
the font of a MultiplanParser
Definition: Multiplan.cpp:55
libwps::MultiplanParser::readFormula
bool readFormula(Vec2i const &cellPos, std::vector< WKSContentListener::FormulaInstruction > &formula, long endPos, std::string &extra)
try to read a formula
Definition: Multiplan.cpp:1046
libwps::MultiplanParser::readZones
bool readZones()
finds the different zones (spreadsheet, chart, print, ...)
Definition: Multiplan.cpp:472
libwps_tools_win
some Windows classes and tools
Definition: libwps_tools_win.cpp:32
WKSContentListener::FormulaInstruction::F_CellList
@ F_CellList
Definition: WKSContentListener.h:59
WPSStringStream.h
libwps::MultiplanParserInternal::Zone::isValid
bool isValid() const
returns true if the zone entry is valid
Definition: Multiplan.cpp:105
WPSCellFormat::getFont
WPSFont const & getFont() const
returns the font
Definition: WPSCell.h:99
libwps::MultiplanParserInternal::State::operator=
State & operator=(State const &)=delete
libwps::MultiplanParserInternal::Cell
a cellule of a Lotus spreadsheet
Definition: Multiplan.cpp:72
WKSContentListener::CellContent::C_NUMBER
@ C_NUMBER
Definition: WKSContentListener.h:102
libwps::MultiplanParser::readColumnsWidth
bool readColumnsWidth()
read the columns width
Definition: Multiplan.cpp:581
WPSFont::m_name
librevenge::RVNGString m_name
font name
Definition: WPSFont.h:81
libwps::DebugFile::setStream
static void setStream(RVNGInputStreamPtr)
Definition: WPSDebug.h:212
WPSCellFormat::HALIGN_CENTER
@ HALIGN_CENTER
Definition: WPSCell.h:46
libwps::MultiplanParserInternal::State::State
State(libwps_tools_win::Font::Type fontType, char const *password)
constructor
Definition: Multiplan.cpp:131
WKSParser
Definition: WKSParser.h:34

Generated on Tue Dec 10 2024 02:10:18 for libwps by doxygen 1.8.20