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 
20 class NUMCollector final : public IWORKCollector
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  boost::optional<std::string> getWorkSpaceName() const final
34  {
35  return m_workSpaceName;
36  }
37 
38  void collectStickyNote() final;
39 private:
40  void drawTable() final;
41  void drawMedia(double x, double y, const librevenge::RVNGPropertyList &data) final;
42  void fillShapeProperties(librevenge::RVNGPropertyList &props) final;
43  bool createFrameStylesForTextBox() const final
44  {
45  return true;
46  }
47  void drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &trafo, const IWORKGeometryPtr_t &boundingBox, const librevenge::RVNGPropertyList &style) final;
48 
50  boost::optional<std::string> m_workSpaceName;
52  std::vector<IWORKOutputElements> m_tableElementLists;
53 };
54 
55 } // namespace libetonyek
56 
57 #endif // NUMCOLLECTOR_H_INCLUDED
58 
59 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:43
Definition: IWORKBezierElement.cpp:20
void endDocument()
Definition: NUMCollector.cpp:42
boost::optional< std::string > getWorkSpaceName() const final
Definition: NUMCollector.h:33
void drawMedia(double x, double y, const librevenge::RVNGPropertyList &data) final
Definition: NUMCollector.cpp:147
void startDocument()
Definition: NUMCollector.cpp:30
double y
Definition: IWORKShape.cpp:48
Definition: NUMCollector.h:20
Definition: IWORKToken.h:472
Definition: IWORKDocumentInterface.h:18
double x
Definition: IWORKShape.cpp:47
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:51
void drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &trafo, const IWORKGeometryPtr_t &boundingBox, const librevenge::RVNGPropertyList &style) final
Definition: NUMCollector.cpp:192
std::shared_ptr< IWORKText > IWORKTextPtr_t
Definition: IWORKText_fwd.h:20
NUMCollector(IWORKDocumentInterface *document)
Definition: NUMCollector.cpp:21
bool m_workSpaceOpened
Definition: NUMCollector.h:49
std::shared_ptr< IWORKTableNameMap_t > IWORKTableNameMapPtr_t
Definition: IWORKTypes_fwd.h:36
Definition: IWORKToken.h:178
Definition: NUM1Token.h:34
void startWorkSpace(boost::optional< std::string > const &name)
Definition: NUMCollector.cpp:52
void collectStickyNote() final
Definition: NUMCollector.cpp:177
boost::optional< std::string > m_workSpaceName
Definition: NUMCollector.h:50
std::vector< IWORKOutputElements > m_tableElementLists
Definition: NUMCollector.h:52
void fillShapeProperties(librevenge::RVNGPropertyList &props) final
Definition: NUMCollector.cpp:172
bool createFrameStylesForTextBox() const final
Definition: NUMCollector.h:43
void drawTable() final
Definition: NUMCollector.cpp:132

Generated for libetonyek by doxygen 1.8.10