- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

VSDCharacterList.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* libvisio
3 * Version: MPL 1.1 / GPLv2+ / LGPLv2+
4 *
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License or as specified alternatively below. You may obtain a copy of
8 * the License at http://www.mozilla.org/MPL/
9 *
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
14 *
15 * Major Contributor(s):
16 * Copyright (C) 2011 Fridrich Strba <fridrich.strba@bluewin.ch>
17 * Copyright (C) 2011 Eilidh McAdam <tibbylickle@gmail.com>
18 *
19 *
20 * All Rights Reserved.
21 *
22 * For minor contributions see the git repository.
23 *
24 * Alternatively, the contents of this file may be used under the terms of
25 * either the GNU General Public License Version 2 or later (the "GPLv2+"), or
26 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
27 * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
28 * instead of those above.
29 */
30
31 #ifndef __VSDCHARACTERLIST_H__
32 #define __VSDCHARACTERLIST_H__
33
34 #include <vector>
35 #include <map>
36 #include "VSDTypes.h"
37 #include "VSDStyles.h"
38
39 namespace libvisio
40 {
41
42 class VSDCharacterListElement;
43 class VSDCollector;
44
45 class VSDCharacterList
46 {
47 public:
48 VSDCharacterList();
49 VSDCharacterList(const VSDCharacterList &charList);
50 ~VSDCharacterList();
51 VSDCharacterList &operator=(const VSDCharacterList &charList);
52 void addCharIX(unsigned id, unsigned level, unsigned charCount, const boost::optional<VSDName> &font,
53 const boost::optional<Colour> &fontColour, const boost::optional<double> &fontSize, const boost::optional<bool> &bold,
54 const boost::optional<bool> &italic, const boost::optional<bool> &underline, const boost::optional<bool> &doubleunderline,
55 const boost::optional<bool> &strikeout, const boost::optional<bool> &doublestrikeout, const boost::optional<bool> &allcaps,
56 const boost::optional<bool> &initcaps, const boost::optional<bool> &smallcaps, const boost::optional<bool> &superscript,
57 const boost::optional<bool> &subscript);
58 void addCharIX(unsigned id, unsigned level, const VSDOptionalCharStyle &style);
59 unsigned getCharCount(unsigned id) const;
60 void setCharCount(unsigned id, unsigned charCount);
61 void resetCharCount();
62 unsigned getLevel() const;
63
64 void setElementsOrder(const std::vector<unsigned> &m_elementsOrder);
65 void handle(VSDCollector *collector) const;
66 void clear();
67 bool empty() const
68 {
69 return (m_elements.empty());
70 }
71 private:
72 std::map<unsigned, VSDCharacterListElement *> m_elements;
73 std::vector<unsigned> m_elementsOrder;
74 };
75
76 } // namespace libvisio
77
78 #endif // __VSDCHARACTERLIST_H__
79 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VSDCharacterList::VSDCharacterList
VSDCharacterList()
Definition: VSDCharacterList.cpp:96
libvisio::VSDCharacterList::~VSDCharacterList
~VSDCharacterList()
Definition: VSDCharacterList.cpp:121
libvisio::VSDCharacterList::empty
bool empty() const
Definition: VSDCharacterList.h:67
libvisio::VSDCharacterList::addCharIX
void addCharIX(unsigned id, unsigned level, unsigned charCount, const boost::optional< VSDName > &font, const boost::optional< Colour > &fontColour, const boost::optional< double > &fontSize, const boost::optional< bool > &bold, const boost::optional< bool > &italic, const boost::optional< bool > &underline, const boost::optional< bool > &doubleunderline, const boost::optional< bool > &strikeout, const boost::optional< bool > &doublestrikeout, const boost::optional< bool > &allcaps, const boost::optional< bool > &initcaps, const boost::optional< bool > &smallcaps, const boost::optional< bool > &superscript, const boost::optional< bool > &subscript)
Definition: VSDCharacterList.cpp:126
libvisio::VSDCharacterList::resetCharCount
void resetCharCount()
Definition: VSDCharacterList.cpp:170
libvisio::VSDCollector
Definition: VSDCollector.h:41
libvisio::VSDCharacterList::getCharCount
unsigned getCharCount(unsigned id) const
Definition: VSDCharacterList.cpp:154
libvisio::VSDCharacterList::m_elementsOrder
std::vector< unsigned > m_elementsOrder
Definition: VSDCharacterList.h:73
VSDTypes.h
libvisio::VSDCharacterList::getLevel
unsigned getLevel() const
Definition: VSDCharacterList.cpp:177
libvisio::VSDOptionalCharStyle
Definition: VSDStyles.h:181
libvisio::VSDCharacterList::m_elements
std::map< unsigned, VSDCharacterListElement * > m_elements
Definition: VSDCharacterList.h:72
libvisio::VSDCharacterList::handle
void handle(VSDCollector *collector) const
Definition: VSDCharacterList.cpp:191
VSDStyles.h
libvisio::VSDCharacterList::clear
void clear()
Definition: VSDCharacterList.cpp:213
libvisio::VSDCharacterList::setCharCount
void setCharCount(unsigned id, unsigned charCount)
Definition: VSDCharacterList.cpp:163
libvisio::VSDCharacterList
Definition: VSDCharacterList.h:45
libvisio::VSDCharacterList::operator=
VSDCharacterList & operator=(const VSDCharacterList &charList)
Definition: VSDCharacterList.cpp:111
libvisio::VSDCharacterList::setElementsOrder
void setElementsOrder(const std::vector< unsigned > &m_elementsOrder)
Definition: VSDCharacterList.cpp:184