MWAWCell.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
37
38#ifndef MWAW_CELL_H
39# define MWAW_CELL_H
40
41#include <string>
42#include <vector>
43
44#include "libmwaw_internal.hxx"
45
46#include "MWAWEntry.hxx"
47#include "MWAWFont.hxx"
48
49 class MWAWTable;
50
52 class MWAWCell
53{
54 public:
56 enum FormatType { F_TEXT, F_BOOLEAN, F_NUMBER, F_DATE, F_TIME, F_UNKNOWN };
58 enum NumberType { F_NUMBER_CURRENCY, F_NUMBER_DECIMAL, F_NUMBER_FRACTION, F_NUMBER_GENERIC, F_NUMBER_SCIENTIFIC, F_NUMBER_PERCENT, F_NUMBER_UNKNOWN };
60 struct Format {
62 Format()
63 : m_format(F_UNKNOWN)
64 , m_numberFormat(F_NUMBER_UNKNOWN)
65 , m_digits(-1000)
66 , m_integerDigits(-1)
67 , m_numeratorDigits(-1)
68 , m_denominatorDigits(-1)
69 , m_thousandHasSeparator(false)
70 , m_parenthesesForNegative(false)
71 , m_currencySymbol("$")
72 , m_DTFormat("")
73 {
74 }
75 Format(Format const &)=default;
76 Format &operator=(Format const &)=default;
77 Format &operator=(Format &&)=default;
79 virtual ~Format();
81 bool hasBasicFormat() const
82 {
83 return m_format==F_TEXT || m_format==F_UNKNOWN;
84 }
85
86 std::string getValueType() const;
88 bool getNumberingProperties(librevenge::RVNGPropertyList &propList) const;
90 friend std::ostream &operator<<(std::ostream &o, Format const &format);
92 int compare(Format const &format) const;
93
95 FormatType m_format;
97 NumberType m_numberFormat;
99 int m_digits;
101 int m_integerDigits;
103 int m_numeratorDigits;
105 int m_denominatorDigits;
107 bool m_thousandHasSeparator;
109 bool m_parenthesesForNegative;
111 std::string m_currencySymbol;
113 std::string m_DTFormat;
114 };
115
116 struct CompareFormat {
118 CompareFormat() {}
120 bool operator()(Format const &c1, Format const &c2) const
121 {
122 return c1.compare(c2) < 0;
123 }
124 };
125
128 enum HorizontalAlignment { HALIGN_LEFT, HALIGN_RIGHT, HALIGN_CENTER,
129 HALIGN_FULL, HALIGN_DEFAULT
130 };
131
134 enum VerticalAlignment { VALIGN_TOP, VALIGN_CENTER, VALIGN_BOTTOM, VALIGN_DEFAULT };
135
137 enum ExtraLine { E_None, E_Line1, E_Line2, E_Cross };
138
140 MWAWCell()
141 : m_position(0,0)
142 , m_numberCellSpanned(1,1)
143 , m_bdBox()
144 , m_bdSize()
145 , m_format()
146 , m_font(3,12)
147 , m_fontSet(false)
148 , m_hAlign(HALIGN_DEFAULT)
149 , m_vAlign(VALIGN_DEFAULT)
150 , m_rotation(0)
151 , m_backgroundColor(MWAWColor::white())
152 , m_protected(false)
153 , m_bordersList()
154 , m_extraLine(E_None)
155 , m_extraLineType() { }
156 MWAWCell(MWAWCell const &)=default;
157 MWAWCell &operator=(MWAWCell const &)=default;
158 MWAWCell &operator=(MWAWCell &&)=default;
160 virtual ~MWAWCell() {}
161
163 void addTo(librevenge::RVNGPropertyList &propList, std::shared_ptr<MWAWFontConverter> fontConverter) const;
164
166 friend std::ostream &operator<<(std::ostream &o, MWAWCell const &cell);
167
168 // interface with MWAWTable:
169
174 virtual bool send(MWAWListenerPtr listener, MWAWTable &table);
179 virtual bool sendContent(MWAWListenerPtr listener, MWAWTable &table);
180
181 // position
182
184 MWAWVec2i const &position() const
185 {
186 return m_position;
187 }
188
189 void setPosition(MWAWVec2i posi)
190 {
191 m_position = posi;
192 }
193
195 MWAWVec2i const &numSpannedCells() const
196 {
197 return m_numberCellSpanned;
198 }
199
200 void setNumSpannedCells(MWAWVec2i numSpanned)
201 {
202 m_numberCellSpanned=numSpanned;
203 }
204
206 MWAWBox2f const &bdBox() const
207 {
208 return m_bdBox;
209 }
210
211 void setBdBox(MWAWBox2f box)
212 {
213 m_bdBox = box;
214 }
215
217 MWAWVec2f const &bdSize() const
218 {
219 return m_bdSize;
220 }
221
222 void setBdSize(MWAWVec2f sz)
223 {
224 m_bdSize = sz;
225 }
226
227 static std::string getBasicCellName(MWAWVec2i const &pos);
229 static std::string getCellName(MWAWVec2i const &pos, MWAWVec2b const &absolute);
230
232 static std::string getColumnName(int col);
233
234 // format
235
237 Format const &getFormat() const
238 {
239 return m_format;
240 }
241
242 void setFormat(Format const &format)
243 {
244 m_format=format;
245 }
246
248 bool isFontSet() const
249 {
250 return m_fontSet;
251 }
252
253 MWAWFont getFont() const
254 {
255 return m_font;
256 }
257
258 void setFont(MWAWFont const &font, bool isDefault=false)
259 {
260 m_font=font;
261 m_fontSet=!isDefault;
262 }
263
265 bool isProtected() const
266 {
267 return m_protected;
268 }
269
270 void setProtected(bool fl)
271 {
272 m_protected = fl;
273 }
274
276 HorizontalAlignment hAlignment() const
277 {
278 return m_hAlign;
279 }
280
281 void setHAlignment(HorizontalAlignment align)
282 {
283 m_hAlign = align;
284 }
285
287 VerticalAlignment vAlignment() const
288 {
289 return m_vAlign;
290 }
291
292 void setVAlignment(VerticalAlignment align)
293 {
294 m_vAlign = align;
295 }
296
297 double rotation() const
298 {
299 return m_rotation;
300 }
301
302 void setRotation(double angle)
303 {
304 m_rotation = angle;
305 }
306
308 bool hasBorders() const
309 {
310 return m_bordersList.size() != 0;
311 }
312
313 std::vector<MWAWBorder> const &borders() const
314 {
315 return m_bordersList;
316 }
317
319 void resetBorders()
320 {
321 m_bordersList.resize(0);
322 }
323
324 void setBorders(int wh, MWAWBorder const &border);
325
327 MWAWColor backgroundColor() const
328 {
329 return m_backgroundColor;
330 }
331
332 void setBackgroundColor(MWAWColor color)
333 {
334 m_backgroundColor = color;
335 }
336
337 bool hasExtraLine() const
338 {
339 return m_extraLine!=E_None && !m_extraLineType.isEmpty();
340 }
341
342 ExtraLine extraLine() const
343 {
344 return m_extraLine;
345 }
346
347 MWAWBorder const &extraLineType() const
348 {
349 return m_extraLineType;
350 }
351
352 void setExtraLine(ExtraLine extrLine, MWAWBorder const &type=MWAWBorder())
353 {
354 m_extraLine = extrLine;
355 m_extraLineType=type;
356 }
357 protected:
359 MWAWVec2i m_position;
361 MWAWVec2i m_numberCellSpanned;
363 MWAWBox2f m_bdBox;
365 MWAWVec2f m_bdSize;
366
368 Format m_format;
370 MWAWFont m_font;
372 bool m_fontSet;
374 HorizontalAlignment m_hAlign;
376 VerticalAlignment m_vAlign;
378 double m_rotation;
380 MWAWColor m_backgroundColor;
382 bool m_protected;
383
385 std::vector<MWAWBorder> m_bordersList;
387 ExtraLine m_extraLine;
389 MWAWBorder m_extraLineType;
390};
391
393 class MWAWCellContent
394{
395 public:
397 struct FormulaInstruction {
398 enum Type { F_Operator, F_Function, F_Cell, F_CellList, F_Long, F_Double, F_Text, F_Unicode };
400 FormulaInstruction()
401 : m_type(F_Text)
402 , m_content("")
403 , m_longValue(0)
404 , m_doubleValue(0)
405 , m_fileName()
406 {
407 for (auto &pos : m_position) pos=MWAWVec2i(0,0);
408 for (auto &rel : m_positionRelative) rel=MWAWVec2b(false,false);
409 }
410
411 librevenge::RVNGPropertyList getPropertyList(MWAWFontConverter &fontConverter, int fontId) const;
413 friend std::ostream &operator<<(std::ostream &o, FormulaInstruction const &inst);
415 Type m_type;
417 std::string m_content;
419 double m_longValue;
421 double m_doubleValue;
423 MWAWVec2i m_position[2];
425 MWAWVec2b m_positionRelative[2];
427 librevenge::RVNGString m_sheet[2];
429 librevenge::RVNGString m_fileName;
430 };
431
433 enum Type { C_NONE, C_TEXT, C_NUMBER, C_FORMULA, C_UNKNOWN };
435 MWAWCellContent()
436 : m_contentType(C_UNKNOWN)
437 , m_value(0.0)
438 , m_valueSet(false)
439 , m_textEntry()
440 , m_formula() { }
441 MWAWCellContent(MWAWCellContent const &)=default;
442 MWAWCellContent &operator=(MWAWCellContent const &)=default;
443 MWAWCellContent &operator=(MWAWCellContent &&)=default;
445 ~MWAWCellContent() {}
447 friend std::ostream &operator<<(std::ostream &o, MWAWCellContent const &cell);
448
450 bool empty() const
451 {
452 if (m_contentType == C_NUMBER) return false;
453 if (m_contentType == C_TEXT && m_textEntry.valid()) return false;
454 if (m_contentType == C_FORMULA && (m_formula.size() || isValueSet())) return false;
455 return true;
456 }
457
458 void setValue(double value)
459 {
460 m_value = value;
461 m_valueSet = true;
462 }
463
464 bool isValueSet() const
465 {
466 return m_valueSet;
467 }
468
469 bool hasText() const
470 {
471 return m_textEntry.valid();
472 }
473
475 static bool double2Date(double val, int &Y, int &M, int &D);
477 static bool double2Time(double val, int &H, int &M, int &S);
479 static bool double2String(double val, MWAWCell::Format const &format, std::string &str);
481 static bool date2Double(int Y, int M, int D, double &val);
483 Type m_contentType;
485 double m_value;
487 bool m_valueSet;
489 MWAWEntry m_textEntry;
491 std::vector<FormulaInstruction> m_formula;
492};
493
494#endif
495// vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
MWAWEntry.hxx
MWAWFont.hxx
MWAWCellContent
small class use to define a sheet cell content
Definition MWAWCell.hxx:394
MWAWCellContent::empty
bool empty() const
returns true if the cell has no content
Definition MWAWCell.hxx:450
MWAWCellContent::MWAWCellContent
MWAWCellContent()
constructor
Definition MWAWCell.hxx:435
MWAWCellContent::date2Double
static bool date2Double(int Y, int M, int D, double &val)
conversion beetween date and double days since 1900 date
Definition MWAWCell.cxx:560
MWAWCellContent::MWAWCellContent
MWAWCellContent(MWAWCellContent const &)=default
MWAWCellContent::Type
Type
the different types of cell's field
Definition MWAWCell.hxx:433
MWAWCellContent::C_FORMULA
@ C_FORMULA
Definition MWAWCell.hxx:433
MWAWCellContent::C_UNKNOWN
@ C_UNKNOWN
Definition MWAWCell.hxx:433
MWAWCellContent::C_TEXT
@ C_TEXT
Definition MWAWCell.hxx:433
MWAWCellContent::C_NUMBER
@ C_NUMBER
Definition MWAWCell.hxx:433
MWAWCellContent::C_NONE
@ C_NONE
Definition MWAWCell.hxx:433
MWAWCellContent::double2Date
static bool double2Date(double val, int &Y, int &M, int &D)
conversion beetween double days since 1900 and a date, ie val=0 corresponds to 1/1/1900,...
Definition MWAWCell.cxx:510
MWAWCellContent::hasText
bool hasText() const
returns true if the text is set
Definition MWAWCell.hxx:469
MWAWCellContent::double2Time
static bool double2Time(double val, int &H, int &M, int &S)
conversion beetween double: second since 0:00 and time
Definition MWAWCell.cxx:590
MWAWCellContent::~MWAWCellContent
~MWAWCellContent()
destructor
Definition MWAWCell.hxx:445
MWAWCellContent::isValueSet
bool isValueSet() const
returns true if the value has been setted
Definition MWAWCell.hxx:464
MWAWCellContent::setValue
void setValue(double value)
sets the double value
Definition MWAWCell.hxx:458
MWAWCellContent::m_value
double m_value
the cell value
Definition MWAWCell.hxx:485
MWAWCellContent::operator=
MWAWCellContent & operator=(MWAWCellContent &&)=default
MWAWCellContent::double2String
static bool double2String(double val, MWAWCell::Format const &format, std::string &str)
conversion of the value in string knowing the cell format
Definition MWAWCell.cxx:602
MWAWCellContent::operator=
MWAWCellContent & operator=(MWAWCellContent const &)=default
MWAWCellContent::m_textEntry
MWAWEntry m_textEntry
the cell string
Definition MWAWCell.hxx:489
MWAWCellContent::m_formula
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition MWAWCell.hxx:491
MWAWCellContent::operator<<
friend std::ostream & operator<<(std::ostream &o, MWAWCellContent const &cell)
operator<<
Definition MWAWCell.cxx:691
MWAWCellContent::m_valueSet
bool m_valueSet
true if the value has been set
Definition MWAWCell.hxx:487
MWAWCellContent::m_contentType
Type m_contentType
the content type ( by default unknown )
Definition MWAWCell.hxx:483
MWAWCell
a structure used to define a cell and its format
Definition MWAWCell.hxx:53
MWAWCell::addTo
void addTo(librevenge::RVNGPropertyList &propList, std::shared_ptr< MWAWFontConverter > fontConverter) const
adds to the propList
Definition MWAWCell.cxx:255
MWAWCell::m_position
MWAWVec2i m_position
the cell row and column : 0,0 -> A1, 0,1 -> A2
Definition MWAWCell.hxx:359
MWAWCell::getCellName
static std::string getCellName(MWAWVec2i const &pos, MWAWVec2b const &absolute)
return the name of a cell (given row and column) : 0,0 -> [.A1], 0,1 -> [.A2]
Definition MWAWCell.cxx:362
MWAWCell::setFont
void setFont(MWAWFont const &font, bool isDefault=false)
sets the fonts
Definition MWAWCell.hxx:258
MWAWCell::setBorders
void setBorders(int wh, MWAWBorder const &border)
sets the cell border: wh=libmwaw::LeftBit|...
Definition MWAWCell.cxx:382
MWAWCell::operator=
MWAWCell & operator=(MWAWCell &&)=default
MWAWCell::getFormat
Format const & getFormat() const
returns the cell format
Definition MWAWCell.hxx:237
MWAWCell::backgroundColor
MWAWColor backgroundColor() const
returns the background color
Definition MWAWCell.hxx:327
MWAWCell::m_bordersList
std::vector< MWAWBorder > m_bordersList
the cell border MWAWBorder::Pos
Definition MWAWCell.hxx:385
MWAWCell::position
MWAWVec2i const & position() const
position accessor
Definition MWAWCell.hxx:184
MWAWCell::~MWAWCell
virtual ~MWAWCell()
destructor
Definition MWAWCell.hxx:160
MWAWCell::setProtected
void setProtected(bool fl)
sets the cell's protected flag
Definition MWAWCell.hxx:270
MWAWCell::m_bdBox
MWAWBox2f m_bdBox
the cell bounding box (unit in point)
Definition MWAWCell.hxx:363
MWAWCell::MWAWCell
MWAWCell(MWAWCell const &)=default
MWAWCell::m_extraLine
ExtraLine m_extraLine
extra line
Definition MWAWCell.hxx:387
MWAWCell::setHAlignment
void setHAlignment(HorizontalAlignment align)
sets the horizontal alignment
Definition MWAWCell.hxx:281
MWAWCell::m_protected
bool m_protected
cell protected
Definition MWAWCell.hxx:382
MWAWCell::setNumSpannedCells
void setNumSpannedCells(MWAWVec2i numSpanned)
sets the number of spanned cells : MWAWVec2i(1,1) means 1 cellule
Definition MWAWCell.hxx:200
MWAWCell::m_font
MWAWFont m_font
the cell font
Definition MWAWCell.hxx:370
MWAWCell::VerticalAlignment
VerticalAlignment
the default vertical alignment.
Definition MWAWCell.hxx:134
MWAWCell::VALIGN_BOTTOM
@ VALIGN_BOTTOM
Definition MWAWCell.hxx:134
MWAWCell::VALIGN_TOP
@ VALIGN_TOP
Definition MWAWCell.hxx:134
MWAWCell::VALIGN_CENTER
@ VALIGN_CENTER
Definition MWAWCell.hxx:134
MWAWCell::VALIGN_DEFAULT
@ VALIGN_DEFAULT
Definition MWAWCell.hxx:134
MWAWCell::ExtraLine
ExtraLine
an enum to defined potential internal line: E_Line1=TL to RB, E_Line2=BL to RT
Definition MWAWCell.hxx:137
MWAWCell::E_Line1
@ E_Line1
Definition MWAWCell.hxx:137
MWAWCell::E_None
@ E_None
Definition MWAWCell.hxx:137
MWAWCell::E_Line2
@ E_Line2
Definition MWAWCell.hxx:137
MWAWCell::E_Cross
@ E_Cross
Definition MWAWCell.hxx:137
MWAWCell::setBdSize
void setBdSize(MWAWVec2f sz)
set the bdbox size(unit point)
Definition MWAWCell.hxx:222
MWAWCell::HorizontalAlignment
HorizontalAlignment
the default horizontal alignment.
Definition MWAWCell.hxx:128
MWAWCell::HALIGN_FULL
@ HALIGN_FULL
Definition MWAWCell.hxx:129
MWAWCell::HALIGN_DEFAULT
@ HALIGN_DEFAULT
Definition MWAWCell.hxx:129
MWAWCell::HALIGN_RIGHT
@ HALIGN_RIGHT
Definition MWAWCell.hxx:128
MWAWCell::HALIGN_LEFT
@ HALIGN_LEFT
Definition MWAWCell.hxx:128
MWAWCell::HALIGN_CENTER
@ HALIGN_CENTER
Definition MWAWCell.hxx:128
MWAWCell::getColumnName
static std::string getColumnName(int col)
return the column name
Definition MWAWCell.cxx:335
MWAWCell::m_format
Format m_format
the cell format
Definition MWAWCell.hxx:368
MWAWCell::m_vAlign
VerticalAlignment m_vAlign
the vertical cell alignment : by default nothing
Definition MWAWCell.hxx:376
MWAWCell::operator=
MWAWCell & operator=(MWAWCell const &)=default
MWAWCell::FormatType
FormatType
the different format of a cell's content
Definition MWAWCell.hxx:56
MWAWCell::F_TIME
@ F_TIME
Definition MWAWCell.hxx:56
MWAWCell::F_NUMBER
@ F_NUMBER
Definition MWAWCell.hxx:56
MWAWCell::F_BOOLEAN
@ F_BOOLEAN
Definition MWAWCell.hxx:56
MWAWCell::F_UNKNOWN
@ F_UNKNOWN
Definition MWAWCell.hxx:56
MWAWCell::F_DATE
@ F_DATE
Definition MWAWCell.hxx:56
MWAWCell::F_TEXT
@ F_TEXT
Definition MWAWCell.hxx:56
MWAWCell::MWAWCell
MWAWCell()
constructor
Definition MWAWCell.hxx:140
MWAWCell::setPosition
void setPosition(MWAWVec2i posi)
set the cell positions : 0,0 -> A1, 0,1 -> A2
Definition MWAWCell.hxx:189
MWAWCell::rotation
double rotation() const
returns the rotation angle in degree
Definition MWAWCell.hxx:297
MWAWCell::m_extraLineType
MWAWBorder m_extraLineType
extra line type
Definition MWAWCell.hxx:389
MWAWCell::hAlignment
HorizontalAlignment hAlignment() const
returns the horizontal alignment
Definition MWAWCell.hxx:276
MWAWCell::borders
std::vector< MWAWBorder > const & borders() const
return the cell border: libmwaw::Left | ...
Definition MWAWCell.hxx:313
MWAWCell::m_bdSize
MWAWVec2f m_bdSize
the cell bounding size : unit point
Definition MWAWCell.hxx:365
MWAWCell::m_fontSet
bool m_fontSet
a flag to know if the font has been set
Definition MWAWCell.hxx:372
MWAWCell::m_numberCellSpanned
MWAWVec2i m_numberCellSpanned
the cell spanned : by default (1,1)
Definition MWAWCell.hxx:361
MWAWCell::getFont
MWAWFont getFont() const
returns the font
Definition MWAWCell.hxx:253
MWAWCell::setFormat
void setFormat(Format const &format)
set the cell format
Definition MWAWCell.hxx:242
MWAWCell::setExtraLine
void setExtraLine(ExtraLine extrLine, MWAWBorder const &type=MWAWBorder())
sets the extraline
Definition MWAWCell.hxx:352
MWAWCell::isProtected
bool isProtected() const
returns true if the cell is protected
Definition MWAWCell.hxx:265
MWAWCell::sendContent
virtual bool sendContent(MWAWListenerPtr listener, MWAWTable &table)
function called when the content of a cell must be send to the listener, ie.
Definition MWAWCell.cxx:501
MWAWCell::hasExtraLine
bool hasExtraLine() const
returns true if we have some extra lines
Definition MWAWCell.hxx:337
MWAWCell::getBasicCellName
static std::string getBasicCellName(MWAWVec2i const &pos)
return the name of a cell (given row and column) : 0,0 -> A1, 0,1 -> A2...
Definition MWAWCell.cxx:345
MWAWCell::m_hAlign
HorizontalAlignment m_hAlign
the cell alignment : by default nothing
Definition MWAWCell.hxx:374
MWAWCell::send
virtual bool send(MWAWListenerPtr listener, MWAWTable &table)
function called when a cell is send by MWAWTable to send a cell to a listener.
Definition MWAWCell.cxx:492
MWAWCell::bdBox
MWAWBox2f const & bdBox() const
bdbox accessor
Definition MWAWCell.hxx:206
MWAWCell::m_backgroundColor
MWAWColor m_backgroundColor
the backgroung color
Definition MWAWCell.hxx:380
MWAWCell::extraLine
ExtraLine extraLine() const
returns the extra lines
Definition MWAWCell.hxx:342
MWAWCell::m_rotation
double m_rotation
the content's rotation in degree
Definition MWAWCell.hxx:378
MWAWCell::hasBorders
bool hasBorders() const
return true if the cell has some border
Definition MWAWCell.hxx:308
MWAWCell::NumberType
NumberType
the different number format of a cell's content
Definition MWAWCell.hxx:58
MWAWCell::F_NUMBER_UNKNOWN
@ F_NUMBER_UNKNOWN
Definition MWAWCell.hxx:58
MWAWCell::F_NUMBER_SCIENTIFIC
@ F_NUMBER_SCIENTIFIC
Definition MWAWCell.hxx:58
MWAWCell::F_NUMBER_GENERIC
@ F_NUMBER_GENERIC
Definition MWAWCell.hxx:58
MWAWCell::F_NUMBER_PERCENT
@ F_NUMBER_PERCENT
Definition MWAWCell.hxx:58
MWAWCell::F_NUMBER_FRACTION
@ F_NUMBER_FRACTION
Definition MWAWCell.hxx:58
MWAWCell::F_NUMBER_DECIMAL
@ F_NUMBER_DECIMAL
Definition MWAWCell.hxx:58
MWAWCell::F_NUMBER_CURRENCY
@ F_NUMBER_CURRENCY
Definition MWAWCell.hxx:58
MWAWCell::extraLineType
MWAWBorder const & extraLineType() const
returns the extra line border
Definition MWAWCell.hxx:347
MWAWCell::resetBorders
void resetBorders()
reset the border
Definition MWAWCell.hxx:319
MWAWCell::bdSize
MWAWVec2f const & bdSize() const
bdbox size accessor
Definition MWAWCell.hxx:217
MWAWCell::vAlignment
VerticalAlignment vAlignment() const
returns the vertical alignment
Definition MWAWCell.hxx:287
MWAWCell::operator<<
friend std::ostream & operator<<(std::ostream &o, MWAWCell const &cell)
operator<<
Definition MWAWCell.cxx:405
MWAWCell::setVAlignment
void setVAlignment(VerticalAlignment align)
sets the vertical alignment
Definition MWAWCell.hxx:292
MWAWCell::isFontSet
bool isFontSet() const
returns true if the font has been set
Definition MWAWCell.hxx:248
MWAWCell::setBackgroundColor
void setBackgroundColor(MWAWColor color)
sets the background color
Definition MWAWCell.hxx:332
MWAWCell::setRotation
void setRotation(double angle)
sets the rotation angle
Definition MWAWCell.hxx:302
MWAWCell::setBdBox
void setBdBox(MWAWBox2f box)
set the bdbox (unit point)
Definition MWAWCell.hxx:211
MWAWCell::numSpannedCells
MWAWVec2i const & numSpannedCells() const
returns the number of spanned cells
Definition MWAWCell.hxx:195
MWAWEntry
basic class to store an entry in a file This contained :
Definition MWAWEntry.hxx:47
MWAWFontConverter
a namespace used to convert Mac font characters in unicode
Definition MWAWFontConverter.hxx:63
MWAWFont
Class to store font.
Definition MWAWFont.hxx:44
MWAWTable
a class used to recreate the table structure using cell informations, ....
Definition MWAWTable.hxx:52
libmwaw_internal.hxx
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition libmwaw_internal.hxx:838
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition libmwaw_internal.hxx:1193
MWAWListenerPtr
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition libmwaw_internal.hxx:553
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition libmwaw_internal.hxx:842
MWAWVec2b
MWAWVec2< bool > MWAWVec2b
MWAWVec2 of bool.
Definition libmwaw_internal.hxx:836
MWAWBorder
a border
Definition libmwaw_internal.hxx:333
MWAWCellContent::FormulaInstruction
small class use to define a formula instruction
Definition MWAWCell.hxx:397
MWAWCellContent::FormulaInstruction::getPropertyList
librevenge::RVNGPropertyList getPropertyList(MWAWFontConverter &fontConverter, int fontId) const
returns a proplist corresponding to a instruction using a font converter to send the text
Definition MWAWCell.cxx:729
MWAWCellContent::FormulaInstruction::m_content
std::string m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text)
Definition MWAWCell.hxx:417
MWAWCellContent::FormulaInstruction::operator<<
friend std::ostream & operator<<(std::ostream &o, FormulaInstruction const &inst)
operator<<
Definition MWAWCell.cxx:823
MWAWCellContent::FormulaInstruction::Type
Type
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::F_Cell
@ F_Cell
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::F_Long
@ F_Long
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::F_Function
@ F_Function
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::F_Unicode
@ F_Unicode
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::F_Text
@ F_Text
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::F_Operator
@ F_Operator
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::F_CellList
@ F_CellList
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::F_Double
@ F_Double
Definition MWAWCell.hxx:398
MWAWCellContent::FormulaInstruction::m_positionRelative
MWAWVec2b m_positionRelative[2]
relative cell position ( if type==F_Cell or F_CellList )
Definition MWAWCell.hxx:425
MWAWCellContent::FormulaInstruction::m_position
MWAWVec2i m_position[2]
cell position ( if type==F_Cell or F_CellList )
Definition MWAWCell.hxx:423
MWAWCellContent::FormulaInstruction::FormulaInstruction
FormulaInstruction()
constructor
Definition MWAWCell.hxx:400
MWAWCellContent::FormulaInstruction::m_doubleValue
double m_doubleValue
value ( if type==F_Double )
Definition MWAWCell.hxx:421
MWAWCellContent::FormulaInstruction::m_type
Type m_type
the type
Definition MWAWCell.hxx:415
MWAWCellContent::FormulaInstruction::m_sheet
librevenge::RVNGString m_sheet[2]
the sheet names (if not empty)
Definition MWAWCell.hxx:427
MWAWCellContent::FormulaInstruction::m_fileName
librevenge::RVNGString m_fileName
the file name (if not empty)
Definition MWAWCell.hxx:429
MWAWCellContent::FormulaInstruction::m_longValue
double m_longValue
value ( if type==F_Long )
Definition MWAWCell.hxx:419
MWAWCell::CompareFormat::CompareFormat
CompareFormat()
constructor
Definition MWAWCell.hxx:118
MWAWCell::CompareFormat::operator()
bool operator()(Format const &c1, Format const &c2) const
comparaison function
Definition MWAWCell.hxx:120
MWAWCell::Format
a structure uses to define the format of a cell content
Definition MWAWCell.hxx:60
MWAWCell::Format::operator=
Format & operator=(Format const &)=default
MWAWCell::Format::compare
int compare(Format const &format) const
a comparison function
Definition MWAWCell.cxx:230
MWAWCell::Format::m_parenthesesForNegative
bool m_parenthesesForNegative
true if we use parenthese to print negative number
Definition MWAWCell.hxx:109
MWAWCell::Format::~Format
virtual ~Format()
destructor
Definition MWAWCell.cxx:54
MWAWCell::Format::operator<<
friend std::ostream & operator<<(std::ostream &o, Format const &format)
operator<<
Definition MWAWCell.cxx:167
MWAWCell::Format::hasBasicFormat
bool hasBasicFormat() const
returns true if this is a basic format style
Definition MWAWCell.hxx:81
MWAWCell::Format::m_numberFormat
NumberType m_numberFormat
the numeric format
Definition MWAWCell.hxx:97
MWAWCell::Format::getValueType
std::string getValueType() const
returns a value type
Definition MWAWCell.cxx:58
MWAWCell::Format::getNumberingProperties
bool getNumberingProperties(librevenge::RVNGPropertyList &propList) const
get the numbering style
Definition MWAWCell.cxx:82
MWAWCell::Format::Format
Format()
constructor
Definition MWAWCell.hxx:62
MWAWCell::Format::m_digits
int m_digits
the number of digits
Definition MWAWCell.hxx:99
MWAWCell::Format::m_thousandHasSeparator
bool m_thousandHasSeparator
true if we must separate the thousand
Definition MWAWCell.hxx:107
MWAWCell::Format::Format
Format(Format const &)=default
MWAWCell::Format::m_denominatorDigits
int m_denominatorDigits
the number of denominator digits
Definition MWAWCell.hxx:105
MWAWCell::Format::m_DTFormat
std::string m_DTFormat
a date/time format ( using a subset of strftime format )
Definition MWAWCell.hxx:113
MWAWCell::Format::m_currencySymbol
std::string m_currencySymbol
the currency symbol ( default '$')
Definition MWAWCell.hxx:111
MWAWCell::Format::m_format
FormatType m_format
the cell format : by default unknown
Definition MWAWCell.hxx:95
MWAWCell::Format::operator=
Format & operator=(Format &&)=default
MWAWCell::Format::m_integerDigits
int m_integerDigits
the number of main digits
Definition MWAWCell.hxx:101
MWAWCell::Format::m_numeratorDigits
int m_numeratorDigits
the number of numerator digits
Definition MWAWCell.hxx:103
MWAWColor
the class to store a color
Definition libmwaw_internal.hxx:192