Go to the documentation of this file.
34 #ifndef RAG_TIME_5_STRUCT_MANAGER
35 # define RAG_TIME_5_STRUCT_MANAGER
73 for (
auto &
id :
m_ids)
id=0;
75 for (
auto &kind :
m_kinds) kind=
"";
85 std::string res(
m_kinds[main ? 0 : 1]);
86 std::string::size_type pos = res.find_last_of(
':');
87 if (pos == std::string::npos)
return res;
88 return res.substr(pos+1);
187 Field &field,
long fSz=0);
196 static std::string
printType(
unsigned long fileType);
227 o <<
":#type=" << tab.
m_type;
316 MWAW_DEBUG_MSG((
"RagTime5StructManager::ZoneLink::getSubZoneId: called with bad value=%d\n", i));
398 explicit DataParser(std::string
const &zoneName);
int m_numLongByData
the number of long by data (in m_longList)
Definition: RagTime5StructManager.hxx:292
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:47
bool m_isParsed
a flag to know if the zone is parsed
Definition: RagTime5StructManager.hxx:152
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:551
void setInput(MWAWInputStreamPtr const &input)
reset the current input
Definition: RagTime5StructManager.hxx:99
@ T_Unicode
Definition: RagTime5StructManager.hxx:245
friend std::ostream & operator<<(std::ostream &o, RagTime5Zone const &z)
operator<<
Definition: RagTime5StructManager.cxx:1700
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:129
Field(Field const &)=default
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
RagTime5Document & m_document
the main document
Definition: RagTime5StructManager.hxx:443
a tabulation in RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:199
void addDelimiter(long pos, char c)
adds a not breaking delimiter in position pos
Definition: MWAWDebug.cxx:73
void setAsciiFileName(std::string const &name)
defines the ascii name
Definition: RagTime5StructManager.hxx:116
@ T_Color
Definition: RagTime5StructManager.hxx:245
long m_defPosition
the position of the definition in the main zones
Definition: RagTime5StructManager.hxx:130
virtual ~FieldParser()
destructor
Definition: RagTime5StructManager.cxx:72
DataParser & operator=(DataParser const &orig)=delete
bool readTypeDefinitions(RagTime5Zone &zone)
try to read a list of type definition
Definition: RagTime5StructManager.cxx:133
virtual bool parseData(MWAWInputStreamPtr &, long, RagTime5Zone &, int, libmwaw::DebugStream &)
parse a data
Definition: RagTime5StructManager.hxx:414
@ T_Unknown
Definition: RagTime5StructManager.hxx:244
std::string m_kinds[2]
the zone types: normal and packing
Definition: RagTime5StructManager.hxx:132
@ T_Unstructured
Definition: RagTime5StructManager.hxx:245
std::string m_asciiName
the ascii file name ( used if we need to create a ascii file)
Definition: RagTime5StructManager.hxx:161
friend std::ostream & operator<<(std::ostream &o, Field const &field)
operator<<
Definition: RagTime5StructManager.cxx:1401
virtual ~RagTime5Zone()
destructor
Definition: RagTime5StructManager.cxx:1643
libmwaw::DebugFile & ascii()
returns the current ascii file
Definition: RagTime5StructManager.hxx:109
libmwaw::DebugFile * m_asciiFile
the ascii file corresponding to an input
Definition: RagTime5StructManager.hxx:163
FieldParser & operator=(FieldParser const &orig)=delete
bool m_regroupFields
a flag use to decide if we output one debug message by field or not
Definition: RagTime5StructManager.hxx:387
the class to store a color
Definition: libmwaw_internal.hxx:192
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string
Definition: libmwaw_internal.cxx:63
a field of RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:242
MWAWEntry m_entry
the zone entry
Definition: RagTime5StructManager.hxx:134
virtual std::string getZoneName() const
return the debug name corresponding to a zone
Definition: RagTime5StructManager.hxx:402
@ T_CondColor
Definition: RagTime5StructManager.hxx:245
the AppleŠ printer information : TPrint
Definition: MWAWPrinter.hxx:82
virtual class use to parse the unstructured data
Definition: RagTime5StructManager.hxx:396
DataParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.cxx:61
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
std::ostream & operator<<(std::ostream &o, RagTime5StructManager::Field const &field)
Definition: RagTime5StructManager.cxx:1401
int m_level
the zone level
Definition: RagTime5StructManager.hxx:126
std::vector< TabStop > m_tabList
the list of tabStop
Definition: RagTime5StructManager.hxx:294
@ T_FieldList
Definition: RagTime5StructManager.hxx:244
int getSubZoneId(int i) const
returns the sub zone id
Definition: RagTime5StructManager.hxx:313
basic parser to read image/main graphic position properties
Definition: RagTime5StructManager.hxx:427
GObjPropFieldParser(std::string const &name)
constructor
Definition: RagTime5StructManager.hxx:429
Type
the different type
Definition: RagTime5StructManager.hxx:244
std::map< int, std::shared_ptr< RagTime5Zone > > m_childIdToZoneMap
the child zones
Definition: RagTime5StructManager.hxx:146
bool readField(MWAWInputStreamPtr input, long endPos, libmwaw::DebugFile &ascFile, Field &field, long fSz=0)
try to read a field
Definition: RagTime5StructManager.cxx:353
std::string m_parentName
the parent name
Definition: RagTime5StructManager.hxx:128
int m_dataId
the data id (or 0)
Definition: RagTime5StructManager.hxx:344
std::vector< double > m_doubleList
the list of double value
Definition: RagTime5StructManager.hxx:290
virtual class use to parse the field data
Definition: RagTime5StructManager.hxx:353
the main class to read a RagTime v5 file
Definition: RagTime5Document.hxx:77
@ T_PrintInfo
Definition: RagTime5StructManager.hxx:245
@ T_Code
Definition: RagTime5StructManager.hxx:245
MWAWInputStreamPtr m_defaultInput
the main file input
Definition: RagTime5StructManager.hxx:159
long m_longValue[2]
the long value
Definition: RagTime5StructManager.hxx:280
MWAWColor m_color
the color
Definition: RagTime5StructManager.hxx:284
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5StructManager.cxx:94
void setEnd(long off)
sets the end offset
Definition: MWAWEntry.hxx:77
virtual std::string getZoneName(int n) const
return the debug name corresponding to a field
Definition: RagTime5StructManager.hxx:368
unsigned long m_fileType
the file type
Definition: RagTime5StructManager.hxx:276
virtual bool parseField(Field &field, RagTime5Zone &, int, libmwaw::DebugStream &f)
parse a field
Definition: RagTime5StructManager.hxx:381
std::string getKindLastPart(bool main=true) const
returns the main type
Definition: RagTime5StructManager.hxx:83
@ T_Long
Definition: RagTime5StructManager.hxx:244
@ T_ZoneId
Definition: RagTime5StructManager.hxx:245
std::string m_extra
extra data
Definition: RagTime5StructManager.hxx:154
bool m_isInitialised
a flag to know if the zone is initialised (stream, hiLoEndian)
Definition: RagTime5StructManager.hxx:150
void setBegin(long off)
sets the begin offset
Definition: MWAWEntry.hxx:67
librevenge::RVNGString m_string
small string use to store a string or a 4 char code
Definition: RagTime5StructManager.hxx:286
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:51
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:93
std::string m_name
the field name
Definition: RagTime5StructManager.hxx:390
void createAsciiFile()
creates the ascii file
Definition: RagTime5StructManager.cxx:1647
@ T_DoubleList
Definition: RagTime5StructManager.hxx:244
std::string getZoneName() const
returns the zone name
Definition: RagTime5StructManager.cxx:1663
std::string m_extra
extra data
Definition: RagTime5StructManager.hxx:300
MWAWInputStreamPtr getInput()
returns the current input
Definition: RagTime5StructManager.hxx:94
FieldParser(FieldParser const &orig)=delete
static bool readUnicodeString(MWAWInputStreamPtr input, long endPos, librevenge::RVNGString &string)
try to read a unicode string
Definition: RagTime5StructManager.cxx:303
virtual std::string getZoneName() const
return the debug name corresponding to a zone
Definition: RagTime5StructManager.hxx:363
FieldParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.hxx:355
~Field()
destructor
Definition: RagTime5StructManager.hxx:268
std::shared_ptr< RagTime5Formula > getFormulaParser()
returns the formula parser
Definition: RagTime5Document.cxx:410
int m_clusterId
the id of the zone corresponding to this property (always a clust graph ?)
Definition: RagTime5StructManager.hxx:438
std::vector< MWAWEntry > m_entriesList
the list of original entries
Definition: RagTime5StructManager.hxx:144
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:83
friend std::ostream & operator<<(std::ostream &o, TabStop const &tab)
operator<<
Definition: RagTime5StructManager.hxx:208
@ T_Double
Definition: RagTime5StructManager.hxx:244
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1193
RagTime5Zone & operator=(RagTime5Zone const &orig)=delete
double m_doubleValue
the double value
Definition: RagTime5StructManager.hxx:282
bool read(MWAWInputStreamPtr input)
reads the struture in a file
Definition: MWAWPrinter.cxx:235
std::vector< long > m_valuesList
list of potential values
Definition: RagTime5StructManager.hxx:348
@ T_2Long
Definition: RagTime5StructManager.hxx:244
std::vector< long > m_longList
the list of long value
Definition: RagTime5StructManager.hxx:288
std::string m_name
the zone name ( mainly used for debugging)
Definition: RagTime5StructManager.hxx:136
RagTime5StructManager operator=(RagTime5StructManager const &orig)=delete
bool isMainInput() const
returns true if the input correspond to the basic file
Definition: RagTime5StructManager.hxx:104
libmwaw::DebugFile * m_mainAsciiFile
the main ascii file (used to print error)
Definition: RagTime5StructManager.hxx:165
long end() const
returns the end offset
Definition: MWAWEntry.hxx:88
TabStop()
constructor
Definition: RagTime5StructManager.hxx:201
int m_idsFlag[3]
the zone flag
Definition: RagTime5StructManager.hxx:142
std::shared_ptr< libmwaw::DebugFile > m_localAsciiFile
the local ascii file ( if we need to create a new input)
Definition: RagTime5StructManager.hxx:167
RagTime5Zone(RagTime5Zone const &orig)=delete
void addErrorInDebugFile(std::string const &zoneName)
mark a zone as bad
Definition: RagTime5StructManager.cxx:1683
@ T_LongList
Definition: RagTime5StructManager.hxx:244
DataParser(DataParser const &orig)=delete
@ T_LongDouble
Definition: RagTime5StructManager.hxx:245
RagTime5Zone(MWAWInputStreamPtr const &input, libmwaw::DebugFile &asc)
constructor
Definition: RagTime5StructManager.hxx:54
@ T_TabList
Definition: RagTime5StructManager.hxx:244
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
@ T_String
Definition: RagTime5StructManager.hxx:245
std::string m_name
the field name
Definition: RagTime5StructManager.hxx:420
~RagTime5StructManager()
destructor
Definition: RagTime5StructManager.cxx:57
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:99
@ T_Bool
Definition: RagTime5StructManager.hxx:244
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:175
int m_ids[3]
the zone id
Definition: RagTime5StructManager.hxx:140
uint16_t m_leaderChar
the unicode leader char
Definition: RagTime5StructManager.hxx:239
RagTime5StructManager(RagTime5StructManager const &orig)=delete
static bool readCompressedLong(MWAWInputStreamPtr &input, long endPos, long &val)
try to read a compressed long
Definition: RagTime5StructManager.cxx:78
int m_variableD[2]
the content of the zone D if it exists
Definition: RagTime5StructManager.hxx:148
float m_position
the position
Definition: RagTime5StructManager.hxx:235
an interface used to insert comment in a binary file, written in ascii form (if debug_with_files is n...
Definition: MWAWDebug.hxx:66
RagTime5StructManager(RagTime5Document &doc)
constructor
Definition: RagTime5StructManager.cxx:52
libmwaw::DebugFile & ascii()
a DebugFile used to write what we recognize when we parse the document
Definition: RagTime5Document.hxx:132
std::string m_name
the field type name
Definition: RagTime5StructManager.hxx:278
MWAWInputStreamPtr m_input
the main input
Definition: RagTime5StructManager.hxx:157
bool parseField(Field &field, RagTime5Zone &zone, int n, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5StructManager.cxx:1517
friend std::ostream & operator<<(std::ostream &o, ZoneLink const &link)
operator<<
Definition: RagTime5StructManager.hxx:322
int m_type
the type
Definition: RagTime5StructManager.hxx:237
virtual bool parseHeaderField(Field &field, RagTime5Zone &, int, libmwaw::DebugStream &f)
parse a header field
Definition: RagTime5StructManager.hxx:375
virtual ~DataParser()
destructor
Definition: RagTime5StructManager.cxx:68
long m_subZoneId[2]
the sub id zones
Definition: RagTime5StructManager.hxx:346
MWAWEntry m_entry
entry to defined the position of a String or Unstructured data
Definition: RagTime5StructManager.hxx:298
bool m_hiLoEndian
true if the endian is hilo
Definition: RagTime5StructManager.hxx:138
ZoneLink()
constructor
Definition: RagTime5StructManager.hxx:305
virtual std::string getZoneName(int n) const
return the debug name corresponding to a field
Definition: RagTime5StructManager.hxx:407
Field()
constructor
Definition: RagTime5StructManager.hxx:249
a zone link in RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:303
static bool readDataIdList(MWAWInputStreamPtr input, int n, std::vector< int > &listIds)
try to read n data id
Definition: RagTime5StructManager.cxx:332
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
Type m_type
the field type
Definition: RagTime5StructManager.hxx:274
std::vector< Field > m_fieldList
the list of field
Definition: RagTime5StructManager.hxx:296
std::string m_extra
extra data
Definition: RagTime5StructManager.hxx:350
Generated on Fri Sep 18 2020 18:14:52 for libmwaw by
doxygen 1.8.20