summaryrefslogtreecommitdiff
path: root/toolkit
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-01-23 19:07:24 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-01-23 23:39:15 +0100
commit671ddc6f21a402699a1240e5c09b8ea2ecb5f98b (patch)
tree71c91fad3185dae52c7a1d39154922c4a52d7bdb /toolkit
parent334248a08ab0e6b0e8631253fe3906afa20db441 (diff)
tk: Constructor feature for UnoSpinButton(Control|Model).
Change-Id: If01abff3f07b4b79247e8ee7100f2c34c46c001a
Diffstat (limited to 'toolkit')
-rw-r--r--toolkit/source/controls/tkspinbutton.cxx126
-rw-r--r--toolkit/source/helper/registerservices.cxx5
-rw-r--r--toolkit/util/tk.component6
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"