StarObjectSpreadsheet.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 /* libstaroffice
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 read StarOffice spreadsheet zones
36 *
37 */
38 #ifndef STAR_OBJECT_SPREADSHEET
39 # define STAR_OBJECT_SPREADSHEET
40
41 #include <vector>
42
43 #include "libstaroffice_internal.hxx"
44 #include "StarObject.hxx"
45
46 namespace StarObjectSpreadsheetInternal
47 {
48 class Cell;
49 class Table;
50
51 struct State;
52 }
53
54 class StarAttribute;
55 class StarZone;
56 class STOFFPageSpan;
57
63 class StarObjectSpreadsheet final : public StarObject
64 {
65 public:
67 StarObjectSpreadsheet(StarObject const &orig, bool duplicateState);
69 ~StarObjectSpreadsheet() final;
71 bool parse();
73 bool send(STOFFSpreadsheetListenerPtr listener);
77 bool sendRow(int table, int row, STOFFSpreadsheetListenerPtr listener);
79 bool sendCell(StarObjectSpreadsheetInternal::Cell &cell, StarAttribute *attrib, int table, int numRepeated, STOFFSpreadsheetListenerPtr listener);
81 bool updatePageSpans(std::vector<STOFFPageSpan> &pageSpan, int &numPages);
82 protected:
83 //
84 // data
85 //
87 bool readCalcDocument(STOFFInputStreamPtr input, std::string const &fileName);
89 bool readSfxStyleSheets(STOFFInputStreamPtr input, std::string const &fileName);
90
92 bool readSCTable(StarZone &zone, StarObjectSpreadsheetInternal::Table &table);
94 bool readSCColumn(StarZone &zone, StarObjectSpreadsheetInternal::Table &table, int column, long lastPos);
96 bool readSCData(StarZone &zone, StarObjectSpreadsheetInternal::Table &table, int column);
97
99 bool readSCChangeTrack(StarZone &zone, int version, long lastPos);
101 bool readSCDBData(StarZone &zone, int version, long lastPos);
103 bool readSCDBPivot(StarZone &zone, int version, long lastPos);
105 bool readSCMatrix(StarZone &zone, int version, long lastPos);
107 bool readSCQueryParam(StarZone &zone, int version, long lastPos);
109 bool readSCOutlineArray(StarZone &zone);
110
112 std::shared_ptr<StarObjectSpreadsheetInternal::State> m_spreadsheetState;
113 };
114 #endif
115 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
StarFileManager.hxx
STOFFCell::F_NUMBER
@ F_NUMBER
Definition: STOFFCell.hxx:57
StarObjectSpreadsheetInternal::Table::m_pageStyle
librevenge::RVNGString m_pageStyle
the page style name
Definition: StarObjectSpreadsheet.cxx:469
STOFFListenerPtr
std::shared_ptr< STOFFListener > STOFFListenerPtr
a smart pointer of STOFFListener
Definition: libstaroffice_internal.hxx:491
STOFFCellContent::m_formula
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition: STOFFCell.hxx:324
StarFileManager
the main class to read/.
Definition: StarFileManager.hxx:61
StarAttribute
virtual class used to store the different attribute
Definition: StarAttribute.hxx:62
STOFFCellContent
small class use to define a sheet cell content
Definition: STOFFCell.hxx:234
STOFFVec2< int >
STOFFEntry
basic class to store an entry in a file This contained :
Definition: STOFFEntry.hxx:46
libstoff::getString
librevenge::RVNGString getString(std::vector< uint32_t > const &unicode)
transform a unicode string in a RNVGString
Definition: libstaroffice_internal.cxx:63
STOFFCellContent::m_contentType
Type m_contentType
the content type ( by default unknown )
Definition: STOFFCell.hxx:316
StarObjectSpreadsheetInternal::Table::m_loadingVersion
int m_loadingVersion
the loading version
Definition: StarObjectSpreadsheet.cxx:465
StarZone::ascii
libstoff::DebugFile & ascii()
returns the ascii file
Definition: StarZone.hxx:254
StarObjectSpreadsheet::~StarObjectSpreadsheet
~StarObjectSpreadsheet() final
destructor
Definition: StarObjectSpreadsheet.cxx:559
StarObjectSpreadsheet::readSCDBPivot
bool readSCDBPivot(StarZone &zone, int version, long lastPos)
try to read a dbPivot
Definition: StarObjectSpreadsheet.cxx:2776
StarObjectSpreadsheetInternal::ScMultiRecord::m_endPos
long m_endPos
the end of data position
Definition: StarObjectSpreadsheet.cxx:252
StarObjectSpreadsheetInternal::Cell::~Cell
~Cell() override
destructor
Definition: StarObjectSpreadsheet.cxx:291
StarObjectSpreadsheetInternal::Table::getRowHeight
float getRowHeight(int row) const
returns the row size in point
Definition: StarObjectSpreadsheet.cxx:388
STOFF_DEBUG_MSG
#define STOFF_DEBUG_MSG(M)
Definition: libstaroffice_internal.hxx:129
StarObjectSpreadsheet::send
bool send(STOFFSpreadsheetListenerPtr listener)
try to send the spreadsheet
Definition: StarObjectSpreadsheet.cxx:608
StarObjectSpreadsheet
the main class to read a StarOffice sdc file
Definition: StarObjectSpreadsheet.hxx:63
StarObjectSpreadsheet::parse
bool parse()
try to parse the current object
Definition: StarObjectSpreadsheet.cxx:756
STOFFCellContent::m_text
std::vector< uint32_t > m_text
the text value (for C_TEXT_BASIC)
Definition: STOFFCell.hxx:322
StarObjectSpreadsheetInternal::ScMultiRecord::~ScMultiRecord
~ScMultiRecord()
destructor
Definition: StarObjectSpreadsheet.cxx:89
StarObjectSpreadsheetInternal::Table::~Table
~Table() override
destructor
Definition: StarObjectSpreadsheet.cxx:482
StarObjectSpreadsheetInternal::Table::m_name
librevenge::RVNGString m_name
the table name
Definition: StarObjectSpreadsheet.cxx:467
StarObjectSpreadsheetInternal::RowContent::RowContent
RowContent()
constructor
Definition: StarObjectSpreadsheet.cxx:300
STOFFCell::setCellStyle
void setCellStyle(STOFFCellStyle const &cellStyle)
set the cell style
Definition: STOFFCell.hxx:195
StarObjectSpreadsheetInternal::ScMultiRecord::m_endContentPos
long m_endContentPos
the end of the content position
Definition: StarObjectSpreadsheet.cxx:254
STOFFSubDocument
abstract class used to store a subdocument (with a comparison function)
Definition: STOFFSubDocument.hxx:41
StarObjectSpreadsheet::StarObjectSpreadsheet
StarObjectSpreadsheet(StarObject const &orig, bool duplicateState)
constructor
Definition: StarObjectSpreadsheet.cxx:553
StarObjectSpreadsheetInternal::Cell::m_textZone
std::shared_ptr< StarObjectSmallText > m_textZone
the text zone(if set)
Definition: StarObjectSpreadsheet.cxx:284
StarObjectSpreadsheetInternal::ScMultiRecord::m_actualRecord
uint32_t m_actualRecord
the actual record
Definition: StarObjectSpreadsheet.cxx:246
StarObjectSpreadsheetInternal::ScMultiRecord::m_startPos
long m_startPos
the start of data position
Definition: StarObjectSpreadsheet.cxx:250
StarObject::cleanPools
void cleanPools()
clean each pool
Definition: StarObject.cxx:106
STOFFPageSpan
A class which defines the page properties.
Definition: STOFFPageSpan.hxx:75
StarObjectSmallText.hxx
StarObject::getNewItemPool
std::shared_ptr< StarItemPool > getNewItemPool(StarItemPool::Type type)
returns a new item pool for this document
Definition: StarObject.cxx:142
StarObjectSpreadsheetInternal::ScMultiRecord::openContent
bool openContent(std::string const &wh)
try to go to the new content positon
Definition: StarObjectSpreadsheet.cxx:176
StarZone::readString
bool readString(std::vector< uint32_t > &string, int encoding=-1) const
try to read an unicode string
Definition: StarZone.hxx:220
StarObjectSpreadsheetInternal::SubDocument::m_text
librevenge::RVNGString m_text
the note text
Definition: StarObjectSpreadsheet.cxx:533
StarObjectSpreadsheetInternal::State
Internal: the state of a StarObjectSpreadsheet.
Definition: StarObjectSpreadsheet.cxx:488
STOFFCell
a structure used to define a cell and its format
Definition: STOFFCell.hxx:53
StarObjectSpreadsheetInternal::SubDocument::SubDocument
SubDocument(librevenge::RVNGString const &text)
Definition: StarObjectSpreadsheet.cxx:512
StarObjectSpreadsheetInternal::ScMultiRecord::isContentOpened
bool isContentOpened() const
returns true if a content is opened
Definition: StarObjectSpreadsheet.cxx:171
StarObjectSpreadsheetInternal::Table::getMaxCols
static int getMaxCols()
returns the maximum number of columns
Definition: StarObjectSpreadsheet.cxx:360
STOFFColor
the class to store a color
Definition: libstaroffice_internal.hxx:189
STOFFSpreadsheetListenerPtr
std::shared_ptr< STOFFSpreadsheetListener > STOFFSpreadsheetListenerPtr
a smart pointer of STOFFSpreadsheetListener
Definition: libstaroffice_internal.hxx:497
StarObjectSpreadsheetInternal::Table::updateRowsBlocks
void updateRowsBlocks(STOFFVec2i const &rows)
create a block of rows(if not created)
Definition: StarObjectSpreadsheet.cxx:404
StarObjectSpreadsheetInternal::Cell::Cell
Cell(STOFFVec2i pos=STOFFVec2i(0, 0))
constructor
Definition: StarObjectSpreadsheet.cxx:271
StarObjectSpreadsheet::updatePageSpans
bool updatePageSpans(std::vector< STOFFPageSpan > &pageSpan, int &numPages)
try to update the page span
Definition: StarObjectSpreadsheet.cxx:569
StarObjectSpreadsheetInternal::Cell::m_notes
librevenge::RVNGString m_notes[3]
the notes text, date, author
Definition: StarObjectSpreadsheet.cxx:288
StarState
class to store an state: ie.
Definition: StarState.hxx:67
StarObjectSpreadsheetInternal::ScMultiRecord::getContentLastPosition
long getContentLastPosition() const
returns the last content position
Definition: StarObjectSpreadsheet.cxx:215
StarObjectSpreadsheetInternal::Table::m_maxRow
int m_maxRow
the maximum number of row
Definition: StarObjectSpreadsheet.cxx:471
StarObjectSpreadsheetInternal::State::m_model
std::shared_ptr< StarObjectModel > m_model
the model
Definition: StarObjectSpreadsheet.cxx:498
StarObjectSpreadsheetInternal::RowContent::m_colToAttributeMap
std::map< STOFFVec2i, std::shared_ptr< StarAttribute > > m_colToAttributeMap
map col -> attribute
Definition: StarObjectSpreadsheet.cxx:332
STOFFOLEParser.hxx
StarObjectModel
the main class to read a SdrModel zone
Definition: StarObjectModel.hxx:64
StarEncryption.hxx
StarObjectSpreadsheet::sendCell
bool sendCell(StarObjectSpreadsheetInternal::Cell &cell, StarAttribute *attrib, int table, int numRepeated, STOFFSpreadsheetListenerPtr listener)
try to send a cell
Definition: StarObjectSpreadsheet.cxx:722
StarEncoding::E_DONTKNOW
@ E_DONTKNOW
Definition: StarEncoding.hxx:55
libstaroffice_internal.hxx
StarEncryption::decodeStream
static STOFFInputStreamPtr decodeStream(STOFFInputStreamPtr input, uint8_t mask)
decode a zone given a mask
Definition: StarEncryption.cxx:192
StarObjectSpreadsheetInternal::ScMultiRecord::open
bool open()
try to open a zone
Definition: StarObjectSpreadsheet.cxx:97
libstoff::DebugFile::reset
static void reset()
Definition: STOFFDebug.hxx:228
libstoff::DebugStream::str
static std::string str()
Definition: STOFFDebug.hxx:203
StarObjectSpreadsheetInternal::ScMultiRecord::closeContent
bool closeContent(std::string const &wh)
try to go to the new content positon
Definition: StarObjectSpreadsheet.cxx:192
StarObjectSpreadsheetInternal::Cell
Internal: the cell of a StarObjectSpreadsheet.
Definition: StarObjectSpreadsheet.cxx:267
STOFFPageSpan.hxx
StarObjectSpreadsheetInternal::Table
Internal: a table of a StarObjectSpreadsheet.
Definition: StarObjectSpreadsheet.cxx:337
StarObjectSpreadsheetInternal::ScMultiRecord::m_offsetList
std::vector< uint32_t > m_offsetList
the list of offset
Definition: StarObjectSpreadsheet.cxx:258
STOFFSubDocument.hxx
StarObjectSpreadsheetInternal::ScMultiRecord::m_zone
StarZone & m_zone
the main zone
Definition: StarObjectSpreadsheet.cxx:242
StarObjectSpreadsheetInternal::State::m_tableList
std::vector< std::shared_ptr< Table > > m_tableList
the actual table
Definition: StarObjectSpreadsheet.cxx:500
StarZone::openSCRecord
bool openSCRecord()
try to open a SC record: size (32 bytes) + size bytes
Definition: StarZone.cxx:483
StarObjectSpreadsheetInternal::Table::getLoadingVersion
int getLoadingVersion() const
returns the load version
Definition: StarObjectSpreadsheet.cxx:355
StarObjectDraw.hxx
StarObjectSpreadsheetInternal::ScMultiRecord::close
void close(std::string const &wh)
try to close a zone
Definition: StarObjectSpreadsheet.cxx:141
STOFFCell::Format::m_format
FormatType m_format
the cell format : by default unknown
Definition: STOFFCell.hxx:83
STOFFInputStreamPtr
std::shared_ptr< STOFFInputStream > STOFFInputStreamPtr
a smart pointer of STOFFInputStream
Definition: libstaroffice_internal.hxx:489
StarAttribute::addTo
void addTo(StarState &state) const
add to a state
Definition: StarAttribute.hxx:746
StarObjectSpreadsheetInternal::ScMultiRecord::ScMultiRecord
ScMultiRecord(StarZone &zone)
constructor
Definition: StarObjectSpreadsheet.cxx:75
StarObject::getFormatManager
std::shared_ptr< StarFormatManager > getFormatManager()
returns the format manager
Definition: StarObject.cxx:125
libstoff::SubDocumentType
SubDocumentType
Definition: libstaroffice_internal.hxx:185
StarZone
a zone in a StarOffice file
Definition: StarZone.hxx:56
StarObjectSpreadsheetInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: StarObjectSpreadsheet.cxx:516
StarItemPool::T_EditEnginePool
@ T_EditEnginePool
Definition: StarItemPool.hxx:75
STOFFCellStyle.hxx
StarZone::getRecordLevel
int getRecordLevel() const
returns the record level
Definition: StarZone.hxx:195
StarCellFormula::readSCFormula3
static bool readSCFormula3(StarZone &zone, STOFFCellContent &content, int version, long lastPos)
try to read a formula(v3)
Definition: StarCellFormula.cxx:531
StarObject
an object corresponding to an OLE directory
Definition: StarObject.hxx:64
StarObjectSpreadsheetInternal::ScMultiRecord::m_endRecordPos
long m_endRecordPos
the end of the record position
Definition: StarObjectSpreadsheet.cxx:256
StarObjectSpreadsheet::readSCOutlineArray
bool readSCOutlineArray(StarZone &zone)
try to read a SCOutlineArray
Definition: StarObjectSpreadsheet.cxx:2992
StarZone::getEncoding
StarEncoding::Encoding getEncoding() const
returns the zone encoding
Definition: StarZone.hxx:121
StarObjectModel.hxx
StarCellFormula.hxx
STOFFTable
a class used to recreate the table structure using cell informations, ....
Definition: STOFFTable.hxx:51
StarObjectSpreadsheetInternal::Table::Table
Table(int loadingVers, int maxRow)
constructor
Definition: StarObjectSpreadsheet.cxx:341
StarObjectSpreadsheet.hxx
StarState::m_font
STOFFFont m_font
the font
Definition: StarState.hxx:182
StarObjectSpreadsheetInternal::State::m_pageStyle
librevenge::RVNGString m_pageStyle
the main page style
Definition: StarObjectSpreadsheet.cxx:504
StarItemStyle::F_Page
@ F_Page
Definition: StarItem.hxx:120
StarEncoding::getEncodingForId
static Encoding getEncodingForId(int id)
return an encoding corresponding to an id
Definition: StarEncoding.cxx:73
StarObjectSpreadsheetInternal::ScMultiRecord::operator=
ScMultiRecord & operator=(ScMultiRecord const &orig)
StarObjectSpreadsheet::readSCQueryParam
bool readSCQueryParam(StarZone &zone, int version, long lastPos)
try to read a query param
Definition: StarObjectSpreadsheet.cxx:2939
libstoff::DebugStream
Definition: STOFFDebug.hxx:194
StarObjectSmallText
the main class to read a small StarOffice text zone
Definition: StarObjectSmallText.hxx:58
StarObject::findItemPool
std::shared_ptr< StarItemPool > findItemPool(StarItemPool::Type type, bool isInside)
check if a pool corresponding to a given type is opened if so returned it.
Definition: StarObject.cxx:159
STOFFGraphicStyle.hxx
STOFFCell::setPosition
void setPosition(STOFFVec2i posi)
set the cell positions : 0,0 -> A1, 0,1 -> A2
Definition: STOFFCell.hxx:127
StarZone::setInput
void setInput(STOFFInputStreamPtr input)
reset the current input
Definition: StarZone.cxx:75
StarObjectSpreadsheetInternal::Table::getRow
RowContent * getRow(int row)
returns a row content
Definition: StarObjectSpreadsheet.cxx:396
StarZone::closeSCRecord
bool closeSCRecord(std::string const &debugName)
try to close a record
Definition: StarZone.hxx:165
StarObjectSpreadsheetInternal::Table::getColumnWidths
std::vector< float > getColumnWidths(std::vector< int > &repeated) const
returns the col width dimension in inch
Definition: StarObjectSpreadsheet.cxx:370
StarObject::getPassword
const char * getPassword() const
returns the document password (the password given by the user)
Definition: StarObject.hxx:81
StarObjectSpreadsheetInternal::Cell::m_content
STOFFCellContent m_content
the cell content
Definition: StarObjectSpreadsheet.cxx:282
StarObjectSpreadsheetInternal
Internal: the structures of a StarObjectSpreadsheet.
Definition: StarObjectSpreadsheet.cxx:69
StarCellFormula::readSCFormula
static bool readSCFormula(StarZone &zone, STOFFCellContent &content, int version, long lastPos)
try to read a formula
Definition: StarCellFormula.cxx:385
StarObjectSpreadsheetInternal::Table::getCell
Cell & getCell(STOFFVec2i const &pos)
returns a cell corresponding to a position
Definition: StarObjectSpreadsheet.cxx:448
StarObjectSpreadsheetInternal::ScMultiRecord::operator<<
friend std::ostream & operator<<(std::ostream &o, ScMultiRecord const &r)
basic operator<< ; print header data
Definition: StarObjectSpreadsheet.cxx:225
StarObjectSpreadsheetInternal::Table::getMaxRows
int getMaxRows() const
returns the maximum number of row
Definition: StarObjectSpreadsheet.cxx:365
StarObjectSpreadsheetInternal::SubDocument
Internal: the subdocument of a StarObjectSpreadsheet.
Definition: StarObjectSpreadsheet.cxx:509
StarZone::setGuiType
void setGuiType(int type)
sets the zone GUI type
Definition: StarZone.hxx:136
StarObject::getDocumentKind
STOFFDocument::Kind getDocumentKind() const
returns the document kind
Definition: StarObject.cxx:115
StarObjectSpreadsheet::readSCColumn
bool readSCColumn(StarZone &zone, StarObjectSpreadsheetInternal::Table &table, int column, long lastPos)
try to read a SCColumn
Definition: StarObjectSpreadsheet.cxx:2069
StarObjectSpreadsheetInternal::ScMultiRecord
Internal: a structure use to read ScMultiRecord zone of a StarObjectSpreadsheet.
Definition: StarObjectSpreadsheet.cxx:73
StarObject::parse
bool parse()
try to parse data
Definition: StarObject.cxx:170
STOFFCellContent::C_NUMBER
@ C_NUMBER
Definition: STOFFCell.hxx:276
StarObjectSpreadsheetInternal::Table::m_colWidthList
std::vector< int > m_colWidthList
the columns width
Definition: StarObjectSpreadsheet.cxx:473
StarObjectSpreadsheetInternal::Table::m_badCell
Cell m_badCell
a cell uses to return an empty cell
Definition: StarObjectSpreadsheet.cxx:479
StarObjectSpreadsheetInternal::Table::m_rowToRowContentMap
std::map< STOFFVec2i, RowContent > m_rowToRowContentMap
map (min row, max row) -> rowContent
Definition: StarObjectSpreadsheet.cxx:477
STOFFCellContent::C_TEXT_BASIC
@ C_TEXT_BASIC
Definition: STOFFCell.hxx:276
StarState.hxx
StarState::m_cell
STOFFCellStyle m_cell
the cell style
Definition: StarState.hxx:173
StarObjectSpreadsheet::readSfxStyleSheets
bool readSfxStyleSheets(STOFFInputStreamPtr input, std::string const &fileName)
try to read a spreadshet style zone: SfxStyleSheets
Definition: StarObjectSpreadsheet.cxx:1682
StarFileManager::readJobSetUp
static bool readJobSetUp(StarZone &zone, bool usePrinterLen)
try to read a printer zone
Definition: StarFileManager.cxx:847
libstoff::DebugFile::addPos
static void addPos(long)
Definition: STOFFDebug.hxx:223
libstoff::DebugFile::addDelimiter
static void addDelimiter(long, char)
Definition: STOFFDebug.hxx:225
STOFFTable.hxx
STOFFCell::Format
a structure uses to define the format of a cell content
Definition: STOFFCell.hxx:61
StarObject.hxx
StarZone.hxx
StarObjectSpreadsheet::readSCDBData
bool readSCDBData(StarZone &zone, int version, long lastPos)
try to read a dbData
Definition: StarObjectSpreadsheet.cxx:2606
StarObjectSpreadsheetInternal::State::m_sheetNames
std::vector< librevenge::RVNGString > m_sheetNames
the sheet names
Definition: StarObjectSpreadsheet.cxx:502
STOFFCell::F_TEXT
@ F_TEXT
Definition: STOFFCell.hxx:57
STOFFListener::PageBreak
@ PageBreak
Definition: STOFFListener.hxx:59
StarObjectSpreadsheet::m_spreadsheetState
std::shared_ptr< StarObjectSpreadsheetInternal::State > m_spreadsheetState
the state
Definition: StarObjectSpreadsheet.hxx:112
StarState::m_global
std::shared_ptr< GlobalState > m_global
global state
Definition: StarState.hxx:165
StarObjectSpreadsheet::readSCTable
bool readSCTable(StarZone &zone, StarObjectSpreadsheetInternal::Table &table)
try to read a SCTable
Definition: StarObjectSpreadsheet.cxx:1784
libstoff::DebugFile
Definition: STOFFDebug.hxx:210
StarObject::getOLEDirectory
std::shared_ptr< STOFFOLEParser::OleDirectory > getOLEDirectory()
returns the object directory
Definition: StarObject.hxx:86
StarObjectSpreadsheetInternal::RowContent::m_colToCellMap
std::map< int, std::shared_ptr< Cell > > m_colToCellMap
map col -> cell
Definition: StarObjectSpreadsheet.cxx:330
StarObjectSpreadsheetInternal::ScMultiRecord::m_zoneOpened
bool m_zoneOpened
true if a SfxRecord has been opened
Definition: StarObjectSpreadsheet.cxx:244
StarObjectSpreadsheetInternal::SubDocument::operator!=
bool operator!=(STOFFSubDocument const &doc) const override
operator!=
Definition: StarObjectSpreadsheet.cxx:519
StarObjectSpreadsheet::readSCChangeTrack
bool readSCChangeTrack(StarZone &zone, int version, long lastPos)
try to read a change trak
Definition: StarObjectSpreadsheet.cxx:2402
StarObjectSpreadsheetInternal::RowContent::compressItemList
void compressItemList()
try to compress the item list and create a attribute list
Definition: StarObjectSpreadsheet.cxx:306
StarFormatManager.hxx
StarZone::setEncoding
void setEncoding(StarEncoding::Encoding encod)
sets the zone encoding
Definition: StarZone.hxx:126
libstoff::DebugFile::addNote
static void addNote(char const *)
Definition: STOFFDebug.hxx:224
StarObjectSpreadsheetInternal::State::State
State()
constructor
Definition: StarObjectSpreadsheet.cxx:490
StarObjectSpreadsheetInternal::RowContent
Internal: structure used to store a row of a StarObjectSpreadsheet.
Definition: StarObjectSpreadsheet.cxx:296
StarEncryption::getMaskToDecodeStream
static uint8_t getMaskToDecodeStream(uint8_t src, uint8_t dest)
retrieves a mask needed to decode a stream knowing a src and dest bytes
Definition: StarEncryption.cxx:216
STOFFCell::setFont
void setFont(STOFFFont const &font)
set the font
Definition: STOFFCell.hxx:179
STOFFCellContent::C_TEXT
@ C_TEXT
Definition: STOFFCell.hxx:276
StarZone::input
STOFFInputStreamPtr input()
return the zone input
Definition: StarZone.hxx:247
StarObjectSpreadsheetInternal::SubDocument::parse
void parse(STOFFListenerPtr &listener, libstoff::SubDocumentType type) final
the parser function
Definition: StarObjectSpreadsheet.cxx:536
STOFFVec2i
STOFFVec2< int > STOFFVec2i
STOFFVec2 of int.
Definition: libstaroffice_internal.hxx:767
libstoff::DebugFile::open
static bool open(std::string const &)
Definition: STOFFDebug.hxx:218
STOFFFont.hxx
StarItemPool.hxx
StarItemPool::T_XOutdevPool
@ T_XOutdevPool
Definition: StarItemPool.hxx:75
StarObjectSpreadsheet::readSCData
bool readSCData(StarZone &zone, StarObjectSpreadsheetInternal::Table &table, int column)
try to read a list of data
Definition: StarObjectSpreadsheet.cxx:2195
StarAttribute.hxx
StarItemPool::T_SpreadsheetPool
@ T_SpreadsheetPool
Definition: StarItemPool.hxx:75
StarZone::getRecordLastPosition
long getRecordLastPosition() const
returns the actual record last position
Definition: StarZone.hxx:200
StarObjectSpreadsheetInternal::ScMultiRecord::m_extra
std::string m_extra
extra data
Definition: StarObjectSpreadsheet.cxx:260
StarObjectSpreadsheet::readSCMatrix
bool readSCMatrix(StarZone &zone, int version, long lastPos)
try to read a matrix
Definition: StarObjectSpreadsheet.cxx:2880
StarObjectSpreadsheetInternal::ScMultiRecord::m_numRecord
uint32_t m_numRecord
the number of record
Definition: StarObjectSpreadsheet.cxx:248
StarObjectSpreadsheet::sendRow
bool sendRow(int table, int row, STOFFSpreadsheetListenerPtr listener)
try to send a spreadsheet row.
Definition: StarObjectSpreadsheet.cxx:666
StarObjectSpreadsheet::readCalcDocument
bool readCalcDocument(STOFFInputStreamPtr input, std::string const &fileName)
try to read a spreadsheet zone: StarCalcDocument .sdc
Definition: StarObjectSpreadsheet.cxx:813
STOFFSpreadsheetListener.hxx
StarObjectSpreadsheetInternal::Table::m_rowHeightMap
std::map< STOFFVec2i, int > m_rowHeightMap
the rows heights in TWIP
Definition: StarObjectSpreadsheet.cxx:475
StarCellFormula::updateFormula
static void updateFormula(STOFFCellContent &content, std::vector< librevenge::RVNGString > const &sheetNames, int cellSheetId)
update the different formula(knowing the list of sheet names and the cell's sheetId)
Definition: StarCellFormula.cxx:365
StarObjectSpreadsheetInternal::Cell::m_hasNote
bool m_hasNote
flag to know if the cell has some note
Definition: StarObjectSpreadsheet.cxx:286
STOFFCell.hxx
STOFFDocument::STOFF_K_SPREADSHEET
@ STOFF_K_SPREADSHEET
spreadsheet: .sdc
Definition: STOFFDocument.hxx:74