From 671ddc6f21a402699a1240e5c09b8ea2ecb5f98b Mon Sep 17 00:00:00 2001 From: Matúš Kukan Date: Thu, 23 Jan 2014 19:07:24 +0100 Subject: tk: Constructor feature for UnoSpinButton(Control|Model). Change-Id: If01abff3f07b4b79247e8ee7100f2c34c46c001a --- toolkit/source/controls/tkspinbutton.cxx | 126 ++++++++++++++++++++++++----- toolkit/source/helper/registerservices.cxx | 5 -- toolkit/util/tk.component | 6 +- 3 files changed, 112 insertions(+), 25 deletions(-) (limited to 'toolkit') diff --git a/toolkit/source/controls/tkspinbutton.cxx b/toolkit/source/controls/tkspinbutton.cxx index ad20b0ff22ba..871f29d8a315 100644 --- a/toolkit/source/controls/tkspinbutton.cxx +++ b/toolkit/source/controls/tkspinbutton.cxx @@ -17,23 +17,99 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include "toolkit/controls/tkspinbutton.hxx" -#include "toolkit/helper/property.hxx" -#include "toolkit/helper/unopropertyarrayhelper.hxx" #include +#include +#include - +#include +#include #include +#include +#include +#include +#include +#include + +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::beans; -//........................................................................ -namespace toolkit +namespace { + +class UnoSpinButtonModel : public UnoControlModel { -//........................................................................ +protected: + css::uno::Any ImplGetDefaultValue( sal_uInt16 nPropId ) const; + ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper(); + +public: + UnoSpinButtonModel( const css::uno::Reference< css::uno::XComponentContext >& i_factory ); + UnoSpinButtonModel( const UnoSpinButtonModel& rModel ) : UnoControlModel( rModel ) {;} + + UnoControlModel* Clone() const { return new UnoSpinButtonModel( *this ); } + + // XMultiPropertySet + css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(css::uno::RuntimeException); + + // XPersistObject + OUString SAL_CALL getServiceName() throw(css::uno::RuntimeException); + + // XServiceInfo + OUString SAL_CALL getImplementationName( ) throw(css::uno::RuntimeException); + css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(css::uno::RuntimeException); +}; - using namespace ::com::sun::star::uno; - using namespace ::com::sun::star::awt; - using namespace ::com::sun::star::lang; - using namespace ::com::sun::star::beans; +//==================================================================== +//= UnoSpinButtonControl +//==================================================================== + +typedef ::cppu::ImplHelper2 < css::awt::XAdjustmentListener + , css::awt::XSpinValue + > UnoSpinButtonControl_Base; + +class UnoSpinButtonControl :public UnoControlBase + ,public UnoSpinButtonControl_Base +{ +private: + AdjustmentListenerMultiplexer maAdjustmentListeners; + +public: + UnoSpinButtonControl(); + OUString GetComponentServiceName(); + + DECLARE_UNO3_AGG_DEFAULTS( UnoSpinButtonControl, UnoControlBase ); + css::uno::Any SAL_CALL queryAggregation( const css::uno::Type & rType ) throw(css::uno::RuntimeException); + + void SAL_CALL createPeer( const css::uno::Reference< css::awt::XToolkit >& Toolkit, const css::uno::Reference< css::awt::XWindowPeer >& Parent ) throw(css::uno::RuntimeException); + void SAL_CALL disposing( const css::lang::EventObject& Source ) throw(css::uno::RuntimeException) { UnoControlBase::disposing( Source ); } + void SAL_CALL dispose( ) throw(css::uno::RuntimeException); + + // XTypeProvider + DECLARE_XTYPEPROVIDER() + + // XAdjustmentListener + void SAL_CALL adjustmentValueChanged( const css::awt::AdjustmentEvent& rEvent ) throw(css::uno::RuntimeException); + + // XSpinValue + virtual void SAL_CALL addAdjustmentListener( const css::uno::Reference< css::awt::XAdjustmentListener >& listener ) throw (css::uno::RuntimeException); + virtual void SAL_CALL removeAdjustmentListener( const css::uno::Reference< css::awt::XAdjustmentListener >& listener ) throw (css::uno::RuntimeException); + virtual void SAL_CALL setValue( sal_Int32 value ) throw (css::uno::RuntimeException); + virtual void SAL_CALL setValues( sal_Int32 minValue, sal_Int32 maxValue, sal_Int32 currentValue ) throw (css::uno::RuntimeException); + virtual sal_Int32 SAL_CALL getValue( ) throw (css::uno::RuntimeException); + virtual void SAL_CALL setMinimum( sal_Int32 minValue ) throw (css::uno::RuntimeException); + virtual void SAL_CALL setMaximum( sal_Int32 maxValue ) throw (css::uno::RuntimeException); + virtual sal_Int32 SAL_CALL getMinimum( ) throw (css::uno::RuntimeException); + virtual sal_Int32 SAL_CALL getMaximum( ) throw (css::uno::RuntimeException); + virtual void SAL_CALL setSpinIncrement( sal_Int32 spinIncrement ) throw (css::uno::RuntimeException); + virtual sal_Int32 SAL_CALL getSpinIncrement( ) throw (css::uno::RuntimeException); + virtual void SAL_CALL setOrientation( sal_Int32 orientation ) throw (css::lang::NoSupportException, css::uno::RuntimeException); + virtual sal_Int32 SAL_CALL getOrientation( ) throw (css::uno::RuntimeException); + + // XServiceInfo + OUString SAL_CALL getImplementationName( ) throw(css::uno::RuntimeException); + css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(css::uno::RuntimeException); +}; //==================================================================== //= UnoSpinButtonModel @@ -67,7 +143,7 @@ namespace toolkit //-------------------------------------------------------------------- OUString UnoSpinButtonModel::getServiceName( ) throw (RuntimeException) { - return OUString::createFromAscii( szServiceName_UnoSpinButtonModel ); + return OUString("com.sun.star.awt.UnoControlSpinButtonModel"); } //-------------------------------------------------------------------- @@ -76,7 +152,7 @@ namespace toolkit switch ( nPropId ) { case BASEPROPERTY_DEFAULTCONTROL: - return makeAny( OUString::createFromAscii( szServiceName_UnoSpinButtonControl ) ); + return makeAny( OUString("com.sun.star.awt.UnoControlSpinButton") ); case BASEPROPERTY_BORDER: return makeAny( (sal_Int16) 0 ); @@ -119,7 +195,7 @@ namespace toolkit { Sequence< OUString > aServices( UnoControlModel::getSupportedServiceNames() ); aServices.realloc( aServices.getLength() + 1 ); - aServices[ aServices.getLength() - 1 ] = OUString::createFromAscii( szServiceName_UnoSpinButtonModel ); + aServices[ aServices.getLength() - 1 ] = OUString("com.sun.star.awt.UnoControlSpinButtonModel"); return aServices; } @@ -182,7 +258,7 @@ namespace toolkit { Sequence< OUString > aServices( UnoControlBase::getSupportedServiceNames() ); aServices.realloc( aServices.getLength() + 1 ); - aServices[ aServices.getLength() - 1 ] = OUString::createFromAscii( szServiceName_UnoSpinButtonControl ); + aServices[ aServices.getLength() - 1 ] = OUString("com.sun.star.awt.UnoControlSpinButton"); return aServices; } @@ -335,8 +411,22 @@ namespace toolkit return nOrientation; } -//........................................................................ -} // namespace toolkit -//........................................................................ +} + +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL +stardiv_Toolkit_UnoSpinButtonModel_get_implementation( + css::uno::XComponentContext *context, + css::uno::Sequence const &) +{ + return cppu::acquire(new UnoSpinButtonModel(context)); +} + +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL +stardiv_Toolkit_UnoSpinButtonControl_get_implementation( + css::uno::XComponentContext *, + css::uno::Sequence const &) +{ + return cppu::acquire(new UnoSpinButtonControl()); +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/toolkit/source/helper/registerservices.cxx b/toolkit/source/helper/registerservices.cxx index 20ca8952c6d9..64525d9c364e 100644 --- a/toolkit/source/helper/registerservices.cxx +++ b/toolkit/source/helper/registerservices.cxx @@ -39,7 +39,6 @@ #include #include #include -#include "toolkit/controls/tkspinbutton.hxx" #include "toolkit/dllapi.h" #include #include @@ -108,14 +107,12 @@ IMPL_CREATEINSTANCE( UnoControlContainer ) IMPL_CREATEINSTANCE_CTX( UnoControlContainerModel ) IMPL_CREATEINSTANCE_CTX( UnoControlFormattedFieldModel ) IMPL_CREATEINSTANCE_CTX( UnoControlScrollBarModel ) -IMPL_CREATEINSTANCE_CTX( UnoSpinButtonModel ) IMPL_CREATEINSTANCE_CTX( UnoMultiPageModel ) IMPL_CREATEINSTANCE_CTX( UnoPageModel ) IMPL_CREATEINSTANCE_CTX( UnoFrameModel ) IMPL_CREATEINSTANCE_CTX( UnoDialogControl ) IMPL_CREATEINSTANCE( UnoFormattedFieldControl ) IMPL_CREATEINSTANCE( UnoScrollBarControl ) -IMPL_CREATEINSTANCE( UnoSpinButtonControl ) IMPL_CREATEINSTANCE_CTX( UnoMultiPageControl ) IMPL_CREATEINSTANCE_CTX( UnoPageControl ) IMPL_CREATEINSTANCE_CTX( UnoFrameControl ) @@ -162,8 +159,6 @@ TOOLKIT_DLLPUBLIC void* SAL_CALL tk_component_getFactory( const sal_Char* sImple GET_FACTORY( UnoPageControl, szServiceName_UnoPageControl, NULL ) GET_FACTORY( UnoFrameModel, szServiceName_UnoFrameModel, NULL ) GET_FACTORY( UnoFrameControl, szServiceName_UnoFrameControl, NULL ) - GET_FACTORY( UnoSpinButtonModel, szServiceName_UnoSpinButtonModel, NULL ) - GET_FACTORY( UnoSpinButtonControl, szServiceName_UnoSpinButtonControl, NULL ) GET_FACTORY( MutableTreeDataModel, szServiceName_MutableTreeDataModel, NULL ) } return pRet; diff --git a/toolkit/util/tk.component b/toolkit/util/tk.component index ee1d376a7072..5a0fbaaefbc3 100644 --- a/toolkit/util/tk.component +++ b/toolkit/util/tk.component @@ -316,10 +316,12 @@ constructor="org_openoffice_comp_toolkit_AnimatedImagesControl_get_implementation"> - + - +