Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /* TableStyle: Stores (and writes) table-based information that is
3 : * needed at the head of an OO document.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * For further information visit http://libwpd.sourceforge.net
10 : */
11 :
12 : /* "This product is not manufactured, approved, or supported by
13 : * Corel Corporation or Corel Corporation Limited."
14 : */
15 : #ifndef _TABLESTYLE_H
16 : #define _TABLESTYLE_H
17 : #include <libwpd/libwpd.h>
18 : #include <vector>
19 :
20 : #include "Style.hxx"
21 :
22 : class OdfDocumentHandler;
23 :
24 : class TableCellStyle : public Style
25 : {
26 : public:
27 0 : virtual ~TableCellStyle() {};
28 : TableCellStyle(const WPXPropertyList &xPropList, const char *psName);
29 : virtual void write(OdfDocumentHandler *pHandler) const;
30 : private:
31 : WPXPropertyList mPropList;
32 : };
33 :
34 : class TableRowStyle : public Style
35 : {
36 : public:
37 0 : virtual ~TableRowStyle() {};
38 : TableRowStyle(const WPXPropertyList &propList, const char *psName);
39 : virtual void write(OdfDocumentHandler *pHandler) const;
40 : private:
41 : WPXPropertyList mPropList;
42 : };
43 :
44 : class TableStyle : public Style, public TopLevelElementStyle
45 : {
46 : public:
47 : TableStyle(const WPXPropertyList &xPropList, const WPXPropertyListVector &columns, const char *psName);
48 : virtual ~TableStyle();
49 : virtual void write(OdfDocumentHandler *pHandler) const;
50 0 : int getNumColumns() const
51 : {
52 0 : return mColumns.count();
53 : }
54 0 : void addTableCellStyle(TableCellStyle *pTableCellStyle)
55 : {
56 0 : mTableCellStyles.push_back(pTableCellStyle);
57 0 : }
58 0 : int getNumTableCellStyles()
59 : {
60 0 : return mTableCellStyles.size();
61 : }
62 0 : void addTableRowStyle(TableRowStyle *pTableRowStyle)
63 : {
64 0 : mTableRowStyles.push_back(pTableRowStyle);
65 0 : }
66 0 : int getNumTableRowStyles()
67 : {
68 0 : return mTableRowStyles.size();
69 : }
70 : private:
71 : WPXPropertyList mPropList;
72 : WPXPropertyListVector mColumns;
73 : std::vector<TableCellStyle *> mTableCellStyles;
74 : std::vector<TableRowStyle *> mTableRowStyles;
75 : };
76 : #endif
77 :
78 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|