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;
69 
76 {
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  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 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 
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 readFont(int id, int &posC, MWAWFont &font);
140 
142  bool readParagraphs();
143 
147  bool readParagraph(int id=-1);
148 
149  // THE NAMED ENTRY
150 
152  bool readSTYL_RULR(int N, int fSz);
153 
154 private:
157 
158 protected:
159  //
160  // data
161  //
162 
165 
168 
170  shared_ptr<ClarisWksTextInternal::State> m_state;
171 
174 };
175 #endif
176 // 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:79
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:156
MWAWField::Time
@ Time
Definition: libmwaw_internal.hxx:371
MWAWParagraph::m_justify
MWAWVariable< Justification > m_justify
the justification
Definition: MWAWParagraph.hxx:161
ClarisWksText::numPages
int numPages() const
returns the number of pages
Definition: ClarisWksText.cxx:616
MWAWFont::set
void set(Script const &newscript)
sets the script position
Definition: MWAWFont.hxx:293
MWAWFont::setUnderlineType
void setUnderlineType(Line::Type type=Line::Single)
sets the underline type
Definition: MWAWFont.hxx:453
ClarisWksTextInternal::Paragraph::m_labelType
int m_labelType
the label
Definition: ClarisWksText.cxx:138
ClarisWksTextInternal::SubDocument::operator==
virtual bool operator==(MWAWSubDocument const &doc) const
operator!==
Definition: ClarisWksText.cxx:563
MWAWPageSpan::setPageSpan
void setPageSpan(const int pageSpan)
set the page span ( default 1)
Definition: MWAWPageSpan.hxx:262
MWAWTabStop::m_leaderCharacter
uint16_t m_leaderCharacter
the leader char
Definition: MWAWParagraph.hxx:75
MWAWHeaderFooter::HEADER
@ HEADER
Definition: MWAWPageSpan.hxx:48
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:127
MWAWListLevel::m_suffix
librevenge::RVNGString m_suffix
string which follows the number if we have an ordered level
Definition: MWAWList.hxx:98
ClarisWksStruct::DSET::Child::m_posC
long m_posC
a position (used in text zone to store the character )
Definition: ClarisWksStruct.hxx:233
ClarisWksTextInternal::Token::operator<<
friend std::ostream & operator<<(std::ostream &o, Token const &tok)
operator <<
Definition: ClarisWksText.cxx:413
ClarisWksTextInternal::TKN_FIELD
@ TKN_FIELD
Definition: ClarisWksText.cxx:383
ClarisWksTextInternal::Zone::m_fontList
std::vector< MWAWFont > m_fontList
the list of fonts
Definition: ClarisWksText.cxx:513
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:785
ClarisWksStruct.hxx
ClarisWksStruct::DSET::P_Table
@ P_Table
Definition: ClarisWksStruct.hxx:62
MWAWListener::ColumnBreak
@ ColumnBreak
Definition: MWAWListener.hxx:58
ClarisWksTextInternal::TextZoneInfo::m_extra
std::string m_extra
extra data
Definition: ClarisWksText.cxx:380
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:535
ClarisWksTextInternal::Paragraph::Paragraph
Paragraph()
constructor
Definition: ClarisWksText.cxx:116
ClarisWksTextInternal::Section::Section
Section()
the constructor
Definition: ClarisWksText.cxx:279
MWAWPosition::setRelativePosition
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: MWAWPosition.hxx:221
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:156
MWAWParagraph::m_styleName
std::string m_styleName
the style name
Definition: MWAWParagraph.hxx:182
ClarisWksText::setProperty
void setProperty(MWAWListener &listener, ClarisWksTextInternal::Paragraph const &ruler, int listId=-1)
sends a paragraph property to the listener
Definition: ClarisWksText.cxx:2232
ClarisWksTextInternal::PLC::PLC
PLC()
the constructor
Definition: ClarisWksText.cxx:66
ClarisWksStruct::DSET::Child::m_type
ChildType m_type
the type
Definition: ClarisWksStruct.hxx:229
ClarisWksTextInternal::Section::m_HFId
int m_HFId[4]
the header/footer id
Definition: ClarisWksText.cxx:357
MWAWField::m_DTFormat
std::string m_DTFormat
the date/time format using strftime format if defined
Definition: libmwaw_internal.hxx:386
MWAWHeaderFooter::EVEN
@ EVEN
Definition: MWAWPageSpan.hxx:50
MWAWFont::Script::sub100
static Script sub100()
return a yposition which correspond to a basic subscript100
Definition: MWAWFont.hxx:117
MWAWFont::boldBit
@ boldBit
Definition: MWAWFont.hxx:182
ClarisWksTextInternal::Paragraph
Internal: class to store the paragraph properties.
Definition: ClarisWksText.cxx:114
MWAWParagraph::m_listLevelIndex
MWAWVariable< int > m_listLevelIndex
the actual level index
Definition: MWAWParagraph.hxx:168
MWAWFont::setColor
void setColor(MWAWColor color)
sets the font color
Definition: MWAWFont.hxx:320
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:351
MWAWTabStop::CENTER
@ CENTER
Definition: MWAWParagraph.hxx:48
ClarisWksTextInternal::Zone::m_paragraphList
std::vector< ParagraphPLC > m_paragraphList
the list of paragraph
Definition: ClarisWksText.cxx:514
MWAWParagraph::setInterline
void setInterline(double value, librevenge::RVNGUnit unit, LineSpacingType type=Fixed)
set the interline
Definition: MWAWParagraph.hxx:123
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:639
MWAWListLevel::LOWER_ALPHA
@ LOWER_ALPHA
Definition: MWAWList.hxx:46
MWAWEntry.hxx
MWAWFontConverter.hxx
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:182
ClarisWksTextInternal::Token::Token
Token()
constructor
Definition: ClarisWksText.cxx:388
libmwaw::appendUnicode
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string
Definition: libmwaw_internal.cxx:63
ClarisWksText::sendZone
bool sendZone(int number, MWAWListenerPtr listener=MWAWListenerPtr())
sends the zone data to the listener (if it exists )
Definition: ClarisWksText.cxx:2252
ClarisWksTextInternal::Zone::removeChild
virtual void removeChild(int cId, bool normalChild)
remove a child from a list.
Definition: ClarisWksText.cxx:491
ClarisWksTextInternal::Zone::m_tokenList
std::vector< Token > m_tokenList
the list of token
Definition: ClarisWksText.cxx:516
MWAWParagraph::m_spacings
MWAWVariable< double > m_spacings[3]
the line spacing
Definition: MWAWParagraph.hxx:150
ClarisWksTextInternal::SubDocument::m_textParser
ClarisWksText & m_textParser
the document manager
Definition: ClarisWksText.cxx:572
ClarisWksText::readFonts
bool readFonts(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone)
try to read a font sequence
Definition: ClarisWksText.cxx:1092
ClarisWksTextInternal::Zone::m_numTextZone
int m_numTextZone
the number of text zone ( ie.
Definition: ClarisWksText.cxx:507
ClarisWksStruct::DSET::Child
structure used to define the child of a DSET structure
Definition: ClarisWksStruct.hxx:182
ClarisWksDocument::getStyleManager
shared_ptr< ClarisWksStyleManager > getStyleManager()
returns the style manager
Definition: ClarisWksDocument.hxx:132
ClarisWksTextInternal::ParagraphPLC::m_rulerId
int m_rulerId
the ruler id
Definition: ClarisWksText.cxx:267
ClarisWksDocument::sendZone
bool sendZone(int zoneId, MWAWListenerPtr listener=MWAWListenerPtr(), MWAWPosition pos=MWAWPosition())
try to send a zone
Definition: ClarisWksDocument.cxx:433
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:82
ClarisWksTextInternal::State::m_version
int m_version
the file version
Definition: ClarisWksText.cxx:533
MWAWParagraph::m_listLevel
MWAWVariable< MWAWListLevel > m_listLevel
the actual level
Definition: MWAWParagraph.hxx:174
ClarisWksText::canSendTextAsGraphic
bool canSendTextAsGraphic(int number) const
check if we can send a textzone as graphic
Definition: ClarisWksText.cxx:2243
MWAWFont::Line::Simple
@ Simple
Definition: MWAWFont.hxx:49
MWAWListLevel::UPPER_ALPHA
@ UPPER_ALPHA
Definition: MWAWList.hxx:46
ClarisWksTextInternal::Token::m_unknown
int m_unknown[3]
the unknown zone
Definition: ClarisWksText.cxx:408
ClarisWksTextInternal::SubDocument::operator!=
virtual bool operator!=(MWAWSubDocument const &doc) const
operator!=
Definition: ClarisWksText.cxx:552
ClarisWksTextInternal::Token::m_descent
int m_descent
the descent
Definition: ClarisWksText.cxx:404
MWAWHeaderFooter::m_subDocument
MWAWSubDocumentPtr m_subDocument
the document data
Definition: MWAWPageSpan.hxx:89
ClarisWksTextInternal::P_Child
@ P_Child
Definition: ClarisWksText.cxx:61
ClarisWksText::m_document
ClarisWksDocument & m_document
the document
Definition: ClarisWksText.hxx:164
ClarisWksTextInternal::TextZoneInfo::operator<<
friend std::ostream & operator<<(std::ostream &o, TextZoneInfo const &info)
operator<<
Definition: ClarisWksText.cxx:369
MWAWParserStatePtr
shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:509
ClarisWksText::m_state
shared_ptr< ClarisWksTextInternal::State > m_state
the state
Definition: ClarisWksText.hxx:170
ClarisWksTextInternal::Section::m_leftRightHF
bool m_leftRightHF
true if the left/right header/footer are different
Definition: ClarisWksText.cxx:355
ClarisWksText::readTextZoneSize
bool readTextZoneSize(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone)
try to read the text zone size
Definition: ClarisWksText.cxx:1481
ClarisWksTextInternal::Token::m_extra
std::string m_extra
a string used to store the parsing errors
Definition: ClarisWksText.cxx:410
ClarisWksStyleManager::Style
the structure to store the style in a ClarisWksStyleManager
Definition: ClarisWksStyleManager.hxx:192
ClarisWksDocument
main document information used to create a ClarisWorks file
Definition: ClarisWksDocument.hxx:74
ClarisWksTextInternal::ParagraphPLC
Definition: ClarisWksText.cxx:224
ClarisWksTextInternal::Zone::Zone
Zone(ClarisWksStruct::DSET const &dset=ClarisWksStruct::DSET())
constructor
Definition: ClarisWksText.cxx:466
ClarisWksTextInternal::Zone::m_zones
std::vector< MWAWEntry > m_zones
Definition: ClarisWksText.cxx:505
ClarisWksText::version
int version() const
returns the file version
Definition: ClarisWksText.cxx:609
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
MWAWFont::setDeltaLetterSpacing
void setDeltaLetterSpacing(float d, librevenge::RVNGUnit unit=librevenge::RVNG_POINT)
sets the letter spacing ( delta value in point )
Definition: MWAWFont.hxx:271
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:142
ClarisWksTextInternal::TKN_GRAPHIC
@ TKN_GRAPHIC
Definition: ClarisWksText.cxx:383
ClarisWksStruct
namespace to store the main structure which appears in a ClarisDraw/ClarisWorks file
Definition: ClarisWksStruct.cxx:51
MWAWTabStop::DECIMAL
@ DECIMAL
Definition: MWAWParagraph.hxx:48
ClarisWksTextInternal::ParagraphPLC::m_flags
int m_flags
some flags
Definition: ClarisWksText.cxx:271
MWAWFont::Script::super100
static Script super100()
return a yposition which correspond to a basic superscript100
Definition: MWAWFont.hxx:127
MWAWFont::embossBit
@ embossBit
Definition: MWAWFont.hxx:182
MWAWSection::numColumns
int numColumns() const
returns the number of columns
Definition: MWAWSection.hxx:63
MWAWHeaderFooter
a class which stores the header/footer data
Definition: MWAWPageSpan.hxx:45
MWAWField::PageCount
@ PageCount
Definition: libmwaw_internal.hxx:371
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:1858
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:1931
ClarisWksStruct::DSET::P_Frame
@ P_Frame
Definition: ClarisWksStruct.hxx:62
MWAWField::Date
@ Date
Definition: libmwaw_internal.hxx:371
ClarisWksTextInternal::Zone::operator<<
friend std::ostream & operator<<(std::ostream &o, Zone const &doc)
operator<<
Definition: ClarisWksText.cxx:475
ClarisWksDocument::newPage
void newPage(int page, bool softBreak=false)
send a page break
Definition: ClarisWksDocument.cxx:306
MWAWTabStop
class to store a tab use by MWAWParagraph
Definition: MWAWParagraph.hxx:46
MWAWFont::setStrikeOutStyle
void setStrikeOutStyle(Line::Style style=Line::None, bool doReset=true)
sets the strikeoutline style ( by default, we also reset the style)
Definition: MWAWFont.hxx:406
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:353
libmwaw::SubDocumentType
SubDocumentType
Definition: libmwaw_internal.hxx:178
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:237
ClarisWksTextInternal::State::m_zoneMap
std::map< int, shared_ptr< Zone > > m_zoneMap
the list of text zone
Definition: ClarisWksText.cxx:537
MWAWParagraph::JustificationCenter
@ JustificationCenter
Definition: MWAWParagraph.hxx:87
ClarisWksStruct::DSET::m_otherChilds
std::vector< int > m_otherChilds
the list of other child
Definition: ClarisWksStruct.hxx:174
ClarisWksStruct::DSET::m_parsed
bool m_parsed
a flag to know if the entry is sent or not to the listener
Definition: ClarisWksStruct.hxx:177
ClarisWksTextInternal::PLC::m_extra
std::string m_extra
extra data
Definition: ClarisWksText.cxx:76
MWAWFont::shadowBit
@ shadowBit
Definition: MWAWFont.hxx:183
ClarisWksTextInternal::P_Section
@ P_Section
Definition: ClarisWksText.cxx:61
MWAWParagraph.hxx
MWAWListLevel::UPPER_ROMAN
@ UPPER_ROMAN
Definition: MWAWList.hxx:47
MWAWFont::getDebugString
std::string getDebugString(shared_ptr< MWAWFontConverter > &converter) const
returns a string which can be used for debugging
Definition: MWAWFont.cxx:181
ClarisWksText::readFont
bool readFont(int id, int &posC, MWAWFont &font)
try to read a font
Definition: ClarisWksText.cxx:986
ClarisWksStyleManager.hxx
ClarisWksTextInternal::Zone::m_numParagInfo
int m_numParagInfo
the number of paragraph info
Definition: ClarisWksText.cxx:508
ClarisWksText::readTokens
bool readTokens(MWAWEntry const &entry, ClarisWksTextInternal::Zone &zone)
try to the token zone)
Definition: ClarisWksText.cxx:1226
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:66
ClarisWksText::ClarisWksText
ClarisWksText(ClarisWksDocument &document)
constructor
Definition: ClarisWksText.cxx:600
ClarisWksStruct::DSET::P_Header
@ P_Header
Definition: ClarisWksStruct.hxx:62
ClarisWksTextInternal::Zone::m_numFont
int m_numFont
the number of font
Definition: ClarisWksText.cxx:509
ClarisWksTextInternal::ParagraphPLC::ParagraphPLC
ParagraphPLC()
Definition: ClarisWksText.cxx:225
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:273
ClarisWksStruct::DSET::m_fileType
int m_fileType
the type ( 0: text, -1: graphic, ...)
Definition: ClarisWksStruct.hxx:146
MWAWEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: MWAWEntry.hxx:56
MWAWSection::m_columns
std::vector< Column > m_columns
the different column
Definition: MWAWSection.hxx:100
ClarisWksTextInternal::P_Token
@ P_Token
Definition: ClarisWksText.cxx:61
ClarisWksStruct::DSET::C_SubText
@ C_SubText
Definition: ClarisWksStruct.hxx:67
ClarisWksTextInternal::Zone::m_unknown
int m_unknown
an unknown flags
Definition: ClarisWksText.cxx:511
ClarisWksDocument.hxx
ClarisWksText::sendText
bool sendText(ClarisWksTextInternal::Zone const &zone, MWAWListenerPtr listener)
send the text zone to the listener
Definition: ClarisWksText.cxx:1540
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:82
ClarisWksTextInternal::TKN_PAGENUMBER
@ TKN_PAGENUMBER
Definition: ClarisWksText.cxx:383
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:73
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:229
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:72
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:1983
ClarisWksTextInternal::Zone::m_fatherId
int m_fatherId
the father id
Definition: ClarisWksText.cxx:510
MWAWEntry::setLength
void setLength(long l)
sets the zone size
Definition: MWAWEntry.hxx:61
ClarisWksTextInternal::SubDocument::m_id
int m_id
the subdocument id
Definition: ClarisWksText.cxx:574
ClarisWksText::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: ClarisWksText.hxx:167
ClarisWksTextInternal::Zone
Definition: ClarisWksText.cxx:464
ClarisWksTextInternal::TKN_FOOTNOTE
@ TKN_FOOTNOTE
Definition: ClarisWksText.cxx:383
MWAWColor::black
static MWAWColor black()
return the back color
Definition: libmwaw_internal.hxx:226
MWAWListLevel::LOWER_ROMAN
@ LOWER_ROMAN
Definition: MWAWList.hxx:47
ClarisWksStruct::DSET
main structure which correspond to a document part
Definition: ClarisWksStruct.hxx:58
MWAWTabStop::m_position
double m_position
the tab position
Definition: MWAWParagraph.hxx:71
MWAWFont::setId
void setId(int newId)
sets the font id
Definition: MWAWFont.hxx:243
ClarisWksText.hxx
ClarisWksTextInternal::Section::m_firstPage
int m_firstPage
the first page
Definition: ClarisWksText.cxx:349
MWAWField
a field
Definition: libmwaw_internal.hxx:369
MWAWField::PageNumber
@ PageNumber
Definition: libmwaw_internal.hxx:371
MWAWTabStop::m_decimalCharacter
uint16_t m_decimalCharacter
the decimal char
Definition: MWAWParagraph.hxx:77
MWAWHeaderFooter::FOOTER
@ FOOTER
Definition: MWAWPageSpan.hxx:48
ClarisWksTextInternal::Zone::~Zone
virtual ~Zone()
destructor
Definition: ClarisWksText.cxx:521
MWAWFont::Script::sub
static Script sub()
return a yposition which correspond to a basic subscript
Definition: MWAWFont.hxx:112
ClarisWksText::readDSETZone
shared_ptr< ClarisWksStruct::DSET > readDSETZone(ClarisWksStruct::DSET const &zone, MWAWEntry const &entry, bool &complete)
reads the zone Text DSET
Definition: ClarisWksText.cxx:716
ClarisWksDocument::getMainSection
MWAWSection getMainSection() const
returns the main document section
Definition: ClarisWksDocument.cxx:315
ClarisWksTextInternal::Token::m_size
int m_size[2]
the size(?)
Definition: ClarisWksText.cxx:402
ClarisWksTextInternal::SubDocument::parse
void parse(MWAWListenerPtr &listener, libmwaw::SubDocumentType type)
the parser function
Definition: ClarisWksText.cxx:577
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:70
ClarisWksTextInternal::Token::m_zoneId
int m_zoneId
the zone id which correspond to this type
Definition: ClarisWksText.cxx:398
ClarisWksDocument::sendFootnote
void sendFootnote(int zoneId)
ask the main parser to create a document to send a footnote
Definition: ClarisWksDocument.cxx:347
MWAWInputStreamPtr
shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:503
ClarisWksTextInternal::SubDocument
Internal: the subdocument of a ClarisWksDocument.
Definition: ClarisWksText.cxx:543
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:77
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:285
MWAWFont::setSize
void setSize(float sz, bool isRelative=false)
sets the font size
Definition: MWAWFont.hxx:254
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:99
ClarisWksText::~ClarisWksText
virtual ~ClarisWksText()
destructor
Definition: ClarisWksText.cxx:606
ClarisWksTextInternal::Paragraph::operator<<
friend std::ostream & operator<<(std::ostream &o, Paragraph const &ind)
operator<<
Definition: ClarisWksText.cxx:122
MWAWBox2i
MWAWBox2< int > MWAWBox2i
MWAWBox2 of int.
Definition: libmwaw_internal.hxx:1132
MWAWListLevel::DECIMAL
@ DECIMAL
Definition: MWAWList.hxx:46
ClarisWksTextInternal::SubDocument::~SubDocument
virtual ~SubDocument()
destructor
Definition: ClarisWksText.cxx:549
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
MWAWFont::italicBit
@ italicBit
Definition: MWAWFont.hxx:182
ClarisWksTextInternal::PLC::m_type
PLCType m_type
the PLC types
Definition: ClarisWksText.cxx:72
ClarisWksTextInternal::Section::m_extra
std::string m_extra
a string to store unparsed data
Definition: ClarisWksText.cxx:359
ClarisWksTextInternal::Section
internal class used to store a section
Definition: ClarisWksText.cxx:277
ClarisWksTextInternal::TokenType
TokenType
Definition: ClarisWksText.cxx:383
ClarisWksText::flushExtra
void flushExtra()
sends the data which have not yet been sent to the listener
Definition: ClarisWksText.cxx:2263
ClarisWksTextInternal::Token::m_page
int m_page
the page
Definition: ClarisWksText.cxx:400
ClarisWksStruct::DSET::P_Footer
@ P_Footer
Definition: ClarisWksStruct.hxx:62
ClarisWksStruct::DSET::m_numData
long m_numData
the number of header
Definition: ClarisWksStruct.hxx:137
ClarisWksTextInternal::Section::m_pos
long m_pos
the character position
Definition: ClarisWksText.cxx:339
ClarisWksTextInternal::Section::m_columnsSep
std::vector< int > m_columnsSep
the columns separator
Definition: ClarisWksText.cxx:345
ClarisWksTextInternal::TextZoneInfo::TextZoneInfo
TextZoneInfo()
constructor
Definition: ClarisWksText.cxx:365
MWAWListLevel::BULLET
@ BULLET
Definition: MWAWList.hxx:46
ClarisWksTextInternal::TextZoneInfo
internal class used to store a text zone
Definition: ClarisWksText.cxx:363
libmwaw::Right
@ Right
Definition: libmwaw_internal.hxx:166
ClarisWksTextInternal::ParagraphPLC::m_styleId
int m_styleId
the style id ( via the style lookup table )
Definition: ClarisWksText.cxx:269
MWAWParagraph::JustificationFull
@ JustificationFull
Definition: MWAWParagraph.hxx:87
MWAWListLevel::m_labelWidth
double m_labelWidth
the minimum label width
Definition: MWAWList.hxx:90
MWAWSection.hxx
MWAWParagraph::JustificationRight
@ JustificationRight
Definition: MWAWParagraph.hxx:88
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:517
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
MWAWListLevel::m_type
Type m_type
the type of the level
Definition: MWAWList.hxx:86
MWAWEntry::valid
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:88
ClarisWksStruct::DSET::P_Main
@ P_Main
Definition: ClarisWksStruct.hxx:62
MWAWFont::Script::super
static Script super()
return a yposition which correspond to a basic superscript
Definition: MWAWFont.hxx:122
MWAWVariable::get
T const & get() const
return the current value
Definition: libmwaw_internal.hxx:581
MWAWPageSpan::setHeaderFooter
void setHeaderFooter(MWAWHeaderFooter const &headerFooter)
add a header/footer on some page
Definition: MWAWPageSpan.cxx:223
ClarisWksText::operator=
ClarisWksText & operator=(ClarisWksText const &orig)
MWAWListener.hxx
ClarisWksTextInternal::Paragraph::~Paragraph
virtual ~Paragraph()
destructor
Definition: ClarisWksText.cxx:141
ClarisWksText::ClarisWksText
ClarisWksText(ClarisWksText const &orig)
ClarisWksTextInternal::Zone::m_plcMap
std::multimap< long, PLC > m_plcMap
the plc map
Definition: ClarisWksText.cxx:518
libmwaw::Left
@ Left
Definition: libmwaw_internal.hxx:166
MWAWListLevel::m_numBeforeLabels
int m_numBeforeLabels
the number of label to show before this
Definition: MWAWList.hxx:88
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:64
ClarisWksTextInternal::SubDocument::SubDocument
SubDocument(ClarisWksText &parser, MWAWInputStreamPtr input, int zoneId)
Definition: ClarisWksText.cxx:545
MWAWFont::Line::Double
@ Double
Definition: MWAWFont.hxx:51
ClarisWksTextInternal::Section::m_numColumns
int m_numColumns
the number of column
Definition: ClarisWksText.cxx:341
MWAWPosition::XLeft
@ XLeft
Definition: MWAWPosition.hxx:55
MWAWPosition::YBottom
@ YBottom
Definition: MWAWPosition.hxx:57
MWAWInputStream.hxx
ClarisWksTextInternal::Token::m_fieldEntry
MWAWEntry m_fieldEntry
the field name entry
Definition: ClarisWksText.cxx:406
MWAWFont.hxx
ClarisWksTextInternal::Zone::m_numChar
int m_numChar
the number of char in text zone
Definition: ClarisWksText.cxx:506
ClarisWksStyleManager::Style::m_rulerId
int m_rulerId
the ruler
Definition: ClarisWksStyleManager.hxx:206
ClarisWksTextInternal::Zone::m_sectionList
std::vector< Section > m_sectionList
the list of section
Definition: ClarisWksText.cxx:515
MWAWTabStop::RIGHT
@ RIGHT
Definition: MWAWParagraph.hxx:48
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:44
ClarisWksTextInternal::Section::m_columnsWidth
std::vector< int > m_columnsWidth
the columns width
Definition: ClarisWksText.cxx:343
MWAWListLevel::m_prefix
librevenge::RVNGString m_prefix
string which preceedes the number if we have an ordered level
Definition: MWAWList.hxx:97
MWAWParagraph::m_extra
std::string m_extra
a string to store some errors
Definition: MWAWParagraph.hxx:184
ClarisWksTextInternal::Section::m_startOnNewPage
bool m_startOnNewPage
a new section generates a page break
Definition: ClarisWksText.cxx:347
ClarisWksTextInternal::P_TextZone
@ P_TextZone
Definition: ClarisWksText.cxx:61
MWAWParagraph::m_listId
MWAWVariable< int > m_listId
the list id (if know )
Definition: MWAWParagraph.hxx:170
ClarisWksTextInternal::Token
Internal: class to store field definition: TOKN entry.
Definition: ClarisWksText.cxx:386
ClarisWksTextInternal::State::State
State()
constructor
Definition: ClarisWksText.cxx:528
ClarisWksTextInternal::TextZoneInfo::m_pos
long m_pos
Definition: ClarisWksText.cxx:376
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition: libmwaw_internal.hxx:781
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:526
MWAWListenerPtr
shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:505
MWAWParser.hxx
ClarisWksText::readTextSection
bool readTextSection(ClarisWksTextInternal::Zone &zone)
try to read the section
Definition: ClarisWksText.cxx:1346
ClarisWksTextInternal::Section::operator<<
friend std::ostream & operator<<(std::ostream &o, Section const &sec)
operator <<
Definition: ClarisWksText.cxx:313
MWAWFont::setUnderlineStyle
void setUnderlineStyle(Line::Style style=Line::None, bool doReset=true)
sets the underline style ( by default, we also reset the style)
Definition: MWAWFont.hxx:445
ClarisWksTextInternal::TKN_UNKNOWN
@ TKN_UNKNOWN
Definition: ClarisWksText.cxx:383
ClarisWksStruct::DSET::P_Footnote
@ P_Footnote
Definition: ClarisWksStruct.hxx:62
MWAWPageSpan
A class which defines the page properties.
Definition: MWAWPageSpan.hxx:96
ClarisWksTextInternal::Token::m_type
TokenType m_type
the type
Definition: ClarisWksText.cxx:396
ClarisWksTextInternal::PLC::operator<<
friend std::ostream & operator<<(std::ostream &o, PLC const &plc)
operator<<
Definition: ClarisWksText.cxx:79
ClarisWksTextInternal::TextZoneInfo::m_N
int m_N
the number of character
Definition: ClarisWksText.cxx:378
ClarisWksText::readSTYL_RULR
bool readSTYL_RULR(int N, int fSz)
read a STYL Paragraph sequence
Definition: ClarisWksText.cxx:1903
ClarisWksDocument::numPages
int numPages() const
returns the document number of page
Definition: ClarisWksDocument.cxx:225
ClarisWksTextInternal::Paragraph::updateListLevel
void updateListLevel()
update the list level
Definition: ClarisWksText.cxx:145
MWAWFont::setFlags
void setFlags(uint32_t fl)
sets the font attributes bold, ...
Definition: MWAWFont.hxx:304
ClarisWksText::m_mainParser
MWAWParser * m_mainParser
the main parser;
Definition: ClarisWksText.hxx:173
ClarisWksTextInternal::PLC::m_id
int m_id
the id
Definition: ClarisWksText.cxx:74
ClarisWksTextInternal::PLC
Internal : the different plc types: mainly for debugging.
Definition: ClarisWksText.cxx:64

Generated on Wed Jun 17 2020 06:30:09 for libmwaw by doxygen 1.8.18