Go to the documentation of this file.
38 #ifndef RAGTIME5_LAYOUT
39 # define RAGTIME5_LAYOUT
46 #include <librevenge/librevenge.h>
145 std::shared_ptr<RagTime5LayoutInternal::State>
m_state;
std::stack< int > m_idStack
the id stack
Definition: RagTime5Layout.cxx:1158
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:551
Internal: the structures of a RagTime5Layout.
Definition: RagTime5Layout.cxx:63
ClustListParser(RagTime5ClusterManager &clusterManager, int fieldSize, std::string const &zoneName)
constructor
Definition: RagTime5Layout.cxx:302
int m_linkId
the link id : 0: listItem, 1: pipeline, 2: settinglinks, 3: namelink,
Definition: RagTime5Layout.cxx:1148
RagTime5ClusterManager::Link m_pageDataLink
link to a zone of fieldSize 8(unknown)
Definition: RagTime5Layout.cxx:105
PageDataParser(int fieldSize, std::string const &zoneName)
constructor
Definition: RagTime5Layout.cxx:374
int numPages() const
returns the number of pages
Definition: RagTime5Layout.cxx:161
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:129
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
std::shared_ptr< RagTime5StructManager > m_structManager
the structure manager
Definition: RagTime5Layout.hxx:140
bool send(RagTime5LayoutInternal::ClusterLayout &cluster, MWAWListenerPtr listener, int page)
try to send the cluster zone
Definition: RagTime5Layout.cxx:277
~LayoutCParser() final
destructor
Definition: RagTime5Layout.cxx:1161
low level: parser of layout cluster
Definition: RagTime5Layout.cxx:418
bool parseField(RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5Layout.cxx:780
RagTime5ClusterManager::NameLink m_pageNameLink
the name link for page?
Definition: RagTime5Layout.cxx:101
std::vector< Zone > m_pageList
list of zone's
Definition: RagTime5Layout.cxx:99
~ClusterLayout() final
destructor
Definition: RagTime5Layout.cxx:114
@ F_pageData2
Definition: RagTime5Layout.cxx:419
Cluster(Type type)
constructor
Definition: RagTime5ClusterManager.hxx:279
MWAWParserStatePtr m_parserState
the parser state
Definition: RagTime5Layout.hxx:142
void setPage(int pg) const
sets the page
Definition: MWAWPosition.hxx:205
MWAWVec2f m_dimension
the dimension
Definition: RagTime5Layout.cxx:95
Link m_link
the actual link
Definition: RagTime5ClusterManager.hxx:459
@ T_Unstructured
Definition: RagTime5StructManager.hxx:245
virtual ~RagTime5Layout()
destructor
Definition: RagTime5Layout.cxx:152
std::shared_ptr< RagTime5ClusterManager::Cluster > getCluster() final
return the current cluster
Definition: RagTime5Layout.cxx:437
std::string getClusterDebugName(int id)
returns "data"+id+"A" ( followed by the cluster type and name if know)
Definition: RagTime5ClusterManager.cxx:555
State()
constructor
Definition: RagTime5Layout.cxx:122
RagTime5ClusterManager::Link m_pipelineLink
link to a pipeline cluster list
Definition: RagTime5Layout.cxx:103
a field of RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:242
bool checkClusterList(std::vector< RagTime5StructManager::ZoneLink > const &list)
check a cluster list
Definition: RagTime5Document.cxx:1117
bool parseHeaderZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse the header zone
Definition: RagTime5Layout.cxx:1014
bool readLinkHeader(MWAWInputStreamPtr &input, long fSz, Link &link, long(&values)[4], std::string &message)
try to read a link header
Definition: RagTime5ClusterManager.cxx:560
virtual class use to parse the cluster data
Definition: RagTime5ClusterManager.hxx:381
void setExpectedType(int id, int type)
set a data id type
Definition: RagTime5Layout.cxx:447
the main class to read the text part of RagTime 56 file
Definition: RagTime5Layout.hxx:73
a zone of in a layout
Definition: RagTime5Layout.cxx:82
int m_numMasterChild
the number of master child
Definition: RagTime5Layout.cxx:111
int m_numPages
the number of pages
Definition: RagTime5Layout.cxx:130
virtual class use to parse the unstructured data
Definition: RagTime5StructManager.hxx:396
DataParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.cxx:61
PageDataParser(PageDataParser &orig)=delete
copy constructor, not implemented
~PageDataParser() final
destructor
Definition: RagTime5Layout.cxx:411
@ F_pageData0
Definition: RagTime5Layout.cxx:419
@ T_FieldList
Definition: RagTime5StructManager.hxx:244
bool parsePageZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse a page
Definition: RagTime5Layout.cxx:910
the layout cluster ( 4001 zone)
Definition: RagTime5Layout.cxx:65
int m_fieldSize
the field size
Definition: RagTime5Layout.cxx:355
Internal: the helper to read a extra page data.
Definition: RagTime5Layout.cxx:372
std::shared_ptr< RagTime5ClusterManager::Cluster > readLayoutCluster(RagTime5Zone &zone, int zoneType)
try to read a layout cluster
Definition: RagTime5Layout.cxx:1167
int m_numChild
the number of classic child
Definition: RagTime5Layout.cxx:109
ClusterLayout()
constructor
Definition: RagTime5Layout.cxx:67
basic class used to manage RagTime 5/6 zones
Definition: RagTime5ClusterManager.hxx:59
ClustListParser & operator=(ClustListParser &orig)=delete
copy operator, not implemented
std::shared_ptr< ClusterLayout > getLayoutCluster()
return the current layout cluster
Definition: RagTime5Layout.cxx:442
void flushExtra()
sends the data which have not yet been sent to the listener
Definition: RagTime5Layout.cxx:272
RagTime5Layout & operator=(RagTime5Layout const &orig)=delete
int m_dataId
the data id (or 0)
Definition: RagTime5StructManager.hxx:344
virtual class use to parse the field data
Definition: RagTime5StructManager.hxx:353
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Layout.cxx:386
int m_N
the number of data ( or some flag if m_N & 0x8020)
Definition: RagTime5ClusterManager.hxx:212
a link to a name zone in RagTime 5/6 documents
Definition: RagTime5ClusterManager.hxx:222
@ F_name
Definition: RagTime5Layout.cxx:419
@ F_settings
Definition: RagTime5Layout.cxx:419
the main class to read a RagTime v5 file
Definition: RagTime5Document.hxx:77
void updateLayouts()
update all internal data: list of master layout, ...
Definition: RagTime5Layout.cxx:211
std::vector< int > m_layoutIdToSendList
the list of layout to send
Definition: RagTime5Layout.cxx:136
Zone()
constructor
Definition: RagTime5Layout.cxx:84
bool sendPageContents()
try to send the page content corresponding to the layout
Definition: RagTime5Layout.cxx:168
std::vector< RagTime5StructManager::ZoneLink > m_linkList
the list of read cluster
Definition: RagTime5Layout.cxx:357
bool parseZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
parse a zone
Definition: RagTime5Layout.cxx:501
bool empty() const
returns true if all link are empty
Definition: RagTime5ClusterManager.hxx:133
int m_mainId
the main zone id
Definition: RagTime5Layout.cxx:91
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5StructManager.cxx:94
Internal: the state of a RagTime5Layout.
Definition: RagTime5Layout.cxx:120
ClustListParser(ClustListParser &orig)=delete
copy constructor, not implemented
std::map< int, std::shared_ptr< ClusterLayout > > m_idLayoutMap
map data id to text zone
Definition: RagTime5Layout.cxx:132
std::string getClusterDebugName(int id) const
return the cluster name
Definition: RagTime5Layout.cxx:326
bool readStructZone(RagTime5ClusterManager::Link const &link, RagTime5StructManager::FieldParser &parser, int headerSz, RagTime5ClusterManager::NameLink *nameLink=nullptr)
try to read a structured zone
Definition: RagTime5Document.cxx:1722
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:48
int m_dataId
the actual zone id
Definition: RagTime5ClusterManager.hxx:457
@ T_Long
Definition: RagTime5StructManager.hxx:244
@ C_GraphicZone
Definition: RagTime5ClusterManager.hxx:268
PageDataParser & operator=(PageDataParser &orig)=delete
copy operator, not implemented
~ClustListParser() final
destructor
Definition: RagTime5Layout.cxx:367
RagTime5Layout(RagTime5Layout const &orig)=delete
std::vector< int > getIdList() const
returns the not null list dataId list
Definition: RagTime5Layout.cxx:316
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:51
std::string m_fieldName
the actual field name
Definition: RagTime5Layout.cxx:1150
RagTime5Layout(RagTime5Document &doc)
constructor
Definition: RagTime5Layout.cxx:144
std::set< int > m_childIdSet
list of child id
Definition: RagTime5Layout.cxx:107
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5Layout.hxx:123
RagTime5Document & m_document
the parser
Definition: RagTime5Layout.hxx:137
bool readListZone(RagTime5ClusterManager::Link const &link)
try to read a list zone
Definition: RagTime5Document.cxx:1585
std::vector< long > m_longList
a list of long used to store decal
Definition: RagTime5ClusterManager.hxx:218
void endZone() final
end of a start zone call
Definition: RagTime5Layout.cxx:473
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1193
@ F_nextId
Definition: RagTime5Layout.cxx:419
RagTime5ClusterManager::Cluster::Type getClusterType(int zId) const
returns the cluster type corresponding to zone id or C_Unknown (if the zone is not a cluster or was n...
Definition: RagTime5Document.cxx:472
Internal: the helper to read a clustList.
Definition: RagTime5Layout.cxx:300
std::shared_ptr< RagTime5LayoutInternal::State > m_state
the state
Definition: RagTime5Layout.hxx:145
std::set< int > m_masterIdSet
the list of master id
Definition: RagTime5Layout.cxx:134
RagTime5ClusterManager & m_clusterManager
the main zone manager
Definition: RagTime5Layout.cxx:360
@ F_pipeline
Definition: RagTime5Layout.cxx:419
int m_what
a index to know which field is parsed : 0: main, 1:list of pages, 2: unknown, 3:data0,...
Definition: RagTime5Layout.cxx:1146
@ F_pageData1
Definition: RagTime5Layout.cxx:419
@ L_List
Definition: RagTime5ClusterManager.hxx:117
ClusterLayout::Zone m_actualZone
the actual zone
Definition: RagTime5Layout.cxx:1153
void startZone() final
start a new zone
Definition: RagTime5Layout.cxx:462
std::map< int, int > m_expectedIdToType
the expected id
Definition: RagTime5Layout.cxx:1156
@ Page
Definition: MWAWPosition.hxx:51
std::shared_ptr< ClusterLayout > m_cluster
the current cluster
Definition: RagTime5Layout.cxx:1142
@ T_LongList
Definition: RagTime5StructManager.hxx:244
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
LayoutCParser(RagTime5ClusterManager &parser, int zoneType)
constructor
Definition: RagTime5Layout.cxx:421
@ F_page
Definition: RagTime5Layout.cxx:419
std::string getClusterDebugName(int id)
returns "data"+id+"A" ( followed by the cluster type and name if know)
Definition: RagTime5ClusterManager.cxx:230
std::shared_ptr< RagTime5ClusterManager > getClusterManager()
returns the cluster manager
Definition: RagTime5Document.cxx:395
unsigned long m_fileType[2]
the zone type in file
Definition: RagTime5ClusterManager.hxx:216
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:175
int m_fieldSize
the field size
Definition: RagTime5Layout.cxx:403
int m_ids[3]
the zone id
Definition: RagTime5StructManager.hxx:140
int m_masterId
the master zone id or 0
Definition: RagTime5Layout.cxx:93
a link to a small zone (or set of zones) in RagTime 5/6 documents
Definition: RagTime5ClusterManager.hxx:113
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Layout.cxx:332
int version() const
returns the file version
Definition: RagTime5Layout.cxx:156
the cluster data
Definition: RagTime5ClusterManager.hxx:261
namespace used to regroup all libwpd functions, enumerations which we have redefined for internal usa...
Definition: libmwaw_internal.cxx:51
int getNewZoneToParse() final
returns to new zone to parse.
Definition: RagTime5Layout.cxx:453
int m_type
the cluster type
Definition: RagTime5ClusterManager.hxx:451
@ F_settingsDef
Definition: RagTime5Layout.cxx:419
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:553
AnchorTo m_anchorTo
anchor position
Definition: MWAWPosition.hxx:270
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
int m_numPages
the number of pages
Definition: RagTime5Layout.cxx:1144
bool readFixedSizeZone(RagTime5ClusterManager::Link const &link, std::string const &name)
try to read a fixed size zone
Definition: RagTime5Document.cxx:1658
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
@ C_Layout
Definition: RagTime5ClusterManager.hxx:264
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
void updateLayout(RagTime5LayoutInternal::ClusterLayout &layout)
check that a layout is valid, ...
Definition: RagTime5Layout.cxx:235
std::string m_name
the link name
Definition: RagTime5ClusterManager.hxx:208
ClusterParser(RagTime5ClusterManager &parser, int type, std::string const &zoneName)
constructor
Definition: RagTime5ClusterManager.hxx:383
Generated on Fri Sep 18 2020 18:14:52 for libmwaw by
doxygen 1.8.20