WriteNowText.hxx Source File documentation

WriteNowText.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 WriteNow text document
36 *
37 */
38 #ifndef WRITE_NOW_TEXT
39 # define WRITE_NOW_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 namespace WriteNowTextInternal
56 {
57 struct ContentZone;
58 struct ContentZones;
59
60 struct Font;
61 struct Paragraph;
62
63 struct TableData;
64 struct Token;
65
66 struct Cell;
67
68 struct State;
69 }
70
71 struct WriteNowEntry;
72 struct WriteNowEntryManager;
73
74 class WriteNowParser;
75
81 class WriteNowText
82 {
83 friend class WriteNowParser;
84 friend struct WriteNowTextInternal::Cell;
85 public:
87 explicit WriteNowText(WriteNowParser &parser);
89 virtual ~WriteNowText();
90
92 int version() const;
93
95 int numPages() const;
96
98 WriteNowEntry getHeader() const;
99
101 WriteNowEntry getFooter() const;
102
103 protected:
105 bool createZones();
106
108 void flushExtra();
109
112 bool parseZone(WriteNowEntry const &entry, std::vector<WriteNowEntry> &listData);
113
115 std::shared_ptr<WriteNowTextInternal::ContentZones> parseContent(WriteNowEntry const &entry);
116
120 void sendZone(int id);
121
123 bool send(WriteNowEntry const &entry);
124
126 bool send(std::vector<WriteNowTextInternal::ContentZone> &listZones,
127 std::vector<std::shared_ptr<WriteNowTextInternal::ContentZones> > &footnoteList,
128 WriteNowTextInternal::Paragraph &ruler);
129
131 void setProperty(WriteNowTextInternal::Paragraph const &ruler);
132
133 //
134 // low level
135 //
136
138 bool readFontNames(WriteNowEntry const &entry);
139
141 bool readFont(MWAWInputStream &input, bool inStyle, WriteNowTextInternal::Font &font);
142
144 bool readParagraph(MWAWInputStream &input, WriteNowTextInternal::Paragraph &ruler);
145
147 bool readToken(MWAWInputStream &input, WriteNowTextInternal::Token &token);
148
150 bool readTokenV2(MWAWInputStream &input, WriteNowTextInternal::Token &token);
151
153 bool readTable(MWAWInputStream &input, WriteNowTextInternal::TableData &table);
154
156 bool readStyles(WriteNowEntry const &entry);
157
158 private:
159 WriteNowText(WriteNowText const &orig) = delete;
160 WriteNowText &operator=(WriteNowText const &orig) = delete;
161
162 protected:
163 //
164 // data
165 //
167 MWAWParserStatePtr m_parserState;
168
170 std::shared_ptr<WriteNowTextInternal::State> m_state;
171
173 std::shared_ptr<WriteNowEntryManager> m_entryManager;
174
176 WriteNowParser *m_mainParser;
177 };
178 #endif
179 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
WriteNowParser::checkIfPositionValid
bool checkIfPositionValid(long pos)
check if a position is inside the file
Definition: WriteNowParser.cxx:989
MWAWTextListenerPtr
std::shared_ptr< MWAWTextListener > MWAWTextListenerPtr
a smart pointer of MWAWTextListener
Definition: libmwaw_internal.hxx:567
MWAWField::Time
@ Time
Definition: libmwaw_internal.hxx:401
MWAWTable::numCells
int numCells() const
returns the number of cell
Definition: MWAWTable.hxx:113
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
MWAW_shared_ptr_noop_deleter
an noop deleter used to transform a libwpd pointer in a false std::shared_ptr
Definition: libmwaw_internal.hxx:101
MWAWInputStream::get
static std::shared_ptr< MWAWInputStream > get(librevenge::RVNGBinaryData const &data, bool inverted)
returns a new input stream corresponding to a librevenge::RVNGBinaryData
Definition: MWAWInputStream.cxx:102
MWAWFont::set
void set(Script const &newscript)
sets the script position
Definition: MWAWFont.hxx:314
MWAWFont::setUnderlineType
void setUnderlineType(Line::Type type=Line::Single)
sets the underline type
Definition: MWAWFont.hxx:474
WriteNowText::flushExtra
void flushExtra()
sends the data which have not yet been sent to the listener
Definition: WriteNowText.cxx:2088
WriteNowTextInternal::TableData::m_flags
int m_flags[4]
some unknown flags : T, R, B, L
Definition: WriteNowText.cxx:337
MWAWInputStream::seek
int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType)
seeks to a offset position, from actual, beginning or ending position
Definition: MWAWInputStream.cxx:154
WriteNowText::readTable
bool readTable(MWAWInputStream &input, WriteNowTextInternal::TableData &table)
read a table frame (checkme)
Definition: WriteNowText.cxx:1703
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:129
WriteNowText::readParagraph
bool readParagraph(MWAWInputStream &input, WriteNowTextInternal::Paragraph &ruler)
read a paragraph format
Definition: WriteNowText.cxx:1331
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
MWAWListener::ColumnBreak
@ ColumnBreak
Definition: MWAWListener.hxx:58
MWAWBorder::m_type
Type m_type
the border repetition
Definition: libmwaw_internal.hxx:385
MWAWCell::setBdBox
void setBdBox(MWAWBox2f box)
set the bdbox (unit point)
Definition: MWAWCell.hxx:211
WriteNowTextInternal::Token::m_graphicZone
int m_graphicZone
the graphic zone id
Definition: WriteNowText.cxx:199
MWAWBorder::isEmpty
bool isEmpty() const
returns true if the border is empty
Definition: libmwaw_internal.hxx:356
MWAWPosition::setRelativePosition
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: MWAWPosition.hxx:237
WriteNowTextInternal::Token
Internal: the token of a WriteNowText.
Definition: WriteNowText.cxx:168
WriteNowText::numPages
int numPages() const
returns the number of pages
Definition: WriteNowText.cxx:670
MWAWParagraph::m_tabs
MWAWVariable< std::vector< MWAWTabStop > > m_tabs
the tabulations
Definition: MWAWParagraph.hxx:162
WriteNowTextInternal::State::m_paragraph
Paragraph m_paragraph
the paragraph properties
Definition: WriteNowText.cxx:621
WriteNowTextInternal::ContentZones::m_type
int m_type
the zone type : 0 : main, 1 header/footer, 2 footnote,
Definition: WriteNowText.cxx:483
WriteNowTextInternal::State::m_footer
std::shared_ptr< ContentZones > m_footer
Definition: WriteNowText.cxx:623
MWAWField::m_DTFormat
std::string m_DTFormat
the date/time format using strftime format if defined
Definition: libmwaw_internal.hxx:424
WriteNowTextInternal::State::m_numPages
int m_numPages
Definition: WriteNowText.cxx:619
WriteNowText::readTokenV2
bool readTokenV2(MWAWInputStream &input, WriteNowTextInternal::Token &token)
read a token (v2)
Definition: WriteNowText.cxx:1660
MWAWFont::Script::sub100
static Script sub100()
return a yposition which correspond to a basic subscript100
Definition: MWAWFont.hxx:125
WriteNowParser::newPage
void newPage(int number)
adds a new page
Definition: WriteNowParser.cxx:185
MWAWFont::boldBit
@ boldBit
Definition: MWAWFont.hxx:190
MWAWInputStream
Internal class used to read the file stream Internal class used to read the file stream,...
Definition: MWAWInputStream.hxx:54
WriteNowTextInternal::Style::m_nextId
int m_nextId
the next style ?
Definition: WriteNowText.cxx:155
WriteNowText::m_state
std::shared_ptr< WriteNowTextInternal::State > m_state
the state
Definition: WriteNowText.hxx:170
WriteNowTextInternal::TableData::updateCell
void updateCell(MWAWCell &cell) const
update a cell
Definition: WriteNowText.cxx:229
WriteNowTextInternal::State
Internal: the state of a WriteNowText.
Definition: WriteNowText.cxx:557
MWAWTable.hxx
MWAWFont::setColor
void setColor(MWAWColor color)
sets the font color
Definition: MWAWFont.hxx:341
WriteNowTextInternal::Token::m_values
int m_values[19]
some unknown values
Definition: WriteNowText.cxx:208
WriteNowTextInternal::ContentZone::m_value
int m_value
a value
Definition: WriteNowText.cxx:367
libmwaw::BottomBit
@ BottomBit
Definition: libmwaw_internal.hxx:178
MWAWTabStop::CENTER
@ CENTER
Definition: MWAWParagraph.hxx:48
MWAWParagraph::setInterline
void setInterline(double value, librevenge::RVNGUnit unit, LineSpacingType type=Fixed)
set the interline
Definition: MWAWParagraph.hxx:129
WriteNowTextInternal::Table::~Table
~Table() final
destructor
Definition: WriteNowText.cxx:538
WriteNowText::readStyles
bool readStyles(WriteNowEntry const &entry)
try to read the styles zone
Definition: WriteNowText.cxx:1441
WriteNowTextInternal::TableData::m_error
std::string m_error
the parsing errors
Definition: WriteNowText.cxx:342
WriteNowText::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: WriteNowText.hxx:167
MWAWEntry::id
int id() const
returns the id
Definition: MWAWEntry.hxx:164
MWAWEntry.hxx
MWAWInputStream::readLong
long readLong(int num)
return a int8, int16, int32 readed from actualPos
Definition: MWAWInputStream.cxx:229
MWAWFontConverter.hxx
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:192
MWAWEmbeddedObject
small class use to define a embedded object
Definition: libmwaw_internal.hxx:467
WriteNowTextInternal::Zone::Zone
Zone()
constructor
Definition: WriteNowText.cxx:546
WriteNowTextInternal::Zone
Internal: structure used to store the content structure.
Definition: WriteNowText.cxx:544
WriteNowTextInternal
Internal: the structures of a WriteNowText.
Definition: WriteNowText.cxx:59
MWAWSection::setColumns
void setColumns(int num, double width, librevenge::RVNGUnit widthUnit, double colSep=0)
a function which sets n uniform columns
Definition: MWAWSection.cxx:109
WriteNowEntry
class to store entry in a WriteNow document
Definition: WriteNowEntry.hxx:48
WriteNowTextInternal::Table
Definition: WriteNowText.cxx:519
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:85
WriteNowTextInternal::Style::m_font
Font m_font
the font properties
Definition: WriteNowText.cxx:157
WriteNowEntryManager
the manager of the entries
Definition: WriteNowEntry.hxx:106
MWAWFont::Line::Simple
@ Simple
Definition: MWAWFont.hxx:49
WriteNowTextInternal::ContentZones::m_entry
WriteNowEntry m_entry
the general zone
Definition: WriteNowText.cxx:479
MWAWPictData::get
static MWAWPictData * get(MWAWInputStreamPtr const &input, int size)
checks if the data pointed by input is known
Definition: MWAWPictData.hxx:108
MWAWBorder::m_width
double m_width
the border total width in point
Definition: libmwaw_internal.hxx:387
WriteNowTextInternal::ContentZone::operator<<
friend std::ostream & operator<<(std::ostream &o, ContentZone const &z)
operator<<
Definition: WriteNowText.cxx:370
MWAWCell::setBackgroundColor
void setBackgroundColor(MWAWColor color)
sets the background color
Definition: MWAWCell.hxx:332
WriteNowTextInternal::Style::m_flags
int m_flags[6]
some unknown flags
Definition: WriteNowText.cxx:163
MWAWEntry::setParsed
void setParsed(bool ok=true) const
sets the flag m_parsed to true or false
Definition: MWAWEntry.hxx:126
MWAWInputStream::isEnd
bool isEnd()
returns true if we are at the end of the section/file
Definition: MWAWInputStream.cxx:177
WriteNowTextInternal::State::m_contentMap
std::map< long, std::shared_ptr< ContentZones > > m_contentMap
the list of contentZones
Definition: WriteNowText.cxx:635
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
MWAWInputStream::tell
long tell()
returns actual offset position
Definition: MWAWInputStream.cxx:147
MWAWFont::setDeltaLetterSpacing
void setDeltaLetterSpacing(float d, librevenge::RVNGUnit unit=librevenge::RVNG_POINT)
sets the letter spacing ( delta value in point )
Definition: MWAWFont.hxx:292
WriteNowTextInternal::TableData::operator<<
friend std::ostream & operator<<(std::ostream &o, TableData const &table)
operator<<
Definition: WriteNowText.cxx:265
MWAWParagraph::m_margins
MWAWVariable< double > m_margins[3]
the margins
Definition: MWAWParagraph.hxx:148
MWAWBorder::Dot
@ Dot
Definition: libmwaw_internal.hxx:335
WriteNowTextInternal::TableData::m_color
MWAWColor m_color
the background color
Definition: WriteNowText.cxx:334
MWAWTabStop::DECIMAL
@ DECIMAL
Definition: MWAWParagraph.hxx:48
WriteNowTextInternal::ContentZones::m_sent
bool m_sent
true if this zone was sent to the listener
Definition: WriteNowText.cxx:491
MWAWPosition::setNaturalSize
void setNaturalSize(MWAWVec2f const &naturalSz)
sets the natural size (if known)
Definition: MWAWPosition.hxx:220
WriteNowTextInternal::Cell
Internal: the cell of a WriteNowText.
Definition: WriteNowText.cxx:497
MWAWFont::Script::super100
static Script super100()
return a yposition which correspond to a basic superscript100
Definition: MWAWFont.hxx:135
MWAWFont::setUnderlineColor
void setUnderlineColor(MWAWColor const &color)
sets the underline color
Definition: MWAWFont.hxx:489
MWAWFont::embossBit
@ embossBit
Definition: MWAWFont.hxx:190
WriteNowTextInternal::ContentZones::m_textCalledTypesList
std::vector< int > m_textCalledTypesList
the list of type of text zone called by this zone
Definition: WriteNowText.cxx:487
WriteNowTextInternal::Table::get
Cell * get(int id)
return a cell corresponding to id
Definition: WriteNowText.cxx:528
MWAWCell.hxx
Defines MWAWCell (cell content and format)
MWAWField::Date
@ Date
Definition: libmwaw_internal.hxx:401
WriteNowTextInternal::Font
Internal: the fonts.
Definition: WriteNowText.cxx:62
MWAWFont::Line::Wave
@ Wave
Definition: MWAWFont.hxx:49
WriteNowTextInternal::Font::Font
Font()
the constructor
Definition: WriteNowText.cxx:64
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:427
WriteNowText::readFontNames
bool readFontNames(WriteNowEntry const &entry)
try to read the fonts zone
Definition: WriteNowText.cxx:1118
MWAWSubDocument.hxx
WriteNowParser::getColumnInfo
void getColumnInfo(int &numColumns, int &width) const
returns the columns information
Definition: WriteNowParser.cxx:176
WriteNowTextInternal::State::getFontId
int getFontId(int localId) const
return a mac font id corresponding to a local id
Definition: WriteNowText.cxx:599
WriteNowTextInternal::State::m_version
int m_version
the file version
Definition: WriteNowText.cxx:615
MWAWFont::setUnderlineWidth
void setUnderlineWidth(float w)
sets the underline width
Definition: MWAWFont.hxx:484
WriteNowTextInternal::ContentZones::getNumberOfZonesWithType
int getNumberOfZonesWithType(int type) const
Definition: WriteNowText.cxx:471
MWAWParser::getPageWidth
double getPageWidth() const
returns the page width (form width without margin )
Definition: MWAWParser.hxx:185
WriteNowText::~WriteNowText
virtual ~WriteNowText()
destructor
Definition: WriteNowText.cxx:660
WriteNowTextInternal::State::m_numColumns
int m_numColumns
the number of column
Definition: WriteNowText.cxx:617
WriteNowParser::sendGraphic
bool sendGraphic(int gId, MWAWBox2i const &bdbox)
try to send the graphic zone
Definition: WriteNowParser.cxx:220
WriteNowTextInternal::TableData
Internal: the table of a WriteNowText.
Definition: WriteNowText.cxx:216
WriteNowTextInternal::ContentZones::ContentZones
ContentZones()
Definition: WriteNowText.cxx:456
MWAWParagraph::AtLeast
@ AtLeast
Definition: MWAWParagraph.hxx:94
MWAWFont::m_extra
std::string m_extra
extra data
Definition: MWAWFont.hxx:573
WriteNowText::WriteNowText
WriteNowText(WriteNowParser &parser)
constructor
Definition: WriteNowText.cxx:652
MWAWParagraph::JustificationCenter
@ JustificationCenter
Definition: MWAWParagraph.hxx:90
WriteNowTextInternal::Style::m_name
std::string m_name
the style name
Definition: WriteNowText.cxx:153
WriteNowEntry::m_fileType
int m_fileType
the file entry id
Definition: WriteNowEntry.hxx:100
WriteNowText::operator=
WriteNowText & operator=(WriteNowText const &orig)=delete
MWAWFont::shadowBit
@ shadowBit
Definition: MWAWFont.hxx:191
MWAWEntry::m_id
int m_id
an identificator
Definition: MWAWEntry.hxx:204
MWAWEntry::setType
void setType(std::string const &newType)
sets the type of the entry: BTEP,FDPP, BTEC, FDPC, PLC , TEXT, ...
Definition: MWAWEntry.hxx:132
WriteNowTextInternal::Cell::sendContent
bool sendContent(MWAWListenerPtr, MWAWTable &) final
send the content
Definition: WriteNowText.cxx:638
WriteNowTextInternal::Style::m_paragraph
Paragraph m_paragraph
the paragraph properties
Definition: WriteNowText.cxx:159
WriteNowTextInternal::operator<<
std::ostream & operator<<(std::ostream &o, ContentZone const &z)
Definition: WriteNowText.cxx:370
MWAWParagraph.hxx
WriteNowTextInternal::Cell::m_footnoteList
std::vector< std::shared_ptr< ContentZones > > m_footnoteList
a list to retrieve the footnote content
Definition: WriteNowText.cxx:514
MWAWVec2::y
T y() const
second element
Definition: libmwaw_internal.hxx:673
libmwaw_internal.hxx
WriteNowTextInternal::State::m_header
std::shared_ptr< ContentZones > m_header
the header and the footer
Definition: WriteNowText.cxx:623
MWAWPosition.hxx
WriteNowTextInternal::Paragraph::Paragraph
Paragraph()
constructor
Definition: WriteNowText.cxx:95
WriteNowText::version
int version() const
returns the file version
Definition: WriteNowText.cxx:663
MWAWVec2::x
T x() const
first element
Definition: libmwaw_internal.hxx:668
WriteNowTextInternal::ContentZone
Internal: structure used to store the content structure.
Definition: WriteNowText.cxx:347
WriteNowTextInternal::Style::Style
Style()
Definition: WriteNowText.cxx:126
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:48
MWAWBorder
a border
Definition: libmwaw_internal.hxx:333
MWAWEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: MWAWEntry.hxx:67
WriteNowTextInternal::State::m_localFIdMap
std::map< int, int > m_localFIdMap
a map local fontId->fontId
Definition: WriteNowText.cxx:625
WriteNowTextInternal::State::m_styleList
std::vector< Style > m_styleList
the list of styles (body, footer, footnote, header, table )
Definition: WriteNowText.cxx:629
WriteNowParser
the main class to read a WriteNow file
Definition: WriteNowParser.hxx:69
WriteNowTextInternal::Paragraph::Paragraph
Paragraph(Paragraph const &)=default
WriteNowTextInternal::TableData::m_type
int m_type
the type
Definition: WriteNowText.cxx:328
WriteNowTextInternal::Cell::m_parser
WriteNowText & m_parser
the text parser
Definition: WriteNowText.cxx:510
WriteNowTextInternal::ContentZones::m_footnoteList
std::vector< std::shared_ptr< ContentZones > > m_footnoteList
a list to retrieve the footnote content
Definition: WriteNowText.cxx:489
WriteNowTextInternal::Zone::m_zones
std::vector< std::shared_ptr< ContentZones > > m_zones
a zones
Definition: WriteNowText.cxx:552
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:93
MWAWTable
a class used to recreate the table structure using cell informations, ....
Definition: MWAWTable.hxx:52
WriteNowTextInternal::Style
Internal: class to store a style.
Definition: WriteNowText.cxx:125
WriteNowText.hxx
libmwaw::RightBit
@ RightBit
Definition: libmwaw_internal.hxx:178
WriteNowTextInternal::TableData::m_box
MWAWBox2i m_box
the bdbox
Definition: WriteNowText.cxx:331
MWAWVec2< int >
WriteNowTextInternal::ContentZones::m_id
int m_id
the zone id
Definition: WriteNowText.cxx:481
MWAWInputStream::readULong
unsigned long readULong(int num)
returns a uint8, uint16, uint32 readed from actualPos
Definition: MWAWInputStream.hxx:144
MWAWPictMac.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
MWAWFont::getDebugString
std::string getDebugString(std::shared_ptr< MWAWFontConverter > &converter) const
returns a string which can be used for debugging
Definition: MWAWFont.cxx:181
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:83
MWAWEntry::setLength
void setLength(long l)
sets the zone size
Definition: MWAWEntry.hxx:72
WriteNowTextInternal::ContentZones::m_zonesList
std::vector< ContentZone > m_zonesList
the list of zone
Definition: WriteNowText.cxx:485
WriteNowText::parseContent
std::shared_ptr< WriteNowTextInternal::ContentZones > parseContent(WriteNowEntry const &entry)
parse a text data zone ( and create the associated structure )
Definition: WriteNowText.cxx:837
WriteNowTextInternal::State::m_actualPage
int m_actualPage
Definition: WriteNowText.cxx:619
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1193
WriteNowTextInternal::State::getDefaultParagraph
Paragraph getDefaultParagraph(int type) const
return a paragraph corresponding to 0:body, 1: header/footer, 2: footnote
Definition: WriteNowText.cxx:575
WriteNowText::setProperty
void setProperty(WriteNowTextInternal::Paragraph const &ruler)
sends a paragraph property to the listener
Definition: WriteNowText.cxx:1431
MWAWTabStop::m_position
double m_position
the tab position
Definition: MWAWParagraph.hxx:74
MWAWFont::setId
void setId(int newId)
sets the font id
Definition: MWAWFont.hxx:264
WriteNowParser.hxx
WriteNowTextInternal::State::m_styleMap
std::map< int, int > m_styleMap
the style indirection table
Definition: WriteNowText.cxx:627
WriteNowTextInternal::TableData::TableData
TableData()
constructor
Definition: WriteNowText.cxx:218
MWAWField
a field
Definition: libmwaw_internal.hxx:399
MWAWField::PageNumber
@ PageNumber
Definition: libmwaw_internal.hxx:401
WriteNowText::readFont
bool readFont(MWAWInputStream &input, bool inStyle, WriteNowTextInternal::Font &font)
read a font
Definition: WriteNowText.cxx:1241
WriteNowText::createZones
bool createZones()
finds the different text zones
Definition: WriteNowText.cxx:709
WriteNowTextInternal::ContentZones
Internal: structure used to store the content structure.
Definition: WriteNowText.cxx:455
WriteNowTextInternal::TableData::m_values
int m_values[10]
some unknown values
Definition: WriteNowText.cxx:339
MWAWPosition::Char
@ Char
Definition: MWAWPosition.hxx:51
WriteNowEntry::m_val
int m_val[4]
other values
Definition: WriteNowEntry.hxx:102
WriteNowTextInternal::Token::m_pos
MWAWVec2i m_pos[2]
two positions ( seen relative to the RB point)
Definition: WriteNowText.cxx:205
WriteNowTextInternal::Token::operator<<
friend std::ostream & operator<<(std::ostream &o, Token const &tkn)
operator<<
Definition: WriteNowText.cxx:178
WriteNowTextInternal::State::m_mainZones
Zone m_mainZones[3]
the three main zone ( text, footnote, header/footer)
Definition: WriteNowText.cxx:632
WriteNowTextInternal::ContentZones::hasPageColumnBreak
bool hasPageColumnBreak() const
returns true if the entry corresponds to a page/column break
Definition: WriteNowText.cxx:467
MWAWBorder::m_style
Style m_style
the border style
Definition: libmwaw_internal.hxx:380
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:88
MWAWFont::setSize
void setSize(float sz, bool isRelative=false)
sets the font size
Definition: MWAWFont.hxx:275
WriteNowTextInternal::ContentZone::m_type
int m_type
the type 0 : text, 1<->7 : a char flag 8<->f : a zone 10 : used to store a break
Definition: WriteNowText.cxx:363
WriteNowTextInternal::Style::operator<<
friend std::ostream & operator<<(std::ostream &o, Style const &st)
operator<<
Definition: WriteNowText.cxx:133
WriteNowParser::getColor
bool getColor(int colId, MWAWColor &col) const
returns the color which corresponds to colId
Definition: WriteNowParser.cxx:198
MWAWBox2i
MWAWBox2< int > MWAWBox2i
MWAWBox2 of int.
Definition: libmwaw_internal.hxx:1191
WriteNowTextInternal::Paragraph::operator=
Paragraph & operator=(Paragraph &&)=default
WriteNowText::sendZone
void sendZone(int id)
send all the content zone of a zone defined by id 0: main, 1 header/footer, 2: footnote
Definition: WriteNowText.cxx:2051
WriteNowTextInternal::Font::operator<<
friend std::ostream & operator<<(std::ostream &o, Font const &font)
operator<<
Definition: WriteNowText.cxx:71
libmwaw::LeftBit
@ LeftBit
Definition: libmwaw_internal.hxx:178
MWAWBorder::Double
@ Double
Definition: libmwaw_internal.hxx:337
WriteNowTextInternal::ContentZone::m_pos
long m_pos[2]
the begin and the end pos
Definition: WriteNowText.cxx:365
WriteNowTextInternal::Paragraph
Internal: class to store the paragraph properties.
Definition: WriteNowText.cxx:93
MWAWFont::italicBit
@ italicBit
Definition: MWAWFont.hxx:190
MWAWParagraph::m_marginsUnit
MWAWVariable< librevenge::RVNGUnit > m_marginsUnit
the margins INCH, ...
Definition: MWAWParagraph.hxx:150
MWAWFont::Line::Dot
@ Dot
Definition: MWAWFont.hxx:49
MWAWTextListener.hxx
Defines MWAWTextListener: the libmwaw word processor listener.
WriteNowText::m_mainParser
WriteNowParser * m_mainParser
the main parser;
Definition: WriteNowText.hxx:176
WriteNowTextInternal::Font::m_font
MWAWFont m_font
the font
Definition: WriteNowText.cxx:85
WriteNowTextInternal::Font::m_flags
int m_flags[3]
some unknown flag
Definition: WriteNowText.cxx:89
WriteNowTextInternal::Cell::m_zonesList
std::vector< ContentZone > m_zonesList
the list of zone
Definition: WriteNowText.cxx:512
WriteNowTextInternal::State::State
State()
constructor
Definition: WriteNowText.cxx:559
MWAWParagraph::JustificationFull
@ JustificationFull
Definition: MWAWParagraph.hxx:90
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
libmwaw::TopBit
@ TopBit
Definition: libmwaw_internal.hxx:178
MWAWBox2::min
MWAWVec2< T > const & min() const
the minimum 2D point (in x and in y)
Definition: libmwaw_internal.hxx:1039
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
MWAWCell::setBorders
void setBorders(int wh, MWAWBorder const &border)
sets the cell border: wh=libmwaw::LeftBit|...
Definition: MWAWCell.cxx:382
MWAWEntry::valid
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:99
MWAWVariable::get
T const & get() const
return the current value
Definition: libmwaw_internal.hxx:630
WriteNowTextInternal::Paragraph::~Paragraph
~Paragraph() final
destructor
Definition: WriteNowText.cxx:120
WriteNowText::getHeader
WriteNowEntry getHeader() const
returns the header entry (if defined)
Definition: WriteNowText.cxx:689
MWAWBox2::size
MWAWVec2< T > size() const
the box size
Definition: libmwaw_internal.hxx:1067
WriteNowText::readToken
bool readToken(MWAWInputStream &input, WriteNowTextInternal::Token &token)
read a token
Definition: WriteNowText.cxx:1626
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
WriteNowTextInternal::Token::m_box
MWAWBox2i m_box
the bdbox
Definition: WriteNowText.cxx:202
WriteNowTextInternal::Style::m_values
int m_values[12]
some unknown value
Definition: WriteNowText.cxx:161
MWAWFont::Script
a small struct to define the script position in MWAWFont
Definition: MWAWFont.hxx:106
MWAWFont::Line::Double
@ Double
Definition: MWAWFont.hxx:51
MWAWInputStream.hxx
WriteNowText::send
bool send(WriteNowEntry const &entry)
send the text to the listener
Definition: WriteNowText.cxx:1748
MWAWColor::isWhite
bool isWhite() const
return true if the color is white
Definition: libmwaw_internal.hxx:289
MWAWListenerPtr
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:553
WriteNowTextInternal::Table::Table
Table()
constructor
Definition: WriteNowText.cxx:521
MWAWFont.hxx
MWAWTable::get
std::shared_ptr< MWAWCell > get(int id)
returns the i^th cell
Definition: MWAWTable.cxx:122
WriteNowParser::sendFootnote
void sendFootnote(WriteNowEntry const &entry)
try to send a footnote entry
Definition: WriteNowParser.cxx:207
WriteNowTextInternal::Paragraph::operator=
Paragraph & operator=(Paragraph const &)=default
MWAWFont::Line::Dash
@ Dash
Definition: MWAWFont.hxx:49
MWAWTabStop::RIGHT
@ RIGHT
Definition: MWAWParagraph.hxx:48
MWAWBox2< int >
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:44
WriteNowText::getFooter
WriteNowEntry getFooter() const
returns the footer entry (if defined)
Definition: WriteNowText.cxx:696
WriteNowTextInternal::ContentZone::ContentZone
ContentZone()
Definition: WriteNowText.cxx:348
MWAWCell
a structure used to define a cell and its format
Definition: MWAWCell.hxx:53
MWAWBox2::max
MWAWVec2< T > const & max() const
the maximum 2D point (in x and in y)
Definition: libmwaw_internal.hxx:1044
MWAWParagraph::m_extra
std::string m_extra
a string to store some errors
Definition: MWAWParagraph.hxx:190
WriteNowText::m_entryManager
std::shared_ptr< WriteNowEntryManager > m_entryManager
the list of entry
Definition: WriteNowText.hxx:173
WriteNowTextInternal::Token::Token
Token()
Definition: WriteNowText.cxx:169
WriteNowEntry.hxx
WriteNowTextInternal::Paragraph::m_values
int m_values[8]
some unknown value
Definition: WriteNowText.cxx:117
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition: libmwaw_internal.hxx:838
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
MWAWParser.hxx
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:466
WriteNowTextInternal::Cell::Cell
Cell(WriteNowText &parser)
constructor
Definition: WriteNowText.cxx:499
WriteNowTextInternal::State::getContentZone
std::shared_ptr< ContentZones > getContentZone(long pos) const
return the content corresponding to a pos
Definition: WriteNowText.cxx:606
WriteNowTextInternal::Font::m_styleId
int m_styleId[2]
the char/ruler style id
Definition: WriteNowText.cxx:87
WriteNowText
the main class to read the text part of writenow file
Definition: WriteNowText.hxx:82
WriteNowText::WriteNowText
WriteNowText(WriteNowText const &orig)=delete
MWAWFont::setFlags
void setFlags(uint32_t fl)
sets the font attributes bold, ...
Definition: MWAWFont.hxx:325
WriteNowText::parseZone
bool parseZone(WriteNowEntry const &entry, std::vector< WriteNowEntry > &listData)
try to read the text zone ( list of entries ) and to create the text data zone
Definition: WriteNowText.cxx:994
WriteNowTextInternal::Token::m_error
std::string m_error
the parsing errors
Definition: WriteNowText.cxx:211