Go to the documentation of this file.
10 #ifndef IWORKTABLE_H_INCLUDED
11 #define IWORKTABLE_H_INCLUDED
18 #include <boost/optional.hpp>
27 class IWORKLanguageManager;
29 class IWORKTableRecorder;
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);
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;
144 #endif // IWORKTABLE_H_INCLUDED
std::map< librevenge::RVNGString, std::string > m_formatNameMap
Definition: IWORKTable.h:112
double double_cast(const char *value)
Definition: libetonyek_xml.cpp:88
void addCloseSpan()
Definition: IWORKOutputElements.cpp:981
boost::optional< double > try_double_cast(const char *value)
Definition: libetonyek_xml.cpp:93
@ IWORK_CELL_NUMBER_TYPE_SCIENTIFIC
Definition: IWORKEnum.h:94
@ name
Definition: IWORKToken.h:585
@ column
Definition: IWORKToken.h:156
IWORKGridLineMap_t m_verticalRightLines
Definition: IWORKTable.h:122
void setDefaultLayoutStyle(CellType type, const IWORKStylePtr_t &style)
Definition: IWORKTable.cpp:956
@ size
Definition: IWORKToken.h:402
void addOpenTableCell(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1151
const unsigned m_rowSpan
Definition: IWORKTableRecorder.cpp:169
void writeBorder(const IWORKStroke &stroke, const char *const name, librevenge::RVNGPropertyList &props)
Definition: libetonyek_utils.cpp:286
IWORKStylePtr_t m_style
Definition: IWORKPropertyMapElement.cpp:172
Definition: IWORKBezierElement.cpp:21
unsigned m_columnSpan
Definition: IWORKTable.h:36
Definition: IWORKLanguageManager.h:24
unsigned m_columns
Definition: IWORKTable.h:127
std::string detectMimetype(const RVNGInputStreamPtr_t &stream)
Definition: libetonyek_utils.cpp:329
std::shared_ptr< IWORKTableNameMap_t > IWORKTableNameMapPtr_t
Definition: IWORKTypes_fwd.h:34
IWORKStylePtr_t getDefaultCellStyle(unsigned column, unsigned row) const
Definition: IWORKTable.cpp:990
IWORKGridLineMap_t m_horizontalLines
Definition: IWORKTable.h:123
boost::optional< int > getOrder() const
Definition: IWORKTable.cpp:980
IWORKFormulaPtr_t m_formula
Definition: IWORKTabularModelElement.cpp:930
@ empty
Definition: IWORKToken.h:664
@ padding
Definition: IWORKToken.h:349
@ IWORK_CELL_TYPE_TEXT
Definition: IWORKEnum.h:82
void setDefaultCellStyle(CellType type, const IWORKStylePtr_t &style)
Definition: IWORKTable.cpp:944
void setRecorder(const std::shared_ptr< IWORKTableRecorder > &recorder)
Definition: IWORKTable.cpp:472
void setComment(unsigned column, unsigned row, IWORKOutputElements const &text)
Definition: IWORKTable.cpp:584
@ SFTStrokeProperty
Definition: IWORKToken.h:85
const unsigned ETONYEK_EPOCH_BEGIN(978307200)
IWORKStylePtr_t m_style
Definition: IWORKTable.h:116
const std::shared_ptr< IWORKTableRecorder > & getRecorder() const
Definition: IWORKTable.cpp:477
@ style
Definition: IWORKToken.h:421
unsigned m_rows
Definition: IWORKTable.h:126
Definition: IWORKTable.h:34
@ format
Definition: IWORKToken.h:537
@ formula
Definition: IWORKToken.h:228
void setSizes(const IWORKColumnSizes_t &columnSizes, const IWORKRowSizes_t &rowSizes)
Definition: IWORKTable.cpp:557
std::deque< Row_t > Table_t
Definition: IWORKTable.h:50
@ columns
Definition: IWORKToken.h:158
const IWORKLanguageManager & m_langManager
Definition: IWORKTable.h:111
void setSize(unsigned columns, unsigned rows)
Definition: IWORKTable.cpp:487
IWORKStylePtr_t m_defaultLayoutStyles[5]
Definition: IWORKTable.h:136
void addCloseTable()
Definition: IWORKOutputElements.cpp:986
const unsigned m_columnSpan
Definition: IWORKTableRecorder.cpp:168
#define ETONYEK_DEBUG_MSG(M)
Definition: libetonyek_utils.h:54
IWORKVerticalAlignment
Definition: IWORKEnum.h:113
Representation of a dynamic inheritance of styles.
Definition: IWORKStyleStack.h:35
@ none
Definition: IWORKToken.h:674
IWORKStylePtr_t getDefaultStyle(unsigned column, unsigned row, const IWORKStylePtr_t *group) const
Definition: IWORKTable.cpp:1005
@ CELL_TYPE_BODY
Definition: IWORKTable.h:55
std::map< std::pair< unsigned, unsigned >, IWORKOutputElements > m_commentMap
Definition: IWORKTable.h:113
const boost::optional< unsigned > m_formulaHC
Definition: IWORKOutputElements.cpp:344
void addOpenComment(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1076
@ IWORK_VERTICAL_ALIGNMENT_BOTTOM
Definition: IWORKEnum.h:116
@ IWORK_CELL_NUMBER_TYPE_FRACTION
Definition: IWORKEnum.h:92
optional< IWORKSize > m_size
Definition: IWORKPathElement.cpp:48
void setBandedRows(bool banded=true)
Definition: IWORKTable.cpp:512
@ IWORK_VERTICAL_ALIGNMENT_MIDDLE
Definition: IWORKEnum.h:115
IWORKColumnSizes_t m_columnSizes
Definition: IWORKTable.h:119
void setStyle(const IWORKStylePtr_t &style)
Definition: IWORKTable.cpp:546
void setName(std::string const &name)
Definition: IWORKTable.cpp:482
unsigned m_headerRows
Definition: IWORKTable.h:128
IWORKStylePtr_t m_defaultParaStyles[5]
Definition: IWORKTable.h:137
@ IWORK_VERTICAL_ALIGNMENT_TOP
Definition: IWORKEnum.h:114
unsigned m_footerRows
Definition: IWORKTable.h:129
@ n
Definition: IWORKToken.h:333
bool has(const bool lookInParent=true) const
Definition: IWORKStyleStack.h:69
@ rows
Definition: IWORKToken.h:392
boost::optional< std::string > writeFormat(IWORKOutputElements &elements, const IWORKStylePtr_t &style, const IWORKCellType type, boost::optional< std::string > &rvngValueType)
Definition: IWORKTable.cpp:664
@ cell
Definition: PAG1Token.h:64
void setRepeated(bool columns, bool rows)
Definition: IWORKTable.cpp:523
void addCloseFrame()
Definition: IWORKOutputElements.cpp:941
double pt2in(const double d)
Convert a length from points to inches.
Definition: libetonyek_utils.cpp:225
@ SFTCellStylePropertyDateTimeFormat
Definition: IWORKToken.h:56
@ CELL_TYPE_ROW_FOOTER
Definition: IWORKTable.h:59
boost::optional< IWORKDateTimeData > m_dateTime
Definition: IWORKTable.h:44
Definition: libetonyek_utils.h:154
@ r
Definition: IWORKToken.h:380
boost::optional< std::string > m_name
Definition: IWORKTable.h:117
@ SFTCellStylePropertyNumberFormat
Definition: IWORKToken.h:58
@ s
Definition: IWORKToken.h:394
IWORKStylePtr_t getDefaultLayoutStyle(unsigned column, unsigned row) const
Definition: IWORKTable.cpp:995
void insertCoveredCell(unsigned column, unsigned row)
Definition: IWORKTable.cpp:648
void addCloseTableRow()
Definition: IWORKOutputElements.cpp:996
void addCloseTableCell()
Definition: IWORKOutputElements.cpp:991
void addInsertCoveredTableCell(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1046
boost::optional< IWORKDateTimeData > m_dateTime
Definition: IWORKTabularModelElement.cpp:929
void addInsertBinaryObject(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1041
@ IWORK_CELL_NUMBER_TYPE_DOUBLE
Definition: IWORKEnum.h:91
CellType
Definition: IWORKTable.h:54
void addOpenParagraph(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1131
void setBorders(const IWORKGridLineMap_t &verticalLines, const IWORKGridLineMap_t &horizontalLines)
Definition: IWORKTable.cpp:572
boost::optional< unsigned > m_formulaHC
Definition: IWORKTable.h:40
const IWORKPropertyInfo< Property >::ValueType & get(const bool lookInParent=true) const
Definition: IWORKStyleStack.h:85
IWORKRowSizes_t m_rowSizes
Definition: IWORKTable.h:120
IWORKTable(const IWORKTableNameMapPtr_t &tableNameMap, const IWORKLanguageManager &langManager)
Definition: IWORKTable.cpp:445
std::shared_ptr< IWORKFormula > IWORKFormulaPtr_t
Definition: IWORKTypes.h:123
@ string
Definition: IWORKToken.h:418
@ val
Definition: IWORKToken.h:630
IWORKMediaContentPtr_t & m_content
Definition: IWORKFillElement.cpp:319
IWORKFormulaPtr_t m_formula
Definition: IWORKTable.h:39
void addOpenTable(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1146
IWORKCellNumberType
Definition: IWORKEnum.h:89
boost::optional< IWORKGradient > & m_value
Definition: IWORKFillElement.cpp:131
@ IWORK_CELL_TYPE_DURATION
Definition: IWORKEnum.h:84
void setHeaders(unsigned headerColumns, unsigned headerRows, unsigned footerRows)
Definition: IWORKTable.cpp:499
IWORKStylePtr_t getStyle() const
Definition: IWORKTable.cpp:985
mdds::flat_segment_tree< unsigned, IWORKStylePtr_t > IWORKGridLine_t
Definition: IWORKTypes.h:121
@ c
Definition: IWORKToken.h:516
@ value
Definition: IWORKToken.h:631
IWORKGridLineMap_t m_verticalLines
Definition: IWORKTable.h:121
IWORKStylePtr_t getDefaultParagraphStyle(unsigned column, unsigned row) const
Definition: IWORKTable.cpp:1000
@ IWORK_CELL_TYPE_NUMBER
Definition: IWORKEnum.h:81
void setDefaultParagraphStyle(CellType type, const IWORKStylePtr_t &style)
Definition: IWORKTable.cpp:968
@ group
Definition: IWORKToken.h:248
unsigned m_rowSpan
Definition: IWORKTable.h:37
bool m_headerColumnsRepeated
Definition: IWORKTable.h:133
void setOrder(int order)
Definition: IWORKTable.cpp:535
void addOpenTableRow(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1156
Definition: IWORKTable.h:32
@ type
Definition: IWORKToken.h:493
@ index
Definition: IWORKToken.h:571
void addInsertText(const librevenge::RVNGString &text)
Definition: IWORKOutputElements.cpp:1071
Table_t m_table
Definition: IWORKTable.h:115
const IWORKTableNameMapPtr_t m_tableNameMap
Definition: IWORKTable.h:110
@ IWORK_CELL_TYPE_DATE_TIME
Definition: IWORKEnum.h:83
IWORKOutputElements m_content
Definition: IWORKTable.h:35
@ text
Definition: IWORKToken.h:472
void append(const IWORKOutputElements &elements)
Definition: IWORKOutputElements.cpp:888
void addCloseComment()
Definition: IWORKOutputElements.cpp:921
IWORKStylePtr_t m_defaultCellStyles[5]
Definition: IWORKTable.h:135
IWORKCellType
Definition: IWORKEnum.h:80
@ col
Definition: IWORKToken.h:154
#define ETONYEK_NUM_ELEMENTS(array)
Definition: libetonyek_utils.h:29
@ t
Definition: IWORKToken.h:427
@ CELL_TYPE_ROW_HEADER
Definition: IWORKTable.h:58
IWORKGridLineMap_t m_horizontalBottomLines
Definition: IWORKTable.h:124
void addDefineSheetNumberingStyle(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1006
@ SFTCellStylePropertyLayoutStyle
Definition: IWORKToken.h:59
@ SFTCellStylePropertyParagraphStyle
Definition: IWORKToken.h:60
std::deque< IWORKColumnRowSize > IWORKColumnSizes_t
Definition: IWORKTypes_fwd.h:22
std::shared_ptr< IWORKTableRecorder > m_recorder
Definition: IWORKTable.h:139
@ opacity
Definition: IWORKToken.h:595
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:609
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
std::deque< Cell > Row_t
Definition: IWORKTable.h:49
@ line
Definition: IWORKToken.h:303
@ row
Definition: IWORKToken.h:390
void addCloseParagraph()
Definition: IWORKOutputElements.cpp:971
@ IWORK_CELL_TYPE_BOOL
Definition: IWORKEnum.h:85
void addOpenSpan(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1141
@ media
Definition: IWORKToken.h:326
static void fillCharPropList(const IWORKStyleStack &style, const IWORKLanguageManager &langManager, librevenge::RVNGPropertyList &props)
Definition: IWORKText.cpp:79
@ gradient
Definition: KEY1Token.h:58
boost::optional< IWORKGradientType > m_type
Definition: IWORKFillElement.cpp:132
std::deque< IWORKColumnRowSize > IWORKRowSizes_t
Definition: IWORKTypes_fwd.h:26
void addOpenFrame(const librevenge::RVNGPropertyList &propList)
Definition: IWORKOutputElements.cpp:1101
@ IWORK_CELL_NUMBER_TYPE_PERCENTAGE
Definition: IWORKEnum.h:93
@ CELL_TYPE_COLUMN_HEADER
Definition: IWORKTable.h:57
const ValueT & get(const detail::IWAFieldImpl< TagV, ValueT, Reader > &field)
Definition: IWAField.h:190
boost::optional< std::string > m_value
Definition: IWORKTable.h:43
librevenge::RVNGString makeColor(const IWORKColor &color)
Definition: libetonyek_utils.cpp:251
IWORKStylePtr_t m_style
Definition: IWORKTable.h:41
Cell()
Definition: IWORKTable.cpp:431
void addOpenFormulaCell(const librevenge::RVNGPropertyList &propList, const IWORKFormula &formula, const boost::optional< unsigned > &formulaHC, const IWORKTableNameMapPtr_t &tableNameMap)
Definition: IWORKOutputElements.cpp:1086
unsigned m_headerColumns
Definition: IWORKTable.h:130
@ color
Definition: IWORKToken.h:155
@ IWORK_CELL_NUMBER_TYPE_CURRENCY
Definition: IWORKEnum.h:90
@ CELL_TYPE_ALTERNATE_BODY
Definition: IWORKTable.h:56
bool m_covered
Definition: IWORKTable.h:38
void draw(const librevenge::RVNGPropertyList &tableProps, IWORKOutputElements &elements, bool drawAsSimpleTable)
Definition: IWORKTable.cpp:740
IWORKCellType m_type
Definition: IWORKTable.h:42
@ order
Definition: PAG1Token.h:43
void push()
Push a style onto the active styles stack.
Definition: IWORKStyleStack.cpp:30
boost::optional< int > m_order
Definition: IWORKTable.h:118
bool m_headerRowsRepeated
Definition: IWORKTable.h:132
std::map< unsigned, IWORKGridLine_t > IWORKGridLineMap_t
Definition: IWORKTypes.h:122
Definition: IWORKOutputElements.h:33
bool m_bandedRows
Definition: IWORKTable.h:131
Generated for libetonyek by
doxygen 1.8.20