22 #ifndef QUATTRO_SPREADSHEET_H 23 #define QUATTRO_SPREADSHEET_H 29 #include <librevenge-stream/librevenge-stream.h> 71 std::vector<WKSContentListener::FormulaInstruction>
m_cells;
109 void sendSpreadsheet(
int sheetId, std::vector<Vec2i>
const &listGraphicCells);
126 bool readCell(std::shared_ptr<WPSStream> stream);
134 bool readRowSize(std::shared_ptr<WPSStream> stream);
151 bool readFormula(std::shared_ptr<WPSStream> stream,
long endPos,
Vec2i const &pos,
int sheetId,
152 std::vector<WKSContentListener::FormulaInstruction> &formula, std::string &error);
158 Vec2i const &pos=
Vec2i(0,0),
int sheetId=0)
const;
167 std::shared_ptr<QuattroSpreadsheetInternal::State>
m_state;
void updateCellWithUserFormat(QuattroSpreadsheetInternal::Cell &cell, librevenge::RVNGString const &format)
try to update the cell's format using the user format
Definition: QuattroSpreadsheet.cpp:2126
std::shared_ptr< QuattroSpreadsheetInternal::State > m_state
the internal state
Definition: QuattroSpreadsheet.h:167
librevenge::RVNGString getSheetName(int id) const
returns the name of the id's spreadsheet
Definition: QuattroSpreadsheet.cpp:573
void cleanState()
clean internal state
Definition: QuattroSpreadsheet.cpp:548
bool readFormula(std::shared_ptr< WPSStream > stream, long endPos, Vec2i const &pos, int sheetId, std::vector< WKSContentListener::FormulaInstruction > &formula, std::string &error)
Definition: QuattroSpreadsheet.cpp:1674
bool readSheetName(std::shared_ptr< WPSStream > stream)
reads sheet name: zone cc
Definition: QuattroSpreadsheet.cpp:1346
void setListener(WKSContentListenerPtr &listen)
sets the listener
Definition: QuattroSpreadsheet.h:91
void addDLLIdName(int id, librevenge::RVNGString const &name, bool func1)
add a dll's correspondance between an id and a name
Definition: QuattroSpreadsheet.cpp:589
What m_type
the type
Definition: WKSContentListener.h:77
~QuattroSpreadsheet()
destructor
Definition: QuattroSpreadsheet.cpp:544
void addInstruction(WKSContentListener::FormulaInstruction const &instr)
add an instruction
Definition: QuattroSpreadsheet.h:52
QuattroSpreadsheet & operator=(QuattroSpreadsheet const &orig)=delete
Definition: WKSContentListener.h:59
std::string m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text)
Definition: WKSContentListener.h:79
small class use to store Quattro Pro cell reference
Definition: QuattroSpreadsheet.h:43
QuattroParser & m_mainParser
the listener (if set)
Definition: QuattroSpreadsheet.h:165
bool empty() const
return true if we have not read any reference
Definition: QuattroSpreadsheet.h:64
CellReference()
constructor
Definition: QuattroSpreadsheet.h:47
bool readViewInfo(std::shared_ptr< WPSStream > stream)
reads a view info: zone 197/198
Definition: QuattroSpreadsheet.cpp:1387
bool readColumnSize(std::shared_ptr< WPSStream > stream)
reads the column size: zone d8,d9
Definition: QuattroSpreadsheet.cpp:1143
std::shared_ptr< WKSContentListener > m_listener
Definition: QuattroSpreadsheet.h:163
void sendSpreadsheet(int sheetId, std::vector< Vec2i > const &listGraphicCells)
send the sId'th spreadsheet
Definition: QuattroSpreadsheet.cpp:2037
std::vector< WKSContentListener::FormulaInstruction > m_cells
the list of instruction coding each cell's block
Definition: QuattroSpreadsheet.h:71
This class parses Quattro Pro spreadsheet: .wq1 and wq2.
Definition: Quattro.h:53
bool readCell(std::shared_ptr< WPSStream > stream)
reads a cell content data: zone 0xc-0x10 or 33
Definition: QuattroSpreadsheet.cpp:645
This class parses Quattro Pro spreadsheet file.
Definition: QuattroSpreadsheet.h:81
void sendCellContent(QuattroSpreadsheetInternal::Cell const &cell, int sheetId)
send the cell data
Definition: QuattroSpreadsheet.cpp:2351
bool readBeginEndSheet(std::shared_ptr< WPSStream > stream, int &sheetId)
read the begin/end of a sheet zone: zone ca and cb
Definition: QuattroSpreadsheet.cpp:1299
bool readRowRangeSize(std::shared_ptr< WPSStream > stream)
reads the row size: zone 105,106
Definition: QuattroSpreadsheet.cpp:1246
bool readCellStyle(std::shared_ptr< WPSStream > stream)
reads a cell attribute: zone 0xce
Definition: QuattroSpreadsheet.cpp:827
Vec2< int > Vec2i
Vec2 of int.
Definition: libwps_internal.h:702
bool readSheetSize(std::shared_ptr< WPSStream > stream)
reads sheet size: zone 06
Definition: QuattroSpreadsheet.cpp:1062
bool readColumnRowDefaultSize(std::shared_ptr< WPSStream > stream)
reads the sheet column/row default size: zone d2-d5
Definition: QuattroSpreadsheet.cpp:1103
void addUserFormat(int id, librevenge::RVNGString const &name)
add a user format's correspondance between an id and a name
Definition: QuattroSpreadsheet.cpp:624
bool readRowSize(std::shared_ptr< WPSStream > stream)
reads the row size: zone d6,d7
Definition: QuattroSpreadsheet.cpp:1197
a cellule of a Quattro spreadsheet
Definition: QuattroSpreadsheet.cpp:103
std::shared_ptr< WKSContentListener > WKSContentListenerPtr
shared pointer to WKSContentListener
Definition: libwps_internal.h:114
bool readCellReference(std::shared_ptr< WPSStream > stream, long endPos, QuattroSpreadsheetInternal::CellReference &ref, Vec2i const &pos=Vec2i(0, 0), int sheetId=0) const
try to read a cell reference
Definition: QuattroSpreadsheet.cpp:1586
QuattroSpreadsheet(QuattroParser &parser)
constructor
Definition: QuattroSpreadsheet.cpp:537
small class use to define a formula instruction
Definition: WKSContentListener.h:57
int version() const
return the file version
Definition: QuattroSpreadsheet.cpp:557
void updateState()
update the state (need to be called before sending data)
Definition: QuattroSpreadsheet.cpp:553
friend std::ostream & operator<<(std::ostream &o, CellReference const &ref)
friend operator<<
Definition: QuattroSpreadsheet.cpp:2444
Vec2f getPosition(int sheetId, Vec2i const &cell) const
returns the beginning position of a cell
Definition: QuattroSpreadsheet.cpp:578
int getNumSpreadsheets() const
returns the number of spreadsheet
Definition: QuattroSpreadsheet.cpp:564