summaryrefslogtreecommitdiff
path: root/sc/inc/refupdatecontext.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-07-29 17:51:14 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-07-30 23:50:01 -0400
commit1fdc310b57af7dfdb97fe336ce9a2e4d579af3f2 (patch)
treeec5ad1c108c3f83b0cc9da937e2e561dfefc6532 /sc/inc/refupdatecontext.hxx
parentf77c9d5b3cb65d9c2e2417f60bec1113feac50e1 (diff)
More on getting named range update to work.
Change-Id: Id3f2ffe6d91ae43d799182b3744a839be5e1baf6
Diffstat (limited to 'sc/inc/refupdatecontext.hxx')
-rw-r--r--sc/inc/refupdatecontext.hxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/sc/inc/refupdatecontext.hxx b/sc/inc/refupdatecontext.hxx
index af478510d89e..6bb4e73aa2d4 100644
--- a/sc/inc/refupdatecontext.hxx
+++ b/sc/inc/refupdatecontext.hxx
@@ -13,12 +13,18 @@
#include "global.hxx"
#include "address.hxx"
+#include <boost/unordered_map.hpp>
+#include <boost/unordered_set.hpp>
+
class ScDocument;
namespace sc {
struct RefUpdateContext
{
+ typedef boost::unordered_set<sal_uInt16> NameIndicesType;
+ typedef boost::unordered_map<SCTAB, NameIndicesType> UpdatedNamesType;
+
ScDocument& mrDoc;
/**
@@ -42,16 +48,24 @@ struct RefUpdateContext
/** Amount and direction of movement in the sheet direction. */
SCTAB mnTabDelta;
+ /** All named expressions that have been updated during this reference
+ * update run. */
+ UpdatedNamesType maUpdatedNames;
+
RefUpdateContext(ScDocument& rDoc);
bool isInserted() const;
bool isDeleted() const;
+
+ void setUpdatedName(SCTAB nTab, sal_uInt16 nIndex);
+ bool isNameUpdated(SCTAB nTab, sal_uInt16 nIndex) const;
};
struct RefUpdateResult
{
bool mbValueChanged;
bool mbReferenceModified;
+ bool mbNameModified;
RefUpdateResult();
RefUpdateResult(const RefUpdateResult& r);