ClarisWksText.hxx Source File documentation

ClarisWksText.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 Claris Works text document
36 *
37 */
38 #ifndef CLARIS_WKS_TEXT
39 # define CLARIS_WKS_TEXT
40
41 #include <list>
42 #include <string>
43 #include <vector>
44
45 #include "libmwaw_internal.hxx"
46
47 #include "MWAWEntry.hxx"
48 #include "MWAWSubDocument.hxx"
49
50 #include "MWAWDebug.hxx"
51 #include "MWAWInputStream.hxx"
52
53 #include "MWAWParser.hxx"
54
55 #include "ClarisWksStruct.hxx"
56
57 namespace ClarisWksTextInternal
58 {
59 class SubDocument;
60
61 struct Paragraph;
62 struct Zone;
63 struct State;
64 }
65
66 class ClarisWksDocument;
67 class ClarisWksParser;
68 class ClarisWksStyleManager;
69
75 class ClarisWksText
76 {
77 friend class ClarisWksTextInternal::SubDocument;
78 friend class ClarisWksDocument;
79 friend class ClarisWksParser;
80 friend class ClarisWksStyleManager;
81
82 public:
84 explicit ClarisWksText(ClarisWksDocument &document);
86 virtual ~ClarisWksText();
87
89 int version() const;
90
92 int numPages() const;
94 bool updatePageSpanList(MWAWPageSpan const &page, std::vector<MWAWPageSpan> &spanList);
95
97 std::shared_ptr<ClarisWksStruct::DSET> readDSETZone(ClarisWksStruct::DSET const &zone, MWAWEntry const &entry, bool &complete);
98
99 protected:
101 void setProperty(MWAWListener &listener, ClarisWksTextInternal::Paragraph const &ruler, int listId=-1);
102
104 bool sendZone(int number, MWAWListenerPtr const &listener=MWAWListenerPtr());
106 bool canSendTextAsGraphic(int number) const;
107
109 void flushExtra();
110
111 //
112 // low level
113 //
114
116 bool readParagraphs(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone);
117
119 bool readFonts(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone);
120
122 bool readTokens(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone);
123
125 bool readTextZoneSize(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone);
126
128 bool readTextSection(ClarisWksTextInternal::Zone &zone);
129
131 bool sendText(ClarisWksTextInternal::Zone const &zone, MWAWListenerPtr listener);
133 bool canSendTextAsGraphic(ClarisWksTextInternal::Zone const &zone) const;
134
136 int findListId(ClarisWksTextInternal::Zone const &zone, int actListId, long cPos, long &lastPos);
137
139 bool readParagraphs();
140
144 bool readParagraph(int id=-1);
145
146 // THE NAMED ENTRY
147
149 bool readSTYL_RULR(int N, int fSz);
150
151 private:
152 ClarisWksText(ClarisWksText const &orig) = delete;
153 ClarisWksText &operator=(ClarisWksText const &orig) = delete;
154
155 protected:
156 //
157 // data
158 //
159
161 ClarisWksDocument &m_document;
162
164 MWAWParserStatePtr m_parserState;
165
167 std::shared_ptr<ClarisWksTextInternal::State> m_state;
168
170 MWAWParser *m_mainParser;
171 };
172 #endif
173 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
ClarisWksTextInternal::operator<<
std::ostream & operator<<(std::ostream &o, PLC const &plc)
Definition: ClarisWksText.cxx:82
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:47
ClarisWksTextInternal::P_Font
@ P_Font
Definition: ClarisWksText.cxx:61
ClarisWksTextInternal::P_Ruler
@ P_Ruler
Definition: ClarisWksText.cxx:61
ClarisWksStruct::DSET::m_id
int m_id
the zone identificator
Definition: ClarisWksStruct.hxx:199
MWAWField::Time
@ Time
Definition: libmwaw_internal.hxx:401
MWAWParagraph::m_justify
MWAWVariable< Justification > m_justify
the justification
Definition: MWAWParagraph.hxx:167
MWAWInputStreamPtr
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:551
ClarisWksText::numPages
int numPages() const
returns the number of pages
Definition: ClarisWksText.cxx:661
ClarisWksTextInternal::Paragraph::m_labelType
int m_labelType
the label
Definition: ClarisWksText.cxx:146
MWAWPageSpan::setPageSpan
void setPageSpan(const int pageSpan)
set the page span ( default 1)
Definition: MWAWPageSpan.hxx:268
MWAWTabStop::m_leaderCharacter
uint16_t m_leaderCharacter
the leader char
Definition: MWAWParagraph.hxx:78
MWAWHeaderFooter::HEADER
@ HEADER
Definition: MWAWPageSpan.hxx:48
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:129
MWAWListLevel::m_suffix
librevenge::RVNGString m_suffix
string which follows the number if we have an ordered level
Definition: MWAWList.hxx:113
ClarisWksStruct::DSET::Child::m_posC
long m_posC
a position (used in text zone to store the character )
Definition: ClarisWksStruct.hxx:281
ClarisWksTextInternal::Token::operator<<
friend std::ostream & operator<<(std::ostream &o, Token const &tok)
operator <<
Definition: ClarisWksText.cxx:444
ClarisWksTextInternal::TKN_FIELD
@ TKN_FIELD
Definition: ClarisWksText.cxx:408
ClarisWksTextInternal::Zone::m_fontList
std::vector< MWAWFont > m_fontList
the list of fonts
Definition: ClarisWksText.cxx:555
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
ClarisWksStruct.hxx
ClarisWksStruct::DSET::P_Table
@ P_Table
Definition: ClarisWksStruct.hxx:91
MWAWListener::ColumnBreak
@ ColumnBreak
Definition: MWAWListener.hxx:58
ClarisWksTextInternal::TextZoneInfo::m_extra
std::string m_extra
extra data
Definition: ClarisWksText.cxx:405
libmwaw::DebugFile::addDelimiter
void addDelimiter(long pos, char c)
adds a not breaking delimiter in position pos
Definition: MWAWDebug.cxx:73
ClarisWksTextInternal::State::m_paragraphsList
std::vector< Paragraph > m_paragraphsList
the list of paragraph
Definition: ClarisWksText.cxx:580
ClarisWksTextInternal::Paragraph::Paragraph
Paragraph()
constructor
Definition: ClarisWksText.cxx:119
ClarisWksStruct::Struct::m_headerSize
long m_headerSize
the header size
Definition: ClarisWksStruct.hxx:75
ClarisWksTextInternal::Section::Section
Section()
the constructor
Definition: ClarisWksText.cxx:292
MWAWPosition::setRelativePosition
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: MWAWPosition.hxx:237
ClarisWksTextInternal::Zone::removeChild
void removeChild(int cId, bool normalChild) final
remove a child from a list.
Definition: ClarisWksText.cxx:533
MWAWDocument::MWAW_K_PAINT
@ MWAW_K_PAINT
bitmap graphic
Definition: MWAWDocument.hxx:84
MWAWParagraph::m_tabs
MWAWVariable< std::vector< MWAWTabStop > > m_tabs
the tabulations
Definition: MWAWParagraph.hxx:162
ClarisWksText::setProperty
void setProperty(MWAWListener &listener, ClarisWksTextInternal::Paragraph const &ruler, int listId=-1)
sends a paragraph property to the listener
Definition: ClarisWksText.cxx:2141
ClarisWksTextInternal::PLC::PLC
PLC()
the constructor
Definition: ClarisWksText.cxx:66
ClarisWksTextInternal::SubDocument::parse
void parse(MWAWListenerPtr &listener, libmwaw::SubDocumentType type) final
the parser function
Definition: ClarisWksText.cxx:619
ClarisWksStruct::DSET::Child::m_type
ChildType m_type
the type
Definition: ClarisWksStruct.hxx:277
ClarisWksTextInternal::Section::m_HFId
int m_HFId[4]
the header/footer id
Definition: ClarisWksText.cxx:379
MWAWField::m_DTFormat
std::string m_DTFormat
the date/time format using strftime format if defined
Definition: libmwaw_internal.hxx:424
MWAWHeaderFooter::EVEN
@ EVEN
Definition: MWAWPageSpan.hxx:50
ClarisWksTextInternal::Paragraph
Internal: class to store the paragraph properties.
Definition: ClarisWksText.cxx:117
ClarisWksTextInternal::Paragraph::operator=
Paragraph & operator=(Paragraph const &)=default
MWAWParagraph::m_listLevelIndex
MWAWVariable< int > m_listLevelIndex
the actual level index
Definition: MWAWParagraph.hxx:174
MWAWListLevel::NONE
@ NONE
Definition: MWAWList.hxx:46
ClarisWksTextInternal::Section::m_hasTitlePage
bool m_hasTitlePage
true if the first page is a title page(ie.
Definition: ClarisWksText.cxx:373
MWAWTabStop::CENTER
@ CENTER
Definition: MWAWParagraph.hxx:48
ClarisWksTextInternal::Zone::m_paragraphList
std::vector< ParagraphPLC > m_paragraphList
the list of paragraph
Definition: ClarisWksText.cxx:556
MWAWParagraph::setInterline
void setInterline(double value, librevenge::RVNGUnit unit, LineSpacingType type=Fixed)
set the interline
Definition: MWAWParagraph.hxx:129
ClarisWksText::updatePageSpanList
bool updatePageSpanList(MWAWPageSpan const &page, std::vector< MWAWPageSpan > &spanList)
updates the page span list and returns true if this is possible
Definition: ClarisWksText.cxx:682
MWAWListLevel::LOWER_ALPHA
@ LOWER_ALPHA
Definition: MWAWList.hxx:46
MWAWEntry.hxx
ClarisWksTextInternal::Paragraph::Paragraph
Paragraph(Paragraph const &)=default
MWAWFontConverter.hxx
ClarisWksTextInternal::Token::Token
Token()
constructor
Definition: ClarisWksText.cxx:413
libmwaw::appendUnicode
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string
Definition: libmwaw_internal.cxx:63
ClarisWksTextInternal::Zone::m_tokenList
std::vector< Token > m_tokenList
the list of token
Definition: ClarisWksText.cxx:558
ClarisWksText::operator=
ClarisWksText & operator=(ClarisWksText const &orig)=delete
MWAWParagraph::m_spacings
MWAWVariable< double > m_spacings[3]
the line spacing
Definition: MWAWParagraph.hxx:156
ClarisWksTextInternal::SubDocument::m_textParser
ClarisWksText & m_textParser
the document manager
Definition: ClarisWksText.cxx:614
ClarisWksTextInternal::SubDocument::operator!=
bool operator!=(MWAWSubDocument const &doc) const final
operator!=
Definition: ClarisWksText.cxx:599
ClarisWksText::readFonts
bool readFonts(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone)
try to read a font sequence
Definition: ClarisWksText.cxx:1030
ClarisWksTextInternal::Zone::m_numTextZone
int m_numTextZone
the number of text zone ( ie.
Definition: ClarisWksText.cxx:549
ClarisWksStruct::DSET::Child
structure used to define the child of a DSET structure
Definition: ClarisWksStruct.hxx:225
ClarisWksTextInternal::ParagraphPLC::m_rulerId
int m_rulerId
the ruler id
Definition: ClarisWksText.cxx:280
ClarisWksDocument::sendZone
bool sendZone(int zoneId, MWAWListenerPtr listener=MWAWListenerPtr(), MWAWPosition pos=MWAWPosition())
try to send a zone
Definition: ClarisWksDocument.cxx:453
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:85
ClarisWksTextInternal::State::m_version
int m_version
the file version
Definition: ClarisWksText.cxx:578
ClarisWksTextInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: ClarisWksText.cxx:596
MWAWParagraph::m_listLevel
MWAWVariable< MWAWListLevel > m_listLevel
the actual level
Definition: MWAWParagraph.hxx:180
ClarisWksText::canSendTextAsGraphic
bool canSendTextAsGraphic(int number) const
check if we can send a textzone as graphic
Definition: ClarisWksText.cxx:2152
MWAWListLevel::UPPER_ALPHA
@ UPPER_ALPHA
Definition: MWAWList.hxx:46
ClarisWksTextInternal::Token::m_unknown
int m_unknown[3]
the unknown zone
Definition: ClarisWksText.cxx:439
MWAW_FALLTHROUGH
#define MWAW_FALLTHROUGH
Definition: libmwaw_internal.hxx:118
ClarisWksTextInternal::Token::m_descent
int m_descent
the descent
Definition: ClarisWksText.cxx:435
MWAWHeaderFooter::m_subDocument
MWAWSubDocumentPtr m_subDocument
the document data
Definition: MWAWPageSpan.hxx:92
ClarisWksTextInternal::P_Child
@ P_Child
Definition: ClarisWksText.cxx:61
ClarisWksTextInternal::SubDocument::SubDocument
SubDocument(ClarisWksText &parser, MWAWInputStreamPtr const &input, int zoneId)
Definition: ClarisWksText.cxx:590
ClarisWksText::m_state
std::shared_ptr< ClarisWksTextInternal::State > m_state
the state
Definition: ClarisWksText.hxx:167
ClarisWksText::m_document
ClarisWksDocument & m_document
the document
Definition: ClarisWksText.hxx:161
ClarisWksTextInternal::TextZoneInfo::operator<<
friend std::ostream & operator<<(std::ostream &o, TextZoneInfo const &info)
operator<<
Definition: ClarisWksText.cxx:394
ClarisWksTextInternal::Section::m_leftRightHF
bool m_leftRightHF
true if the left/right header/footer are different
Definition: ClarisWksText.cxx:377
ClarisWksText::readTextZoneSize
bool readTextZoneSize(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone)
try to read the text zone size
Definition: ClarisWksText.cxx:1411
ClarisWksTextInternal::Token::m_extra
std::string m_extra
a string used to store the parsing errors
Definition: ClarisWksText.cxx:441
ClarisWksStyleManager::Style
the structure to store the style in a ClarisWksStyleManager
Definition: ClarisWksStyleManager.hxx:207
ClarisWksDocument
main document information used to create a ClarisWorks file
Definition: ClarisWksDocument.hxx:74
ClarisWksTextInternal::ParagraphPLC
Definition: ClarisWksText.cxx:232
ClarisWksTextInternal::Zone::Zone
Zone(ClarisWksStruct::DSET const &dset=ClarisWksStruct::DSET())
constructor
Definition: ClarisWksText.cxx:497
ClarisWksTextInternal::Zone::m_zones
std::vector< MWAWEntry > m_zones
Definition: ClarisWksText.cxx:547
ClarisWksText::version
int version() const
returns the file version
Definition: ClarisWksText.cxx:654
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
MWAWSubDocument
abstract class used to store a subdocument (with a comparison function)
Definition: MWAWSubDocument.hxx:42
MWAWParagraph::m_margins
MWAWVariable< double > m_margins[3]
the margins
Definition: MWAWParagraph.hxx:148
ClarisWksTextInternal::TKN_GRAPHIC
@ TKN_GRAPHIC
Definition: ClarisWksText.cxx:408
ClarisWksStruct
namespace to store the main structure which appears in a ClarisDraw/ClarisWorks file
Definition: ClarisWksStruct.cxx:50
MWAWTabStop::DECIMAL
@ DECIMAL
Definition: MWAWParagraph.hxx:48
ClarisWksTextInternal::ParagraphPLC::m_flags
int m_flags
some flags
Definition: ClarisWksText.cxx:284
MWAWSection::numColumns
int numColumns() const
returns the number of columns
Definition: MWAWSection.hxx:71
MWAWHeaderFooter
a class which stores the header/footer data
Definition: MWAWPageSpan.hxx:45
MWAWField::PageCount
@ PageCount
Definition: libmwaw_internal.hxx:401
ClarisWksText::findListId
int findListId(ClarisWksTextInternal::Zone const &zone, int actListId, long cPos, long &lastPos)
try to find a list id which corresponds to the list beginning in actPos
Definition: ClarisWksText.cxx:1783
ClarisWksText::readParagraphs
bool readParagraphs()
read the rulers block which is present at the beginning of the text in the first version of Claris Wo...
Definition: ClarisWksText.cxx:1854
ClarisWksStruct::DSET::P_Frame
@ P_Frame
Definition: ClarisWksStruct.hxx:91
MWAWField::Date
@ Date
Definition: libmwaw_internal.hxx:401
ClarisWksDocument::newPage
void newPage(int page, bool softBreak=false)
send a page break
Definition: ClarisWksDocument.cxx:326
MWAWTabStop
class to store a tab use by MWAWParagraph
Definition: MWAWParagraph.hxx:46
MWAWSubDocument.hxx
ClarisWksTextInternal::P_Unknown
@ P_Unknown
Definition: ClarisWksText.cxx:61
ClarisWksTextInternal::Section::m_continuousHF
bool m_continuousHF
true if the header/footer are shared with previous sections
Definition: ClarisWksText.cxx:375
ClarisWksTextInternal::State::m_zoneMap
std::map< int, std::shared_ptr< Zone > > m_zoneMap
the list of text zone
Definition: ClarisWksText.cxx:582
libmwaw::SubDocumentType
SubDocumentType
Definition: libmwaw_internal.hxx:188
MWAWDocument::MWAW_K_PRESENTATION
@ MWAW_K_PRESENTATION
presentation graphic
Definition: MWAWDocument.hxx:85
ClarisWksStruct::DSET::Child::m_box
MWAWBox2f m_box
the bdbox
Definition: ClarisWksStruct.hxx:285
MWAWParagraph::JustificationCenter
@ JustificationCenter
Definition: MWAWParagraph.hxx:90
ClarisWksStruct::DSET::m_otherChilds
std::vector< int > m_otherChilds
the list of other child
Definition: ClarisWksStruct.hxx:217
ClarisWksStruct::DSET::m_parsed
bool m_parsed
a flag to know if the entry is sent or not to the listener
Definition: ClarisWksStruct.hxx:220
ClarisWksTextInternal::PLC::m_extra
std::string m_extra
extra data
Definition: ClarisWksText.cxx:79
ClarisWksTextInternal::P_Section
@ P_Section
Definition: ClarisWksText.cxx:61
MWAWParagraph.hxx
MWAWListLevel::UPPER_ROMAN
@ UPPER_ROMAN
Definition: MWAWList.hxx:47
ClarisWksStyleManager.hxx
ClarisWksTextInternal::Zone::m_numParagInfo
int m_numParagInfo
the number of paragraph info
Definition: ClarisWksText.cxx:550
ClarisWksText::readTokens
bool readTokens(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone)
try to the token zone)
Definition: ClarisWksText.cxx:1164
libmwaw_internal.hxx
MWAWListener
This class contains a virtual interface to all listener.
Definition: MWAWListener.hxx:50
MWAWPosition.hxx
MWAWEntry::setEnd
void setEnd(long off)
sets the end offset
Definition: MWAWEntry.hxx:77
ClarisWksText::ClarisWksText
ClarisWksText(ClarisWksDocument &document)
constructor
Definition: ClarisWksText.cxx:642
ClarisWksStruct::DSET::P_Header
@ P_Header
Definition: ClarisWksStruct.hxx:91
ClarisWksTextInternal::Zone::m_numFont
int m_numFont
the number of font
Definition: ClarisWksText.cxx:551
ClarisWksTextInternal::ParagraphPLC::ParagraphPLC
ParagraphPLC()
Definition: ClarisWksText.cxx:233
MWAWListener::setParagraph
virtual void setParagraph(MWAWParagraph const &paragraph)=0
sets the paragraph
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:48
ClarisWksTextInternal::ParagraphPLC::m_extra
std::string m_extra
extra data
Definition: ClarisWksText.cxx:286
ClarisWksStruct::DSET::m_fileType
int m_fileType
the type ( 0: text, -1: graphic, ...)
Definition: ClarisWksStruct.hxx:189
MWAWEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: MWAWEntry.hxx:67
MWAWSection::m_columns
std::vector< Column > m_columns
the different column
Definition: MWAWSection.hxx:108
ClarisWksTextInternal::P_Token
@ P_Token
Definition: ClarisWksText.cxx:61
ClarisWksStruct::DSET::C_SubText
@ C_SubText
Definition: ClarisWksStruct.hxx:96
ClarisWksTextInternal::Zone::m_unknown
int m_unknown
an unknown flags
Definition: ClarisWksText.cxx:553
ClarisWksDocument.hxx
ClarisWksText::sendText
bool sendText(ClarisWksTextInternal::Zone const &zone, MWAWListenerPtr listener)
send the text zone to the listener
Definition: ClarisWksText.cxx:1469
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:93
ClarisWksTextInternal::TKN_PAGENUMBER
@ TKN_PAGENUMBER
Definition: ClarisWksText.cxx:408
ClarisWksStruct::Struct::readHeader
bool readHeader(MWAWInputStreamPtr input, bool strict=false)
try to read the header
Definition: ClarisWksStruct.cxx:72
ClarisWksText
the main class to read the text part of Claris Works file
Definition: ClarisWksText.hxx:76
MWAWVec2< float >
MWAWHeaderFooter::ODD
@ ODD
Definition: MWAWPageSpan.hxx:50
MWAWGraphicListener.hxx
MWAWTabStop::m_alignment
Alignment m_alignment
the alignment ( left, center, ...)
Definition: MWAWParagraph.hxx:76
MWAWSection
a class which stores section properties
Definition: MWAWSection.hxx:46
MWAWDebug.hxx
ClarisWksTextInternal::ParagraphPLC::operator<<
friend std::ostream & operator<<(std::ostream &o, ParagraphPLC const &info)
Definition: ClarisWksText.cxx:241
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:83
ClarisWksText::readParagraph
bool readParagraph(int id=-1)
the definition of ruler : present at the beginning of the text in the first version of Claris Works :...
Definition: ClarisWksText.cxx:1893
ClarisWksTextInternal::Zone::m_fatherId
int m_fatherId
the father id
Definition: ClarisWksText.cxx:552
MWAWEntry::setLength
void setLength(long l)
sets the zone size
Definition: MWAWEntry.hxx:72
ClarisWksTextInternal::SubDocument::m_id
int m_id
the subdocument id
Definition: ClarisWksText.cxx:616
ClarisWksText::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: ClarisWksText.hxx:164
ClarisWksTextInternal::Zone
Definition: ClarisWksText.cxx:495
ClarisWksTextInternal::TKN_FOOTNOTE
@ TKN_FOOTNOTE
Definition: ClarisWksText.cxx:408
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1193
MWAWListLevel::LOWER_ROMAN
@ LOWER_ROMAN
Definition: MWAWList.hxx:47
ClarisWksStruct::DSET
main structure which correspond to a document part
Definition: ClarisWksStruct.hxx:87
MWAWTabStop::m_position
double m_position
the tab position
Definition: MWAWParagraph.hxx:74
ClarisWksText::readDSETZone
std::shared_ptr< ClarisWksStruct::DSET > readDSETZone(ClarisWksStruct::DSET const &zone, MWAWEntry const &entry, bool &complete)
reads the zone Text DSET
Definition: ClarisWksText.cxx:759
ClarisWksText::sendZone
bool sendZone(int number, MWAWListenerPtr const &listener=MWAWListenerPtr())
sends the zone data to the listener (if it exists )
Definition: ClarisWksText.cxx:2160
ClarisWksText.hxx
ClarisWksTextInternal::Section::m_firstPage
int m_firstPage
the first page
Definition: ClarisWksText.cxx:371
MWAWField
a field
Definition: libmwaw_internal.hxx:399
MWAWField::PageNumber
@ PageNumber
Definition: libmwaw_internal.hxx:401
MWAWTabStop::m_decimalCharacter
uint16_t m_decimalCharacter
the decimal char
Definition: MWAWParagraph.hxx:80
ClarisWksDocument::getStyleManager
std::shared_ptr< ClarisWksStyleManager > getStyleManager()
returns the style manager
Definition: ClarisWksDocument.hxx:134
MWAWHeaderFooter::FOOTER
@ FOOTER
Definition: MWAWPageSpan.hxx:48
ClarisWksDocument::getMainSection
MWAWSection getMainSection() const
returns the main document section
Definition: ClarisWksDocument.cxx:335
ClarisWksTextInternal::Token::m_size
int m_size[2]
the size(?)
Definition: ClarisWksText.cxx:433
MWAWPosition::Char
@ Char
Definition: MWAWPosition.hxx:51
ClarisWksTextInternal::PLCType
PLCType
the different plc type
Definition: ClarisWksText.cxx:61
ClarisWksStruct::DSET::DSET
DSET()
constructor
Definition: ClarisWksStruct.hxx:99
ClarisWksTextInternal::Token::m_zoneId
int m_zoneId
the zone id which correspond to this type
Definition: ClarisWksText.cxx:429
ClarisWksDocument::sendFootnote
void sendFootnote(int zoneId)
ask the main parser to create a document to send a footnote
Definition: ClarisWksDocument.cxx:367
ClarisWksTextInternal::SubDocument
Internal: the subdocument of a ClarisWksDocument.
Definition: ClarisWksText.cxx:588
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:88
ClarisWksStyleManager
a structure to store the style list and the lookup zone
Definition: ClarisWksStyleManager.hxx:61
ClarisWksTextInternal::Section::getSection
MWAWSection getSection() const
returns a section
Definition: ClarisWksText.cxx:307
MWAWHeaderFooter::ALL
@ ALL
Definition: MWAWPageSpan.hxx:50
MWAWListLevel::m_bullet
librevenge::RVNGString m_bullet
the bullet if we have an bullet level
Definition: MWAWList.hxx:114
ClarisWksText::~ClarisWksText
virtual ~ClarisWksText()
destructor
Definition: ClarisWksText.cxx:650
MWAWListLevel::DECIMAL
@ DECIMAL
Definition: MWAWList.hxx:46
ClarisWksStruct::Struct::m_size
long m_size
the size of the DSET header
Definition: ClarisWksStruct.hxx:69
MWAWParser
virtual class which defines the ancestor of all main zone parser
Definition: MWAWParser.hxx:100
ClarisWksParser
the main class to read a Claris Works file
Definition: ClarisWksParser.hxx:68
ClarisWksTextInternal::PLC::m_type
PLCType m_type
the PLC types
Definition: ClarisWksText.cxx:75
ClarisWksTextInternal::Section::m_extra
std::string m_extra
a string to store unparsed data
Definition: ClarisWksText.cxx:381
ClarisWksTextInternal::Section
internal class used to store a section
Definition: ClarisWksText.cxx:290
ClarisWksTextInternal::TokenType
TokenType
Definition: ClarisWksText.cxx:408
ClarisWksText::flushExtra
void flushExtra()
sends the data which have not yet been sent to the listener
Definition: ClarisWksText.cxx:2169
ClarisWksTextInternal::Token::m_page
int m_page
the page
Definition: ClarisWksText.cxx:431
ClarisWksStruct::DSET::P_Footer
@ P_Footer
Definition: ClarisWksStruct.hxx:91
ClarisWksStruct::DSET::m_numData
long m_numData
the number of header
Definition: ClarisWksStruct.hxx:180
ClarisWksTextInternal::Section::m_pos
long m_pos
the character position
Definition: ClarisWksText.cxx:361
ClarisWksTextInternal::Section::m_columnsSep
std::vector< int > m_columnsSep
the columns separator
Definition: ClarisWksText.cxx:367
ClarisWksTextInternal::TextZoneInfo::TextZoneInfo
TextZoneInfo()
constructor
Definition: ClarisWksText.cxx:387
MWAWListLevel::BULLET
@ BULLET
Definition: MWAWList.hxx:46
ClarisWksTextInternal::TextZoneInfo
internal class used to store a text zone
Definition: ClarisWksText.cxx:385
libmwaw::Right
@ Right
Definition: libmwaw_internal.hxx:176
ClarisWksTextInternal::ParagraphPLC::m_styleId
int m_styleId
the style id ( via the style lookup table )
Definition: ClarisWksText.cxx:282
MWAWParagraph::JustificationFull
@ JustificationFull
Definition: MWAWParagraph.hxx:90
MWAWListLevel::m_labelWidth
double m_labelWidth
the minimum label width
Definition: MWAWList.hxx:105
MWAWSection.hxx
MWAWParagraph::JustificationRight
@ JustificationRight
Definition: MWAWParagraph.hxx:91
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
MWAWListLevel
small structure to keep information about a list level
Definition: MWAWList.hxx:44
ClarisWksTextInternal::Zone::m_textZoneList
std::vector< TextZoneInfo > m_textZoneList
the list of zone
Definition: ClarisWksText.cxx:559
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
ClarisWksStruct::Struct::m_dataSize
long m_dataSize
the data size
Definition: ClarisWksStruct.hxx:73
MWAWListLevel::m_type
Type m_type
the type of the level
Definition: MWAWList.hxx:101
MWAWEntry::valid
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:99
ClarisWksStruct::DSET::P_Main
@ P_Main
Definition: ClarisWksStruct.hxx:91
MWAWVariable::get
T const & get() const
return the current value
Definition: libmwaw_internal.hxx:630
MWAWPageSpan::setHeaderFooter
void setHeaderFooter(MWAWHeaderFooter const &headerFooter)
add a header/footer on some page
Definition: MWAWPageSpan.cxx:227
MWAWListener.hxx
ClarisWksText::ClarisWksText
ClarisWksText(ClarisWksText const &orig)=delete
ClarisWksTextInternal::Zone::m_plcMap
std::multimap< long, PLC > m_plcMap
the plc map
Definition: ClarisWksText.cxx:560
libmwaw::Left
@ Left
Definition: libmwaw_internal.hxx:176
MWAWListLevel::m_numBeforeLabels
int m_numBeforeLabels
the number of label to show before this
Definition: MWAWList.hxx:103
ClarisWksTextInternal
Internal: the structures of a ClarisWksText.
Definition: ClarisWksText.cxx:59
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
ClarisWksStruct::DSET::P_Unknown
@ P_Unknown
Definition: ClarisWksStruct.hxx:93
ClarisWksTextInternal::Section::m_numColumns
int m_numColumns
the number of column
Definition: ClarisWksText.cxx:363
MWAWPosition::XLeft
@ XLeft
Definition: MWAWPosition.hxx:55
MWAWPosition::YBottom
@ YBottom
Definition: MWAWPosition.hxx:57
ClarisWksStruct::Struct
a basic structure
Definition: ClarisWksStruct.hxx:53
MWAWInputStream.hxx
ClarisWksTextInternal::Token::m_fieldEntry
MWAWEntry m_fieldEntry
the field name entry
Definition: ClarisWksText.cxx:437
MWAWListenerPtr
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:553
MWAWFont.hxx
ClarisWksTextInternal::Zone::m_numChar
int m_numChar
the number of char in text zone
Definition: ClarisWksText.cxx:548
ClarisWksStyleManager::Style::m_rulerId
int m_rulerId
the ruler
Definition: ClarisWksStyleManager.hxx:230
ClarisWksTextInternal::Zone::m_sectionList
std::vector< Section > m_sectionList
the list of section
Definition: ClarisWksText.cxx:557
ClarisWksTextInternal::Zone::~Zone
~Zone() final
destructor
Definition: ClarisWksText.cxx:563
MWAWTabStop::RIGHT
@ RIGHT
Definition: MWAWParagraph.hxx:48
ClarisWksTextInternal::Paragraph::~Paragraph
~Paragraph() final
destructor
Definition: ClarisWksText.cxx:149
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:44
ClarisWksTextInternal::Section::m_columnsWidth
std::vector< int > m_columnsWidth
the columns width
Definition: ClarisWksText.cxx:365
MWAWListLevel::m_prefix
librevenge::RVNGString m_prefix
string which preceedes the number if we have an ordered level
Definition: MWAWList.hxx:112
MWAWParagraph::m_extra
std::string m_extra
a string to store some errors
Definition: MWAWParagraph.hxx:190
ClarisWksTextInternal::Section::m_startOnNewPage
bool m_startOnNewPage
a new section generates a page break
Definition: ClarisWksText.cxx:369
ClarisWksTextInternal::P_TextZone
@ P_TextZone
Definition: ClarisWksText.cxx:61
MWAWParagraph::m_listId
MWAWVariable< int > m_listId
the list id (if know )
Definition: MWAWParagraph.hxx:176
ClarisWksTextInternal::Token
Internal: class to store field definition: TOKN entry.
Definition: ClarisWksText.cxx:411
ClarisWksTextInternal::State::State
State()
constructor
Definition: ClarisWksText.cxx:570
ClarisWksTextInternal::TextZoneInfo::m_pos
long m_pos
Definition: ClarisWksText.cxx:401
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
ClarisWksTextInternal::State
Internal: the state of a ClarisWksText.
Definition: ClarisWksText.cxx:568
MWAWParser.hxx
ClarisWksText::readTextSection
bool readTextSection(ClarisWksTextInternal::Zone &zone)
try to read the section
Definition: ClarisWksText.cxx:1289
ClarisWksTextInternal::Section::operator<<
friend std::ostream & operator<<(std::ostream &o, Section const &sec)
operator <<
Definition: ClarisWksText.cxx:335
ClarisWksTextInternal::TKN_UNKNOWN
@ TKN_UNKNOWN
Definition: ClarisWksText.cxx:408
ClarisWksStruct::DSET::P_Footnote
@ P_Footnote
Definition: ClarisWksStruct.hxx:91
MWAWPageSpan
A class which defines the page properties.
Definition: MWAWPageSpan.hxx:99
ClarisWksTextInternal::Token::m_type
TokenType m_type
the type
Definition: ClarisWksText.cxx:427
ClarisWksTextInternal::PLC::operator<<
friend std::ostream & operator<<(std::ostream &o, PLC const &plc)
operator<<
Definition: ClarisWksText.cxx:82
ClarisWksTextInternal::TextZoneInfo::m_N
int m_N
the number of character
Definition: ClarisWksText.cxx:403
ClarisWksText::readSTYL_RULR
bool readSTYL_RULR(int N, int fSz)
read a STYL Paragraph sequence
Definition: ClarisWksText.cxx:1826
ClarisWksDocument::numPages
int numPages() const
returns the document number of page
Definition: ClarisWksDocument.cxx:245
ClarisWksTextInternal::Paragraph::updateListLevel
void updateListLevel()
update the list level
Definition: ClarisWksText.cxx:153
ClarisWksStruct::Struct::m_numData
long m_numData
the number of header
Definition: ClarisWksStruct.hxx:71
ClarisWksText::m_mainParser
MWAWParser * m_mainParser
the main parser;
Definition: ClarisWksText.hxx:170
ClarisWksTextInternal::PLC::m_id
int m_id
the id
Definition: ClarisWksText.cxx:77
ClarisWksTextInternal::PLC
Internal : the different plc types: mainly for debugging.
Definition: ClarisWksText.cxx:64