RagTime5Text.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */
2 
3 /* libmwaw
4 * Version: MPL 2.0 / LGPLv2+
5 *
6 * The contents of this file are subject to the Mozilla Public License Version
7 * 2.0 (the "License"); you may not use this file except in compliance with
8 * the License or as specified alternatively below. You may obtain a copy of
9 * the License at http://www.mozilla.org/MPL/
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * Major Contributor(s):
17 * Copyright (C) 2002 William Lachance (wrlach@gmail.com)
18 * Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net)
19 * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
20 * Copyright (C) 2006, 2007 Andrew Ziem
21 * Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr)
22 *
23 *
24 * All Rights Reserved.
25 *
26 * For minor contributions see the git repository.
27 *
28 * Alternatively, the contents of this file may be used under the terms of
29 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
30 * in which case the provisions of the LGPLv2+ are applicable
31 * instead of those above.
32 */
33 
34 /*
35  * Parser to RagTime 5-6 document ( text part )
36  *
37  */
38 #ifndef RAGTIME5_TEXT
39 # define RAGTIME5_TEXT
40 
41 #include <set>
42 #include <string>
43 #include <map>
44 #include <vector>
45 
46 #include <librevenge/librevenge.h>
47 
48 #include "libmwaw_internal.hxx"
49 
50 #include "MWAWDebug.hxx"
51 #include "MWAWInputStream.hxx"
52 #include "MWAWPosition.hxx"
53 
56 
57 namespace RagTime5TextInternal
58 {
59 struct ClusterText;
60 struct State;
61 
62 class SubDocument;
63 }
64 
65 class RagTime5Document;
68 class RagTime5Zone;
69 
76 {
78  friend class RagTime5Document;
79 
80 public:
81 
83  explicit RagTime5Text(RagTime5Document &doc);
85  virtual ~RagTime5Text();
86 
88  int version() const;
89 
91  int numPages() const;
92 
93 protected:
94 
96  void flushExtra(bool onlyCheck=false);
97 
98  // interface with main parser
99 
101  std::shared_ptr<RagTime5ClusterManager::Cluster> readTextCluster(RagTime5Zone &zone, int zoneType);
102 
103  //
104  // Intermediate level
105  //
106 
107  //
108  // basic text
109  //
110 
112  bool readPLC(RagTime5TextInternal::ClusterText &cluster, int zoneId);
115 
118 
120  bool readTextSeparators(RagTime5Zone &zone, std::vector<int> &pos);
121 
122  //
123  // low level
124  //
125 
126  //
127  // send data
128  //
129 
131  bool send(int zoneId, MWAWListenerPtr listener, int partId=0, int cellId=0, double totalWidth=-1);
133  bool send(RagTime5TextInternal::ClusterText &cluster, MWAWListenerPtr listener, int partId=0, int cellId=0, double totalWidth=-1);
135  bool send(RagTime5TextInternal::ClusterText &cluster, RagTime5Zone &dataZone, MWAWListenerPtr listener, size_t firstChar, size_t lastChar,
136  bool isLastZone, double totalWidth);
137 
138 public:
140  static std::string printType(unsigned long fileType)
141  {
142  return RagTime5StructManager::printType(fileType);
143  }
144 
145 private:
146  RagTime5Text(RagTime5Text const &orig) = delete;
147  RagTime5Text &operator=(RagTime5Text const &orig) = delete;
148 
149 protected:
150  //
151  // data
152  //
155 
157  std::shared_ptr<RagTime5StructManager> m_structManager;
159  std::shared_ptr<RagTime5StyleManager> m_styleManager;
162 
164  std::shared_ptr<RagTime5TextInternal::State> m_state;
165 };
166 #endif
167 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
RagTime5TextInternal::ClusterText::ClusterText
ClusterText()
constructor
Definition: RagTime5Text.cxx:185
RagTime5TextInternal::TextCParser::F_textRoot
@ F_textRoot
Definition: RagTime5Text.cxx:1327
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:47
MWAWPosition::CharBaseLine
@ CharBaseLine
Definition: MWAWPosition.hxx:51
RagTime5Zone::m_isParsed
bool m_isParsed
a flag to know if the zone is parsed
Definition: RagTime5StructManager.hxx:152
RagTime5Text::readLinkZones
bool readLinkZones(RagTime5TextInternal::ClusterText &cluster, RagTime5ClusterManager::Link const &link, int what)
try to read a list of link/list definition with what=0:attachment, 1:item, 3:index,...
Definition: RagTime5Text.cxx:436
RagTime5TextInternal::TextCParser::F_plc
@ F_plc
Definition: RagTime5Text.cxx:1327
MWAWInputStreamPtr
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:551
RagTime5Document::readPositions
bool readPositions(int posId, std::vector< long > &listPosition)
try to read a positions zone in data
Definition: RagTime5Document.cxx:923
RagTime5TextInternal::ClustListParser::~ClustListParser
~ClustListParser() final
destructor
Definition: RagTime5Text.cxx:1258
RagTime5TextInternal::SubDocument::m_firstChar
size_t m_firstChar
the first char
Definition: RagTime5Text.cxx:313
MWAWGraphicListenerPtr
std::shared_ptr< MWAWGraphicListener > MWAWGraphicListenerPtr
a smart pointer of MWAWGraphicListener
Definition: libmwaw_internal.hxx:549
RagTime5TextInternal::TextCParser::endZone
void endZone() final
end of a start zone call
Definition: RagTime5Text.cxx:1352
RagTime5TextInternal::ClusterText::m_PLCList
std::vector< PLC > m_PLCList
the PLC list
Definition: RagTime5Text.cxx:247
RagTime5Text::m_document
RagTime5Document & m_document
the parser
Definition: RagTime5Text.hxx:154
RagTime5TextInternal::ClusterText::m_separatorLink
RagTime5ClusterManager::Link m_separatorLink
the word/separator link
Definition: RagTime5Text.cxx:224
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:129
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
RagTime5TextInternal::SubDocument::m_cluster
ClusterText & m_cluster
the cluster
Definition: RagTime5Text.cxx:309
RagTime5TextInternal::ClustListParser
Internal: the helper to read a clustList.
Definition: RagTime5Text.cxx:1196
libmwaw::DebugFile::addDelimiter
void addDelimiter(long pos, char c)
adds a not breaking delimiter in position pos
Definition: MWAWDebug.cxx:73
RagTime5TextInternal::PLC
a PLC of a RagTime5Text
Definition: RagTime5Text.cxx:70
RagTime5TextInternal::ClustListParser::ClustListParser
ClustListParser(ClustListParser &orig)=delete
copy constructor, not implemented
RagTime5TextInternal::LinkPLC::m_dimensions
MWAWVec2f m_dimensions
the attachment box
Definition: RagTime5Text.cxx:177
MWAWPosition::setRelativePosition
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: MWAWPosition.hxx:237
RagTime5TextInternal::TextCParser::operator=
TextCParser & operator=(TextCParser const &orig)=delete
copy operator (not implemented)
RagTime5TextInternal::ClusterText::m_contentLink
RagTime5ClusterManager::Link m_contentLink
the main content
Definition: RagTime5Text.cxx:212
RagTime5ClusterManager::Cluster::Cluster
Cluster(Type type)
constructor
Definition: RagTime5ClusterManager.hxx:279
RagTime5TextInternal::TextCParser::getCluster
std::shared_ptr< RagTime5ClusterManager::Cluster > getCluster() final
return the current cluster
Definition: RagTime5Text.cxx:1342
RagTime5TextInternal::TextCParser::parseDataZone
bool parseDataZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse a data block
Definition: RagTime5Text.cxx:1642
RagTime5TextInternal::Block
a small struct use to define a block of a RagTime5Text
Definition: RagTime5Text.cxx:124
RagTime5ClusterManager::ClusterParser::m_link
Link m_link
the actual link
Definition: RagTime5ClusterManager.hxx:459
RagTime5Zone::m_kinds
std::string m_kinds[2]
the zone types: normal and packing
Definition: RagTime5StructManager.hxx:132
RagTime5TextInternal::ClusterText::m_linkPLCList
std::vector< LinkPLC > m_linkPLCList
the link plc list
Definition: RagTime5Text.cxx:253
RagTime5StructManager.hxx
RagTime5StructManager::Field::T_Unstructured
@ T_Unstructured
Definition: RagTime5StructManager.hxx:245
RagTime5TextInternal::SubDocument::m_ragtimeParser
RagTime5Text & m_ragtimeParser
the main parser
Definition: RagTime5Text.cxx:307
RagTime5Text::m_state
std::shared_ptr< RagTime5TextInternal::State > m_state
the state
Definition: RagTime5Text.hxx:164
RagTime5Zone::ascii
libmwaw::DebugFile & ascii()
returns the current ascii file
Definition: RagTime5StructManager.hxx:109
RagTime5TextInternal::BlockCellListParser::~BlockCellListParser
~BlockCellListParser() final
destructor
Definition: RagTime5Text.cxx:1319
RagTime5TextInternal::Block::Block
Block()
constructor
Definition: RagTime5Text.cxx:126
RagTime5Text::operator=
RagTime5Text & operator=(RagTime5Text const &orig)=delete
RagTime5Text::printType
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5Text.hxx:140
MWAWPosition::YCenter
@ YCenter
Definition: MWAWPosition.hxx:57
MWAWFontConverter.hxx
MWAWEmbeddedObject
small class use to define a embedded object
Definition: libmwaw_internal.hxx:467
RagTime5StructManager::Field
a field of RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:242
RagTime5TextInternal::ClusterText::m_plcToStyleLink
RagTime5ClusterManager::Link m_plcToStyleLink
the plc to text style link
Definition: RagTime5Text.cxx:220
RagTime5Document::checkClusterList
bool checkClusterList(std::vector< RagTime5StructManager::ZoneLink > const &list)
check a cluster list
Definition: RagTime5Document.cxx:1117
RagTime5ClusterManager::Cluster::m_isSent
bool m_isSent
true if the cluster was send
Definition: RagTime5ClusterManager.hxx:322
RagTime5TextInternal::TextCParser::F_textList
@ F_textList
Definition: RagTime5Text.cxx:1327
RagTime5Document::readLongList
bool readLongList(RagTime5ClusterManager::Link const &link, std::vector< long > &list)
try to read/get the list of long of a L_LongList
Definition: RagTime5Document.cxx:914
RagTime5Document.hxx
RagTime5ClusterManager::ClusterParser
virtual class use to parse the cluster data
Definition: RagTime5ClusterManager.hxx:381
RagTime5TextInternal::ClusterText::m_plcDefNumFree
int m_plcDefNumFree
the number of free block in the plc definition list
Definition: RagTime5Text.cxx:218
RagTime5TextInternal::ClustListParser::ClustListParser
ClustListParser(RagTime5ClusterManager &clusterManager, std::string const &zoneName)
constructor
Definition: RagTime5Text.cxx:1198
RagTime5TextInternal::BlockCellListParser::BlockCellListParser
BlockCellListParser()
constructor
Definition: RagTime5Text.cxx:1265
RagTime5TextInternal::BlockCellListParser::parseData
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Text.cxx:1273
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:85
RagTime5Text::readTextSeparators
bool readTextSeparators(RagTime5Zone &zone, std::vector< int > &pos)
try to read the text separators
Definition: RagTime5Text.cxx:391
RagTime5Zone::m_entry
MWAWEntry m_entry
the zone entry
Definition: RagTime5StructManager.hxx:134
RagTime5TextInternal::BlockCellListParser::operator=
BlockCellListParser & operator=(BlockCellListParser &orig)=delete
copy operator, not implemented
RagTime5TextInternal::TextCParser::parseZone
bool parseZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
parse a zone
Definition: RagTime5Text.cxx:1437
RagTime5TextInternal::Block::operator<<
friend std::ostream & operator<<(std::ostream &o, Block const &block)
operator<<
Definition: RagTime5Text.cxx:135
RagTime5StructManager::DataParser
virtual class use to parse the unstructured data
Definition: RagTime5StructManager.hxx:396
RagTime5Text::numPages
int numPages() const
returns the number of pages
Definition: RagTime5Text.cxx:365
RagTime5TextInternal::Block::m_dimension
MWAWBox2f m_dimension
the block dimension
Definition: RagTime5Text.cxx:149
RagTime5TextInternal::ClusterText::m_indexLink
RagTime5ClusterManager::Link m_indexLink
the index link
Definition: RagTime5Text.cxx:228
RagTime5TextInternal::Block::m_id
int m_id
the block id
Definition: RagTime5Text.cxx:145
RagTime5StructManager::DataParser::DataParser
DataParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.cxx:61
RagTime5TextInternal::TextCParser::getTextCluster
std::shared_ptr< ClusterText > getTextCluster()
return the text cluster
Definition: RagTime5Text.cxx:1347
RagTime5TextInternal::TextCParser::TextCParser
TextCParser(TextCParser const &orig)=delete
copy constructor (not implemented)
RagTime5Text::RagTime5Text
RagTime5Text(RagTime5Text const &orig)=delete
RagTime5TextInternal::TextCParser::~TextCParser
~TextCParser() final
destructor
Definition: RagTime5Text.cxx:2430
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
RagTime5TextInternal::TextCParser::F_block
@ F_block
Definition: RagTime5Text.cxx:1327
RagTime5TextInternal::TextCParser::parseZoneBlock
bool parseZoneBlock(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse a zone block
Definition: RagTime5Text.cxx:2334
MWAWSubDocument
abstract class used to store a subdocument (with a comparison function)
Definition: MWAWSubDocument.hxx:42
RagTime5TextInternal
Internal: the structures of a RagTime5Text.
Definition: RagTime5Text.cxx:68
RagTime5StructManager::Field::T_FieldList
@ T_FieldList
Definition: RagTime5StructManager.hxx:244
RagTime5ClusterManager::Cluster::C_PictureZone
@ C_PictureZone
Definition: RagTime5ClusterManager.hxx:268
RagTime5TextInternal::PLC::PLC
PLC()
constructor
Definition: RagTime5Text.cxx:72
RagTime5ClusterManager
basic class used to manage RagTime 5/6 zones
Definition: RagTime5ClusterManager.hxx:59
RagTime5TextInternal::LinkPLC::m_footnotePositions
MWAWVec2i m_footnotePositions
the footnote data
Definition: RagTime5Text.cxx:179
RagTime5Document::readChildList
bool readChildList(RagTime5ClusterManager::Link const &link, std::vector< RagTime5StructManager::ZoneLink > &childList, bool findN=false)
try to read a cluster child list
Definition: RagTime5Document.cxx:1073
RagTime5TextInternal::LinkPLC::LinkPLC
LinkPLC()
constructor
Definition: RagTime5Text.cxx:159
RagTime5TextInternal::TextCParser::F_textDefs
@ F_textDefs
Definition: RagTime5Text.cxx:1327
RagTime5Text::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: RagTime5Text.hxx:161
RagTime5TextInternal::BlockCellListParser::m_blockList
std::vector< Block > m_blockList
the list of block
Definition: RagTime5Text.cxx:1311
RagTime5StyleManager
basic class used to read/store RagTime 5/6 styles
Definition: RagTime5StyleManager.hxx:61
MWAWField::BookmarkEnd
@ BookmarkEnd
Definition: libmwaw_internal.hxx:401
RagTime5TextInternal::ClustListParser::parseData
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Text.cxx:1213
RagTime5TextInternal::ClusterText::m_posToStyleIdMap
std::multimap< int, int > m_posToStyleIdMap
position to plc map
Definition: RagTime5Text.cxx:251
MWAWSubDocument.hxx
RagTime5ClusterManager.hxx
MWAWPosition::size
MWAWVec2f const & size() const
returns the frame size
Definition: MWAWPosition.hxx:135
RagTime5TextInternal::TextCParser::F_unknLongs
@ F_unknLongs
Definition: RagTime5Text.cxx:1327
RagTime5TextInternal::BlockCellListParser::BlockCellListParser
BlockCellListParser(BlockCellListParser &orig)=delete
copy constructor, not implemented
RagTime5Document
the main class to read a RagTime v5 file
Definition: RagTime5Document.hxx:77
libmwaw::SubDocumentType
SubDocumentType
Definition: libmwaw_internal.hxx:188
RagTime5TextInternal::TextCParser::F_parentLink
@ F_parentLink
Definition: RagTime5Text.cxx:1327
RagTime5TextInternal::ClusterText::m_childList
std::vector< RagTime5StructManager::ZoneLink > m_childList
list of child
Definition: RagTime5Text.cxx:245
RagTime5TextInternal::State
Internal: the state of a RagTime5Text.
Definition: RagTime5Text.cxx:264
MWAWSpreadsheetListenerPtr
std::shared_ptr< MWAWSpreadsheetListener > MWAWSpreadsheetListenerPtr
a smart pointer of MWAWSpreadsheetListener
Definition: libmwaw_internal.hxx:563
MWAWSpreadsheetListener
This class contents the main functions needed to create a spreadsheet processing Document.
Definition: MWAWSpreadsheetListener.hxx:66
RagTime5TextInternal::SubDocument::operator!=
bool operator!=(MWAWSubDocument const &doc) const final
operator!=
Definition: RagTime5Text.cxx:330
MWAWParagraph.hxx
RagTime5TextInternal::LinkPLC::m_positions
MWAWVec2i m_positions
the position in the text
Definition: RagTime5Text.cxx:173
MWAWGraphicEncoder.hxx
libmwaw_internal.hxx
RagTime5StructManager::printType
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5StructManager.cxx:94
MWAWField::m_data
std::string m_data
the database/link field ( if defined ) or the bookmark name
Definition: libmwaw_internal.hxx:426
MWAWPosition.hxx
RagTime5TextInternal::SubDocument::SubDocument
SubDocument(RagTime5Text &parser, MWAWInputStreamPtr const &input, RagTime5TextInternal::ClusterText &cluster, RagTime5Zone &dataZone, size_t firstChar, size_t lastChar)
Definition: RagTime5Text.cxx:285
RagTime5TextInternal::ClusterText::m_plcDefFreeBegin
int m_plcDefFreeBegin
the plc first free block in the plc definition list
Definition: RagTime5Text.cxx:216
RagTime5Zone::getKindLastPart
std::string getKindLastPart(bool main=true) const
returns the main type
Definition: RagTime5StructManager.hxx:83
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:48
RagTime5ClusterManager::ClusterParser::m_dataId
int m_dataId
the actual zone id
Definition: RagTime5ClusterManager.hxx:457
RagTime5TextInternal::TextCParser::F_plcToStyle
@ F_plcToStyle
Definition: RagTime5Text.cxx:1327
MWAWSpreadsheetEncoder::getBinaryResult
bool getBinaryResult(MWAWEmbeddedObject &object)
return the final spreadsheet
Definition: MWAWSpreadsheetEncoder.cxx:77
RagTime5TextInternal::PLC::m_position
int m_position
the position in the text
Definition: RagTime5Text.cxx:116
RagTime5ClusterManager::Cluster::m_hiLoEndian
bool m_hiLoEndian
the cluster hiLo endian
Definition: RagTime5ClusterManager.hxx:302
RagTime5Zone
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:51
RagTime5TextInternal::ClusterText::m_blockList
std::vector< std::vector< Block > > m_blockList
list of block (defined in header)
Definition: RagTime5Text.cxx:241
RagTime5Text::readPLC
bool readPLC(RagTime5TextInternal::ClusterText &cluster, int zoneId)
try to read a list of PLC
Definition: RagTime5Text.cxx:663
RagTime5ClusterManager::Cluster::C_TextZone
@ C_TextZone
Definition: RagTime5ClusterManager.hxx:268
RagTime5TextInternal::SubDocument
Internal: the subdocument of a RagTime5Text.
Definition: RagTime5Text.cxx:282
MWAWGraphicEncoder::getBinaryResult
bool getBinaryResult(MWAWEmbeddedObject &result)
return the final graphic
Definition: MWAWGraphicEncoder.cxx:77
RagTime5TextInternal::TextCParser::F_unknData
@ F_unknData
Definition: RagTime5Text.cxx:1327
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:93
RagTime5TextInternal::PLC::m_fileType
int m_fileType
the file type
Definition: RagTime5Text.cxx:118
RagTime5TextInternal::LinkPLC::m_what
int m_what
the plc type 0:attachment, 1:item(list item), 2:unknown, 3:index, 4:formula(page number,...
Definition: RagTime5Text.cxx:169
MWAWVec2< int >
RagTime5TextInternal::TextCParser::parseField
bool parseField(RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5Text.cxx:1462
RagTime5Zone::getInput
MWAWInputStreamPtr getInput()
returns the current input
Definition: RagTime5StructManager.hxx:94
MWAWGraphicListener.hxx
MWAWSection
a class which stores section properties
Definition: MWAWSection.hxx:46
RagTime5Document::readListZone
bool readListZone(RagTime5ClusterManager::Link const &link)
try to read a list zone
Definition: RagTime5Document.cxx:1585
MWAWDebug.hxx
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:83
MWAWField::BookmarkStart
@ BookmarkStart
Definition: libmwaw_internal.hxx:401
RagTime5TextInternal::State::m_numPages
int m_numPages
the number of pages
Definition: RagTime5Text.cxx:273
RagTime5TextInternal::TextCParser::F_text
@ F_text
Definition: RagTime5Text.cxx:1327
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1193
RagTime5TextInternal::ClusterText::m_textIntListLink
RagTime5ClusterManager::Link m_textIntListLink
list of a int link with size 2(only v6.6)
Definition: RagTime5Text.cxx:232
RagTime5TextInternal::SubDocument::m_dataZone
RagTime5Zone & m_dataZone
the data zone
Definition: RagTime5Text.cxx:311
RagTime5TextInternal::TextCParser::F_indexList
@ F_indexList
Definition: RagTime5Text.cxx:1327
RagTime5TextInternal::ClusterText::m_footnoteLink
RagTime5ClusterManager::Link m_footnoteLink
the footnote link
Definition: RagTime5Text.cxx:226
RagTime5TextInternal::ClusterText
low level: the text cluster of a RagTime5Text
Definition: RagTime5Text.cxx:183
RagTime5StyleManager.hxx
RagTime5Text::version
int version() const
returns the file version
Definition: RagTime5Text.cxx:360
RagTime5TextInternal::LinkPLC
a small struct used to store link plc data: footnote, index, ...
Definition: RagTime5Text.cxx:157
RagTime5Text::m_styleManager
std::shared_ptr< RagTime5StyleManager > m_styleManager
the style manager
Definition: RagTime5Text.hxx:159
MWAWField
a field
Definition: libmwaw_internal.hxx:399
RagTime5Document::getDataZone
std::shared_ptr< RagTime5Zone > getDataZone(int dataId) const
returns the zone corresponding to a data id (or 0)
Definition: RagTime5Document.cxx:465
RagTime5TextInternal::TextCParser::F_footnote
@ F_footnote
Definition: RagTime5Text.cxx:1327
RagTime5TextInternal::TextCParser::m_asciiFile
libmwaw::DebugFile & m_asciiFile
the ascii file
Definition: RagTime5Text.cxx:2422
RagTime5StructManager::Field::T_2Long
@ T_2Long
Definition: RagTime5StructManager.hxx:244
RagTime5Text
the main class to read the text part of RagTime 56 file
Definition: RagTime5Text.hxx:76
RagTime5TextInternal::ClustListParser::m_clusterList
std::vector< int > m_clusterList
the list of read cluster
Definition: RagTime5Text.cxx:1248
RagTime5TextInternal::ClustListParser::m_clusterManager
RagTime5ClusterManager & m_clusterManager
the main zone manager
Definition: RagTime5Text.cxx:1251
RagTime5Text::readTextCluster
std::shared_ptr< RagTime5ClusterManager::Cluster > readTextCluster(RagTime5Zone &zone, int zoneType)
try to read a text cluster
Definition: RagTime5Text.cxx:2436
RagTime5TextInternal::PLC::m_value
int m_value
an unknown value
Definition: RagTime5Text.cxx:120
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:88
MWAWGraphicEncoder
main class used to define store librevenge::RVNGDrawingInterface lists of command in a librevenge::RV...
Definition: MWAWGraphicEncoder.hxx:56
RagTime5TextInternal::ClusterText::~ClusterText
~ClusterText() final
destructor
Definition: RagTime5Text.cxx:258
RagTime5TextInternal::TextCParser::m_cluster
std::shared_ptr< ClusterText > m_cluster
the current cluster
Definition: RagTime5Text.cxx:2414
RagTime5TextInternal::ClusterText::m_linkDefs
RagTime5ClusterManager::Link m_linkDefs[5]
the list of link zone
Definition: RagTime5Text.cxx:230
RagTime5TextInternal::BlockCellListParser
Internal: the helper to read a block 2 list.
Definition: RagTime5Text.cxx:1263
MWAWSpreadsheetEncoder.hxx
RagTime5TextInternal::ClusterText::m_separators
std::vector< int > m_separators
the separators
Definition: RagTime5Text.cxx:249
RagTime5TextInternal::TextCParser::m_NToBlockIdMap
std::map< int, size_t > m_NToBlockIdMap
the field pos to block map
Definition: RagTime5Text.cxx:2418
RagTime5ClusterManager::Cluster::m_zoneId
int m_zoneId
the zone id
Definition: RagTime5ClusterManager.hxx:300
RagTime5TextInternal::Block::m_subId
int m_subId
the block sub id
Definition: RagTime5Text.cxx:147
RagTime5TextInternal::TextCParser::m_fieldName
std::string m_fieldName
the actual field name
Definition: RagTime5Text.cxx:2420
RagTime5Text::flushExtra
void flushExtra(bool onlyCheck=false)
sends the data which have not yet been sent to the listener
Definition: RagTime5Text.cxx:824
RagTime5TextInternal::ClusterText::m_posToLinkIdMap
std::multimap< int, size_t > m_posToLinkIdMap
position to link data map
Definition: RagTime5Text.cxx:255
RagTime5TextInternal::TextCParser::TextCParser
TextCParser(RagTime5ClusterManager &parser, int type, libmwaw::DebugFile &ascii)
constructor
Definition: RagTime5Text.cxx:1330
RagTime5TextInternal::SubDocument::m_lastChar
size_t m_lastChar
the last char
Definition: RagTime5Text.cxx:315
RagTime5TextInternal::TextCParser::F_nextId
@ F_nextId
Definition: RagTime5Text.cxx:1327
RagTime5TextInternal::PLC::operator<<
friend std::ostream & operator<<(std::ostream &o, PLC const &plc)
operator<<
Definition: RagTime5Text.cxx:79
RagTime5TextInternal::TextCParser::F_linkDefs
@ F_linkDefs
Definition: RagTime5Text.cxx:1327
RagTime5TextInternal::LinkPLC::m_id
int m_id
an identifier
Definition: RagTime5Text.cxx:175
RagTime5Text::m_structManager
std::shared_ptr< RagTime5StructManager > m_structManager
the structure manager
Definition: RagTime5Text.hxx:157
MWAWPosition::Page
@ Page
Definition: MWAWPosition.hxx:51
RagTime5Text::RagTime5Text
RagTime5Text(RagTime5Document &doc)
constructor
Definition: RagTime5Text.cxx:348
RagTime5StructManager::Field::T_LongList
@ T_LongList
Definition: RagTime5StructManager.hxx:244
MWAWSection.hxx
RagTime5TextInternal::TextCParser::parseHeaderZone
bool parseHeaderZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse the header zone
Definition: RagTime5Text.cxx:2113
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
RagTime5ClusterManager::Cluster::C_SpreadsheetZone
@ C_SpreadsheetZone
Definition: RagTime5ClusterManager.hxx:268
MWAWSpreadsheetEncoder
main class used to define store librevenge::RVNGSpreadsheetInterface lists of command in a librevenge...
Definition: MWAWSpreadsheetEncoder.hxx:56
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
RagTime5ClusterManager::getClusterDebugName
std::string getClusterDebugName(int id)
returns "data"+id+"A" ( followed by the cluster type and name if know)
Definition: RagTime5ClusterManager.cxx:230
RagTime5Document::getClusterManager
std::shared_ptr< RagTime5ClusterManager > getClusterManager()
returns the cluster manager
Definition: RagTime5Document.cxx:395
MWAWEntry::valid
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:99
RagTime5StructManager
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:175
RagTime5Text::~RagTime5Text
virtual ~RagTime5Text()
destructor
Definition: RagTime5Text.cxx:357
RagTime5Zone::m_ids
int m_ids[3]
the zone id
Definition: RagTime5StructManager.hxx:140
MWAWListener.hxx
MWAWSpreadsheetListener.hxx
Defines MWAWSpreadsheetListener: the libmwaw spreadsheet processor listener.
RagTime5TextInternal::ClustListParser::operator=
ClustListParser & operator=(ClustListParser &orig)=delete
copy operator, not implemented
libmwaw::DebugFile
an interface used to insert comment in a binary file, written in ascii form (if debug_with_files is n...
Definition: MWAWDebug.hxx:66
RagTime5ClusterManager::Cluster
the cluster data
Definition: RagTime5ClusterManager.hxx:261
MWAWPosition::XLeft
@ XLeft
Definition: MWAWPosition.hxx:55
libmwaw
namespace used to regroup all libwpd functions, enumerations which we have redefined for internal usa...
Definition: libmwaw_internal.cxx:51
MWAWInputStream.hxx
RagTime5TextInternal::ClusterText::m_unknownLink
RagTime5ClusterManager::Link m_unknownLink[3]
list of unknown link: the three unkndata+2-3 links and the header link3 link
Definition: RagTime5Text.cxx:236
RagTime5TextInternal::ClusterText::m_unknownLinks1
std::vector< RagTime5ClusterManager::Link > m_unknownLinks1
list of unkndata1 links
Definition: RagTime5Text.cxx:234
RagTime5TextInternal::ClusterText::m_blockCellList
std::vector< Block > m_blockCellList
list of block (defined in blockCell list)
Definition: RagTime5Text.cxx:243
MWAWListenerPtr
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:553
RagTime5TextInternal::SubDocument::parse
void parse(MWAWListenerPtr &listener, libmwaw::SubDocumentType type) final
the parser function
Definition: RagTime5Text.cxx:318
MWAWFont.hxx
MWAWPosition::m_anchorTo
AnchorTo m_anchorTo
anchor position
Definition: MWAWPosition.hxx:270
RagTime5Text::send
bool send(int zoneId, MWAWListenerPtr listener, int partId=0, int cellId=0, double totalWidth=-1)
try to send the cluster zone
Definition: RagTime5Text.cxx:372
MWAWBox2< float >
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:44
RagTime5TextInternal::State::m_uniqueIndexId
int m_uniqueIndexId
an int used to create unique index id
Definition: RagTime5Text.cxx:277
RagTime5TextInternal::ClusterText::m_blockCellToPlcLink
RagTime5ClusterManager::Link m_blockCellToPlcLink
the blockCell to plc link
Definition: RagTime5Text.cxx:222
RagTime5Document::readUnicodeStringList
bool readUnicodeStringList(RagTime5ClusterManager::NameLink const &link, std::map< int, librevenge::RVNGString > &idToStringMap)
try to read a list of unicode string zone
Definition: RagTime5Document.cxx:843
RagTime5TextInternal::Block::m_extra
std::string m_extra
extra data
Definition: RagTime5Text.cxx:153
RagTime5Text::readPLCToCharStyle
bool readPLCToCharStyle(RagTime5TextInternal::ClusterText &cluster)
try to read a plc id to char style correspondance
Definition: RagTime5Text.cxx:742
RagTime5TextInternal::LinkPLC::m_type
int m_type
the file type
Definition: RagTime5Text.cxx:171
RagTime5Document::readFixedSizeZone
bool readFixedSizeZone(RagTime5ClusterManager::Link const &link, std::string const &name)
try to read a fixed size zone
Definition: RagTime5Document.cxx:1658
RagTime5TextInternal::ClustListParser::getClusterDebugName
std::string getClusterDebugName(int id) const
returns a name which can be used to debugging
Definition: RagTime5Text.cxx:1207
RagTime5TextInternal::ClusterText::m_plcDefLink
RagTime5ClusterManager::Link m_plcDefLink
the plc definition link
Definition: RagTime5Text.cxx:214
RagTime5Document::send
bool send(int zoneId, MWAWListenerPtr listener, MWAWPosition const &pos, int partId=0, int cellId=0, double totalWidth=-1)
try to send a cluster zone (mainly unimplemented)
Definition: RagTime5Document.cxx:2609
RagTime5TextInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: RagTime5Text.cxx:297
RagTime5TextInternal::TextCParser
low level: parser of text cluster
Definition: RagTime5Text.cxx:1326
RagTime5StructManager::readDataIdList
static bool readDataIdList(MWAWInputStreamPtr input, int n, std::vector< int > &listIds)
try to read n data id
Definition: RagTime5StructManager.cxx:332
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
RagTime5TextInternal::State::m_idTextMap
std::map< int, std::shared_ptr< ClusterText > > m_idTextMap
map data id to text zone
Definition: RagTime5Text.cxx:275
RagTime5TextInternal::Block::m_plc
int m_plc[2]
the list of zone plc (first-end)
Definition: RagTime5Text.cxx:151
RagTime5Text.hxx
MWAWGraphicListener
This class contains the code needed to create Graphic document.
Definition: MWAWGraphicListener.hxx:60
RagTime5ClusterManager::ClusterParser::ClusterParser
ClusterParser(RagTime5ClusterManager &parser, int type, std::string const &zoneName)
constructor
Definition: RagTime5ClusterManager.hxx:383
RagTime5ClusterManager::Cluster::C_Unknown
@ C_Unknown
Definition: RagTime5ClusterManager.hxx:276
RagTime5TextInternal::TextCParser::m_expectedIdToType
std::map< int, int > m_expectedIdToType
the expected id
Definition: RagTime5Text.cxx:2416
RagTime5TextInternal::State::State
State()
constructor
Definition: RagTime5Text.cxx:266

Generated on Fri Sep 18 2020 18:14:52 for libmwaw by doxygen 1.8.20