--- sc/source/ui/vba//vbachartobject.hxx	
+++ sc/source/ui/vba//vbachartobject.hxx
@@ -37,22 +37,52 @@
 #include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/table/XTableChart.hpp>
+#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
+#include <com/sun/star/container/XNamed.hpp>
+#include <com/sun/star/document/XEmbeddedObjectSupplier.hpp>
 #include <org/openoffice/excel/XChartObject.hpp>
-#include "vbahelper.hxx"
+#include "vbahelperinterface.hxx"
+#include <memory>
 
-typedef ::cppu::WeakImplHelper1<oo::excel::XChartObject > ChartObjectImpl_BASE;
+typedef InheritedHelperInterfaceImpl1<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;
+	css::uno::Reference< css::table::XTableChart  > xTableChart;
+	css::uno::Reference< css::document::XEmbeddedObjectSupplier > xEmbeddedObjectSupplier;
+	css::uno::Reference< css::beans::XPropertySet > xPropertySet;
+	css::uno::Reference< css::drawing::XDrawPageSupplier > xDrawPageSupplier;
+	css::uno::Reference< css::drawing::XDrawPage > xDrawPage;
+	css::uno::Reference< css::drawing::XShape > xShape;
+	css::uno::Reference< css::container::XNamed > xNamed;
+	rtl::OUString sPersistName;
+	std::auto_ptr<oo::ShapeHelper> oShapeHelper;
+	css::uno::Reference< css::container::XNamed > xNamedShape;
+	rtl::OUString getPersistName();
+	css::uno::Reference< css::drawing::XShape > setShape() throw ( css::script::BasicErrorException );
 public:
-	ScVbaChartObject( const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::table::XTableChart >& xTableChart ) : m_xContext(xContext), m_xTableChart( xTableChart ) {}
+	ScVbaChartObject( const css::uno::Reference< oo::vba::XHelperInterface >& _xParent, const css::uno::Reference< css::uno::XComponentContext >& _xContext, const css::uno::Reference< css::table::XTableChart >& _xTableChart, const css::uno::Reference< css::drawing::XDrawPageSupplier >& _xDrawPageSupplier );
 	virtual ::rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException);
+	virtual void SAL_CALL setName( const ::rtl::OUString& sName ) 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); 
+	virtual void SAL_CALL Delete() throw ( css::script::BasicErrorException );	
+	virtual void Activate() throw ( css::script::BasicErrorException );	
+	// XHelperInterface
+	virtual rtl::OUString& getServiceImplName();
+	virtual css::uno::Sequence<rtl::OUString> getServiceNames();
+	// non interface methods
+	double getHeight();
+	void setHeight( double _fheight ) throw ( css::script::BasicErrorException );
+	double getWidth();
+	void setWidth( double _fwidth ) throw ( css::script::BasicErrorException );
+	double getLeft();
+	void setLeft( double _fleft );
+	double getTop();
+	void setTop( double _ftop );
+	// should make this part of the XHelperInterface with a default
+	// implementation returning NULL
+	css::uno::Reference< css::uno::XInterface > getUnoObject() throw ( css::script::BasicErrorException );
 };
 
 #endif //SC_VBA_WINDOW_HXX
