Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* libmspub
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) 2012 Brennan Vincent <brennanv@email.arizona.edu>
17 : *
18 : * All Rights Reserved.
19 : *
20 : * For minor contributions see the git repository.
21 : *
22 : * Alternatively, the contents of this file may be used under the terms of
23 : * either the GNU General Public License Version 2 or later (the "GPLv2+"), or
24 : * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
25 : * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
26 : * instead of those above.
27 : */
28 :
29 : #ifndef __LISTINFO_H__
30 : #define __LISTINFO_H__
31 :
32 : #include <boost/optional.hpp>
33 : #include <boost/cstdint.hpp>
34 :
35 : #include "NumberingType.h"
36 : #include "NumberingDelimiter.h"
37 :
38 : using boost::uint32_t;
39 :
40 : namespace libmspub
41 : {
42 : enum ListType
43 : {
44 : ORDERED,
45 : UNORDERED
46 : };
47 0 : struct ListInfo
48 : {
49 : ListType m_listType;
50 :
51 : //unordered list stuff
52 : boost::optional<uint32_t> m_bulletChar;
53 0 : ListInfo(uint32_t bulletChar) : m_listType(UNORDERED),
54 : m_bulletChar(bulletChar), m_numberIfRestarted(),
55 0 : m_numberingType(), m_numberingDelimiter()
56 : {
57 0 : }
58 :
59 : //ordered list stuff
60 : boost::optional<unsigned> m_numberIfRestarted;
61 : boost::optional<NumberingType> m_numberingType;
62 : boost::optional<NumberingDelimiter> m_numberingDelimiter;
63 0 : ListInfo(boost::optional<unsigned> numberIfRestarted, NumberingType numberingType,
64 : NumberingDelimiter numberingDelimiter)
65 : : m_listType(ORDERED), m_bulletChar(),
66 : m_numberIfRestarted(numberIfRestarted), m_numberingType(numberingType),
67 0 : m_numberingDelimiter(numberingDelimiter)
68 : {
69 0 : }
70 : };
71 : } // namespace libmspub
72 :
73 : #endif /* __LISTINFO_H__ */
74 : /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
|