summaryrefslogtreecommitdiff
path: root/sc/inc/formulacell.hxx
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-01-09 19:47:06 +0100
committerEike Rathke <erack@redhat.com>2017-01-10 11:44:28 +0100
commit439b2a134218b93e6ca9fa23005b89c19498f586 (patch)
treeb12c529dad918d2aae43d8d4e953ce1cf5eb0dc2 /sc/inc/formulacell.hxx
parent7aaa217894fad1b3fd5c06cc77a216a87adae93d (diff)
Resolves: tdf#104711 adjust range reference constructed of named anchors
A constructed range reference of named anchors (i.e. extended during expression compilation) forms a range listened at that needs to be adjusted if the cell is shifted and one or both anchor parts are individually named relative references. Currently the resulting range (ScComplexRefData aka DoubleRef) does not know to distinguish between whether its anchors are the result of a literal range in a named expression or the result of individually named anchors, so such RelName DoubleRef needs to be adjusted unconditionally when shifting or moving the formula cell. Change-Id: I75e2cc79ac60116671acce7641567337d5f5f7ed
Diffstat (limited to 'sc/inc/formulacell.hxx')
-rw-r--r--sc/inc/formulacell.hxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx
index 960a753f643a..71812a2aab15 100644
--- a/sc/inc/formulacell.hxx
+++ b/sc/inc/formulacell.hxx
@@ -243,7 +243,14 @@ public:
It is similar to HasOneReference(), but more general.
*/
bool HasRefListExpressibleAsOneReference(ScRange& rRange) const;
- bool HasRelNameReference() const;
+
+ enum class RelNameRef
+ {
+ NONE, ///< no relative reference from named expression
+ SINGLE, ///< only single cell relative reference
+ DOUBLE ///< at least one range relative reference from named expression
+ };
+ RelNameRef HasRelNameReference() const;
bool UpdateReference(
const sc::RefUpdateContext& rCxt, ScDocument* pUndoDoc = nullptr, const ScAddress* pUndoCellPos = nullptr );