10#ifndef IWORKTABLE_H_INCLUDED
11#define IWORKTABLE_H_INCLUDED
18#include <boost/optional.hpp>
27class IWORKLanguageManager;
29class IWORKTableRecorder;
49 typedef std::map<unsigned, Cell>
Row_t;
65 void setRecorder(
const std::shared_ptr<IWORKTableRecorder> &recorder);
66 const std::shared_ptr<IWORKTableRecorder> &
getRecorder()
const;
70 void setHeaders(
unsigned headerColumns,
unsigned headerRows,
unsigned footerRows);
82 const boost::optional<std::string> &
value = boost::none,
83 const std::shared_ptr<IWORKText> &
text = std::shared_ptr<IWORKText>(),
84 const boost::optional<IWORKDateTimeData> &dateTime = boost::none,
85 unsigned columnSpan = 1,
unsigned rowSpan = 1,
87 const boost::optional<unsigned> &formulaHC = boost::none,
92 void draw(
const librevenge::RVNGPropertyList &tableProps,
IWORKOutputElements &elements,
bool drawAsSimpleTable);
98 boost::optional<int>
getOrder()
const;
Definition IWORKLanguageManager.h:24
Definition IWORKOutputElements.h:33
Definition IWORKTable.h:32
const IWORKLanguageManager & m_langManager
Definition IWORKTable.h:111
IWORKStylePtr_t m_defaultLayoutStyles[5]
Definition IWORKTable.h:136
boost::optional< std::string > writeFormat(IWORKOutputElements &elements, const IWORKStylePtr_t &style, const IWORKCellType type, boost::optional< std::string > &rvngValueType)
Definition IWORKTable.cpp:665
IWORKGridLineMap_t m_verticalRightLines
Definition IWORKTable.h:122
void setDefaultCellStyle(CellType type, const IWORKStylePtr_t &style)
Definition IWORKTable.cpp:997
IWORKFormatNameMap & m_formatNameMap
Definition IWORKTable.h:112
boost::optional< int > getOrder() const
Definition IWORKTable.cpp:1033
void draw(const librevenge::RVNGPropertyList &tableProps, IWORKOutputElements &elements, bool drawAsSimpleTable)
Definition IWORKTable.cpp:741
IWORKColumnSizes_t m_columnSizes
Definition IWORKTable.h:119
bool m_bandedRows
Definition IWORKTable.h:131
void setBandedRows(bool banded=true)
Definition IWORKTable.cpp:513
void setDefaultLayoutStyle(CellType type, const IWORKStylePtr_t &style)
Definition IWORKTable.cpp:1009
IWORKStylePtr_t getStyle() const
Definition IWORKTable.cpp:1038
std::map< unsigned, Cell > Row_t
Definition IWORKTable.h:49
void setName(std::string const &name)
Definition IWORKTable.cpp:483
unsigned m_footerRows
Definition IWORKTable.h:129
const std::shared_ptr< IWORKTableRecorder > & getRecorder() const
Definition IWORKTable.cpp:478
unsigned m_headerColumns
Definition IWORKTable.h:130
void insertCell(unsigned column, unsigned row, const boost::optional< std::string > &value=boost::none, const std::shared_ptr< IWORKText > &text=std::shared_ptr< IWORKText >(), const boost::optional< IWORKDateTimeData > &dateTime=boost::none, unsigned columnSpan=1, unsigned rowSpan=1, const IWORKFormulaPtr_t &formula=IWORKFormulaPtr_t(), const boost::optional< unsigned > &formulaHC=boost::none, const IWORKStylePtr_t &style=IWORKStylePtr_t(), IWORKCellType type=IWORK_CELL_TYPE_TEXT)
Definition IWORKTable.cpp:610
IWORKRowSizes_t m_rowSizes
Definition IWORKTable.h:120
void setStyle(const IWORKStylePtr_t &style)
Definition IWORKTable.cpp:547
Table_t m_table
Definition IWORKTable.h:115
IWORKGridLineMap_t m_horizontalLines
Definition IWORKTable.h:123
bool m_headerColumnsRepeated
Definition IWORKTable.h:133
IWORKStylePtr_t getDefaultCellStyle(unsigned column, unsigned row) const
Definition IWORKTable.cpp:1043
boost::optional< int > m_order
Definition IWORKTable.h:118
IWORKGridLineMap_t m_horizontalBottomLines
Definition IWORKTable.h:124
IWORKTable(const IWORKTableNameMapPtr_t &tableNameMap, IWORKFormatNameMap &formatNameMap, const IWORKLanguageManager &langManager)
Definition IWORKTable.cpp:446
boost::optional< std::string > m_name
Definition IWORKTable.h:117
IWORKStylePtr_t getDefaultParagraphStyle(unsigned column, unsigned row) const
Definition IWORKTable.cpp:1053
unsigned m_headerRows
Definition IWORKTable.h:128
bool m_headerRowsRepeated
Definition IWORKTable.h:132
IWORKStylePtr_t getDefaultLayoutStyle(unsigned column, unsigned row) const
Definition IWORKTable.cpp:1048
IWORKStylePtr_t m_defaultParaStyles[5]
Definition IWORKTable.h:137
unsigned m_rows
Definition IWORKTable.h:126
void setBorders(const IWORKGridLineMap_t &verticalLines, const IWORKGridLineMap_t &horizontalLines)
Definition IWORKTable.cpp:573
std::shared_ptr< IWORKTableRecorder > m_recorder
Definition IWORKTable.h:139
void setSizes(const IWORKColumnSizes_t &columnSizes, const IWORKRowSizes_t &rowSizes)
Definition IWORKTable.cpp:558
void setRepeated(bool columns, bool rows)
Definition IWORKTable.cpp:524
std::deque< Row_t > Table_t
Definition IWORKTable.h:50
void setRecorder(const std::shared_ptr< IWORKTableRecorder > &recorder)
Definition IWORKTable.cpp:473
unsigned m_columns
Definition IWORKTable.h:127
IWORKGridLineMap_t m_verticalLines
Definition IWORKTable.h:121
IWORKStylePtr_t getDefaultStyle(unsigned column, unsigned row, const IWORKStylePtr_t *group) const
Definition IWORKTable.cpp:1058
IWORKStylePtr_t m_style
Definition IWORKTable.h:116
void setDefaultParagraphStyle(CellType type, const IWORKStylePtr_t &style)
Definition IWORKTable.cpp:1021
const IWORKTableNameMapPtr_t m_tableNameMap
Definition IWORKTable.h:110
void setSize(unsigned columns, unsigned rows)
Definition IWORKTable.cpp:488
void setOrder(int order)
Definition IWORKTable.cpp:536
IWORKStylePtr_t m_defaultCellStyles[5]
Definition IWORKTable.h:135
void setHeaders(unsigned headerColumns, unsigned headerRows, unsigned footerRows)
Definition IWORKTable.cpp:500
void setComment(unsigned column, unsigned row, IWORKOutputElements const &text)
Definition IWORKTable.cpp:585
CellType
Definition IWORKTable.h:54
@ CELL_TYPE_ROW_HEADER
Definition IWORKTable.h:58
@ CELL_TYPE_ROW_FOOTER
Definition IWORKTable.h:59
@ CELL_TYPE_BODY
Definition IWORKTable.h:55
@ CELL_TYPE_ALTERNATE_BODY
Definition IWORKTable.h:56
@ CELL_TYPE_COLUMN_HEADER
Definition IWORKTable.h:57
std::map< std::pair< unsigned, unsigned >, IWORKOutputElements > m_commentMap
Definition IWORKTable.h:113
void insertCoveredCell(unsigned column, unsigned row)
Definition IWORKTable.cpp:649
@ column
Definition IWORKToken.h:156
@ value
Definition IWORKToken.h:631
@ row
Definition IWORKToken.h:390
@ text
Definition IWORKToken.h:472
@ rows
Definition IWORKToken.h:392
@ type
Definition IWORKToken.h:493
@ group
Definition IWORKToken.h:248
@ style
Definition IWORKToken.h:421
@ formula
Definition IWORKToken.h:228
@ columns
Definition IWORKToken.h:158
@ name
Definition IWORKToken.h:585
@ order
Definition PAG1Token.h:43
Definition IWORKBezierElement.cpp:21
IWORKCellType
Definition IWORKEnum.h:80
@ IWORK_CELL_TYPE_TEXT
Definition IWORKEnum.h:82
std::unordered_map< std::string, std::string > IWORKFormatNameMap
Definition IWORKTypes_fwd.h:32
std::map< unsigned, IWORKGridLine_t > IWORKGridLineMap_t
Definition IWORKTypes.h:122
std::deque< IWORKColumnRowSize > IWORKColumnSizes_t
Definition IWORKTypes_fwd.h:24
std::shared_ptr< IWORKFormula > IWORKFormulaPtr_t
Definition IWORKTypes.h:123
std::deque< IWORKColumnRowSize > IWORKRowSizes_t
Definition IWORKTypes_fwd.h:26
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition IWORKStyle_fwd.h:23
std::shared_ptr< IWORKTableNameMap_t > IWORKTableNameMapPtr_t
Definition IWORKTypes_fwd.h:36
Definition IWORKTable.h:34
IWORKCellType m_type
Definition IWORKTable.h:42
unsigned m_columnSpan
Definition IWORKTable.h:36
IWORKStylePtr_t m_style
Definition IWORKTable.h:41
unsigned m_rowSpan
Definition IWORKTable.h:37
IWORKFormulaPtr_t m_formula
Definition IWORKTable.h:39
IWORKOutputElements m_content
Definition IWORKTable.h:35
boost::optional< IWORKDateTimeData > m_dateTime
Definition IWORKTable.h:44
boost::optional< unsigned > m_formulaHC
Definition IWORKTable.h:40
Cell()
Definition IWORKTable.cpp:432
bool m_covered
Definition IWORKTable.h:38
boost::optional< std::string > m_value
Definition IWORKTable.h:43