diff options
author | Matúš Kukan <matus.kukan@collabora.com> | 2014-01-23 19:07:24 +0100 |
---|---|---|
committer | Matúš Kukan <matus.kukan@collabora.com> | 2014-01-23 23:39:15 +0100 |
commit | 671ddc6f21a402699a1240e5c09b8ea2ecb5f98b (patch) | |
tree | 71c91fad3185dae52c7a1d39154922c4a52d7bdb /toolkit | |
parent | 334248a08ab0e6b0e8631253fe3906afa20db441 (diff) |
tk: Constructor feature for UnoSpinButton(Control|Model).
Change-Id: If01abff3f07b4b79247e8ee7100f2c34c46c001a
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/source/controls/tkspinbutton.cxx | 126 | ||||
-rw-r--r-- | toolkit/source/helper/registerservices.cxx | 5 | ||||
-rw-r--r-- | toolkit/util/tk.component | 6 |
3 files changed, 112 insertions, 25 deletions
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 <com/sun/star/awt/ScrollBarOrientation.hpp> +#include <com/sun/star/awt/XSpinValue.hpp> +#include <com/sun/star/awt/XAdjustmentListener.hpp> - +#include <comphelper/uno3.hxx> +#include <cppuhelper/implbase2.hxx> #include <cppuhelper/typeprovider.hxx> +#include <toolkit/controls/unocontrolmodel.hxx> +#include <toolkit/controls/unocontrolbase.hxx> +#include <toolkit/helper/macros.hxx> +#include <toolkit/helper/property.hxx> +#include <toolkit/helper/unopropertyarrayhelper.hxx> + +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<css::uno::Any> 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<css::uno::Any> 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 <toolkit/controls/formattedcontrol.hxx> #include <toolkit/controls/roadmapcontrol.hxx> #include <toolkit/controls/tkscrollbar.hxx> -#include "toolkit/controls/tkspinbutton.hxx" #include "toolkit/dllapi.h" #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/uno/XComponentContext.hpp> @@ -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"> <service name="com.sun.star.awt.AnimatedImagesControl"/> </implementation> - <implementation name="stardiv.Toolkit.UnoSpinButtonControl"> + <implementation name="stardiv.Toolkit.UnoSpinButtonControl" + constructor="stardiv_Toolkit_UnoSpinButtonControl_get_implementation"> <service name="com.sun.star.awt.UnoControlSpinButton"/> </implementation> - <implementation name="stardiv.Toolkit.UnoSpinButtonModel"> + <implementation name="stardiv.Toolkit.UnoSpinButtonModel" + constructor="stardiv_Toolkit_UnoSpinButtonModel_get_implementation"> <service name="com.sun.star.awt.UnoControlSpinButtonModel"/> </implementation> <implementation name="stardiv.Toolkit.UnoTimeFieldControl" |