summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-03-25 22:32:03 +0100
committerEike Rathke <erack@redhat.com>2015-03-26 13:53:11 +0100
commitbca0b4fb2c8b32ce11c6aae12cc60b5f00fa9fcc (patch)
tree55d8a05dfc8709788e839c99516265424e4b1804 /sc
parent38c8e7e5317a90a96625e9d680fde18e3de89be8 (diff)
TableRef: generate token for #Data
Change-Id: I06d4789b92d9f6567dd87c8d3cb6186538269663
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/tool/compiler.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 9ae82f3a47eb..a82596c0f12d 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -4804,6 +4804,23 @@ bool ScCompiler::HandleTableRef()
bForwardToClose = true;
}
break;
+ case ScTableRefToken::DATA:
+ {
+ if (pDBData->HasHeader())
+ aRange.aStart.IncRow();
+ /* TODO: this assumes totals to be present, they need to
+ * be implemented at the table. */
+ if (aRange.aEnd.Row() - aRange.aStart.Row() >= 1)
+ aRange.aEnd.IncRow(-1);
+ if (aRange.aEnd.Row() < aRange.aStart.Row())
+ {
+ /* TODO: add RefData with deleted rows to generate
+ * #REF! error? */
+ bAddRange = false;
+ }
+ bForwardToClose = true;
+ }
+ break;
case ScTableRefToken::TOTALS:
{
aRange.aStart.SetRow( aRange.aEnd.Row());