27 #include <librevenge-stream/librevenge-stream.h> 83 char const *password=
nullptr);
87 void parse(
librevenge::RVNGSpreadsheetInterface *documentInterface) final;
95 Link() : m_name(), m_linkName()
157 bool createListener(librevenge::RVNGSpreadsheetInterface *interface);
167 bool checkHeader(std::shared_ptr<WPSStream> stream,
bool mainStream,
bool strict);
169 bool readZones(std::shared_ptr<WPSStream> stream);
173 bool readZone(std::shared_ptr<WPSStream> &stream);
175 bool readZone1(std::shared_ptr<WPSStream> stream);
179 bool readZone4(std::shared_ptr<WPSStream> stream);
183 bool readRefZone(std::shared_ptr<WPSStream> stream);
185 bool readZone7(std::shared_ptr<WPSStream> stream);
187 bool readZone8(std::shared_ptr<WPSStream> stream);
191 bool readZoneV3(std::shared_ptr<WPSStream> stream);
211 std::shared_ptr<LotusParserInternal::State>
m_state;
bool updateEmbeddedObject(int id, WPSEmbeddedObject &object) const
try to retrieve the content of a graphic, knowing it local id
Definition: Lotus.cpp:324
std::shared_ptr< WPSOLE1Parser > m_ole1Parser
the ole1 parser
Definition: Lotus.h:222
std::string m_name
the basic name(used to retrieve a data)
Definition: Lotus.h:99
bool readSheetZone(std::shared_ptr< WPSStream > stream)
reads a zone of type 2: 123 files
Definition: Lotus.cpp:1969
bool readZone1(std::shared_ptr< WPSStream > stream)
reads a zone of type 1: 123 files
Definition: Lotus.cpp:1785
bool checkHeader(WPSHeader *header, bool strict=false)
checks if the document header is correct (or not)
Definition: Lotus.cpp:423
libwps_tools_win::Font::Type getDefaultFontType() const
returns the default font type, ie.
Definition: Lotus.cpp:269
Definition: WPSOLEStream.h:33
static std::vector< uint8_t > retrievePasswordKeys(std::vector< uint8_t > const &fileKeys)
try to guess a password knowing its file keys. Returns the keys if it founds a valid password ...
Definition: Lotus.cpp:3367
std::vector< Link > getLinksList(int lId) const
returns a list of links corresponding to an id
Definition: Lotus.cpp:287
friend class LotusParserInternal::SubDocument
Definition: Lotus.h:74
bool createListener(librevenge::RVNGSpreadsheetInterface *interface)
creates the main listener
Definition: Lotus.cpp:404
bool readZone7(std::shared_ptr< WPSStream > stream)
reads a zone of type 7: 123 files
Definition: Lotus.cpp:2638
std::shared_ptr< LotusSpreadsheet > m_spreadsheetParser
the spreadsheet manager
Definition: Lotus.h:220
This class parses Microsoft Works chart file.
Definition: LotusChart.h:53
define the font properties
Definition: WPSFont.h:36
std::shared_ptr< LotusGraph > m_graphParser
the graph manager
Definition: Lotus.h:218
bool readVersionZone(std::shared_ptr< WPSStream > stream)
reads a zone of type a: 123 files
Definition: Lotus.cpp:2906
bool readLinkZone(std::shared_ptr< WPSStream > stream)
reads a link
Definition: Lotus.cpp:3111
librevenge::RVNGString getSheetName(int id) const
returns the name of the id's spreadsheet
Definition: Lotus.cpp:314
int version() const
return the file version
Definition: Lotus.cpp:261
bool readMacFontName(std::shared_ptr< WPSStream > stream, long endPos)
reads a mac font name
Definition: Lotus.cpp:2944
bool getLeftTopPosition(Vec2i const &cell, int spreadsheet, Vec2f &pos) const
returns the left top position of a cell
Definition: Lotus.cpp:309
This class parses Microsoft Works graph file.
Definition: LotusGraph.h:55
This class parses a wk3,wk4,123 Lotus spreadsheet.
Definition: Lotus.h:72
librevenge::RVNGString m_linkName
the link name
Definition: Lotus.h:103
basic struct used to store link
Definition: Lotus.h:92
bool getFont(int id, WPSFont &font, libwps_tools_win::Font::Type &type) const
returns the font corresponding to an id
Definition: Lotus.cpp:274
a class used to parse a container which is used by Lotus123 (and also by RagTime).
Definition: WPSOLE1Parser.h:49
a structure used to define a picture style
Definition: WPSGraphicStyle.h:37
std::shared_ptr< WKSContentListener > m_listener
Definition: Lotus.h:210
bool readDocumentInfoMac(std::shared_ptr< WPSStream > stream, long endPos)
reads a mac document info zone: zone 1b, then 2af8
Definition: Lotus.cpp:3233
bool readZone(std::shared_ptr< WPSStream > &stream)
reads a zone
Definition: Lotus.cpp:645
LotusParser(RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::UNKNOWN, char const *password=nullptr)
constructor
Definition: Lotus.cpp:239
void sendGraphics(int sheetId)
send the graphics corresponding to a sheetId
Definition: Lotus.cpp:304
static RVNGInputStreamPtr decodeStream(RVNGInputStreamPtr input, long endPos, std::vector< uint8_t > const &key)
try to decode a stream, if successful, replace the stream'input by the new one
Definition: Lotus.cpp:3305
This class parses the Lotus style.
Definition: LotusStyleManager.h:47
Internal: namespace to define internal class of LotusParser.
Definition: Lotus.cpp:60
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
shared pointer to librevenge::RVNGInputStream
Definition: libwps_internal.h:87
bool readZoneV3(std::shared_ptr< WPSStream > stream)
parse a wk123 zone
Definition: Lotus.cpp:1761
bool readChartZone(std::shared_ptr< WPSStream > stream)
reads a zone of type 5: 123 files
Definition: Lotus.cpp:2452
~LotusParser() final
destructor
Definition: Lotus.cpp:257
std::shared_ptr< LotusParserInternal::State > m_state
the listener (if set)
Definition: Lotus.h:212
This class parses Microsoft Works spreadsheet file.
Definition: LotusSpreadsheet.h:52
bool readFMTStyleName(std::shared_ptr< WPSStream > stream)
reads a format style name: b6
Definition: Lotus.cpp:3064
bool readZones(std::shared_ptr< WPSStream > stream)
finds the different zones (spreadsheet, chart, print, ...)
Definition: Lotus.cpp:573
Link()
constructor
Definition: Lotus.h:95
bool readDataZone(std::shared_ptr< WPSStream > stream)
parse the different zones 1B
Definition: Lotus.cpp:1328
small class use to define a embedded object
Definition: libwps_internal.h:1076
bool readRefZone(std::shared_ptr< WPSStream > stream)
reads a zone of type 6: 123 files
Definition: Lotus.cpp:2552
bool hasGraphics(int sheetId) const
return true if the sheet sheetId has some graphic
Definition: Lotus.cpp:299
Class to define the position of an object (textbox, picture, ..) in the document. ...
Definition: WPSPosition.h:39
bool readZone8(std::shared_ptr< WPSStream > stream)
reads a zone of type 8: 123 files
Definition: Lotus.cpp:2764
std::shared_ptr< LotusStyleManager > m_styleManager
the style manager
Definition: Lotus.h:214
bool createZones()
try to parse the different zones
Definition: Lotus.cpp:510
std::shared_ptr< WPSHeader > WPSHeaderPtr
shared pointer to WPSHeader
Definition: libwps_internal.h:109
Definition: WKSParser.h:33
bool readZone4(std::shared_ptr< WPSStream > stream)
reads a zone of type 4: 123 files
Definition: Lotus.cpp:2268
bool sendChart(int cId, WPSPosition const &pos, WPSGraphicStyle const &style)
try to send a chart
Definition: Lotus.cpp:319
std::shared_ptr< LotusChart > m_chartParser
the chart manager
Definition: Lotus.h:216
bool parseFormatStream()
check for the existence of a format stream, if it exists, parse it
Definition: Lotus.cpp:549
void parse(librevenge::RVNGSpreadsheetInterface *documentInterface) final
called by WPSDocument to parse the file
Definition: Lotus.cpp:339