78 static bool convertDTFormat(std::string
const &dtFormat, librevenge::RVNGPropertyListVector &propListVector);
101 void addTo(librevenge::RVNGPropertyList &propList)
const;
239 enum Type { F_None, F_Operator, F_Function, F_Cell, F_CellList, F_Index, F_Long, F_Double, F_Text };
242 m_sheetId(-1), m_sheetIdRelative(false), m_extra(
"")
244 for (
int i=0; i<2; ++i) {
246 m_positionRelative[i]=
STOFFVec2b(
false,
false);
250 librevenge::RVNGPropertyList getPropertyList()
const;
276 enum Type { C_NONE, C_TEXT, C_TEXT_BASIC, C_NUMBER, C_FORMULA, C_UNKNOWN };
278 STOFFCellContent() : m_contentType(C_UNKNOWN), m_value(0.0), m_valueSet(false), m_text(), m_formula() { }
287 if (m_contentType == C_NUMBER || m_contentType == C_TEXT)
return false;
288 if (m_contentType == C_TEXT_BASIC && !m_text.empty())
return false;
289 if (m_contentType == C_FORMULA && (m_formula.size() || isValueSet()))
return false;
306 return m_contentType == C_TEXT || !m_text.empty();
310 static bool double2Date(
double val,
int &Y,
int &M,
int &D);
312 static bool double2Time(
double val,
int &H,
int &M,
int &S);
314 static bool date2Double(
int Y,
int M,
int D,
double &val);
void setCellStyle(STOFFCellStyle const &cellStyle)
set the cell style
Definition: STOFFCell.hxx:195
Definition: STOFFCell.hxx:59
bool empty() const
returns true if the cell has no content
Definition: STOFFCell.hxx:285
librevenge::RVNGString m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text)
Definition: STOFFCell.hxx:256
STOFFCellContent()
constructor
Definition: STOFFCell.hxx:278
Definition: STOFFCell.hxx:57
STOFFFont const & getFont() const
returns the font
Definition: STOFFCell.hxx:174
virtual ~STOFFCell()
destructor
Definition: STOFFCell.hxx:98
Definition: STOFFCell.hxx:59
void setValue(double value)
sets the double value
Definition: STOFFCell.hxx:293
a structure used to define a cell and its format
Definition: STOFFCell.hxx:53
FormatType
the different format of a cell's content
Definition: STOFFCell.hxx:57
Definition: STOFFCell.hxx:57
STOFFVec2i const & position() const
position accessor
Definition: STOFFCell.hxx:122
Definition: STOFFCell.hxx:57
Type
Definition: STOFFCell.hxx:239
small class use to define a sheet cell content
Definition: STOFFCell.hxx:234
void setFormat(Format const &format)
set the cell format
Definition: STOFFCell.hxx:168
void addTo(librevenge::RVNGPropertyList &propList) const
adds to the propList
Definition: STOFFCell.cxx:246
int m_sheetId
the sheet id (if set)
Definition: STOFFCell.hxx:268
Definition: STOFFCell.hxx:59
a class used to recreate the table structure using cell informations, ....
Definition: STOFFTable.hxx:51
STOFFBox2f const & bdBox() const
bdbox accessor
Definition: STOFFCell.hxx:133
Definition: STOFFCell.hxx:59
bool m_valueSet
true if the value has been set
Definition: STOFFCell.hxx:320
double m_value
the cell value
Definition: STOFFCell.hxx:318
STOFFFont m_font
the cell font
Definition: STOFFCell.hxx:226
std::string m_extra
extra data
Definition: STOFFCell.hxx:272
STOFFVec2i m_position
the cell row and column : 0,0 -> A1, 0,1 -> A2
Definition: STOFFCell.hxx:217
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition: STOFFCell.hxx:324
void setBdBox(STOFFBox2f box)
set the bdbox (unit point)
Definition: STOFFCell.hxx:138
bool hasText() const
returns true if the text is set
Definition: STOFFCell.hxx:304
STOFFVec2f m_bdSize
the cell bounding size : unit point
Definition: STOFFCell.hxx:221
long m_longValue
value ( if type==F_Long )
Definition: STOFFCell.hxx:258
STOFFVec2< bool > STOFFVec2b
STOFFVec2 of bool.
Definition: libstaroffice_internal.hxx:761
STOFFCellStyle m_cellStyle
the cell cell style
Definition: STOFFCell.hxx:228
~STOFFCellContent()
destructor
Definition: STOFFCell.hxx:280
std::vector< uint32_t > m_text
the text value (for C_TEXT_BASIC)
Definition: STOFFCell.hxx:322
Definition: STOFFCell.hxx:59
NumberType
the different number format of a cell's content
Definition: STOFFCell.hxx:59
void setBdSize(STOFFVec2f sz)
set the bdbox size(unit point)
Definition: STOFFCell.hxx:149
librevenge::RVNGPropertyList m_numberingStyle
the numbering style
Definition: STOFFCell.hxx:230
Type m_contentType
the content type ( by default unknown )
Definition: STOFFCell.hxx:316
Definition: STOFFCell.hxx:57
double m_doubleValue
value ( if type==F_Double )
Definition: STOFFCell.hxx:260
bool m_sheetIdRelative
the sheet id relative flag
Definition: STOFFCell.hxx:270
static std::string getColumnName(int col)
return the column name
Definition: STOFFCell.cxx:255
Definition: STOFFCell.hxx:59
bool isValueSet() const
returns true if the value has been setted
Definition: STOFFCell.hxx:299
Definition: STOFFCell.hxx:57
librevenge::RVNGPropertyList const & getNumberingStyle() const
returns the numbering style
Definition: STOFFCell.hxx:201
Format const & getFormat() const
returns the cell format
Definition: STOFFCell.hxx:163
Definition: STOFFCell.hxx:59
STOFFVec2< int > STOFFVec2i
STOFFVec2 of int.
Definition: libstaroffice_internal.hxx:763
STOFFVec2f const & bdSize() const
bdbox size accessor
Definition: STOFFCell.hxx:144
virtual bool send(STOFFListenerPtr listener, STOFFTable &table)
function called when a cell is send by STOFFTable to send a cell to a listener.
Definition: STOFFCell.cxx:284
STOFFCellStyle & getCellStyle()
returns the cell style
Definition: STOFFCell.hxx:190
Class to store font.
Definition: STOFFFont.hxx:43
Type
the different types of cell's field
Definition: STOFFCell.hxx:276
static std::string getCellName(STOFFVec2i const &pos, STOFFVec2b const &absolute)
return the name of a cell (given row and column) : 0,0 -> A1, 0,1 -> A2
Definition: STOFFCell.cxx:265
Definition: STOFFCell.hxx:57
virtual bool sendContent(STOFFListenerPtr listener, STOFFTable &table)
function called when the content of a cell must be send to the listener, ie.
Definition: STOFFCell.cxx:293
std::shared_ptr< STOFFListener > STOFFListenerPtr
a smart pointer of STOFFListener
Definition: libstaroffice_internal.hxx:487
Format m_format
the cell format
Definition: STOFFCell.hxx:224
void setPosition(STOFFVec2i posi)
set the cell positions : 0,0 -> A1, 0,1 -> A2
Definition: STOFFCell.hxx:127
STOFFCell()
constructor
Definition: STOFFCell.hxx:88
small class use to define a formula instruction
Definition: STOFFCell.hxx:238
STOFFBox2f m_bdBox
the cell bounding box (unit in point)
Definition: STOFFCell.hxx:219
void setNumberingStyle(librevenge::RVNGPropertyList const &numberStyle)
set the numbering style
Definition: STOFFCell.hxx:211
Class to store a cell style.
Definition: STOFFCellStyle.hxx:43
librevenge::RVNGPropertyList & getNumberingStyle()
returns the numbering style
Definition: STOFFCell.hxx:206
Definition: STOFFCell.hxx:57
FormulaInstruction()
constructor
Definition: STOFFCell.hxx:241
Type m_type
the type
Definition: STOFFCell.hxx:254
STOFFCellStyle const & getCellStyle() const
returns the cell style
Definition: STOFFCell.hxx:185
void setFont(STOFFFont const &font)
set the font
Definition: STOFFCell.hxx:179
librevenge::RVNGString m_sheet
the sheet name (if not empty)
Definition: STOFFCell.hxx:266