summaryrefslogtreecommitdiff
path: root/sc/source/ui/StatisticsDialogs
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.com>2015-11-08 18:43:08 +0100
committerTomaž Vajngerl <tomaz.vajngerl@collabora.com>2015-11-08 19:39:15 +0100
commit1e81e82a3f49bf2482bd28948154724c2ee5124f (patch)
tree51f9cb2761aab830c0b012c94cbdc454d0ee6f75 /sc/source/ui/StatisticsDialogs
parent9e428d1bb35a5cfa89d21fe8a47ea30b1a53fc4e (diff)
StatisticsDialogs: 3D addressing, add size to DataRangeIterator
Automatic filling of addesses always use 3D addresses, with this commit 3D addressing can be turned of to simplify formulas when this is possible. Add size of the current range to DataRangeIterator. Change-Id: I5c95cfe1617258221fa1a6adf1561e5eeee13c68
Diffstat (limited to 'sc/source/ui/StatisticsDialogs')
-rw-r--r--sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx25
1 files changed, 20 insertions, 5 deletions
diff --git a/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx b/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
index fe746d92c26d..0bc4d938fe26 100644
--- a/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
+++ b/sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx
@@ -18,7 +18,10 @@
#include "TableFillingAndNavigationTools.hxx"
-FormulaTemplate::FormulaTemplate(ScDocument* pDoc) : mpDoc(pDoc) {}
+FormulaTemplate::FormulaTemplate(ScDocument* pDoc)
+ : mpDoc(pDoc)
+ , mbUse3D(true)
+{}
void FormulaTemplate::setTemplate(const OUString& aTemplate)
{
@@ -35,24 +38,25 @@ const OUString& FormulaTemplate::getTemplate()
RangeReplacementMap::iterator itRange;
for (itRange = mRangeReplacementMap.begin(); itRange != mRangeReplacementMap.end(); ++itRange)
{
- applyRange(itRange->first, itRange->second);
+ applyRange(itRange->first, itRange->second, mbUse3D);
}
AddressReplacementMap::iterator itAddress;
for (itAddress = mAddressReplacementMap.begin(); itAddress != mAddressReplacementMap.end(); ++itAddress)
{
- applyAddress(itAddress->first, itAddress->second);
+ applyAddress(itAddress->first, itAddress->second, mbUse3D);
}
return mTemplate;
}
void FormulaTemplate::autoReplaceRange(const OUString& aVariable, const ScRange& rRange)
{
- mRangeReplacementMap.insert ( std::pair<OUString, ScRange>(aVariable, rRange) );
+ mRangeReplacementMap[aVariable] = rRange;
}
void FormulaTemplate::autoReplaceAddress(const OUString& aVariable, ScAddress aAddress)
{
- mAddressReplacementMap.insert ( std::pair<OUString, ScAddress>(aVariable, aAddress) );
+
+ mAddressReplacementMap[aVariable] = aAddress;
}
void FormulaTemplate::applyRange(const OUString& aVariable, const ScRange& aRange, bool b3D)
@@ -306,6 +310,11 @@ ScRange DataRangeByColumnIterator::get()
);
}
+size_t DataRangeByColumnIterator::size()
+{
+ return mInputRange.aEnd.Row() - mInputRange.aStart.Row() + 1;
+}
+
void DataRangeByColumnIterator::reset()
{
mCol = mInputRange.aStart.Col();
@@ -342,6 +351,11 @@ ScRange DataRangeByRowIterator::get()
);
}
+size_t DataRangeByRowIterator::size()
+{
+ return mInputRange.aEnd.Col() - mInputRange.aStart.Col() + 1;
+}
+
void DataRangeByRowIterator::reset()
{
mRow = mInputRange.aStart.Row();
@@ -352,4 +366,5 @@ DataCellIterator DataRangeByRowIterator::iterateCells()
return DataCellIterator(get(), true);
}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */