NUMCollector.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libetonyek project.
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 
10 #ifndef NUMCOLLECTOR_H_INCLUDED
11 #define NUMCOLLECTOR_H_INCLUDED
12 
13 #include "IWORKCollector.h"
14 
15 namespace libetonyek
16 {
17 
18 class IWORKDocumentInterface;
19 
21 {
22 public:
24 
25  // collector functions
26 
27  // helper functions
28  void startDocument();
29  void endDocument();
30 
31  void startWorkSpace(boost::optional<std::string> const &name);
32  void endWorkSpace(IWORKTableNameMapPtr_t tableNameMap);
33 
34  void collectStickyNote() override;
35 private:
36  void drawTable() override;
37  void drawMedia(double x, double y, const librevenge::RVNGPropertyList &data) override;
38  void fillShapeProperties(librevenge::RVNGPropertyList &props) override;
39  bool createFrameStylesForTextBox() const override
40  {
41  return true;
42  }
43  void drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &trafo, const IWORKGeometryPtr_t &boundingBox, const librevenge::RVNGPropertyList &style) override;
44 
46  boost::optional<std::string> m_workSpaceName;
48  std::vector<IWORKOutputElements> m_tableElementLists;
49 };
50 
51 } // namespace libetonyek
52 
53 #endif // NUMCOLLECTOR_H_INCLUDED
54 
55 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:41
void endDocument()
Definition: NUMCollector.cpp:42
void collectStickyNote() override
Definition: NUMCollector.cpp:176
void startDocument()
Definition: NUMCollector.cpp:30
double y
Definition: IWORKShape.cpp:47
Definition: NUMCollector.h:20
void fillShapeProperties(librevenge::RVNGPropertyList &props) override
Definition: NUMCollector.cpp:171
Definition: IWORKToken.h:472
Definition: IWORKDocumentInterface.h:18
double x
Definition: IWORKShape.cpp:46
void endWorkSpace(IWORKTableNameMapPtr_t tableNameMap)
Definition: NUMCollector.cpp:66
Definition: IWORKToken.h:421
Definition: IWORKCollector.h:41
const char * name
Definition: IWORKToken.cpp:43
bool m_workSpaceCreateGraphic
Definition: NUMCollector.h:47
std::shared_ptr< IWORKText > IWORKTextPtr_t
Definition: IWORKText_fwd.h:20
void drawMedia(double x, double y, const librevenge::RVNGPropertyList &data) override
Definition: NUMCollector.cpp:146
void drawTable() override
Definition: NUMCollector.cpp:131
NUMCollector(IWORKDocumentInterface *document)
Definition: NUMCollector.cpp:21
void drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &trafo, const IWORKGeometryPtr_t &boundingBox, const librevenge::RVNGPropertyList &style) override
Definition: NUMCollector.cpp:191
bool m_workSpaceOpened
Definition: NUMCollector.h:45
std::shared_ptr< IWORKTableNameMap_t > IWORKTableNameMapPtr_t
Definition: IWORKTypes_fwd.h:34
Definition: IWORKToken.h:178
bool createFrameStylesForTextBox() const override
Definition: NUMCollector.h:39
Definition: NUM1Token.h:34
void startWorkSpace(boost::optional< std::string > const &name)
Definition: NUMCollector.cpp:52
boost::optional< std::string > m_workSpaceName
Definition: NUMCollector.h:46
std::vector< IWORKOutputElements > m_tableElementLists
Definition: NUMCollector.h:48

Generated for libetonyek by doxygen 1.8.6