summaryrefslogtreecommitdiff
path: root/sc/inc
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:12:23 -0500
commita2fa83d1844fde5e1a14ba813ca1087577a1434f (patch)
treecf22a21e136c66a3614b166017c601cfd953e060 /sc/inc
parent953b7f9e1ba665b4763fac8f83113f43b6d49b39 (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')
-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 )