Kaydet (Commit) 671ddc6f authored tarafından Matúš Kukan's avatar Matúš Kukan

tk: Constructor feature for UnoSpinButton(Control|Model).

Change-Id: If01abff3f07b4b79247e8ee7100f2c34c46c001a
üst 334248a0
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_TOOLKIT_CONTROLS_TKSPINBUTTON_HXX
#define INCLUDED_TOOLKIT_CONTROLS_TKSPINBUTTON_HXX
#include <toolkit/controls/unocontrolmodel.hxx>
#include <toolkit/helper/servicenames.hxx>
#include <toolkit/controls/unocontrolbase.hxx>
#include <toolkit/helper/macros.hxx>
#include <com/sun/star/awt/XSpinValue.hpp>
#include <com/sun/star/awt/XAdjustmentListener.hpp>
#include <comphelper/uno3.hxx>
#include <cppuhelper/implbase2.hxx>
//........................................................................
namespace toolkit
{
//........................................................................
//====================================================================
//= UnoSpinButtonModel
//====================================================================
class UnoSpinButtonModel : public UnoControlModel
{
protected:
::com::sun::star::uno::Any ImplGetDefaultValue( sal_uInt16 nPropId ) const;
::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
public:
UnoSpinButtonModel( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& i_factory );
UnoSpinButtonModel( const UnoSpinButtonModel& rModel ) : UnoControlModel( rModel ) {;}
UnoControlModel* Clone() const { return new UnoSpinButtonModel( *this ); }
// XMultiPropertySet
::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException);
// XPersistObject
OUString SAL_CALL getServiceName() throw(::com::sun::star::uno::RuntimeException);
// XServiceInfo
OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException);
::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
};
//====================================================================
//= UnoSpinButtonControl
//====================================================================
typedef ::cppu::ImplHelper2 < ::com::sun::star::awt::XAdjustmentListener
, ::com::sun::star::awt::XSpinValue
> UnoSpinButtonControl_Base;
class UnoSpinButtonControl :public UnoControlBase
,public UnoSpinButtonControl_Base
{
private:
AdjustmentListenerMultiplexer maAdjustmentListeners;
public:
UnoSpinButtonControl();
OUString GetComponentServiceName();
DECLARE_UNO3_AGG_DEFAULTS( UnoSpinButtonControl, UnoControlBase );
::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
void SAL_CALL createPeer( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XToolkit >& Toolkit, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& Parent ) throw(::com::sun::star::uno::RuntimeException);
void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException) { UnoControlBase::disposing( Source ); }
void SAL_CALL dispose( ) throw(::com::sun::star::uno::RuntimeException);
// XTypeProvider
DECLARE_XTYPEPROVIDER()
// XAdjustmentListener
void SAL_CALL adjustmentValueChanged( const ::com::sun::star::awt::AdjustmentEvent& rEvent ) throw(::com::sun::star::uno::RuntimeException);
// XSpinValue
virtual void SAL_CALL addAdjustmentListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XAdjustmentListener >& listener ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL removeAdjustmentListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XAdjustmentListener >& listener ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setValue( sal_Int32 value ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setValues( sal_Int32 minValue, sal_Int32 maxValue, sal_Int32 currentValue ) throw (::com::sun::star::uno::RuntimeException);
virtual sal_Int32 SAL_CALL getValue( ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setMinimum( sal_Int32 minValue ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setMaximum( sal_Int32 maxValue ) throw (::com::sun::star::uno::RuntimeException);
virtual sal_Int32 SAL_CALL getMinimum( ) throw (::com::sun::star::uno::RuntimeException);
virtual sal_Int32 SAL_CALL getMaximum( ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setSpinIncrement( sal_Int32 spinIncrement ) throw (::com::sun::star::uno::RuntimeException);
virtual sal_Int32 SAL_CALL getSpinIncrement( ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setOrientation( sal_Int32 orientation ) throw (::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException);
virtual sal_Int32 SAL_CALL getOrientation( ) throw (::com::sun::star::uno::RuntimeException);
// XServiceInfo
OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException);
::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
};
//........................................................................
} // namespacetoolkit
//........................................................................
#endif // INCLUDED_TOOLKIT_CONTROLS_TKSPINBUTTON_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -17,23 +17,99 @@ ...@@ -17,23 +17,99 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * 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/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 <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 {
namespace toolkit
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; //= UnoSpinButtonControl
using namespace ::com::sun::star::lang; //====================================================================
using namespace ::com::sun::star::beans;
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 //= UnoSpinButtonModel
...@@ -67,7 +143,7 @@ namespace toolkit ...@@ -67,7 +143,7 @@ namespace toolkit
//-------------------------------------------------------------------- //--------------------------------------------------------------------
OUString UnoSpinButtonModel::getServiceName( ) throw (RuntimeException) OUString UnoSpinButtonModel::getServiceName( ) throw (RuntimeException)
{ {
return OUString::createFromAscii( szServiceName_UnoSpinButtonModel ); return OUString("com.sun.star.awt.UnoControlSpinButtonModel");
} }
//-------------------------------------------------------------------- //--------------------------------------------------------------------
...@@ -76,7 +152,7 @@ namespace toolkit ...@@ -76,7 +152,7 @@ namespace toolkit
switch ( nPropId ) switch ( nPropId )
{ {
case BASEPROPERTY_DEFAULTCONTROL: case BASEPROPERTY_DEFAULTCONTROL:
return makeAny( OUString::createFromAscii( szServiceName_UnoSpinButtonControl ) ); return makeAny( OUString("com.sun.star.awt.UnoControlSpinButton") );
case BASEPROPERTY_BORDER: case BASEPROPERTY_BORDER:
return makeAny( (sal_Int16) 0 ); return makeAny( (sal_Int16) 0 );
...@@ -119,7 +195,7 @@ namespace toolkit ...@@ -119,7 +195,7 @@ namespace toolkit
{ {
Sequence< OUString > aServices( UnoControlModel::getSupportedServiceNames() ); Sequence< OUString > aServices( UnoControlModel::getSupportedServiceNames() );
aServices.realloc( aServices.getLength() + 1 ); 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; return aServices;
} }
...@@ -182,7 +258,7 @@ namespace toolkit ...@@ -182,7 +258,7 @@ namespace toolkit
{ {
Sequence< OUString > aServices( UnoControlBase::getSupportedServiceNames() ); Sequence< OUString > aServices( UnoControlBase::getSupportedServiceNames() );
aServices.realloc( aServices.getLength() + 1 ); 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; return aServices;
} }
...@@ -335,8 +411,22 @@ namespace toolkit ...@@ -335,8 +411,22 @@ namespace toolkit
return nOrientation; 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: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
#include <toolkit/controls/formattedcontrol.hxx> #include <toolkit/controls/formattedcontrol.hxx>
#include <toolkit/controls/roadmapcontrol.hxx> #include <toolkit/controls/roadmapcontrol.hxx>
#include <toolkit/controls/tkscrollbar.hxx> #include <toolkit/controls/tkscrollbar.hxx>
#include "toolkit/controls/tkspinbutton.hxx"
#include "toolkit/dllapi.h" #include "toolkit/dllapi.h"
#include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/uno/XComponentContext.hpp> #include <com/sun/star/uno/XComponentContext.hpp>
...@@ -108,14 +107,12 @@ IMPL_CREATEINSTANCE( UnoControlContainer ) ...@@ -108,14 +107,12 @@ IMPL_CREATEINSTANCE( UnoControlContainer )
IMPL_CREATEINSTANCE_CTX( UnoControlContainerModel ) IMPL_CREATEINSTANCE_CTX( UnoControlContainerModel )
IMPL_CREATEINSTANCE_CTX( UnoControlFormattedFieldModel ) IMPL_CREATEINSTANCE_CTX( UnoControlFormattedFieldModel )
IMPL_CREATEINSTANCE_CTX( UnoControlScrollBarModel ) IMPL_CREATEINSTANCE_CTX( UnoControlScrollBarModel )
IMPL_CREATEINSTANCE_CTX( UnoSpinButtonModel )
IMPL_CREATEINSTANCE_CTX( UnoMultiPageModel ) IMPL_CREATEINSTANCE_CTX( UnoMultiPageModel )
IMPL_CREATEINSTANCE_CTX( UnoPageModel ) IMPL_CREATEINSTANCE_CTX( UnoPageModel )
IMPL_CREATEINSTANCE_CTX( UnoFrameModel ) IMPL_CREATEINSTANCE_CTX( UnoFrameModel )
IMPL_CREATEINSTANCE_CTX( UnoDialogControl ) IMPL_CREATEINSTANCE_CTX( UnoDialogControl )
IMPL_CREATEINSTANCE( UnoFormattedFieldControl ) IMPL_CREATEINSTANCE( UnoFormattedFieldControl )
IMPL_CREATEINSTANCE( UnoScrollBarControl ) IMPL_CREATEINSTANCE( UnoScrollBarControl )
IMPL_CREATEINSTANCE( UnoSpinButtonControl )
IMPL_CREATEINSTANCE_CTX( UnoMultiPageControl ) IMPL_CREATEINSTANCE_CTX( UnoMultiPageControl )
IMPL_CREATEINSTANCE_CTX( UnoPageControl ) IMPL_CREATEINSTANCE_CTX( UnoPageControl )
IMPL_CREATEINSTANCE_CTX( UnoFrameControl ) IMPL_CREATEINSTANCE_CTX( UnoFrameControl )
...@@ -162,8 +159,6 @@ TOOLKIT_DLLPUBLIC void* SAL_CALL tk_component_getFactory( const sal_Char* sImple ...@@ -162,8 +159,6 @@ TOOLKIT_DLLPUBLIC void* SAL_CALL tk_component_getFactory( const sal_Char* sImple
GET_FACTORY( UnoPageControl, szServiceName_UnoPageControl, NULL ) GET_FACTORY( UnoPageControl, szServiceName_UnoPageControl, NULL )
GET_FACTORY( UnoFrameModel, szServiceName_UnoFrameModel, NULL ) GET_FACTORY( UnoFrameModel, szServiceName_UnoFrameModel, NULL )
GET_FACTORY( UnoFrameControl, szServiceName_UnoFrameControl, 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 ) GET_FACTORY( MutableTreeDataModel, szServiceName_MutableTreeDataModel, NULL )
} }
return pRet; return pRet;
......
...@@ -316,10 +316,12 @@ ...@@ -316,10 +316,12 @@
constructor="org_openoffice_comp_toolkit_AnimatedImagesControl_get_implementation"> constructor="org_openoffice_comp_toolkit_AnimatedImagesControl_get_implementation">
<service name="com.sun.star.awt.AnimatedImagesControl"/> <service name="com.sun.star.awt.AnimatedImagesControl"/>
</implementation> </implementation>
<implementation name="stardiv.Toolkit.UnoSpinButtonControl"> <implementation name="stardiv.Toolkit.UnoSpinButtonControl"
constructor="stardiv_Toolkit_UnoSpinButtonControl_get_implementation">
<service name="com.sun.star.awt.UnoControlSpinButton"/> <service name="com.sun.star.awt.UnoControlSpinButton"/>
</implementation> </implementation>
<implementation name="stardiv.Toolkit.UnoSpinButtonModel"> <implementation name="stardiv.Toolkit.UnoSpinButtonModel"
constructor="stardiv_Toolkit_UnoSpinButtonModel_get_implementation">
<service name="com.sun.star.awt.UnoControlSpinButtonModel"/> <service name="com.sun.star.awt.UnoControlSpinButtonModel"/>
</implementation> </implementation>
<implementation name="stardiv.Toolkit.UnoTimeFieldControl" <implementation name="stardiv.Toolkit.UnoTimeFieldControl"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment