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 
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 
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:
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

Generated for libwpd by doxygen 1.8.20