- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

KEYContentCollector.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 KEYCONTENTCOLLECTOR_H_INCLUDED
11 #define KEYCONTENTCOLLECTOR_H_INCLUDED
12
13 #include "KEYCollectorBase.h"
14 #include "KEYTypes.h"
15
16 namespace libetonyek
17 {
18
19 struct KEYDictionary;
20
21 class KEYContentCollector : public KEYCollectorBase
22 {
23 // disable copying
24 KEYContentCollector(const KEYContentCollector &other);
25 KEYContentCollector &operator=(const KEYContentCollector &other);
26
27 public:
28 KEYContentCollector(librevenge::RVNGPresentationInterface *painter, KEYDictionary &dict, const KEYLayerMap_t &masterPages, const KEYSize &size, const KEYDefaults &defaults);
29 virtual ~KEYContentCollector();
30
31 // collector functions
32
33 virtual void collectPresentation(const boost::optional<KEYSize> &size);
34
35 virtual void collectLayer(const boost::optional<ID_t> &id, bool ref);
36 virtual void collectPage(const boost::optional<ID_t> &id);
37
38 virtual void startSlides();
39 virtual void endSlides();
40 virtual void startThemes();
41 virtual void endThemes();
42
43 virtual void startPage();
44 virtual void endPage();
45 virtual void startLayer();
46 virtual void endLayer();
47
48 private:
49 // helper functions
50
51 void resolveStyle(KEYStyle &style);
52
53 void drawLayer(const KEYLayerPtr_t &layer);
54 void drawNotes(const KEYObjectList_t &notes);
55 void drawStickyNotes(const KEYStickyNotes_t &stickyNotes);
56
57 private:
58 librevenge::RVNGPresentationInterface *m_painter;
59
60 const KEYLayerMap_t &m_masterPages;
61 const KEYSize m_size;
62
63 bool m_pageOpened;
64 bool m_layerOpened;
65
66 int m_layerCount;
67 };
68
69 } // namespace libetonyek
70
71 #endif // KEYCONTENTCOLLECTOR_H_INCLUDED
72
73 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libetonyek::KEYStickyNotes_t
std::deque< KEYStickyNote > KEYStickyNotes_t
Definition: KEYTypes.h:184
libetonyek::KEYContentCollector
Definition: KEYContentCollector.h:21
KEYTypes.h
libetonyek::KEYContentCollector::drawStickyNotes
void drawStickyNotes(const KEYStickyNotes_t &stickyNotes)
Definition: KEYContentCollector.cpp:201
libetonyek::KEYLayerMap_t
boost::unordered_map< ID_t, KEYLayerPtr_t > KEYLayerMap_t
Definition: KEYTypes_fwd.h:63
libetonyek::KEYContentCollector::m_layerOpened
bool m_layerOpened
Definition: KEYContentCollector.h:64
libetonyek::KEYContentCollector::m_layerCount
int m_layerCount
Definition: KEYContentCollector.h:66
libetonyek::KEYContentCollector::endSlides
virtual void endSlides()
Definition: KEYContentCollector.cpp:89
libetonyek::KEYContentCollector::endThemes
virtual void endThemes()
Definition: KEYContentCollector.cpp:98
libetonyek::KEYCollectorBase
Implementation of common parts of styles and content collector.
Definition: KEYCollectorBase.h:32
libetonyek::KEY2Token::style
Definition: KEY2Token.h:796
libetonyek::KEYContentCollector::drawLayer
void drawLayer(const KEYLayerPtr_t &layer)
Definition: KEYContentCollector.cpp:172
libetonyek::KEYContentCollector::m_painter
librevenge::RVNGPresentationInterface * m_painter
Definition: KEYContentCollector.h:58
libetonyek::KEYContentCollector::drawNotes
void drawNotes(const KEYObjectList_t &notes)
Definition: KEYContentCollector.cpp:187
KEYCollectorBase.h
libetonyek::KEYContentCollector::m_masterPages
const KEYLayerMap_t & m_masterPages
Definition: KEYContentCollector.h:60
libetonyek::KEYSize
Definition: KEYTypes.h:27
libetonyek::KEYContentCollector::resolveStyle
void resolveStyle(KEYStyle &style)
Definition: KEYContentCollector.cpp:102
libetonyek::KEYContentCollector::startPage
virtual void startPage()
Definition: KEYContentCollector.cpp:108
libetonyek::KEY1Token::dict
Definition: KEY1Token.h:42
libetonyek::KEYDictionary
A dictionary of all referenceable entities in the presentation.
Definition: KEYDictionary.h:35
libetonyek::KEY1Token::size
Definition: KEY1Token.h:72
libetonyek::KEYContentCollector::startSlides
virtual void startSlides()
Definition: KEYContentCollector.cpp:84
libetonyek::KEY2Token::notes
Definition: KEY2Token.h:326
libetonyek::KEYContentCollector::operator=
KEYContentCollector & operator=(const KEYContentCollector &other)
libetonyek::KEY2Token::layer
Definition: KEY2Token.h:270
libetonyek::KEYContentCollector::collectPage
virtual void collectPage(const boost::optional< ID_t > &id)
Definition: KEYContentCollector.cpp:73
libetonyek::KEYContentCollector::KEYContentCollector
KEYContentCollector(const KEYContentCollector &other)
libetonyek::KEYContentCollector::~KEYContentCollector
virtual ~KEYContentCollector()
Definition: KEYContentCollector.cpp:38
libetonyek::KEYContentCollector::m_size
const KEYSize m_size
Definition: KEYContentCollector.h:61
libetonyek::KEYContentCollector::m_pageOpened
bool m_pageOpened
Definition: KEYContentCollector.h:63
libetonyek::KEYContentCollector::endPage
virtual void endPage()
Definition: KEYContentCollector.cpp:126
libetonyek::KEYContentCollector::collectPresentation
virtual void collectPresentation(const boost::optional< KEYSize > &size)
Definition: KEYContentCollector.cpp:46
libetonyek::KEYContentCollector::startLayer
virtual void startLayer()
Definition: KEYContentCollector.cpp:139
libetonyek::KEYContentCollector::startThemes
virtual void startThemes()
Definition: KEYContentCollector.cpp:94
libetonyek::KEYStyle
Represents a hierarchical style.
Definition: KEYStyle.h:26
libetonyek::KEYDefaults
A representation of default values for various parts of the format.
Definition: KEYDefaults.h:30
libetonyek::KEYObjectList_t
std::deque< KEYObjectPtr_t > KEYObjectList_t
A list of presentation objects.
Definition: KEYObject.h:48
libetonyek::KEYContentCollector::collectLayer
virtual void collectLayer(const boost::optional< ID_t > &id, bool ref)
Definition: KEYContentCollector.cpp:50
libetonyek::KEYContentCollector::endLayer
virtual void endLayer()
Definition: KEYContentCollector.cpp:158
libetonyek::KEYLayerPtr_t
boost::shared_ptr< KEYLayer > KEYLayerPtr_t
Definition: KEYTypes_fwd.h:60