WP5DefinitionGroup.h Source File documentation

WP5DefinitionGroup.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwpd
3 * Version: MPL 2.0 / LGPLv2.1+
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 * Major Contributor(s):
10 * Copyright (C) 2005 Fridrich Strba (fridrich.strba@bluewin.ch)
11 *
12 * For minor contributions see the git repository.
13 *
14 * Alternatively, the contents of this file may be used under the terms
15 * of the GNU Lesser General Public License Version 2.1 or later
16 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
17 * applicable instead of those above.
18 *
19 * For further information visit http://libwpd.sourceforge.net
20 */
21
22 /* "This product is not manufactured, approved, or supported by
23 * Corel Corporation or Corel Corporation Limited."
24 */
25
26 #ifndef WP5DEFINITIONGROUP_H
27 #define WP5DEFINITIONGROUP_H
28
29 #include <memory>
30
31 #include "WP5VariableLengthGroup.h"
32 #include "WP5FileStructure.h"
33
34 class WP5DefinitionGroup_DefineTablesSubGroup : public WP5VariableLengthGroup_SubGroup
35 {
36 public:
37 WP5DefinitionGroup_DefineTablesSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption, unsigned short subGroupSize);
38 void parse(WP5Listener *listener) override;
39
40 private:
41 unsigned char m_position;
42 unsigned short m_numColumns;
43 unsigned short m_leftOffset;
44 unsigned short m_leftGutter;
45 unsigned short m_rightGutter;
46 unsigned short m_columnWidth[32];
47 unsigned short m_attributeBits[32];
48 unsigned char m_columnAlignment[32];
49
50 };
51
52 class WP5DefinitionGroup : public WP5VariableLengthGroup
53 {
54 public:
55 WP5DefinitionGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption);
56 ~WP5DefinitionGroup() override;
57 void parse(WP5Listener *listener) override;
58
59 protected:
60 void _readContents(librevenge::RVNGInputStream *input, WPXEncryption *encryption) override;
61
62 private:
63 WP5DefinitionGroup(const WP5DefinitionGroup &);
64 WP5DefinitionGroup &operator=(const WP5DefinitionGroup &);
65 std::unique_ptr<WP5VariableLengthGroup_SubGroup> m_subGroupData;
66 };
67
68 #endif /* WP5DEFINITIONGROUP_H */
69 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WP5DefinitionGroup::WP5DefinitionGroup
WP5DefinitionGroup(const WP5DefinitionGroup &)
WP5DefinitionGroup_DefineTablesSubGroup::m_attributeBits
unsigned short m_attributeBits[32]
Definition: WP5DefinitionGroup.h:47
WP5VariableLengthGroup::getSubGroup
unsigned char getSubGroup() const
Definition: WP5VariableLengthGroup.h:54
WP5DefinitionGroup_DefineTablesSubGroup
Definition: WP5DefinitionGroup.h:35
FileException
Definition: libwpd_internal.h:209
WP5VariableLengthGroup_SubGroup
Definition: WP5VariableLengthGroup.h:34
WP5DefinitionGroup::WP5DefinitionGroup
WP5DefinitionGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition: WP5DefinitionGroup.cpp:89
WPD_DEBUG_MSG
#define WPD_DEBUG_MSG(M)
Definition: libwpd_internal.h:50
readU16
unsigned short readU16(librevenge::RVNGInputStream *input, WPXEncryption *encryption, bool bigendian)
Definition: libwpd_internal.cpp:119
WP5DefinitionGroup
Definition: WP5DefinitionGroup.h:53
WP5DefinitionGroup::~WP5DefinitionGroup
~WP5DefinitionGroup() override
Definition: WP5DefinitionGroup.cpp:96
WP5DefinitionGroup_DefineTablesSubGroup::parse
void parse(WP5Listener *listener) override
Definition: WP5DefinitionGroup.cpp:77
WP5DefinitionGroup_DefineTablesSubGroup::m_leftOffset
unsigned short m_leftOffset
Definition: WP5DefinitionGroup.h:43
WP5DefinitionGroup_DefineTablesSubGroup::m_leftGutter
unsigned short m_leftGutter
Definition: WP5DefinitionGroup.h:44
libwpd_internal.h
WP5Listener
Definition: WP5Listener.h:41
WP5DefinitionGroup_DefineTablesSubGroup::m_columnAlignment
unsigned char m_columnAlignment[32]
Definition: WP5DefinitionGroup.h:48
WP5DefinitionGroup::parse
void parse(WP5Listener *listener) override
Definition: WP5DefinitionGroup.cpp:112
WP5Listener::defineTable
virtual void defineTable(unsigned char position, unsigned short leftOffset)=0
WP5DefinitionGroup::_readContents
void _readContents(librevenge::RVNGInputStream *input, WPXEncryption *encryption) override
Definition: WP5DefinitionGroup.cpp:100
WP5Listener::startTable
virtual void startTable()=0
WP5DefinitionGroup::operator=
WP5DefinitionGroup & operator=(const WP5DefinitionGroup &)
WP5Listener.h
WP5VariableLengthGroup::getSize
unsigned short getSize() const
Definition: WP5VariableLengthGroup.h:58
WP5Listener::addTableColumnDefinition
virtual void addTableColumnDefinition(unsigned width, unsigned leftGutter, unsigned rightGutter, unsigned attributes, unsigned char alignment)=0
WP5DefinitionGroup::m_subGroupData
std::unique_ptr< WP5VariableLengthGroup_SubGroup > m_subGroupData
Definition: WP5DefinitionGroup.h:65
WP5DefinitionGroup_DefineTablesSubGroup::m_rightGutter
unsigned short m_rightGutter
Definition: WP5DefinitionGroup.h:45
WP5FileStructure.h
WP5VariableLengthGroup.h
WP5DefinitionGroup_DefineTablesSubGroup::m_columnWidth
unsigned short m_columnWidth[32]
Definition: WP5DefinitionGroup.h:46
WP5Listener::endTable
virtual void endTable()=0
WP5DefinitionGroup.h
WP5DefinitionGroup_DefineTablesSubGroup::WP5DefinitionGroup_DefineTablesSubGroup
WP5DefinitionGroup_DefineTablesSubGroup(librevenge::RVNGInputStream *input, WPXEncryption *encryption, unsigned short subGroupSize)
Definition: WP5DefinitionGroup.cpp:30
readU8
unsigned char readU8(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition: libwpd_internal.cpp:106
WP5VariableLengthGroup::_read
void _read(librevenge::RVNGInputStream *input, WPXEncryption *encryption)
Definition: WP5VariableLengthGroup.cpp:113
WP5_TOP_DEFINITION_GROUP_DEFINE_TABLES
#define WP5_TOP_DEFINITION_GROUP_DEFINE_TABLES
Definition: WP5FileStructure.h:121
WP5DefinitionGroup_DefineTablesSubGroup::m_numColumns
unsigned short m_numColumns
Definition: WP5DefinitionGroup.h:42
WPXEncryption
Definition: WPXEncryption.h:36
WP5VariableLengthGroup
Definition: WP5VariableLengthGroup.h:41
WP5DefinitionGroup_DefineTablesSubGroup::m_position
unsigned char m_position
Definition: WP5DefinitionGroup.h:41