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:
StarObject.hxx
STOFFPageSpan
A class which defines the page properties.
Definition STOFFPageSpan.hxx:76
StarAttribute
virtual class used to store the different attribute
Definition StarAttribute.hxx:63
StarObjectSpreadsheetInternal::Cell
Internal: the cell of a StarObjectSpreadsheet.
Definition StarObjectSpreadsheet.cxx:268
StarObjectSpreadsheetInternal::Table
Internal: a table of a StarObjectSpreadsheet.
Definition StarObjectSpreadsheet.cxx:338
StarObjectSpreadsheet
the main class to read a StarOffice sdc file
Definition StarObjectSpreadsheet.hxx:64
StarObjectSpreadsheet::readSCTable
bool readSCTable(StarZone &zone, StarObjectSpreadsheetInternal::Table &table)
try to read a SCTable
Definition StarObjectSpreadsheet.cxx:1784
StarObjectSpreadsheet::readSCColumn
bool readSCColumn(StarZone &zone, StarObjectSpreadsheetInternal::Table &table, int column, long lastPos)
try to read a SCColumn
Definition StarObjectSpreadsheet.cxx:2069
StarObjectSpreadsheet::updatePageSpans
bool updatePageSpans(std::vector< STOFFPageSpan > &pageSpan, int &numPages)
try to update the page span
Definition StarObjectSpreadsheet.cxx:569
StarObjectSpreadsheet::readSCData
bool readSCData(StarZone &zone, StarObjectSpreadsheetInternal::Table &table, int column)
try to read a list of data
Definition StarObjectSpreadsheet.cxx:2195
StarObjectSpreadsheet::~StarObjectSpreadsheet
~StarObjectSpreadsheet() final
destructor
Definition StarObjectSpreadsheet.cxx:559
StarObjectSpreadsheet::sendRow
bool sendRow(int table, int row, STOFFSpreadsheetListenerPtr listener)
try to send a spreadsheet row.
Definition StarObjectSpreadsheet.cxx:666
StarObjectSpreadsheet::readSCMatrix
bool readSCMatrix(StarZone &zone, int version, long lastPos)
try to read a matrix
Definition StarObjectSpreadsheet.cxx:2880
StarObjectSpreadsheet::m_spreadsheetState
std::shared_ptr< StarObjectSpreadsheetInternal::State > m_spreadsheetState
the state
Definition StarObjectSpreadsheet.hxx:112
StarObjectSpreadsheet::readCalcDocument
bool readCalcDocument(STOFFInputStreamPtr input, std::string const &fileName)
try to read a spreadsheet zone: StarCalcDocument .sdc
Definition StarObjectSpreadsheet.cxx:813
StarObjectSpreadsheet::readSCOutlineArray
bool readSCOutlineArray(StarZone &zone)
try to read a SCOutlineArray
Definition StarObjectSpreadsheet.cxx:2992
StarObjectSpreadsheet::sendCell
bool sendCell(StarObjectSpreadsheetInternal::Cell &cell, StarAttribute *attrib, int table, int numRepeated, STOFFSpreadsheetListenerPtr listener)
try to send a cell
Definition StarObjectSpreadsheet.cxx:722
StarObjectSpreadsheet::readSCQueryParam
bool readSCQueryParam(StarZone &zone, int version, long lastPos)
try to read a query param
Definition StarObjectSpreadsheet.cxx:2939
StarObjectSpreadsheet::parse
bool parse()
try to parse the current object
Definition StarObjectSpreadsheet.cxx:756
StarObjectSpreadsheet::StarObjectSpreadsheet
StarObjectSpreadsheet(StarObject const &orig, bool duplicateState)
constructor
Definition StarObjectSpreadsheet.cxx:553
StarObjectSpreadsheet::readSCDBData
bool readSCDBData(StarZone &zone, int version, long lastPos)
try to read a dbData
Definition StarObjectSpreadsheet.cxx:2606
StarObjectSpreadsheet::readSfxStyleSheets
bool readSfxStyleSheets(STOFFInputStreamPtr input, std::string const &fileName)
try to read a spreadshet style zone: SfxStyleSheets
Definition StarObjectSpreadsheet.cxx:1682
StarObjectSpreadsheet::readSCDBPivot
bool readSCDBPivot(StarZone &zone, int version, long lastPos)
try to read a dbPivot
Definition StarObjectSpreadsheet.cxx:2776
StarObjectSpreadsheet::readSCChangeTrack
bool readSCChangeTrack(StarZone &zone, int version, long lastPos)
try to read a change trak
Definition StarObjectSpreadsheet.cxx:2402
StarObjectSpreadsheet::send
bool send(STOFFSpreadsheetListenerPtr listener)
try to send the spreadsheet
Definition StarObjectSpreadsheet.cxx:608
StarObject
an object corresponding to an OLE directory
Definition StarObject.hxx:65
StarZone
a zone in a StarOffice file
Definition StarZone.hxx:57
libstaroffice_internal.hxx
STOFFSpreadsheetListenerPtr
std::shared_ptr< STOFFSpreadsheetListener > STOFFSpreadsheetListenerPtr
a smart pointer of STOFFSpreadsheetListener
Definition libstaroffice_internal.hxx:497
STOFFInputStreamPtr
std::shared_ptr< STOFFInputStream > STOFFInputStreamPtr
a smart pointer of STOFFInputStream
Definition libstaroffice_internal.hxx:489
StarObjectSpreadsheetInternal
Internal: the structures of a StarObjectSpreadsheet.
Definition StarObjectSpreadsheet.cxx:70