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
46struct MWAWListLevel;
47
48namespace MoreTextInternal
49{
50struct Outline;
51struct Paragraph;
52struct State;
53
54class SubDocument;
55}
56
57class MoreParser;
58
65{
66 friend class MoreParser;
68public:
70 explicit MoreText(MoreParser &parser);
72 virtual ~MoreText();
73
75 int version() const;
76
78 int numPages() const;
79
80protected:
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
143private:
144 MoreText(MoreText const &orig) = delete;
145 MoreText &operator=(MoreText const &orig) = delete;
146
147protected:
148 //
149 // data
150 //
153
155 std::shared_ptr<MoreTextInternal::State> m_state;
156
159};
160#endif
161// vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:47
Class to store font.
Definition: MWAWFont.hxx:44
the main class to read a More file
Definition: MoreParser.hxx:81
Internal: the subdocument of a MoreText.
Definition: MoreText.cxx:445
the main class to read the text part of More Text file
Definition: MoreText.hxx:65
bool readOutline(MWAWEntry const &entry, MoreTextInternal::Outline &outline)
read a outline
Definition: MoreText.cxx:1522
int version() const
returns the file version
Definition: MoreText.cxx:532
bool sendTopic(int tId, int dLevel, std::vector< MWAWParagraph > &paraStack)
try to send a topic knowing the topic id
Definition: MoreText.cxx:922
bool readSpeakerNote(MWAWEntry const &entry)
read the list of speaker note
Definition: MoreText.cxx:830
bool readOutlineList(MWAWEntry const &entry)
read the list of outlines
Definition: MoreText.cxx:1472
bool sendComment(int cId)
try to send a comment knowing the comment id
Definition: MoreText.cxx:894
bool readCustomListLevel(MWAWEntry const &entry, MWAWListLevel &level)
read a custom list level
Definition: MoreText.cxx:1900
bool sendMainText()
send a main zone
Definition: MoreText.cxx:867
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:667
virtual ~MoreText()
destructor
Definition: MoreText.cxx:528
bool readComment(MWAWEntry const &entry)
read the list of comment/header/footer zones
Definition: MoreText.cxx:782
bool sendSpeakerNote(int nId)
try to send a speakernote knowing the note id
Definition: MoreText.cxx:908
int getLastTopicChildId(int tId) const
returns the last sub topic id corresponding to a topic and its child
Definition: MoreText.cxx:653
bool createZones()
try to create the text zones using read data
Definition: MoreText.cxx:573
MoreText & operator=(MoreText const &orig)=delete
bool readFont(MWAWEntry const &entry, std::string &fName, int &fId)
try to read a fontname
Definition: MoreText.cxx:1870
bool readFonts(MWAWEntry const &entry)
read the list of fonts
Definition: MoreText.cxx:1412
std::shared_ptr< MWAWSubDocument > getHeaderFooter(bool header)
returns a subdocument to send the header or the footer
Definition: MoreText.cxx:549
int numPages() const
returns the number of pages
Definition: MoreText.cxx:539
bool readTabs(MWAWEntry const &entry, MoreTextInternal::Paragraph &para, std::string &mess)
try to read some tabs
Definition: MoreText.cxx:2022
MoreParser * m_mainParser
the main parser;
Definition: MoreText.hxx:158
std::shared_ptr< MoreTextInternal::State > m_state
the state
Definition: MoreText.hxx:155
bool parseUnknown(MWAWEntry const &entry, long fDecal)
try to read either a font, a fontname, a pattern, a int
Definition: MoreText.cxx:2098
MoreText(MoreText const &orig)=delete
bool readTopic(MWAWEntry const &entry)
read the list of topic positions
Definition: MoreText.cxx:708
bool sendText(MWAWEntry const &entry, MWAWFont const &font)
send a text entry
Definition: MoreText.cxx:1011
MWAWParserStatePtr m_parserState
the parser state
Definition: MoreText.hxx:152
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
Internal: the structures of a MoreText.
Definition: MoreText.cxx:61
small structure to keep information about a list level
Definition: MWAWList.hxx:44
Internal: the outline data of a MoreText.
Definition: MoreText.cxx:192
Internal: the paragraph of a MoreText.
Definition: MoreText.cxx:64

Generated on Thu Jan 19 2023 00:00:00 for libmwaw by doxygen 1.9.6