34 #ifndef RAGTIME_5_DOCUMENT 35 # define RAGTIME_5_DOCUMENT 52 struct DocInfoFieldParser;
91 friend class RagTime5DocumentInternal::SubDocument;
100 bool checkHeader(
MWAWHeader *header,
bool strict=
false);
116 int numPages()
const;
118 void updatePageSpanList(std::vector<MWAWPageSpan> &spanList);
120 librevenge::RVNGPropertyList getDocumentMetaData()
const;
124 return m_parserState;
129 void setVersion(
int vers);
134 return getParserState()->m_asciiFile;
138 std::shared_ptr<RagTime5Zone> getDataZone(
int dataId)
const;
145 std::shared_ptr<RagTime5ClusterManager> getClusterManager();
147 std::shared_ptr<RagTime5StructManager> getStructManager();
149 std::shared_ptr<RagTime5StyleManager> getStyleManager();
151 std::shared_ptr<RagTime5Formula> getFormulaParser();
153 std::shared_ptr<RagTime5Graph> getGraphParser();
155 std::shared_ptr<RagTime5Spreadsheet> getSpreadsheetParser();
158 std::shared_ptr<RagTime5ClusterManager::Cluster> readButtonCluster(
RagTime5Zone &zone,
int zoneType);
160 std::shared_ptr<RagTime5ClusterManager::Cluster> readChartCluster(
RagTime5Zone &zone,
int zoneType);
162 std::shared_ptr<RagTime5ClusterManager::Cluster> readGraphicCluster(
RagTime5Zone &zone,
int zoneType);
164 std::shared_ptr<RagTime5ClusterManager::Cluster> readLayoutCluster(
RagTime5Zone &zone,
int zoneType);
166 std::shared_ptr<RagTime5ClusterManager::Cluster> readPipelineCluster(
RagTime5Zone &zone,
int zoneType);
168 std::shared_ptr<RagTime5ClusterManager::Cluster> readPictureCluster(
RagTime5Zone &zone,
int zoneType);
170 std::shared_ptr<RagTime5ClusterManager::Cluster> readSpreadsheetCluster(
RagTime5Zone &zone,
int zoneType);
172 std::shared_ptr<RagTime5ClusterManager::Cluster> readTextCluster(
RagTime5Zone &zone,
int zoneType);
183 void newPage(
int number,
bool softBreak);
190 bool findZonesKind();
192 bool updateZone(std::shared_ptr<RagTime5Zone> &zone);
203 bool useMainZoneInfoData();
208 bool checkIsSpreadsheet();
215 std::vector<RagTime5StructManager::ZoneLink> &listLinks);
218 std::vector<RagTime5StructManager::ZoneLink> &list, std::string
const &name=
"");
221 bool readString(
RagTime5Zone &zone, std::string &
string);
223 bool readUnicodeString(
RagTime5Zone &zone, std::string
const &what=
"");
225 bool readLongListWithSize(
int dataId,
int fSz, std::vector<long> &list, std::string
const &zoneName=
"");
227 bool readPositions(
int posId, std::vector<long> &listPosition);
249 bool readStructData(
RagTime5Zone &zone,
long endPos,
int n,
int headerSz,
262 bool readChildList(
RagTime5ClusterManager::Link const &link, std::vector<RagTime5StructManager::ZoneLink> &childList,
bool findN=
false);
264 bool checkClusterList(std::vector<RagTime5StructManager::ZoneLink>
const &list);
266 bool checkClusterList(std::vector<int>
const &list);
279 std::shared_ptr<RagTime5DocumentInternal::State>
m_state;
307 typedef void (
MWAWParser::* NewPage)(
int page,
bool softBreak);
std::shared_ptr< RagTime5DocumentInternal::State > m_state
the state
Definition: RagTime5Document.hxx:279
the main class to read the text part of RagTime 56 file
Definition: RagTime5Pipeline.hxx:72
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
std::shared_ptr< RagTime5StructManager > m_structManager
the structure manager
Definition: RagTime5Document.hxx:298
Internal: the helper to read doc info parse.
Definition: RagTime5Document.cxx:74
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:553
NewPage m_newPage
the new page callback
Definition: RagTime5Document.hxx:312
an interface used to insert comment in a binary file, written in ascii form (if debug_with_files is n...
Definition: MWAWDebug.hxx:65
a link to a name zone in RagTime 5/6 documents
Definition: RagTime5ClusterManager.hxx:222
Internal: the structures of a RagTime5Document.
Definition: RagTime5Document.cxx:71
std::shared_ptr< RagTime5ClusterManager > m_clusterManager
the cluster manager
Definition: RagTime5Document.hxx:296
std::shared_ptr< RagTime5Chart > m_chartParser
the chart manager
Definition: RagTime5Document.hxx:281
the main class to read the graphic part of RagTime 56 file
Definition: RagTime5Graph.hxx:80
the main class to parse a RagTime 5-6 file containing only a spreadsheet
Definition: RagTime5SSParser.hxx:65
basic class used to read/store RagTime 5/6 styles
Definition: RagTime5StyleManager.hxx:60
virtual class use to parse the field data
Definition: RagTime5StructManager.hxx:353
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:50
the cluster for root
Definition: RagTime5ClusterManager.hxx:329
std::shared_ptr< RagTime5StyleManager > m_styleManager
the style manager
Definition: RagTime5Document.hxx:300
the main class to read the spreadsheet part of RagTime 56 file
Definition: RagTime5Spreadsheet.hxx:77
std::shared_ptr< RagTime5Layout > m_layoutParser
the layout manager
Definition: RagTime5Document.hxx:287
virtual class use to parse the unstructured data
Definition: RagTime5StructManager.hxx:396
std::shared_ptr< RagTime5Text > m_textParser
the text manager
Definition: RagTime5Document.hxx:293
MWAWParserStatePtr getParserState()
returns the parser state
Definition: RagTime5Document.hxx:122
basic class used to manage RagTime 5/6 zones
Definition: RagTime5ClusterManager.hxx:58
std::shared_ptr< RagTime5Spreadsheet > m_spreadsheetParser
the spreadsheet manager
Definition: RagTime5Document.hxx:291
libmwaw::DebugFile & ascii()
a DebugFile used to write what we recognize when we parse the document
Definition: RagTime5Document.hxx:132
the main class to parse a RagTime 5-6 file
Definition: RagTime5Parser.hxx:65
the main class to read the text part of RagTime 56 file
Definition: RagTime5Text.hxx:75
SendFootnote m_sendFootnote
the send footnote callback
Definition: RagTime5Document.hxx:314
the main class to read the chart part of RagTime 56 file
Definition: RagTime5Chart.hxx:73
std::shared_ptr< RagTime5Formula > m_formulaParser
the formula manager
Definition: RagTime5Document.hxx:283
the main class to read the text part of RagTime 56 file
Definition: RagTime5Layout.hxx:72
Type
the cluster type
Definition: RagTime5ClusterManager.hxx:263
std::shared_ptr< MWAWParserState > m_parserState
the parser state
Definition: RagTime5Document.hxx:277
the main class to read a RagTime v5 file
Definition: RagTime5Document.hxx:76
MWAWParser & getMainParser()
returns the main parser
Definition: RagTime5Document.hxx:102
virtual class which defines the ancestor of all main zone parser
Definition: MWAWParser.hxx:99
Class to define the position of an object (textbox, picture, ..) in the document. ...
Definition: MWAWPosition.hxx:47
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:46
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:174
std::shared_ptr< RagTime5Pipeline > m_pipelineParser
the pipeline manager
Definition: RagTime5Document.hxx:289
std::shared_ptr< RagTime5Graph > m_graphParser
the graph manager
Definition: RagTime5Document.hxx:285
a link to a small zone (or set of zones) in RagTime 5/6 documents
Definition: RagTime5ClusterManager.hxx:113
the cluster data
Definition: RagTime5ClusterManager.hxx:261
bool readStructZone(MWAWParserState &parserState, char const *zoneName, bool hasEntete)
try to read a structured zone with unknown content
Definition: ClarisWksStruct.cxx:162
MWAWParser * m_parser
the main parser
Definition: RagTime5Document.hxx:275