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 #include <vbahelper/helperdecl.hxx> 28 #include <com/sun/star/drawing/TextFitToSizeType.hpp> 29 #include <com/sun/star/text/XText.hpp> 30 #include "vbatextframe.hxx" 31 #include "vbacharacters.hxx" 32 33 using namespace ::ooo::vba; 34 using namespace ::com::sun::star; 35 36 ScVbaTextFrame::ScVbaTextFrame( uno::Sequence< uno::Any> const & args, uno::Reference< uno::XComponentContext> const & xContext ) throw ( lang::IllegalArgumentException ) : ScVbaTextFrame_BASE( getXSomethingFromArgs< XHelperInterface >( args, 0 ), xContext, getXSomethingFromArgs< drawing::XShape >( args, 1, false ) ) 37 { 38 } 39 40 // Methods 41 uno::Any SAL_CALL 42 ScVbaTextFrame::Characters() throw (uno::RuntimeException) 43 { 44 uno::Reference< text::XSimpleText > xSimpleText( m_xShape, uno::UNO_QUERY_THROW ); 45 ScVbaPalette aPalette( SfxObjectShell::Current() ); 46 uno::Any aStart( sal_Int32( 1 ) ); 47 uno::Any aLength(sal_Int32( -1 ) ); 48 return uno::makeAny( uno::Reference< ov::excel::XCharacters >( new ScVbaCharacters( this, mxContext, aPalette, xSimpleText, aStart, aLength, sal_True ) ) ); 49 } 50 51 rtl::OUString& 52 ScVbaTextFrame::getServiceImplName() 53 { 54 static rtl::OUString sImplName( RTL_CONSTASCII_USTRINGPARAM("ScVbaTextFrame") ); 55 return sImplName; 56 } 57 58 uno::Sequence< rtl::OUString > 59 ScVbaTextFrame::getServiceNames() 60 { 61 static uno::Sequence< rtl::OUString > aServiceNames; 62 if ( aServiceNames.getLength() == 0 ) 63 { 64 aServiceNames.realloc( 1 ); 65 aServiceNames[ 0 ] = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("ooo.vba.excel.TextFrame" ) ); 66 } 67 return aServiceNames; 68 } 69 70 namespace textframe 71 { 72 namespace sdecl = comphelper::service_decl; 73 sdecl::vba_service_class_<ScVbaTextFrame, sdecl::with_args<true> > serviceImpl; 74 extern sdecl::ServiceDecl const serviceDecl( 75 serviceImpl, 76 "ScVbaTextFrame", 77 "ooo.vba.excel.TextFrame" ); 78 } 79