RagTime5Spreadsheet.hxx Source File documentation

RagTime5Spreadsheet.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */
2
3 /* libmwaw
4 * Version: MPL 2.0 / LGPLv2+
5 *
6 * The contents of this file are subject to the Mozilla Public License Version
7 * 2.0 (the "License"); you may not use this file except in compliance with
8 * the License or as specified alternatively below. You may obtain a copy of
9 * the License at http://www.mozilla.org/MPL/
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * Major Contributor(s):
17 * Copyright (C) 2002 William Lachance (wrlach@gmail.com)
18 * Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net)
19 * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
20 * Copyright (C) 2006, 2007 Andrew Ziem
21 * Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr)
22 *
23 *
24 * All Rights Reserved.
25 *
26 * For minor contributions see the git repository.
27 *
28 * Alternatively, the contents of this file may be used under the terms of
29 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
30 * in which case the provisions of the LGPLv2+ are applicable
31 * instead of those above.
32 */
33
34 /*
35 * Parser to RagTime 5-6 document ( spreadsheet part )
36 *
37 */
38 #ifndef RAGTIME5_SPREADSHEET
39 # define RAGTIME5_SPREADSHEET
40
41 #include <string>
42 #include <map>
43 #include <vector>
44
45 #include <librevenge/librevenge.h>
46
47 #include "libmwaw_internal.hxx"
48
49 #include "MWAWCell.hxx"
50 #include "MWAWDebug.hxx"
51 #include "MWAWInputStream.hxx"
52 #include "MWAWPosition.hxx"
53
54 #include "RagTime5StructManager.hxx"
55 #include "RagTime5ClusterManager.hxx"
56
57 namespace RagTime5SpreadsheetInternal
58 {
59 struct CellContent;
60 struct Sheet;
61 struct State;
62
63 class SubDocument;
64 }
65
66 class RagTime5Document;
67 class RagTime5Formula;
68 class RagTime5StructManager;
69 class RagTime5StyleManager;
70 class RagTime5Zone;
71
77 class RagTime5Spreadsheet
78 {
79 friend class RagTime5SpreadsheetInternal::SubDocument;
80 friend class RagTime5Document;
81 friend class RagTime5Formula;
82
83 public:
85 explicit RagTime5Spreadsheet(RagTime5Document &doc);
87 virtual ~RagTime5Spreadsheet();
88
90 int version() const;
91
93 int numPages() const;
94
96 bool getFormulaRef(int sheetId, int refId, MWAWCellContent::FormulaInstruction &instruction) const;
97
98 protected:
99
100 //
101 // send data
102 //
103
105 bool send(int zoneId, MWAWListenerPtr listener, MWAWPosition const &pos, int partId=0);
107 bool send(RagTime5SpreadsheetInternal::Sheet &sheet,
108 MWAWListenerPtr listener, MWAWPosition const &pos, int partId=0);
110 bool send(RagTime5SpreadsheetInternal::Sheet &sheet, int plane,
111 RagTime5SpreadsheetInternal::CellContent const &cell, int numRepeated,
112 MWAWSpreadsheetListenerPtr &listener);
114 std::vector<int> getSheetIdList() const;
116 void flushExtra(bool onlyCheck=false);
117
118 // interface with main parser
119
121 std::shared_ptr<RagTime5ClusterManager::Cluster> readSpreadsheetCluster(RagTime5Zone &zone, int zoneType);
123 void parseSpreadsheetFormulas();
125 void storeFormula(int sheetId, std::map<int, std::vector<MWAWCellContent::FormulaInstruction> > const &idToFormula);
126
127 //
128 // Intermediate level
129 //
130
132 bool readSheetDimensions(RagTime5SpreadsheetInternal::Sheet &sheet, RagTime5Zone &zone, RagTime5ClusterManager::Link const &link);
134 bool readValuesTree(RagTime5SpreadsheetInternal::Sheet &sheet, RagTime5Zone &zone, RagTime5ClusterManager::Link const &link, int rootId, MWAWVec3i const &maxPos);
136 bool readCellBlocks(RagTime5SpreadsheetInternal::Sheet &sheet, RagTime5Zone &zone, RagTime5ClusterManager::Link const &link, bool unionBlock);
138 bool readCellRefPos(RagTime5SpreadsheetInternal::Sheet &sheet, RagTime5Zone &zone, RagTime5ClusterManager::Link const &link);
139
140 //
141 // basic
142 //
143
144 //
145 // low level
146 //
147
148 public:
150 static std::string printType(unsigned long fileType)
151 {
152 return RagTime5StructManager::printType(fileType);
153 }
154
155 private:
156 RagTime5Spreadsheet(RagTime5Spreadsheet const &orig) = delete;
157 RagTime5Spreadsheet &operator=(RagTime5Spreadsheet const &orig) = delete;
158
159 protected:
160 //
161 // data
162 //
164 RagTime5Document &m_document;
165
167 std::shared_ptr<RagTime5StructManager> m_structManager;
169 std::shared_ptr<RagTime5StyleManager> m_styleManager;
171 MWAWParserStatePtr m_parserState;
172
174 std::shared_ptr<RagTime5SpreadsheetInternal::State> m_state;
175 };
176 #endif
177 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
RagTime5SpreadsheetInternal::SpreadsheetCParser::endZone
void endZone() final
end of a start zone call
Definition: RagTime5Spreadsheet.cxx:2276
RagTime5SpreadsheetInternal::BorderPLC::operator==
bool operator==(BorderPLC const &plc) const
operator==
Definition: RagTime5Spreadsheet.cxx:293
MWAWVec3i
MWAWVec3< int > MWAWVec3i
MWAWVec3 of int.
Definition: libmwaw_internal.hxx:1017
RagTime5ClusterManager::Link::m_ids
std::vector< int > m_ids
the data ids
Definition: RagTime5ClusterManager.hxx:210
RagTime5SpreadsheetInternal::CellValue::m_long
long m_long
a long value
Definition: RagTime5Spreadsheet.cxx:160
MWAWCellContent::FormulaInstruction::F_CellList
@ F_CellList
Definition: MWAWCell.hxx:398
RagTime5SpreadsheetInternal::CellValue::m_formulaId
int m_formulaId
the formula id
Definition: RagTime5Spreadsheet.cxx:166
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:46
RagTime5Zone::m_isParsed
bool m_isParsed
a flag to know if the zone is parsed
Definition: RagTime5StructManager.hxx:152
MWAWInputStreamPtr
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:551
RagTime5SpreadsheetInternal::Sheet::Plane::getPlane
int getPlane() const
returns the plane
Definition: RagTime5Spreadsheet.cxx:586
RagTime5SpreadsheetInternal::TextPLC::m_formatId
int m_formatId
the format style
Definition: RagTime5Spreadsheet.cxx:456
RagTime5SpreadsheetInternal::State::State
State()
constructor
Definition: RagTime5Spreadsheet.cxx:1399
RagTime5SpreadsheetInternal::Sheet::m_defaultParagraph
MWAWParagraph m_defaultParagraph
the default paragraph
Definition: RagTime5Spreadsheet.cxx:962
RagTime5SpreadsheetInternal::ValuesParser::~ValuesParser
~ValuesParser() final
destructor
Definition: RagTime5Spreadsheet.cxx:1196
RagTime5SpreadsheetInternal::GraphicPLC
a graphic style PLC
Definition: RagTime5Spreadsheet.cxx:311
RagTime5SpreadsheetInternal::TextPLC::TextPLC
TextPLC(std::vector< int > const &values)
constructor
Definition: RagTime5Spreadsheet.cxx:368
RagTime5SpreadsheetInternal::CellValue::m_double
double m_double
a double value
Definition: RagTime5Spreadsheet.cxx:162
RagTime5ClusterManager::Link::L_ClusterLink
@ L_ClusterLink
Definition: RagTime5ClusterManager.hxx:115
MWAWGraphicListenerPtr
std::shared_ptr< MWAWGraphicListener > MWAWGraphicListenerPtr
a smart pointer of MWAWGraphicListener
Definition: libmwaw_internal.hxx:549
RagTime5SpreadsheetInternal::SpreadsheetCParser::setExpectedType
void setExpectedType(int id, int type)
set a data id type
Definition: RagTime5Spreadsheet.cxx:2261
RagTime5SpreadsheetInternal::SpreadsheetCParser::m_defaultPLCValues
std::vector< int > m_defaultPLCValues
the default plc values
Definition: RagTime5Spreadsheet.cxx:3121
RagTime5SpreadsheetInternal::SpreadsheetCParser::m_fieldName
std::string m_fieldName
the actual field name
Definition: RagTime5Spreadsheet.cxx:3119
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:129
RagTime5SpreadsheetInternal::CellContent::m_position
MWAWVec2i m_position
the cell position
Definition: RagTime5Spreadsheet.cxx:229
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
RagTime5SpreadsheetInternal::TextPLC::operator!=
bool operator!=(TextPLC const &plc) const
operator!=
Definition: RagTime5Spreadsheet.cxx:449
MWAWCellContent::setValue
void setValue(double value)
sets the double value
Definition: MWAWCell.hxx:458
RagTime5SpreadsheetInternal::CellContent::isMergedCell
bool isMergedCell() const
returns true if the cell is merged
Definition: RagTime5Spreadsheet.cxx:187
RagTime5Spreadsheet::version
int version() const
returns the file version
Definition: RagTime5Spreadsheet.cxx:1454
MWAWCell::F_DATE
@ F_DATE
Definition: MWAWCell.hxx:56
RagTime5SpreadsheetInternal::Sheet::Row::m_columnsToDataMap
std::map< MWAWVec2i, CellContent > m_columnsToDataMap
the map columns to data
Definition: RagTime5Spreadsheet.cxx:571
RagTime5SpreadsheetInternal::CellContent::CellContent
CellContent(MWAWVec2i const &pos, int plane)
constructor
Definition: RagTime5Spreadsheet.cxx:179
RagTime5SpreadsheetInternal::State::getNewSheetName
librevenge::RVNGString getNewSheetName(librevenge::RVNGString const &fileName) const
returns a new sheet name
Definition: RagTime5Spreadsheet.cxx:1406
RagTime5SpreadsheetInternal::Sheet::m_isSent
bool m_isSent
a flag to know if the sheet has been sent
Definition: RagTime5Spreadsheet.cxx:966
RagTime5SpreadsheetInternal::ClustListParser::m_clusterManager
RagTime5ClusterManager & m_clusterManager
the main zone manager
Definition: RagTime5Spreadsheet.cxx:1045
RagTime5SpreadsheetInternal::Sheet::getCellDimensions
MWAWVec2f getCellDimensions(MWAWVec2i const &position, int plane) const
returns the cell dimension
Definition: RagTime5Spreadsheet.cxx:878
RagTime5SpreadsheetInternal::BorderPLC::m_values
std::vector< int > m_values
the values
Definition: RagTime5Spreadsheet.cxx:307
RagTime5ClusterManager::Cluster::Cluster
Cluster(Type type)
constructor
Definition: RagTime5ClusterManager.hxx:279
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_blockLinks
RagTime5ClusterManager::Link m_blockLinks[3]
the reference block/cell union/reference pos link
Definition: RagTime5Spreadsheet.cxx:2218
MWAWCell::setPosition
void setPosition(MWAWVec2i posi)
set the cell positions : 0,0 -> A1, 0,1 -> A2
Definition: MWAWCell.hxx:189
RagTime5SpreadsheetInternal::GraphicPLC::m_unknownId
int m_unknownId
unknown id (always 0)
Definition: RagTime5Spreadsheet.cxx:355
RagTime5SpreadsheetInternal::CellValue::update
void update(MWAWCell &cell, MWAWCellContent &content) const
update the cell's content
Definition: RagTime5Spreadsheet.cxx:85
RagTime5SpreadsheetInternal::Sheet::Plane::update
void update(Sheet const &sheet, MWAWBox2i const &box, int id, int contentId)
update the cells content type
Definition: RagTime5Spreadsheet.cxx:644
RagTime5SpreadsheetInternal::Sheet::m_graphicPLCList
std::vector< GraphicPLC > m_graphicPLCList
the graph plc
Definition: RagTime5Spreadsheet.cxx:950
RagTime5SpreadsheetInternal::Sheet::Plane::m_rowsToDataMap
std::map< MWAWVec2i, Row > m_rowsToDataMap
the map rows to data
Definition: RagTime5Spreadsheet.cxx:703
RagTime5SpreadsheetInternal::SpreadsheetCParser::getCluster
std::shared_ptr< RagTime5ClusterManager::Cluster > getCluster() final
return the current cluster
Definition: RagTime5Spreadsheet.cxx:2251
MWAWCell::setHAlignment
void setHAlignment(HorizontalAlignment align)
sets the horizontal alignment
Definition: MWAWCell.hxx:281
RagTime5Spreadsheet::printType
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5Spreadsheet.hxx:150
RagTime5Spreadsheet
the main class to read the spreadsheet part of RagTime 56 file
Definition: RagTime5Spreadsheet.hxx:77
RagTime5SpreadsheetInternal::CellContent
a struct to store what a cell contains
Definition: RagTime5Spreadsheet.cxx:172
RagTime5SpreadsheetInternal::CellPLCParser::m_sheet
Sheet & m_sheet
the actual sheet
Definition: RagTime5Spreadsheet.cxx:1379
RagTime5Spreadsheet::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: RagTime5Spreadsheet.hxx:171
RagTime5StructManager.hxx
RagTime5StructManager::Field::T_Unstructured
@ T_Unstructured
Definition: RagTime5StructManager.hxx:245
RagTime5Spreadsheet.hxx
RagTime5Spreadsheet::operator=
RagTime5Spreadsheet & operator=(RagTime5Spreadsheet const &orig)=delete
RagTime5SpreadsheetInternal::State::m_idSheetMap
std::map< int, std::shared_ptr< Sheet > > m_idSheetMap
map data id to sheet zone
Definition: RagTime5Spreadsheet.cxx:1428
RagTime5ClusterManager::Link::L_UnicodeList
@ L_UnicodeList
Definition: RagTime5ClusterManager.hxx:116
libmwaw::BottomBit
@ BottomBit
Definition: libmwaw_internal.hxx:178
RagTime5SpreadsheetInternal::CellPLCParser::m_numRowByPlanes
const std::map< MWAWVec2i, int > m_numRowByPlanes
the number of row by planes
Definition: RagTime5Spreadsheet.cxx:1381
RagTime5Zone::ascii
libmwaw::DebugFile & ascii()
returns the current ascii file
Definition: RagTime5StructManager.hxx:109
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_graphPLCLink
RagTime5ClusterManager::Link m_graphPLCLink
the graph PLC link
Definition: RagTime5Spreadsheet.cxx:2206
MWAWCellContent::FormulaInstruction
small class use to define a formula instruction
Definition: MWAWCell.hxx:397
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_valuesMaxPos
MWAWVec3i m_valuesMaxPos
the maximum values position
Definition: RagTime5Spreadsheet.cxx:2204
RagTime5SpreadsheetInternal::CellValue::m_type
int m_type
the cell type
Definition: RagTime5Spreadsheet.cxx:156
RagTime5SpreadsheetInternal::CellContent::BorderNextVStyle
@ BorderNextVStyle
Definition: RagTime5Spreadsheet.cxx:175
MWAWCell::getBasicCellName
static std::string getBasicCellName(MWAWVec2i const &pos)
return the name of a cell (given row and column) : 0,0 -> A1, 0,1 -> A2...
Definition: MWAWCell.cxx:345
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:192
RagTime5Spreadsheet::~RagTime5Spreadsheet
virtual ~RagTime5Spreadsheet()
destructor
Definition: RagTime5Spreadsheet.cxx:1450
MWAWEmbeddedObject
small class use to define a embedded object
Definition: libmwaw_internal.hxx:467
RagTime5StructManager::Field
a field of RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:242
RagTime5Document::checkClusterList
bool checkClusterList(std::vector< RagTime5StructManager::ZoneLink > const &list)
check a cluster list
Definition: RagTime5Document.cxx:1117
RagTime5SpreadsheetInternal::Sheet::m_colWidthsMap
std::map< MWAWVec2i, float > m_colWidthsMap
the col widths: map for cols positions to width in points
Definition: RagTime5Spreadsheet.cxx:930
RagTime5SpreadsheetInternal::Sheet::Plane::isEmpty
bool isEmpty() const
returns true if the row is empty
Definition: RagTime5Spreadsheet.cxx:591
RagTime5SpreadsheetInternal::Sheet::Plane::getSpan
MWAWVec2i getSpan(MWAWVec2i const &position) const
returns the span value corresponding to an id
Definition: RagTime5Spreadsheet.cxx:601
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_borderPLCLink
RagTime5ClusterManager::Link m_borderPLCLink[2]
the border PLC link(vertical then horizontal)
Definition: RagTime5Spreadsheet.cxx:2214
RagTime5SpreadsheetInternal::Sheet::Row::operator<<
friend std::ostream & operator<<(std::ostream &o, Row const &row)
Definition: RagTime5Spreadsheet.cxx:562
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_textPLCLink
RagTime5ClusterManager::Link m_textPLCLink
the text PLC link
Definition: RagTime5Spreadsheet.cxx:2210
RagTime5SpreadsheetInternal::GraphicPLC::m_graphStyleId
int m_graphStyleId
the graph style
Definition: RagTime5Spreadsheet.cxx:353
RagTime5Document.hxx
RagTime5SpreadsheetInternal::Sheet::Plane::operator<<
friend std::ostream & operator<<(std::ostream &o, Plane const &plane)
Definition: RagTime5Spreadsheet.cxx:692
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_graphPLCNumRowByPlanesMap
std::map< MWAWVec2i, int > m_graphPLCNumRowByPlanesMap
the list of row graph plc by planes
Definition: RagTime5Spreadsheet.cxx:2208
RagTime5ClusterManager::ClusterParser
virtual class use to parse the cluster data
Definition: RagTime5ClusterManager.hxx:381
MWAWPosition::setAnchorToCell
void setAnchorToCell(librevenge::RVNGString const &cellName)
sets the anchor to a cell position
Definition: MWAWPosition.hxx:244
RagTime5SpreadsheetInternal::Sheet::Plane::splitRows
void splitRows(MWAWVec2i const &rows)
split rows if needed, so that we can insert cells correspond to the rows interval
Definition: RagTime5Spreadsheet.cxx:610
RagTime5Spreadsheet::m_state
std::shared_ptr< RagTime5SpreadsheetInternal::State > m_state
the state
Definition: RagTime5Spreadsheet.hxx:174
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:84
RagTime5Zone::m_entry
MWAWEntry m_entry
the zone entry
Definition: RagTime5StructManager.hxx:134
RagTime5SpreadsheetInternal::CellValue::operator<<
friend std::ostream & operator<<(std::ostream &o, CellValue const &cell)
operator<<
Definition: RagTime5Spreadsheet.cxx:114
RagTime5SpreadsheetInternal::Sheet::getNumPlanes
int getNumPlanes() const
returns the number of planes
Definition: RagTime5Spreadsheet.cxx:763
MWAWCell::setFormat
void setFormat(Format const &format)
set the cell format
Definition: MWAWCell.hxx:242
RagTime5SpreadsheetInternal::Sheet::getSpan
MWAWVec2i getSpan(MWAWVec2i const &position, int plane) const
returns the span value corresponding to an id
Definition: RagTime5Spreadsheet.cxx:897
MWAWCell::setBackgroundColor
void setBackgroundColor(MWAWColor color)
sets the background color
Definition: MWAWCell.hxx:332
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_valuesLink
RagTime5ClusterManager::Link m_valuesLink
the list of values link
Definition: RagTime5Spreadsheet.cxx:2198
RagTime5StructManager::DataParser
virtual class use to parse the unstructured data
Definition: RagTime5StructManager.hxx:396
RagTime5StructManager::DataParser::DataParser
DataParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.cxx:61
RagTime5Spreadsheet::readCellBlocks
bool readCellBlocks(RagTime5SpreadsheetInternal::Sheet &sheet, RagTime5Zone &zone, RagTime5ClusterManager::Link const &link, bool unionBlock)
try to read a spreadsheet referenced/union zones
Definition: RagTime5Spreadsheet.cxx:1597
RagTime5SpreadsheetInternal::Sheet::m_rowHeightDef
float m_rowHeightDef
the default row height in point
Definition: RagTime5Spreadsheet.cxx:932
RagTime5SpreadsheetInternal::SpreadsheetCParser::parseField
bool parseField(RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5Spreadsheet.cxx:2408
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
RagTime5SpreadsheetInternal::CellPLCParser::m_numRemainingRows
int m_numRemainingRows
the remaining row in the planes
Definition: RagTime5Spreadsheet.cxx:1383
RagTime5SpreadsheetInternal::Sheet::m_blockToCellRefMap
std::map< int, MWAWCellContent::FormulaInstruction > m_blockToCellRefMap
the list of block id to ref position
Definition: RagTime5Spreadsheet.cxx:936
MWAWCell::setFont
void setFont(MWAWFont const &font, bool isDefault=false)
sets the fonts
Definition: MWAWCell.hxx:258
RagTime5StructManager::Field::T_FieldList
@ T_FieldList
Definition: RagTime5StructManager.hxx:244
RagTime5SpreadsheetInternal::SpreadsheetCParser::getSpreadsheetCluster
std::shared_ptr< ClusterSpreadsheet > getSpreadsheetCluster()
return the spreadsheet cluster
Definition: RagTime5Spreadsheet.cxx:2246
RagTime5SpreadsheetInternal::Sheet::Row::update
void update(MWAWVec2i const &cols, int id, int contentId, MWAWVec2i const &beginCellPos, std::set< MWAWVec2i > &unsetCell)
update the cells content type
Definition: RagTime5Spreadsheet.cxx:525
MWAWPosition::size
const MWAWVec2f & size() const
returns the frame size
Definition: MWAWPosition.hxx:135
RagTime5Spreadsheet::getFormulaRef
bool getFormulaRef(int sheetId, int refId, MWAWCellContent::FormulaInstruction &instruction) const
returns a formula instruction corresponding to a sheetId and refId
Definition: RagTime5Spreadsheet.cxx:1472
RagTime5ClusterManager::Cluster::C_PictureZone
@ C_PictureZone
Definition: RagTime5ClusterManager.hxx:268
RagTime5Spreadsheet::m_document
RagTime5Document & m_document
the parser
Definition: RagTime5Spreadsheet.hxx:164
RagTime5SpreadsheetInternal::BorderPLC::BorderPLC
BorderPLC()
constructor
Definition: RagTime5Spreadsheet.cxx:241
RagTime5Spreadsheet::readCellRefPos
bool readCellRefPos(RagTime5SpreadsheetInternal::Sheet &sheet, RagTime5Zone &zone, RagTime5ClusterManager::Link const &link)
try to read the cell ref to value zone
Definition: RagTime5Spreadsheet.cxx:1848
MWAWCell::setVAlignment
void setVAlignment(VerticalAlignment align)
sets the vertical alignment
Definition: MWAWCell.hxx:292
RagTime5ClusterManager
basic class used to manage RagTime 5/6 zones
Definition: RagTime5ClusterManager.hxx:58
RagTime5SpreadsheetInternal::Sheet::m_textboxZoneId
int m_textboxZoneId
the text zone id
Definition: RagTime5Spreadsheet.cxx:926
RagTime5SpreadsheetInternal::Sheet::Row::getRows
const MWAWVec2i & getRows() const
returns the rows
Definition: RagTime5Spreadsheet.cxx:474
RagTime5SpreadsheetInternal::Sheet::Row::m_rows
MWAWVec2i m_rows
the rows (min-max)
Definition: RagTime5Spreadsheet.cxx:569
RagTime5Document::readChildList
bool readChildList(RagTime5ClusterManager::Link const &link, std::vector< RagTime5StructManager::ZoneLink > &childList, bool findN=false)
try to read a cluster child list
Definition: RagTime5Document.cxx:1073
RagTime5SpreadsheetInternal::Sheet
internal: a structure used to store a sheet in RagTime5SpreadsheetInternal
Definition: RagTime5Spreadsheet.cxx:462
MWAWCell.hxx
RagTime5SpreadsheetInternal::Sheet::getBottomRightCell
MWAWVec2i getBottomRightCell(MWAWVec2i const &position, int plane) const
returns the bottom right cell
Definition: RagTime5Spreadsheet.cxx:892
RagTime5SpreadsheetInternal::Sheet::m_defTextPLC
TextPLC m_defTextPLC
the default text plc
Definition: RagTime5Spreadsheet.cxx:956
RagTime5SpreadsheetInternal::Sheet::m_name
librevenge::RVNGString m_name
the sheet name
Definition: RagTime5Spreadsheet.cxx:924
RagTime5SpreadsheetInternal::SpreadsheetCParser::getSpreadsheet
std::shared_ptr< Sheet > getSpreadsheet()
return the spreadsheet
Definition: RagTime5Spreadsheet.cxx:2256
MWAWCell::getFormat
const Format & getFormat() const
returns the cell format
Definition: MWAWCell.hxx:237
RagTime5StyleManager
basic class used to read/store RagTime 5/6 styles
Definition: RagTime5StyleManager.hxx:60
RagTime5SpreadsheetInternal::SpreadsheetCParser::m_idStack
std::stack< int > m_idStack
the id stack
Definition: RagTime5Spreadsheet.cxx:3128
MWAWSubDocument.hxx
RagTime5ClusterManager.hxx
RagTime5ClusterManager::Link::m_N
int m_N
the number of data ( or some flag if m_N & 0x8020)
Definition: RagTime5ClusterManager.hxx:212
RagTime5ClusterManager::NameLink
a link to a name zone in RagTime 5/6 documents
Definition: RagTime5ClusterManager.hxx:222
RagTime5Spreadsheet::m_styleManager
std::shared_ptr< RagTime5StyleManager > m_styleManager
the style manager
Definition: RagTime5Spreadsheet.hxx:169
RagTime5SpreadsheetInternal::Sheet::getTextPLC
bool getTextPLC(int id, TextPLC &plc) const
retrieves the text plc
Definition: RagTime5Spreadsheet.cxx:914
RagTime5SpreadsheetInternal::State::m_newSheetId
int m_newSheetId
a int uses to generate unique sheet id
Definition: RagTime5Spreadsheet.cxx:1433
RagTime5Document
the main class to read a RagTime v5 file
Definition: RagTime5Document.hxx:76
RagTime5SpreadsheetInternal::Sheet::getColumnWidths
std::vector< float > getColumnWidths(std::vector< int > &repeated) const
returns the col width dimension in point
Definition: RagTime5Spreadsheet.cxx:851
RagTime5SpreadsheetInternal::Sheet::Plane::m_plane
int m_plane
the plane
Definition: RagTime5Spreadsheet.cxx:701
RagTime5SpreadsheetInternal::GraphicPLC::operator<<
friend std::ostream & operator<<(std::ostream &o, GraphicPLC const &plc)
operator<<
Definition: RagTime5Spreadsheet.cxx:336
RagTime5SpreadsheetInternal::Sheet::setPLCValues
void setPLCValues(MWAWVec3i const &minPos, MWAWVec3i const &maxPos, int plcType, int plcId)
stores a plc
Definition: RagTime5Spreadsheet.cxx:774
RagTime5SpreadsheetInternal::CellContent::m_isMerged
bool m_isMerged
a flag to know if the cell is merged
Definition: RagTime5Spreadsheet.cxx:233
MWAWCell::setNumSpannedCells
void setNumSpannedCells(MWAWVec2i numSpanned)
sets the number of spanned cells : MWAWVec2i(1,1) means 1 cellule
Definition: MWAWCell.hxx:200
RagTime5SpreadsheetInternal::ClustListParser::getClusterDebugName
std::string getClusterDebugName(int id) const
return a name which can be used for debugging
Definition: RagTime5Spreadsheet.cxx:990
RagTime5SpreadsheetInternal::CellValue::m_id
unsigned long m_id
a id value
Definition: RagTime5Spreadsheet.cxx:158
MWAWCellContent::m_formula
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition: MWAWCell.hxx:491
MWAWSpreadsheetListenerPtr
std::shared_ptr< MWAWSpreadsheetListener > MWAWSpreadsheetListenerPtr
a smart pointer of MWAWSpreadsheetListener
Definition: libmwaw_internal.hxx:563
RagTime5SpreadsheetInternal::ClustListParser::operator=
ClustListParser & operator=(ClustListParser &orig)=delete
copy operator, not implemented
RagTime5SpreadsheetInternal::CellPLCParser::m_fieldSize
int m_fieldSize
the field size
Definition: RagTime5Spreadsheet.cxx:1373
RagTime5SpreadsheetInternal::Sheet::getColWidth
float getColWidth(int col) const
returns the col width in point
Definition: RagTime5Spreadsheet.cxx:843
MWAWParagraph.hxx
RagTime5SpreadsheetInternal::Sheet::m_defGraphicPLC
GraphicPLC m_defGraphicPLC
the default graphic plc
Definition: RagTime5Spreadsheet.cxx:952
MWAWGraphicEncoder.hxx
RagTime5SpreadsheetInternal::SpreadsheetCParser::m_sheet
std::shared_ptr< Sheet > m_sheet
the sheet
Definition: RagTime5Spreadsheet.cxx:3117
RagTime5SpreadsheetInternal::CellContent::Union
@ Union
Definition: RagTime5Spreadsheet.cxx:174
RagTime5SpreadsheetInternal::ClustListParser
Internal: the helper to read a clustList.
Definition: RagTime5Spreadsheet.cxx:974
RagTime5SpreadsheetInternal::Sheet::m_rowHeightsMap
std::map< MWAWVec2i, float > m_rowHeightsMap
the row heights: map from rows positions to height in points
Definition: RagTime5Spreadsheet.cxx:934
RagTime5SpreadsheetInternal::BorderPLC::BorderPLC
BorderPLC(std::vector< int > const &values)
constructor
Definition: RagTime5Spreadsheet.cxx:246
libmwaw_internal.hxx
RagTime5StructManager::printType
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5StructManager.cxx:94
RagTime5SpreadsheetInternal::BorderPLC::operator!=
bool operator!=(BorderPLC const &plc) const
operator!=
Definition: RagTime5Spreadsheet.cxx:302
RagTime5SpreadsheetInternal::SpreadsheetCParser
low level: parser of main spreadsheet cluster
Definition: RagTime5Spreadsheet.cxx:2228
MWAWPosition.hxx
MWAWCellContent::FormulaInstruction::m_type
Type m_type
the type
Definition: MWAWCell.hxx:415
RagTime5SpreadsheetInternal::SpreadsheetCParser::m_expectedIdToType
std::map< int, int > m_expectedIdToType
the expected id
Definition: RagTime5Spreadsheet.cxx:3126
RagTime5SpreadsheetInternal::CellValue::m_text
librevenge::RVNGString m_text
the text
Definition: RagTime5Spreadsheet.cxx:164
RagTime5SpreadsheetInternal::GraphicPLC::operator!=
bool operator!=(GraphicPLC const &plc) const
operator!=
Definition: RagTime5Spreadsheet.cxx:348
MWAWCell::Format
a structure uses to define the format of a cell content
Definition: MWAWCell.hxx:60
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:47
RagTime5SpreadsheetInternal::BorderPLC
a border style PLC
Definition: RagTime5Spreadsheet.cxx:239
RagTime5SpreadsheetInternal::SpreadsheetCParser::parseZone
bool parseZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
parse a zone
Definition: RagTime5Spreadsheet.cxx:2395
RagTime5SpreadsheetInternal::Sheet::setColsWidth
void setColsWidth(MWAWVec2i const &cols, float width)
sets the row widths
Definition: RagTime5Spreadsheet.cxx:869
MWAWBorder
a border
Definition: libmwaw_internal.hxx:333
MWAWSpreadsheetEncoder::getBinaryResult
bool getBinaryResult(MWAWEmbeddedObject &object)
return the final spreadsheet
Definition: MWAWSpreadsheetEncoder.cxx:77
RagTime5ClusterManager::printType
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5ClusterManager.hxx:107
RagTime5SpreadsheetInternal::Sheet::getGraphicStyleId
int getGraphicStyleId(int id) const
returns the graphic id
Definition: RagTime5Spreadsheet.cxx:905
RagTime5SpreadsheetInternal::TextPLC::TextPLC
TextPLC()
constructor
Definition: RagTime5Spreadsheet.cxx:361
RagTime5SpreadsheetInternal::CellValue::m_extra
std::string m_extra
extra data
Definition: RagTime5Spreadsheet.cxx:168
RagTime5Zone
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:50
RagTime5SpreadsheetInternal::Sheet::m_planesList
std::vector< Plane > m_planesList
the list of planes
Definition: RagTime5Spreadsheet.cxx:948
RagTime5SpreadsheetInternal::Sheet::increasePlaneSizeIfNeeded
void increasePlaneSizeIfNeeded(int newPlane)
increase the number of planes if need
Definition: RagTime5Spreadsheet.cxx:744
MWAWGraphicEncoder::getBinaryResult
bool getBinaryResult(MWAWEmbeddedObject &result)
return the final graphic
Definition: MWAWGraphicEncoder.cxx:77
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:93
RagTime5SpreadsheetInternal
Internal: the structures of a RagTime5Spreadsheet.
Definition: RagTime5Spreadsheet.cxx:68
RagTime5Spreadsheet::flushExtra
void flushExtra(bool onlyCheck=false)
sends the data which have not yet been sent to the listener
Definition: RagTime5Spreadsheet.cxx:2149
RagTime5Spreadsheet::storeFormula
void storeFormula(int sheetId, std::map< int, std::vector< MWAWCellContent::FormulaInstruction > > const &idToFormula)
store the formula corresponding to a sheetId
Definition: RagTime5Spreadsheet.cxx:1499
libmwaw::RightBit
@ RightBit
Definition: libmwaw_internal.hxx:178
MWAWVec2< int >
RagTime5SpreadsheetInternal::Sheet::setMergedCells
void setMergedCells(MWAWVec3i const &minPos, MWAWVec3i const &maxPos)
stores an union of cells
Definition: RagTime5Spreadsheet.cxx:808
RagTime5StructManager::readUnicodeString
static bool readUnicodeString(MWAWInputStreamPtr input, long endPos, librevenge::RVNGString &string)
try to read a unicode string
Definition: RagTime5StructManager.cxx:303
RagTime5SpreadsheetInternal::CellContent::m_id
int m_id[8]
the list of id
Definition: RagTime5Spreadsheet.cxx:235
RagTime5SpreadsheetInternal::CellContent::BorderNextHStyle
@ BorderNextHStyle
Definition: RagTime5Spreadsheet.cxx:175
MWAWGraphicListener.hxx
RagTime5Spreadsheet::readSheetDimensions
bool readSheetDimensions(RagTime5SpreadsheetInternal::Sheet &sheet, RagTime5Zone &zone, RagTime5ClusterManager::Link const &link)
try to read the spreadsheet dimensions
Definition: RagTime5Spreadsheet.cxx:1514
MWAWCellContent
small class use to define a sheet cell content
Definition: MWAWCell.hxx:393
RagTime5SpreadsheetInternal::ClustListParser::m_fieldSize
int m_fieldSize
the field size
Definition: RagTime5Spreadsheet.cxx:1043
MWAWSection
a class which stores section properties
Definition: MWAWSection.hxx:45
RagTime5Document::readListZone
bool readListZone(RagTime5ClusterManager::Link const &link)
try to read a list zone
Definition: RagTime5Document.cxx:1585
MWAWDebug.hxx
RagTime5SpreadsheetInternal::Sheet::Row::Row
Row(MWAWVec2i const &row, int plane)
constructor
Definition: RagTime5Spreadsheet.cxx:466
RagTime5Document::getFormulaParser
std::shared_ptr< RagTime5Formula > getFormulaParser()
returns the formula parser
Definition: RagTime5Document.cxx:410
RagTime5Spreadsheet::getSheetIdList
std::vector< int > getSheetIdList() const
return the sheet data id list
Definition: RagTime5Spreadsheet.cxx:1464
RagTime5SpreadsheetInternal::Sheet::Row::isEmpty
bool isEmpty() const
returns true if the row is empty
Definition: RagTime5Spreadsheet.cxx:479
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:83
RagTime5SpreadsheetInternal::ClusterSpreadsheet
low level: the spreadsheet cluster data
Definition: RagTime5Spreadsheet.cxx:2178
RagTime5Spreadsheet::readValuesTree
bool readValuesTree(RagTime5SpreadsheetInternal::Sheet &sheet, RagTime5Zone &zone, RagTime5ClusterManager::Link const &link, int rootId, MWAWVec3i const &maxPos)
try to read a spreadsheet tree of values
Definition: RagTime5Spreadsheet.cxx:1719
RagTime5SpreadsheetInternal::ClustListParser::ClustListParser
ClustListParser(RagTime5ClusterManager &clusterManager, int fieldSize, std::string const &zoneName)
constructor
Definition: RagTime5Spreadsheet.cxx:976
RagTime5SpreadsheetInternal::CellContent::setContent
void setContent(int id, int contentId)
sets the cell content
Definition: RagTime5Spreadsheet.cxx:192
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1193
RagTime5SpreadsheetInternal::Sheet::m_idToFormula
std::map< int, std::vector< MWAWCellContent::FormulaInstruction > > m_idToFormula
all the formula
Definition: RagTime5Spreadsheet.cxx:944
RagTime5SpreadsheetInternal::CellContent::m_plane
int m_plane
the cell plane
Definition: RagTime5Spreadsheet.cxx:231
RagTime5SpreadsheetInternal::CellPLCParser::CellPLCParser
CellPLCParser(Sheet &sheet, int which, int fieldSize, std::map< MWAWVec2i, int > const &numRowByPlanes)
constructor
Definition: RagTime5Spreadsheet.cxx:1203
RagTime5SpreadsheetInternal::CellPLCParser::m_which
int m_which
the type: 0=graphicStyles, 1=textStyles, 2=vertical border, 3=horizontal border
Definition: RagTime5Spreadsheet.cxx:1371
RagTime5ClusterManager::Cluster::C_ButtonZone
@ C_ButtonZone
Definition: RagTime5ClusterManager.hxx:268
RagTime5SpreadsheetInternal::CellPLCParser::m_planes
MWAWVec2i m_planes
the actual plane set
Definition: RagTime5Spreadsheet.cxx:1377
RagTime5StyleManager.hxx
RagTime5SpreadsheetInternal::BorderPLC::operator<<
friend std::ostream & operator<<(std::ostream &o, BorderPLC const &plc)
operator<<
Definition: RagTime5Spreadsheet.cxx:264
RagTime5Document::getDataZone
std::shared_ptr< RagTime5Zone > getDataZone(int dataId) const
returns the zone corresponding to a data id (or 0)
Definition: RagTime5Document.cxx:465
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_valuesTreeRoot
int m_valuesTreeRoot
the value tree root
Definition: RagTime5Spreadsheet.cxx:2202
RagTime5SpreadsheetInternal::BorderPLC::isMergedBorder
bool isMergedBorder() const
returns true if the cell is a merged cell
Definition: RagTime5Spreadsheet.cxx:254
RagTime5SpreadsheetInternal::CellPLCParser::m_row
int m_row
the actual row
Definition: RagTime5Spreadsheet.cxx:1375
RagTime5SpreadsheetInternal::CellContent::GraphicStyle
@ GraphicStyle
Definition: RagTime5Spreadsheet.cxx:174
MWAWPosition::Char
@ Char
Definition: MWAWPosition.hxx:51
RagTime5SpreadsheetInternal::TextPLC::operator==
bool operator==(TextPLC const &plc) const
operator==
Definition: RagTime5Spreadsheet.cxx:444
RagTime5SpreadsheetInternal::Sheet::Row::splitColumns
void splitColumns(MWAWVec2i const &cols)
split columns if needed, so that we can insert cells correspond to the cols interval
Definition: RagTime5Spreadsheet.cxx:488
RagTime5SpreadsheetInternal::Sheet::m_valueToCellRefMap
std::map< int, MWAWCellContent::FormulaInstruction > m_valueToCellRefMap
the list of value id to ref position
Definition: RagTime5Spreadsheet.cxx:938
RagTime5SpreadsheetInternal::Sheet::m_valuesList
std::vector< CellValue > m_valuesList
the list of values
Definition: RagTime5Spreadsheet.cxx:946
MWAWCellContent::C_FORMULA
@ C_FORMULA
Definition: MWAWCell.hxx:433
RagTime5SpreadsheetInternal::GraphicPLC::getGraphicStyleId
int getGraphicStyleId() const
returns the graphic id
Definition: RagTime5Spreadsheet.cxx:331
RagTime5Spreadsheet::readSpreadsheetCluster
std::shared_ptr< RagTime5ClusterManager::Cluster > readSpreadsheetCluster(RagTime5Zone &zone, int zoneType)
try to read a spreadsheet cluster
Definition: RagTime5Spreadsheet.cxx:3142
MWAWCellContent::FormulaInstruction::F_Cell
@ F_Cell
Definition: MWAWCell.hxx:398
RagTime5SpreadsheetInternal::Sheet::setRowsHeight
void setRowsHeight(MWAWVec2i const &rows, float height)
sets the row heights
Definition: RagTime5Spreadsheet.cxx:834
RagTime5SpreadsheetInternal::TextPLC::m_textStyleId
int m_textStyleId
the text style
Definition: RagTime5Spreadsheet.cxx:454
RagTime5SpreadsheetInternal::CellContent::BorderPrevVStyle
@ BorderPrevVStyle
Definition: RagTime5Spreadsheet.cxx:175
MWAWCell::VALIGN_CENTER
@ VALIGN_CENTER
Definition: MWAWCell.hxx:134
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:88
RagTime5Formula
the main class to read the formula part of RagTime 56 file
Definition: RagTime5Formula.hxx:73
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_valuesTreeLink
RagTime5ClusterManager::Link m_valuesTreeLink
the value tree link
Definition: RagTime5Spreadsheet.cxx:2200
MWAWGraphicEncoder
main class used to define store librevenge::RVNGDrawingInterface lists of command in a librevenge::RV...
Definition: MWAWGraphicEncoder.hxx:55
MWAWCell::F_NUMBER
@ F_NUMBER
Definition: MWAWCell.hxx:56
RagTime5ClusterManager::Link::L_List
@ L_List
Definition: RagTime5ClusterManager.hxx:117
MWAWBox2i
MWAWBox2< int > MWAWBox2i
MWAWBox2 of int.
Definition: libmwaw_internal.hxx:1191
RagTime5SpreadsheetInternal::CellPLCParser::~CellPLCParser
~CellPLCParser() final
destructor
Definition: RagTime5Spreadsheet.cxx:1391
MWAWCell::F_TIME
@ F_TIME
Definition: MWAWCell.hxx:56
libmwaw::LeftBit
@ LeftBit
Definition: libmwaw_internal.hxx:178
RagTime5SpreadsheetInternal::Sheet::getName
librevenge::RVNGString getName(int plane) const
returns a name corresponding to a plane
Definition: RagTime5Spreadsheet.cxx:734
MWAWSpreadsheetEncoder.hxx
MWAWCell::HALIGN_DEFAULT
@ HALIGN_DEFAULT
Definition: MWAWCell.hxx:129
RagTime5SpreadsheetInternal::State::m_namesSet
std::set< librevenge::RVNGString > m_namesSet
the set of name already used
Definition: RagTime5Spreadsheet.cxx:1431
RagTime5SpreadsheetInternal::CellContent::hasContent
bool hasContent() const
returns true if the cell has no id or is merged
Definition: RagTime5Spreadsheet.cxx:201
RagTime5SpreadsheetInternal::CellValue::CellValue
CellValue()
constructor
Definition: RagTime5Spreadsheet.cxx:74
RagTime5SpreadsheetInternal::CellContent::BorderPrevHStyle
@ BorderPrevHStyle
Definition: RagTime5Spreadsheet.cxx:175
RagTime5SpreadsheetInternal::Sheet::m_childList
std::vector< RagTime5StructManager::ZoneLink > m_childList
the list of child zone: picture, button, ...
Definition: RagTime5Spreadsheet.cxx:964
RagTime5SpreadsheetInternal::CellContent::IdPosition
IdPosition
enum to define the id position
Definition: RagTime5Spreadsheet.cxx:174
MWAWCellContent::C_TEXT
@ C_TEXT
Definition: MWAWCell.hxx:433
RagTime5SpreadsheetInternal::Sheet::Row
a row: a list of cell map
Definition: RagTime5Spreadsheet.cxx:464
MWAWCell::Format::m_format
FormatType m_format
the cell format : by default unknown
Definition: MWAWCell.hxx:95
MWAWPosition::Page
@ Page
Definition: MWAWPosition.hxx:51
RagTime5SpreadsheetInternal::TextPLC::operator<<
friend std::ostream & operator<<(std::ostream &o, TextPLC const &plc)
operator<<
Definition: RagTime5Spreadsheet.cxx:398
RagTime5StructManager::Field::T_LongList
@ T_LongList
Definition: RagTime5StructManager.hxx:244
RagTime5SpreadsheetInternal::SpreadsheetCParser::parseHeaderZone
bool parseHeaderZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse the header zone
Definition: RagTime5Spreadsheet.cxx:2963
MWAWSection.hxx
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
MWAWCell::HorizontalAlignment
HorizontalAlignment
the default horizontal alignment.
Definition: MWAWCell.hxx:128
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_textPLCNumRowByPlanesMap
std::map< MWAWVec2i, int > m_textPLCNumRowByPlanesMap
the list of row text plc by planes
Definition: RagTime5Spreadsheet.cxx:2212
libmwaw::TopBit
@ TopBit
Definition: libmwaw_internal.hxx:178
RagTime5SpreadsheetInternal::Sheet::Sheet
Sheet()
constructor
Definition: RagTime5Spreadsheet.cxx:709
RagTime5SpreadsheetInternal::SpreadsheetCParser::m_PLCNumRowByPlanesMap
std::map< MWAWVec2i, int > m_PLCNumRowByPlanesMap
the list of row plc by planes
Definition: RagTime5Spreadsheet.cxx:3123
MWAWCellContent::FormulaInstruction::m_position
MWAWVec2i m_position[2]
cell position ( if type==F_Cell or F_CellList )
Definition: MWAWCell.hxx:423
RagTime5ClusterManager::Cluster::C_SpreadsheetZone
@ C_SpreadsheetZone
Definition: RagTime5ClusterManager.hxx:268
MWAWSpreadsheetEncoder
main class used to define store librevenge::RVNGSpreadsheetInterface lists of command in a librevenge...
Definition: MWAWSpreadsheetEncoder.hxx:55
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
MWAWCell::setBorders
void setBorders(int wh, MWAWBorder const &border)
sets the cell border: wh=libmwaw::LeftBit|...
Definition: MWAWCell.cxx:382
RagTime5ClusterManager::getClusterDebugName
std::string getClusterDebugName(int id)
returns "data"+id+"A" ( followed by the cluster type and name if know)
Definition: RagTime5ClusterManager.cxx:230
MWAWCellContent::FormulaInstruction::m_sheet
librevenge::RVNGString m_sheet[2]
the sheet names (if not empty)
Definition: MWAWCell.hxx:427
RagTime5SpreadsheetInternal::ValuesParser::parseData
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int n, libmwaw::DebugStream &debStream) final
try to parse a data
Definition: RagTime5Spreadsheet.cxx:1067
RagTime5StructManager::DataParser::m_name
std::string m_name
the field name
Definition: RagTime5StructManager.hxx:420
RagTime5Document::getClusterManager
std::shared_ptr< RagTime5ClusterManager > getClusterManager()
returns the cluster manager
Definition: RagTime5Document.cxx:395
RagTime5SpreadsheetInternal::ClusterSpreadsheet::~ClusterSpreadsheet
~ClusterSpreadsheet() final
destructor
Definition: RagTime5Spreadsheet.cxx:2221
MWAWEntry::valid
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:99
RagTime5SpreadsheetInternal::Sheet::Plane
a plane: a list of rows map
Definition: RagTime5Spreadsheet.cxx:575
RagTime5StructManager
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:174
RagTime5Zone::m_ids
int m_ids[3]
the zone id
Definition: RagTime5StructManager.hxx:140
MWAWListener.hxx
RagTime5SpreadsheetInternal::TextPLC::getHorizontalAlignment
MWAWCell::HorizontalAlignment getHorizontalAlignment() const
returns the alignement
Definition: RagTime5Spreadsheet.cxx:382
MWAWSpreadsheetListener.hxx
RagTime5Spreadsheet::SubDocument
friend class RagTime5SpreadsheetInternal::SubDocument
Definition: RagTime5Spreadsheet.hxx:79
RagTime5ClusterManager::Link
a link to a small zone (or set of zones) in RagTime 5/6 documents
Definition: RagTime5ClusterManager.hxx:113
RagTime5SpreadsheetInternal::ClusterSpreadsheet::ClusterSpreadsheet
ClusterSpreadsheet()
constructor
Definition: RagTime5Spreadsheet.cxx:2180
RagTime5SpreadsheetInternal::CellPLCParser::operator=
CellPLCParser & operator=(CellPLCParser &orig)=delete
copy operator, not implemented
RagTime5SpreadsheetInternal::TextPLC::m_flags
int m_flags
low: text flag, high: orientation flags, tategaki, ...
Definition: RagTime5Spreadsheet.cxx:458
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_borderPLCNumRowByPlanesMap
std::map< MWAWVec2i, int > m_borderPLCNumRowByPlanesMap[2]
the list of row border plc by planes
Definition: RagTime5Spreadsheet.cxx:2216
libmwaw::DebugFile
an interface used to insert comment in a binary file, written in ascii form (if debug_with_files is n...
Definition: MWAWDebug.hxx:65
RagTime5SpreadsheetInternal::Sheet::m_colWidthDef
float m_colWidthDef
the default col width in point
Definition: RagTime5Spreadsheet.cxx:928
RagTime5SpreadsheetInternal::Sheet::m_defaultFont
MWAWFont m_defaultFont
the default font (Palatino, 12)
Definition: RagTime5Spreadsheet.cxx:960
RagTime5ClusterManager::Cluster
the cluster data
Definition: RagTime5ClusterManager.hxx:261
RagTime5Spreadsheet::parseSpreadsheetFormulas
void parseSpreadsheetFormulas()
parses all the formula structure linked to a spreadsheet
Definition: RagTime5Spreadsheet.cxx:1489
RagTime5SpreadsheetInternal::Sheet::m_formulaLink
RagTime5ClusterManager::Link m_formulaLink
the formula link
Definition: RagTime5Spreadsheet.cxx:942
RagTime5SpreadsheetInternal::Sheet::getRowHeight
float getRowHeight(int row) const
returns the row height in point
Definition: RagTime5Spreadsheet.cxx:826
RagTime5SpreadsheetInternal::CellPLCParser::parseData
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &zone, int n, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Spreadsheet.cxx:1226
libmwaw
namespace used to regroup all libwpd functions, enumerations which we have redefined for internal usa...
Definition: libmwaw_internal.cxx:50
MWAWInputStream.hxx
RagTime5SpreadsheetInternal::SpreadsheetCParser::getNewZoneToParse
int getNewZoneToParse() final
returns to new zone to parse.
Definition: RagTime5Spreadsheet.cxx:2267
RagTime5SpreadsheetInternal::BorderPLC::getBorderGraphicStyleId
int getBorderGraphicStyleId(bool prevCell) const
returns the graphic style border id corresponding to this cell
Definition: RagTime5Spreadsheet.cxx:259
MWAWListenerPtr
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:553
RagTime5SpreadsheetInternal::CellContent::TextStyle
@ TextStyle
Definition: RagTime5Spreadsheet.cxx:174
RagTime5SpreadsheetInternal::ClustListParser::m_clusterList
std::vector< int > m_clusterList
the list of read cluster
Definition: RagTime5Spreadsheet.cxx:1040
MWAWFont.hxx
MWAWPosition::m_anchorTo
AnchorTo m_anchorTo
anchor position
Definition: MWAWPosition.hxx:270
RagTime5Spreadsheet::send
bool send(int zoneId, MWAWListenerPtr listener, MWAWPosition const &pos, int partId=0)
try to send the cluster zone
Definition: RagTime5Spreadsheet.cxx:1920
MWAWCell::HALIGN_LEFT
@ HALIGN_LEFT
Definition: MWAWCell.hxx:128
RagTime5SpreadsheetInternal::GraphicPLC::GraphicPLC
GraphicPLC()
constructor
Definition: RagTime5Spreadsheet.cxx:313
MWAWVec3< int >
RagTime5SpreadsheetInternal::ValuesParser::ValuesParser
ValuesParser(Sheet &sheet)
constructor
Definition: RagTime5Spreadsheet.cxx:1059
MWAWBox2< int >
RagTime5Spreadsheet::m_structManager
std::shared_ptr< RagTime5StructManager > m_structManager
the structure manager
Definition: RagTime5Spreadsheet.hxx:167
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:43
RagTime5SpreadsheetInternal::SpreadsheetCParser::m_cluster
std::shared_ptr< ClusterSpreadsheet > m_cluster
the current cluster
Definition: RagTime5Spreadsheet.cxx:3115
MWAWCell
a structure used to define a cell and its format
Definition: MWAWCell.hxx:52
RagTime5SpreadsheetInternal::State
Internal: the state of a RagTime5Spreadsheet.
Definition: RagTime5Spreadsheet.cxx:1397
RagTime5SpreadsheetInternal::Sheet::m_defBordersPLC
BorderPLC m_defBordersPLC[2]
the default border plc (vertical and horizontal)
Definition: RagTime5Spreadsheet.cxx:958
RagTime5SpreadsheetInternal::Sheet::Plane::m_unitedCellMap
std::map< MWAWVec2i, MWAWVec2i > m_unitedCellMap
the list of united cell: map from TL cell to RB cell
Definition: RagTime5Spreadsheet.cxx:705
RagTime5Document::readUnicodeStringList
bool readUnicodeStringList(RagTime5ClusterManager::NameLink const &link, std::map< int, librevenge::RVNGString > &idToStringMap)
try to read a list of unicode string zone
Definition: RagTime5Document.cxx:843
RagTime5SpreadsheetInternal::SpreadsheetCParser::SpreadsheetCParser
SpreadsheetCParser(RagTime5ClusterManager &parser, int type)
constructor
Definition: RagTime5Spreadsheet.cxx:2231
MWAWCellContent::m_contentType
Type m_contentType
the content type ( by default unknown )
Definition: MWAWCell.hxx:483
MWAWCellContent::C_NUMBER
@ C_NUMBER
Definition: MWAWCell.hxx:433
RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone
bool parseDataZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse a data block
Definition: RagTime5Spreadsheet.cxx:2542
RagTime5SpreadsheetInternal::ClusterSpreadsheet::m_dimensionLink
RagTime5ClusterManager::Link m_dimensionLink
the dimension link
Definition: RagTime5Spreadsheet.cxx:2196
RagTime5Document::readFixedSizeZone
bool readFixedSizeZone(RagTime5ClusterManager::Link const &link, std::string const &name)
try to read a fixed size zone
Definition: RagTime5Document.cxx:1658
RagTime5SpreadsheetInternal::ClustListParser::~ClustListParser
~ClustListParser() final
destructor
Definition: RagTime5Spreadsheet.cxx:1052
RagTime5SpreadsheetInternal::CellContent::operator<<
friend std::ostream & operator<<(std::ostream &o, CellContent const &cell)
small operator<<
Definition: RagTime5Spreadsheet.cxx:211
RagTime5Spreadsheet::RagTime5Spreadsheet
RagTime5Spreadsheet(RagTime5Document &doc)
constructor
Definition: RagTime5Spreadsheet.cxx:1441
RagTime5SpreadsheetInternal::Sheet::Plane::Plane
Plane(int plane)
constructor
Definition: RagTime5Spreadsheet.cxx:577
MWAWCell::HALIGN_RIGHT
@ HALIGN_RIGHT
Definition: MWAWCell.hxx:128
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition: libmwaw_internal.hxx:838
RagTime5SpreadsheetInternal::CellContent::Value
@ Value
Definition: RagTime5Spreadsheet.cxx:174
RagTime5StructManager::readDataIdList
static bool readDataIdList(MWAWInputStreamPtr input, int n, std::vector< int > &listIds)
try to read n data id
Definition: RagTime5StructManager.cxx:332
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
RagTime5SpreadsheetInternal::Sheet::m_refToCellRefMap
std::map< int, MWAWCellContent::FormulaInstruction > m_refToCellRefMap
the list of ref id to ref position
Definition: RagTime5Spreadsheet.cxx:940
RagTime5SpreadsheetInternal::GraphicPLC::GraphicPLC
GraphicPLC(std::vector< int > const &values)
constructor
Definition: RagTime5Spreadsheet.cxx:319
RagTime5SpreadsheetInternal::ClustListParser::parseData
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Spreadsheet.cxx:996
RagTime5SpreadsheetInternal::CellValue
internal: a structure used to store a value in a cell in RagTime5SpreadsheetInternal
Definition: RagTime5Spreadsheet.cxx:72
RagTime5SpreadsheetInternal::TextPLC
a text style PLC
Definition: RagTime5Spreadsheet.cxx:359
MWAWGraphicListener
This class contains the code needed to create Graphic document.
Definition: MWAWGraphicListener.hxx:59
MWAWCell::HALIGN_CENTER
@ HALIGN_CENTER
Definition: MWAWCell.hxx:128
RagTime5SpreadsheetInternal::Sheet::m_textPLCList
std::vector< TextPLC > m_textPLCList
the text plc
Definition: RagTime5Spreadsheet.cxx:954
RagTime5SpreadsheetInternal::ValuesParser::m_sheet
Sheet & m_sheet
the actual sheet
Definition: RagTime5Spreadsheet.cxx:1193
RagTime5ClusterManager::Link::m_fieldSize
int m_fieldSize
the field size
Definition: RagTime5ClusterManager.hxx:214
RagTime5Formula.hxx
RagTime5SpreadsheetInternal::CellPLCParser
Internal: the helper to read a list of cell to paragraph/char/... data.
Definition: RagTime5Spreadsheet.cxx:1201
RagTime5Spreadsheet::numPages
int numPages() const
returns the number of pages
Definition: RagTime5Spreadsheet.cxx:1459
MWAWCell::F_TEXT
@ F_TEXT
Definition: MWAWCell.hxx:56
RagTime5SpreadsheetInternal::ValuesParser
Internal: the helper to read a cell values.
Definition: RagTime5Spreadsheet.cxx:1057
RagTime5SpreadsheetInternal::GraphicPLC::operator==
bool operator==(GraphicPLC const &plc) const
operator==
Definition: RagTime5Spreadsheet.cxx:343
RagTime5SpreadsheetInternal::Sheet::Row::resetMinRow
void resetMinRow(int row)
reset each row's cell position to new row position
Definition: RagTime5Spreadsheet.cxx:553
MWAWCell::setRotation
void setRotation(double angle)
sets the rotation angle
Definition: MWAWCell.hxx:302