diff options
author | Kohei Yoshida <kohei.yoshida@suse.com> | 2012-01-04 15:45:09 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@suse.com> | 2012-01-04 21:19:39 -0500 |
commit | 578292d707077c18079de050c928afaae268a25d (patch) | |
tree | 6924d920095d58773ca59e87896a472a47077281 /sc/inc/chart2uno.hxx | |
parent | 39042cce6685fc9db5ee20957bcc7ac584c28554 (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.hxx | 18 |
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 ) |