1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 #ifndef SC_VBA_INTERIOR_HXX 28 #define SC_VBA_INTERIOR_HXX 29 30 #include <ooo/vba/excel/XInterior.hpp> 31 #include <com/sun/star/uno/XComponentContext.hpp> 32 #include <com/sun/star/beans/XPropertySet.hpp> 33 #include <com/sun/star/container/XIndexAccess.hpp> 34 #include <com/sun/star/container/XNameContainer.hpp> 35 36 #include <com/sun/star/script/XInvocation.hpp> 37 #include <vbahelper/vbahelperinterface.hxx> 38 39 #include <tools/color.hxx> 40 41 class ScDocument; 42 43 typedef InheritedHelperInterfaceImpl1< ov::excel::XInterior > ScVbaInterior_BASE; 44 45 class ScVbaInterior : public ScVbaInterior_BASE 46 { 47 css::uno::Reference< css::beans::XPropertySet > m_xProps; 48 ScDocument* m_pScDoc; 49 Color m_aPattColor; 50 sal_Int32 m_nPattern; 51 52 css::uno::Reference< css::container::XIndexAccess > getPalette(); 53 css::uno::Reference< css::container::XNameContainer > GetAttributeContainer(); 54 css::uno::Any SetAttributeData( sal_Int32 nValue ); 55 sal_Int32 GetAttributeData( css::uno::Any aValue ); 56 Color GetBackColor(); 57 protected: 58 Color GetPatternColor( const Color& rPattColor, const Color& rBackColor, sal_uInt32 nXclPattern ); 59 Color GetMixedColor( const Color& rFore, const Color& rBack, sal_uInt8 nTrans ); 60 sal_uInt8 GetMixedColorComp( sal_uInt8 nFore, sal_uInt8 nBack, sal_uInt8 nTrans ); 61 css::uno::Any GetIndexColor( const sal_Int32& nColorIndex ); 62 sal_Int32 GetColorIndex( const sal_Int32 nColor ); 63 css::uno::Any GetUserDefinedAttributes( const rtl::OUString& sName ); 64 void SetUserDefinedAttributes( const rtl::OUString& sName, const css::uno::Any& aValue ); 65 void SetMixedColor(); 66 public: 67 ScVbaInterior( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, 68 const css::uno::Reference< css::beans::XPropertySet >& xProps, ScDocument* pScDoc = NULL) throw ( css::lang::IllegalArgumentException); 69 70 virtual ~ScVbaInterior(){} 71 72 virtual css::uno::Any SAL_CALL getColor() throw (css::uno::RuntimeException) ; 73 virtual void SAL_CALL setColor( const css::uno::Any& _color ) throw (css::uno::RuntimeException) ; 74 75 virtual css::uno::Any SAL_CALL getColorIndex() throw ( css::uno::RuntimeException); 76 virtual void SAL_CALL setColorIndex( const css::uno::Any& _colorindex ) throw ( css::uno::RuntimeException ); 77 virtual css::uno::Any SAL_CALL getPattern() throw (css::uno::RuntimeException); 78 virtual void SAL_CALL setPattern( const css::uno::Any& _pattern ) throw (css::uno::RuntimeException); 79 virtual css::uno::Any SAL_CALL getPatternColor() throw (css::uno::RuntimeException); 80 virtual void SAL_CALL setPatternColor( const css::uno::Any& _patterncolor ) throw (css::uno::RuntimeException); 81 virtual css::uno::Any SAL_CALL getPatternColorIndex() throw (css::uno::RuntimeException); 82 virtual void SAL_CALL setPatternColorIndex( const css::uno::Any& _patterncolorindex ) throw (css::uno::RuntimeException); 83 //XHelperInterface 84 virtual rtl::OUString& getServiceImplName(); 85 virtual css::uno::Sequence<rtl::OUString> getServiceNames(); 86 }; 87 #endif 88 89