MoreText.hxx Source File documentation

MoreText.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 More document
36 *
37 */
38 #ifndef MORE_TEXT
39 # define MORE_TEXT
40
41 #include <set>
42
43 #include "libmwaw_internal.hxx"
44 #include "MWAWDebug.hxx"
45
46 struct MWAWListLevel;
47
48 namespace MoreTextInternal
49 {
50 struct Outline;
51 struct Paragraph;
52 struct State;
53
54 class SubDocument;
55 }
56
57 class MoreParser;
58
64 class MoreText
65 {
66 friend class MoreParser;
67 friend class MoreTextInternal::SubDocument;
68 public:
70 explicit MoreText(MoreParser &parser);
72 virtual ~MoreText();
73
75 int version() const;
76
78 int numPages() const;
79
80 protected:
82 bool createZones();
84 bool sendMainText();
85
87 std::shared_ptr<MWAWSubDocument> getHeaderFooter(bool header);
88
89 //
90 // intermediate level
91 //
92
94 bool readTopic(MWAWEntry const &entry);
95
97 int getLastTopicChildId(int tId) const;
98
101 int checkTopicList(size_t tId, std::set<size_t> &parent);
102
104 bool readComment(MWAWEntry const &entry);
105
107 bool readSpeakerNote(MWAWEntry const &entry);
108
110 bool sendText(MWAWEntry const &entry, MWAWFont const &font);
111
113 bool sendComment(int cId);
114
116 bool sendSpeakerNote(int nId);
117
119 bool sendTopic(int tId, int dLevel, std::vector<MWAWParagraph> &paraStack);
120
122 bool readFonts(MWAWEntry const &entry);
123
125 bool readOutlineList(MWAWEntry const &entry);
126
128 bool readOutline(MWAWEntry const &entry, MoreTextInternal::Outline &outline);
129
134 bool readFont(MWAWEntry const &entry, std::string &fName, int &fId);
136 bool readTabs(MWAWEntry const &entry, MoreTextInternal::Paragraph &para, std::string &mess);
138 bool readCustomListLevel(MWAWEntry const &entry, MWAWListLevel &level);
139
141 bool parseUnknown(MWAWEntry const &entry, long fDecal);
142
143 private:
144 MoreText(MoreText const &orig) = delete;
145 MoreText &operator=(MoreText const &orig) = delete;
146
147 protected:
148 //
149 // data
150 //
152 MWAWParserStatePtr m_parserState;
153
155 std::shared_ptr<MoreTextInternal::State> m_state;
156
158 MoreParser *m_mainParser;
159 };
160 #endif
161 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
MoreTextInternal
Internal: the structures of a MoreText.
Definition: MoreText.cxx:60
MoreText::m_state
std::shared_ptr< MoreTextInternal::State > m_state
the state
Definition: MoreText.hxx:155
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:553
libmwaw_internal.hxx
MoreText::sendSpeakerNote
bool sendSpeakerNote(int nId)
try to send a speakernote knowing the note id
Definition: MoreText.cxx:906
MoreText::readTabs
bool readTabs(MWAWEntry const &entry, MoreTextInternal::Paragraph &para, std::string &mess)
try to read some tabs
Definition: MoreText.cxx:2020
MoreParser
the main class to read a More file
Definition: MoreParser.hxx:80
MoreText::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: MoreText.hxx:152
MoreText::version
int version() const
returns the file version
Definition: MoreText.cxx:530
MWAWListLevel
small structure to keep information about a list level
Definition: MWAWList.hxx:44
MoreText::parseUnknown
bool parseUnknown(MWAWEntry const &entry, long fDecal)
try to read either a font, a fontname, a pattern, a int
Definition: MoreText.cxx:2096
MoreText::readOutlineList
bool readOutlineList(MWAWEntry const &entry)
read the list of outlines
Definition: MoreText.cxx:1470
MoreTextInternal::Outline
Internal: the outline data of a MoreText.
Definition: MoreText.cxx:190
MoreText::checkTopicList
int checkTopicList(size_t tId, std::set< size_t > &parent)
check that the topic and its child does not loop (if so, cut some edge), return the number of breakpa...
Definition: MoreText.cxx:665
MoreText::~MoreText
virtual ~MoreText()
destructor
Definition: MoreText.cxx:526
MoreTextInternal::SubDocument
Internal: the subdocument of a MoreText.
Definition: MoreText.cxx:442
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:43
MoreText::MoreText
MoreText(MoreParser &parser)
constructor
Definition: MoreText.cxx:519
MoreText
the main class to read the text part of More Text file
Definition: MoreText.hxx:64
MoreText::readTopic
bool readTopic(MWAWEntry const &entry)
read the list of topic positions
Definition: MoreText.cxx:706
MoreText::getHeaderFooter
std::shared_ptr< MWAWSubDocument > getHeaderFooter(bool header)
returns a subdocument to send the header or the footer
Definition: MoreText.cxx:547
MoreText::sendText
bool sendText(MWAWEntry const &entry, MWAWFont const &font)
send a text entry
Definition: MoreText.cxx:1009
MoreText::m_mainParser
MoreParser * m_mainParser
the main parser;
Definition: MoreText.hxx:158
MoreText::readOutline
bool readOutline(MWAWEntry const &entry, MoreTextInternal::Outline &outline)
read a outline
Definition: MoreText.cxx:1520
MoreText::sendMainText
bool sendMainText()
send a main zone
Definition: MoreText.cxx:865
MoreText::readFont
bool readFont(MWAWEntry const &entry, std::string &fName, int &fId)
try to read a fontname
Definition: MoreText.cxx:1868
MoreText::getLastTopicChildId
int getLastTopicChildId(int tId) const
returns the last sub topic id corresponding to a topic and its child
Definition: MoreText.cxx:651
MoreText::sendComment
bool sendComment(int cId)
try to send a comment knowing the comment id
Definition: MoreText.cxx:892
MoreText::readSpeakerNote
bool readSpeakerNote(MWAWEntry const &entry)
read the list of speaker note
Definition: MoreText.cxx:828
MoreText::readFonts
bool readFonts(MWAWEntry const &entry)
read the list of fonts
Definition: MoreText.cxx:1410
MWAWDebug.hxx
MoreText::numPages
int numPages() const
returns the number of pages
Definition: MoreText.cxx:537
MoreText::readComment
bool readComment(MWAWEntry const &entry)
read the list of comment/header/footer zones
Definition: MoreText.cxx:780
MoreText::createZones
bool createZones()
try to create the text zones using read data
Definition: MoreText.cxx:571
MoreText::readCustomListLevel
bool readCustomListLevel(MWAWEntry const &entry, MWAWListLevel &level)
read a custom list level
Definition: MoreText.cxx:1898
MoreTextInternal::Paragraph
Internal: the paragraph of a MoreText.
Definition: MoreText.cxx:64
MoreText::sendTopic
bool sendTopic(int tId, int dLevel, std::vector< MWAWParagraph > &paraStack)
try to send a topic knowing the topic id
Definition: MoreText.cxx:920
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:46
MoreText::operator=
MoreText & operator=(MoreText const &orig)=delete