diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-08-01 22:01:26 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-08-02 14:22:10 -0400 |
commit | bf846ac0510da21f7faa601fbd30d9147dc3ee71 (patch) | |
tree | d6acca38a7b233b24ba5f1331320efab7fcadc69 /sc/inc | |
parent | eace5e0a1c4bab37699429447b1a17e3c9410503 (diff) |
fdo#67099: Remove overheads on inserting cells during ods import.
We will switch to using ScDocumentImport to populate the document from
import filters, instead of using ScDocument directly.
Change-Id: Ie59d6877d1ac4fc04751a84b663772a9dc9a3efc
Diffstat (limited to 'sc/inc')
-rw-r--r-- | sc/inc/column.hxx | 11 | ||||
-rw-r--r-- | sc/inc/documentimport.hxx | 13 |
2 files changed, 18 insertions, 6 deletions
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index a42ac8f19c29..045b76a844a3 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -136,6 +136,11 @@ friend class sc::ColumnSpanSet; ScColumn(const ScColumn&); // disabled ScColumn& operator= (const ScColumn&); // disabled + bool ParseString( + ScCellValue& rCell, + SCROW nRow, SCTAB nTab, const String& rString, formula::FormulaGrammar::AddressConvention eConv, + ScSetStringParam* pParam ); + public: ScColumn(); ~ScColumn(); @@ -523,12 +528,6 @@ private: void CopyCellTextAttrsToDocument(SCROW nRow1, SCROW nRow2, ScColumn& rDestCol) const; - /** - * Clear and re-populate the cell text attribute array from the non-empty - * cells stored in the cell array. - */ - void ResetCellTextAttrs(); - void SwapCellTextAttrs( SCROW nRow1, SCROW nRow2 ); }; diff --git a/sc/inc/documentimport.hxx b/sc/inc/documentimport.hxx index 9fddf2b86282..06203019b042 100644 --- a/sc/inc/documentimport.hxx +++ b/sc/inc/documentimport.hxx @@ -17,9 +17,12 @@ #include <boost/noncopyable.hpp> +class EditTextObject; class ScDocument; +class ScColumn; class ScAddress; class ScTokenArray; +class ScFormulaCell; struct ScDocumentImportImpl; /** @@ -42,6 +45,8 @@ public: ScDocument& getDoc(); const ScDocument& getDoc() const; + void setDefaultNumericScript(sal_uInt16 nScript); + /** * @param rName sheet name. * @@ -57,10 +62,18 @@ public: void setAutoInput(const ScAddress& rPos, const OUString& rStr); void setNumericCell(const ScAddress& rPos, double fVal); void setStringCell(const ScAddress& rPos, const OUString& rStr); + void setEditCell(const ScAddress& rPos, EditTextObject* pEditText); void setFormulaCell(const ScAddress& rPos, const OUString& rFormula, formula::FormulaGrammar::Grammar eGrammar); void setFormulaCell(const ScAddress& rPos, const ScTokenArray& rArray); + void setFormulaCell(const ScAddress& rPos, ScFormulaCell* pCell); + + void setMatrixCells( + const ScRange& rRange, const ScTokenArray& rArray, formula::FormulaGrammar::Grammar eGrammar); void finalize(); + +private: + void initColumn(ScColumn& rCol); }; #endif |