summaryrefslogtreecommitdiff
path: root/sc/inc/chart2uno.hxx
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2007-05-22 18:37:54 +0000
committerVladimir Glazounov <vg@openoffice.org>2007-05-22 18:37:54 +0000
commit5f0bc43f3be932f325f9e4f6f05cfdb7e4d95a5e (patch)
treed482efe12d4b60e19563662d7beb9b17211d5f51 /sc/inc/chart2uno.hxx
parenta996a30d02f855a6178825172f8606ebecbe725b (diff)
INTEGRATION: CWS chart2mst3 (1.2.10); FILE MERGED
2006/12/04 18:34:55 nn 1.2.10.23: #i65379# undo for reference update of UNO objects 2006/08/09 14:03:13 bm 1.2.10.22: #i68229# added a static detectArguments() method that is used by chartuno.cxx (and the interface method as well) 2006/08/04 14:34:01 bm 1.2.10.21: pass the document to the chart2 uno services instead of the docshell, as the shell itself is not really needed, and limits the creation of such objects unnecessarily to the ui 2006/04/12 16:28:57 nn 1.2.10.20: #i63944# chart data change notification 2006/04/04 13:00:21 bm 1.2.10.19: #i63944# XModifyBroadcaster for LabeledDataSequence 2005/10/08 06:13:07 bm 1.2.10.18: RESYNC: (1.2-1.3); FILE MERGED 2005/09/08 12:53:21 sab 1.2.10.17: #i17416#; add generateLabel 2005/09/07 17:13:56 iha 1.2.10.16: remove wrong fix for 'generated categories' (1.2.10.13 + numerical data) 2005/09/02 15:23:28 sab 1.2.10.15: #i17416#; add XNumericalData 2005/09/02 12:20:07 sab 1.2.10.14: #i17416#; make generated categories and labels work 2005/08/05 14:02:42 bm 1.2.10.13: -XDataSequence::generateLabel 2005/07/21 14:39:49 bm 1.2.10.12: support number formats 2005/07/07 16:42:47 sab 1.2.10.11: #i17416#; add XRangeXMLConversion 2005/05/12 13:56:51 bm 1.2.10.10: API change XDataProvider 2005/05/09 09:52:10 bm 1.2.10.9: moved chart2 API to data namespace 2005/05/03 16:09:24 bm 1.2.10.8: removed identifiers from XSequences. XSequences are no longer stored in the XDataProvider 2004/06/29 11:06:52 bm 1.2.10.7: XDataProvider: getRangeRepresentationByRangeIdentifiers -> mergeRangeRepresentations 2004/06/03 09:33:51 iha 1.2.10.6: added missing interface method 'generateLabel' 2004/05/05 10:19:01 sab 1.2.10.5: #i26493#; add XTextualSequence 2004/04/29 13:28:28 sab 1.2.10.4: #i17416#; implement Chart2 API 2004/04/14 12:32:34 bm 1.2.10.3: XDataProvider API: getRangeSelection 2004/04/07 10:23:35 sab 1.2.10.2: #i17416#; compileable first step API implementation 2004/03/22 13:33:18 bm 1.2.10.1: chart2 API changed (XDataSource contains XLabeledDataSequences)
Diffstat (limited to 'sc/inc/chart2uno.hxx')
-rw-r--r--sc/inc/chart2uno.hxx434
1 files changed, 371 insertions, 63 deletions
diff --git a/sc/inc/chart2uno.hxx b/sc/inc/chart2uno.hxx
index 51d86a561866..cbce56f2a16e 100644
--- a/sc/inc/chart2uno.hxx
+++ b/sc/inc/chart2uno.hxx
@@ -4,9 +4,9 @@
*
* $RCSfile: chart2uno.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: rt $ $Date: 2005-09-08 17:25:36 $
+ * last change: $Author: vg $ $Date: 2007-05-22 19:37:54 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -36,23 +36,39 @@
#ifndef SC_CHART2UNO_HXX
#define SC_CHART2UNO_HXX
+#ifndef SC_CELLSUNO_HXX
+#include "cellsuno.hxx" // for XModifyListenerArr_Impl / ScLinkListener
+#endif
+
#ifndef SC_RANGELST_HXX
#include "rangelst.hxx"
#endif
#ifndef _SFXLSTNER_HXX
#include <svtools/lstner.hxx>
#endif
-#ifndef _COM_SUN_STAR_CHART2_XDATAPROVIDER_HPP_
-#include <com/sun/star/chart2/XDataProvider.hpp>
+#ifndef _COM_SUN_STAR_CHART2_DATA_XDATAPROVIDER_HPP_
+#include <com/sun/star/chart2/data/XDataProvider.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CHART2_DATA_XRANGEXMLCONVERSION_HPP_
+#include <com/sun/star/chart2/data/XRangeXMLConversion.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CHART2_DATA_XDATASOURCE_HPP_
+#include <com/sun/star/chart2/data/XDataSource.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CHART2_DATA_XDATASEQUENCE_HPP_
+#include <com/sun/star/chart2/data/XDataSequence.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CHART2_DATA_XTEXTUALDATASEQUENCE_HPP_
+#include <com/sun/star/chart2/data/XTextualDataSequence.hpp>
#endif
-#ifndef _COM_SUN_STAR_CHART2_XDATASOURCE_HPP_
-#include <com/sun/star/chart2/XDataSource.hpp>
+#ifndef _COM_SUN_STAR_CHART2_DATA_XNUMERICALDATASEQUENCE_HPP_
+#include <com/sun/star/chart2/data/XNumericalDataSequence.hpp>
#endif
-#ifndef _COM_SUN_STAR_CHART2_XDATASEQUENCE_HPP_
-#include <com/sun/star/chart2/XDataSequence.hpp>
+#ifndef _COM_SUN_STAR_CHART2_DATA_XLABELEDDATASEQUENCE_HPP_
+#include <com/sun/star/chart2/data/XLabeledDataSequence.hpp>
#endif
-#ifndef _COM_SUN_STAR_CHART2_DATASEQUENCEROLE_HPP_
-#include <com/sun/star/chart2/DataSequenceRole.hpp>
+#ifndef _COM_SUN_STAR_CHART2_DATA_DATASEQUENCEROLE_HPP_
+#include <com/sun/star/chart2/data/DataSequenceRole.hpp>
#endif
#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
#include <com/sun/star/lang/XServiceInfo.hpp>
@@ -60,70 +76,87 @@
#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
#include <com/sun/star/beans/XPropertySet.hpp>
#endif
+#ifndef _COM_SUN_STAR_UTIL_XCLONEABLE_HPP_
+#include <com/sun/star/util/XCloneable.hpp>
+#endif
+#ifndef _COM_SUN_STAR_UTIL_XMODIFYBROADCASTER_HPP_
+#include <com/sun/star/util/XModifyBroadcaster.hpp>
+#endif
+// #ifndef _COM_SUN_STAR_LANG_XUNOTUNNEL_HPP_
+// #include <com/sun/star/lang/XUnoTunnel.hpp>
+// #endif
#ifndef _CPPUHELPER_IMPLBASE2_HXX_
#include <cppuhelper/implbase2.hxx>
#endif
#ifndef _CPPUHELPER_IMPLBASE3_HXX_
#include <cppuhelper/implbase3.hxx>
#endif
+#ifndef _CPPUHELPER_IMPLBASE4_HXX_
+#include <cppuhelper/implbase4.hxx>
+#endif
+#ifndef _CPPUHELPER_IMPLBASE6_HXX_
+#include <cppuhelper/implbase6.hxx>
+#endif
+#ifndef _CPPUHELPER_IMPLBASE7_HXX_
+#include <cppuhelper/implbase7.hxx>
+#endif
#ifndef _RTL_USTRING_HXX_
#include <rtl/ustring.hxx>
#endif
+#ifndef _SFX_ITEMPROP_HXX
+#include <svtools/itemprop.hxx>
+#endif
-class ScDocShell;
+#include <map>
+#include <list>
+class ScDocument;
// DataProvider ==============================================================
class ScChart2DataProvider : public
- ::cppu::WeakImplHelper2<
- ::com::sun::star::chart2::XDataProvider,
+ ::cppu::WeakImplHelper3<
+ ::com::sun::star::chart2::data::XDataProvider,
+ ::com::sun::star::chart2::data::XRangeXMLConversion,
::com::sun::star::lang::XServiceInfo>,
SfxListener
{
public:
- explicit ScChart2DataProvider( ScDocShell* pDocSh);
+ explicit ScChart2DataProvider( ScDocument* pDoc );
virtual ~ScChart2DataProvider();
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
// XDataProvider ---------------------------------------------------------
virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataSource> SAL_CALL
- getDataByRangeRepresentation(
- const ::rtl::OUString& rRangeRepresentation)
- throw( ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
+ ::com::sun::star::chart2::data::XDataSource > SAL_CALL createDataSource(
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments )
+ throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataSequence> SAL_CALL
- getDataSequenceByRangeIdentifier(
- const ::rtl::OUString& rRangeIdentifier)
- throw( ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence<
+ ::com::sun::star::beans::PropertyValue > SAL_CALL detectArguments(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource >& xDataSource )
+ throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataSequence> SAL_CALL replaceRange(
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataSequence>& rSeq)
- throw( ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
+ ::com::sun::star::chart2::data::XDataSequence > SAL_CALL createDataSequenceByRangeRepresentation(
+ const ::rtl::OUString& aRangeRepresentation )
+ throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL addDataChangeListener(
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataChangeListener>& rListener,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataSource>& rData)
- throw( ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XRangeSelection > SAL_CALL getRangeSelection()
+ throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeDataChangeListener(
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataChangeListener>& rListener,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataSource>& rData)
- throw( ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
+/* virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier > SAL_CALL getNumberFormatsSupplier()
+ throw (::com::sun::star::uno::RuntimeException);*/
+
+ // XRangeXMLConversion ---------------------------------------------------
+
+ virtual ::rtl::OUString SAL_CALL convertRangeToXML( const ::rtl::OUString& sRangeRepresentation )
+ throw ( ::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException );
+
+ virtual ::rtl::OUString SAL_CALL convertRangeFromXML( const ::rtl::OUString& sXMLRange )
+ throw ( ::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException );
// XServiceInfo ----------------------------------------------------------
@@ -137,10 +170,14 @@ public:
getSupportedServiceNames() throw(
::com::sun::star::uno::RuntimeException);
-private:
+ static void detectArguments(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource >& xDataSource,
+ ScDocument * pDoc,
+ ScRangeListRef& rOutRanges, bool & rOutHasColumnLabels, bool & bOutHasRowLabels );
- ScDocShell* pDocShell;
+private:
+ ScDocument* m_pDocument;
};
@@ -148,22 +185,21 @@ private:
class ScChart2DataSource : public
::cppu::WeakImplHelper2<
- ::com::sun::star::chart2::XDataSource,
+ ::com::sun::star::chart2::data::XDataSource,
::com::sun::star::lang::XServiceInfo>,
SfxListener
{
public:
- explicit ScChart2DataSource( ScDocShell* pDocSh, const ScRangeListRef&
- rRangeList);
+ explicit ScChart2DataSource( ScDocument* pDoc);
virtual ~ScChart2DataSource();
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
// XDataSource -----------------------------------------------------------
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference<
- ::com::sun::star::chart2::XDataSequence> > SAL_CALL
- getDataSequences() throw( ::com::sun::star::uno::RuntimeException);
+ ::com::sun::star::chart2::data::XLabeledDataSequence > > SAL_CALL
+ getDataSequences() throw (::com::sun::star::uno::RuntimeException);
// XServiceInfo ----------------------------------------------------------
@@ -177,38 +213,280 @@ public:
getSupportedServiceNames() throw(
::com::sun::star::uno::RuntimeException);
+ // implementation
+
+ void AddLabeledSequence(const com::sun::star::uno::Reference < com::sun::star::chart2::data::XLabeledDataSequence >& xNew);
+
private:
- ScRangeListRef xRanges;
- ScDocShell* pDocShell;
+ ScDocument* m_pDocument;
+ typedef std::list < com::sun::star::uno::Reference< com::sun::star::chart2::data::XLabeledDataSequence > > LabeledList;
+ LabeledList m_aLabeledSequences;
};
+// LabeledDataSequence =======================================================
+
+class ScChart2LabeledDataSequence : public
+ ::cppu::WeakImplHelper4<
+ ::com::sun::star::chart2::data::XLabeledDataSequence,
+ ::com::sun::star::util::XCloneable,
+ ::com::sun::star::util::XModifyBroadcaster,
+ ::com::sun::star::lang::XServiceInfo >,
+ SfxListener
+{
+public:
+
+ explicit ScChart2LabeledDataSequence( ScDocument* pDoc );
+ virtual ~ScChart2LabeledDataSequence();
+
+ // SfxListener -----------------------------------------------------------
+
+ virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
+
+ // XLabeledDataSequence --------------------------------------------------
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > SAL_CALL getValues()
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setValues(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence >& xSequence )
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence > SAL_CALL getLabel()
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLabel(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSequence >& xSequence )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ // XCloneable ------------------------------------------------------------
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone()
+ throw (::com::sun::star::uno::RuntimeException);
+
+ // XModifyBroadcaster ----------------------------------------------------
+
+ virtual void SAL_CALL addModifyListener(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener )
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeModifyListener(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener )
+ throw (::com::sun::star::uno::RuntimeException);
+
+ // XServiceInfo ----------------------------------------------------------
+
+ virtual ::rtl::OUString SAL_CALL getImplementationName() throw(
+ ::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString&
+ rServiceName) throw( ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
+ getSupportedServiceNames() throw(
+ ::com::sun::star::uno::RuntimeException);
+
+private:
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::chart2::data::XDataSequence > m_aData;
+ ::com::sun::star::uno::Reference<
+ ::com::sun::star::chart2::data::XDataSequence > m_aLabel;
+ ScDocument* m_pDocument;
+};
+
// DataSequence ==============================================================
class ScChart2DataSequence : public
- ::cppu::WeakImplHelper3<
- ::com::sun::star::chart2::XDataSequence,
+ ::cppu::WeakImplHelper7<
+ ::com::sun::star::chart2::data::XDataSequence,
+ ::com::sun::star::chart2::data::XTextualDataSequence,
+ ::com::sun::star::chart2::data::XNumericalDataSequence,
+ ::com::sun::star::util::XCloneable,
+ ::com::sun::star::util::XModifyBroadcaster,
::com::sun::star::beans::XPropertySet,
+// ::com::sun::star::lang::XUnoTunnel,
::com::sun::star::lang::XServiceInfo>,
SfxListener
{
public:
- explicit ScChart2DataSequence( ScDocShell* pDocSh,
+ explicit ScChart2DataSequence( ScDocument* pDoc,
+ const com::sun::star::uno::Reference< com::sun::star::chart2::data::XDataProvider >& xDP,
const ScRangeListRef& rRangeList );
virtual ~ScChart2DataSequence();
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
// XDataSequence ---------------------------------------------------------
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any>
- SAL_CALL getData() throw( ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >
+ SAL_CALL getData() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSourceRangeRepresentation()
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString >
+ SAL_CALL generateLabel(::com::sun::star::chart2::data::LabelOrigin nOrigin)
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex( ::sal_Int32 nIndex )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::uno::RuntimeException);
+
+ // XNumericalDataSequence --------------------------------------------------
+
+ virtual ::com::sun::star::uno::Sequence< double >
+ SAL_CALL getNumericalData( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XTextualDataSequence --------------------------------------------------
+
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString >
+ SAL_CALL getTextualData( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XPropertySet ----------------------------------------------------------
+
+ virtual ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySetInfo> SAL_CALL
+ getPropertySetInfo() throw( ::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL setPropertyValue(
+ const ::rtl::OUString& rPropertyName,
+ const ::com::sun::star::uno::Any& rValue)
+ throw( ::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::beans::PropertyVetoException,
+ ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
+ const ::rtl::OUString& rPropertyName)
+ throw( ::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL addPropertyChangeListener(
+ const ::rtl::OUString& rPropertyName,
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertyChangeListener>& xListener)
+ throw( ::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL removePropertyChangeListener(
+ const ::rtl::OUString& rPropertyName,
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertyChangeListener>& rListener)
+ throw( ::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL addVetoableChangeListener(
+ const ::rtl::OUString& rPropertyName,
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XVetoableChangeListener>& rListener)
+ throw( ::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ virtual void SAL_CALL removeVetoableChangeListener(
+ const ::rtl::OUString& rPropertyName,
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XVetoableChangeListener>& rListener)
+ throw( ::com::sun::star::beans::UnknownPropertyException,
+ ::com::sun::star::lang::WrappedTargetException,
+ ::com::sun::star::uno::RuntimeException);
+
+ // XCloneable ------------------------------------------------------------
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone()
+ throw (::com::sun::star::uno::RuntimeException);
+
+ // XModifyBroadcaster ----------------------------------------------------
+
+ virtual void SAL_CALL addModifyListener(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener )
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeModifyListener(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener )
+ throw (::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getSourceIdentifier() throw (
+ // XServiceInfo ----------------------------------------------------------
+
+ virtual ::rtl::OUString SAL_CALL getImplementationName() throw(
::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString&
+ rServiceName) throw( ::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
+ getSupportedServiceNames() throw(
+ ::com::sun::star::uno::RuntimeException);
+
+ // XUnoTunnel ------------------------------------------------------------
+
+// virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
+// sal_Int8 >& aIdentifier )
+// throw(::com::sun::star::uno::RuntimeException);
+
+// static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
+// static ScChart2DataSequence* getImplementation( const com::sun::star::uno::Reference<
+// com::sun::star::uno::XInterface> xObj );
+
+ // Implementation --------------------------------------------------------
+
+ ScRangeListRef GetRangeList() { return m_xRanges; }
+
+ void RefChanged();
+ DECL_LINK( ValueListenerHdl, SfxHint* );
+
+private:
+
+ // properties
+ ::com::sun::star::chart2::data::DataSequenceRole m_aRole;
+ sal_Bool m_bHidden;
+ // internals
+ ScRangeListRef m_xRanges;
+ sal_Int64 m_nObjectId;
+ ScDocument* m_pDocument;
+ com::sun::star::uno::Reference < com::sun::star::chart2::data::XDataProvider > m_xDataProvider;
+ SfxItemPropertySet m_aPropSet;
+
+ ScLinkListener* m_pValueListener;
+ sal_Bool m_bGotDataChangedHint;
+ XModifyListenerArr_Impl m_aValueListeners;
+};
+
+// DataSequence ==============================================================
+
+class ScChart2EmptyDataSequence : public
+ ::cppu::WeakImplHelper6<
+ ::com::sun::star::chart2::data::XDataSequence,
+ ::com::sun::star::chart2::data::XTextualDataSequence,
+ ::com::sun::star::util::XCloneable,
+ ::com::sun::star::util::XModifyBroadcaster,
+ ::com::sun::star::beans::XPropertySet,
+// ::com::sun::star::lang::XUnoTunnel,
+ ::com::sun::star::lang::XServiceInfo>,
+ SfxListener
+{
+public:
+
+ explicit ScChart2EmptyDataSequence( ScDocument* pDoc,
+ const com::sun::star::uno::Reference< com::sun::star::chart2::data::XDataProvider >& xDP,
+ const ScRangeListRef& rRangeList, sal_Bool bColumn );
+ virtual ~ScChart2EmptyDataSequence();
+ virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
+
+ // XDataSequence ---------------------------------------------------------
+
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >
+ SAL_CALL getData() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSourceRangeRepresentation()
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString >
+ SAL_CALL generateLabel(::com::sun::star::chart2::data::LabelOrigin nOrigin)
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getNumberFormatKeyByIndex( ::sal_Int32 nIndex )
+ throw (::com::sun::star::lang::IndexOutOfBoundsException,
+ ::com::sun::star::uno::RuntimeException);
+
+ // XTextualDataSequence --------------------------------------------------
+
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString >
+ SAL_CALL getTextualData( ) throw (::com::sun::star::uno::RuntimeException);
+
// XPropertySet ----------------------------------------------------------
virtual ::com::sun::star::uno::Reference<
@@ -262,6 +540,20 @@ public:
::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
+ // XCloneable ------------------------------------------------------------
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone()
+ throw (::com::sun::star::uno::RuntimeException);
+
+ // XModifyBroadcaster ----------------------------------------------------
+
+ virtual void SAL_CALL addModifyListener(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener )
+ throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeModifyListener(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener )
+ throw (::com::sun::star::uno::RuntimeException);
+
// XServiceInfo ----------------------------------------------------------
virtual ::rtl::OUString SAL_CALL getImplementationName() throw(
@@ -274,15 +566,31 @@ public:
getSupportedServiceNames() throw(
::com::sun::star::uno::RuntimeException);
+ // XUnoTunnel ------------------------------------------------------------
+
+// virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
+// sal_Int8 >& aIdentifier )
+// throw(::com::sun::star::uno::RuntimeException);
+
+// static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
+// static ScChart2DataSequence* getImplementation( const com::sun::star::uno::Reference<
+// com::sun::star::uno::XInterface> xObj );
+
+ // Implementation --------------------------------------------------------
+
+ ScRangeListRef GetRangeList() { return m_xRanges; }
+
private:
// properties
- ::com::sun::star::chart2::DataSequenceRole aRole;
- sal_Bool bHidden;
+ ::com::sun::star::chart2::data::DataSequenceRole m_aRole;
+ sal_Bool m_bHidden;
// internals
- ScRangeListRef xRanges;
- ::rtl::OUString aIdentifier;
- ScDocShell* pDocShell;
+ ScRangeListRef m_xRanges;
+ ScDocument* m_pDocument;
+ com::sun::star::uno::Reference < com::sun::star::chart2::data::XDataProvider > m_xDataProvider;
+ SfxItemPropertySet m_aPropSet;
+ sal_Bool m_bColumn; // defines the orientation to create the right labels
};