VSDOutputElementList.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 libvisio 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 __VSDOUTPUTELEMENTLIST_H__
11 #define __VSDOUTPUTELEMENTLIST_H__
12
13 #include <map>
14 #include <memory>
15 #include <list>
16 #include <vector>
17 #include <librevenge/librevenge.h>
18
19 namespace libvisio
20 {
21
22 class VSDOutputElement;
23
24 class VSDOutputElementList
25 {
26 public:
27 VSDOutputElementList();
28 VSDOutputElementList(const VSDOutputElementList &elementList);
29 VSDOutputElementList &operator=(const VSDOutputElementList &elementList);
30 ~VSDOutputElementList();
31 void append(const VSDOutputElementList &elementList);
32 void draw(librevenge::RVNGDrawingInterface *painter) const;
33 void addStyle(const librevenge::RVNGPropertyList &propList);
34 void addPath(const librevenge::RVNGPropertyList &propList);
35 void addGraphicObject(const librevenge::RVNGPropertyList &propList);
36 void addStartTextObject(const librevenge::RVNGPropertyList &propList);
37 void addEndTextObject();
38 void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList);
39 void addCloseUnorderedListLevel();
40 void addOpenListElement(const librevenge::RVNGPropertyList &propList);
41 void addCloseListElement();
42 void addOpenParagraph(const librevenge::RVNGPropertyList &propList);
43 void addCloseParagraph();
44 void addOpenSpan(const librevenge::RVNGPropertyList &propList);
45 void addCloseSpan();
46 void addInsertText(const librevenge::RVNGString &text);
47 void addInsertLineBreak();
48 void addInsertTab();
49 void addStartLayer(const librevenge::RVNGPropertyList &propList);
50 void addEndLayer();
51 bool empty() const
52 {
53 return m_elements.empty();
54 }
55 private:
56 std::vector<std::unique_ptr<VSDOutputElement>> m_elements;
57 };
58
59
60 } // namespace libvisio
61
62 #endif // __VSDOUTPUTELEMENTLIST_H__
63 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VSDCloseParagraphOutputElement::~VSDCloseParagraphOutputElement
~VSDCloseParagraphOutputElement() override
Definition: VSDOutputElementList.cpp:246
libvisio::VSDOpenSpanOutputElement::~VSDOpenSpanOutputElement
~VSDOpenSpanOutputElement() override
Definition: VSDOutputElementList.cpp:177
libvisio::VSDOutputElementList::addInsertLineBreak
void addInsertLineBreak()
Definition: VSDOutputElementList.cpp:569
libvisio::VSDStartLayerOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:377
libvisio::VSDOutputElementList::operator=
VSDOutputElementList & operator=(const VSDOutputElementList &elementList)
Definition: VSDOutputElementList.cpp:505
libvisio::VSDInsertTextOutputElement::VSDInsertTextOutputElement
VSDInsertTextOutputElement(const librevenge::RVNGString &text)
Definition: VSDOutputElementList.cpp:403
libvisio::VSDOutputElement
Definition: VSDOutputElementList.cpp:60
libvisio::VSDOpenUnorderedListLevelOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:477
libvisio::VSDOutputElementList::addEndLayer
void addEndLayer()
Definition: VSDOutputElementList.cpp:599
libvisio::VSDOpenListElementOutputElement::~VSDOpenListElementOutputElement
~VSDOpenListElementOutputElement() override
Definition: VSDOutputElementList.cpp:271
libvisio::VSDStartLayerOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:151
libvisio::VSDInsertTextOutputElement
Definition: VSDOutputElementList.cpp:188
libvisio::VSDOutputElementList::append
void append(const VSDOutputElementList &elementList)
Definition: VSDOutputElementList.cpp:518
libvisio::VSDStartTextObjectOutputElement
Definition: VSDOutputElementList.cpp:115
libvisio::VSDOpenSpanOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:367
libvisio::VSDPathOutputElement
Definition: VSDOutputElementList.cpp:85
libvisio::VSDOutputElementList::addOpenParagraph
void addOpenParagraph(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:554
libvisio::VSDInsertTextOutputElement::~VSDInsertTextOutputElement
~VSDInsertTextOutputElement() override
Definition: VSDOutputElementList.cpp:192
libvisio::VSDOutputElementList::addCloseUnorderedListLevel
void addCloseUnorderedListLevel()
Definition: VSDOutputElementList.cpp:619
libvisio::VSDEndTextObjectOutputElement
Definition: VSDOutputElementList.cpp:255
libvisio::VSDCloseListElementOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:288
libvisio::VSDPathOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:91
libvisio::VSDOutputElementList::addInsertText
void addInsertText(const librevenge::RVNGString &text)
Definition: VSDOutputElementList.cpp:564
libvisio::VSDStartTextObjectOutputElement::VSDStartTextObjectOutputElement
VSDStartTextObjectOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:355
libvisio::VSDCloseSpanOutputElement::VSDCloseSpanOutputElement
VSDCloseSpanOutputElement()
Definition: VSDOutputElementList.cpp:428
libvisio::VSDOpenUnorderedListLevelOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:306
libvisio::VSDEndLayerOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:386
libvisio::VSDCloseParagraphOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:439
libvisio::VSDGraphicObjectOutputElement::VSDGraphicObjectOutputElement
VSDGraphicObjectOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:345
libvisio::VSDCloseParagraphOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:248
libvisio::VSDOpenUnorderedListLevelOutputElement::VSDOpenUnorderedListLevelOutputElement
VSDOpenUnorderedListLevelOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:474
libvisio::VSDCloseListElementOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:467
libvisio::VSDOutputElementList::addCloseSpan
void addCloseSpan()
Definition: VSDOutputElementList.cpp:579
libvisio::VSDCloseListElementOutputElement::~VSDCloseListElementOutputElement
~VSDCloseListElementOutputElement() override
Definition: VSDOutputElementList.cpp:286
libvisio::VSDInsertTextOutputElement::m_text
librevenge::RVNGString m_text
Definition: VSDOutputElementList.cpp:199
libvisio::VSDOutputElementList::addOpenUnorderedListLevel
void addOpenUnorderedListLevel(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:609
libvisio::VSDPathOutputElement::VSDPathOutputElement
VSDPathOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:335
libvisio::clone
std::unique_ptr< T > clone(const std::unique_ptr< T > &other)
Definition: libvisio_utils.h:65
libvisio::VSDCloseUnorderedListLevelOutputElement::~VSDCloseUnorderedListLevelOutputElement
~VSDCloseUnorderedListLevelOutputElement() override
Definition: VSDOutputElementList.cpp:314
libvisio::VSDInsertTabOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:422
libvisio::VSDInsertTabOutputElement::~VSDInsertTabOutputElement
~VSDInsertTabOutputElement() override
Definition: VSDOutputElementList.cpp:220
libvisio::VSDEndTextObjectOutputElement::VSDEndTextObjectOutputElement
VSDEndTextObjectOutputElement()
Definition: VSDOutputElementList.cpp:446
libvisio::VSDInsertLineBreakOutputElement
Definition: VSDOutputElementList.cpp:203
libvisio::VSDPathOutputElement::~VSDPathOutputElement
~VSDPathOutputElement() override
Definition: VSDOutputElementList.cpp:89
libvisio::VSDOutputElementList::addStyle
void addStyle(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:534
libvisio::VSDStyleOutputElement
Definition: VSDOutputElementList.cpp:70
libvisio::VSDOutputElementList::addCloseListElement
void addCloseListElement()
Definition: VSDOutputElementList.cpp:614
libvisio::VSDEndTextObjectOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:261
libvisio::VSDOpenListElementOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:273
libvisio::VSDCloseParagraphOutputElement::VSDCloseParagraphOutputElement
VSDCloseParagraphOutputElement()
Definition: VSDOutputElementList.cpp:437
libvisio::VSDStyleOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:328
libvisio::VSDCloseSpanOutputElement
Definition: VSDOutputElementList.cpp:229
libvisio::VSDOutputElementList::addGraphicObject
void addGraphicObject(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:544
libvisio::VSDEndTextObjectOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:448
libvisio::VSDStyleOutputElement::~VSDStyleOutputElement
~VSDStyleOutputElement() override
Definition: VSDOutputElementList.cpp:74
libvisio::VSDOutputElementList::~VSDOutputElementList
~VSDOutputElementList()
Definition: VSDOutputElementList.cpp:524
libvisio::VSDOutputElementList::addOpenListElement
void addOpenListElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:604
libvisio::VSDCloseUnorderedListLevelOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:316
libvisio::VSDStartLayerOutputElement
Definition: VSDOutputElementList.cpp:145
libvisio::VSDOpenListElementOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:458
libvisio::VSDStartLayerOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:156
libvisio::VSDInsertTextOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:406
libvisio::VSDOpenParagraphOutputElement
Definition: VSDOutputElementList.cpp:130
libvisio::VSDOpenSpanOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:179
libvisio::VSDEndTextObjectOutputElement::~VSDEndTextObjectOutputElement
~VSDEndTextObjectOutputElement() override
Definition: VSDOutputElementList.cpp:259
libvisio::VSDStyleOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:76
libvisio::VSDOutputElementList::addCloseParagraph
void addCloseParagraph()
Definition: VSDOutputElementList.cpp:584
libvisio::VSDOpenListElementOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:278
libvisio::VSDStyleOutputElement::VSDStyleOutputElement
VSDStyleOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:325
libvisio::VSDCloseSpanOutputElement::~VSDCloseSpanOutputElement
~VSDCloseSpanOutputElement() override
Definition: VSDOutputElementList.cpp:233
libvisio::VSDInsertTabOutputElement::VSDInsertTabOutputElement
VSDInsertTabOutputElement()
Definition: VSDOutputElementList.cpp:420
libvisio::VSDEndLayerOutputElement::VSDEndLayerOutputElement
VSDEndLayerOutputElement()
Definition: VSDOutputElementList.cpp:384
libvisio::VSDInsertTextOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:194
libvisio::VSDOpenListElementOutputElement
Definition: VSDOutputElementList.cpp:267
libvisio::VSDGraphicObjectOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:348
libvisio::VSDOutputElementList::addOpenSpan
void addOpenSpan(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:559
libvisio::VSDOutputElement::draw
virtual void draw(librevenge::RVNGDrawingInterface *painter)=0
libvisio::VSDInsertTabOutputElement
Definition: VSDOutputElementList.cpp:216
libvisio::VSDEndLayerOutputElement::~VSDEndLayerOutputElement
~VSDEndLayerOutputElement() override
Definition: VSDOutputElementList.cpp:164
libvisio::VSDStartTextObjectOutputElement::~VSDStartTextObjectOutputElement
~VSDStartTextObjectOutputElement() override
Definition: VSDOutputElementList.cpp:119
libvisio::VSDOutputElement::~VSDOutputElement
virtual ~VSDOutputElement()
Definition: VSDOutputElementList.cpp:64
libvisio::VSDCloseSpanOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:235
libvisio::VSDEndLayerOutputElement
Definition: VSDOutputElementList.cpp:160
libvisio::VSDCloseListElementOutputElement::VSDCloseListElementOutputElement
VSDCloseListElementOutputElement()
Definition: VSDOutputElementList.cpp:465
libvisio::VSDOpenParagraphOutputElement::~VSDOpenParagraphOutputElement
~VSDOpenParagraphOutputElement() override
Definition: VSDOutputElementList.cpp:134
libvisio::VSDPathOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:96
libvisio::VSDOutputElementList::empty
bool empty() const
Definition: VSDOutputElementList.h:51
libvisio::VSDStyleOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:81
libvisio::VSDOutputElementList::addPath
void addPath(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:539
libvisio::VSDOutputElementList::m_elements
std::vector< std::unique_ptr< VSDOutputElement > > m_elements
Definition: VSDOutputElementList.h:56
libvisio::VSDOutputElement::clone
virtual VSDOutputElement * clone()=0
libvisio::VSDOpenParagraphOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:396
libvisio::VSDCloseUnorderedListLevelOutputElement::VSDCloseUnorderedListLevelOutputElement
VSDCloseUnorderedListLevelOutputElement()
Definition: VSDOutputElementList.cpp:484
libvisio::VSDOutputElementList::draw
void draw(librevenge::RVNGDrawingInterface *painter) const
Definition: VSDOutputElementList.cpp:528
libvisio::VSDCloseParagraphOutputElement
Definition: VSDOutputElementList.cpp:242
libvisio::VSDOutputElementList::addEndTextObject
void addEndTextObject()
Definition: VSDOutputElementList.cpp:589
VSDOutputElementList.h
libvisio::VSDGraphicObjectOutputElement::~VSDGraphicObjectOutputElement
~VSDGraphicObjectOutputElement() override
Definition: VSDOutputElementList.cpp:104
libvisio::VSDInsertLineBreakOutputElement::~VSDInsertLineBreakOutputElement
~VSDInsertLineBreakOutputElement() override
Definition: VSDOutputElementList.cpp:207
libvisio::VSDOutputElementList::addInsertTab
void addInsertTab()
Definition: VSDOutputElementList.cpp:574
libvisio::VSDOutputElement::VSDOutputElement
VSDOutputElement()
Definition: VSDOutputElementList.cpp:63
libvisio::VSDStartTextObjectOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:126
libvisio::VSDOutputElementList
Definition: VSDOutputElementList.h:24
libvisio::VSDCloseListElementOutputElement
Definition: VSDOutputElementList.cpp:282
libvisio::VSDOutputElementList::VSDOutputElementList
VSDOutputElementList()
Definition: VSDOutputElementList.cpp:493
libvisio::VSDOpenUnorderedListLevelOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:301
libvisio::VSDInsertTabOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:222
libvisio::VSDGraphicObjectOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:106
libvisio::VSDOpenSpanOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:184
libvisio::VSDCloseUnorderedListLevelOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:486
libvisio::VSDOpenParagraphOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:141
libvisio::VSDOpenSpanOutputElement::VSDOpenSpanOutputElement
VSDOpenSpanOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:364
libvisio::VSDStartLayerOutputElement::VSDStartLayerOutputElement
VSDStartLayerOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:374
libvisio::VSDOutputElementList::addStartLayer
void addStartLayer(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:594
libvisio::VSDGraphicObjectOutputElement::m_propList
librevenge::RVNGPropertyList m_propList
Definition: VSDOutputElementList.cpp:111
libvisio::VSDInsertLineBreakOutputElement::VSDInsertLineBreakOutputElement
VSDInsertLineBreakOutputElement()
Definition: VSDOutputElementList.cpp:412
libvisio::VSDCloseSpanOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:430
libvisio::VSDOpenParagraphOutputElement::VSDOpenParagraphOutputElement
VSDOpenParagraphOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:393
libvisio::VSDInsertLineBreakOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:414
libvisio::VSDOpenSpanOutputElement
Definition: VSDOutputElementList.cpp:173
libvisio_utils.h
libvisio::VSDOpenParagraphOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:136
libvisio::VSDEndLayerOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:166
libvisio::VSDStartTextObjectOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:121
libvisio::VSDInsertLineBreakOutputElement::clone
VSDOutputElement * clone() override
Definition: VSDOutputElementList.cpp:209
libvisio::VSDPathOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:338
libvisio::VSDOpenUnorderedListLevelOutputElement
Definition: VSDOutputElementList.cpp:295
libvisio::VSDOutputElementList::addStartTextObject
void addStartTextObject(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:549
libvisio::VSDOpenUnorderedListLevelOutputElement::~VSDOpenUnorderedListLevelOutputElement
~VSDOpenUnorderedListLevelOutputElement() override
Definition: VSDOutputElementList.cpp:299
libvisio::VSDStartLayerOutputElement::~VSDStartLayerOutputElement
~VSDStartLayerOutputElement() override
Definition: VSDOutputElementList.cpp:149
libvisio
Definition: libvisio_utils.h:48
libvisio::VSDStartTextObjectOutputElement::draw
void draw(librevenge::RVNGDrawingInterface *painter) override
Definition: VSDOutputElementList.cpp:358
libvisio::VSDGraphicObjectOutputElement
Definition: VSDOutputElementList.cpp:100
libvisio::VSDOpenListElementOutputElement::VSDOpenListElementOutputElement
VSDOpenListElementOutputElement(const librevenge::RVNGPropertyList &propList)
Definition: VSDOutputElementList.cpp:455
libvisio::VSDCloseUnorderedListLevelOutputElement
Definition: VSDOutputElementList.cpp:310