27 #include <librevenge-stream/librevenge-stream.h>
76 char const *password=0);
80 void parse(librevenge::RVNGSpreadsheetInterface *documentInterface);
125 bool createListener(librevenge::RVNGSpreadsheetInterface *interface);
135 bool checkHeader(shared_ptr<WPSStream> stream,
bool mainStream,
bool strict);
137 bool readZones(shared_ptr<WPSStream> stream);
141 bool readZone(shared_ptr<WPSStream> stream);
143 bool readZone1(shared_ptr<WPSStream> stream);
147 bool readZone4(shared_ptr<WPSStream> stream);
153 bool readZone7(shared_ptr<WPSStream> stream);
155 bool readZone8(shared_ptr<WPSStream> stream);
159 bool readZoneV3(shared_ptr<WPSStream> stream);
186 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:325
bool readChartDefinition(shared_ptr< WPSStream > stream)
reads a chart definitions
Definition: Lotus.cpp:3228
bool readVersionZone(shared_ptr< WPSStream > stream)
reads a zone of type a: 123 files
Definition: Lotus.cpp:2849
bool checkHeader(WPSHeader *header, bool strict=false)
checks if the document header is correct (or not)
Definition: Lotus.cpp:423
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:3406
bool readZoneV3(shared_ptr< WPSStream > stream)
parse a wk123 zone
Definition: Lotus.cpp:1704
bool createListener(librevenge::RVNGSpreadsheetInterface *interface)
creates the main listener
Definition: Lotus.cpp:392
int version() const
return the file version
Definition: Lotus.cpp:284
bool readChartZone(shared_ptr< WPSStream > stream)
reads a zone of type 5: 123 files
Definition: Lotus.cpp:2395
~LotusParser()
destructor
Definition: Lotus.cpp:280
define the font properties
Definition: WPSFont.h:36
LotusParser(RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::UNKNOWN, char const *password=0)
constructor
Definition: Lotus.cpp:268
void parse(librevenge::RVNGSpreadsheetInterface *documentInterface)
called by WPSDocument to parse the file
Definition: Lotus.cpp:340
bool readSheetZone(shared_ptr< WPSStream > stream)
reads a zone of type 2: 123 files
Definition: Lotus.cpp:1912
bool readRefZone(shared_ptr< WPSStream > stream)
reads a zone of type 6: 123 files
Definition: Lotus.cpp:2495
bool readLinkZone(shared_ptr< WPSStream > stream)
reads a link
Definition: Lotus.cpp:3057
This class parses Microsoft Works graph file.
Definition: LotusGraph.h:54
This class parses a WK2..WK4 Lotus spreadsheet.
Definition: Lotus.h:66
a class used to parse a container which is used by Lotus123 (and also by RagTime).
Definition: WPSOLE1Parser.h:49
shared_ptr< WPSHeader > WPSHeaderPtr
shared pointer to WPSHeader
Definition: libwps_internal.h:124
shared_ptr< WPSOLE1Parser > m_ole1Parser
the ole1 parser
Definition: Lotus.h:195
bool readZone7(shared_ptr< WPSStream > stream)
reads a zone of type 7: 123 files
Definition: Lotus.cpp:2581
Internal: the subdocument of a LotusParser.
Definition: Lotus.cpp:70
void sendGraphics(int sheetId)
send the graphics corresponding to a sheetId
Definition: Lotus.cpp:315
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:3344
This class parses the Lotus style.
Definition: LotusStyleManager.h:47
Internal: namespace to define internal class of LotusParser.
Definition: Lotus.cpp:56
bool readDataZone(shared_ptr< WPSStream > stream)
parse the different zones 1B
Definition: Lotus.cpp:1324
shared_ptr< LotusStyleManager > m_styleManager
the style manager
Definition: Lotus.h:189
bool readDocumentInfoMac(shared_ptr< WPSStream > stream, long endPos)
reads a mac document info zone: zone 1b, then 2af8
Definition: Lotus.cpp:3155
bool readZone4(shared_ptr< WPSStream > stream)
reads a zone of type 4: 123 files
Definition: Lotus.cpp:2211
shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
shared pointer to librevenge::RVNGInputStream
Definition: libwps_internal.h:102
bool readZone8(shared_ptr< WPSStream > stream)
reads a zone of type 8: 123 files
Definition: Lotus.cpp:2707
bool getLeftTopPosition(Vec2i const &cell, int spreadsheet, Vec2f &pos) const
returns the left top position of a cell
Definition: Lotus.cpp:320
This class parses Microsoft Works spreadsheet file.
Definition: LotusSpreadsheet.h:52
bool readZone(shared_ptr< WPSStream > stream)
reads a zone
Definition: Lotus.cpp:644
bool readZone1(shared_ptr< WPSStream > stream)
reads a zone of type 1: 123 files
Definition: Lotus.cpp:1728
bool hasGraphics(int sheetId) const
return true if the sheet sheetId has some graphic
Definition: Lotus.cpp:310
shared_ptr< LotusParserInternal::State > m_state
the listener (if set)
Definition: Lotus.h:187
bool readZones(shared_ptr< WPSStream > stream)
finds the different zones (spreadsheet, chart, print, ...)
Definition: Lotus.cpp:572
small class use to define a embedded object
Definition: libwps_internal.h:452
libwps_tools_win::Font::Type getDefaultFontType() const
returns the default font type, ie.
Definition: Lotus.cpp:292
bool readChartName(shared_ptr< WPSStream > stream)
reads the chart name or title
Definition: Lotus.cpp:3295
bool createZones()
try to parse the different zones
Definition: Lotus.cpp:510
shared_ptr< WKSContentListener > m_listener
Definition: Lotus.h:185
Definition: WKSParser.h:33
bool readFMTStyleName(shared_ptr< WPSStream > stream)
reads a format style name: b6
Definition: Lotus.cpp:3010
shared_ptr< LotusGraph > m_graphParser
the graph manager
Definition: Lotus.h:191
shared_ptr< LotusSpreadsheet > m_spreadsheetParser
the spreadsheet manager
Definition: Lotus.h:193
bool getFont(int id, WPSFont &font, libwps_tools_win::Font::Type &type) const
returns the font corresponding to an id
Definition: Lotus.cpp:297
bool parseFormatStream()
check for the existence of a format stream, if it exists, parse it
Definition: Lotus.cpp:548
bool readMacFontName(shared_ptr< WPSStream > stream, long endPos)
reads a mac font name
Definition: Lotus.cpp:2887