diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2007-04-25 15:02:54 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2007-04-25 15:02:54 +0000 |
commit | e0cc45a9d8912f72e860cd5c874b76c25e6baf8c (patch) | |
tree | a5bce88f257145eee600831b41b650c3dcb91e42 /sc/source/ui/vba | |
parent | 55ad8142e733c5111bd27f31c11636159ba26a47 (diff) |
INTEGRATION: CWS npower6 (1.1.2); FILE ADDED
2007/02/21 17:29:17 npower 1.1.2.2: #i74096 add license
2007/02/07 21:17:49 npower 1.1.2.1: #i74096# add compatibility api implementation
Diffstat (limited to 'sc/source/ui/vba')
-rw-r--r-- | sc/source/ui/vba/vbachart.hxx | 57 | ||||
-rw-r--r-- | sc/source/ui/vba/vbachartobject.cxx | 108 | ||||
-rw-r--r-- | sc/source/ui/vba/vbachartobject.hxx | 58 |
3 files changed, 223 insertions, 0 deletions
diff --git a/sc/source/ui/vba/vbachart.hxx b/sc/source/ui/vba/vbachart.hxx new file mode 100644 index 000000000..2a27831cf --- /dev/null +++ b/sc/source/ui/vba/vbachart.hxx @@ -0,0 +1,57 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: vbachart.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: rt $ $Date: 2007-04-25 16:02:31 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#ifndef SC_VBA_CHART_HXX +#define SC_VBA_CHART_HXX +#include <cppuhelper/implbase1.hxx> +#include <com/sun/star/uno/XComponentContext.hpp> +#include <com/sun/star/chart/XChartDocument.hpp> +#include <org/openoffice/excel/XChart.hpp> +#include "vbahelper.hxx" + +typedef ::cppu::WeakImplHelper1<oo::excel::XChart > ChartImpl_BASE; + +class ScVbaChart : public ChartImpl_BASE +{ + + css::uno::Reference< css::uno::XComponentContext > m_xContext; + css::uno::Reference< css::chart::XChartDocument > m_xChartDoc; +public: + ScVbaChart( const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::chart::XChartDocument >& xChartDoc ) : m_xContext(xContext), m_xChartDoc( xChartDoc ) {} + virtual ::rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException); + virtual css::uno::Any SAL_CALL SeriesCollection(const css::uno::Any&) throw (css::uno::RuntimeException); + +}; + +#endif //SC_VBA_WINDOW_HXX diff --git a/sc/source/ui/vba/vbachartobject.cxx b/sc/source/ui/vba/vbachartobject.cxx new file mode 100644 index 000000000..c31a436dd --- /dev/null +++ b/sc/source/ui/vba/vbachartobject.cxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: vbachartobject.cxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: rt $ $Date: 2007-04-25 16:02:44 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#include "vbachart.hxx" +#include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/document/XEmbeddedObjectSupplier.hpp> +#include <com/sun/star/container/XNamed.hpp> + +#include "vbachartobject.hxx" + +using namespace ::com::sun::star; +using namespace ::org::openoffice; + +const rtl::OUString CHART_NAME( RTL_CONSTASCII_USTRINGPARAM("Name") ); + +::rtl::OUString SAL_CALL +ScVbaChartObject::getName() throw (css::uno::RuntimeException) +{ + rtl::OUString sName; + uno::Reference< container::XNamed > xNamed( m_xTableChart, uno::UNO_QUERY ); + if ( xNamed.is() ) + sName = xNamed->getName(); + return sName; +} + + + +uno::Reference< excel::XChart > SAL_CALL +ScVbaChartObject::getChart() throw (css::uno::RuntimeException) +{ + uno::Reference< document::XEmbeddedObjectSupplier > xEmbed( m_xTableChart, uno::UNO_QUERY_THROW ); + uno::Reference< chart::XChartDocument > xChart( xEmbed->getEmbeddedObject(), uno::UNO_QUERY_THROW ); + + // #TODO check with vba to see whether its valid to return a + // null object for the Chart property. atm, we throw ( i.e. if in + // doubt... throw ) + + return new ScVbaChart( m_xContext, xChart ); +} +/* +#include<cppuhelper/implbase1.hxx> +#include<org/openoffice/vba/XChartObject.hpp> +#include"vbacollectionimpl.hxx" + +typedef ::cppu::ImplInheritanceHelper1< ScVbaCollectionBaseImpl, oo::vba::XChartObject > XSeriesCollectionBase; +class MyCollectionImpl : public XSeriesCollectionBase +{ +public: + //MyCollectionImpl( css::uno::Reference< css::uno::XComponentContext >& xContext ) : ScVbaCollectionBaseImpl( xContext ) {} + MyCollectionImpl( css::uno::Reference< css::uno::XComponentContext >& xContext ) : XSeriesCollectionBase( xContext ) {} + virtual ::rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException) + { + OSL_TRACE("**** In Get Name for mangled object"); + rtl::OUString dummy; + return dummy; + } + virtual css::uno::Any test() throw (css::uno::RuntimeException) + { + OSL_TRACE("**** In test for mangled object"); + return uno::Any(); + } + virtual css::uno::Reference< oo::vba::XChart > SAL_CALL getChart() throw (css::uno::RuntimeException) + { + OSL_TRACE("**** In getChart for mangled object"); + return css::uno::Reference< oo::vba::XChart >(); + } + +}; +*/ + +uno::Any SAL_CALL +ScVbaChartObject::test()throw (css::uno::RuntimeException) +{ + return uno::Any(); +} + + diff --git a/sc/source/ui/vba/vbachartobject.hxx b/sc/source/ui/vba/vbachartobject.hxx new file mode 100644 index 000000000..120a95ddf --- /dev/null +++ b/sc/source/ui/vba/vbachartobject.hxx @@ -0,0 +1,58 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: vbachartobject.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: rt $ $Date: 2007-04-25 16:02:54 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#ifndef SC_VBA_CHARTOBJECT_HXX +#define SC_VBA_CHARTOBJECT_HXX +#include <cppuhelper/implbase1.hxx> +#include <com/sun/star/uno/XComponentContext.hpp> +#include <com/sun/star/table/XTableChart.hpp> +#include <org/openoffice/excel/XChartObject.hpp> +#include "vbahelper.hxx" + +typedef ::cppu::WeakImplHelper1<oo::excel::XChartObject > ChartObjectImpl_BASE; + +class ScVbaChartObject : public ChartObjectImpl_BASE +{ + + css::uno::Reference< css::uno::XComponentContext > m_xContext; + css::uno::Reference< css::table::XTableChart > m_xTableChart; +public: + ScVbaChartObject( const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::table::XTableChart >& xTableChart ) : m_xContext(xContext), m_xTableChart( xTableChart ) {} + virtual ::rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException); + virtual css::uno::Reference< oo::excel::XChart > SAL_CALL getChart() throw (css::uno::RuntimeException); + + virtual css::uno::Any SAL_CALL test( ) throw (css::uno::RuntimeException); +}; + +#endif //SC_VBA_WINDOW_HXX |