RagTime5StructManager.hxx
Go to the documentation of this file.
/* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */
/* libmwaw
* Version: MPL 2.0 / LGPLv2+
*
* The contents of this file are subject to the Mozilla Public License Version
* 2.0 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* Copyright (C) 2002 William Lachance (wrlach@gmail.com)
* Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net)
* Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
* Copyright (C) 2006, 2007 Andrew Ziem
* Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr)
*
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
* in which case the provisions of the LGPLv2+ are applicable
* instead of those above.
*/
#ifndef RAG_TIME_5_STRUCT_MANAGER
# define RAG_TIME_5_STRUCT_MANAGER
#include <map>
#include <ostream>
#include <sstream>
#include <string>
#include <vector>
#include "libmwaw_internal.hxx"
#include "MWAWDebug.hxx"
#include "MWAWEntry.hxx"
class RagTime5Document;
class RagTime5Zone
{
public:
RagTime5Zone(MWAWInputStreamPtr const &input, libmwaw::DebugFile &asc)
: m_level(-1)
, m_parentName("")
, m_defPosition(0)
, m_entry()
, m_name("")
, m_hiLoEndian(true)
, m_entriesList()
, m_childIdToZoneMap()
, m_isInitialised(false)
, m_isParsed(false)
, m_extra("")
, m_input()
, m_defaultInput(input)
, m_asciiName("")
, m_asciiFile(&asc)
, m_mainAsciiFile(&asc)
, m_localAsciiFile()
{
for (auto &id : m_ids) id=0;
for (auto &idFlag : m_idsFlag) idFlag=0;
for (auto &kind : m_kinds) kind="";
for (auto &variableD : m_variableD) variableD=0;
}
virtual ~RagTime5Zone();
std::string getZoneName() const;
std::string getKindLastPart(bool main=true) const
{
std::string res(m_kinds[main ? 0 : 1]);
std::string::size_type pos = res.find_last_of(':');
if (pos == std::string::npos) return res;
return res.substr(pos+1);
}
friend std::ostream &operator<<(std::ostream &o, RagTime5Zone const &z);
MWAWInputStreamPtr getInput()
{
return m_input;
}
void setInput(MWAWInputStreamPtr const &input)
{
m_input = input;
}
bool isMainInput() const
{
return m_input.get()==m_defaultInput.get();
}
libmwaw::DebugFile &ascii()
{
if (!isMainInput() && !m_localAsciiFile)
createAsciiFile();
return *m_asciiFile;
}
void setAsciiFileName(std::string const &name)
{
m_asciiName = name;
}
void createAsciiFile();
void addErrorInDebugFile(std::string const &zoneName);
int m_level;
std::string m_parentName;
long m_defPosition;
std::string m_kinds[2];
MWAWEntry m_entry;
std::string m_name;
bool m_hiLoEndian;
int m_ids[3];
int m_idsFlag[3];
std::vector<MWAWEntry> m_entriesList;
std::map<int,std::shared_ptr<RagTime5Zone> > m_childIdToZoneMap;
int m_variableD[2];
mutable bool m_isInitialised;
mutable bool m_isParsed;
std::string m_extra;
protected:
MWAWInputStreamPtr m_input;
MWAWInputStreamPtr m_defaultInput;
std::string m_asciiName;
libmwaw::DebugFile *m_asciiFile;
libmwaw::DebugFile *m_mainAsciiFile;
std::shared_ptr<libmwaw::DebugFile> m_localAsciiFile;
private:
RagTime5Zone(RagTime5Zone const &orig) = delete;
RagTime5Zone &operator=(RagTime5Zone const &orig) = delete;
};
class RagTime5StructManager
{
public:
struct Field;
explicit RagTime5StructManager(RagTime5Document &doc);
~RagTime5StructManager();
bool readTypeDefinitions(RagTime5Zone &zone);
bool readField(MWAWInputStreamPtr input, long endPos, libmwaw::DebugFile &ascFile,
Field &field, long fSz=0);
static bool readCompressedLong(MWAWInputStreamPtr &input, long endPos, long &val);
static bool readUnicodeString(MWAWInputStreamPtr input, long endPos, librevenge::RVNGString &string);
static bool readDataIdList(MWAWInputStreamPtr input, int n, std::vector<int> &listIds);
static std::string printType(unsigned long fileType);
struct TabStop {
TabStop()
: m_position(0)
, m_type(1)
, m_leaderChar(0)
{
}
friend std::ostream &operator<<(std::ostream &o, TabStop const &tab)
{
o << tab.m_position;
switch (tab.m_type) {
case 1:
break;
case 2:
o << "R";
break;
case 3:
o << "C";
break;
case 4:
o << "D";
break;
case 5: // Kintou Waritsuke: sort of center
o << "K";
break;
default:
o << ":#type=" << tab.m_type;
break;
}
if (tab.m_leaderChar>0)
o << ":leader=" << char(tab.m_leaderChar);
return o;
}
float m_position;
int m_type;
uint16_t m_leaderChar;
};
struct Field {
enum Type { T_Unknown, T_Bool, T_Double, T_Long, T_2Long, T_FieldList, T_LongList, T_DoubleList, T_TabList,
T_Code, T_Color, T_CondColor, T_PrintInfo, T_String, T_Unicode, T_ZoneId, T_LongDouble, T_Unstructured
};
Field()
: m_type(T_Unknown)
, m_fileType(0)
, m_name("")
, m_doubleValue(0)
, m_color()
, m_string("")
, m_longList()
, m_doubleList()
, m_numLongByData(1)
, m_tabList()
, m_fieldList()
, m_entry()
, m_extra("")
{
for (auto &val : m_longValue) val=0;
}
Field(Field const &)=default;
~Field()
{
}
friend std::ostream &operator<<(std::ostream &o, Field const &field);
Type m_type;
unsigned long m_fileType;
std::string m_name;
long m_longValue[2];
double m_doubleValue;
MWAWColor m_color;
librevenge::RVNGString m_string;
std::vector<long> m_longList;
std::vector<double> m_doubleList;
int m_numLongByData;
std::vector<TabStop> m_tabList;
std::vector<Field> m_fieldList;
MWAWEntry m_entry;
std::string m_extra;
};
struct ZoneLink {
ZoneLink()
: m_dataId(0)
, m_valuesList()
, m_extra("")
{
for (auto &id : m_subZoneId) id=0;
}
int getSubZoneId(int i) const
{
if (i<0 || i>=2) {
MWAW_DEBUG_MSG(("RagTime5StructManager::ZoneLink::getSubZoneId: called with bad value=%d\n", i));
return 0;
}
return (m_subZoneId[0]&0x3fffffff);
}
friend std::ostream &operator<<(std::ostream &o, ZoneLink const &link)
{
if (link.m_dataId) o << "data" << link.m_dataId << "A,";
if (link.m_subZoneId[0]) {
if (link.m_subZoneId[0]> 0&& (static_cast<unsigned long>(link.m_subZoneId[0])&0xc0000000)==0)
o << "data[subId]=" << link.m_subZoneId[0] << ",";
else
o << "data[subId]=" << (link.m_subZoneId[0]&0x3fffffff) << "[" << (((unsigned long)link.m_subZoneId[0])>>30) << "],";
}
if (link.m_subZoneId[1]) {
if (link.m_subZoneId[1]>0 && (static_cast<unsigned long>(link.m_subZoneId[1])&0xff000000)==0)
o << "orig[subId]=" << link.m_subZoneId[1] << ",";
else
o << "orig[subId]=" << (link.m_subZoneId[1]&0x00ffffff) << "[" << (((unsigned long)link.m_subZoneId[1])>>24) << "],";
}
for (size_t i=0; i<link.m_valuesList.size(); ++i) {
if (!link.m_valuesList[i]) continue;
o << "f" << i << "=" << link.m_valuesList[i] << ",";
}
return o;
}
int m_dataId;
long m_subZoneId[2];
std::vector<long> m_valuesList;
std::string m_extra;
};
struct FieldParser {
explicit FieldParser(std::string const &zoneName)
: m_regroupFields(false)
, m_name(zoneName)
{
}
virtual ~FieldParser();
virtual std::string getZoneName() const
{
return m_name;
}
virtual std::string getZoneName(int n) const
{
std::stringstream s;
s << m_name << "-" << n;
return s.str();
}
virtual bool parseHeaderField(Field &field, RagTime5Zone &/*zone*/, int /*n*/, libmwaw::DebugStream &f)
{
f << field;
return true;
}
virtual bool parseField(Field &field, RagTime5Zone &/*zone*/, int /*n*/, libmwaw::DebugStream &f)
{
f << field;
return true;
}
bool m_regroupFields;
protected:
std::string m_name;
private:
FieldParser(FieldParser const &orig) = delete;
FieldParser &operator=(FieldParser const &orig) = delete;
};
struct DataParser {
explicit DataParser(std::string const &zoneName);
virtual ~DataParser();
virtual std::string getZoneName() const
{
return m_name;
}
virtual std::string getZoneName(int n) const
{
std::stringstream s;
s << m_name << "-" << n;
return s.str();
}
virtual bool parseData(MWAWInputStreamPtr &/*input*/, long /*endPos*/, RagTime5Zone &/*zone*/, int /*n*/, libmwaw::DebugStream &/*f*/)
{
return true;
}
protected:
std::string m_name;
private:
DataParser(DataParser const &orig) = delete;
DataParser &operator=(DataParser const &orig) = delete;
};
struct GObjPropFieldParser final : public FieldParser {
explicit GObjPropFieldParser(std::string const &name)
: FieldParser(name)
, m_clusterId(0)
{
}
bool parseField(Field &field, RagTime5Zone &zone, int n, libmwaw::DebugStream &f) final;
int m_clusterId;
};
private:
RagTime5Document &m_document;
RagTime5StructManager(RagTime5StructManager const &orig) = delete;
RagTime5StructManager operator=(RagTime5StructManager const &orig) = delete;
};
#endif
// vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
MWAWDebug.hxx
MWAWEntry.hxx
MWAWEntry
basic class to store an entry in a file This contained :
Definition MWAWEntry.hxx:47
RagTime5Document
the main class to read a RagTime v5 file
Definition RagTime5Document.hxx:77
RagTime5StructManager::RagTime5StructManager
RagTime5StructManager(RagTime5Document &doc)
constructor
Definition RagTime5StructManager.cxx:52
RagTime5StructManager::RagTime5StructManager
RagTime5StructManager(RagTime5StructManager const &orig)=delete
RagTime5StructManager::m_document
RagTime5Document & m_document
the main document
Definition RagTime5StructManager.hxx:443
RagTime5StructManager::readTypeDefinitions
bool readTypeDefinitions(RagTime5Zone &zone)
try to read a list of type definition
Definition RagTime5StructManager.cxx:133
RagTime5StructManager::operator=
RagTime5StructManager operator=(RagTime5StructManager const &orig)=delete
RagTime5StructManager::printType
static std::string printType(unsigned long fileType)
debug: print a file type
Definition RagTime5StructManager.cxx:94
RagTime5StructManager::~RagTime5StructManager
~RagTime5StructManager()
destructor
Definition RagTime5StructManager.cxx:57
RagTime5StructManager::readField
bool readField(MWAWInputStreamPtr input, long endPos, libmwaw::DebugFile &ascFile, Field &field, long fSz=0)
try to read a field
Definition RagTime5StructManager.cxx:357
RagTime5StructManager::readUnicodeString
static bool readUnicodeString(MWAWInputStreamPtr input, long endPos, librevenge::RVNGString &string)
try to read a unicode string
Definition RagTime5StructManager.cxx:307
RagTime5StructManager::readCompressedLong
static bool readCompressedLong(MWAWInputStreamPtr &input, long endPos, long &val)
try to read a compressed long
Definition RagTime5StructManager.cxx:78
RagTime5StructManager::readDataIdList
static bool readDataIdList(MWAWInputStreamPtr input, int n, std::vector< int > &listIds)
try to read n data id
Definition RagTime5StructManager.cxx:336
RagTime5Zone
main zone in a RagTime v5-v6 document
Definition RagTime5StructManager.hxx:51
RagTime5Zone::m_extra
std::string m_extra
extra data
Definition RagTime5StructManager.hxx:154
RagTime5Zone::m_input
MWAWInputStreamPtr m_input
the main input
Definition RagTime5StructManager.hxx:157
RagTime5Zone::getInput
MWAWInputStreamPtr getInput()
returns the current input
Definition RagTime5StructManager.hxx:94
RagTime5Zone::operator<<
friend std::ostream & operator<<(std::ostream &o, RagTime5Zone const &z)
operator<<
Definition RagTime5StructManager.cxx:1704
RagTime5Zone::m_name
std::string m_name
the zone name ( mainly used for debugging)
Definition RagTime5StructManager.hxx:136
RagTime5Zone::m_parentName
std::string m_parentName
the parent name
Definition RagTime5StructManager.hxx:128
RagTime5Zone::m_entriesList
std::vector< MWAWEntry > m_entriesList
the list of original entries
Definition RagTime5StructManager.hxx:144
RagTime5Zone::m_asciiName
std::string m_asciiName
the ascii file name ( used if we need to create a ascii file)
Definition RagTime5StructManager.hxx:161
RagTime5Zone::m_entry
MWAWEntry m_entry
the zone entry
Definition RagTime5StructManager.hxx:134
RagTime5Zone::setInput
void setInput(MWAWInputStreamPtr const &input)
reset the current input
Definition RagTime5StructManager.hxx:99
RagTime5Zone::m_level
int m_level
the zone level
Definition RagTime5StructManager.hxx:126
RagTime5Zone::m_hiLoEndian
bool m_hiLoEndian
true if the endian is hilo
Definition RagTime5StructManager.hxx:138
RagTime5Zone::m_defPosition
long m_defPosition
the position of the definition in the main zones
Definition RagTime5StructManager.hxx:130
RagTime5Zone::getZoneName
std::string getZoneName() const
returns the zone name
Definition RagTime5StructManager.cxx:1667
RagTime5Zone::~RagTime5Zone
virtual ~RagTime5Zone()
destructor
Definition RagTime5StructManager.cxx:1647
RagTime5Zone::ascii
libmwaw::DebugFile & ascii()
returns the current ascii file
Definition RagTime5StructManager.hxx:109
RagTime5Zone::m_idsFlag
int m_idsFlag[3]
the zone flag
Definition RagTime5StructManager.hxx:142
RagTime5Zone::m_localAsciiFile
std::shared_ptr< libmwaw::DebugFile > m_localAsciiFile
the local ascii file ( if we need to create a new input)
Definition RagTime5StructManager.hxx:167
RagTime5Zone::getKindLastPart
std::string getKindLastPart(bool main=true) const
returns the main type
Definition RagTime5StructManager.hxx:83
RagTime5Zone::m_ids
int m_ids[3]
the zone id
Definition RagTime5StructManager.hxx:140
RagTime5Zone::RagTime5Zone
RagTime5Zone(MWAWInputStreamPtr const &input, libmwaw::DebugFile &asc)
constructor
Definition RagTime5StructManager.hxx:54
RagTime5Zone::isMainInput
bool isMainInput() const
returns true if the input correspond to the basic file
Definition RagTime5StructManager.hxx:104
RagTime5Zone::m_variableD
int m_variableD[2]
the content of the zone D if it exists
Definition RagTime5StructManager.hxx:148
RagTime5Zone::m_isParsed
bool m_isParsed
a flag to know if the zone is parsed
Definition RagTime5StructManager.hxx:152
RagTime5Zone::m_mainAsciiFile
libmwaw::DebugFile * m_mainAsciiFile
the main ascii file (used to print error)
Definition RagTime5StructManager.hxx:165
RagTime5Zone::operator=
RagTime5Zone & operator=(RagTime5Zone const &orig)=delete
RagTime5Zone::m_childIdToZoneMap
std::map< int, std::shared_ptr< RagTime5Zone > > m_childIdToZoneMap
the child zones
Definition RagTime5StructManager.hxx:146
RagTime5Zone::m_asciiFile
libmwaw::DebugFile * m_asciiFile
the ascii file corresponding to an input
Definition RagTime5StructManager.hxx:163
RagTime5Zone::addErrorInDebugFile
void addErrorInDebugFile(std::string const &zoneName)
mark a zone as bad
Definition RagTime5StructManager.cxx:1687
RagTime5Zone::createAsciiFile
void createAsciiFile()
creates the ascii file
Definition RagTime5StructManager.cxx:1651
RagTime5Zone::m_defaultInput
MWAWInputStreamPtr m_defaultInput
the main file input
Definition RagTime5StructManager.hxx:159
RagTime5Zone::setAsciiFileName
void setAsciiFileName(std::string const &name)
defines the ascii name
Definition RagTime5StructManager.hxx:116
RagTime5Zone::m_kinds
std::string m_kinds[2]
the zone types: normal and packing
Definition RagTime5StructManager.hxx:132
RagTime5Zone::m_isInitialised
bool m_isInitialised
a flag to know if the zone is initialised (stream, hiLoEndian)
Definition RagTime5StructManager.hxx:150
RagTime5Zone::RagTime5Zone
RagTime5Zone(RagTime5Zone const &orig)=delete
libmwaw::DebugFile
Definition MWAWDebug.hxx:66
libmwaw_internal.hxx
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition libmwaw_internal.hxx:129
MWAWInputStreamPtr
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition libmwaw_internal.hxx:551
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition MWAWDebug.hxx:61
MWAWColor
the class to store a color
Definition libmwaw_internal.hxx:192
RagTime5StructManager::DataParser::DataParser
DataParser(DataParser const &orig)=delete
RagTime5StructManager::DataParser::getZoneName
virtual std::string getZoneName(int n) const
return the debug name corresponding to a field
Definition RagTime5StructManager.hxx:407
RagTime5StructManager::DataParser::DataParser
DataParser(std::string const &zoneName)
constructor
Definition RagTime5StructManager.cxx:61
RagTime5StructManager::DataParser::~DataParser
virtual ~DataParser()
destructor
Definition RagTime5StructManager.cxx:68
RagTime5StructManager::DataParser::operator=
DataParser & operator=(DataParser const &orig)=delete
RagTime5StructManager::DataParser::parseData
virtual bool parseData(MWAWInputStreamPtr &, long, RagTime5Zone &, int, libmwaw::DebugStream &)
parse a data
Definition RagTime5StructManager.hxx:414
RagTime5StructManager::DataParser::getZoneName
virtual std::string getZoneName() const
return the debug name corresponding to a zone
Definition RagTime5StructManager.hxx:402
RagTime5StructManager::DataParser::m_name
std::string m_name
the field name
Definition RagTime5StructManager.hxx:420
RagTime5StructManager::FieldParser::parseHeaderField
virtual bool parseHeaderField(Field &field, RagTime5Zone &, int, libmwaw::DebugStream &f)
parse a header field
Definition RagTime5StructManager.hxx:375
RagTime5StructManager::FieldParser::parseField
virtual bool parseField(Field &field, RagTime5Zone &, int, libmwaw::DebugStream &f)
parse a field
Definition RagTime5StructManager.hxx:381
RagTime5StructManager::FieldParser::m_name
std::string m_name
the field name
Definition RagTime5StructManager.hxx:390
RagTime5StructManager::FieldParser::m_regroupFields
bool m_regroupFields
a flag use to decide if we output one debug message by field or not
Definition RagTime5StructManager.hxx:387
RagTime5StructManager::FieldParser::FieldParser
FieldParser(std::string const &zoneName)
constructor
Definition RagTime5StructManager.hxx:355
RagTime5StructManager::FieldParser::FieldParser
FieldParser(FieldParser const &orig)=delete
RagTime5StructManager::FieldParser::operator=
FieldParser & operator=(FieldParser const &orig)=delete
RagTime5StructManager::FieldParser::~FieldParser
virtual ~FieldParser()
destructor
Definition RagTime5StructManager.cxx:72
RagTime5StructManager::FieldParser::getZoneName
virtual std::string getZoneName() const
return the debug name corresponding to a zone
Definition RagTime5StructManager.hxx:363
RagTime5StructManager::FieldParser::getZoneName
virtual std::string getZoneName(int n) const
return the debug name corresponding to a field
Definition RagTime5StructManager.hxx:368
RagTime5StructManager::Field
a field of RagTime 5/6 structures
Definition RagTime5StructManager.hxx:242
RagTime5StructManager::Field::m_longValue
long m_longValue[2]
the long value
Definition RagTime5StructManager.hxx:280
RagTime5StructManager::Field::m_fileType
unsigned long m_fileType
the file type
Definition RagTime5StructManager.hxx:276
RagTime5StructManager::Field::Field
Field()
constructor
Definition RagTime5StructManager.hxx:249
RagTime5StructManager::Field::m_fieldList
std::vector< Field > m_fieldList
the list of field
Definition RagTime5StructManager.hxx:296
RagTime5StructManager::Field::m_extra
std::string m_extra
extra data
Definition RagTime5StructManager.hxx:300
RagTime5StructManager::Field::m_longList
std::vector< long > m_longList
the list of long value
Definition RagTime5StructManager.hxx:288
RagTime5StructManager::Field::Type
Type
the different type
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_LongList
@ T_LongList
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_FieldList
@ T_FieldList
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_String
@ T_String
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::T_2Long
@ T_2Long
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_Unknown
@ T_Unknown
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_CondColor
@ T_CondColor
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::T_DoubleList
@ T_DoubleList
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_LongDouble
@ T_LongDouble
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::T_Code
@ T_Code
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::T_Unicode
@ T_Unicode
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::T_Bool
@ T_Bool
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_Unstructured
@ T_Unstructured
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::T_Double
@ T_Double
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_Long
@ T_Long
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_PrintInfo
@ T_PrintInfo
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::T_ZoneId
@ T_ZoneId
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::T_TabList
@ T_TabList
Definition RagTime5StructManager.hxx:244
RagTime5StructManager::Field::T_Color
@ T_Color
Definition RagTime5StructManager.hxx:245
RagTime5StructManager::Field::m_doubleValue
double m_doubleValue
the double value
Definition RagTime5StructManager.hxx:282
RagTime5StructManager::Field::operator<<
friend std::ostream & operator<<(std::ostream &o, Field const &field)
operator<<
Definition RagTime5StructManager.cxx:1405
RagTime5StructManager::Field::m_type
Type m_type
the field type
Definition RagTime5StructManager.hxx:274
RagTime5StructManager::Field::~Field
~Field()
destructor
Definition RagTime5StructManager.hxx:268
RagTime5StructManager::Field::m_name
std::string m_name
the field type name
Definition RagTime5StructManager.hxx:278
RagTime5StructManager::Field::m_entry
MWAWEntry m_entry
entry to defined the position of a String or Unstructured data
Definition RagTime5StructManager.hxx:298
RagTime5StructManager::Field::m_numLongByData
int m_numLongByData
the number of long by data (in m_longList)
Definition RagTime5StructManager.hxx:292
RagTime5StructManager::Field::Field
Field(Field const &)=default
RagTime5StructManager::Field::m_color
MWAWColor m_color
the color
Definition RagTime5StructManager.hxx:284
RagTime5StructManager::Field::m_tabList
std::vector< TabStop > m_tabList
the list of tabStop
Definition RagTime5StructManager.hxx:294
RagTime5StructManager::Field::m_string
librevenge::RVNGString m_string
small string use to store a string or a 4 char code
Definition RagTime5StructManager.hxx:286
RagTime5StructManager::Field::m_doubleList
std::vector< double > m_doubleList
the list of double value
Definition RagTime5StructManager.hxx:290
RagTime5StructManager::GObjPropFieldParser::parseField
bool parseField(Field &field, RagTime5Zone &zone, int n, libmwaw::DebugStream &f) final
parse a field
Definition RagTime5StructManager.cxx:1521
RagTime5StructManager::GObjPropFieldParser::m_clusterId
int m_clusterId
the id of the zone corresponding to this property (always a clust graph ?)
Definition RagTime5StructManager.hxx:438
RagTime5StructManager::GObjPropFieldParser::GObjPropFieldParser
GObjPropFieldParser(std::string const &name)
constructor
Definition RagTime5StructManager.hxx:429
RagTime5StructManager::TabStop::operator<<
friend std::ostream & operator<<(std::ostream &o, TabStop const &tab)
operator<<
Definition RagTime5StructManager.hxx:208
RagTime5StructManager::TabStop::TabStop
TabStop()
constructor
Definition RagTime5StructManager.hxx:201
RagTime5StructManager::TabStop::m_type
int m_type
the type
Definition RagTime5StructManager.hxx:237
RagTime5StructManager::TabStop::m_leaderChar
uint16_t m_leaderChar
the unicode leader char
Definition RagTime5StructManager.hxx:239
RagTime5StructManager::TabStop::m_position
float m_position
the position
Definition RagTime5StructManager.hxx:235
RagTime5StructManager::ZoneLink::operator<<
friend std::ostream & operator<<(std::ostream &o, ZoneLink const &link)
operator<<
Definition RagTime5StructManager.hxx:322
RagTime5StructManager::ZoneLink::m_extra
std::string m_extra
extra data
Definition RagTime5StructManager.hxx:350
RagTime5StructManager::ZoneLink::m_valuesList
std::vector< long > m_valuesList
list of potential values
Definition RagTime5StructManager.hxx:348
RagTime5StructManager::ZoneLink::m_subZoneId
long m_subZoneId[2]
the sub id zones
Definition RagTime5StructManager.hxx:346
RagTime5StructManager::ZoneLink::getSubZoneId
int getSubZoneId(int i) const
returns the sub zone id
Definition RagTime5StructManager.hxx:313
RagTime5StructManager::ZoneLink::ZoneLink
ZoneLink()
constructor
Definition RagTime5StructManager.hxx:305
RagTime5StructManager::ZoneLink::m_dataId
int m_dataId
the data id (or 0)
Definition RagTime5StructManager.hxx:344