summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-06-26 18:59:57 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-06-27 15:50:06 -0400
commita8153482ad4f918f3501aed34c3131e970592575 (patch)
tree987dbcb2f2f334567de896b0b80f04d67aaa3106 /sc/inc
parent85ce60d4c43d35b9673ed22f4a4adaa4928349be (diff)
Proper handling of formula cells in SwapRow().
Change-Id: Id295160b69cc5cb40cd9e0403928dac8b0e58807
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/column.hxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index a9aae2c964cc..78011addd7fb 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -147,8 +147,7 @@ public:
const sc::CellTextAttrStoreType& GetCellAttrStore() const { return maCellTextAttrs; }
ScRefCellValue GetCellValue( SCROW nRow ) const;
- ScRefCellValue GetCellValue( sc::CellStoreType::const_iterator& itPos, SCROW nRow ) const;
- ScRefCellValue GetCellValue( sc::CellStoreType::const_iterator& itPos, size_t nOffset ) const;
+ ScRefCellValue GetCellValue( const sc::CellStoreType::const_iterator& itPos, size_t nOffset ) const;
void Delete( SCROW nRow );
void FreeAll();
@@ -468,6 +467,12 @@ public:
void JoinNewFormulaCell( const sc::CellStoreType::position_type& aPos, ScFormulaCell& rCell ) const;
+ /**
+ * Detouch a formula cell that's about to be deleted, or removed from
+ * document storage (if that ever happens).
+ */
+ void DetouchFormulaCell( const sc::CellStoreType::position_type& aPos, ScFormulaCell& rCell ) const;
+
void UnshareFormulaCell( const sc::CellStoreType::position_type& aPos, ScFormulaCell& rCell ) const;
/**
@@ -497,6 +502,7 @@ private:
sc::CellStoreType::iterator GetPositionToInsert( SCROW nRow );
sc::CellStoreType::iterator GetPositionToInsert( const sc::CellStoreType::iterator& it, SCROW nRow );
void ActivateNewFormulaCell( const sc::CellStoreType::iterator& itPos, SCROW nRow, ScFormulaCell& rCell );
+ void ActivateNewFormulaCell( const sc::CellStoreType::position_type& aPos, ScFormulaCell& rCell );
void BroadcastNewCell( SCROW nRow );
bool UpdateScriptType( sc::CellTextAttr& rAttr, SCROW nRow );