1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove 25*b1cdbd2cSJim Jagielski #include "precompiled_toolkit.hxx" 26*b1cdbd2cSJim Jagielski #include "toolkit/controls/tkspinbutton.hxx" 27*b1cdbd2cSJim Jagielski #include "toolkit/helper/property.hxx" 28*b1cdbd2cSJim Jagielski #include "toolkit/helper/unopropertyarrayhelper.hxx" 29*b1cdbd2cSJim Jagielski #include <com/sun/star/awt/ScrollBarOrientation.hpp> 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski 32*b1cdbd2cSJim Jagielski #include <cppuhelper/typeprovider.hxx> 33*b1cdbd2cSJim Jagielski #include <tools/debug.hxx> 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski //........................................................................ 36*b1cdbd2cSJim Jagielski namespace toolkit 37*b1cdbd2cSJim Jagielski { 38*b1cdbd2cSJim Jagielski //........................................................................ 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::uno; 41*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::awt; 42*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::lang; 43*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::beans; 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski //==================================================================== 46*b1cdbd2cSJim Jagielski //= UnoSpinButtonModel 47*b1cdbd2cSJim Jagielski //==================================================================== 48*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- UnoSpinButtonModel(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & i_factory)49*b1cdbd2cSJim Jagielski UnoSpinButtonModel::UnoSpinButtonModel( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& i_factory ) 50*b1cdbd2cSJim Jagielski :UnoControlModel( i_factory ) 51*b1cdbd2cSJim Jagielski { 52*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_BACKGROUNDCOLOR ); 53*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_BORDER ); 54*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_BORDERCOLOR ); 55*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_DEFAULTCONTROL ); 56*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_ENABLED ); 57*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_ENABLEVISIBLE ); 58*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_HELPTEXT ); 59*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_HELPURL ); 60*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_ORIENTATION ); 61*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_PRINTABLE ); 62*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_REPEAT ); 63*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_REPEAT_DELAY ); 64*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_SYMBOL_COLOR ); 65*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_SPINVALUE ); 66*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_SPINVALUE_MIN ); 67*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_SPINVALUE_MAX ); 68*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_SPININCREMENT ); 69*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_TABSTOP ); 70*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_WRITING_MODE ); 71*b1cdbd2cSJim Jagielski ImplRegisterProperty( BASEPROPERTY_CONTEXT_WRITING_MODE ); 72*b1cdbd2cSJim Jagielski } 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getServiceName()75*b1cdbd2cSJim Jagielski ::rtl::OUString UnoSpinButtonModel::getServiceName( ) throw (RuntimeException) 76*b1cdbd2cSJim Jagielski { 77*b1cdbd2cSJim Jagielski return ::rtl::OUString::createFromAscii( szServiceName_UnoSpinButtonModel ); 78*b1cdbd2cSJim Jagielski } 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- ImplGetDefaultValue(sal_uInt16 nPropId) const81*b1cdbd2cSJim Jagielski Any UnoSpinButtonModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const 82*b1cdbd2cSJim Jagielski { 83*b1cdbd2cSJim Jagielski switch ( nPropId ) 84*b1cdbd2cSJim Jagielski { 85*b1cdbd2cSJim Jagielski case BASEPROPERTY_DEFAULTCONTROL: 86*b1cdbd2cSJim Jagielski return makeAny( ::rtl::OUString::createFromAscii( szServiceName_UnoSpinButtonControl ) ); 87*b1cdbd2cSJim Jagielski 88*b1cdbd2cSJim Jagielski case BASEPROPERTY_BORDER: 89*b1cdbd2cSJim Jagielski return makeAny( (sal_Int16) 0 ); 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski case BASEPROPERTY_REPEAT: 92*b1cdbd2cSJim Jagielski return makeAny( (sal_Bool)sal_True ); 93*b1cdbd2cSJim Jagielski 94*b1cdbd2cSJim Jagielski default: 95*b1cdbd2cSJim Jagielski return UnoControlModel::ImplGetDefaultValue( nPropId ); 96*b1cdbd2cSJim Jagielski } 97*b1cdbd2cSJim Jagielski } 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getInfoHelper()100*b1cdbd2cSJim Jagielski ::cppu::IPropertyArrayHelper& UnoSpinButtonModel::getInfoHelper() 101*b1cdbd2cSJim Jagielski { 102*b1cdbd2cSJim Jagielski static UnoPropertyArrayHelper* pHelper = NULL; 103*b1cdbd2cSJim Jagielski if ( !pHelper ) 104*b1cdbd2cSJim Jagielski { 105*b1cdbd2cSJim Jagielski Sequence<sal_Int32> aIDs = ImplGetPropertyIds(); 106*b1cdbd2cSJim Jagielski pHelper = new UnoPropertyArrayHelper( aIDs ); 107*b1cdbd2cSJim Jagielski } 108*b1cdbd2cSJim Jagielski return *pHelper; 109*b1cdbd2cSJim Jagielski } 110*b1cdbd2cSJim Jagielski 111*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getPropertySetInfo()112*b1cdbd2cSJim Jagielski Reference< XPropertySetInfo > UnoSpinButtonModel::getPropertySetInfo( ) throw(RuntimeException) 113*b1cdbd2cSJim Jagielski { 114*b1cdbd2cSJim Jagielski static Reference< XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) ); 115*b1cdbd2cSJim Jagielski return xInfo; 116*b1cdbd2cSJim Jagielski } 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getImplementationName()119*b1cdbd2cSJim Jagielski ::rtl::OUString SAL_CALL UnoSpinButtonModel::getImplementationName( ) throw(RuntimeException) 120*b1cdbd2cSJim Jagielski { 121*b1cdbd2cSJim Jagielski return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.toolkit.UnoSpinButtonModel" ) ); 122*b1cdbd2cSJim Jagielski } 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getSupportedServiceNames()125*b1cdbd2cSJim Jagielski Sequence< ::rtl::OUString > SAL_CALL UnoSpinButtonModel::getSupportedServiceNames() throw(RuntimeException) 126*b1cdbd2cSJim Jagielski { 127*b1cdbd2cSJim Jagielski Sequence< ::rtl::OUString > aServices( UnoControlModel::getSupportedServiceNames() ); 128*b1cdbd2cSJim Jagielski aServices.realloc( aServices.getLength() + 1 ); 129*b1cdbd2cSJim Jagielski aServices[ aServices.getLength() - 1 ] = ::rtl::OUString::createFromAscii( szServiceName_UnoSpinButtonModel ); 130*b1cdbd2cSJim Jagielski return aServices; 131*b1cdbd2cSJim Jagielski } 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski //==================================================================== 134*b1cdbd2cSJim Jagielski //= UnoSpinButtonControl 135*b1cdbd2cSJim Jagielski //==================================================================== 136*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- UnoSpinButtonControl(const Reference<XMultiServiceFactory> & i_factory)137*b1cdbd2cSJim Jagielski UnoSpinButtonControl::UnoSpinButtonControl( const Reference< XMultiServiceFactory >& i_factory ) 138*b1cdbd2cSJim Jagielski :UnoControlBase( i_factory ) 139*b1cdbd2cSJim Jagielski ,maAdjustmentListeners( *this ) 140*b1cdbd2cSJim Jagielski { 141*b1cdbd2cSJim Jagielski } 142*b1cdbd2cSJim Jagielski 143*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- GetComponentServiceName()144*b1cdbd2cSJim Jagielski ::rtl::OUString UnoSpinButtonControl::GetComponentServiceName() 145*b1cdbd2cSJim Jagielski { 146*b1cdbd2cSJim Jagielski return ::rtl::OUString::createFromAscii( "SpinButton" ); 147*b1cdbd2cSJim Jagielski } 148*b1cdbd2cSJim Jagielski 149*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- queryAggregation(const Type & rType)150*b1cdbd2cSJim Jagielski Any UnoSpinButtonControl::queryAggregation( const Type & rType ) throw(RuntimeException) 151*b1cdbd2cSJim Jagielski { 152*b1cdbd2cSJim Jagielski Any aRet = UnoControlBase::queryAggregation( rType ); 153*b1cdbd2cSJim Jagielski if ( !aRet.hasValue() ) 154*b1cdbd2cSJim Jagielski aRet = UnoSpinButtonControl_Base::queryInterface( rType ); 155*b1cdbd2cSJim Jagielski return aRet; 156*b1cdbd2cSJim Jagielski } 157*b1cdbd2cSJim Jagielski 158*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- IMPLEMENT_FORWARD_XTYPEPROVIDER2(UnoSpinButtonControl,UnoControlBase,UnoSpinButtonControl_Base)159*b1cdbd2cSJim Jagielski IMPLEMENT_FORWARD_XTYPEPROVIDER2( UnoSpinButtonControl, UnoControlBase, UnoSpinButtonControl_Base ) 160*b1cdbd2cSJim Jagielski 161*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- 162*b1cdbd2cSJim Jagielski void UnoSpinButtonControl::dispose() throw(RuntimeException) 163*b1cdbd2cSJim Jagielski { 164*b1cdbd2cSJim Jagielski ::osl::ClearableMutexGuard aGuard( GetMutex() ); 165*b1cdbd2cSJim Jagielski if ( maAdjustmentListeners.getLength() ) 166*b1cdbd2cSJim Jagielski { 167*b1cdbd2cSJim Jagielski Reference< XSpinValue > xSpinnable( getPeer(), UNO_QUERY ); 168*b1cdbd2cSJim Jagielski if ( xSpinnable.is() ) 169*b1cdbd2cSJim Jagielski xSpinnable->removeAdjustmentListener( this ); 170*b1cdbd2cSJim Jagielski 171*b1cdbd2cSJim Jagielski EventObject aDisposeEvent; 172*b1cdbd2cSJim Jagielski aDisposeEvent.Source = *this; 173*b1cdbd2cSJim Jagielski 174*b1cdbd2cSJim Jagielski aGuard.clear(); 175*b1cdbd2cSJim Jagielski maAdjustmentListeners.disposeAndClear( aDisposeEvent ); 176*b1cdbd2cSJim Jagielski } 177*b1cdbd2cSJim Jagielski 178*b1cdbd2cSJim Jagielski UnoControl::dispose(); 179*b1cdbd2cSJim Jagielski } 180*b1cdbd2cSJim Jagielski 181*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getImplementationName()182*b1cdbd2cSJim Jagielski ::rtl::OUString SAL_CALL UnoSpinButtonControl::getImplementationName( ) throw(RuntimeException) 183*b1cdbd2cSJim Jagielski { 184*b1cdbd2cSJim Jagielski return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.toolkit.UnoSpinButtonControl" ) ); 185*b1cdbd2cSJim Jagielski } 186*b1cdbd2cSJim Jagielski 187*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getSupportedServiceNames()188*b1cdbd2cSJim Jagielski Sequence< ::rtl::OUString > SAL_CALL UnoSpinButtonControl::getSupportedServiceNames() throw(RuntimeException) 189*b1cdbd2cSJim Jagielski { 190*b1cdbd2cSJim Jagielski Sequence< ::rtl::OUString > aServices( UnoControlBase::getSupportedServiceNames() ); 191*b1cdbd2cSJim Jagielski aServices.realloc( aServices.getLength() + 1 ); 192*b1cdbd2cSJim Jagielski aServices[ aServices.getLength() - 1 ] = ::rtl::OUString::createFromAscii( szServiceName_UnoSpinButtonControl ); 193*b1cdbd2cSJim Jagielski return aServices; 194*b1cdbd2cSJim Jagielski } 195*b1cdbd2cSJim Jagielski 196*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- createPeer(const Reference<XToolkit> & rxToolkit,const Reference<XWindowPeer> & rParentPeer)197*b1cdbd2cSJim Jagielski void UnoSpinButtonControl::createPeer( const Reference< XToolkit > & rxToolkit, const Reference< XWindowPeer > & rParentPeer ) throw(RuntimeException) 198*b1cdbd2cSJim Jagielski { 199*b1cdbd2cSJim Jagielski UnoControl::createPeer( rxToolkit, rParentPeer ); 200*b1cdbd2cSJim Jagielski 201*b1cdbd2cSJim Jagielski Reference < XSpinValue > xSpinnable( getPeer(), UNO_QUERY ); 202*b1cdbd2cSJim Jagielski if ( xSpinnable.is() ) 203*b1cdbd2cSJim Jagielski xSpinnable->addAdjustmentListener( this ); 204*b1cdbd2cSJim Jagielski } 205*b1cdbd2cSJim Jagielski 206*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- adjustmentValueChanged(const AdjustmentEvent & rEvent)207*b1cdbd2cSJim Jagielski void UnoSpinButtonControl::adjustmentValueChanged( const AdjustmentEvent& rEvent ) throw(RuntimeException) 208*b1cdbd2cSJim Jagielski { 209*b1cdbd2cSJim Jagielski switch ( rEvent.Type ) 210*b1cdbd2cSJim Jagielski { 211*b1cdbd2cSJim Jagielski case AdjustmentType_ADJUST_LINE: 212*b1cdbd2cSJim Jagielski case AdjustmentType_ADJUST_PAGE: 213*b1cdbd2cSJim Jagielski case AdjustmentType_ADJUST_ABS: 214*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SPINVALUE ), makeAny( rEvent.Value ), sal_False ); 215*b1cdbd2cSJim Jagielski break; 216*b1cdbd2cSJim Jagielski default: 217*b1cdbd2cSJim Jagielski DBG_ERROR( "UnoSpinButtonControl::adjustmentValueChanged - unknown Type" ); 218*b1cdbd2cSJim Jagielski } 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski if ( maAdjustmentListeners.getLength() ) 221*b1cdbd2cSJim Jagielski { 222*b1cdbd2cSJim Jagielski AdjustmentEvent aEvent( rEvent ); 223*b1cdbd2cSJim Jagielski aEvent.Source = *this; 224*b1cdbd2cSJim Jagielski maAdjustmentListeners.adjustmentValueChanged( aEvent ); 225*b1cdbd2cSJim Jagielski } 226*b1cdbd2cSJim Jagielski } 227*b1cdbd2cSJim Jagielski 228*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- addAdjustmentListener(const Reference<XAdjustmentListener> & listener)229*b1cdbd2cSJim Jagielski void UnoSpinButtonControl::addAdjustmentListener( const Reference< XAdjustmentListener > & listener ) throw(RuntimeException) 230*b1cdbd2cSJim Jagielski { 231*b1cdbd2cSJim Jagielski ::osl::MutexGuard aGuard( GetMutex() ); 232*b1cdbd2cSJim Jagielski maAdjustmentListeners.addInterface( listener ); 233*b1cdbd2cSJim Jagielski } 234*b1cdbd2cSJim Jagielski 235*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- removeAdjustmentListener(const Reference<XAdjustmentListener> & listener)236*b1cdbd2cSJim Jagielski void UnoSpinButtonControl::removeAdjustmentListener( const Reference< XAdjustmentListener > & listener ) throw(RuntimeException) 237*b1cdbd2cSJim Jagielski { 238*b1cdbd2cSJim Jagielski ::osl::MutexGuard aGuard( GetMutex() ); 239*b1cdbd2cSJim Jagielski maAdjustmentListeners.removeInterface( listener ); 240*b1cdbd2cSJim Jagielski } 241*b1cdbd2cSJim Jagielski 242*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setValue(sal_Int32 value)243*b1cdbd2cSJim Jagielski void SAL_CALL UnoSpinButtonControl::setValue( sal_Int32 value ) throw (RuntimeException) 244*b1cdbd2cSJim Jagielski { 245*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SPINVALUE ), makeAny( value ), sal_True ); 246*b1cdbd2cSJim Jagielski } 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setValues(sal_Int32 minValue,sal_Int32 maxValue,sal_Int32 currentValue)249*b1cdbd2cSJim Jagielski void SAL_CALL UnoSpinButtonControl::setValues( sal_Int32 minValue, sal_Int32 maxValue, sal_Int32 currentValue ) throw (RuntimeException) 250*b1cdbd2cSJim Jagielski { 251*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SPINVALUE_MIN ), makeAny( minValue ), sal_True ); 252*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SPINVALUE_MAX ), makeAny( maxValue ), sal_True ); 253*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SPINVALUE ), makeAny( currentValue ), sal_True ); 254*b1cdbd2cSJim Jagielski } 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getValue()257*b1cdbd2cSJim Jagielski sal_Int32 SAL_CALL UnoSpinButtonControl::getValue( ) throw (RuntimeException) 258*b1cdbd2cSJim Jagielski { 259*b1cdbd2cSJim Jagielski ::osl::MutexGuard aGuard( GetMutex() ); 260*b1cdbd2cSJim Jagielski sal_Int32 nValue = 0; 261*b1cdbd2cSJim Jagielski 262*b1cdbd2cSJim Jagielski Reference< XSpinValue > xSpinnable( getPeer(), UNO_QUERY ); 263*b1cdbd2cSJim Jagielski if ( xSpinnable.is() ) 264*b1cdbd2cSJim Jagielski nValue = xSpinnable->getValue(); 265*b1cdbd2cSJim Jagielski 266*b1cdbd2cSJim Jagielski return nValue; 267*b1cdbd2cSJim Jagielski } 268*b1cdbd2cSJim Jagielski 269*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setMinimum(sal_Int32 minValue)270*b1cdbd2cSJim Jagielski void SAL_CALL UnoSpinButtonControl::setMinimum( sal_Int32 minValue ) throw (RuntimeException) 271*b1cdbd2cSJim Jagielski { 272*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SPINVALUE_MIN ), makeAny( minValue ), sal_True ); 273*b1cdbd2cSJim Jagielski } 274*b1cdbd2cSJim Jagielski 275*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setMaximum(sal_Int32 maxValue)276*b1cdbd2cSJim Jagielski void SAL_CALL UnoSpinButtonControl::setMaximum( sal_Int32 maxValue ) throw (RuntimeException) 277*b1cdbd2cSJim Jagielski { 278*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SPINVALUE_MAX ), makeAny( maxValue ), sal_True ); 279*b1cdbd2cSJim Jagielski } 280*b1cdbd2cSJim Jagielski 281*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getMinimum()282*b1cdbd2cSJim Jagielski sal_Int32 SAL_CALL UnoSpinButtonControl::getMinimum( ) throw (RuntimeException) 283*b1cdbd2cSJim Jagielski { 284*b1cdbd2cSJim Jagielski ::osl::MutexGuard aGuard( GetMutex() ); 285*b1cdbd2cSJim Jagielski sal_Int32 nMin = 0; 286*b1cdbd2cSJim Jagielski 287*b1cdbd2cSJim Jagielski Reference< XSpinValue > xSpinnable( getPeer(), UNO_QUERY ); 288*b1cdbd2cSJim Jagielski if ( xSpinnable.is() ) 289*b1cdbd2cSJim Jagielski nMin = xSpinnable->getMinimum(); 290*b1cdbd2cSJim Jagielski 291*b1cdbd2cSJim Jagielski return nMin; 292*b1cdbd2cSJim Jagielski } 293*b1cdbd2cSJim Jagielski 294*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getMaximum()295*b1cdbd2cSJim Jagielski sal_Int32 SAL_CALL UnoSpinButtonControl::getMaximum( ) throw (RuntimeException) 296*b1cdbd2cSJim Jagielski { 297*b1cdbd2cSJim Jagielski ::osl::MutexGuard aGuard( GetMutex() ); 298*b1cdbd2cSJim Jagielski sal_Int32 nMax = 0; 299*b1cdbd2cSJim Jagielski 300*b1cdbd2cSJim Jagielski Reference< XSpinValue > xSpinnable( getPeer(), UNO_QUERY ); 301*b1cdbd2cSJim Jagielski if ( xSpinnable.is() ) 302*b1cdbd2cSJim Jagielski nMax = xSpinnable->getMaximum(); 303*b1cdbd2cSJim Jagielski 304*b1cdbd2cSJim Jagielski return nMax; 305*b1cdbd2cSJim Jagielski } 306*b1cdbd2cSJim Jagielski 307*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setSpinIncrement(sal_Int32 spinIncrement)308*b1cdbd2cSJim Jagielski void SAL_CALL UnoSpinButtonControl::setSpinIncrement( sal_Int32 spinIncrement ) throw (RuntimeException) 309*b1cdbd2cSJim Jagielski { 310*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SPININCREMENT ), makeAny( spinIncrement ), sal_True ); 311*b1cdbd2cSJim Jagielski } 312*b1cdbd2cSJim Jagielski 313*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getSpinIncrement()314*b1cdbd2cSJim Jagielski sal_Int32 SAL_CALL UnoSpinButtonControl::getSpinIncrement( ) throw (RuntimeException) 315*b1cdbd2cSJim Jagielski { 316*b1cdbd2cSJim Jagielski ::osl::MutexGuard aGuard( GetMutex() ); 317*b1cdbd2cSJim Jagielski sal_Int32 nIncrement = 0; 318*b1cdbd2cSJim Jagielski 319*b1cdbd2cSJim Jagielski Reference< XSpinValue > xSpinnable( getPeer(), UNO_QUERY ); 320*b1cdbd2cSJim Jagielski if ( xSpinnable.is() ) 321*b1cdbd2cSJim Jagielski nIncrement = xSpinnable->getSpinIncrement(); 322*b1cdbd2cSJim Jagielski 323*b1cdbd2cSJim Jagielski return nIncrement; 324*b1cdbd2cSJim Jagielski } 325*b1cdbd2cSJim Jagielski 326*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- setOrientation(sal_Int32 orientation)327*b1cdbd2cSJim Jagielski void SAL_CALL UnoSpinButtonControl::setOrientation( sal_Int32 orientation ) throw (NoSupportException, RuntimeException) 328*b1cdbd2cSJim Jagielski { 329*b1cdbd2cSJim Jagielski ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_ORIENTATION ), makeAny( orientation ), sal_True ); 330*b1cdbd2cSJim Jagielski } 331*b1cdbd2cSJim Jagielski 332*b1cdbd2cSJim Jagielski //-------------------------------------------------------------------- getOrientation()333*b1cdbd2cSJim Jagielski sal_Int32 SAL_CALL UnoSpinButtonControl::getOrientation( ) throw (RuntimeException) 334*b1cdbd2cSJim Jagielski { 335*b1cdbd2cSJim Jagielski ::osl::MutexGuard aGuard( GetMutex() ); 336*b1cdbd2cSJim Jagielski sal_Int32 nOrientation = ScrollBarOrientation::HORIZONTAL; 337*b1cdbd2cSJim Jagielski 338*b1cdbd2cSJim Jagielski Reference< XSpinValue > xSpinnable( getPeer(), UNO_QUERY ); 339*b1cdbd2cSJim Jagielski if ( xSpinnable.is() ) 340*b1cdbd2cSJim Jagielski nOrientation = xSpinnable->getOrientation(); 341*b1cdbd2cSJim Jagielski 342*b1cdbd2cSJim Jagielski return nOrientation; 343*b1cdbd2cSJim Jagielski } 344*b1cdbd2cSJim Jagielski 345*b1cdbd2cSJim Jagielski //........................................................................ 346*b1cdbd2cSJim Jagielski } // namespace toolkit 347*b1cdbd2cSJim Jagielski //........................................................................ 348*b1cdbd2cSJim Jagielski 349