diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2013-12-17 21:18:46 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@collabora.com> | 2013-12-18 10:13:31 -0500 |
commit | ecc884e9b8afbdaaa917774471d71060ff96cc74 (patch) | |
tree | e29bf7a1a3d9c9b868cf06e3c8d8d8e7a29baa29 /sc/inc | |
parent | df63ec609f361108bc1e531e1454734f6c03258e (diff) |
Use orcus csv parser to streamd data which has much less overhead.
Also, use DocumentStreamAccess to modify ScDocument's content.
Change-Id: I516260cff1f2315267afcff05e36e620798a1aed
Diffstat (limited to 'sc/inc')
-rw-r--r-- | sc/inc/documentstreamaccess.hxx | 24 | ||||
-rw-r--r-- | sc/inc/mtvelements.hxx | 2 |
2 files changed, 26 insertions, 0 deletions
diff --git a/sc/inc/documentstreamaccess.hxx b/sc/inc/documentstreamaccess.hxx index 1450f211d8d9..74f8914f4dce 100644 --- a/sc/inc/documentstreamaccess.hxx +++ b/sc/inc/documentstreamaccess.hxx @@ -10,7 +10,11 @@ #ifndef SC_DOCUMENTSTREAMACCESS_HXX #define SC_DOCUMENTSTREAMACCESS_HXX +#include <rtl/ustring.hxx> + class ScDocument; +class ScAddress; +class ScRange; namespace sc { @@ -28,6 +32,26 @@ class DocumentStreamAccess public: DocumentStreamAccess( ScDocument& rDoc ); + + void setStringCell( const ScAddress& rPos, const OUString& rStr ); + + /** + * Clear its internal state, and more importantly all the block position + * hints currently held. + */ + void reset(); + + /** + * Pop the top row inside specified range, shift all the other rows up by + * one, then set the bottom row empty. + */ + void shiftRangeUp( const ScRange& rRange ); + + /** + * Top the bottom row inside specified range, shift all the other rows + * above downward by one by inserting an empty row at the top. + */ + void shiftRangeDown( const ScRange& rRange ); }; } diff --git a/sc/inc/mtvelements.hxx b/sc/inc/mtvelements.hxx index e5efbf13f804..0fcafdecce98 100644 --- a/sc/inc/mtvelements.hxx +++ b/sc/inc/mtvelements.hxx @@ -145,6 +145,8 @@ public: ColumnBlockPositionSet(ScDocument& rDoc); ColumnBlockPosition* getBlockPosition(SCTAB nTab, SCCOL nCol); + + void clear(); }; ScRefCellValue toRefCell( const sc::CellStoreType::const_iterator& itPos, size_t nOffset ); |