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 "vbascrollbar.hxx" 28 #include <vector> 29 30 using namespace com::sun::star; 31 using namespace ooo::vba; 32 33 34 const static rtl::OUString LARGECHANGE( RTL_CONSTASCII_USTRINGPARAM("BlockIncrement") ); 35 const static rtl::OUString SMALLCHANGE( RTL_CONSTASCII_USTRINGPARAM("LineIncrement") ); 36 const static rtl::OUString ORIENTATION( RTL_CONSTASCII_USTRINGPARAM("Orientation") ); 37 const static rtl::OUString SCROLLVALUE( RTL_CONSTASCII_USTRINGPARAM("ScrollValue") ); 38 const static rtl::OUString SCROLLMAX( RTL_CONSTASCII_USTRINGPARAM("ScrollValueMax") ); 39 const static rtl::OUString SCROLLMIN( RTL_CONSTASCII_USTRINGPARAM("ScrollValueMin") ); 40 41 ScVbaScrollBar::ScVbaScrollBar( const css::uno::Reference< ov::XHelperInterface >& xParent, const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< uno::XInterface >& xControl, const uno::Reference< frame::XModel >& xModel, AbstractGeometryAttributes* pGeomHelper ) : ScrollBarImpl_BASE( xParent, xContext, xControl, xModel, pGeomHelper ) 42 { 43 } 44 45 // Attributes 46 uno::Any SAL_CALL 47 ScVbaScrollBar::getValue() throw (css::uno::RuntimeException) 48 { 49 return m_xProps->getPropertyValue( SCROLLVALUE ); 50 } 51 52 void SAL_CALL 53 ScVbaScrollBar::setValue( const uno::Any& _value ) throw (::com::sun::star::uno::RuntimeException) 54 { 55 m_xProps->setPropertyValue( SCROLLVALUE, _value ); 56 } 57 58 ::sal_Int32 SAL_CALL 59 ScVbaScrollBar::getMax() throw (uno::RuntimeException) 60 { 61 sal_Int32 nMax = 0; 62 m_xProps->getPropertyValue( SCROLLMAX ) >>= nMax; 63 return nMax; 64 } 65 66 void SAL_CALL 67 ScVbaScrollBar::setMax( sal_Int32 nVal ) throw (uno::RuntimeException) 68 { 69 m_xProps->setPropertyValue( SCROLLMAX, uno::makeAny( nVal ) ); 70 } 71 72 ::sal_Int32 SAL_CALL 73 ScVbaScrollBar::getMin() throw (uno::RuntimeException) 74 { 75 sal_Int32 nVal = 0; 76 m_xProps->getPropertyValue( SCROLLMIN ) >>= nVal; 77 return nVal; 78 } 79 80 void SAL_CALL 81 ScVbaScrollBar::setMin( sal_Int32 nVal ) throw (uno::RuntimeException) 82 { 83 m_xProps->setPropertyValue( SCROLLMIN, uno::makeAny( nVal ) ); 84 } 85 86 void SAL_CALL 87 ScVbaScrollBar::setLargeChange( ::sal_Int32 _largechange ) throw (uno::RuntimeException) 88 { 89 m_xProps->setPropertyValue( LARGECHANGE, uno::makeAny( _largechange ) ); 90 } 91 92 ::sal_Int32 SAL_CALL 93 ScVbaScrollBar::getLargeChange() throw (uno::RuntimeException) 94 { 95 sal_Int32 nVal = 0; 96 m_xProps->getPropertyValue( LARGECHANGE ) >>= nVal; 97 return nVal; 98 } 99 100 ::sal_Int32 SAL_CALL 101 ScVbaScrollBar::getSmallChange() throw (uno::RuntimeException) 102 { 103 sal_Int32 nSmallChange = 0; 104 m_xProps->getPropertyValue( SMALLCHANGE ) >>= nSmallChange; 105 return nSmallChange; 106 } 107 108 void SAL_CALL 109 ScVbaScrollBar::setSmallChange( ::sal_Int32 _smallchange ) throw (uno::RuntimeException) 110 { 111 m_xProps->setPropertyValue( SMALLCHANGE, uno::makeAny( _smallchange ) ); 112 } 113 114 rtl::OUString& 115 ScVbaScrollBar::getServiceImplName() 116 { 117 static rtl::OUString sImplName( RTL_CONSTASCII_USTRINGPARAM("ScVbaScrollBar") ); 118 return sImplName; 119 } 120 121 uno::Sequence< rtl::OUString > 122 ScVbaScrollBar::getServiceNames() 123 { 124 static uno::Sequence< rtl::OUString > aServiceNames; 125 if ( aServiceNames.getLength() == 0 ) 126 { 127 aServiceNames.realloc( 1 ); 128 aServiceNames[ 0 ] = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("ooo.vba.msforms.Frame" ) ); 129 } 130 return aServiceNames; 131 } 132