summaryrefslogtreecommitdiff
path: root/sc/inc/chart2uno.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@suse.com>2012-01-04 15:45:09 -0500
committerKohei Yoshida <kohei.yoshida@suse.com>2012-01-04 21:19:39 -0500
commit578292d707077c18079de050c928afaae268a25d (patch)
tree6924d920095d58773ca59e87896a472a47077281 /sc/inc/chart2uno.hxx
parent39042cce6685fc9db5ee20957bcc7ac584c28554 (diff)
Register chart data ranges via tokens rather than string.
Doing it this way avoids having to re-generate the data ranges in Calc A1 before passing it to the chart backend in Calc. We need this in order to remove the silly restriction that forces us to always pass data range strings in Calc A1 format, which is error-prone. This is also necessary in order to fix the bug that prevents editing data ranges of an existing chart when the formula syntax is something other than Calc A1.
Diffstat (limited to 'sc/inc/chart2uno.hxx')
-rw-r--r--sc/inc/chart2uno.hxx18
1 files changed, 15 insertions, 3 deletions
diff --git a/sc/inc/chart2uno.hxx b/sc/inc/chart2uno.hxx
index 544ab9b09a32..86b14b2c4b0c 100644
--- a/sc/inc/chart2uno.hxx
+++ b/sc/inc/chart2uno.hxx
@@ -38,6 +38,7 @@
#include <svl/lstner.hxx>
#include <com/sun/star/chart/ChartDataRowSource.hpp>
#include <com/sun/star/chart2/data/XDataProvider.hpp>
+#include <com/sun/star/chart2/data/XSheetDataProvider.hpp>
#include <com/sun/star/chart2/data/XRangeXMLConversion.hpp>
#include <com/sun/star/chart2/data/XDataSource.hpp>
#include <com/sun/star/chart2/data/XDataSequence.hpp>
@@ -50,8 +51,7 @@
#include <com/sun/star/util/XCloneable.hpp>
#include <com/sun/star/util/XModifyBroadcaster.hpp>
#include <cppuhelper/implbase2.hxx>
-#include <cppuhelper/implbase4.hxx>
-#include <cppuhelper/implbase6.hxx>
+#include <cppuhelper/implbase5.hxx>
#include <cppuhelper/implbase7.hxx>
#include <rtl/ustring.hxx>
#include <svl/itemprop.hxx>
@@ -69,8 +69,9 @@ class ScDocument;
// DataProvider ==============================================================
class ScChart2DataProvider : public
- ::cppu::WeakImplHelper4<
+ ::cppu::WeakImplHelper5<
::com::sun::star::chart2::data::XDataProvider,
+ ::com::sun::star::chart2::data::XSheetDataProvider,
::com::sun::star::chart2::data::XRangeXMLConversion,
::com::sun::star::beans::XPropertySet,
::com::sun::star::lang::XServiceInfo>,
@@ -110,6 +111,17 @@ public:
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XRangeSelection > SAL_CALL getRangeSelection()
throw (::com::sun::star::uno::RuntimeException);
+ // XSheetDataProvider ----------------------------------------------------
+
+ virtual sal_Bool SAL_CALL createDataSequenceByFormulaTokensPossible(
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken >& aTokens )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence >
+ SAL_CALL createDataSequenceByFormulaTokens(
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken >& aTokens )
+ throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+
// XRangeXMLConversion ---------------------------------------------------
virtual ::rtl::OUString SAL_CALL convertRangeToXML( const ::rtl::OUString& sRangeRepresentation )