xref: /aoo41x/main/sc/source/ui/vba/vbatextframe.cxx (revision 26734c99)
1b3f79822SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3b3f79822SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4b3f79822SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5b3f79822SAndrew Rist  * distributed with this work for additional information
6b3f79822SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7b3f79822SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8b3f79822SAndrew Rist  * "License"); you may not use this file except in compliance
9b3f79822SAndrew Rist  * with the License.  You may obtain a copy of the License at
10b3f79822SAndrew Rist  *
11b3f79822SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12b3f79822SAndrew Rist  *
13b3f79822SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14b3f79822SAndrew Rist  * software distributed under the License is distributed on an
15b3f79822SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16b3f79822SAndrew Rist  * KIND, either express or implied.  See the License for the
17b3f79822SAndrew Rist  * specific language governing permissions and limitations
18b3f79822SAndrew Rist  * under the License.
19b3f79822SAndrew Rist  *
20b3f79822SAndrew Rist  *************************************************************/
21b3f79822SAndrew Rist 
22b3f79822SAndrew Rist 
23cdf0e10cSrcweir #include <vbahelper/helperdecl.hxx>
24*26734c99SArmin Le Grand #include <com/sun/star/drawing/TextFitToSizeType.hpp>
25cdf0e10cSrcweir #include <com/sun/star/text/XText.hpp>
26cdf0e10cSrcweir #include "vbatextframe.hxx"
27cdf0e10cSrcweir #include "vbacharacters.hxx"
28cdf0e10cSrcweir 
29cdf0e10cSrcweir using namespace ::ooo::vba;
30cdf0e10cSrcweir using namespace ::com::sun::star;
31cdf0e10cSrcweir 
ScVbaTextFrame(uno::Sequence<uno::Any> const & args,uno::Reference<uno::XComponentContext> const & xContext)32cdf0e10cSrcweir 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 ) )
33cdf0e10cSrcweir {
34cdf0e10cSrcweir }
35cdf0e10cSrcweir 
36cdf0e10cSrcweir // Methods
37cdf0e10cSrcweir uno::Any SAL_CALL
Characters()38cdf0e10cSrcweir ScVbaTextFrame::Characters() throw (uno::RuntimeException)
39cdf0e10cSrcweir {
40cdf0e10cSrcweir     uno::Reference< text::XSimpleText > xSimpleText( m_xShape, uno::UNO_QUERY_THROW );
41cdf0e10cSrcweir     ScVbaPalette aPalette( SfxObjectShell::Current() );
42cdf0e10cSrcweir     uno::Any aStart( sal_Int32( 1 ) );
43cdf0e10cSrcweir     uno::Any aLength(sal_Int32( -1 ) );
44cdf0e10cSrcweir     return uno::makeAny( uno::Reference< ov::excel::XCharacters >( new ScVbaCharacters( this, mxContext, aPalette, xSimpleText, aStart, aLength, sal_True ) ) );
45cdf0e10cSrcweir }
46cdf0e10cSrcweir 
47cdf0e10cSrcweir rtl::OUString&
getServiceImplName()48cdf0e10cSrcweir ScVbaTextFrame::getServiceImplName()
49cdf0e10cSrcweir {
50cdf0e10cSrcweir     static rtl::OUString sImplName( RTL_CONSTASCII_USTRINGPARAM("ScVbaTextFrame") );
51cdf0e10cSrcweir     return sImplName;
52cdf0e10cSrcweir }
53cdf0e10cSrcweir 
54cdf0e10cSrcweir uno::Sequence< rtl::OUString >
getServiceNames()55cdf0e10cSrcweir ScVbaTextFrame::getServiceNames()
56cdf0e10cSrcweir {
57cdf0e10cSrcweir     static uno::Sequence< rtl::OUString > aServiceNames;
58cdf0e10cSrcweir     if ( aServiceNames.getLength() == 0 )
59cdf0e10cSrcweir     {
60cdf0e10cSrcweir         aServiceNames.realloc( 1 );
61cdf0e10cSrcweir         aServiceNames[ 0 ] = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("ooo.vba.excel.TextFrame" ) );
62cdf0e10cSrcweir     }
63cdf0e10cSrcweir     return aServiceNames;
64cdf0e10cSrcweir }
65cdf0e10cSrcweir 
66cdf0e10cSrcweir namespace textframe
67cdf0e10cSrcweir {
68cdf0e10cSrcweir namespace sdecl = comphelper::service_decl;
69cdf0e10cSrcweir sdecl::vba_service_class_<ScVbaTextFrame, sdecl::with_args<true> > serviceImpl;
70cdf0e10cSrcweir extern sdecl::ServiceDecl const serviceDecl(
71cdf0e10cSrcweir     serviceImpl,
72cdf0e10cSrcweir     "ScVbaTextFrame",
73cdf0e10cSrcweir     "ooo.vba.excel.TextFrame" );
74cdf0e10cSrcweir }
75