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:
23 explicit NUMCollector(IWORKDocumentInterface *document);
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;
39private:
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
49 bool m_workSpaceOpened;
50 boost::optional<std::string> m_workSpaceName;
51 bool m_workSpaceCreateGraphic;
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: */
IWORKCollector.h
libetonyek::IWORKCollector::IWORKCollector
IWORKCollector(IWORKDocumentInterface *document)
Definition IWORKCollector.cpp:191
libetonyek::IWORKDocumentInterface
Definition IWORKDocumentInterface.h:19
libetonyek::NUMCollector::endDocument
void endDocument()
Definition NUMCollector.cpp:42
libetonyek::NUMCollector::createFrameStylesForTextBox
bool createFrameStylesForTextBox() const final
Definition NUMCollector.h:43
libetonyek::NUMCollector::m_workSpaceName
boost::optional< std::string > m_workSpaceName
Definition NUMCollector.h:50
libetonyek::NUMCollector::endWorkSpace
void endWorkSpace(IWORKTableNameMapPtr_t tableNameMap)
Definition NUMCollector.cpp:66
libetonyek::NUMCollector::drawTable
void drawTable() final
Definition NUMCollector.cpp:132
libetonyek::NUMCollector::getWorkSpaceName
boost::optional< std::string > getWorkSpaceName() const final
Definition NUMCollector.h:33
libetonyek::NUMCollector::collectStickyNote
void collectStickyNote() final
Definition NUMCollector.cpp:177
libetonyek::NUMCollector::m_tableElementLists
std::vector< IWORKOutputElements > m_tableElementLists
Definition NUMCollector.h:52
libetonyek::NUMCollector::startWorkSpace
void startWorkSpace(boost::optional< std::string > const &name)
Definition NUMCollector.cpp:52
libetonyek::NUMCollector::fillShapeProperties
void fillShapeProperties(librevenge::RVNGPropertyList &props) final
Definition NUMCollector.cpp:172
libetonyek::NUMCollector::NUMCollector
NUMCollector(IWORKDocumentInterface *document)
Definition NUMCollector.cpp:21
libetonyek::NUMCollector::startDocument
void startDocument()
Definition NUMCollector.cpp:30
libetonyek::NUMCollector::m_workSpaceOpened
bool m_workSpaceOpened
Definition NUMCollector.h:49
libetonyek::NUMCollector::drawMedia
void drawMedia(double x, double y, const librevenge::RVNGPropertyList &data) final
Definition NUMCollector.cpp:147
libetonyek::NUMCollector::drawTextBox
void drawTextBox(const IWORKTextPtr_t &text, const glm::dmat3 &trafo, const IWORKGeometryPtr_t &boundingBox, const librevenge::RVNGPropertyList &style) final
Definition NUMCollector.cpp:192
libetonyek::NUMCollector::m_workSpaceCreateGraphic
bool m_workSpaceCreateGraphic
Definition NUMCollector.h:51
libetonyek::IWORKToken::y
@ y
Definition IWORKToken.h:643
libetonyek::IWORKToken::text
@ text
Definition IWORKToken.h:472
libetonyek::IWORKToken::data
@ data
Definition IWORKToken.h:178
libetonyek::IWORKToken::x
@ x
Definition IWORKToken.h:641
libetonyek::IWORKToken::style
@ style
Definition IWORKToken.h:421
libetonyek::IWORKToken::name
@ name
Definition IWORKToken.h:585
libetonyek::NUM1Token::document
@ document
Definition NUM1Token.h:34
libetonyek
Definition IWORKBezierElement.cpp:21
libetonyek::IWORKTextPtr_t
std::shared_ptr< IWORKText > IWORKTextPtr_t
Definition IWORKText_fwd.h:22
libetonyek::IWORKGeometryPtr_t
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition IWORKTypes_fwd.h:45
libetonyek::IWORKTableNameMapPtr_t
std::shared_ptr< IWORKTableNameMap_t > IWORKTableNameMapPtr_t
Definition IWORKTypes_fwd.h:36