2010-10-14 08:27:31 +02:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-10-02 14:13:40 +01:00
|
|
|
/*
|
|
|
|
* 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 .
|
|
|
|
*/
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
#include <com/sun/star/awt/XTextArea.hpp>
|
|
|
|
#include <com/sun/star/awt/XVclWindowPeer.hpp>
|
|
|
|
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
|
2001-01-24 14:00:58 +00:00
|
|
|
#include <com/sun/star/awt/PosSize.hpp>
|
2004-07-05 14:57:14 +00:00
|
|
|
#include <com/sun/star/awt/VisualEffect.hpp>
|
2004-05-10 12:41:58 +00:00
|
|
|
#include <com/sun/star/awt/LineEndFormat.hpp>
|
2012-05-26 13:53:19 +02:00
|
|
|
#include <com/sun/star/graphic/GraphicProvider.hpp>
|
2006-10-18 12:15:32 +00:00
|
|
|
#include <com/sun/star/graphic/XGraphicProvider.hpp>
|
2008-12-01 12:31:27 +00:00
|
|
|
#include <com/sun/star/graphic/GraphicObject.hpp>
|
2004-04-02 09:33:51 +00:00
|
|
|
#include <com/sun/star/util/Date.hpp>
|
2008-12-01 12:31:27 +00:00
|
|
|
#include <com/sun/star/awt/ImageScaleMode.hpp>
|
2004-07-05 14:57:14 +00:00
|
|
|
|
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
#include <toolkit/controls/formattedcontrol.hxx>
|
2004-05-19 15:46:21 +00:00
|
|
|
#include <toolkit/controls/roadmapcontrol.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <toolkit/controls/unocontrols.hxx>
|
2001-01-25 12:40:59 +00:00
|
|
|
#include <toolkit/controls/stdtabcontroller.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <toolkit/helper/property.hxx>
|
|
|
|
#include <toolkit/helper/unopropertyarrayhelper.hxx>
|
|
|
|
#include <toolkit/helper/servicenames.hxx>
|
|
|
|
#include <toolkit/helper/macros.hxx>
|
2004-07-05 14:57:14 +00:00
|
|
|
#include <toolkit/helper/imagealign.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2008-01-14 11:58:14 +00:00
|
|
|
// for introspection
|
|
|
|
#include <toolkit/awt/vclxwindows.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <cppuhelper/typeprovider.hxx>
|
2000-11-02 10:12:12 +00:00
|
|
|
#include <comphelper/processfactory.hxx>
|
2001-08-07 10:18:02 +00:00
|
|
|
#include <comphelper/extract.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <vcl/wrkwin.hxx>
|
|
|
|
#include <vcl/svapp.hxx>
|
|
|
|
#include <vcl/edit.hxx>
|
|
|
|
#include <vcl/button.hxx>
|
|
|
|
#include <vcl/group.hxx>
|
|
|
|
#include <vcl/fixed.hxx>
|
|
|
|
#include <vcl/lstbox.hxx>
|
|
|
|
#include <vcl/combobox.hxx>
|
|
|
|
#include <tools/debug.hxx>
|
2006-10-18 12:15:32 +00:00
|
|
|
#include <tools/diagnose_ex.h>
|
2001-08-10 08:10:14 +00:00
|
|
|
#include <tools/date.hxx>
|
|
|
|
#include <tools/time.hxx>
|
2004-05-07 15:17:46 +00:00
|
|
|
|
|
|
|
#include <algorithm>
|
2010-04-29 10:05:04 +02:00
|
|
|
#include <functional>
|
2001-08-10 08:10:14 +00:00
|
|
|
|
2013-04-25 17:02:30 +02:00
|
|
|
using namespace css;
|
|
|
|
using namespace css::awt;
|
|
|
|
using namespace css::lang;
|
|
|
|
using namespace css::uno;
|
2010-04-29 10:05:04 +02:00
|
|
|
using ::com::sun::star::graphic::XGraphic;
|
|
|
|
using ::com::sun::star::uno::Reference;
|
2003-03-27 16:05:12 +00:00
|
|
|
using namespace ::toolkit;
|
2001-01-24 14:00:58 +00:00
|
|
|
|
2010-07-01 15:52:47 +02:00
|
|
|
#define IMPL_SERVICEINFO_DERIVED( ImplName, BaseClass, ServiceName ) \
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString SAL_CALL ImplName::getImplementationName( ) throw(::com::sun::star::uno::RuntimeException) { return OUString( "stardiv.Toolkit." #ImplName ); } \
|
|
|
|
::com::sun::star::uno::Sequence< OUString > SAL_CALL ImplName::getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException) \
|
2010-07-01 15:52:47 +02:00
|
|
|
{ \
|
2013-02-22 14:12:26 +05:30
|
|
|
::com::sun::star::uno::Sequence< OUString > aNames = BaseClass::getSupportedServiceNames( ); \
|
2010-07-01 15:52:47 +02:00
|
|
|
aNames.realloc( aNames.getLength() + 1 ); \
|
2013-02-22 14:12:26 +05:30
|
|
|
aNames[ aNames.getLength() - 1 ] = OUString::createFromAscii( ServiceName ); \
|
2010-07-01 15:52:47 +02:00
|
|
|
return aNames; \
|
|
|
|
} \
|
|
|
|
|
|
|
|
|
2012-02-13 14:19:22 +00:00
|
|
|
uno::Reference< graphic::XGraphic >
|
2013-02-22 14:12:26 +05:30
|
|
|
ImageHelper::getGraphicAndGraphicObjectFromURL_nothrow( uno::Reference< graphic::XGraphicObject >& xOutGraphicObj, const OUString& _rURL )
|
2012-02-13 14:19:22 +00:00
|
|
|
{
|
2013-03-20 13:02:46 +01:00
|
|
|
if ( _rURL.startsWith( UNO_NAME_GRAPHOBJ_URLPREFIX ) )
|
2012-02-13 14:19:22 +00:00
|
|
|
{
|
|
|
|
// graphic manager uniqueid
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString sID = _rURL.copy( sizeof( UNO_NAME_GRAPHOBJ_URLPREFIX ) - 1 );
|
2013-01-09 13:33:51 +02:00
|
|
|
xOutGraphicObj = graphic::GraphicObject::createWithId( ::comphelper::getProcessComponentContext(), sID );
|
2012-02-13 14:19:22 +00:00
|
|
|
}
|
|
|
|
else // linked
|
|
|
|
xOutGraphicObj = NULL; // release the GraphicObject
|
|
|
|
|
|
|
|
return ImageHelper::getGraphicFromURL_nothrow( _rURL );
|
|
|
|
}
|
2010-07-01 15:52:47 +02:00
|
|
|
|
2012-02-13 14:19:22 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic >
|
2013-02-22 14:12:26 +05:30
|
|
|
ImageHelper::getGraphicFromURL_nothrow( const OUString& _rURL )
|
2012-02-13 14:19:22 +00:00
|
|
|
{
|
|
|
|
uno::Reference< graphic::XGraphic > xGraphic;
|
|
|
|
if ( _rURL.isEmpty() )
|
|
|
|
return xGraphic;
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
2012-05-26 13:53:19 +02:00
|
|
|
uno::Reference< uno::XComponentContext > xContext( ::comphelper::getProcessComponentContext() );
|
|
|
|
uno::Reference< graphic::XGraphicProvider > xProvider( graphic::GraphicProvider::create(xContext) );
|
|
|
|
uno::Sequence< beans::PropertyValue > aMediaProperties(1);
|
2013-02-22 14:12:26 +05:30
|
|
|
aMediaProperties[0].Name = OUString( "URL" );
|
2012-05-26 13:53:19 +02:00
|
|
|
aMediaProperties[0].Value <<= _rURL;
|
|
|
|
xGraphic = xProvider->queryGraphic( aMediaProperties );
|
2012-02-13 14:19:22 +00:00
|
|
|
}
|
|
|
|
catch (const Exception&)
|
|
|
|
{
|
|
|
|
DBG_UNHANDLED_EXCEPTION();
|
|
|
|
}
|
|
|
|
|
|
|
|
return xGraphic;
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlEditModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlEditModel::UnoControlEditModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXEdit );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlEditModel::getServiceName( ) throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlEditModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlEditModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-05-10 12:41:58 +00:00
|
|
|
uno::Any aReturn;
|
|
|
|
|
|
|
|
switch ( nPropId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-05-10 12:41:58 +00:00
|
|
|
case BASEPROPERTY_LINE_END_FORMAT:
|
|
|
|
aReturn <<= (sal_Int16)awt::LineEndFormat::LINE_FEED; // LF
|
|
|
|
break;
|
|
|
|
case BASEPROPERTY_DEFAULTCONTROL:
|
2013-02-22 14:12:26 +05:30
|
|
|
aReturn <<= OUString::createFromAscii( szServiceName_UnoControlEdit );
|
2004-05-10 12:41:58 +00:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
aReturn = UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
break;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2004-05-10 12:41:58 +00:00
|
|
|
return aReturn;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlEditModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlEditModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoEditControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoEditControl::UnoEditControl()
|
|
|
|
:UnoControlBase()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maTextListeners( *this )
|
2006-06-19 22:05:22 +00:00
|
|
|
,mnMaxTextLen( 0 )
|
2004-05-07 15:17:46 +00:00
|
|
|
,mbSetTextInPeer( sal_False )
|
2006-06-19 22:05:22 +00:00
|
|
|
,mbSetMaxTextLenInPeer( sal_False )
|
2004-05-07 15:17:46 +00:00
|
|
|
,mbHasTextProperty( sal_False )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 12;
|
2004-05-19 15:46:21 +00:00
|
|
|
mnMaxTextLen = 0;
|
2010-11-05 10:31:15 +08:00
|
|
|
mbSetMaxTextLenInPeer = sal_False;
|
2004-05-07 15:17:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
uno::Any SAL_CALL UnoEditControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
uno::Any aReturn = UnoControlBase::queryAggregation( rType );
|
|
|
|
if ( !aReturn.hasValue() )
|
|
|
|
aReturn = UnoEditControl_Base::queryInterface( rType );
|
|
|
|
return aReturn;
|
|
|
|
}
|
2001-10-11 14:27:26 +00:00
|
|
|
|
2004-05-07 15:17:46 +00:00
|
|
|
uno::Any SAL_CALL UnoEditControl::queryInterface( const uno::Type & rType ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
return UnoControlBase::queryInterface( rType );
|
|
|
|
}
|
2001-10-11 14:27:26 +00:00
|
|
|
|
2004-05-07 15:17:46 +00:00
|
|
|
void SAL_CALL UnoEditControl::acquire( ) throw ()
|
|
|
|
{
|
|
|
|
UnoControlBase::acquire();
|
|
|
|
}
|
2001-10-11 14:27:26 +00:00
|
|
|
|
2004-05-07 15:17:46 +00:00
|
|
|
void SAL_CALL UnoEditControl::release( ) throw ()
|
|
|
|
{
|
|
|
|
UnoControlBase::release();
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2004-05-07 15:17:46 +00:00
|
|
|
IMPLEMENT_FORWARD_XTYPEPROVIDER2( UnoEditControl, UnoControlBase, UnoEditControl_Base )
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoEditControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-05-07 15:17:46 +00:00
|
|
|
// by default, we want a simple edit field
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString sName( "Edit" );
|
2004-05-07 15:17:46 +00:00
|
|
|
|
|
|
|
// but maybe we are to display multi-line text?
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_MULTILINE ) );
|
2006-08-29 09:58:09 +00:00
|
|
|
sal_Bool b = sal_Bool();
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( ( aVal >>= b ) && b )
|
2013-02-22 14:12:26 +05:30
|
|
|
sName= OUString("MultiLineEdit");
|
2004-05-07 15:17:46 +00:00
|
|
|
|
|
|
|
return sName;
|
|
|
|
}
|
|
|
|
|
|
|
|
sal_Bool SAL_CALL UnoEditControl::setModel(const uno::Reference< awt::XControlModel >& _rModel) throw ( uno::RuntimeException )
|
|
|
|
{
|
|
|
|
sal_Bool bReturn = UnoControlBase::setModel( _rModel );
|
|
|
|
mbHasTextProperty = ImplHasProperty( BASEPROPERTY_TEXT );
|
|
|
|
return bReturn;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoEditControl::ImplSetPeerProperty( const OUString& rPropName, const uno::Any& rVal )
|
2002-09-05 07:54:42 +00:00
|
|
|
{
|
|
|
|
sal_Bool bDone = sal_False;
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( GetPropertyId( rPropName ) == BASEPROPERTY_TEXT )
|
2002-09-05 07:54:42 +00:00
|
|
|
{
|
|
|
|
// #96986# use setText(), or text listener will not be called.
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTextComponent > xTextComponent( getPeer(), uno::UNO_QUERY );
|
2002-09-05 07:54:42 +00:00
|
|
|
if ( xTextComponent.is() )
|
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString sText;
|
2004-05-07 15:17:46 +00:00
|
|
|
rVal >>= sText;
|
CWS-TOOLING: integrate CWS dba32b
2009-06-03 14:58:08 +0200 fs r272581 : #i102439#
2009-05-29 13:56:18 +0200 fs r272456 : remove the sub form when the 'add subform' setting changes from <true/> to <false/>, not only its controls
2009-05-29 13:19:27 +0200 fs r272454 : display '(Default)' instead of an empty string when a control has the default font
2009-05-28 20:49:18 +0200 fs r272428 : #i98162# getFirstSelectedValue: do not return reference to a temporary
2009-05-27 15:30:22 +0200 msc r272353 : #102303#
2009-05-26 13:03:06 +0200 fs r272295 : spelling
2009-05-26 12:59:54 +0200 fs r272294 : merge m48 version to get latest cygwin related fixes
2009-05-25 14:02:06 +0200 fs r272239 : remove references to local files, needed for debugging sessions only
2009-05-25 14:01:16 +0200 fs r272238 : #i102021# ensure members such as bNumberFormat are initialized before actually returning them
2009-05-25 13:10:20 +0200 fs r272236 : #i10000# reset ENABLE_EVOAB2
2009-05-22 06:44:45 +0200 oj r272167 : #i99104# add import handler for calc-sett
2009-05-22 06:42:27 +0200 oj r272166 : #i99104# impl NullDate as member
2009-05-22 06:36:22 +0200 oj r272165 : #i99104# handle nulldate from parent model
2009-05-22 06:33:13 +0200 oj r272164 : #i99104# export and import calculation-settings and nulldate
2009-05-22 06:27:50 +0200 oj r272163 : #i99104# export and import calculation-settings and nulldate
2009-05-20 13:29:58 +0200 oj r272118 : #i99911# handle invalid name
2009-05-20 13:28:49 +0200 oj r272117 : #i101261# handle different rowsets
2009-05-20 11:29:55 +0200 msc r272111 : #i100000#
2009-05-20 11:28:27 +0200 msc r272110 : merge in change from dba32a
2009-05-20 11:27:38 +0200 msc r272109 : #102082# CTRL + C does not work
2009-05-20 09:43:36 +0200 oj r272106 : clean up includes
2009-05-20 09:32:15 +0200 oj r272105 : #i99060# merge error resovled now VERTICAL_ALIGN is in both stmt
2009-05-20 08:37:21 +0200 msc r272104 : add workaround for issue #102010#
2009-05-20 08:10:12 +0200 oj r272103 : #i99104# use numberformatkey
2009-05-20 08:07:02 +0200 oj r272102 : #i99104# use column info from rowset
2009-05-20 08:04:43 +0200 oj r272101 : #i102032# use a special column type where prec and scale are the values currently set at the column
2009-05-20 08:03:04 +0200 oj r272100 : #i102032# correct type info, we have to use SQL defined type names
2009-05-19 10:27:02 +0200 oj r272061 : #i99104# export null-date
2009-05-19 08:26:53 +0200 oj r272056 : #i99104# export null-date
2009-05-18 13:15:10 +0200 msc r272014 : add issue #102019#
2009-05-18 11:33:07 +0200 msc r272005 : add issue #102019#
2009-05-18 08:59:45 +0200 msc r271996 : add workaroud for issue #102010#
2009-05-15 10:21:24 +0200 msc r271929 : #101944#
2009-05-11 21:18:30 +0200 fs r271792 : #i99914#
2009-05-08 13:52:06 +0200 oj r271715 : #i96423# remember column span
2009-05-08 11:26:19 +0200 oj r271708 : #i98605# impl new scale mode
2009-05-08 10:33:35 +0200 fs r271706 : SendUserCall: only call into the shape notification routine for UserCall types where this is necessary (performance issue)
2009-05-07 20:52:44 +0200 fs r271698 : outsource ShapeProperty from shapepropertynotifier.hxx
2009-05-07 20:43:33 +0200 fs r271697 : #i99056# use notifyShapePropertyChange, instead of getShapePropertyChangeNotifier - the latter throws if no shape exists, yet
2009-05-07 20:33:58 +0200 fs r271696 : #i99056# +notifyShapePropertyChange: allow notifying chages without checking whether there actually already exists an SvxShape
2009-05-07 16:22:15 +0200 fs r271679 : #i10000# cygwin needs quotes around the classpath
2009-05-07 16:21:37 +0200 fs r271678 : #i10000# cygwin needs quotes around the classpath
2009-05-07 16:01:11 +0200 oj r271677 : #i99914# notify parent handler
2009-05-07 15:54:54 +0200 fs r271676 : #i10000# cygwin needs some quoting
2009-05-07 14:49:48 +0200 oj r271672 : #i99277# quote alias name
2009-05-07 14:48:12 +0200 oj r271671 : #i92538# add ~ in front of type
2009-05-07 14:37:13 +0200 oj r271667 : #i99118# change type from char to varchar
2009-05-07 14:36:23 +0200 oj r271666 : #i99118# clear dest columns when changing to create new table
2009-05-07 13:35:32 +0200 oj r271657 : #i94467# handle type 0 as double as well
2009-05-07 13:20:49 +0200 oj r271655 : i99743# setNull when varchar is no text
2009-05-07 12:58:06 +0200 fs r271651 : initialize the SdrObject's property change notifier after the ctor, if necessary
2009-05-07 11:47:18 +0200 fs r271647 : #i10000#
2009-05-07 10:57:16 +0200 fs r271639 : OPropertyBrowserController::propertyChange: care for the current property state, too, and properly forward it to the UI
2009-05-07 10:18:14 +0200 fs r271636 : onNewComponent: do not ask the map for grid columns, it will throw
2009-05-07 10:09:55 +0200 fs r271634 : #i101623#
2009-05-07 09:53:44 +0200 fs r271631 : #i101622#
2009-05-06 21:55:53 +0200 fs r271615 : #i10000#
2009-05-06 21:10:42 +0200 fs r271611 : #i10000#
2009-05-06 13:11:48 +0200 fs r271583 : #i10000#
2009-05-05 22:29:31 +0200 fs r271559 : proper assertion message
2009-05-05 22:29:03 +0200 fs r271558 : diagnostics
2009-05-05 22:16:16 +0200 fs r271557 : #i10000#
2009-05-05 13:50:32 +0200 fs r271513 : #i10000#
2009-05-05 10:21:50 +0200 fs r271503 : #i10000#
2009-05-05 09:30:26 +0200 fs r271501 : why did those survive the rebase -C step?
2009-05-05 09:18:12 +0200 fs r271500 : #i10000#
2009-05-04 17:08:17 +0200 fs r271475 : CWS-TOOLING: rebase CWS dba32b to trunk@271427 (milestone: DEV300:m47)
2009-05-04 14:51:26 +0200 fs r271456 : line ends
2009-04-30 15:55:27 +0200 fs r271418 : NewURL -> PublicConnectionURL
2009-04-22 21:18:34 +0200 fs r271141 : #i100944#
2009-04-22 09:12:26 +0200 oj r271071 : #i101261# little code change
2009-04-22 09:11:43 +0200 oj r271070 : #i101261# only ask for parameters which aren't set before
2009-04-22 09:11:25 +0200 oj r271069 : #i101261# new grabage container for nodes
2009-04-22 09:11:02 +0200 oj r271068 : #i101261# new grabage container for nodes
2009-04-22 09:10:44 +0200 oj r271067 : #i101261# new grabage container for nodes
2009-04-22 09:10:21 +0200 oj r271066 : #i101261# only ask for parameters which aren't set before
2009-04-22 09:08:24 +0200 oj r271065 : #i101261# only ask for parameters which aren't set before
2009-04-22 09:07:25 +0200 oj r271064 : #i101261# only ask for parameters which aren't set before
2009-04-22 08:49:07 +0200 oj r271062 : #i77501# preview only when needed
2009-04-22 08:45:44 +0200 oj r271061 : #i101261# new prop max rows
2009-04-22 08:44:18 +0200 oj r271060 : #i101261# create dataprovider earlier to avoid the wrong legend in chart
2009-04-22 08:42:48 +0200 oj r271059 : #i101261# handle parameter
2009-04-17 21:00:23 +0200 fs r270954 : #i98350#
2009-04-17 13:54:19 +0200 fs r270942 : #i99565#
2009-04-17 13:51:34 +0200 fs r270940 : #i101153# only localize the (potentially) localizable properties when there really is support at the control model
2009-04-17 11:43:14 +0200 fs r270932 : removed superfluous include
2009-04-17 10:10:15 +0200 fs r270926 : #i10000#
2009-04-17 10:02:36 +0200 fs r270925 : #i10000#
2009-04-17 09:15:13 +0200 fs r270918 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
2009-04-17 09:14:56 +0200 fs r270917 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
2009-04-17 09:13:25 +0200 fs r270915 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
2009-04-17 08:30:34 +0200 fs r270914 : removed unotools/servicehelper.hxx in favour of the (duplicated) comphelper/servicehelper.hxx
2009-04-16 21:05:25 +0200 fs r270903 : #i10000#
2009-04-16 20:43:43 +0200 fs r270902 : #i99056# shape notification outsourced to the SdrObject, this is what all other shape implementations (which only aggregate an SvxShape) have access to, too
2009-04-16 15:57:36 +0200 fs r270891 : #i99056# make SetUnoControlModel virtual
2009-04-16 15:44:02 +0200 fs r270890 : #i99056# let the ScShapeObj notify changes in its Anchor property
2009-04-16 15:36:47 +0200 fs r270889 : #i99056# enable the sheet anchor type property, too
2009-04-16 15:33:45 +0200 fs r270887 : #i99056# shape notification outsourced to the SdrObject, this is what all other shape implementations (which only aggregate an SvxShape) have access to, too
2009-04-15 14:53:13 +0200 fs r270844 : #i10000#
2009-04-15 13:08:29 +0200 fs r270836 : #i10000#
2009-04-15 12:28:14 +0200 fs r270832 : #i10000#
2009-04-15 10:59:14 +0200 fs r270827 : #i10000#
2009-04-15 09:41:08 +0200 oj r270823 : fix issues found with findbugs and pmd
2009-04-14 21:08:04 +0200 fs r270808 : #i99056# implement SheetAnchorType - now the only thing missing to enable it is the proper notification when it is modified
2009-04-14 17:09:00 +0200 fs r270799 : #i99056# implement XServiceInfo for the ScShapeObj
2009-04-14 17:07:55 +0200 fs r270798 : #i99056# implement TextAnchorType, partially implement SheetAnchorType
2009-04-14 15:54:05 +0200 fs r270786 : #i99056# SwXShape: notify changes of the AnchorType property
2009-04-14 15:47:32 +0200 fs r270785 : #i99056# deliver shapepropertynotifier.hxx
2009-04-14 15:46:54 +0200 fs r270784 : diagnostics
2009-04-14 15:08:28 +0200 fs r270781 : #i99056# outsourced the SvxShape's property change notification code into a dedicated class
2009-04-14 14:41:09 +0200 fs r270773 : #i99056# outsourced the SvxShape's property change notification code into a dedicated class
2009-04-14 14:37:23 +0200 fs r270772 : in dtor, remove the properties from the temporary component context
2009-04-14 14:36:34 +0200 fs r270771 : getWeakUnoShape made const
2009-04-14 12:23:08 +0200 oj r270757 : #i101064# add missing braces
2009-04-14 12:21:25 +0200 oj r270756 : #i101065# add braces for gcc 4.3.2
2009-04-14 12:17:45 +0200 oj r270755 : #i101059# add dep for manifest
2009-04-09 12:06:58 +0200 oj r270686 : #i93100# use OptimalSize from control to get height
2009-04-08 09:56:55 +0200 oj r270619 : #i92537# handle calculations in the select columns as well
2009-04-08 09:30:39 +0200 oj r270615 : #i96657# throw error message when the key doesn't have any columns
2009-04-07 12:08:26 +0200 oj r270592 : #i77501# impl preview of the executed report
2009-04-07 12:01:56 +0200 oj r270591 : #i77501# impl preview of the executed report
2009-04-07 11:41:03 +0200 oj r270590 : #i77501# impl preview of the executed report
2009-04-07 11:39:32 +0200 oj r270589 : #i77501# impl preview of the executed report
2009-04-07 11:29:25 +0200 oj r270588 : #i77501# convert dos to unix lineends
2009-04-07 11:28:23 +0200 oj r270587 : #i77501# impl preview of the executed report
2009-04-07 11:16:50 +0200 oj r270586 : #i77501# impl preview of the executed report
2009-04-07 11:16:00 +0200 oj r270585 : #i77501# impl preview of the executed report
2009-04-07 11:15:44 +0200 oj r270584 : #i77501# impl preview of the executed report
2009-04-07 11:15:28 +0200 oj r270583 : #i77501# impl preview of the executed report
2009-04-07 11:15:04 +0200 oj r270582 : #i77501# impl preview of the executed report
2009-04-06 15:38:54 +0200 fs r270559 : merge changes from CWS dba32a herein
2009-04-03 15:56:16 +0200 fs r270494 : ImpSvMEdit::Resize: do multiple iterations, if necessary
2009-04-03 14:35:49 +0200 fs r270487 : #i10000#
2009-04-03 13:17:16 +0200 fs r270476 : #i99056# display geometry information for controls, too
2009-04-03 13:16:37 +0200 fs r270475 : #i99056# better ordering of the geometry properties
2009-04-03 13:16:07 +0200 fs r270473 : #i99056# now that SvxShape supports property change listeners, forward add/remove requests to it
2009-04-03 13:13:18 +0200 fs r270472 : #i99056# at SvxShape, allow for PropertyChangeListeners for Size/Position
2009-04-03 09:29:27 +0200 oj r270456 : #i94571# use correct prop name
2009-04-03 09:14:54 +0200 fs r270451 : merge changes from CWS dba32a herein
2009-04-02 17:00:51 +0200 fs r270424 : better diagnostics
2009-04-02 16:35:19 +0200 fs r270421 : diagnostics
2009-04-02 16:34:50 +0200 fs r270420 : #i99056# mxUnoShape not accessible anymore, use impl_setUnoShape instead
2009-04-02 16:32:48 +0200 fs r270419 : #i99056# make getUnoShape cheaper: keep the pointer to the SvxShape all the time, so there's no need to ask for it in getUnoShape. As a consequence, we will later be able to use the pointer in scenarious where performance (potentially) matters
2009-04-02 16:31:13 +0200 fs r270417 : merge changes from CWS dba32a herein
2009-04-02 16:23:16 +0200 fs r270414 : merge changes from CWS dba32a herein
2009-04-02 14:10:35 +0200 fs r270405 : #i10000#
2009-04-02 14:06:26 +0200 fs r270404 : merge changes from CWS dba32a herein
2009-04-02 14:03:03 +0200 fs r270401 : #i10000#
2009-04-02 13:58:13 +0200 fs r270400 : #i10000#
2009-04-02 12:59:44 +0200 fs r270397 : merge changes from CWS dba32a herein
2009-04-02 12:46:30 +0200 fs r270396 : #i99056# let the form page maintain a mapping between control models and control shapes
2009-04-02 12:44:07 +0200 fs r270395 : merge changes from CWS dba32a herein
2009-04-02 12:42:06 +0200 fs r270394 : merge changes from CWS dba32a herein
2009-04-02 12:35:20 +0200 fs r270393 : #i10000# precompiled header
2009-04-02 12:05:31 +0200 fs r270392 : merge changes from CWS dba32a herein
2009-04-02 12:00:42 +0200 fs r270391 : merge changes from CWS dba32a herein
2009-04-02 11:47:26 +0200 fs r270390 : merge changes from CWS dba32a herein
2009-04-02 11:39:15 +0200 oj r270389 : #i94467# foxpro impl several new types
2009-04-02 11:35:58 +0200 fs r270387 : merge changes from CWS dba32a herein
2009-04-01 14:10:51 +0200 fs r270329 : merge changes from CWS dba32a herein
2009-03-31 17:29:50 +0200 fs r270290 : merge changes from CWS dba32a herein
2009-03-30 14:53:56 +0200 fs r270233 : #i100417# don't set grid column widths to 0, but to <void/>
2009-03-30 12:31:03 +0200 oj r270213 : #i100552# wrong orb used
2009-03-30 12:19:20 +0200 oj r270212 : #i98303# convertlike corrected to sal_Unicode
2009-03-30 11:58:25 +0200 fs r270210 : merge changes from CWS dba32a herein
2009-03-30 11:38:16 +0200 oj r270205 : remove duplicate code from merge
2009-03-30 11:02:27 +0200 fs r270202 : merge changes from CWS dba32a herein
2009-03-30 11:02:19 +0200 fs r270201 : merge changes from CWS dba32a herein
2009-03-30 10:31:26 +0200 oj r270200 : #i100665# only throw exception and do not drop table
2009-03-30 09:36:24 +0200 fs r270195 : assertion text
2009-03-28 20:21:58 +0100 fs r270187 : #ii10000#
2009-03-28 20:19:54 +0100 fs r270186 : removed unused help ids
2009-03-28 20:19:40 +0100 fs r270185 : removed unused help ids
2009-03-28 20:19:10 +0100 fs r270184 : #i100237# +DefaultState/XReset
2009-03-28 00:29:29 +0100 fs r270177 : CWS-TOOLING: rebase CWS dba32b to trunk@270033 (milestone: DEV300:m45)
2009-03-27 22:56:46 +0100 fs r270173 : #i100237# DEFAULT_CHECKED -> DEFAULT_STATE
2009-03-27 22:55:52 +0100 fs r270172 : #i100237# DefaultState property for buttons, enabled only when Toggle=Yes
2009-03-27 22:54:15 +0100 fs r270171 : #i100237# DEFAULT_CHECKED -> DEFAULT_STATE
2009-03-27 22:53:54 +0100 fs r270170 : #i100237# introduce a DefaultState property for buttons, which implies buttongs supporting XReset, which needed some refactoring
2009-03-27 13:31:41 +0100 fs r270152 : ignore output paths
2009-03-27 11:23:44 +0100 fs r270139 : tuned behavior with respect to invalid keys/values
2009-03-27 09:57:14 +0100 fs r270136 : don't allow Double.NaN
2009-03-27 09:56:16 +0100 fs r270135 : talk about Double.NaN
2009-03-26 12:14:30 +0100 fs r270067 : removed unused parameter
2009-03-26 12:14:02 +0100 fs r270066 : removed widening conversion when checking keys
2009-03-26 09:17:34 +0100 fs r270053 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
2009-03-26 09:17:11 +0100 fs r270052 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
2009-03-26 09:16:49 +0100 fs r270051 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
2009-03-25 21:55:20 +0100 fs r270044 : #i100541# properly calculat bNeedScrollBox
2009-03-25 12:56:17 +0100 fs r270019 : renamed the previously introduced error condition
2009-03-25 12:11:48 +0100 fs r270015 : #i100095# when the error messages contain non-trivial details (SQLState/ErrorCode), then always display the 'Details' button
2009-03-25 12:10:05 +0100 fs r270012 : renamed the previously introduced error condition
2009-03-25 12:01:04 +0100 fs r270011 : #i100095# when no address book (or respective profile) can be found, then use a dedicated ErrorCondition
2009-03-25 10:29:07 +0100 fs r270003 : add missing localization
2009-03-25 10:23:12 +0100 fs r270001 : in preparation of #i1000095#:
rework the error handling, allow using css.sdb.ErrorCondition values, plus
allow propagating the nsresult
2009-03-25 10:21:55 +0100 fs r270000 : in preparation of #i1000095#:
rework the error handling, allow using css.sdb.ErrorCondition values, plus
allow propagating the nsresult
2009-03-20 23:05:38 +0100 fs r269829 : XMap::getSize removed
2009-03-20 23:05:19 +0100 fs r269828 : changes as suggested by sb
2009-03-20 23:04:56 +0100 fs r269827 : enhanced documentation
2009-03-20 15:31:40 +0100 fs r269815 : changes as suggested by sb
2009-03-20 13:23:52 +0100 oj r269804 : #i92538# correct the zorder that fixedtext is infront of control
2009-03-20 12:59:38 +0100 oj r269801 : #i94571# paraadjust now supports BLOCK
2009-03-20 12:58:11 +0100 oj r269800 : #i94571# export style with data style
2009-03-20 12:57:05 +0100 oj r269799 : #i94571# text align is now paraadjust
2009-03-20 12:37:02 +0100 fs r269797 : enum keys only accepted if they have the exact type, not if they have *any* enum type
2009-03-20 12:28:31 +0100 fs r269794 : some changes requested by sb
2009-03-20 08:52:47 +0100 fs r269780 : doc
2009-03-20 07:37:31 +0100 oj r269779 : #i99913# only notifiy when values are different
2009-03-20 07:36:58 +0100 oj r269778 : #i99913# add undoenv as listener at the dataprovider
2009-03-19 22:52:52 +0100 fs r269771 : added comment
2009-03-19 22:40:06 +0100 fs r269770 : +testEnumeration
2009-03-19 22:39:41 +0100 fs r269769 : implemented enumeration, getKeySet, and getValues. Should be finished now.
2009-03-19 14:01:01 +0100 oj r269743 : #i99913# reset the modified state when selecting an object
2009-03-19 12:19:54 +0100 lla r269739 : #i72390# cleanups
2009-03-19 09:25:27 +0100 fs r269727 : #i10000#
2009-03-18 23:37:02 +0100 fs r269708 : extended checks for value type acceptance
2009-03-18 23:36:41 +0100 fs r269707 : fixed value type checks
2009-03-18 14:59:56 +0100 fs r269678 : initial complex test case for the new css.container.Map implementation
2009-03-18 14:59:24 +0100 fs r269677 : verifyExpectedException moved to base class (in complexlib), and renamed to assureException for consistency
2009-03-18 14:58:35 +0100 fs r269676 : removed unused imports
2009-03-18 14:58:03 +0100 fs r269675 : first implementation of the new css.container.Map service (not completed, yet)
2009-03-18 14:57:17 +0100 fs r269674 : base class for UNO components, freeing you from some repeating work
2009-03-18 14:55:53 +0100 fs r269672 : +assureException: call a given method with given parameters on a given object, ensure that a given exception is thrown by the method implementation
2009-03-18 14:54:58 +0100 fs r269671 : +getComponentContext
2009-03-18 14:54:00 +0100 fs r269670 : isEmpty returns a boolean, not a long
2009-03-18 14:14:43 +0100 oj r269663 : #i99743# now text also supports null
2009-03-18 13:54:14 +0100 oj r269660 : #i99223# remove check for 2 params
2009-03-18 13:33:35 +0100 oj r269659 : #i99060# replace text::ParagraphVertAlign with style::VerticalAlignment
2009-03-18 13:32:18 +0100 oj r269658 : #i99060# don't set void property when void isn't allowed
2009-03-18 13:31:11 +0100 oj r269657 : #i99060# handle vertical alignment
2009-03-18 13:28:28 +0100 oj r269656 : #i99060# remove unused elements from sytle
2009-03-18 09:35:42 +0100 lla r269639 : #i72390# cleanups
2009-03-18 09:31:20 +0100 lla r269638 : #i72390# add ButtonList
2009-03-18 09:30:46 +0100 lla r269637 : #i72390# renamed interface
2009-03-18 09:30:15 +0100 lla r269636 : #i72390# use ButtonList instead of ImageList
2009-03-18 09:29:05 +0100 lla r269635 : #i72390# new ButtonList, cleanups
2009-03-18 09:26:34 +0100 lla r269634 : #i72390# cleanups
2009-03-17 12:21:20 +0100 oj r269590 : #i99222# remove assertion
2009-03-17 12:17:22 +0100 oj r269589 : #i98605# impl scale mode
2009-03-17 12:10:42 +0100 oj r269588 : #i98605# impl scale mode
2009-03-17 11:40:15 +0100 oj r269584 : #i96944# doesn't create equation for shapes
2009-03-17 11:33:16 +0100 oj r269583 : #i96423# switch calc from float to long
2009-03-16 15:19:18 +0100 fs r269550 : #i41930# enable zoom for embedded/outplace documents
2009-03-16 14:25:54 +0100 oj r269542 : #i93734# remove ContextSensitive
2009-03-16 14:21:58 +0100 oj r269541 : #i99274# page header before group header
2009-03-16 14:18:23 +0100 oj r269539 : #i99110# fix value type
2009-03-16 14:14:16 +0100 fs r269537 : line ends
2009-03-16 14:11:06 +0100 fs r269535 : line ends
2009-03-16 14:08:34 +0100 fs r269534 : #i100087# (provided my np): allow for polymorphic types with more than one parameter
2009-03-16 12:30:31 +0100 oj r269521 : compile error
2009-03-16 12:19:12 +0100 oj r269519 : compile error
2009-03-16 10:39:28 +0100 oj r269511 : compile error under linux with swap
2009-03-13 10:33:04 +0100 oj r269462 : CWS-TOOLING: rebase CWS dba32b to trunk@269297 (milestone: DEV300:m43)
2009-03-12 14:37:25 +0100 fs r269416 : interface SequenceOutputStreamTest is unneeded, and pollutes the namespace here :)
2009-03-12 14:35:07 +0100 fs r269414 : not needed
2009-03-12 14:34:15 +0100 fs r269413 : preparation for multiple tests in this module
2009-03-12 14:33:02 +0100 fs r269412 : ShowTargets was moved from module integration.forms to module complexlib
2009-03-12 14:32:48 +0100 fs r269411 : helper class for projects containing multiple complex test cases (and following a certain structure)
2009-03-12 14:00:14 +0100 fs r269407 : proper module after the move
2009-03-12 13:59:10 +0100 fs r269406 : superseded by ../makefile.mk
2009-03-12 13:47:38 +0100 fs r269403 : not needed anymore
2009-03-12 13:45:46 +0100 fs r269402 : moved, in preparation of adding more test cases here, with a common infrastructure
2009-03-12 13:45:07 +0100 fs r269401 : moved from ../
2009-03-12 13:43:59 +0100 fs r269400 : moved to ./comphelper, in preparation of adding more test cases here, with a common infrastructure
2009-03-12 13:29:47 +0100 oj r269396 : #i99914# set parent on dataprovider
2009-03-12 13:10:35 +0100 oj r269393 : #i99832# check thrown exception and show error
2009-03-12 13:08:10 +0100 fs r269392 : reorganizing tests
2009-03-12 12:52:55 +0100 oj r269390 : #i99118# convert formatkey in numberformat
2009-03-12 12:34:53 +0100 fs r269388 : new API tests
2009-03-12 12:29:05 +0100 fs r269386 : Map not yet committed
2009-03-12 12:28:36 +0100 fs r269385 : oops, forgot the SequenceInputStream during the previous refactoring
2009-03-12 12:12:39 +0100 oj r269384 : #i99104# set HasCategories prop
2009-03-12 12:12:08 +0100 oj r269383 : #i99104# check HasCategories even for internal dataprovider
2009-03-12 12:10:40 +0100 oj r269382 : #i99104# set HasCategories prop
2009-03-12 10:51:49 +0100 fs r269373 : #i10000# exception specifications
2009-03-12 10:49:18 +0100 fs r269372 : #i10000# exception specifications
2009-03-12 10:44:02 +0100 fs r269371 : #i10000# exception specifications
2009-03-12 10:30:55 +0100 fs r269368 : refactored the UNO service registration in this module, using the helper classes provided by comphelper itself, so you have less effort when extending the list of to-be-registered components
2009-03-12 10:30:37 +0100 fs r269367 : module-local includes
2009-03-12 07:05:54 +0100 oj r269357 : #i99104# database dataprovider doesn't need dataranges and diagramdata
2009-03-11 10:58:28 +0100 oj r269306 : #i99911# check if name of the report is a valid file name
2009-03-11 10:03:23 +0100 oj r269299 : #i99666# the report is new when the HierarchicalDocumentName is empty
2009-03-10 11:32:45 +0100 oj r269258 : #i99221# use fallback for language
2009-03-10 10:48:40 +0100 oj r269255 : #i99433# now use OStringBuffer
2009-03-10 10:36:21 +0100 fs r269252 : initial version of (X)Map
2009-03-10 09:52:23 +0100 oj r269246 : #i99433# now use OStringBuffer
2009-03-10 08:56:13 +0100 oj r269240 : #i99655# patch applied
2009-03-09 07:35:33 +0100 lla r269058 : #i10000# wrong variable assignment fixed
2009-03-06 17:20:40 +0100 fs r269030 : some explicit defaults
2009-03-06 17:20:30 +0100 fs r269029 : #i98600#
2009-03-06 14:40:34 +0100 fs r269009 : #i87692# during reload, prevent the document being modified just because of some control content changes ...
2009-03-06 12:52:20 +0100 lla r268997 : #i10000# ambigous problem with FontWeight fixed
2009-03-06 11:39:32 +0100 fs r268989 : #i10000# (approved by pl): use --without-t1-library configure option
2009-03-06 10:55:43 +0100 fs r268986 : #i99953# depends on xmlscript module now
2009-03-06 10:54:04 +0100 fs r268985 : #i99953# also adjust the event names found in dialogs embedded in the forms
2009-03-06 09:53:41 +0100 fs r268977 : #i10000#
2009-03-06 09:30:41 +0100 lla r268973 : #i10000# merge problems
2009-03-05 17:52:34 +0100 fs r268932 : #i98593# for sub components which are actually controlled by a DocumentDefinition (aka XComponentSupplier aka XCommandProcessor), close them by executing the 'close' command, not by suspending/closing the controller (which cannot be intercepted)
2009-03-05 11:41:56 +0100 fs r268889 : default the drop down line count for list/combo boxes to 20
2009-03-05 11:39:10 +0100 fs r268887 : do not display empty error messages
2009-03-02 10:13:57 +0100 lla r268639 : #i91541# CWS rebase m41 to m42
2009-03-02 09:06:27 +0100 lla r268635 : #i10000# add ';' to strings
2009-02-26 11:18:00 +0100 fs r268492 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN
2009-02-26 10:11:38 +0100 lla r268489 : CWS-TOOLING: rebase CWS dba32b to trunk@268395 (milestone: DEV300:m42)
2009-02-26 09:04:11 +0100 lla r268488 : CWS-TOOLING: rebase CWS dba32b to trunk@268395 (milestone: DEV300:m42)
2009-02-24 12:09:13 +0100 lla r268392 : #i91541# #i91542# cleanups
2009-02-24 08:08:06 +0100 lla r268382 : merge all dba32a changes into dba32b
2009-02-24 07:14:55 +0100 lla r268381 : merge all dba32a changes into dba32b
2009-02-23 21:44:28 +0100 fs r268377 : oops ... don't tamper with m_aListSourceValues at the end of loadData
2009-02-23 20:57:05 +0100 fs r268376 : #i98162# don't hold the values as strings, but as ORowSetValue, this way preserving their type, and being agnostic to different result/rowset implementations doing different to-string-conversations
2009-02-23 20:55:44 +0100 fs r268375 : getObject: throwFunctionNotSupportedException, instead of silently returning NULL
2009-02-23 20:55:20 +0100 fs r268374 : #i98162# some more supported types
2009-02-23 20:54:43 +0100 fs r268373 : #i98162# +operator !=
2009-02-20 09:35:39 +0100 fs r268306 : #i99422# for a font, display the font name, the style, and the size
2009-02-20 09:33:45 +0100 fs r268305 : #i99422# in the property browser, FONT supersedes CHARFONTNAME: the aggregated FormComponentHandler displays them more nicely now
2009-02-19 16:12:06 +0100 fs r268293 : #i99372# recognize DataType::FLOAT as numeric
2009-02-19 15:43:12 +0100 fs r268291 : #i99415#
2009-02-19 15:40:15 +0100 fs r268290 : #i99242# lcl_firstFocussableControl: take disabled controls into account
2009-02-19 15:34:36 +0100 fs r268289 : #i99396# properly decode the base name of the URL when using it as title
2009-02-19 15:19:05 +0100 fs r268287 : #i98247#
2009-06-05 09:47:55 +00:00
|
|
|
ImplCheckLocalize( sText );
|
2004-05-07 15:17:46 +00:00
|
|
|
xTextComponent->setText( sText );
|
2002-09-05 07:54:42 +00:00
|
|
|
bDone = sal_True;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if ( !bDone )
|
|
|
|
UnoControlBase::ImplSetPeerProperty( rPropName, rVal );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::dispose() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-05-07 15:17:46 +00:00
|
|
|
lang::EventObject aEvt( *this );
|
2000-09-18 16:07:07 +00:00
|
|
|
maTextListeners.disposeAndClear( aEvt );
|
|
|
|
UnoControl::dispose();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
UnoControl::createPeer( rxToolkit, rParentPeer );
|
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference< awt::XTextComponent > xText( getPeer(), uno::UNO_QUERY );
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( xText.is() )
|
|
|
|
{
|
2000-09-18 16:07:07 +00:00
|
|
|
xText->addTextListener( this );
|
2001-10-11 14:27:26 +00:00
|
|
|
|
|
|
|
if ( mbSetMaxTextLenInPeer )
|
|
|
|
xText->setMaxTextLen( mnMaxTextLen );
|
|
|
|
if ( mbSetTextInPeer )
|
|
|
|
xText->setText( maText );
|
2004-05-07 15:17:46 +00:00
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::textChanged(const awt::TextEvent& e) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference< awt::XTextComponent > xText( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( mbHasTextProperty )
|
2001-10-11 14:27:26 +00:00
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= xText->getText();
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_TEXT ), aAny, sal_False );
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
maText = xText->getText();
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
if ( maTextListeners.getLength() )
|
|
|
|
maTextListeners.textChanged( e );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::addTextListener(const uno::Reference< awt::XTextListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maTextListeners.addInterface( l );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::removeTextListener(const uno::Reference< awt::XTextListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maTextListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoEditControl::setText( const OUString& aText ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( mbHasTextProperty )
|
2001-10-11 14:27:26 +00:00
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= aText;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_TEXT ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
maText = aText;
|
2004-05-07 15:17:46 +00:00
|
|
|
mbSetTextInPeer = sal_True;
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTextComponent > xText( getPeer(), uno::UNO_QUERY );
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( xText.is() )
|
2001-10-11 14:27:26 +00:00
|
|
|
xText->setText( maText );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2001-08-10 11:27:24 +00:00
|
|
|
// Setting the property to the VCLXWindow doesn't call textChanged
|
|
|
|
if ( maTextListeners.getLength() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-05-07 15:17:46 +00:00
|
|
|
awt::TextEvent aEvent;
|
|
|
|
aEvent.Source = *this;
|
2001-08-10 11:27:24 +00:00
|
|
|
maTextListeners.textChanged( aEvent );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2004-05-07 15:17:46 +00:00
|
|
|
namespace
|
|
|
|
{
|
|
|
|
static void lcl_normalize( awt::Selection& _rSel )
|
|
|
|
{
|
|
|
|
if ( _rSel.Min > _rSel.Max )
|
|
|
|
::std::swap( _rSel.Min, _rSel.Max );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoEditControl::insertText( const awt::Selection& rSel, const OUString& rNewText ) throw(uno::RuntimeException)
|
2001-08-10 11:27:24 +00:00
|
|
|
{
|
2004-05-07 15:17:46 +00:00
|
|
|
// normalize the selection - OUString::replaceAt has a strange behaviour if the min is greater than the max
|
|
|
|
awt::Selection aSelection( rSel );
|
|
|
|
lcl_normalize( aSelection );
|
|
|
|
|
|
|
|
// preserve the selection resp. cursor position
|
|
|
|
awt::Selection aNewSelection( getSelection() );
|
|
|
|
#ifdef ALSO_PRESERVE_COMPLETE_SELECTION
|
|
|
|
// (not sure - looks uglier ...)
|
|
|
|
sal_Int32 nDeletedCharacters = ( aSelection.Max - aSelection.Min ) - rNewText.getLength();
|
|
|
|
if ( aNewSelection.Min > aSelection.Min )
|
|
|
|
aNewSelection.Min -= nDeletedCharacters;
|
|
|
|
if ( aNewSelection.Max > aSelection.Max )
|
|
|
|
aNewSelection.Max -= nDeletedCharacters;
|
|
|
|
#else
|
|
|
|
aNewSelection.Max = ::std::min( aNewSelection.Min, aNewSelection.Max ) + rNewText.getLength();
|
|
|
|
aNewSelection.Min = aNewSelection.Max;
|
|
|
|
#endif
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString aOldText = getText();
|
|
|
|
OUString aNewText = aOldText.replaceAt( aSelection.Min, aSelection.Max - aSelection.Min, rNewText );
|
2001-08-10 11:27:24 +00:00
|
|
|
setText( aNewText );
|
2004-05-07 15:17:46 +00:00
|
|
|
|
|
|
|
setSelection( aNewSelection );
|
2001-08-10 11:27:24 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoEditControl::getText() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString aText = maText;
|
2001-10-11 14:27:26 +00:00
|
|
|
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( mbHasTextProperty )
|
2000-09-18 16:07:07 +00:00
|
|
|
aText = ImplGetPropertyValue_UString( BASEPROPERTY_TEXT );
|
2004-05-07 15:17:46 +00:00
|
|
|
else
|
|
|
|
{
|
|
|
|
uno::Reference< awt::XTextComponent > xText( getPeer(), uno::UNO_QUERY );
|
|
|
|
if ( xText.is() )
|
|
|
|
aText = xText->getText();
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
return aText;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoEditControl::getSelectedText( void ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString sSelected;
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference< awt::XTextComponent > xText( getPeer(), uno::UNO_QUERY );
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( xText.is() )
|
|
|
|
sSelected = xText->getSelectedText();
|
|
|
|
|
|
|
|
return sSelected;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::setSelection( const awt::Selection& aSelection ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference< awt::XTextComponent > xText( getPeer(), uno::UNO_QUERY );
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( xText.is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
xText->setSelection( aSelection );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Selection UnoEditControl::getSelection( void ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Selection aSel;
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference< awt::XTextComponent > xText( getPeer(), uno::UNO_QUERY );
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( xText.is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
aSel = xText->getSelection();
|
|
|
|
return aSel;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoEditControl::isEditable( void ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return !ImplGetPropertyValue_BOOL( BASEPROPERTY_READONLY );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::setEditable( sal_Bool bEditable ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= (sal_Bool)!bEditable;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_READONLY ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Int16 UnoEditControl::getMaxTextLen() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-10-11 14:27:26 +00:00
|
|
|
sal_Int16 nMaxLen = mnMaxTextLen;
|
|
|
|
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( ImplHasProperty( BASEPROPERTY_MAXTEXTLEN ) )
|
2001-10-11 14:27:26 +00:00
|
|
|
nMaxLen = ImplGetPropertyValue_INT16( BASEPROPERTY_MAXTEXTLEN );
|
|
|
|
|
|
|
|
return nMaxLen;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::setMaxTextLen( sal_Int16 nLen ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-10-11 14:27:26 +00:00
|
|
|
if ( ImplHasProperty( BASEPROPERTY_MAXTEXTLEN) )
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= (sal_Int16)nLen;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_MAXTEXTLEN ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
mnMaxTextLen = nLen;
|
2004-05-07 15:17:46 +00:00
|
|
|
mbSetMaxTextLenInPeer = sal_True;
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTextComponent > xText( getPeer(), uno::UNO_QUERY );
|
2004-05-07 15:17:46 +00:00
|
|
|
if ( xText.is() )
|
2001-10-11 14:27:26 +00:00
|
|
|
xText->setMaxTextLen( mnMaxTextLen );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoEditControl::getMinimumSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoEditControl::getPreferredSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getPreferredSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoEditControl::calcAdjustedSize( const awt::Size& rNewSize ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_calcAdjustedSize( rNewSize );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoEditControl::getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize( nCols, nLines );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoEditControl::getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
Impl_getColumnsAndLines( nCols, nLines );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoEditControl::getImplementationName( ) throw(uno::RuntimeException)
|
2012-07-18 08:20:02 +02:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString( "stardiv.Toolkit.UnoEditControl" );
|
2012-07-18 08:20:02 +02:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString > UnoEditControl::getSupportedServiceNames() throw(uno::RuntimeException)
|
2012-07-18 08:20:02 +02:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString > aNames = UnoControlBase::getSupportedServiceNames( );
|
2012-07-18 08:20:02 +02:00
|
|
|
aNames.realloc( aNames.getLength() + 1 );
|
2013-02-22 14:12:26 +05:30
|
|
|
aNames[ aNames.getLength() - 1 ] = OUString::createFromAscii( szServiceName2_UnoControlEdit );
|
2012-07-18 08:20:02 +02:00
|
|
|
return aNames;
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlFileControlModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlFileControlModel::UnoControlFileControlModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2009-10-23 12:10:07 +02:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_ALIGN );
|
2000-09-18 16:07:07 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_BACKGROUNDCOLOR );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_BORDER );
|
2004-07-05 14:57:14 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_BORDERCOLOR );
|
2000-09-18 16:07:07 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_DEFAULTCONTROL );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_ENABLED );
|
CWS-TOOLING: integrate CWS dba32c
2009-06-29 20:53:25 +0200 fs r273484 : #i103138# Rectangle conversion
2009-06-29 20:51:50 +0200 fs r273483 : #i103138# yet more refactoring, now also setting the proper zoom level at the proper point in time
2009-06-29 13:40:26 +0200 fs r273470 : added svn:ignore to ignore output paths
2009-06-29 10:08:54 +0200 fs r273455 : #i103138#
refactored the code for positioning/zooming the control
Basically, we now allow adjustControlGeometry_throw (formerly known as positionControl_throw and setControlZoom) to
take an additional ViewTransformation parameter, describing the transformation to obtain the actual
control position/size. Consequently, positionControl itself also allows for a ViewTransformation parameter.
This has become necessary since during painting, the device which we created our control for might not necessarily
have a proper MapMode set. In this case, if we would use this map mode for calculating the control's position/size,
this would lead to wrong results.
Note that this problem was introduced by the fix for #i101398#: During the fix, we postponed the control creation
to a later time (when it is really needed). At this later time, the MapMode at the device is broken, at the earlier
time where we formerly crearted the control (createPrimitive2DSequence), it is not yet broken.
Whether or not the MapMode is defined as "broken" might depend on one's point of view, however ...
I consider it broken, since:
- we need the map mode to obtain the proper zoom level, which is to be forwarded to the control
- there are scenarios where the MapMode is *not* set to MAP_PIXEL (in those scenarios, everything works
fine), and there are scenarios where it *is* set to MAP_PIXEL (in those the bug 103138 appears).
It somehow feels wrong that one cannot rely on the device's map mode this way, but on the other hand
one has no possibility to obtain the current zoom by other means.
Note that one issue (still to be submitted) is left: In the page pane of a Draw/Impress document, controls
have a wrong text size. This is because in this pane, the above-mentioned "broken" map mode is used,
which means the controls have a zoom of "1:1" set, which is wrong here.
2009-06-25 13:41:35 +0200 msc r273380 : #100000# the tabs changed die to new properties
2009-06-24 12:42:40 +0200 msc r273330 : #102082# remove issue warning
2009-06-22 10:43:14 +0200 fs r273201 : createPrimitive2DSequence: care for being disposed
2009-06-18 12:35:13 +0200 oj r273109 : #i102305# make nooptfiles for gcc
2009-06-17 12:14:37 +0200 oj r273056 : #i102305# fix for linux
2009-06-17 07:20:22 +0200 oj r273046 : #i102305# move ValueTransfer into the for loop to avoid a crash under Linux
2009-06-17 07:17:28 +0200 oj r273045 : #i102305# use varchar
2009-06-15 14:11:27 +0200 fs r272983 : added since tag
2009-06-15 12:11:39 +0200 oj r272973 : #i102305# SAL_DLLPUBLIC_EXPORT inserted
2009-06-15 11:08:53 +0200 fs r272969 : #i10000#
2009-06-15 09:25:13 +0200 fs r272963 : merging fix for P1 issue #i102701#
2009-06-11 11:31:24 +0200 fs r272858 : #i10000# copied the fix which before the rebase was done in ../dialog/macropg.src
2009-06-11 09:38:14 +0200 fs r272846 : CWS-TOOLING: rebase CWS dba32c to trunk@272827 (milestone: DEV300:m50)
2009-06-02 09:53:10 +0200 fs r272483 : #i10000#
2009-05-29 15:55:03 +0200 fs r272465 : #i100818#
2009-05-29 12:58:43 +0200 fs r272452 : don't apply comphelper::getString on possibly VOID any
2009-05-29 10:38:35 +0200 oj r272437 : #i101519# handle where condition
2009-05-29 09:53:39 +0200 fs r272434 : #i100818# call into releaseStubs /without/ locked GlobalMutex
2009-05-28 07:53:44 +0200 oj r272375 : #i101369# parse tree changed
2009-05-27 14:53:36 +0200 fs r272347 : #i10000#
2009-05-27 09:29:15 +0200 oj r272327 : #i101626# check for double before hard cast
2009-05-27 09:13:58 +0200 oj r272326 : #i101626# handle void correctly
2009-05-27 08:04:39 +0200 oj r272321 : #i102256# wrong method signature used
2009-05-27 07:55:52 +0200 oj r272320 : #i101519# look up parameter typ if used in function
2009-05-27 06:49:07 +0200 oj r272319 : #i101519# set parameter from rowset as well
2009-05-26 13:30:56 +0200 oj r272297 : #i101987# impl XBatchExecution
2009-05-26 12:44:34 +0200 oj r272293 : #i101700# check if group is not set
2009-05-26 12:16:53 +0200 oj r272290 : #i101369# resolved some reduce7reduce problems with boolean_term and search_condition
2009-05-26 12:12:42 +0200 oj r272289 : #i101369# fix for or on one line criteria
2009-05-25 16:02:25 +0200 fs r272257 : #i999704# +PROPERTY_MOUSE_WHEEL_BEHAVIOR
2009-05-25 16:01:55 +0200 fs r272256 : merging the changes from CWS dba32b herein
2009-05-25 15:49:57 +0200 fs r272254 : #i999704#
2009-05-25 15:32:57 +0200 fs r272252 : #i99704# grid columns also to respect the MouseWheelBehavior property
2009-05-25 15:23:43 +0200 fs r272251 : don't pass empty Anys to ::comphelper::getString
2009-05-25 14:48:43 +0200 fs r272248 : merged changes from CWS dba32b herein
2009-05-25 14:44:40 +0200 fs r272247 : #i99704# support new MouseWheelBehavior property
2009-05-25 14:43:18 +0200 fs r272246 : #i99704# WheelWithoutFocus (peer property) superseded by MouseWheelBehavior (model property)
2009-05-25 14:41:03 +0200 fs r272245 : #i99704# no need to set the mouse wheel behavior at the peer, this is now a model property, having the right default
2009-05-25 14:39:31 +0200 fs r272243 : removed dead import
2009-05-25 14:35:36 +0200 fs r272242 : the new EnableVisible doesn't make sense for grid columns
2009-05-25 14:34:33 +0200 fs r272241 : #i99704# +MouseWheelBehavior - allow to enable/disable the mouse wheel for the control, or make it focus-dependent
2009-05-25 14:26:11 +0200 fs r272240 : #i99704# change MouseSettings wheel flag (NoWheelActionWithoutFocus) to a three-state option, allowing to completely ignore the mouse wheel
2009-05-23 21:35:59 +0200 fs r272213 : localize 'sub component opened/closed' event
2009-05-22 21:42:47 +0200 fs r272211 : #i102003#
2009-05-22 21:42:20 +0200 fs r272210 : grammar
2009-05-22 21:36:10 +0200 fs r272209 : #i102140# load only once, not twice, and show error messages during loading (and during any form action, that is) asynchronously
2009-05-22 21:35:11 +0200 fs r272208 : #i102140# +clear
2009-05-22 14:50:30 +0200 fs r272194 : #i102139# for newly created DB docs, set the MacroExecutionMode to USE_CONFIG
2009-05-22 12:03:42 +0200 fs r272180 : #i88878#
provided by noel.power@novell.com
implement a visibility property (EnableVisible) for toolkit controls, and usage in forms and UNO dialogs
2009-05-15 15:37:31 +0200 fs r271942 : #i100671# corrected some @since tags, so autodoc has better chances of correctly reading them
2009-05-15 15:33:11 +0200 fs r271940 : don't call comphelper::getFOO for VOID values
2009-05-15 15:08:31 +0200 fs r271937 : includes
2009-05-15 13:39:22 +0200 fs r271934 : #i101398# createPrimitive2DSequence: when we already have a control, use the old code. In particular, call positionControlForPaint
2009-05-15 12:33:48 +0200 fs r271933 : make the geometry a part of the ControlPrimitive2D's identity
2009-05-15 10:15:44 +0200 fs r271928 : #i10000#
2009-05-14 20:55:38 +0200 fs r271921 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:55:31 +0200 fs r271920 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:23:23 +0200 fs r271919 : #i101622#
2009-05-14 16:04:38 +0200 fs r271898 : don't use comphelper::getInt32 on voids
2009-05-14 16:04:12 +0200 fs r271897 : merge fix for issue whose number just slipped my memory ... (originally fixed in CWS dba32b)
2009-05-14 15:36:55 +0200 fs r271895 : merging changes from DEV300:m48
2009-05-07 14:43:19 +0200 fs r271670 : #i101477#
2009-05-07 14:37:30 +0200 fs r271668 : #i101477#
2009-05-07 09:27:30 +0200 oj r271628 : #i101343# remove pch
2009-05-06 09:36:02 +0200 fs r271568 : getFoo: diagnostics
2009-05-04 09:23:06 +0200 oj r271438 : CWS-TOOLING: rebase CWS dba32c to trunk@271427 (milestone: DEV300:m47)
2009-04-29 23:18:13 +0200 fs r271394 : #i101398# use a dedicated 2DPrimitive for UNO Controls, which is able to provide the B2DRange *without* actually creating the control
2009-04-29 13:52:25 +0200 fs r271366 : #i101308#
2009-07-03 14:21:50 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_ENABLEVISIBLE );
|
2000-09-18 16:07:07 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_FONTDESCRIPTOR );
|
2001-03-23 12:31:49 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_HELPTEXT );
|
2000-09-18 16:07:07 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_HELPURL );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_PRINTABLE );
|
2002-07-09 14:28:08 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_READONLY );
|
2000-09-18 16:07:07 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_TABSTOP );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_TEXT );
|
2009-10-23 12:10:07 +02:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_VERTICALALIGN );
|
2008-12-16 13:30:53 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_WRITING_MODE );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_CONTEXT_WRITING_MODE );
|
2004-07-05 14:57:14 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_HIDEINACTIVESELECTION );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlFileControlModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlFileControlModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlFileControlModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlFileControl );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlFileControlModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlFileControlModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoFileControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoFileControl::UnoFileControl()
|
|
|
|
:UnoEditControl()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoFileControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("filecontrol");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2004-07-05 14:57:14 +00:00
|
|
|
// ----------------------------------------------------
|
2010-06-18 15:33:54 +02:00
|
|
|
// class GraphicControlModel
|
2004-07-05 14:57:14 +00:00
|
|
|
// ----------------------------------------------------
|
2010-06-18 15:33:54 +02:00
|
|
|
uno::Any GraphicControlModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2006-10-18 12:15:32 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_GRAPHIC )
|
|
|
|
return uno::makeAny( uno::Reference< graphic::XGraphic >() );
|
|
|
|
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
Merge commit 'ooo/DEV300_m101' into intm101
The following builds for me:
basebmp, basegfx, comphelper, dtrans, i18npool, i18nutil, l10ntools, o3tl,
psprint_config, regexp, rsc, sax, sot, tools, ucbhelper, unotools, vcl
The rest still needs fixing ;-)
Conflicts:
canvas/prj/build.lst
canvas/source/cairo/cairo_textlayout.cxx
canvas/source/directx/dx_winstuff.hxx
canvas/source/tools/image.cxx
canvas/source/vcl/canvashelper.cxx
comphelper/inc/comphelper/documentconstants.hxx
comphelper/inc/comphelper/optionalvalue.hxx
comphelper/inc/comphelper/querydeep.hxx
comphelper/prj/build.lst
comphelper/qa/complex/makefile.mk
comphelper/qa/string/test_string_noadditional.cxx
comphelper/source/misc/componentmodule.cxx
comphelper/source/misc/mimeconfighelper.cxx
comphelper/source/misc/querydeep.cxx
comphelper/source/misc/uieventslogger.cxx
comphelper/source/property/TypeGeneration.cxx
comphelper/test/uno_iterators/uno_iterators.cxx
comphelper/util/makefile.mk
cppcanvas/source/mtfrenderer/implrenderer.cxx
dtrans/prj/build.lst
dtrans/source/generic/dtrans.cxx
dtrans/source/win32/dtobj/FmtFilter.cxx
i18npool/prj/build.lst
i18npool/source/localedata/data/localedata_others.map
i18npool/source/localedata/data/makefile.mk
i18npool/source/localedata/localedata.cxx
i18npool/source/localedata/saxparser.cxx
i18npool/source/registerservices/registerservices.cxx
i18npool/source/search/textsearch.cxx
l10ntools/inc/cfgmerge.hxx
l10ntools/inc/export.hxx
l10ntools/inc/gsicheck.hxx
l10ntools/inc/l10ntools/vosapp.hxx
l10ntools/inc/tagtest.hxx
l10ntools/inc/xmlparse.hxx
l10ntools/layout/layoutparse.cxx
l10ntools/layout/tralay.cxx
l10ntools/source/cfgmerge.cxx
l10ntools/source/export.cxx
l10ntools/source/export2.cxx
l10ntools/source/gsicheck.cxx
l10ntools/source/help/HelpLinker.cxx
l10ntools/source/lngex.cxx
l10ntools/source/lngmerge.cxx
l10ntools/source/merge.cxx
l10ntools/source/tagtest.cxx
l10ntools/source/xmlparse.cxx
padmin/source/fontentry.cxx
padmin/source/padialog.cxx
padmin/source/padialog.src
padmin/source/pamain.cxx
rsc/inc/rscarray.hxx
rsc/inc/rscclass.hxx
rsc/inc/rscclobj.hxx
rsc/inc/rsccont.hxx
rsc/inc/rscdb.hxx
rsc/inc/rscdef.hxx
rsc/inc/rscmgr.hxx
rsc/inc/rscrange.hxx
rsc/inc/rsctop.hxx
rsc/inc/vclrsc.hxx
rsc/source/parser/rscdb.cxx
rsc/source/parser/rscicpx.cxx
rsc/source/parser/rscinit.cxx
rsc/source/prj/start.cxx
rsc/source/res/rscarray.cxx
rsc/source/res/rscclass.cxx
rsc/source/res/rscclobj.cxx
rsc/source/res/rsccont.cxx
rsc/source/res/rscmgr.cxx
rsc/source/res/rscrange.cxx
rsc/source/res/rsctop.cxx
rsc/source/rsc/rsc.cxx
rsc/source/tools/rscdef.cxx
rsc/source/tools/rsctools.cxx
sax/source/expatwrap/sax_expat.cxx
sax/source/fastparser/facreg.cxx
sax/source/tools/fastserializer.cxx
sot/inc/sot/filelist.hxx
sot/inc/sot/object.hxx
sot/source/base/factory.cxx
sot/source/base/filelist.cxx
sot/source/sdstor/stg.cxx
sot/source/sdstor/stgcache.cxx
sot/source/sdstor/stgole.cxx
sot/source/sdstor/stgstrms.cxx
sot/source/sdstor/storage.cxx
sot/source/sdstor/ucbstorage.cxx
svl/inc/svl/cenumitm.hxx
svl/inc/svl/cintitem.hxx
svl/inc/svl/cntwall.hxx
svl/inc/svl/ctypeitm.hxx
svl/inc/svl/custritm.hxx
svl/inc/svl/dateitem.hxx
svl/inc/svl/filerec.hxx
svl/inc/svl/globalnameitem.hxx
svl/inc/svl/ilstitem.hxx
svl/inc/svl/imageitm.hxx
svl/inc/svl/intitem.hxx
svl/inc/svl/itempool.hxx
svl/inc/svl/itemset.hxx
svl/inc/svl/lckbitem.hxx
svl/inc/svl/poolitem.hxx
svl/inc/svl/ptitem.hxx
svl/inc/svl/rectitem.hxx
svl/inc/svl/sfontitm.hxx
svl/inc/svl/slstitm.hxx
svl/inc/svl/srchitem.hxx
svl/inc/svl/svarray.hxx
svl/inc/svl/svdde.hxx
svl/inc/svl/svstdarr.hxx
svl/inc/svl/szitem.hxx
svl/inc/svl/visitem.hxx
svl/inc/svl/zforlist.hxx
svl/inc/svl/zformat.hxx
svl/prj/build.lst
svl/qa/complex/ConfigItems/helper/ConfigItemTest.cxx
svl/qa/complex/ConfigItems/helper/makefile.mk
svl/qa/makefile.mk
svl/source/filepicker/pickerhelper.cxx
svl/source/filerec/filerec.cxx
svl/source/items/cenumitm.cxx
svl/source/items/cintitem.cxx
svl/source/items/cntwall.cxx
svl/source/items/ctypeitm.cxx
svl/source/items/custritm.cxx
svl/source/items/dateitem.cxx
svl/source/items/globalnameitem.cxx
svl/source/items/ilstitem.cxx
svl/source/items/imageitm.cxx
svl/source/items/intitem.cxx
svl/source/items/itempool.cxx
svl/source/items/itemprop.cxx
svl/source/items/itemset.cxx
svl/source/items/lckbitem.cxx
svl/source/items/poolio.cxx
svl/source/items/poolitem.cxx
svl/source/items/ptitem.cxx
svl/source/items/rectitem.cxx
svl/source/items/slstitm.cxx
svl/source/items/srchitem.cxx
svl/source/items/style.cxx
svl/source/items/szitem.cxx
svl/source/items/visitem.cxx
svl/source/items/whiter.cxx
svl/source/memtools/svarray.cxx
svl/source/misc/PasswordHelper.cxx
svl/source/misc/adrparse.cxx
svl/source/misc/lngmisc.cxx
svl/source/notify/brdcst.cxx
svl/source/notify/listener.cxx
svl/source/notify/listenerbase.cxx
svl/source/numbers/makefile.mk
svl/source/numbers/nbdll.cxx
svl/source/numbers/zforfind.cxx
svl/source/numbers/zforlist.cxx
svl/source/numbers/zformat.cxx
svl/source/numbers/zforscan.cxx
svl/source/passwordcontainer/passwordcontainer.cxx
svl/source/svdde/ddecli.cxx
svl/source/svdde/ddeimp.hxx
svl/source/svdde/ddemlos2.h
svl/source/svdde/ddesvr.cxx
svl/source/undo/undo.cxx
svl/source/uno/registerservices.cxx
svl/util/makefile.mk
svtools/bmpmaker/bmpsum.cxx
svtools/bmpmaker/g2g.cxx
svtools/bmpmaker/makefile.mk
svtools/inc/borderhelper.hxx
svtools/inc/svtools/accessiblefactory.hxx
svtools/inc/svtools/apearcfg.hxx
svtools/inc/svtools/brwbox.hxx
svtools/inc/svtools/ctrlbox.hxx
svtools/inc/svtools/ctrltool.hxx
svtools/inc/svtools/editbrowsebox.hxx
svtools/inc/svtools/ehdl.hxx
svtools/inc/svtools/embedhlp.hxx
svtools/inc/svtools/filter.hxx
svtools/inc/svtools/ivctrl.hxx
svtools/inc/svtools/parhtml.hxx
svtools/inc/svtools/printdlg.hxx
svtools/inc/svtools/rtftoken.h
svtools/inc/svtools/ruler.hxx
svtools/inc/svtools/svicnvw.hxx
svtools/inc/svtools/svlbitm.hxx
svtools/inc/svtools/svlbox.hxx
svtools/inc/svtools/svtreebx.hxx
svtools/inc/svtools/tabbar.hxx
svtools/inc/svtools/table/abstracttablecontrol.hxx
svtools/inc/svtools/taskbar.hxx
svtools/inc/svtools/textview.hxx
svtools/inc/svtools/valueset.hxx
svtools/source/brwbox/brwbox1.cxx
svtools/source/brwbox/brwbox2.cxx
svtools/source/brwbox/datwin.cxx
svtools/source/brwbox/datwin.hxx
svtools/source/brwbox/makefile.mk
svtools/source/config/apearcfg.cxx
svtools/source/config/htmlcfg.cxx
svtools/source/config/menuoptions.cxx
svtools/source/config/miscopt.cxx
svtools/source/contnr/cont_pch.cxx
svtools/source/contnr/ctrdll.cxx
svtools/source/contnr/fileview.cxx
svtools/source/contnr/imivctl1.cxx
svtools/source/contnr/ivctrl.cxx
svtools/source/contnr/makefile.mk
svtools/source/contnr/svcontnr.src
svtools/source/contnr/svicnvw.cxx
svtools/source/contnr/svimpbox.cxx
svtools/source/contnr/svimpicn.cxx
svtools/source/contnr/svlbitm.cxx
svtools/source/contnr/svtreebx.cxx
svtools/source/contnr/templwin.cxx
svtools/source/contnr/templwin.hxx
svtools/source/control/asynclink.cxx
svtools/source/control/ctrlbox.cxx
svtools/source/control/ctrldll.cxx
svtools/source/control/ctrltool.cxx
svtools/source/control/filectrl.cxx
svtools/source/control/filectrl.src
svtools/source/control/headbar.cxx
svtools/source/control/inettbc.cxx
svtools/source/control/makefile.mk
svtools/source/control/prgsbar.cxx
svtools/source/control/roadmap.cxx
svtools/source/control/ruler.cxx
svtools/source/control/scriptedtext.cxx
svtools/source/control/stdmenu.cxx
svtools/source/control/tabbar.cxx
svtools/source/control/taskbar.cxx
svtools/source/control/taskbox.cxx
svtools/source/control/taskmisc.cxx
svtools/source/control/taskstat.cxx
svtools/source/control/valueacc.cxx
svtools/source/control/valueset.cxx
svtools/source/dialogs/addresstemplate.cxx
svtools/source/dialogs/addresstemplate.src
svtools/source/dialogs/colrdlg.src
svtools/source/dialogs/filedlg2.cxx
svtools/source/dialogs/filedlg2.hxx
svtools/source/dialogs/makefile.mk
svtools/source/dialogs/printdlg.cxx
svtools/source/dialogs/printdlg.src
svtools/source/dialogs/propctrl.cxx
svtools/source/dialogs/propctrl.hxx
svtools/source/dialogs/property.cxx
svtools/source/edit/makefile.mk
svtools/source/edit/sychconv.cxx
svtools/source/edit/syntaxhighlight.cxx
svtools/source/edit/textdoc.cxx
svtools/source/edit/texteng.cxx
svtools/source/edit/textundo.cxx
svtools/source/edit/textview.cxx
svtools/source/filter.vcl/filter/SvFilterOptionsDialog.cxx
svtools/source/filter.vcl/filter/dlgejpg.cxx
svtools/source/filter.vcl/filter/dlgejpg.hxx
svtools/source/filter.vcl/filter/dlgejpg.src
svtools/source/filter.vcl/filter/dlgepng.cxx
svtools/source/filter.vcl/filter/dlgepng.hxx
svtools/source/filter.vcl/filter/dlgepng.src
svtools/source/filter.vcl/filter/dlgexpor.cxx
svtools/source/filter.vcl/filter/dlgexpor.hxx
svtools/source/filter.vcl/filter/dlgexpor.src
svtools/source/filter.vcl/filter/filter2.cxx
svtools/source/filter.vcl/filter/makefile.mk
svtools/source/filter.vcl/filter/sgfbram.cxx
svtools/source/filter.vcl/filter/sgvmain.cxx
svtools/source/filter.vcl/filter/sgvspln.cxx
svtools/source/filter.vcl/filter/strings.src
svtools/source/filter.vcl/jpeg/makefile.mk
svtools/source/filter.vcl/wmf/emfwr.cxx
svtools/source/filter.vcl/wmf/emfwr.hxx
svtools/source/filter.vcl/wmf/enhwmf.cxx
svtools/source/filter.vcl/wmf/winmtf.hxx
svtools/source/filter.vcl/wmf/wmfwr.cxx
svtools/source/filter.vcl/wmf/wmfwr.hxx
svtools/source/graphic/grfcache.cxx
svtools/source/graphic/grfcache.hxx
svtools/source/graphic/grfmgr.cxx
svtools/source/graphic/makefile.mk
svtools/source/inc/accessibletableimp.hxx
svtools/source/inc/svimpbox.hxx
svtools/source/java/patchjavaerror.src
svtools/source/misc/ehdl.cxx
svtools/source/misc/errtxt.src
svtools/source/misc/helpagentwindow.cxx
svtools/source/misc/imagemgr.cxx
svtools/source/misc/imagemgr.src
svtools/source/misc/imageresourceaccess.cxx
svtools/source/misc/imap.cxx
svtools/source/misc/langtab.src
svtools/source/misc/makefile.mk
svtools/source/misc/svtdata.cxx
svtools/source/misc/templatefoldercache.cxx
svtools/source/misc/transfer2.cxx
svtools/source/misc/undo.src
svtools/source/plugapp/commtest.cxx
svtools/source/plugapp/commtest.src
svtools/source/plugapp/makefile.mk
svtools/source/plugapp/testtool.src
svtools/source/productregistration/productregistration.cxx
svtools/source/svhtml/htmlkywd.cxx
svtools/source/svhtml/parhtml.cxx
svtools/source/svrtf/rtfkey2.cxx
svtools/source/svrtf/rtfkeywd.cxx
svtools/source/table/defaultinputhandler.cxx
svtools/source/table/makefile.mk
svtools/source/table/tablecontrol.cxx
svtools/source/table/tablecontrol_impl.cxx
svtools/source/table/tablecontrol_impl.hxx
svtools/source/table/tabledatawindow.cxx
svtools/source/table/tablegeometry.cxx
svtools/source/table/tablegeometry.hxx
svtools/source/toolpanel/makefile.mk
svtools/source/toolpanel/toolpaneldrawer.cxx
svtools/source/uno/addrtempuno.cxx
svtools/source/uno/miscservices.cxx
svtools/source/uno/svtxgridcontrol.cxx
svtools/source/uno/svtxgridcontrol.hxx
svtools/source/uno/toolboxcontroller.cxx
svtools/source/uno/treecontrolpeer.cxx
svtools/source/uno/unocontroltablemodel.cxx
svtools/source/uno/unocontroltablemodel.hxx
svtools/source/uno/unoimap.cxx
svtools/source/urlobj/inetimg.cxx
svtools/util/makefile.mk
svtools/workben/browser.cxx
svtools/workben/cui/makefile.mk
svtools/workben/makefile.mk
svtools/workben/stest.cxx
svtools/workben/toolpanel/makefile.mk
svtools/workben/urange.cxx
toolkit/inc/toolkit/awt/vclxdevice.hxx
toolkit/inc/toolkit/awt/vclxgraphics.hxx
toolkit/inc/toolkit/awt/vclxwindows.hxx
toolkit/inc/toolkit/controls/dialogcontrol.hxx
toolkit/inc/toolkit/helper/property.hxx
toolkit/inc/toolkit/helper/servicenames.hxx
toolkit/inc/toolkit/helper/throbberimpl.hxx
toolkit/qa/complex/toolkit/accessibility/_XAccessibleComponent.java
toolkit/source/awt/asynccallback.cxx
toolkit/source/awt/vclxgraphics.cxx
toolkit/source/awt/vclxtoolkit.cxx
toolkit/source/awt/vclxwindow.cxx
toolkit/source/awt/xsimpleanimation.cxx
toolkit/source/awt/xthrobber.cxx
toolkit/source/controls/dialogcontrol.cxx
toolkit/source/controls/grid/defaultgridcolumnmodel.cxx
toolkit/source/controls/grid/defaultgriddatamodel.cxx
toolkit/source/controls/grid/gridcontrol.cxx
toolkit/source/controls/grid/initguard.hxx
toolkit/source/controls/unocontrol.cxx
toolkit/source/controls/unocontrolcontainer.cxx
toolkit/source/controls/unocontrols.cxx
toolkit/source/helper/listenermultiplexer.cxx
toolkit/source/helper/property.cxx
toolkit/source/helper/registerservices.cxx
toolkit/source/helper/servicenames.cxx
toolkit/source/helper/throbberimpl.cxx
toolkit/source/helper/tkresmgr.cxx
tools/StaticLibrary_ooopathutils.mk
tools/bootstrp/addexes/makefile.mk
tools/bootstrp/addexes2/makefile.mk
tools/bootstrp/addexes2/mkfilt.cxx
tools/bootstrp/command.cxx
tools/bootstrp/cppdep.cxx
tools/bootstrp/iserver.cxx
tools/bootstrp/makefile.mk
tools/bootstrp/mkcreate.cxx
tools/bootstrp/prj.cxx
tools/bootstrp/rscdep.cxx
tools/bootstrp/sstring.cxx
tools/inc/bootstrp/command.hxx
tools/inc/bootstrp/mkcreate.hxx
tools/inc/bootstrp/prj.hxx
tools/inc/bootstrp/sstring.hxx
tools/inc/tools/agapi.hxx
tools/inc/tools/agitem.hxx
tools/inc/tools/chapi.hxx
tools/inc/tools/download.hxx
tools/inc/tools/eacopier.hxx
tools/inc/tools/fract.hxx
tools/inc/tools/fsys.hxx
tools/inc/tools/geninfo.hxx
tools/inc/tools/globname.hxx
tools/inc/tools/inetmime.hxx
tools/inc/tools/multisel.hxx
tools/inc/tools/poly.hxx
tools/inc/tools/postsys.h
tools/inc/tools/postwin.h
tools/inc/tools/presys.h
tools/inc/tools/prewin.h
tools/inc/tools/pstm.hxx
tools/inc/tools/ref.hxx
tools/inc/tools/simplerm.hxx
tools/inc/tools/solar.h
tools/inc/tools/table.hxx
tools/inc/tools/urlkeys.hxx
tools/inc/tools/urlobj.hxx
tools/prj/build.lst
tools/prj/d.lst
tools/qa/makefile.mk
tools/source/communi/geninfo.cxx
tools/source/debug/debug.cxx
tools/source/fsys/dirent.cxx
tools/source/fsys/tdir.cxx
tools/source/fsys/unx.cxx
tools/source/fsys/urlobj.cxx
tools/source/generic/color.cxx
tools/source/generic/config.cxx
tools/source/generic/fract.cxx
tools/source/inet/inetmime.cxx
tools/source/memtools/multisel.cxx
tools/source/memtools/table.cxx
tools/source/rc/resmgr.cxx
tools/source/ref/globname.cxx
tools/source/ref/pstm.cxx
tools/source/solar/solar.c
tools/source/stream/strmos2.cxx
tools/source/stream/strmunx.cxx
tools/source/stream/strmwnt.cxx
tools/source/string/makefile.mk
tools/source/testtoolloader/testtoolloader.cxx
tools/test/makefile.mk
tools/util/makefile.mk
tools/win/inc/dll.hxx
tools/win/inc/parser.hxx
tools/win/inc/shellex.h
tools/win/inc/shutil.h
tools/win/inc/toolsdll.hxx
tools/win/inc/winshell.hxx
tools/workben/makefile.mk
ucbhelper/source/client/proxydecider.cxx
ucbhelper/workben/ucbexplorer/ucbexplorer.hrc
unotools/inc/unotools/unotunnelhelper.hxx
unotools/source/config/fltrcfg.cxx
unotools/source/config/lingucfg.cxx
unotools/source/config/misccfg.cxx
unotools/source/config/pathoptions.cxx
unotools/source/config/searchopt.cxx
unotools/source/i18n/localedatawrapper.cxx
unotools/source/ucbhelper/localfilehelper.cxx
unotools/source/ucbhelper/ucbhelper.cxx
unotools/source/ucbhelper/xtempfile.cxx
vcl/aqua/inc/salbmp.h
vcl/aqua/inc/salgdi.h
vcl/aqua/inc/salinst.h
vcl/aqua/source/app/salinst.cxx
vcl/aqua/source/gdi/aquaprintaccessoryview.mm
vcl/aqua/source/gdi/salgdi.cxx
vcl/aqua/source/gdi/salprn.cxx
vcl/aqua/source/window/salframeview.mm
vcl/aqua/source/window/salobj.cxx
vcl/inc/vcl/bitmap.hxx
vcl/inc/vcl/brdwin.hxx
vcl/inc/vcl/button.hxx
vcl/inc/vcl/cmdevt.hxx
vcl/inc/vcl/cvtgrf.hxx
vcl/inc/vcl/dialog.hxx
vcl/inc/vcl/dockwin.hxx
vcl/inc/vcl/event.hxx
vcl/inc/vcl/fixed.hxx
vcl/inc/vcl/fldunit.hxx
vcl/inc/vcl/floatwin.hxx
vcl/inc/vcl/gdimtf.hxx
vcl/inc/vcl/glyphcache.hxx
vcl/inc/vcl/graphite_adaptors.hxx
vcl/inc/vcl/graphite_features.hxx
vcl/inc/vcl/graphite_layout.hxx
vcl/inc/vcl/ilstbox.hxx
vcl/inc/vcl/image.h
vcl/inc/vcl/imgctrl.hxx
vcl/inc/vcl/impbmpconv.hxx
vcl/inc/vcl/impprn.hxx
vcl/inc/vcl/jobset.h
vcl/inc/vcl/keycodes.hxx
vcl/inc/vcl/lstbox.hxx
vcl/inc/vcl/mapunit.hxx
vcl/inc/vcl/menu.hxx
vcl/inc/vcl/msgbox.hxx
vcl/inc/vcl/outdev.hxx
vcl/inc/vcl/prndlg.hxx
vcl/inc/vcl/salatype.hxx
vcl/inc/vcl/salbmp.hxx
vcl/inc/vcl/salgdi.hxx
vcl/inc/vcl/salinst.hxx
vcl/inc/vcl/seleng.hxx
vcl/inc/vcl/settings.hxx
vcl/inc/vcl/smartid.hxx
vcl/inc/vcl/status.hxx
vcl/inc/vcl/strhelper.hxx
vcl/inc/vcl/svapp.hxx
vcl/inc/vcl/svdata.hxx
vcl/inc/vcl/syschild.hxx
vcl/inc/vcl/sysdata.hxx
vcl/inc/vcl/taskpanelist.hxx
vcl/inc/vcl/toolbox.hxx
vcl/inc/vcl/vclevent.hxx
vcl/inc/vcl/windata.hxx
vcl/inc/vcl/window.hxx
vcl/inc/vcl/wintypes.hxx
vcl/os2/source/app/salinst.cxx
vcl/os2/source/gdi/salgdi.cxx
vcl/os2/source/window/salmenu.cxx
vcl/os2/source/window/salobj.cxx
vcl/prj/build.lst
vcl/source/app/dbggui.cxx
vcl/source/app/help.cxx
vcl/source/app/idlemgr.cxx
vcl/source/app/settings.cxx
vcl/source/app/svapp.cxx
vcl/source/app/svdata.cxx
vcl/source/app/svmain.cxx
vcl/source/app/svmainhook.cxx
vcl/source/app/unohelp.cxx
vcl/source/app/vclevent.cxx
vcl/source/control/button.cxx
vcl/source/control/combobox.cxx
vcl/source/control/edit.cxx
vcl/source/control/field.cxx
vcl/source/control/fixed.cxx
vcl/source/control/ilstbox.cxx
vcl/source/control/imgctrl.cxx
vcl/source/control/makefile.mk
vcl/source/control/tabctrl.cxx
vcl/source/gdi/bitmap.cxx
vcl/source/gdi/bitmap2.cxx
vcl/source/gdi/bitmap4.cxx
vcl/source/gdi/bmpconv.cxx
vcl/source/gdi/cvtsvm.cxx
vcl/source/gdi/font.cxx
vcl/source/gdi/gdimtf.cxx
vcl/source/gdi/image.cxx
vcl/source/gdi/impimage.cxx
vcl/source/gdi/jobset.cxx
vcl/source/gdi/makefile.mk
vcl/source/gdi/metaact.cxx
vcl/source/gdi/outdev.cxx
vcl/source/gdi/outdev3.cxx
vcl/source/gdi/outdev4.cxx
vcl/source/gdi/outdevnative.cxx
vcl/source/gdi/pdfwriter.cxx
vcl/source/gdi/pdfwriter_impl.cxx
vcl/source/gdi/print3.cxx
vcl/source/gdi/salmisc.cxx
vcl/source/glyphs/gcach_ftyp.cxx
vcl/source/glyphs/gcach_ftyp.hxx
vcl/source/glyphs/glyphcache.cxx
vcl/source/glyphs/graphite_cache.cxx
vcl/source/glyphs/graphite_layout.cxx
vcl/source/glyphs/graphite_textsrc.hxx
vcl/source/helper/canvasbitmap.cxx
vcl/source/helper/smartid.cxx
vcl/source/helper/xconnection.cxx
vcl/source/src/btntext.src
vcl/source/src/images.src
vcl/source/src/print.src
vcl/source/window/accel.cxx
vcl/source/window/accmgr.cxx
vcl/source/window/brdwin.cxx
vcl/source/window/btndlg.cxx
vcl/source/window/dlgctrl.cxx
vcl/source/window/javachild.cxx
vcl/source/window/menu.cxx
vcl/source/window/msgbox.cxx
vcl/source/window/printdlg.cxx
vcl/source/window/status.cxx
vcl/source/window/syschild.cxx
vcl/source/window/toolbox.cxx
vcl/source/window/toolbox2.cxx
vcl/source/window/window.cxx
vcl/source/window/window2.cxx
vcl/source/window/wrkwin.cxx
vcl/unx/gtk/app/gtkdata.cxx
vcl/unx/gtk/app/gtkinst.cxx
vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
vcl/unx/gtk/window/gtkframe.cxx
vcl/unx/gtk/window/gtkobject.cxx
vcl/unx/headless/svpbmp.hxx
vcl/unx/headless/svpgdi.cxx
vcl/unx/headless/svpgdi.hxx
vcl/unx/headless/svpinst.cxx
vcl/unx/headless/svpinst.hxx
vcl/unx/headless/svpprn.cxx
vcl/unx/headless/svpprn.hxx
vcl/unx/headless/svppspgraphics.cxx
vcl/unx/headless/svppspgraphics.hxx
vcl/unx/headless/svptext.cxx
vcl/unx/inc/dtint.hxx
vcl/unx/inc/plugins/gtk/gtkdata.hxx
vcl/unx/inc/pspgraphics.h
vcl/unx/inc/salbmp.h
vcl/unx/inc/saldata.hxx
vcl/unx/inc/saldisp.hxx
vcl/unx/inc/salgdi.h
vcl/unx/inc/salinst.h
vcl/unx/inc/xfont.hxx
vcl/unx/kde/kdedata.cxx
vcl/unx/kde4/KDESalGraphics.cxx
vcl/unx/source/app/keysymnames.cxx
vcl/unx/source/app/saldata.cxx
vcl/unx/source/app/saldisp.cxx
vcl/unx/source/app/salinst.cxx
vcl/unx/source/app/wmadaptor.cxx
vcl/unx/source/dtrans/X11_selection.cxx
vcl/unx/source/dtrans/X11_service.cxx
vcl/unx/source/gdi/makefile.mk
vcl/unx/source/gdi/pspgraphics.cxx
vcl/unx/source/gdi/salgdi.cxx
vcl/unx/source/gdi/salgdi3.cxx
vcl/unx/source/gdi/salprnpsp.cxx
vcl/unx/source/gdi/xfont.cxx
vcl/unx/source/gdi/xlfd_attr.cxx
vcl/unx/source/gdi/xlfd_attr.hxx
vcl/unx/source/gdi/xlfd_extd.cxx
vcl/unx/source/gdi/xlfd_extd.hxx
vcl/unx/source/gdi/xlfd_smpl.cxx
vcl/unx/source/gdi/xlfd_smpl.hxx
vcl/unx/source/printer/ppdparser.cxx
vcl/unx/source/printer/printerinfomanager.cxx
vcl/unx/source/window/salframe.cxx
vcl/unx/source/window/salmenu.cxx
vcl/unx/source/window/salobj.cxx
vcl/util/makefile2.pmk
vcl/win/inc/salbmp.h
vcl/win/inc/saldata.hxx
vcl/win/inc/salgdi.h
vcl/win/inc/salinst.h
vcl/win/source/app/saldata.cxx
vcl/win/source/app/salinst.cxx
vcl/win/source/gdi/salgdi.cxx
vcl/win/source/gdi/salgdi3.cxx
vcl/win/source/gdi/salprn.cxx
vcl/win/source/gdi/winlayout.cxx
vcl/win/source/window/salframe.cxx
vcl/win/source/window/salobj.cxx
vcl/workben/outdevgrind.cxx
vos/inc/vos/execabl.hxx
vos/inc/vos/macros.hxx
vos/inc/vos/pipe.hxx
vos/inc/vos/process.hxx
vos/inc/vos/refernce.hxx
vos/inc/vos/signal.hxx
vos/inc/vos/socket.hxx
vos/inc/vos/stream.hxx
vos/inc/vos/thread.hxx
vos/source/pipe.cxx
vos/source/process.cxx
vos/source/signal.cxx
vos/source/thread.cxx
vos/source/timer.cxx
2011-03-11 14:24:23 +01:00
|
|
|
|
2010-06-18 15:33:54 +02:00
|
|
|
void SAL_CALL GraphicControlModel::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue ) throw (::com::sun::star::uno::Exception)
|
2004-07-05 14:57:14 +00:00
|
|
|
{
|
|
|
|
UnoControlModel::setFastPropertyValue_NoBroadcast( nHandle, rValue );
|
|
|
|
|
2006-10-18 12:15:32 +00:00
|
|
|
// - ImageAlign and ImagePosition need to correspond to each other
|
|
|
|
// - Graphic and ImageURL need to correspond to each other
|
2004-07-05 14:57:14 +00:00
|
|
|
try
|
|
|
|
{
|
|
|
|
switch ( nHandle )
|
|
|
|
{
|
2006-10-18 12:15:32 +00:00
|
|
|
case BASEPROPERTY_IMAGEURL:
|
|
|
|
if ( !mbAdjustingGraphic && ImplHasProperty( BASEPROPERTY_GRAPHIC ) )
|
|
|
|
{
|
|
|
|
mbAdjustingGraphic = true;
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString sImageURL;
|
2006-10-18 12:15:32 +00:00
|
|
|
OSL_VERIFY( rValue >>= sImageURL );
|
2012-02-13 14:19:22 +00:00
|
|
|
setDependentFastPropertyValue( BASEPROPERTY_GRAPHIC, uno::makeAny( ImageHelper::getGraphicFromURL_nothrow( sImageURL ) ) );
|
2006-10-18 12:15:32 +00:00
|
|
|
mbAdjustingGraphic = false;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case BASEPROPERTY_GRAPHIC:
|
|
|
|
if ( !mbAdjustingGraphic && ImplHasProperty( BASEPROPERTY_IMAGEURL ) )
|
|
|
|
{
|
|
|
|
mbAdjustingGraphic = true;
|
2013-02-22 14:12:26 +05:30
|
|
|
setDependentFastPropertyValue( BASEPROPERTY_IMAGEURL, uno::makeAny( OUString() ) );
|
2006-10-18 12:15:32 +00:00
|
|
|
mbAdjustingGraphic = false;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2004-07-05 14:57:14 +00:00
|
|
|
case BASEPROPERTY_IMAGEALIGN:
|
|
|
|
if ( !mbAdjustingImagePosition && ImplHasProperty( BASEPROPERTY_IMAGEPOSITION ) )
|
|
|
|
{
|
2006-10-18 12:15:32 +00:00
|
|
|
mbAdjustingImagePosition = true;
|
2004-07-05 14:57:14 +00:00
|
|
|
sal_Int16 nUNOValue = 0;
|
|
|
|
OSL_VERIFY( rValue >>= nUNOValue );
|
2010-09-16 14:25:54 +02:00
|
|
|
setDependentFastPropertyValue( BASEPROPERTY_IMAGEPOSITION, uno::makeAny( getExtendedImagePosition( nUNOValue ) ) );
|
2006-10-18 12:15:32 +00:00
|
|
|
mbAdjustingImagePosition = false;
|
2004-07-05 14:57:14 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case BASEPROPERTY_IMAGEPOSITION:
|
|
|
|
if ( !mbAdjustingImagePosition && ImplHasProperty( BASEPROPERTY_IMAGEALIGN ) )
|
|
|
|
{
|
2006-10-18 12:15:32 +00:00
|
|
|
mbAdjustingImagePosition = true;
|
2004-07-05 14:57:14 +00:00
|
|
|
sal_Int16 nUNOValue = 0;
|
|
|
|
OSL_VERIFY( rValue >>= nUNOValue );
|
2010-09-16 14:25:54 +02:00
|
|
|
setDependentFastPropertyValue( BASEPROPERTY_IMAGEALIGN, uno::makeAny( getCompatibleImageAlign( translateImagePosition( nUNOValue ) ) ) );
|
2006-10-18 12:15:32 +00:00
|
|
|
mbAdjustingImagePosition = false;
|
2004-07-05 14:57:14 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch( const ::com::sun::star::uno::Exception& )
|
|
|
|
{
|
2011-03-19 14:11:09 +01:00
|
|
|
OSL_FAIL( "GraphicControlModel::setFastPropertyValue_NoBroadcast: caught an exception while aligning the ImagePosition/ImageAlign properties!" );
|
2013-07-28 15:50:56 +02:00
|
|
|
DBG_UNHANDLED_EXCEPTION();
|
2004-07-05 14:57:14 +00:00
|
|
|
mbAdjustingImagePosition = sal_False;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlButtonModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlButtonModel::UnoControlButtonModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:GraphicControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXButton );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2012-09-22 01:51:12 -05:00
|
|
|
osl_atomic_increment( &m_refCount );
|
2004-07-05 14:57:14 +00:00
|
|
|
{
|
2005-03-18 13:11:11 +00:00
|
|
|
setFastPropertyValue_NoBroadcast( BASEPROPERTY_IMAGEPOSITION, ImplGetDefaultValue( BASEPROPERTY_IMAGEPOSITION ) );
|
2004-07-05 14:57:14 +00:00
|
|
|
// this ensures that our ImagePosition is consistent with our ImageAlign property (since both
|
|
|
|
// defaults are not per se consistent), since both are coupled in setFastPropertyValue_NoBroadcast
|
|
|
|
}
|
2012-09-22 01:51:12 -05:00
|
|
|
osl_atomic_decrement( &m_refCount );
|
2001-04-04 15:06:33 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlButtonModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlButtonModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlButtonModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-07-05 14:57:14 +00:00
|
|
|
switch ( nPropId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-07-05 14:57:14 +00:00
|
|
|
case BASEPROPERTY_DEFAULTCONTROL:
|
2013-02-22 14:12:26 +05:30
|
|
|
return uno::makeAny( OUString::createFromAscii( szServiceName_UnoControlButton ) );
|
2004-07-05 14:57:14 +00:00
|
|
|
case BASEPROPERTY_TOGGLE:
|
|
|
|
return uno::makeAny( (sal_Bool)sal_False );
|
|
|
|
case BASEPROPERTY_ALIGN:
|
|
|
|
return uno::makeAny( (sal_Int16)PROPERTY_ALIGN_CENTER );
|
|
|
|
case BASEPROPERTY_FOCUSONCLICK:
|
|
|
|
return uno::makeAny( (sal_Bool)sal_True );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2010-06-18 15:33:54 +02:00
|
|
|
return GraphicControlModel::ImplGetDefaultValue( nPropId );
|
2004-07-05 14:57:14 +00:00
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlButtonModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlButtonModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoButtonControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoButtonControl::UnoButtonControl()
|
|
|
|
:UnoButtonControl_Base()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maActionListeners( *this )
|
|
|
|
,maItemListeners( *this )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 50;
|
|
|
|
maComponentInfos.nHeight = 14;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoButtonControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString aName( "pushbutton" );
|
2001-10-17 07:47:10 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_PUSHBUTTONTYPE ) );
|
2006-08-29 09:58:09 +00:00
|
|
|
sal_Int16 n = sal_Int16();
|
2001-10-17 07:47:10 +00:00
|
|
|
if ( ( aVal >>= n ) && n )
|
|
|
|
{
|
|
|
|
// Use PushButtonType later when available...
|
|
|
|
switch ( n )
|
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
case 1 /*PushButtonType::OK*/: aName= OUString("okbutton");
|
2001-10-17 07:47:10 +00:00
|
|
|
break;
|
2013-02-22 14:12:26 +05:30
|
|
|
case 2 /*PushButtonType::CANCEL*/: aName= OUString("cancelbutton");
|
2001-10-17 07:47:10 +00:00
|
|
|
break;
|
2013-02-22 14:12:26 +05:30
|
|
|
case 3 /*PushButtonType::HELP*/: aName= OUString("helpbutton");
|
2001-10-17 07:47:10 +00:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
{
|
2011-03-01 19:08:19 +01:00
|
|
|
OSL_FAIL( "Unknown Button Type!" );
|
2001-10-17 07:47:10 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return aName;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoButtonControl::dispose() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
lang::EventObject aEvt;
|
2000-09-18 16:07:07 +00:00
|
|
|
aEvt.Source = (::cppu::OWeakObject*)this;
|
|
|
|
maActionListeners.disposeAndClear( aEvt );
|
2006-08-28 13:56:47 +00:00
|
|
|
maItemListeners.disposeAndClear( aEvt );
|
2010-06-18 15:33:54 +02:00
|
|
|
UnoControlBase::dispose();
|
2003-05-22 09:52:09 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoButtonControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2010-06-18 15:33:54 +02:00
|
|
|
UnoControlBase::createPeer( rxToolkit, rParentPeer );
|
2006-08-28 13:56:47 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-07-26 11:24:37 +00:00
|
|
|
xButton->setActionCommand( maActionCommand );
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( maActionListeners.getLength() )
|
|
|
|
xButton->addActionListener( &maActionListeners );
|
2006-08-28 13:56:47 +00:00
|
|
|
|
|
|
|
uno::Reference< XToggleButton > xPushButton( getPeer(), uno::UNO_QUERY );
|
|
|
|
if ( xPushButton.is() )
|
|
|
|
xPushButton->addItemListener( this );
|
2001-04-04 15:06:33 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoButtonControl::addActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maActionListeners.addInterface( l );
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xButton->addActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoButtonControl::removeActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xButton->removeActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
maActionListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2006-08-28 13:56:47 +00:00
|
|
|
void UnoButtonControl::addItemListener(const uno::Reference< awt::XItemListener > & l) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
maItemListeners.addInterface( l );
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoButtonControl::removeItemListener(const uno::Reference< awt::XItemListener > & l) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
maItemListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoButtonControl::disposing( const lang::EventObject& Source ) throw (uno::RuntimeException)
|
|
|
|
{
|
2010-06-18 15:33:54 +02:00
|
|
|
UnoControlBase::disposing( Source );
|
2006-08-28 13:56:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoButtonControl::itemStateChanged( const awt::ItemEvent& rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
// forward to model
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= (sal_Int16)rEvent.Selected;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STATE ), aAny, sal_False );
|
|
|
|
|
|
|
|
// multiplex
|
|
|
|
ItemEvent aEvent( rEvent );
|
|
|
|
aEvent.Source = *this;
|
|
|
|
maItemListeners.itemStateChanged( aEvent );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoButtonControl::setLabel( const OUString& rLabel ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= rLabel;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_LABEL ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoButtonControl::setActionCommand( const OUString& rCommand ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maActionCommand = rCommand;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xButton->setActionCommand( rCommand );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoButtonControl::getMinimumSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoButtonControl::getPreferredSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getPreferredSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoButtonControl::calcAdjustedSize( const awt::Size& rNewSize ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_calcAdjustedSize( rNewSize );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlImageControlModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlImageControlModel::UnoControlImageControlModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:GraphicControlModel( rxContext )
|
2010-12-06 14:14:11 +01:00
|
|
|
,mbAdjustingImageScaleMode( false )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXImageControl );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlImageControlModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlImageControlModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlImageControlModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
2013-02-22 14:12:26 +05:30
|
|
|
return uno::makeAny( OUString::createFromAscii( szServiceName_UnoControlImageControl ) );
|
2006-10-18 12:15:32 +00:00
|
|
|
|
2008-12-01 12:31:27 +00:00
|
|
|
if ( nPropId == BASEPROPERTY_IMAGE_SCALE_MODE )
|
2012-12-23 18:20:18 +00:00
|
|
|
return makeAny( awt::ImageScaleMode::ANISOTROPIC );
|
2008-12-01 12:31:27 +00:00
|
|
|
|
2010-06-18 15:33:54 +02:00
|
|
|
return GraphicControlModel::ImplGetDefaultValue( nPropId );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlImageControlModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlImageControlModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
2008-12-01 12:31:27 +00:00
|
|
|
void SAL_CALL UnoControlImageControlModel::setFastPropertyValue_NoBroadcast( sal_Int32 _nHandle, const ::com::sun::star::uno::Any& _rValue ) throw (::com::sun::star::uno::Exception)
|
|
|
|
{
|
2010-06-18 15:33:54 +02:00
|
|
|
GraphicControlModel::setFastPropertyValue_NoBroadcast( _nHandle, _rValue );
|
2008-12-01 12:31:27 +00:00
|
|
|
|
|
|
|
// ScaleImage is an older (and less powerful) version of ScaleMode, but keep both in sync as far as possible
|
|
|
|
try
|
|
|
|
{
|
|
|
|
switch ( _nHandle )
|
|
|
|
{
|
|
|
|
case BASEPROPERTY_IMAGE_SCALE_MODE:
|
|
|
|
if ( !mbAdjustingImageScaleMode && ImplHasProperty( BASEPROPERTY_SCALEIMAGE ) )
|
|
|
|
{
|
|
|
|
mbAdjustingImageScaleMode = true;
|
2012-12-23 18:20:18 +00:00
|
|
|
sal_Int16 nScaleMode( awt::ImageScaleMode::ANISOTROPIC );
|
2008-12-01 12:31:27 +00:00
|
|
|
OSL_VERIFY( _rValue >>= nScaleMode );
|
2012-12-23 18:20:18 +00:00
|
|
|
setDependentFastPropertyValue( BASEPROPERTY_SCALEIMAGE, uno::makeAny( sal_Bool( nScaleMode != awt::ImageScaleMode::NONE ) ) );
|
2008-12-01 12:31:27 +00:00
|
|
|
mbAdjustingImageScaleMode = false;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case BASEPROPERTY_SCALEIMAGE:
|
|
|
|
if ( !mbAdjustingImageScaleMode && ImplHasProperty( BASEPROPERTY_IMAGE_SCALE_MODE ) )
|
|
|
|
{
|
|
|
|
mbAdjustingImageScaleMode = true;
|
|
|
|
sal_Bool bScale = sal_True;
|
|
|
|
OSL_VERIFY( _rValue >>= bScale );
|
2012-12-23 18:20:18 +00:00
|
|
|
setDependentFastPropertyValue( BASEPROPERTY_IMAGE_SCALE_MODE, uno::makeAny( bScale ? awt::ImageScaleMode::ANISOTROPIC : awt::ImageScaleMode::NONE ) );
|
2008-12-01 12:31:27 +00:00
|
|
|
mbAdjustingImageScaleMode = false;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch( const Exception& )
|
|
|
|
{
|
|
|
|
mbAdjustingImageScaleMode = false;
|
|
|
|
throw;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoImageControlControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoImageControlControl::UnoImageControlControl()
|
|
|
|
:UnoImageControlControl_Base()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maActionListeners( *this )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2012-08-10 23:47:53 +02:00
|
|
|
// TODO: Where should I look for defaults?
|
2000-09-18 16:07:07 +00:00
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 100;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoImageControlControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("fixedimage");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoImageControlControl::dispose() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
lang::EventObject aEvt;
|
2000-09-18 16:07:07 +00:00
|
|
|
aEvt.Source = (::cppu::OWeakObject*)this;
|
|
|
|
maActionListeners.disposeAndClear( aEvt );
|
|
|
|
UnoControl::dispose();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoImageControlControl::isTransparent() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoImageControlControl::getMinimumSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoImageControlControl::getPreferredSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getPreferredSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoImageControlControl::calcAdjustedSize( const awt::Size& rNewSize ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_calcAdjustedSize( rNewSize );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlRadioButtonModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlRadioButtonModel::UnoControlRadioButtonModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:GraphicControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXRadioButton );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlRadioButtonModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlRadioButtonModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlRadioButtonModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-07-05 14:57:14 +00:00
|
|
|
switch ( nPropId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-07-05 14:57:14 +00:00
|
|
|
case BASEPROPERTY_DEFAULTCONTROL:
|
2013-02-22 14:12:26 +05:30
|
|
|
return uno::makeAny( OUString::createFromAscii( szServiceName_UnoControlRadioButton ) );
|
2004-07-05 14:57:14 +00:00
|
|
|
|
|
|
|
case BASEPROPERTY_VISUALEFFECT:
|
|
|
|
return uno::makeAny( (sal_Int16)awt::VisualEffect::LOOK3D );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2004-07-05 14:57:14 +00:00
|
|
|
|
2010-06-18 15:33:54 +02:00
|
|
|
return GraphicControlModel::ImplGetDefaultValue( nPropId );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlRadioButtonModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlRadioButtonModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoRadioButtonControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoRadioButtonControl::UnoRadioButtonControl()
|
|
|
|
:UnoRadioButtonControl_Base()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maItemListeners( *this )
|
|
|
|
,maActionListeners( *this )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 12;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoRadioButtonControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("radiobutton");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoRadioButtonControl::dispose() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
lang::EventObject aEvt;
|
2000-09-18 16:07:07 +00:00
|
|
|
aEvt.Source = (::cppu::OWeakObject*)this;
|
|
|
|
maItemListeners.disposeAndClear( aEvt );
|
2010-06-18 15:33:54 +02:00
|
|
|
UnoControlBase::dispose();
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoRadioButtonControl::isTransparent() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoRadioButtonControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2010-06-18 15:33:54 +02:00
|
|
|
UnoControlBase::createPeer( rxToolkit, rParentPeer );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XRadioButton > xRadioButton( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xRadioButton->addItemListener( this );
|
2001-04-04 09:30:44 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-07-26 11:24:37 +00:00
|
|
|
xButton->setActionCommand( maActionCommand );
|
2001-04-04 09:30:44 +00:00
|
|
|
if ( maActionListeners.getLength() )
|
|
|
|
xButton->addActionListener( &maActionListeners );
|
2001-08-07 10:18:02 +00:00
|
|
|
|
|
|
|
// as default, set the "AutoToggle" to true
|
|
|
|
// (it is set to false in VCLXToolkit::ImplCreateWindow because of #87254#, but we want to
|
|
|
|
// have it enabled by default because of 85071)
|
|
|
|
uno::Reference< awt::XVclWindowPeer > xVclWindowPeer( getPeer(), uno::UNO_QUERY );
|
|
|
|
if ( xVclWindowPeer.is() )
|
|
|
|
xVclWindowPeer->setProperty( GetPropertyName( BASEPROPERTY_AUTOTOGGLE ), ::cppu::bool2any( sal_True ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoRadioButtonControl::addItemListener(const uno::Reference < awt::XItemListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maItemListeners.addInterface( l );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoRadioButtonControl::removeItemListener(const uno::Reference < awt::XItemListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maItemListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2001-04-04 09:30:44 +00:00
|
|
|
void UnoRadioButtonControl::addActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
maActionListeners.addInterface( l );
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2001-04-04 09:30:44 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-04-04 09:30:44 +00:00
|
|
|
xButton->addActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoRadioButtonControl::removeActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2001-04-04 09:30:44 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-04-04 09:30:44 +00:00
|
|
|
xButton->removeActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
maActionListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoRadioButtonControl::setLabel( const OUString& rLabel ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= rLabel;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_LABEL ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoRadioButtonControl::setActionCommand( const OUString& rCommand ) throw(uno::RuntimeException)
|
2001-04-04 09:30:44 +00:00
|
|
|
{
|
|
|
|
maActionCommand = rCommand;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-04-04 09:30:44 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-04-04 09:30:44 +00:00
|
|
|
xButton->setActionCommand( rCommand );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoRadioButtonControl::setState( sal_Bool bOn ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
sal_Int16 nState = bOn ? 1 : 0;
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= nState;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STATE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoRadioButtonControl::getState() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
sal_Int16 nState = 0;
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STATE ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= nState;
|
|
|
|
return nState ? sal_True : sal_False;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoRadioButtonControl::itemStateChanged( const awt::ItemEvent& rEvent ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= (sal_Int16)rEvent.Selected;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STATE ), aAny, sal_False );
|
|
|
|
|
2003-06-06 09:55:26 +00:00
|
|
|
// compatibility:
|
|
|
|
// in OOo 1.0.x, when the user clicked a radio button in a group of buttons, this resulted
|
|
|
|
// in _one_ itemStateChanged call for exactly the radio button which's state changed from
|
|
|
|
// "0" to "1".
|
|
|
|
// Nowadays, since the listener handling changed a lot towards 1.1 (the VCLXWindow reacts on more
|
|
|
|
// basic events from the VCL-windows, not anymore on the Link-based events like in 1.0.x), this
|
|
|
|
// isn't the case anymore: For instance, this method here gets called for the radio button
|
|
|
|
// which is being implicitily _de_selected, too. This is pretty bad for compatibility.
|
|
|
|
// Thus, we suppress all events with a new state other than "1". This is unlogical, and weird, when looking
|
|
|
|
// from a pure API perspective, but it's _compatible_ with older product versions, and this is
|
|
|
|
// all which matters here.
|
2011-03-04 00:11:02 +01:00
|
|
|
// #i14703#
|
2003-06-06 09:55:26 +00:00
|
|
|
if ( 1 == rEvent.Selected )
|
|
|
|
{
|
|
|
|
if ( maItemListeners.getLength() )
|
|
|
|
maItemListeners.itemStateChanged( rEvent );
|
|
|
|
}
|
|
|
|
// note that speaking stricly, this is wrong: When in 1.0.x, the user would have de-selected
|
|
|
|
// a radio button _without_ selecing another one, this would have caused a notification.
|
|
|
|
// With the change done here, this today won't cause a notification anymore.
|
|
|
|
//
|
|
|
|
// Fortunately, it's not possible for the user to de-select a radio button without selecting another on,
|
|
|
|
// at least not via the regular UI. It _would_ be possible via the Accessibility API, which
|
|
|
|
// counts as "user input", too. But in 1.0.x, there was no Accessibility API, so there is nothing
|
|
|
|
// to be inconsistent with.
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoRadioButtonControl::getMinimumSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoRadioButtonControl::getPreferredSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getPreferredSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoRadioButtonControl::calcAdjustedSize( const awt::Size& rNewSize ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_calcAdjustedSize( rNewSize );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlCheckBoxModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlCheckBoxModel::UnoControlCheckBoxModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:GraphicControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXCheckBox );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlCheckBoxModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlCheckBoxModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlCheckBoxModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-07-05 14:57:14 +00:00
|
|
|
switch ( nPropId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-07-05 14:57:14 +00:00
|
|
|
case BASEPROPERTY_DEFAULTCONTROL:
|
2013-02-22 14:12:26 +05:30
|
|
|
return uno::makeAny( OUString::createFromAscii( szServiceName_UnoControlCheckBox ) );
|
2004-07-05 14:57:14 +00:00
|
|
|
|
|
|
|
case BASEPROPERTY_VISUALEFFECT:
|
|
|
|
return uno::makeAny( (sal_Int16)awt::VisualEffect::LOOK3D );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2004-07-05 14:57:14 +00:00
|
|
|
|
2010-06-18 15:33:54 +02:00
|
|
|
return GraphicControlModel::ImplGetDefaultValue( nPropId );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlCheckBoxModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlCheckBoxModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoCheckBoxControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoCheckBoxControl::UnoCheckBoxControl()
|
|
|
|
:UnoCheckBoxControl_Base()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maItemListeners( *this ), maActionListeners( *this )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 12;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoCheckBoxControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("checkbox");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCheckBoxControl::dispose() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
lang::EventObject aEvt;
|
2000-09-18 16:07:07 +00:00
|
|
|
aEvt.Source = (::cppu::OWeakObject*)this;
|
|
|
|
maItemListeners.disposeAndClear( aEvt );
|
2010-06-18 15:33:54 +02:00
|
|
|
UnoControlBase::dispose();
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoCheckBoxControl::isTransparent() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCheckBoxControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2010-06-18 15:33:54 +02:00
|
|
|
UnoControlBase::createPeer( rxToolkit, rParentPeer );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XCheckBox > xCheckBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xCheckBox->addItemListener( this );
|
2001-07-26 11:24:37 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-07-26 11:24:37 +00:00
|
|
|
xButton->setActionCommand( maActionCommand );
|
|
|
|
if ( maActionListeners.getLength() )
|
|
|
|
xButton->addActionListener( &maActionListeners );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCheckBoxControl::addItemListener(const uno::Reference < awt::XItemListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maItemListeners.addInterface( l );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCheckBoxControl::removeItemListener(const uno::Reference < awt::XItemListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maItemListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2001-07-26 11:24:37 +00:00
|
|
|
void UnoCheckBoxControl::addActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
maActionListeners.addInterface( l );
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2001-07-26 11:24:37 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-07-26 11:24:37 +00:00
|
|
|
xButton->addActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoCheckBoxControl::removeActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2001-07-26 11:24:37 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-07-26 11:24:37 +00:00
|
|
|
xButton->removeActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
maActionListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoCheckBoxControl::setActionCommand( const OUString& rCommand ) throw(uno::RuntimeException)
|
2001-07-26 11:24:37 +00:00
|
|
|
{
|
|
|
|
maActionCommand = rCommand;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-07-26 11:24:37 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XButton > xButton( getPeer(), uno::UNO_QUERY );
|
2001-07-26 11:24:37 +00:00
|
|
|
xButton->setActionCommand( rCommand );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoCheckBoxControl::setLabel( const OUString& rLabel ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= rLabel;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_LABEL ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCheckBoxControl::setState( short n ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= (sal_Int16)n;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STATE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
short UnoCheckBoxControl::getState() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
short nState = 0;
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STATE ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= nState;
|
|
|
|
return nState;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCheckBoxControl::enableTriState( sal_Bool b ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= b;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_TRISTATE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCheckBoxControl::itemStateChanged( const awt::ItemEvent& rEvent ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= (sal_Int16)rEvent.Selected;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STATE ), aAny, sal_False );
|
|
|
|
|
|
|
|
if ( maItemListeners.getLength() )
|
|
|
|
maItemListeners.itemStateChanged( rEvent );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoCheckBoxControl::getMinimumSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoCheckBoxControl::getPreferredSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getPreferredSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoCheckBoxControl::calcAdjustedSize( const awt::Size& rNewSize ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_calcAdjustedSize( rNewSize );
|
|
|
|
}
|
|
|
|
|
2008-01-29 14:06:27 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlFixedHyperlinkModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlFixedHyperlinkModel::UnoControlFixedHyperlinkModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2008-01-29 14:06:27 +00:00
|
|
|
{
|
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXFixedHyperlink );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlFixedHyperlinkModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2008-01-29 14:06:27 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlFixedHyperlinkModel );
|
2008-01-29 14:06:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
uno::Any UnoControlFixedHyperlinkModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlFixedHyperlink );
|
2008-01-29 14:06:27 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
else if ( nPropId == BASEPROPERTY_BORDER )
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= (sal_Int16)0;
|
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
else if ( nPropId == BASEPROPERTY_URL )
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString();
|
2008-01-29 14:06:27 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlFixedHyperlinkModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlFixedHyperlinkModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoFixedHyperlinkControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoFixedHyperlinkControl::UnoFixedHyperlinkControl()
|
|
|
|
:UnoControlBase()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maActionListeners( *this )
|
2008-01-29 14:06:27 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 12;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoFixedHyperlinkControl::GetComponentServiceName()
|
2008-01-29 14:06:27 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("fixedhyperlink");
|
2008-01-29 14:06:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoFixedHyperlinkControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XFixedHyperlink* >(this)),
|
|
|
|
(static_cast< awt::XLayoutConstrains* >(this)) );
|
2008-01-29 14:06:27 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoControlBase::queryAggregation( rType ));
|
|
|
|
}
|
|
|
|
|
|
|
|
// lang::XTypeProvider
|
|
|
|
IMPL_XTYPEPROVIDER_START( UnoFixedHyperlinkControl )
|
|
|
|
getCppuType( ( uno::Reference< awt::XFixedHyperlink>* ) NULL ),
|
|
|
|
getCppuType( ( uno::Reference< awt::XLayoutConstrains>* ) NULL ),
|
|
|
|
UnoControlBase::getTypes()
|
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
|
|
|
sal_Bool UnoFixedHyperlinkControl::isTransparent() throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoFixedHyperlinkControl::setText( const OUString& Text ) throw(uno::RuntimeException)
|
2008-01-29 14:06:27 +00:00
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= Text;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_LABEL ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoFixedHyperlinkControl::getText() throw(uno::RuntimeException)
|
2008-01-29 14:06:27 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_UString( BASEPROPERTY_LABEL );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoFixedHyperlinkControl::setURL( const OUString& URL ) throw(::com::sun::star::uno::RuntimeException)
|
2008-01-29 14:06:27 +00:00
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= URL;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_URL ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoFixedHyperlinkControl::getURL( ) throw(::com::sun::star::uno::RuntimeException)
|
2008-01-29 14:06:27 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_UString( BASEPROPERTY_URL );
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoFixedHyperlinkControl::setAlignment( short nAlign ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= (sal_Int16)nAlign;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_ALIGN ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
|
|
|
short UnoFixedHyperlinkControl::getAlignment() throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
short nAlign = 0;
|
|
|
|
if ( mxModel.is() )
|
|
|
|
{
|
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_ALIGN ) );
|
|
|
|
aVal >>= nAlign;
|
|
|
|
}
|
|
|
|
return nAlign;
|
|
|
|
}
|
|
|
|
|
|
|
|
awt::Size UnoFixedHyperlinkControl::getMinimumSize( ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
return Impl_getMinimumSize();
|
|
|
|
}
|
|
|
|
|
|
|
|
awt::Size UnoFixedHyperlinkControl::getPreferredSize( ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
return Impl_getPreferredSize();
|
|
|
|
}
|
|
|
|
|
|
|
|
awt::Size UnoFixedHyperlinkControl::calcAdjustedSize( const awt::Size& rNewSize ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
return Impl_calcAdjustedSize( rNewSize );
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoFixedHyperlinkControl::dispose() throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
lang::EventObject aEvt;
|
|
|
|
aEvt.Source = (::cppu::OWeakObject*)this;
|
|
|
|
maActionListeners.disposeAndClear( aEvt );
|
|
|
|
UnoControlBase::dispose();
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoFixedHyperlinkControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
UnoControlBase::createPeer( rxToolkit, rParentPeer );
|
|
|
|
|
|
|
|
uno::Reference < awt::XFixedHyperlink > xFixedHyperlink( getPeer(), uno::UNO_QUERY );
|
|
|
|
if ( maActionListeners.getLength() )
|
|
|
|
xFixedHyperlink->addActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoFixedHyperlinkControl::addActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
maActionListeners.addInterface( l );
|
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
|
|
|
{
|
|
|
|
uno::Reference < awt::XFixedHyperlink > xFixedHyperlink( getPeer(), uno::UNO_QUERY );
|
|
|
|
xFixedHyperlink->addActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoFixedHyperlinkControl::removeActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
|
|
|
{
|
|
|
|
uno::Reference < awt::XFixedHyperlink > xFixedHyperlink( getPeer(), uno::UNO_QUERY );
|
|
|
|
xFixedHyperlink->removeActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
maActionListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlFixedTextModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlFixedTextModel::UnoControlFixedTextModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-12-16 13:30:53 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXFixedText );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlFixedTextModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlFixedTextModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlFixedTextModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlFixedText );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
else if ( nPropId == BASEPROPERTY_BORDER )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= (sal_Int16)0;
|
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlFixedTextModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlFixedTextModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoFixedTextControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoFixedTextControl::UnoFixedTextControl()
|
|
|
|
:UnoControlBase()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 12;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoFixedTextControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("fixedtext");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoFixedTextControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XFixedText* >(this)),
|
|
|
|
(static_cast< awt::XLayoutConstrains* >(this)) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoControlBase::queryAggregation( rType ));
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// lang::XTypeProvider
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_START( UnoFixedTextControl )
|
2001-01-24 14:00:58 +00:00
|
|
|
getCppuType( ( uno::Reference< awt::XFixedText>* ) NULL ),
|
|
|
|
getCppuType( ( uno::Reference< awt::XLayoutConstrains>* ) NULL ),
|
2000-09-18 16:07:07 +00:00
|
|
|
UnoControlBase::getTypes()
|
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoFixedTextControl::isTransparent() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoFixedTextControl::setText( const OUString& Text ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Text;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_LABEL ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoFixedTextControl::getText() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_UString( BASEPROPERTY_LABEL );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoFixedTextControl::setAlignment( short nAlign ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= (sal_Int16)nAlign;
|
2001-08-10 08:57:11 +00:00
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_ALIGN ), aAny, sal_True );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
short UnoFixedTextControl::getAlignment() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
short nAlign = 0;
|
|
|
|
if ( mxModel.is() )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_ALIGN ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= nAlign;
|
|
|
|
}
|
|
|
|
return nAlign;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoFixedTextControl::getMinimumSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoFixedTextControl::getPreferredSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getPreferredSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoFixedTextControl::calcAdjustedSize( const awt::Size& rNewSize ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_calcAdjustedSize( rNewSize );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlGroupBoxModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlGroupBoxModel::UnoControlGroupBoxModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_DEFAULTCONTROL );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_ENABLED );
|
CWS-TOOLING: integrate CWS dba32c
2009-06-29 20:53:25 +0200 fs r273484 : #i103138# Rectangle conversion
2009-06-29 20:51:50 +0200 fs r273483 : #i103138# yet more refactoring, now also setting the proper zoom level at the proper point in time
2009-06-29 13:40:26 +0200 fs r273470 : added svn:ignore to ignore output paths
2009-06-29 10:08:54 +0200 fs r273455 : #i103138#
refactored the code for positioning/zooming the control
Basically, we now allow adjustControlGeometry_throw (formerly known as positionControl_throw and setControlZoom) to
take an additional ViewTransformation parameter, describing the transformation to obtain the actual
control position/size. Consequently, positionControl itself also allows for a ViewTransformation parameter.
This has become necessary since during painting, the device which we created our control for might not necessarily
have a proper MapMode set. In this case, if we would use this map mode for calculating the control's position/size,
this would lead to wrong results.
Note that this problem was introduced by the fix for #i101398#: During the fix, we postponed the control creation
to a later time (when it is really needed). At this later time, the MapMode at the device is broken, at the earlier
time where we formerly crearted the control (createPrimitive2DSequence), it is not yet broken.
Whether or not the MapMode is defined as "broken" might depend on one's point of view, however ...
I consider it broken, since:
- we need the map mode to obtain the proper zoom level, which is to be forwarded to the control
- there are scenarios where the MapMode is *not* set to MAP_PIXEL (in those scenarios, everything works
fine), and there are scenarios where it *is* set to MAP_PIXEL (in those the bug 103138 appears).
It somehow feels wrong that one cannot rely on the device's map mode this way, but on the other hand
one has no possibility to obtain the current zoom by other means.
Note that one issue (still to be submitted) is left: In the page pane of a Draw/Impress document, controls
have a wrong text size. This is because in this pane, the above-mentioned "broken" map mode is used,
which means the controls have a zoom of "1:1" set, which is wrong here.
2009-06-25 13:41:35 +0200 msc r273380 : #100000# the tabs changed die to new properties
2009-06-24 12:42:40 +0200 msc r273330 : #102082# remove issue warning
2009-06-22 10:43:14 +0200 fs r273201 : createPrimitive2DSequence: care for being disposed
2009-06-18 12:35:13 +0200 oj r273109 : #i102305# make nooptfiles for gcc
2009-06-17 12:14:37 +0200 oj r273056 : #i102305# fix for linux
2009-06-17 07:20:22 +0200 oj r273046 : #i102305# move ValueTransfer into the for loop to avoid a crash under Linux
2009-06-17 07:17:28 +0200 oj r273045 : #i102305# use varchar
2009-06-15 14:11:27 +0200 fs r272983 : added since tag
2009-06-15 12:11:39 +0200 oj r272973 : #i102305# SAL_DLLPUBLIC_EXPORT inserted
2009-06-15 11:08:53 +0200 fs r272969 : #i10000#
2009-06-15 09:25:13 +0200 fs r272963 : merging fix for P1 issue #i102701#
2009-06-11 11:31:24 +0200 fs r272858 : #i10000# copied the fix which before the rebase was done in ../dialog/macropg.src
2009-06-11 09:38:14 +0200 fs r272846 : CWS-TOOLING: rebase CWS dba32c to trunk@272827 (milestone: DEV300:m50)
2009-06-02 09:53:10 +0200 fs r272483 : #i10000#
2009-05-29 15:55:03 +0200 fs r272465 : #i100818#
2009-05-29 12:58:43 +0200 fs r272452 : don't apply comphelper::getString on possibly VOID any
2009-05-29 10:38:35 +0200 oj r272437 : #i101519# handle where condition
2009-05-29 09:53:39 +0200 fs r272434 : #i100818# call into releaseStubs /without/ locked GlobalMutex
2009-05-28 07:53:44 +0200 oj r272375 : #i101369# parse tree changed
2009-05-27 14:53:36 +0200 fs r272347 : #i10000#
2009-05-27 09:29:15 +0200 oj r272327 : #i101626# check for double before hard cast
2009-05-27 09:13:58 +0200 oj r272326 : #i101626# handle void correctly
2009-05-27 08:04:39 +0200 oj r272321 : #i102256# wrong method signature used
2009-05-27 07:55:52 +0200 oj r272320 : #i101519# look up parameter typ if used in function
2009-05-27 06:49:07 +0200 oj r272319 : #i101519# set parameter from rowset as well
2009-05-26 13:30:56 +0200 oj r272297 : #i101987# impl XBatchExecution
2009-05-26 12:44:34 +0200 oj r272293 : #i101700# check if group is not set
2009-05-26 12:16:53 +0200 oj r272290 : #i101369# resolved some reduce7reduce problems with boolean_term and search_condition
2009-05-26 12:12:42 +0200 oj r272289 : #i101369# fix for or on one line criteria
2009-05-25 16:02:25 +0200 fs r272257 : #i999704# +PROPERTY_MOUSE_WHEEL_BEHAVIOR
2009-05-25 16:01:55 +0200 fs r272256 : merging the changes from CWS dba32b herein
2009-05-25 15:49:57 +0200 fs r272254 : #i999704#
2009-05-25 15:32:57 +0200 fs r272252 : #i99704# grid columns also to respect the MouseWheelBehavior property
2009-05-25 15:23:43 +0200 fs r272251 : don't pass empty Anys to ::comphelper::getString
2009-05-25 14:48:43 +0200 fs r272248 : merged changes from CWS dba32b herein
2009-05-25 14:44:40 +0200 fs r272247 : #i99704# support new MouseWheelBehavior property
2009-05-25 14:43:18 +0200 fs r272246 : #i99704# WheelWithoutFocus (peer property) superseded by MouseWheelBehavior (model property)
2009-05-25 14:41:03 +0200 fs r272245 : #i99704# no need to set the mouse wheel behavior at the peer, this is now a model property, having the right default
2009-05-25 14:39:31 +0200 fs r272243 : removed dead import
2009-05-25 14:35:36 +0200 fs r272242 : the new EnableVisible doesn't make sense for grid columns
2009-05-25 14:34:33 +0200 fs r272241 : #i99704# +MouseWheelBehavior - allow to enable/disable the mouse wheel for the control, or make it focus-dependent
2009-05-25 14:26:11 +0200 fs r272240 : #i99704# change MouseSettings wheel flag (NoWheelActionWithoutFocus) to a three-state option, allowing to completely ignore the mouse wheel
2009-05-23 21:35:59 +0200 fs r272213 : localize 'sub component opened/closed' event
2009-05-22 21:42:47 +0200 fs r272211 : #i102003#
2009-05-22 21:42:20 +0200 fs r272210 : grammar
2009-05-22 21:36:10 +0200 fs r272209 : #i102140# load only once, not twice, and show error messages during loading (and during any form action, that is) asynchronously
2009-05-22 21:35:11 +0200 fs r272208 : #i102140# +clear
2009-05-22 14:50:30 +0200 fs r272194 : #i102139# for newly created DB docs, set the MacroExecutionMode to USE_CONFIG
2009-05-22 12:03:42 +0200 fs r272180 : #i88878#
provided by noel.power@novell.com
implement a visibility property (EnableVisible) for toolkit controls, and usage in forms and UNO dialogs
2009-05-15 15:37:31 +0200 fs r271942 : #i100671# corrected some @since tags, so autodoc has better chances of correctly reading them
2009-05-15 15:33:11 +0200 fs r271940 : don't call comphelper::getFOO for VOID values
2009-05-15 15:08:31 +0200 fs r271937 : includes
2009-05-15 13:39:22 +0200 fs r271934 : #i101398# createPrimitive2DSequence: when we already have a control, use the old code. In particular, call positionControlForPaint
2009-05-15 12:33:48 +0200 fs r271933 : make the geometry a part of the ControlPrimitive2D's identity
2009-05-15 10:15:44 +0200 fs r271928 : #i10000#
2009-05-14 20:55:38 +0200 fs r271921 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:55:31 +0200 fs r271920 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:23:23 +0200 fs r271919 : #i101622#
2009-05-14 16:04:38 +0200 fs r271898 : don't use comphelper::getInt32 on voids
2009-05-14 16:04:12 +0200 fs r271897 : merge fix for issue whose number just slipped my memory ... (originally fixed in CWS dba32b)
2009-05-14 15:36:55 +0200 fs r271895 : merging changes from DEV300:m48
2009-05-07 14:43:19 +0200 fs r271670 : #i101477#
2009-05-07 14:37:30 +0200 fs r271668 : #i101477#
2009-05-07 09:27:30 +0200 oj r271628 : #i101343# remove pch
2009-05-06 09:36:02 +0200 fs r271568 : getFoo: diagnostics
2009-05-04 09:23:06 +0200 oj r271438 : CWS-TOOLING: rebase CWS dba32c to trunk@271427 (milestone: DEV300:m47)
2009-04-29 23:18:13 +0200 fs r271394 : #i101398# use a dedicated 2DPrimitive for UNO Controls, which is able to provide the B2DRange *without* actually creating the control
2009-04-29 13:52:25 +0200 fs r271366 : #i101308#
2009-07-03 14:21:50 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_ENABLEVISIBLE );
|
2000-09-18 16:07:07 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_FONTDESCRIPTOR );
|
2001-03-23 12:31:49 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_HELPTEXT );
|
2000-09-18 16:07:07 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_HELPURL );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_LABEL );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_PRINTABLE );
|
2008-12-16 13:30:53 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_WRITING_MODE );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_CONTEXT_WRITING_MODE );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlGroupBoxModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlGroupBoxModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlGroupBoxModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlGroupBox );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlGroupBoxModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlGroupBoxModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoGroupBoxControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoGroupBoxControl::UnoGroupBoxControl()
|
|
|
|
:UnoControlBase()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 100;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoGroupBoxControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("groupbox");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoGroupBoxControl::isTransparent() throw(uno::RuntimeException)
|
2010-10-06 10:16:39 +01:00
|
|
|
{
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
// =====================================================================================================================
|
|
|
|
// = UnoControlListBoxModel_Data
|
|
|
|
// =====================================================================================================================
|
2010-04-29 14:10:03 +02:00
|
|
|
struct ListItem
|
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString ItemText;
|
|
|
|
OUString ItemImageURL;
|
2010-04-29 15:29:46 +02:00
|
|
|
Any ItemData;
|
2010-04-29 14:10:03 +02:00
|
|
|
|
|
|
|
ListItem()
|
|
|
|
:ItemText()
|
|
|
|
,ItemImageURL()
|
2010-04-29 15:29:46 +02:00
|
|
|
,ItemData()
|
2010-04-29 14:10:03 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
ListItem( const OUString& i_rItemText )
|
2010-04-29 14:10:03 +02:00
|
|
|
:ItemText( i_rItemText )
|
|
|
|
,ItemImageURL()
|
2010-04-29 15:29:46 +02:00
|
|
|
,ItemData()
|
2010-04-29 14:10:03 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
typedef beans::Pair< OUString, OUString > UnoListItem;
|
2010-04-29 14:10:03 +02:00
|
|
|
|
|
|
|
struct StripItemData : public ::std::unary_function< ListItem, UnoListItem >
|
|
|
|
{
|
|
|
|
UnoListItem operator()( const ListItem& i_rItem )
|
|
|
|
{
|
|
|
|
return UnoListItem( i_rItem.ItemText, i_rItem.ItemImageURL );
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
struct UnoControlListBoxModel_Data
|
|
|
|
{
|
|
|
|
UnoControlListBoxModel_Data( UnoControlListBoxModel& i_rAntiImpl )
|
2010-05-02 13:19:38 +02:00
|
|
|
:m_bSettingLegacyProperty( false )
|
|
|
|
,m_rAntiImpl( i_rAntiImpl )
|
2010-04-29 10:05:04 +02:00
|
|
|
,m_aListItems()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
sal_Int32 getItemCount() const { return sal_Int32( m_aListItems.size() ); }
|
|
|
|
|
|
|
|
const ListItem& getItem( const sal_Int32 i_nIndex ) const
|
|
|
|
{
|
|
|
|
if ( ( i_nIndex < 0 ) || ( i_nIndex >= sal_Int32( m_aListItems.size() ) ) )
|
2013-02-22 14:12:26 +05:30
|
|
|
throw IndexOutOfBoundsException( OUString(), m_rAntiImpl );
|
2010-04-29 10:05:04 +02:00
|
|
|
return m_aListItems[ i_nIndex ];
|
|
|
|
}
|
|
|
|
|
|
|
|
ListItem& getItem( const sal_Int32 i_nIndex )
|
|
|
|
{
|
|
|
|
return const_cast< ListItem& >( static_cast< const UnoControlListBoxModel_Data* >( this )->getItem( i_nIndex ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
ListItem& insertItem( const sal_Int32 i_nIndex )
|
|
|
|
{
|
|
|
|
if ( ( i_nIndex < 0 ) || ( i_nIndex > sal_Int32( m_aListItems.size() ) ) )
|
2013-02-22 14:12:26 +05:30
|
|
|
throw IndexOutOfBoundsException( OUString(), m_rAntiImpl );
|
2010-04-29 10:05:04 +02:00
|
|
|
return *m_aListItems.insert( m_aListItems.begin() + i_nIndex, ListItem() );
|
|
|
|
}
|
|
|
|
|
2010-04-29 14:10:03 +02:00
|
|
|
Sequence< UnoListItem > getAllItems() const
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
2010-04-29 14:10:03 +02:00
|
|
|
Sequence< UnoListItem > aItems( sal_Int32( m_aListItems.size() ) );
|
|
|
|
::std::transform( m_aListItems.begin(), m_aListItems.end(), aItems.getArray(), StripItemData() );
|
2010-04-29 10:05:04 +02:00
|
|
|
return aItems;
|
|
|
|
}
|
|
|
|
|
2010-11-19 13:40:23 +01:00
|
|
|
void copyItems( const UnoControlListBoxModel_Data& i_copySource )
|
|
|
|
{
|
|
|
|
m_aListItems = i_copySource.m_aListItems;
|
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
void setAllItems( const ::std::vector< ListItem >& i_rItems )
|
|
|
|
{
|
|
|
|
m_aListItems = i_rItems;
|
|
|
|
}
|
|
|
|
|
|
|
|
void removeItem( const sal_Int32 i_nIndex )
|
|
|
|
{
|
|
|
|
if ( ( i_nIndex < 0 ) || ( i_nIndex >= sal_Int32( m_aListItems.size() ) ) )
|
2013-02-22 14:12:26 +05:30
|
|
|
throw IndexOutOfBoundsException( OUString(), m_rAntiImpl );
|
2010-04-29 10:05:04 +02:00
|
|
|
m_aListItems.erase( m_aListItems.begin() + i_nIndex );
|
|
|
|
}
|
|
|
|
|
|
|
|
void removeAllItems()
|
|
|
|
{
|
|
|
|
::std::vector< ListItem > aEmpty;
|
|
|
|
m_aListItems.swap( aEmpty );
|
|
|
|
}
|
|
|
|
|
|
|
|
public:
|
|
|
|
bool m_bSettingLegacyProperty;
|
|
|
|
|
|
|
|
private:
|
|
|
|
UnoControlListBoxModel& m_rAntiImpl;
|
|
|
|
::std::vector< ListItem > m_aListItems;
|
|
|
|
};
|
|
|
|
|
|
|
|
// =====================================================================================================================
|
|
|
|
// = UnoControlListBoxModel
|
|
|
|
// =====================================================================================================================
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlListBoxModel::UnoControlListBoxModel( const Reference< XComponentContext >& rxContext, ConstructorMode const i_mode )
|
|
|
|
:UnoControlListBoxModel_Base( rxContext )
|
2010-07-01 11:50:54 +02:00
|
|
|
,m_pData( new UnoControlListBoxModel_Data( *this ) )
|
|
|
|
,m_aItemListListeners( GetMutex() )
|
|
|
|
{
|
2011-01-24 15:51:23 +01:00
|
|
|
if ( i_mode == ConstructDefault )
|
|
|
|
{
|
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXListBox );
|
|
|
|
}
|
2010-07-01 11:50:54 +02:00
|
|
|
}
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
UnoControlListBoxModel::UnoControlListBoxModel( const UnoControlListBoxModel& i_rSource )
|
|
|
|
:UnoControlListBoxModel_Base( i_rSource )
|
|
|
|
,m_pData( new UnoControlListBoxModel_Data( *this ) )
|
|
|
|
,m_aItemListListeners( GetMutex() )
|
|
|
|
{
|
2010-11-19 13:40:23 +01:00
|
|
|
m_pData->copyItems( *i_rSource.m_pData );
|
2010-04-29 10:05:04 +02:00
|
|
|
}
|
2010-06-28 16:40:40 +02:00
|
|
|
UnoControlListBoxModel::~UnoControlListBoxModel()
|
|
|
|
{
|
|
|
|
}
|
2010-07-01 15:52:47 +02:00
|
|
|
IMPL_SERVICEINFO_DERIVED( UnoControlListBoxModel, UnoControlModel, szServiceName2_UnoControlListBoxModel )
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlListBoxModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlListBoxModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2011-01-24 15:51:23 +01:00
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlListBoxModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlListBox );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2000-09-18 16:07:07 +00:00
|
|
|
::cppu::IPropertyArrayHelper& UnoControlListBoxModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlListBoxModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
namespace
|
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
struct CreateListItem : public ::std::unary_function< OUString, ListItem >
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
ListItem operator()( const OUString& i_rItemText )
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
2010-04-29 14:10:03 +02:00
|
|
|
return ListItem( i_rItemText );
|
2010-04-29 10:05:04 +02:00
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
void SAL_CALL UnoControlListBoxModel::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const uno::Any& rValue ) throw (uno::Exception)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2010-04-29 10:05:04 +02:00
|
|
|
UnoControlModel::setFastPropertyValue_NoBroadcast( nHandle, rValue );
|
|
|
|
|
|
|
|
if ( nHandle == BASEPROPERTY_STRINGITEMLIST )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2010-04-29 10:05:04 +02:00
|
|
|
// reset selection
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int16> aSeq;
|
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= aSeq;
|
2010-09-16 14:25:54 +02:00
|
|
|
setDependentFastPropertyValue( BASEPROPERTY_SELECTEDITEMS, aAny );
|
2002-05-16 04:55:33 +00:00
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
if ( !m_pData->m_bSettingLegacyProperty )
|
|
|
|
{
|
|
|
|
// synchronize the legacy StringItemList property with our list items
|
2013-02-22 14:12:26 +05:30
|
|
|
Sequence< OUString > aStringItemList;
|
2010-04-29 10:05:04 +02:00
|
|
|
Any aPropValue;
|
|
|
|
getFastPropertyValue( aPropValue, BASEPROPERTY_STRINGITEMLIST );
|
|
|
|
OSL_VERIFY( aPropValue >>= aStringItemList );
|
|
|
|
|
|
|
|
::std::vector< ListItem > aItems( aStringItemList.getLength() );
|
|
|
|
::std::transform(
|
|
|
|
aStringItemList.getConstArray(),
|
|
|
|
aStringItemList.getConstArray() + aStringItemList.getLength(),
|
|
|
|
aItems.begin(),
|
|
|
|
CreateListItem()
|
|
|
|
);
|
|
|
|
m_pData->setAllItems( aItems );
|
|
|
|
|
|
|
|
// since an XItemListListener does not have a "all items modified" or some such method,
|
|
|
|
// we simulate this by notifying removal of all items, followed by insertion of all new
|
|
|
|
// items
|
|
|
|
lang::EventObject aEvent;
|
|
|
|
aEvent.Source = *this;
|
|
|
|
m_aItemListListeners.notifyEach( &XItemListListener::itemListChanged, aEvent );
|
|
|
|
// TODO: OPropertySetHelper calls into this method with the mutex locked ...
|
|
|
|
// which is wrong for the above notifications ...
|
|
|
|
}
|
|
|
|
}
|
2002-05-16 04:55:33 +00:00
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2002-05-16 04:55:33 +00:00
|
|
|
void UnoControlListBoxModel::ImplNormalizePropertySequence( const sal_Int32 _nCount, sal_Int32* _pHandles,
|
|
|
|
uno::Any* _pValues, sal_Int32* _pValidHandles ) const SAL_THROW(())
|
|
|
|
{
|
|
|
|
// dependencies we know:
|
|
|
|
// BASEPROPERTY_STRINGITEMLIST->BASEPROPERTY_SELECTEDITEMS
|
2007-02-14 14:35:00 +00:00
|
|
|
ImplEnsureHandleOrder( _nCount, _pHandles, _pValues, BASEPROPERTY_STRINGITEMLIST, BASEPROPERTY_SELECTEDITEMS );
|
2002-05-16 04:55:33 +00:00
|
|
|
|
|
|
|
UnoControlModel::ImplNormalizePropertySequence( _nCount, _pHandles, _pValues, _pValidHandles );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
::sal_Int32 SAL_CALL UnoControlListBoxModel::getItemCount() throw (RuntimeException)
|
|
|
|
{
|
|
|
|
::osl::MutexGuard aGuard( GetMutex() );
|
|
|
|
return m_pData->getItemCount();
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void SAL_CALL UnoControlListBoxModel::insertItem( ::sal_Int32 i_nPosition, const OUString& i_rItemText, const OUString& i_rItemImageURL ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
ListItem& rItem( m_pData->insertItem( i_nPosition ) );
|
2010-04-29 14:10:03 +02:00
|
|
|
rItem.ItemText = i_rItemText;
|
|
|
|
rItem.ItemImageURL = i_rItemImageURL;
|
2010-04-29 10:05:04 +02:00
|
|
|
|
|
|
|
impl_handleInsert( i_nPosition, i_rItemText, i_rItemImageURL, aGuard );
|
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void SAL_CALL UnoControlListBoxModel::insertItemText( ::sal_Int32 i_nPosition, const OUString& i_rItemText ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
ListItem& rItem( m_pData->insertItem( i_nPosition ) );
|
2010-04-29 14:10:03 +02:00
|
|
|
rItem.ItemText = i_rItemText;
|
2010-04-29 10:05:04 +02:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
impl_handleInsert( i_nPosition, i_rItemText, ::boost::optional< OUString >(), aGuard );
|
2010-04-29 10:05:04 +02:00
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void SAL_CALL UnoControlListBoxModel::insertItemImage( ::sal_Int32 i_nPosition, const OUString& i_rItemImageURL ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
ListItem& rItem( m_pData->insertItem( i_nPosition ) );
|
2010-04-29 14:10:03 +02:00
|
|
|
rItem.ItemImageURL = i_rItemImageURL;
|
2010-04-29 10:05:04 +02:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
impl_handleInsert( i_nPosition, ::boost::optional< OUString >(), i_rItemImageURL, aGuard );
|
2010-04-29 10:05:04 +02:00
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
void SAL_CALL UnoControlListBoxModel::removeItem( ::sal_Int32 i_nPosition ) throw (IndexOutOfBoundsException, RuntimeException)
|
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
m_pData->removeItem( i_nPosition );
|
|
|
|
|
|
|
|
impl_handleRemove( i_nPosition, aGuard );
|
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
void SAL_CALL UnoControlListBoxModel::removeAllItems( ) throw (::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
m_pData->removeAllItems();
|
|
|
|
|
|
|
|
impl_handleRemove( -1, aGuard );
|
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void SAL_CALL UnoControlListBoxModel::setItemText( ::sal_Int32 i_nPosition, const OUString& i_rItemText ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
ListItem& rItem( m_pData->getItem( i_nPosition ) );
|
2010-04-29 14:10:03 +02:00
|
|
|
rItem.ItemText = i_rItemText;
|
2010-04-29 10:05:04 +02:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
impl_handleModify( i_nPosition, i_rItemText, ::boost::optional< OUString >(), aGuard );
|
2010-04-29 10:05:04 +02:00
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void SAL_CALL UnoControlListBoxModel::setItemImage( ::sal_Int32 i_nPosition, const OUString& i_rItemImageURL ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
ListItem& rItem( m_pData->getItem( i_nPosition ) );
|
2010-04-29 14:10:03 +02:00
|
|
|
rItem.ItemImageURL = i_rItemImageURL;
|
2010-04-29 10:05:04 +02:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
impl_handleModify( i_nPosition, ::boost::optional< OUString >(), i_rItemImageURL, aGuard );
|
2010-04-29 10:05:04 +02:00
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void SAL_CALL UnoControlListBoxModel::setItemTextAndImage( ::sal_Int32 i_nPosition, const OUString& i_rItemText, const OUString& i_rItemImageURL ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
ListItem& rItem( m_pData->getItem( i_nPosition ) );
|
2010-04-29 14:10:03 +02:00
|
|
|
rItem.ItemText = i_rItemText;
|
|
|
|
rItem.ItemImageURL = i_rItemImageURL;
|
2010-04-29 10:05:04 +02:00
|
|
|
|
|
|
|
impl_handleModify( i_nPosition, i_rItemText, i_rItemImageURL, aGuard );
|
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
2010-04-29 14:10:03 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2010-04-29 15:29:46 +02:00
|
|
|
void SAL_CALL UnoControlListBoxModel::setItemData( ::sal_Int32 i_nPosition, const Any& i_rDataValue ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 14:10:03 +02:00
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
ListItem& rItem( m_pData->getItem( i_nPosition ) );
|
2010-04-29 15:29:46 +02:00
|
|
|
rItem.ItemData = i_rDataValue;
|
2010-04-29 14:10:03 +02:00
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString SAL_CALL UnoControlListBoxModel::getItemText( ::sal_Int32 i_nPosition ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::MutexGuard aGuard( GetMutex() );
|
2010-04-29 14:10:03 +02:00
|
|
|
const ListItem& rItem( m_pData->getItem( i_nPosition ) );
|
|
|
|
return rItem.ItemText;
|
2010-04-29 10:05:04 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString SAL_CALL UnoControlListBoxModel::getItemImage( ::sal_Int32 i_nPosition ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::MutexGuard aGuard( GetMutex() );
|
2010-04-29 14:10:03 +02:00
|
|
|
const ListItem& rItem( m_pData->getItem( i_nPosition ) );
|
|
|
|
return rItem.ItemImageURL;
|
2010-04-29 10:05:04 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
beans::Pair< OUString, OUString > SAL_CALL UnoControlListBoxModel::getItemTextAndImage( ::sal_Int32 i_nPosition ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::MutexGuard aGuard( GetMutex() );
|
2010-04-29 14:10:03 +02:00
|
|
|
const ListItem& rItem( m_pData->getItem( i_nPosition ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
return beans::Pair< OUString, OUString >( rItem.ItemText, rItem.ItemImageURL );
|
2010-04-29 14:10:03 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2010-04-29 15:29:46 +02:00
|
|
|
Any SAL_CALL UnoControlListBoxModel::getItemData( ::sal_Int32 i_nPosition ) throw (IndexOutOfBoundsException, RuntimeException)
|
2010-04-29 14:10:03 +02:00
|
|
|
{
|
|
|
|
::osl::ClearableMutexGuard aGuard( GetMutex() );
|
|
|
|
const ListItem& rItem( m_pData->getItem( i_nPosition ) );
|
2010-04-29 15:29:46 +02:00
|
|
|
return rItem.ItemData;
|
2010-04-29 10:05:04 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
Sequence< beans::Pair< OUString, OUString > > SAL_CALL UnoControlListBoxModel::getAllItems( ) throw (RuntimeException)
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
::osl::MutexGuard aGuard( GetMutex() );
|
|
|
|
return m_pData->getAllItems();
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
void SAL_CALL UnoControlListBoxModel::addItemListListener( const uno::Reference< awt::XItemListListener >& i_Listener ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
if ( i_Listener.is() )
|
|
|
|
m_aItemListListeners.addInterface( i_Listener );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
void SAL_CALL UnoControlListBoxModel::removeItemListListener( const uno::Reference< awt::XItemListListener >& i_Listener ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
if ( i_Listener.is() )
|
|
|
|
m_aItemListListeners.removeInterface( i_Listener );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoControlListBoxModel::impl_getStringItemList( ::std::vector< OUString >& o_rStringItems ) const
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
Sequence< OUString > aStringItemList;
|
2010-04-29 10:05:04 +02:00
|
|
|
Any aPropValue;
|
|
|
|
getFastPropertyValue( aPropValue, BASEPROPERTY_STRINGITEMLIST );
|
|
|
|
OSL_VERIFY( aPropValue >>= aStringItemList );
|
|
|
|
|
|
|
|
o_rStringItems.resize( size_t( aStringItemList.getLength() ) );
|
|
|
|
::std::copy(
|
|
|
|
aStringItemList.getConstArray(),
|
|
|
|
aStringItemList.getConstArray() + aStringItemList.getLength(),
|
|
|
|
o_rStringItems.begin()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoControlListBoxModel::impl_setStringItemList_nolck( const ::std::vector< OUString >& i_rStringItems )
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
Sequence< OUString > aStringItems( i_rStringItems.size() );
|
2010-04-29 10:05:04 +02:00
|
|
|
::std::copy(
|
|
|
|
i_rStringItems.begin(),
|
|
|
|
i_rStringItems.end(),
|
|
|
|
aStringItems.getArray()
|
|
|
|
);
|
|
|
|
m_pData->m_bSettingLegacyProperty = true;
|
|
|
|
try
|
|
|
|
{
|
|
|
|
setFastPropertyValue( BASEPROPERTY_STRINGITEMLIST, uno::makeAny( aStringItems ) );
|
|
|
|
}
|
|
|
|
catch( const Exception& )
|
|
|
|
{
|
|
|
|
m_pData->m_bSettingLegacyProperty = false;
|
|
|
|
throw;
|
|
|
|
}
|
|
|
|
m_pData->m_bSettingLegacyProperty = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoControlListBoxModel::impl_handleInsert( const sal_Int32 i_nItemPosition, const ::boost::optional< OUString >& i_rItemText,
|
|
|
|
const ::boost::optional< OUString >& i_rItemImageURL, ::osl::ClearableMutexGuard& i_rClearBeforeNotify )
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
// sync with legacy StringItemList property
|
2013-02-22 14:12:26 +05:30
|
|
|
::std::vector< OUString > aStringItems;
|
2010-04-29 10:05:04 +02:00
|
|
|
impl_getStringItemList( aStringItems );
|
|
|
|
OSL_ENSURE( size_t( i_nItemPosition ) <= aStringItems.size(), "UnoControlListBoxModel::impl_handleInsert" );
|
|
|
|
if ( size_t( i_nItemPosition ) <= aStringItems.size() )
|
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
const OUString sItemText( !!i_rItemText ? *i_rItemText : OUString() );
|
2010-04-29 10:05:04 +02:00
|
|
|
aStringItems.insert( aStringItems.begin() + i_nItemPosition, sItemText );
|
|
|
|
}
|
|
|
|
|
|
|
|
i_rClearBeforeNotify.clear();
|
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
impl_setStringItemList_nolck( aStringItems );
|
|
|
|
|
|
|
|
// notify ItemListListeners
|
|
|
|
impl_notifyItemListEvent_nolck( i_nItemPosition, i_rItemText, i_rItemImageURL, &XItemListListener::listItemInserted );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
void UnoControlListBoxModel::impl_handleRemove( const sal_Int32 i_nItemPosition, ::osl::ClearableMutexGuard& i_rClearBeforeNotify )
|
|
|
|
{
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
const bool bAllItems = ( i_nItemPosition < 0 );
|
|
|
|
// sync with legacy StringItemList property
|
2013-02-22 14:12:26 +05:30
|
|
|
::std::vector< OUString > aStringItems;
|
2010-04-29 10:05:04 +02:00
|
|
|
impl_getStringItemList( aStringItems );
|
|
|
|
if ( !bAllItems )
|
|
|
|
{
|
|
|
|
OSL_ENSURE( size_t( i_nItemPosition ) < aStringItems.size(), "UnoControlListBoxModel::impl_handleRemove" );
|
|
|
|
if ( size_t( i_nItemPosition ) < aStringItems.size() )
|
|
|
|
{
|
|
|
|
aStringItems.erase( aStringItems.begin() + i_nItemPosition );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
aStringItems.resize(0);
|
|
|
|
}
|
|
|
|
|
|
|
|
i_rClearBeforeNotify.clear();
|
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
impl_setStringItemList_nolck( aStringItems );
|
|
|
|
|
|
|
|
// notify ItemListListeners
|
|
|
|
if ( bAllItems )
|
|
|
|
{
|
|
|
|
EventObject aEvent( *this );
|
|
|
|
m_aItemListListeners.notifyEach( &XItemListListener::allItemsRemoved, aEvent );
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
impl_notifyItemListEvent_nolck( i_nItemPosition, ::boost::optional< OUString >(), ::boost::optional< OUString >(),
|
2010-04-29 10:05:04 +02:00
|
|
|
&XItemListListener::listItemRemoved );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoControlListBoxModel::impl_handleModify( const sal_Int32 i_nItemPosition, const ::boost::optional< OUString >& i_rItemText,
|
|
|
|
const ::boost::optional< OUString >& i_rItemImageURL, ::osl::ClearableMutexGuard& i_rClearBeforeNotify )
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
|
|
|
// SYNCHRONIZED ----->
|
|
|
|
if ( !!i_rItemText )
|
|
|
|
{
|
|
|
|
// sync with legacy StringItemList property
|
2013-02-22 14:12:26 +05:30
|
|
|
::std::vector< OUString > aStringItems;
|
2010-04-29 10:05:04 +02:00
|
|
|
impl_getStringItemList( aStringItems );
|
|
|
|
OSL_ENSURE( size_t( i_nItemPosition ) < aStringItems.size(), "UnoControlListBoxModel::impl_handleModify" );
|
|
|
|
if ( size_t( i_nItemPosition ) < aStringItems.size() )
|
|
|
|
{
|
|
|
|
aStringItems[ i_nItemPosition] = *i_rItemText;
|
|
|
|
}
|
|
|
|
|
|
|
|
i_rClearBeforeNotify.clear();
|
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
impl_setStringItemList_nolck( aStringItems );
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
i_rClearBeforeNotify.clear();
|
|
|
|
// <----- SYNCHRONIZED
|
|
|
|
}
|
|
|
|
|
|
|
|
// notify ItemListListeners
|
|
|
|
impl_notifyItemListEvent_nolck( i_nItemPosition, i_rItemText, i_rItemImageURL, &XItemListListener::listItemModified );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoControlListBoxModel::impl_notifyItemListEvent_nolck( const sal_Int32 i_nItemPosition, const ::boost::optional< OUString >& i_rItemText,
|
|
|
|
const ::boost::optional< OUString >& i_rItemImageURL,
|
2010-04-29 10:05:04 +02:00
|
|
|
void ( SAL_CALL XItemListListener::*NotificationMethod )( const ItemListEvent& ) )
|
|
|
|
{
|
|
|
|
ItemListEvent aEvent;
|
|
|
|
aEvent.Source = *this;
|
|
|
|
aEvent.ItemPosition = i_nItemPosition;
|
|
|
|
if ( !!i_rItemText )
|
|
|
|
{
|
|
|
|
aEvent.ItemText.IsPresent = sal_True;
|
|
|
|
aEvent.ItemText.Value = *i_rItemText;
|
|
|
|
}
|
|
|
|
if ( !!i_rItemImageURL )
|
|
|
|
{
|
|
|
|
aEvent.ItemImageURL.IsPresent = sal_True;
|
|
|
|
aEvent.ItemImageURL.Value = *i_rItemImageURL;
|
|
|
|
}
|
|
|
|
|
|
|
|
m_aItemListListeners.notifyEach( NotificationMethod, aEvent );
|
|
|
|
}
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoListBoxControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoListBoxControl::UnoListBoxControl()
|
|
|
|
:UnoListBoxControl_Base()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maActionListeners( *this )
|
2010-04-29 10:05:04 +02:00
|
|
|
,maItemListeners( *this )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 12;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoListBoxControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("listbox");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2010-07-01 15:52:47 +02:00
|
|
|
IMPL_SERVICEINFO_DERIVED( UnoListBoxControl, UnoControlBase, szServiceName2_UnoControlListBox )
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::dispose() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
lang::EventObject aEvt;
|
2000-09-18 16:07:07 +00:00
|
|
|
aEvt.Source = (::cppu::OWeakObject*)this;
|
|
|
|
maActionListeners.disposeAndClear( aEvt );
|
|
|
|
maItemListeners.disposeAndClear( aEvt );
|
|
|
|
UnoControl::dispose();
|
|
|
|
}
|
|
|
|
|
2001-06-15 06:34:37 +00:00
|
|
|
void UnoListBoxControl::ImplUpdateSelectedItemsProperty()
|
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-06-15 06:34:37 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2001-06-15 06:34:37 +00:00
|
|
|
DBG_ASSERT( xListBox.is(), "XListBox?" );
|
|
|
|
|
|
|
|
uno::Sequence<sal_Int16> aSeq = xListBox->getSelectedItemsPos();
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= aSeq;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_SELECTEDITEMS ), aAny, sal_False );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
void UnoListBoxControl::updateFromModel()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2010-04-29 10:05:04 +02:00
|
|
|
UnoControlBase::updateFromModel();
|
|
|
|
|
|
|
|
Reference< XItemListListener > xItemListListener( getPeer(), UNO_QUERY );
|
|
|
|
ENSURE_OR_RETURN_VOID( xItemListListener.is(), "UnoListBoxControl::updateFromModel: a peer which is no ItemListListener?!" );
|
|
|
|
|
|
|
|
EventObject aEvent( getModel() );
|
|
|
|
xItemListListener->itemListChanged( aEvent );
|
2010-06-10 11:09:24 +02:00
|
|
|
|
|
|
|
// notify the change of the SelectedItems property, again. While our base class, in updateFromModel,
|
|
|
|
// already did this, our peer(s) can only legitimately set the selection after they have the string
|
|
|
|
// item list, which we just notified with the itemListChanged call.
|
2013-02-22 14:12:26 +05:30
|
|
|
const OUString sSelectedItemsPropName( GetPropertyName( BASEPROPERTY_SELECTEDITEMS ) );
|
2010-06-10 11:09:24 +02:00
|
|
|
ImplSetPeerProperty( sSelectedItemsPropName, ImplGetPropertyValue( sSelectedItemsPropName ) );
|
2010-04-29 10:05:04 +02:00
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoListBoxControl::ImplSetPeerProperty( const OUString& rPropName, const uno::Any& rVal )
|
2010-04-29 10:05:04 +02:00
|
|
|
{
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( rPropName == GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) )
|
2010-04-29 10:05:04 +02:00
|
|
|
// do not forward this to our peer. We are a XItemListListener at our model, and changes in the string item
|
|
|
|
// list (which is a legacy property) will, later, arrive as changes in the ItemList. Those latter changes
|
|
|
|
// will be forwarded to the peer, which will update itself accordingly.
|
|
|
|
return;
|
|
|
|
|
|
|
|
UnoControl::ImplSetPeerProperty( rPropName, rVal );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
UnoControl::createPeer( rxToolkit, rParentPeer );
|
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xListBox->addItemListener( this );
|
|
|
|
|
|
|
|
if ( maActionListeners.getLength() )
|
|
|
|
xListBox->addActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::addActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maActionListeners.addInterface( l );
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xListBox->addActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::removeActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xListBox->removeActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
maActionListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::addItemListener(const uno::Reference < awt::XItemListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maItemListeners.addInterface( l );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::removeItemListener(const uno::Reference < awt::XItemListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maItemListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoListBoxControl::addItem( const OUString& aItem, sal_Int16 nPos ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq( 1 );
|
2000-09-18 16:07:07 +00:00
|
|
|
aSeq.getArray()[0] = aItem;
|
|
|
|
addItems( aSeq, nPos );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoListBoxControl::addItems( const uno::Sequence< OUString>& aItems, sal_Int16 nPos ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
sal_uInt16 nNewItems = (sal_uInt16)aItems.getLength();
|
|
|
|
sal_uInt16 nOldLen = (sal_uInt16)aSeq.getLength();
|
|
|
|
sal_uInt16 nNewLen = nOldLen + nNewItems;
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aNewSeq( nNewLen );
|
|
|
|
OUString* pNewData = aNewSeq.getArray();
|
|
|
|
OUString* pOldData = aSeq.getArray();
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2004-02-04 10:11:33 +00:00
|
|
|
if ( ( nPos < 0 ) || ( nPos > nOldLen ) )
|
2000-09-18 16:07:07 +00:00
|
|
|
nPos = (sal_uInt16) nOldLen;
|
|
|
|
|
|
|
|
sal_uInt16 n;
|
|
|
|
// Items vor der Einfuege-Position
|
|
|
|
for ( n = 0; n < nPos; n++ )
|
|
|
|
pNewData[n] = pOldData[n];
|
|
|
|
|
|
|
|
// Neue Items
|
|
|
|
for ( n = 0; n < nNewItems; n++ )
|
|
|
|
pNewData[nPos+n] = aItems.getConstArray()[n];
|
|
|
|
|
|
|
|
// Rest der alten Items
|
|
|
|
for ( n = nPos; n < nOldLen; n++ )
|
|
|
|
pNewData[nNewItems+n] = pOldData[n];
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= aNewSeq;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::removeItems( sal_Int16 nPos, sal_Int16 nCount ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
sal_uInt16 nOldLen = (sal_uInt16)aSeq.getLength();
|
|
|
|
if ( nOldLen && ( nPos < nOldLen ) )
|
|
|
|
{
|
|
|
|
if ( nCount > ( nOldLen-nPos ) )
|
|
|
|
nCount = nOldLen-nPos;
|
|
|
|
|
|
|
|
sal_uInt16 nNewLen = nOldLen - nCount;
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aNewSeq( nNewLen );
|
|
|
|
OUString* pNewData = aNewSeq.getArray();
|
|
|
|
OUString* pOldData = aSeq.getArray();
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_uInt16 n;
|
|
|
|
// Items vor der Entfern-Position
|
|
|
|
for ( n = 0; n < nPos; n++ )
|
|
|
|
pNewData[n] = pOldData[n];
|
|
|
|
|
|
|
|
// Rest der Items
|
|
|
|
for ( n = nPos; n < (nOldLen-nCount); n++ )
|
|
|
|
pNewData[n] = pOldData[n+nCount];
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= aNewSeq;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Int16 UnoListBoxControl::getItemCount() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
return (sal_Int16)aSeq.getLength();
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoListBoxControl::getItem( sal_Int16 nPos ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString aItem;
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
if ( nPos < aSeq.getLength() )
|
|
|
|
aItem = aSeq.getConstArray()[nPos];
|
|
|
|
return aItem;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> UnoListBoxControl::getItems() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
return aSeq;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Int16 UnoListBoxControl::getSelectedItemPos() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
sal_Int16 n = -1;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
n = xListBox->getSelectedItemPos();
|
|
|
|
}
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int16> UnoListBoxControl::getSelectedItemsPos() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int16> aSeq;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
aSeq = xListBox->getSelectedItemsPos();
|
|
|
|
}
|
|
|
|
return aSeq;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoListBoxControl::getSelectedItem() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString aItem;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
aItem = xListBox->getSelectedItem();
|
|
|
|
}
|
|
|
|
return aItem;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> UnoListBoxControl::getSelectedItems() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
aSeq = xListBox->getSelectedItems();
|
|
|
|
}
|
|
|
|
return aSeq;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::selectItemPos( sal_Int16 nPos, sal_Bool bSelect ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xListBox->selectItemPos( nPos, bSelect );
|
|
|
|
}
|
2001-06-15 06:34:37 +00:00
|
|
|
ImplUpdateSelectedItemsProperty();
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::selectItemsPos( const uno::Sequence<sal_Int16>& aPositions, sal_Bool bSelect ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xListBox->selectItemsPos( aPositions, bSelect );
|
|
|
|
}
|
2001-06-15 06:34:37 +00:00
|
|
|
ImplUpdateSelectedItemsProperty();
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoListBoxControl::selectItem( const OUString& aItem, sal_Bool bSelect ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xListBox->selectItem( aItem, bSelect );
|
|
|
|
}
|
2001-06-15 06:34:37 +00:00
|
|
|
ImplUpdateSelectedItemsProperty();
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::makeVisible( sal_Int16 nEntry ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XListBox > xListBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xListBox->makeVisible( nEntry );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::setDropDownLineCount( sal_Int16 nLines ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= (sal_Int16)nLines;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_LINECOUNT ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Int16 UnoListBoxControl::getDropDownLineCount() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_INT16( BASEPROPERTY_LINECOUNT );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoListBoxControl::isMutipleMode() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 09:03:01 +00:00
|
|
|
return ImplGetPropertyValue_BOOL( BASEPROPERTY_MULTISELECTION );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::setMultipleMode( sal_Bool bMulti ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= bMulti;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_MULTISELECTION ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::itemStateChanged( const awt::ItemEvent& rEvent ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-06-15 06:34:37 +00:00
|
|
|
ImplUpdateSelectedItemsProperty();
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( maItemListeners.getLength() )
|
2004-10-22 10:36:46 +00:00
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
maItemListeners.itemStateChanged( rEvent );
|
|
|
|
}
|
|
|
|
catch( const Exception& e )
|
|
|
|
{
|
2006-10-12 09:33:10 +00:00
|
|
|
#if OSL_DEBUG_LEVEL == 0
|
|
|
|
(void) e; // suppress warning
|
|
|
|
#else
|
2013-04-07 12:06:47 +02:00
|
|
|
OString sMessage( "UnoListBoxControl::itemStateChanged: caught an exception:\n" );
|
|
|
|
sMessage += OString( e.Message.getStr(), e.Message.getLength(), RTL_TEXTENCODING_ASCII_US );
|
2011-03-19 14:11:09 +01:00
|
|
|
OSL_FAIL( sMessage.getStr() );
|
2004-10-22 10:36:46 +00:00
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoListBoxControl::getMinimumSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoListBoxControl::getPreferredSize( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getPreferredSize();
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoListBoxControl::calcAdjustedSize( const awt::Size& rNewSize ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_calcAdjustedSize( rNewSize );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
awt::Size UnoListBoxControl::getMinimumSize( sal_Int16 nCols, sal_Int16 nLines ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return Impl_getMinimumSize( nCols, nLines );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoListBoxControl::getColumnsAndLines( sal_Int16& nCols, sal_Int16& nLines ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
Impl_getColumnsAndLines( nCols, nLines );
|
|
|
|
}
|
|
|
|
|
2010-04-29 10:05:04 +02:00
|
|
|
sal_Bool SAL_CALL UnoListBoxControl::setModel( const uno::Reference< awt::XControlModel >& i_rModel ) throw ( uno::RuntimeException )
|
|
|
|
{
|
|
|
|
::osl::MutexGuard aGuard( GetMutex() );
|
|
|
|
|
|
|
|
const Reference< XItemList > xOldItems( getModel(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xOldItems.is() || !getModel().is(), "UnoListBoxControl::setModel: illegal old model!" );
|
|
|
|
const Reference< XItemList > xNewItems( i_rModel, UNO_QUERY );
|
|
|
|
OSL_ENSURE( xNewItems.is() || !i_rModel.is(), "UnoListBoxControl::setModel: illegal new model!" );
|
|
|
|
|
|
|
|
if ( !UnoListBoxControl_Base::setModel( i_rModel ) )
|
|
|
|
return sal_False;
|
|
|
|
|
|
|
|
if ( xOldItems.is() )
|
|
|
|
xOldItems->removeItemListListener( this );
|
|
|
|
if ( xNewItems.is() )
|
|
|
|
xNewItems->addItemListListener( this );
|
|
|
|
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoListBoxControl::listItemInserted( const awt::ItemListEvent& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoListBoxControl::listItemInserted: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->listItemInserted( i_rEvent );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoListBoxControl::listItemRemoved( const awt::ItemListEvent& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoListBoxControl::listItemRemoved: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->listItemRemoved( i_rEvent );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoListBoxControl::listItemModified( const awt::ItemListEvent& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoListBoxControl::listItemModified: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->listItemModified( i_rEvent );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoListBoxControl::allItemsRemoved( const lang::EventObject& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoListBoxControl::allItemsRemoved: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->allItemsRemoved( i_rEvent );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoListBoxControl::itemListChanged( const lang::EventObject& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoListBoxControl::itemListChanged: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->itemListChanged( i_rEvent );
|
|
|
|
}
|
2012-03-04 15:27:27 +08:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlComboBoxModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlComboBoxModel::UnoControlComboBoxModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlListBoxModel( rxContext, ConstructWithoutProperties )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXComboBox );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2010-07-01 15:52:47 +02:00
|
|
|
|
|
|
|
IMPL_SERVICEINFO_DERIVED( UnoControlComboBoxModel, UnoControlModel, szServiceName2_UnoControlComboBoxModel )
|
|
|
|
|
2010-07-01 11:50:54 +02:00
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlComboBoxModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2010-07-01 11:50:54 +02:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
|
|
|
return xInfo;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2010-07-01 11:50:54 +02:00
|
|
|
// ---------------------------------------------------------------------------------------------------------------------
|
2000-09-18 16:07:07 +00:00
|
|
|
::cppu::IPropertyArrayHelper& UnoControlComboBoxModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2010-07-01 11:50:54 +02:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlComboBoxModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlComboBoxModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2010-07-01 11:50:54 +02:00
|
|
|
void SAL_CALL UnoControlComboBoxModel::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const uno::Any& rValue ) throw (uno::Exception)
|
|
|
|
{
|
|
|
|
UnoControlModel::setFastPropertyValue_NoBroadcast( nHandle, rValue );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2010-07-01 11:50:54 +02:00
|
|
|
if ( nHandle == BASEPROPERTY_STRINGITEMLIST && !m_pData->m_bSettingLegacyProperty)
|
|
|
|
{
|
|
|
|
// synchronize the legacy StringItemList property with our list items
|
2013-02-22 14:12:26 +05:30
|
|
|
Sequence< OUString > aStringItemList;
|
2010-07-01 11:50:54 +02:00
|
|
|
Any aPropValue;
|
|
|
|
getFastPropertyValue( aPropValue, BASEPROPERTY_STRINGITEMLIST );
|
|
|
|
OSL_VERIFY( aPropValue >>= aStringItemList );
|
|
|
|
|
|
|
|
::std::vector< ListItem > aItems( aStringItemList.getLength() );
|
|
|
|
::std::transform(
|
|
|
|
aStringItemList.getConstArray(),
|
|
|
|
aStringItemList.getConstArray() + aStringItemList.getLength(),
|
|
|
|
aItems.begin(),
|
|
|
|
CreateListItem()
|
|
|
|
);
|
|
|
|
m_pData->setAllItems( aItems );
|
|
|
|
|
|
|
|
// since an XItemListListener does not have a "all items modified" or some such method,
|
|
|
|
// we simulate this by notifying removal of all items, followed by insertion of all new
|
|
|
|
// items
|
|
|
|
lang::EventObject aEvent;
|
|
|
|
aEvent.Source = *this;
|
|
|
|
m_aItemListListeners.notifyEach( &XItemListListener::itemListChanged, aEvent );
|
|
|
|
// TODO: OPropertySetHelper calls into this method with the mutex locked ...
|
|
|
|
// which is wrong for the above notifications ...
|
|
|
|
}
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2010-07-01 11:50:54 +02:00
|
|
|
uno::Any UnoControlComboBoxModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlComboBox );
|
2010-07-01 11:50:54 +02:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoComboBoxControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoComboBoxControl::UnoComboBoxControl()
|
|
|
|
:UnoEditControl()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maActionListeners( *this )
|
|
|
|
,maItemListeners( *this )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100;
|
|
|
|
maComponentInfos.nHeight = 12;
|
|
|
|
}
|
2010-07-01 15:52:47 +02:00
|
|
|
IMPL_SERVICEINFO_DERIVED( UnoComboBoxControl, UnoEditControl, szServiceName2_UnoControlComboBox )
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoComboBoxControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("combobox");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2010-07-01 11:50:54 +02:00
|
|
|
void UnoComboBoxControl::dispose() throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
lang::EventObject aEvt;
|
|
|
|
aEvt.Source = (::cppu::OWeakObject*)this;
|
|
|
|
maActionListeners.disposeAndClear( aEvt );
|
|
|
|
maItemListeners.disposeAndClear( aEvt );
|
|
|
|
UnoControl::dispose();
|
|
|
|
}
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoComboBoxControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XComboBox* >(this)) );
|
2010-07-01 11:50:54 +02:00
|
|
|
if ( !aRet.hasValue() )
|
|
|
|
{
|
|
|
|
aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XItemListener* >(this)) );
|
2010-07-01 11:50:54 +02:00
|
|
|
if ( !aRet.hasValue() )
|
|
|
|
{
|
|
|
|
aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XItemListListener* >(this)) );
|
2010-07-01 11:50:54 +02:00
|
|
|
}
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoEditControl::queryAggregation( rType ));
|
|
|
|
}
|
2001-01-24 14:00:58 +00:00
|
|
|
// lang::XTypeProvider
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_START( UnoComboBoxControl )
|
2001-01-24 14:00:58 +00:00
|
|
|
getCppuType( ( uno::Reference< awt::XComboBox>* ) NULL ),
|
2010-07-01 11:50:54 +02:00
|
|
|
getCppuType( ( uno::Reference< awt::XItemListener>* ) NULL ),
|
|
|
|
getCppuType( ( uno::Reference< awt::XItemListListener>* ) NULL ),
|
2000-09-18 16:07:07 +00:00
|
|
|
UnoEditControl::getTypes()
|
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
2010-07-01 11:50:54 +02:00
|
|
|
void UnoComboBoxControl::updateFromModel()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2010-07-01 11:50:54 +02:00
|
|
|
UnoEditControl::updateFromModel();
|
|
|
|
|
|
|
|
Reference< XItemListListener > xItemListListener( getPeer(), UNO_QUERY );
|
|
|
|
ENSURE_OR_RETURN_VOID( xItemListListener.is(), "UnoComboBoxControl::updateFromModel: a peer which is no ItemListListener?!" );
|
|
|
|
|
|
|
|
EventObject aEvent( getModel() );
|
|
|
|
xItemListListener->itemListChanged( aEvent );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoComboBoxControl::ImplSetPeerProperty( const OUString& rPropName, const uno::Any& rVal )
|
2010-07-01 11:50:54 +02:00
|
|
|
{
|
|
|
|
if ( rPropName == GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) )
|
|
|
|
// do not forward this to our peer. We are a XItemListListener at our model, and changes in the string item
|
|
|
|
// list (which is a legacy property) will, later, arrive as changes in the ItemList. Those latter changes
|
|
|
|
// will be forwarded to the peer, which will update itself accordingly.
|
|
|
|
return;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2010-07-01 11:50:54 +02:00
|
|
|
UnoEditControl::ImplSetPeerProperty( rPropName, rVal );
|
|
|
|
}
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoComboBoxControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
UnoEditControl::createPeer( rxToolkit, rParentPeer );
|
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XComboBox > xComboBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( maActionListeners.getLength() )
|
|
|
|
xComboBox->addActionListener( &maActionListeners );
|
|
|
|
if ( maItemListeners.getLength() )
|
|
|
|
xComboBox->addItemListener( &maItemListeners );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoComboBoxControl::addActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maActionListeners.addInterface( l );
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XComboBox > xComboBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xComboBox->addActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoComboBoxControl::removeActionListener(const uno::Reference< awt::XActionListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maActionListeners.getLength() == 1 )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XComboBox > xComboBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xComboBox->removeActionListener( &maActionListeners );
|
|
|
|
}
|
|
|
|
maActionListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoComboBoxControl::addItemListener(const uno::Reference < awt::XItemListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
maItemListeners.addInterface( l );
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maItemListeners.getLength() == 1 )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XComboBox > xComboBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xComboBox->addItemListener( &maItemListeners );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoComboBoxControl::removeItemListener(const uno::Reference < awt::XItemListener > & l) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maItemListeners.getLength() == 1 )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2012-08-09 14:47:19 +02:00
|
|
|
// This call is prettier than creating a Ref and calling query
|
|
|
|
uno::Reference < awt::XComboBox > xComboBox( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xComboBox->removeItemListener( &maItemListeners );
|
|
|
|
}
|
|
|
|
maItemListeners.removeInterface( l );
|
|
|
|
}
|
2010-07-01 11:50:54 +02:00
|
|
|
void UnoComboBoxControl::itemStateChanged( const awt::ItemEvent& rEvent ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
if ( maItemListeners.getLength() )
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
maItemListeners.itemStateChanged( rEvent );
|
|
|
|
}
|
|
|
|
catch( const Exception& e )
|
|
|
|
{
|
|
|
|
#if OSL_DEBUG_LEVEL == 0
|
|
|
|
(void) e; // suppress warning
|
|
|
|
#else
|
2013-04-07 12:06:47 +02:00
|
|
|
OString sMessage( "UnoComboBoxControl::itemStateChanged: caught an exception:\n" );
|
|
|
|
sMessage += OString( e.Message.getStr(), e.Message.getLength(), RTL_TEXTENCODING_ASCII_US );
|
2011-03-19 14:11:09 +01:00
|
|
|
OSL_FAIL( sMessage.getStr() );
|
2010-07-01 11:50:54 +02:00
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
sal_Bool SAL_CALL UnoComboBoxControl::setModel( const uno::Reference< awt::XControlModel >& i_rModel ) throw ( uno::RuntimeException )
|
|
|
|
{
|
|
|
|
::osl::MutexGuard aGuard( GetMutex() );
|
|
|
|
|
|
|
|
const Reference< XItemList > xOldItems( getModel(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xOldItems.is() || !getModel().is(), "UnoComboBoxControl::setModel: illegal old model!" );
|
|
|
|
const Reference< XItemList > xNewItems( i_rModel, UNO_QUERY );
|
|
|
|
OSL_ENSURE( xNewItems.is() || !i_rModel.is(), "UnoComboBoxControl::setModel: illegal new model!" );
|
|
|
|
|
|
|
|
if ( !UnoEditControl::setModel( i_rModel ) )
|
|
|
|
return sal_False;
|
|
|
|
|
|
|
|
if ( xOldItems.is() )
|
|
|
|
xOldItems->removeItemListListener( this );
|
|
|
|
if ( xNewItems.is() )
|
|
|
|
xNewItems->addItemListListener( this );
|
|
|
|
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoComboBoxControl::listItemInserted( const awt::ItemListEvent& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoComboBoxControl::listItemInserted: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->listItemInserted( i_rEvent );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoComboBoxControl::listItemRemoved( const awt::ItemListEvent& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoComboBoxControl::listItemRemoved: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->listItemRemoved( i_rEvent );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoComboBoxControl::listItemModified( const awt::ItemListEvent& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoComboBoxControl::listItemModified: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->listItemModified( i_rEvent );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoComboBoxControl::allItemsRemoved( const lang::EventObject& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoComboBoxControl::allItemsRemoved: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->allItemsRemoved( i_rEvent );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL UnoComboBoxControl::itemListChanged( const lang::EventObject& i_rEvent ) throw (uno::RuntimeException)
|
|
|
|
{
|
|
|
|
const Reference< XItemListListener > xPeerListener( getPeer(), UNO_QUERY );
|
|
|
|
OSL_ENSURE( xPeerListener.is() || !getPeer().is(), "UnoComboBoxControl::itemListChanged: invalid peer!" );
|
|
|
|
if ( xPeerListener.is() )
|
|
|
|
xPeerListener->itemListChanged( i_rEvent );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoComboBoxControl::addItem( const OUString& aItem, sal_Int16 nPos ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq( 1 );
|
2000-09-18 16:07:07 +00:00
|
|
|
aSeq.getArray()[0] = aItem;
|
|
|
|
addItems( aSeq, nPos );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoComboBoxControl::addItems( const uno::Sequence< OUString>& aItems, sal_Int16 nPos ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
sal_uInt16 nNewItems = (sal_uInt16)aItems.getLength();
|
|
|
|
sal_uInt16 nOldLen = (sal_uInt16)aSeq.getLength();
|
|
|
|
sal_uInt16 nNewLen = nOldLen + nNewItems;
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aNewSeq( nNewLen );
|
|
|
|
OUString* pNewData = aNewSeq.getArray();
|
|
|
|
const OUString* pOldData = aSeq.getConstArray();
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2004-02-04 10:11:33 +00:00
|
|
|
if ( ( nPos < 0 ) || ( nPos > nOldLen ) )
|
2000-09-18 16:07:07 +00:00
|
|
|
nPos = (sal_uInt16) nOldLen;
|
|
|
|
|
|
|
|
sal_uInt16 n;
|
2012-08-09 14:47:19 +02:00
|
|
|
// items before the insert position
|
2000-09-18 16:07:07 +00:00
|
|
|
for ( n = 0; n < nPos; n++ )
|
|
|
|
pNewData[n] = pOldData[n];
|
|
|
|
|
2012-08-09 14:47:19 +02:00
|
|
|
// New items
|
2000-09-18 16:07:07 +00:00
|
|
|
for ( n = 0; n < nNewItems; n++ )
|
|
|
|
pNewData[nPos+n] = aItems.getConstArray()[n];
|
|
|
|
|
2012-08-09 14:47:19 +02:00
|
|
|
// remainder of old items
|
2000-09-18 16:07:07 +00:00
|
|
|
for ( n = nPos; n < nOldLen; n++ )
|
|
|
|
pNewData[nNewItems+n] = pOldData[n];
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= aNewSeq;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoComboBoxControl::removeItems( sal_Int16 nPos, sal_Int16 nCount ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
sal_uInt16 nOldLen = (sal_uInt16)aSeq.getLength();
|
|
|
|
if ( nOldLen && ( nPos < nOldLen ) )
|
|
|
|
{
|
|
|
|
if ( nCount > ( nOldLen-nPos ) )
|
|
|
|
nCount = nOldLen-nPos;
|
|
|
|
|
|
|
|
sal_uInt16 nNewLen = nOldLen - nCount;
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aNewSeq( nNewLen );
|
|
|
|
OUString* pNewData = aNewSeq.getArray();
|
|
|
|
OUString* pOldData = aSeq.getArray();
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_uInt16 n;
|
2012-08-09 14:47:19 +02:00
|
|
|
// items before the deletion position
|
2000-09-18 16:07:07 +00:00
|
|
|
for ( n = 0; n < nPos; n++ )
|
|
|
|
pNewData[n] = pOldData[n];
|
|
|
|
|
2012-08-09 14:47:19 +02:00
|
|
|
// remainder of old items
|
2000-09-18 16:07:07 +00:00
|
|
|
for ( n = nPos; n < (nOldLen-nCount); n++ )
|
|
|
|
pNewData[n] = pOldData[n+nCount];
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= aNewSeq;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Int16 UnoComboBoxControl::getItemCount() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
return (sal_Int16)aSeq.getLength();
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoComboBoxControl::getItem( sal_Int16 nPos ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString aItem;
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
if ( nPos < aSeq.getLength() )
|
|
|
|
aItem = aSeq.getConstArray()[nPos];
|
|
|
|
return aItem;
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> UnoComboBoxControl::getItems() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_STRINGITEMLIST ) );
|
2013-02-22 14:12:26 +05:30
|
|
|
uno::Sequence< OUString> aSeq;
|
2000-09-18 16:07:07 +00:00
|
|
|
aVal >>= aSeq;
|
|
|
|
return aSeq;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoComboBoxControl::setDropDownLineCount( sal_Int16 nLines ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= nLines;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_LINECOUNT ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Int16 UnoComboBoxControl::getDropDownLineCount() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_INT16( BASEPROPERTY_LINECOUNT );
|
|
|
|
}
|
|
|
|
|
2002-09-05 06:53:00 +00:00
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// UnoSpinFieldControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoSpinFieldControl::UnoSpinFieldControl()
|
|
|
|
:UnoEditControl()
|
2010-12-06 14:14:11 +01:00
|
|
|
,maSpinListeners( *this )
|
2002-09-05 06:53:00 +00:00
|
|
|
{
|
|
|
|
mbRepeat = sal_False;
|
|
|
|
}
|
|
|
|
|
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoSpinFieldControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XSpinField* >(this)) );
|
2002-09-05 06:53:00 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoEditControl::queryAggregation( rType ));
|
|
|
|
}
|
|
|
|
|
|
|
|
// lang::XTypeProvider
|
|
|
|
IMPL_XTYPEPROVIDER_START( UnoSpinFieldControl )
|
|
|
|
getCppuType( ( uno::Reference< awt::XSpinField>* ) NULL ),
|
|
|
|
UnoEditControl::getTypes()
|
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
|
|
|
void UnoSpinFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
UnoEditControl::createPeer( rxToolkit, rParentPeer );
|
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XSpinField > xField( getPeer(), uno::UNO_QUERY );
|
2002-09-05 06:53:00 +00:00
|
|
|
xField->enableRepeat( mbRepeat );
|
|
|
|
if ( maSpinListeners.getLength() )
|
|
|
|
xField->addSpinListener( &maSpinListeners );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ::com::sun::star::awt::XSpinField
|
|
|
|
void UnoSpinFieldControl::addSpinListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XSpinListener >& l ) throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
|
|
|
maSpinListeners.addInterface( l );
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maSpinListeners.getLength() == 1 )
|
2002-09-05 06:53:00 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XSpinField > xField( getPeer(), uno::UNO_QUERY );
|
2002-09-05 06:53:00 +00:00
|
|
|
xField->addSpinListener( &maSpinListeners );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoSpinFieldControl::removeSpinListener( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XSpinListener >& l ) throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if( getPeer().is() && maSpinListeners.getLength() == 1 )
|
2002-09-05 06:53:00 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XSpinField > xField( getPeer(), uno::UNO_QUERY );
|
2002-09-05 06:53:00 +00:00
|
|
|
xField->removeSpinListener( &maSpinListeners );
|
|
|
|
}
|
|
|
|
maSpinListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoSpinFieldControl::up() throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XSpinField > xField( getPeer(), uno::UNO_QUERY );
|
2002-09-05 06:53:00 +00:00
|
|
|
if ( xField.is() )
|
|
|
|
xField->up();
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoSpinFieldControl::down() throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XSpinField > xField( getPeer(), uno::UNO_QUERY );
|
2002-09-05 06:53:00 +00:00
|
|
|
if ( xField.is() )
|
|
|
|
xField->down();
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoSpinFieldControl::first() throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XSpinField > xField( getPeer(), uno::UNO_QUERY );
|
2002-09-05 06:53:00 +00:00
|
|
|
if ( xField.is() )
|
|
|
|
xField->first();
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoSpinFieldControl::last() throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XSpinField > xField( getPeer(), uno::UNO_QUERY );
|
2002-09-05 06:53:00 +00:00
|
|
|
if ( xField.is() )
|
|
|
|
xField->last();
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoSpinFieldControl::enableRepeat( sal_Bool bRepeat ) throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
|
|
|
mbRepeat = bRepeat;
|
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XSpinField > xField( getPeer(), uno::UNO_QUERY );
|
2002-09-05 06:53:00 +00:00
|
|
|
if ( xField.is() )
|
|
|
|
xField->enableRepeat( bRepeat );
|
|
|
|
}
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlDateFieldModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlDateFieldModel::UnoControlDateFieldModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXDateField );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlDateFieldModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlDateFieldModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlDateFieldModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlDateField );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlDateFieldModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlDateFieldModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoDateFieldControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoDateFieldControl::UnoDateFieldControl()
|
|
|
|
:UnoSpinFieldControl()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-08-04 01:14:22 +02:00
|
|
|
mnFirst = util::Date( 1, 1, 1900 );
|
|
|
|
mnLast = util::Date( 31, 12, 2200 );
|
2001-11-06 14:49:00 +00:00
|
|
|
mbLongFormat = 2;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoDateFieldControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("datefield");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoDateFieldControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XDateField* >(this)) );
|
2002-09-05 06:53:00 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// lang::XTypeProvider
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_START( UnoDateFieldControl )
|
2001-01-24 14:00:58 +00:00
|
|
|
getCppuType( ( uno::Reference< awt::XDateField>* ) NULL ),
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::getTypes()
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
2001-08-10 08:10:14 +00:00
|
|
|
void UnoDateFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
|
|
|
{
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::createPeer( rxToolkit, rParentPeer );
|
2001-08-10 08:10:14 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XDateField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:10:14 +00:00
|
|
|
xField->setFirst( mnFirst );
|
|
|
|
xField->setLast( mnLast );
|
2001-11-06 14:49:00 +00:00
|
|
|
if ( mbLongFormat != 2 ) // not set
|
|
|
|
xField->setLongFormat( mbLongFormat );
|
2001-08-10 08:10:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoDateFieldControl::textChanged( const awt::TextEvent& e ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-04-02 09:33:51 +00:00
|
|
|
uno::Reference< awt::XVclWindowPeer > xPeer( getPeer(), uno::UNO_QUERY );
|
|
|
|
|
|
|
|
// also change the text property (#i25106#)
|
|
|
|
if ( xPeer.is() )
|
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString sTextPropertyName = GetPropertyName( BASEPROPERTY_TEXT );
|
2004-04-02 09:33:51 +00:00
|
|
|
ImplSetPropertyValue( sTextPropertyName, xPeer->getProperty( sTextPropertyName ), sal_False );
|
|
|
|
}
|
|
|
|
|
|
|
|
// re-calc the Date property
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XDateField > xField( getPeer(), uno::UNO_QUERY );
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aValue;
|
2004-04-02 09:33:51 +00:00
|
|
|
if ( xField->isEmpty() )
|
|
|
|
{
|
|
|
|
// the field says it's empty
|
|
|
|
sal_Bool bEnforceFormat = sal_True;
|
|
|
|
if ( xPeer.is() )
|
|
|
|
xPeer->getProperty( GetPropertyName( BASEPROPERTY_ENFORCE_FORMAT ) ) >>= bEnforceFormat;
|
|
|
|
if ( !bEnforceFormat )
|
|
|
|
{
|
|
|
|
// and it also says that it is currently accepting invalid inputs, without
|
|
|
|
// forcing it to a valid date
|
|
|
|
uno::Reference< awt::XTextComponent > xText( xPeer, uno::UNO_QUERY );
|
|
|
|
if ( xText.is() && xText->getText().getLength() )
|
|
|
|
// and in real, the text of the peer is *not* empty
|
|
|
|
// -> simulate an invalid date, which is different from "no date"
|
2013-06-28 00:43:19 +02:00
|
|
|
aValue <<= util::Date();
|
2004-04-02 09:33:51 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
2000-09-18 16:07:07 +00:00
|
|
|
aValue <<= xField->getDate();
|
|
|
|
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_DATE ), aValue, sal_False );
|
|
|
|
|
2004-04-02 09:33:51 +00:00
|
|
|
// multiplex the event
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( GetTextListeners().getLength() )
|
|
|
|
GetTextListeners().textChanged( e );
|
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoDateFieldControl::setDate( const util::Date& Date ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Date;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_DATE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Date UnoDateFieldControl::getDate() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-08-04 01:14:22 +02:00
|
|
|
return ImplGetPropertyValue_Date( BASEPROPERTY_DATE );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoDateFieldControl::setMin( const util::Date& Date ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Date;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_DATEMIN ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Date UnoDateFieldControl::getMin() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-08-04 01:14:22 +02:00
|
|
|
return ImplGetPropertyValue_Date( BASEPROPERTY_DATEMIN );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoDateFieldControl::setMax( const util::Date& Date ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Date;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_DATEMAX ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Date UnoDateFieldControl::getMax() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-08-04 01:14:22 +02:00
|
|
|
return ImplGetPropertyValue_Date( BASEPROPERTY_DATEMAX );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoDateFieldControl::setFirst( const util::Date& Date ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
mnFirst = Date;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:10:14 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XDateField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:10:14 +00:00
|
|
|
xField->setFirst( Date );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Date UnoDateFieldControl::getFirst() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
return mnFirst;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoDateFieldControl::setLast( const util::Date& Date ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
mnLast = Date;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:10:14 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XDateField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:10:14 +00:00
|
|
|
xField->setLast( Date );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Date UnoDateFieldControl::getLast() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
return mnLast;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoDateFieldControl::setLongFormat( sal_Bool bLong ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
mbLongFormat = bLong;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:10:14 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XDateField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:10:14 +00:00
|
|
|
xField->setLongFormat( bLong );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoDateFieldControl::isLongFormat() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-11-06 14:49:00 +00:00
|
|
|
return ( mbLongFormat != 2 ) ? mbLongFormat : sal_False;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoDateFieldControl::setEmpty() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XDateField > xField( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xField->setEmpty();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoDateFieldControl::isEmpty() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
sal_Bool bEmpty = sal_False;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XDateField > xField( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
bEmpty = xField->isEmpty();
|
|
|
|
}
|
|
|
|
return bEmpty;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoDateFieldControl::setStrictFormat( sal_Bool bStrict ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= bStrict;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRICTFORMAT ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoDateFieldControl::isStrictFormat() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_BOOL( BASEPROPERTY_STRICTFORMAT );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlTimeFieldModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlTimeFieldModel::UnoControlTimeFieldModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXTimeField );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlTimeFieldModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlTimeFieldModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlTimeFieldModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlTimeField );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlTimeFieldModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlTimeFieldModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoTimeFieldControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoTimeFieldControl::UnoTimeFieldControl()
|
|
|
|
:UnoSpinFieldControl()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-08-04 01:14:22 +02:00
|
|
|
mnFirst = util::Time( 0, 0, 0, 0, false );
|
|
|
|
mnLast = util::Time( 999999999, 59, 59, 23, false );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoTimeFieldControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("timefield");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoTimeFieldControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XTimeField* >(this)) );
|
2002-09-05 06:53:00 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// lang::XTypeProvider
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_START( UnoTimeFieldControl )
|
2001-01-24 14:00:58 +00:00
|
|
|
getCppuType( ( uno::Reference< awt::XTimeField>* ) NULL ),
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::getTypes()
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
2001-08-10 08:10:14 +00:00
|
|
|
void UnoTimeFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
|
|
|
{
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::createPeer( rxToolkit, rParentPeer );
|
2001-08-10 08:10:14 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTimeField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:10:14 +00:00
|
|
|
xField->setFirst( mnFirst );
|
|
|
|
xField->setLast( mnLast );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoTimeFieldControl::textChanged( const awt::TextEvent& e ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-04-02 09:33:51 +00:00
|
|
|
// also change the text property (#i25106#)
|
|
|
|
uno::Reference< awt::XVclWindowPeer > xPeer( getPeer(), uno::UNO_QUERY );
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString sTextPropertyName = GetPropertyName( BASEPROPERTY_TEXT );
|
2004-04-02 09:33:51 +00:00
|
|
|
ImplSetPropertyValue( sTextPropertyName, xPeer->getProperty( sTextPropertyName ), sal_False );
|
|
|
|
|
|
|
|
// re-calc the Time property
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTimeField > xField( getPeer(), uno::UNO_QUERY );
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aValue;
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( !xField->isEmpty() )
|
2001-12-10 06:33:04 +00:00
|
|
|
aValue <<= xField->getTime();
|
2000-09-18 16:07:07 +00:00
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_TIME ), aValue, sal_False );
|
|
|
|
|
2004-04-02 09:33:51 +00:00
|
|
|
// multiplex the event
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( GetTextListeners().getLength() )
|
|
|
|
GetTextListeners().textChanged( e );
|
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoTimeFieldControl::setTime( const util::Time& Time ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Time;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_TIME ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Time UnoTimeFieldControl::getTime() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-08-04 01:14:22 +02:00
|
|
|
return ImplGetPropertyValue_Time( BASEPROPERTY_TIME );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoTimeFieldControl::setMin( const util::Time& Time ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Time;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_TIMEMIN ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Time UnoTimeFieldControl::getMin() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-08-04 01:14:22 +02:00
|
|
|
return ImplGetPropertyValue_Time( BASEPROPERTY_TIMEMIN );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoTimeFieldControl::setMax( const util::Time& Time ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Time;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_TIMEMAX ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Time UnoTimeFieldControl::getMax() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-08-04 01:14:22 +02:00
|
|
|
return ImplGetPropertyValue_Time( BASEPROPERTY_TIMEMAX );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoTimeFieldControl::setFirst( const util::Time& Time ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
mnFirst = Time;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:10:14 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTimeField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:10:14 +00:00
|
|
|
xField->setFirst( mnFirst );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Time UnoTimeFieldControl::getFirst() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
return mnFirst;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
void UnoTimeFieldControl::setLast( const util::Time& Time ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
mnLast = Time;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:10:14 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTimeField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:10:14 +00:00
|
|
|
xField->setFirst( mnLast );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-08-04 01:14:22 +02:00
|
|
|
util::Time UnoTimeFieldControl::getLast() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:10:14 +00:00
|
|
|
return mnLast;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoTimeFieldControl::setEmpty() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTimeField > xField( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
xField->setEmpty();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoTimeFieldControl::isEmpty() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
sal_Bool bEmpty = sal_False;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XTimeField > xField( getPeer(), uno::UNO_QUERY );
|
2000-09-18 16:07:07 +00:00
|
|
|
bEmpty = xField->isEmpty();
|
|
|
|
}
|
|
|
|
return bEmpty;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoTimeFieldControl::setStrictFormat( sal_Bool bStrict ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= bStrict;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRICTFORMAT ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoTimeFieldControl::isStrictFormat() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_BOOL( BASEPROPERTY_STRICTFORMAT );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlNumericFieldModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlNumericFieldModel::UnoControlNumericFieldModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXNumericField );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlNumericFieldModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlNumericFieldModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlNumericFieldModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlNumericField );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlNumericFieldModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlNumericFieldModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoNumericFieldControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoNumericFieldControl::UnoNumericFieldControl()
|
|
|
|
:UnoSpinFieldControl()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
mnFirst = 0;
|
|
|
|
mnLast = 0x7FFFFFFF;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoNumericFieldControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("numericfield");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoNumericFieldControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XNumericField* >(this)) );
|
2002-09-05 06:53:00 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// lang::XTypeProvider
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_START( UnoNumericFieldControl )
|
2001-01-24 14:00:58 +00:00
|
|
|
getCppuType( ( uno::Reference< awt::XNumericField>* ) NULL ),
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::getTypes()
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
2001-08-10 08:52:16 +00:00
|
|
|
void UnoNumericFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
|
|
|
{
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::createPeer( rxToolkit, rParentPeer );
|
2001-08-10 08:52:16 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XNumericField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:52:16 +00:00
|
|
|
xField->setFirst( mnFirst );
|
|
|
|
xField->setLast( mnLast );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::textChanged( const awt::TextEvent& e ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XNumericField > xField( getPeer(), uno::UNO_QUERY );
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= xField->getValue();
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUE_DOUBLE ), aAny, sal_False );
|
|
|
|
|
|
|
|
if ( GetTextListeners().getLength() )
|
|
|
|
GetTextListeners().textChanged( e );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::setValue( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Value;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUE_DOUBLE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoNumericFieldControl::getValue() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_DOUBLE( BASEPROPERTY_VALUE_DOUBLE );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::setMin( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Value;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUEMIN_DOUBLE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoNumericFieldControl::getMin() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_DOUBLE( BASEPROPERTY_VALUEMIN_DOUBLE );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::setMax( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Value;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUEMAX_DOUBLE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoNumericFieldControl::getMax() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_DOUBLE( BASEPROPERTY_VALUEMAX_DOUBLE );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::setFirst( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
mnFirst = Value;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:52:16 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XNumericField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:52:16 +00:00
|
|
|
xField->setFirst( mnFirst );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoNumericFieldControl::getFirst() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
return mnFirst;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::setLast( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
mnLast = Value;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:52:16 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XNumericField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:52:16 +00:00
|
|
|
xField->setLast( mnLast );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoNumericFieldControl::getLast() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
return mnLast;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::setStrictFormat( sal_Bool bStrict ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= bStrict;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRICTFORMAT ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoNumericFieldControl::isStrictFormat() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_BOOL( BASEPROPERTY_STRICTFORMAT );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::setSpinSize( double Digits ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Digits;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUESTEP_DOUBLE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoNumericFieldControl::getSpinSize() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_DOUBLE( BASEPROPERTY_VALUESTEP_DOUBLE );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoNumericFieldControl::setDecimalDigits( sal_Int16 Digits ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= Digits;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_DECIMALACCURACY ), aAny, sal_True );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Int16 UnoNumericFieldControl::getDecimalDigits() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
return ImplGetPropertyValue_INT16( BASEPROPERTY_DECIMALACCURACY );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlCurrencyFieldModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlCurrencyFieldModel::UnoControlCurrencyFieldModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXCurrencyField );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlCurrencyFieldModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlCurrencyFieldModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlCurrencyFieldModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlCurrencyField );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
if ( nPropId == BASEPROPERTY_CURSYM_POSITION )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= (sal_Bool)sal_False;
|
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlCurrencyFieldModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlCurrencyFieldModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoCurrencyFieldControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoCurrencyFieldControl::UnoCurrencyFieldControl()
|
|
|
|
:UnoSpinFieldControl()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
mnFirst = 0;
|
|
|
|
mnLast = 0x7FFFFFFF;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoCurrencyFieldControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("longcurrencyfield");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoCurrencyFieldControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XCurrencyField* >(this)) );
|
2002-09-05 06:53:00 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// lang::XTypeProvider
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_START( UnoCurrencyFieldControl )
|
2001-01-24 14:00:58 +00:00
|
|
|
getCppuType( ( uno::Reference< awt::XCurrencyField>* ) NULL ),
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::getTypes()
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
2001-08-10 08:52:16 +00:00
|
|
|
void UnoCurrencyFieldControl::createPeer( const uno::Reference< awt::XToolkit > & rxToolkit, const uno::Reference< awt::XWindowPeer > & rParentPeer ) throw(uno::RuntimeException)
|
|
|
|
{
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::createPeer( rxToolkit, rParentPeer );
|
2001-08-10 08:52:16 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XCurrencyField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:52:16 +00:00
|
|
|
xField->setFirst( mnFirst );
|
|
|
|
xField->setLast( mnLast );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::textChanged( const awt::TextEvent& e ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XCurrencyField > xField( getPeer(), uno::UNO_QUERY );
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= xField->getValue();
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUE_DOUBLE ), aAny, sal_False );
|
|
|
|
|
|
|
|
if ( GetTextListeners().getLength() )
|
|
|
|
GetTextListeners().textChanged( e );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::setValue( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Value;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUE_DOUBLE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoCurrencyFieldControl::getValue() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_DOUBLE( BASEPROPERTY_VALUE_DOUBLE );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::setMin( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Value;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUEMIN_DOUBLE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoCurrencyFieldControl::getMin() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_DOUBLE( BASEPROPERTY_VALUEMIN_DOUBLE );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::setMax( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Value;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUEMAX_DOUBLE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoCurrencyFieldControl::getMax() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_DOUBLE( BASEPROPERTY_VALUEMAX_DOUBLE );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::setFirst( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
mnFirst = Value;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:52:16 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XCurrencyField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:52:16 +00:00
|
|
|
xField->setFirst( mnFirst );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoCurrencyFieldControl::getFirst() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
return mnFirst;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::setLast( double Value ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
mnLast = Value;
|
2003-03-27 16:05:12 +00:00
|
|
|
if ( getPeer().is() )
|
2001-08-10 08:52:16 +00:00
|
|
|
{
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XCurrencyField > xField( getPeer(), uno::UNO_QUERY );
|
2001-08-10 08:52:16 +00:00
|
|
|
xField->setLast( mnLast );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoCurrencyFieldControl::getLast() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
return mnLast;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::setStrictFormat( sal_Bool bStrict ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= bStrict;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRICTFORMAT ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoCurrencyFieldControl::isStrictFormat() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_BOOL( BASEPROPERTY_STRICTFORMAT );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::setSpinSize( double Digits ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= Digits;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_VALUESTEP_DOUBLE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
double UnoCurrencyFieldControl::getSpinSize() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_DOUBLE( BASEPROPERTY_VALUESTEP_DOUBLE );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoCurrencyFieldControl::setDecimalDigits( sal_Int16 Digits ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= Digits;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_DECIMALACCURACY ), aAny, sal_True );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Int16 UnoCurrencyFieldControl::getDecimalDigits() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-08-10 08:52:16 +00:00
|
|
|
return ImplGetPropertyValue_INT16( BASEPROPERTY_DECIMALACCURACY );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlPatternFieldModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlPatternFieldModel::UnoControlPatternFieldModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2008-01-14 11:58:14 +00:00
|
|
|
UNO_CONTROL_MODEL_REGISTER_PROPERTIES( VCLXPatternField );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlPatternFieldModel::getServiceName() throw(::com::sun::star::uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlPatternFieldModel );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any UnoControlPatternFieldModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlPatternField );
|
2000-09-18 16:07:07 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlPatternFieldModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
2000-09-18 16:07:07 +00:00
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlPatternFieldModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
2000-09-18 16:07:07 +00:00
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoPatternFieldControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoPatternFieldControl::UnoPatternFieldControl()
|
|
|
|
:UnoSpinFieldControl()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoPatternFieldControl::GetComponentServiceName()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("patternfield");
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoPatternFieldControl::ImplSetPeerProperty( const OUString& rPropName, const uno::Any& rVal )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
sal_uInt16 nType = GetPropertyId( rPropName );
|
|
|
|
if ( ( nType == BASEPROPERTY_TEXT ) || ( nType == BASEPROPERTY_EDITMASK ) || ( nType == BASEPROPERTY_LITERALMASK ) )
|
|
|
|
{
|
2012-08-09 14:47:19 +02:00
|
|
|
// These masks cannot be set consecutively
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString Text = ImplGetPropertyValue_UString( BASEPROPERTY_TEXT );
|
|
|
|
OUString EditMask = ImplGetPropertyValue_UString( BASEPROPERTY_EDITMASK );
|
|
|
|
OUString LiteralMask = ImplGetPropertyValue_UString( BASEPROPERTY_LITERALMASK );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2003-03-27 16:05:12 +00:00
|
|
|
uno::Reference < awt::XPatternField > xPF( getPeer(), uno::UNO_QUERY );
|
2000-11-03 12:55:40 +00:00
|
|
|
if (xPF.is())
|
2007-07-18 07:43:55 +00:00
|
|
|
{
|
|
|
|
// same comment as in UnoControl::ImplSetPeerProperty - see there
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString sText( Text );
|
CWS-TOOLING: integrate CWS dba32b
2009-06-03 14:58:08 +0200 fs r272581 : #i102439#
2009-05-29 13:56:18 +0200 fs r272456 : remove the sub form when the 'add subform' setting changes from <true/> to <false/>, not only its controls
2009-05-29 13:19:27 +0200 fs r272454 : display '(Default)' instead of an empty string when a control has the default font
2009-05-28 20:49:18 +0200 fs r272428 : #i98162# getFirstSelectedValue: do not return reference to a temporary
2009-05-27 15:30:22 +0200 msc r272353 : #102303#
2009-05-26 13:03:06 +0200 fs r272295 : spelling
2009-05-26 12:59:54 +0200 fs r272294 : merge m48 version to get latest cygwin related fixes
2009-05-25 14:02:06 +0200 fs r272239 : remove references to local files, needed for debugging sessions only
2009-05-25 14:01:16 +0200 fs r272238 : #i102021# ensure members such as bNumberFormat are initialized before actually returning them
2009-05-25 13:10:20 +0200 fs r272236 : #i10000# reset ENABLE_EVOAB2
2009-05-22 06:44:45 +0200 oj r272167 : #i99104# add import handler for calc-sett
2009-05-22 06:42:27 +0200 oj r272166 : #i99104# impl NullDate as member
2009-05-22 06:36:22 +0200 oj r272165 : #i99104# handle nulldate from parent model
2009-05-22 06:33:13 +0200 oj r272164 : #i99104# export and import calculation-settings and nulldate
2009-05-22 06:27:50 +0200 oj r272163 : #i99104# export and import calculation-settings and nulldate
2009-05-20 13:29:58 +0200 oj r272118 : #i99911# handle invalid name
2009-05-20 13:28:49 +0200 oj r272117 : #i101261# handle different rowsets
2009-05-20 11:29:55 +0200 msc r272111 : #i100000#
2009-05-20 11:28:27 +0200 msc r272110 : merge in change from dba32a
2009-05-20 11:27:38 +0200 msc r272109 : #102082# CTRL + C does not work
2009-05-20 09:43:36 +0200 oj r272106 : clean up includes
2009-05-20 09:32:15 +0200 oj r272105 : #i99060# merge error resovled now VERTICAL_ALIGN is in both stmt
2009-05-20 08:37:21 +0200 msc r272104 : add workaround for issue #102010#
2009-05-20 08:10:12 +0200 oj r272103 : #i99104# use numberformatkey
2009-05-20 08:07:02 +0200 oj r272102 : #i99104# use column info from rowset
2009-05-20 08:04:43 +0200 oj r272101 : #i102032# use a special column type where prec and scale are the values currently set at the column
2009-05-20 08:03:04 +0200 oj r272100 : #i102032# correct type info, we have to use SQL defined type names
2009-05-19 10:27:02 +0200 oj r272061 : #i99104# export null-date
2009-05-19 08:26:53 +0200 oj r272056 : #i99104# export null-date
2009-05-18 13:15:10 +0200 msc r272014 : add issue #102019#
2009-05-18 11:33:07 +0200 msc r272005 : add issue #102019#
2009-05-18 08:59:45 +0200 msc r271996 : add workaroud for issue #102010#
2009-05-15 10:21:24 +0200 msc r271929 : #101944#
2009-05-11 21:18:30 +0200 fs r271792 : #i99914#
2009-05-08 13:52:06 +0200 oj r271715 : #i96423# remember column span
2009-05-08 11:26:19 +0200 oj r271708 : #i98605# impl new scale mode
2009-05-08 10:33:35 +0200 fs r271706 : SendUserCall: only call into the shape notification routine for UserCall types where this is necessary (performance issue)
2009-05-07 20:52:44 +0200 fs r271698 : outsource ShapeProperty from shapepropertynotifier.hxx
2009-05-07 20:43:33 +0200 fs r271697 : #i99056# use notifyShapePropertyChange, instead of getShapePropertyChangeNotifier - the latter throws if no shape exists, yet
2009-05-07 20:33:58 +0200 fs r271696 : #i99056# +notifyShapePropertyChange: allow notifying chages without checking whether there actually already exists an SvxShape
2009-05-07 16:22:15 +0200 fs r271679 : #i10000# cygwin needs quotes around the classpath
2009-05-07 16:21:37 +0200 fs r271678 : #i10000# cygwin needs quotes around the classpath
2009-05-07 16:01:11 +0200 oj r271677 : #i99914# notify parent handler
2009-05-07 15:54:54 +0200 fs r271676 : #i10000# cygwin needs some quoting
2009-05-07 14:49:48 +0200 oj r271672 : #i99277# quote alias name
2009-05-07 14:48:12 +0200 oj r271671 : #i92538# add ~ in front of type
2009-05-07 14:37:13 +0200 oj r271667 : #i99118# change type from char to varchar
2009-05-07 14:36:23 +0200 oj r271666 : #i99118# clear dest columns when changing to create new table
2009-05-07 13:35:32 +0200 oj r271657 : #i94467# handle type 0 as double as well
2009-05-07 13:20:49 +0200 oj r271655 : i99743# setNull when varchar is no text
2009-05-07 12:58:06 +0200 fs r271651 : initialize the SdrObject's property change notifier after the ctor, if necessary
2009-05-07 11:47:18 +0200 fs r271647 : #i10000#
2009-05-07 10:57:16 +0200 fs r271639 : OPropertyBrowserController::propertyChange: care for the current property state, too, and properly forward it to the UI
2009-05-07 10:18:14 +0200 fs r271636 : onNewComponent: do not ask the map for grid columns, it will throw
2009-05-07 10:09:55 +0200 fs r271634 : #i101623#
2009-05-07 09:53:44 +0200 fs r271631 : #i101622#
2009-05-06 21:55:53 +0200 fs r271615 : #i10000#
2009-05-06 21:10:42 +0200 fs r271611 : #i10000#
2009-05-06 13:11:48 +0200 fs r271583 : #i10000#
2009-05-05 22:29:31 +0200 fs r271559 : proper assertion message
2009-05-05 22:29:03 +0200 fs r271558 : diagnostics
2009-05-05 22:16:16 +0200 fs r271557 : #i10000#
2009-05-05 13:50:32 +0200 fs r271513 : #i10000#
2009-05-05 10:21:50 +0200 fs r271503 : #i10000#
2009-05-05 09:30:26 +0200 fs r271501 : why did those survive the rebase -C step?
2009-05-05 09:18:12 +0200 fs r271500 : #i10000#
2009-05-04 17:08:17 +0200 fs r271475 : CWS-TOOLING: rebase CWS dba32b to trunk@271427 (milestone: DEV300:m47)
2009-05-04 14:51:26 +0200 fs r271456 : line ends
2009-04-30 15:55:27 +0200 fs r271418 : NewURL -> PublicConnectionURL
2009-04-22 21:18:34 +0200 fs r271141 : #i100944#
2009-04-22 09:12:26 +0200 oj r271071 : #i101261# little code change
2009-04-22 09:11:43 +0200 oj r271070 : #i101261# only ask for parameters which aren't set before
2009-04-22 09:11:25 +0200 oj r271069 : #i101261# new grabage container for nodes
2009-04-22 09:11:02 +0200 oj r271068 : #i101261# new grabage container for nodes
2009-04-22 09:10:44 +0200 oj r271067 : #i101261# new grabage container for nodes
2009-04-22 09:10:21 +0200 oj r271066 : #i101261# only ask for parameters which aren't set before
2009-04-22 09:08:24 +0200 oj r271065 : #i101261# only ask for parameters which aren't set before
2009-04-22 09:07:25 +0200 oj r271064 : #i101261# only ask for parameters which aren't set before
2009-04-22 08:49:07 +0200 oj r271062 : #i77501# preview only when needed
2009-04-22 08:45:44 +0200 oj r271061 : #i101261# new prop max rows
2009-04-22 08:44:18 +0200 oj r271060 : #i101261# create dataprovider earlier to avoid the wrong legend in chart
2009-04-22 08:42:48 +0200 oj r271059 : #i101261# handle parameter
2009-04-17 21:00:23 +0200 fs r270954 : #i98350#
2009-04-17 13:54:19 +0200 fs r270942 : #i99565#
2009-04-17 13:51:34 +0200 fs r270940 : #i101153# only localize the (potentially) localizable properties when there really is support at the control model
2009-04-17 11:43:14 +0200 fs r270932 : removed superfluous include
2009-04-17 10:10:15 +0200 fs r270926 : #i10000#
2009-04-17 10:02:36 +0200 fs r270925 : #i10000#
2009-04-17 09:15:13 +0200 fs r270918 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
2009-04-17 09:14:56 +0200 fs r270917 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
2009-04-17 09:13:25 +0200 fs r270915 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
2009-04-17 08:30:34 +0200 fs r270914 : removed unotools/servicehelper.hxx in favour of the (duplicated) comphelper/servicehelper.hxx
2009-04-16 21:05:25 +0200 fs r270903 : #i10000#
2009-04-16 20:43:43 +0200 fs r270902 : #i99056# shape notification outsourced to the SdrObject, this is what all other shape implementations (which only aggregate an SvxShape) have access to, too
2009-04-16 15:57:36 +0200 fs r270891 : #i99056# make SetUnoControlModel virtual
2009-04-16 15:44:02 +0200 fs r270890 : #i99056# let the ScShapeObj notify changes in its Anchor property
2009-04-16 15:36:47 +0200 fs r270889 : #i99056# enable the sheet anchor type property, too
2009-04-16 15:33:45 +0200 fs r270887 : #i99056# shape notification outsourced to the SdrObject, this is what all other shape implementations (which only aggregate an SvxShape) have access to, too
2009-04-15 14:53:13 +0200 fs r270844 : #i10000#
2009-04-15 13:08:29 +0200 fs r270836 : #i10000#
2009-04-15 12:28:14 +0200 fs r270832 : #i10000#
2009-04-15 10:59:14 +0200 fs r270827 : #i10000#
2009-04-15 09:41:08 +0200 oj r270823 : fix issues found with findbugs and pmd
2009-04-14 21:08:04 +0200 fs r270808 : #i99056# implement SheetAnchorType - now the only thing missing to enable it is the proper notification when it is modified
2009-04-14 17:09:00 +0200 fs r270799 : #i99056# implement XServiceInfo for the ScShapeObj
2009-04-14 17:07:55 +0200 fs r270798 : #i99056# implement TextAnchorType, partially implement SheetAnchorType
2009-04-14 15:54:05 +0200 fs r270786 : #i99056# SwXShape: notify changes of the AnchorType property
2009-04-14 15:47:32 +0200 fs r270785 : #i99056# deliver shapepropertynotifier.hxx
2009-04-14 15:46:54 +0200 fs r270784 : diagnostics
2009-04-14 15:08:28 +0200 fs r270781 : #i99056# outsourced the SvxShape's property change notification code into a dedicated class
2009-04-14 14:41:09 +0200 fs r270773 : #i99056# outsourced the SvxShape's property change notification code into a dedicated class
2009-04-14 14:37:23 +0200 fs r270772 : in dtor, remove the properties from the temporary component context
2009-04-14 14:36:34 +0200 fs r270771 : getWeakUnoShape made const
2009-04-14 12:23:08 +0200 oj r270757 : #i101064# add missing braces
2009-04-14 12:21:25 +0200 oj r270756 : #i101065# add braces for gcc 4.3.2
2009-04-14 12:17:45 +0200 oj r270755 : #i101059# add dep for manifest
2009-04-09 12:06:58 +0200 oj r270686 : #i93100# use OptimalSize from control to get height
2009-04-08 09:56:55 +0200 oj r270619 : #i92537# handle calculations in the select columns as well
2009-04-08 09:30:39 +0200 oj r270615 : #i96657# throw error message when the key doesn't have any columns
2009-04-07 12:08:26 +0200 oj r270592 : #i77501# impl preview of the executed report
2009-04-07 12:01:56 +0200 oj r270591 : #i77501# impl preview of the executed report
2009-04-07 11:41:03 +0200 oj r270590 : #i77501# impl preview of the executed report
2009-04-07 11:39:32 +0200 oj r270589 : #i77501# impl preview of the executed report
2009-04-07 11:29:25 +0200 oj r270588 : #i77501# convert dos to unix lineends
2009-04-07 11:28:23 +0200 oj r270587 : #i77501# impl preview of the executed report
2009-04-07 11:16:50 +0200 oj r270586 : #i77501# impl preview of the executed report
2009-04-07 11:16:00 +0200 oj r270585 : #i77501# impl preview of the executed report
2009-04-07 11:15:44 +0200 oj r270584 : #i77501# impl preview of the executed report
2009-04-07 11:15:28 +0200 oj r270583 : #i77501# impl preview of the executed report
2009-04-07 11:15:04 +0200 oj r270582 : #i77501# impl preview of the executed report
2009-04-06 15:38:54 +0200 fs r270559 : merge changes from CWS dba32a herein
2009-04-03 15:56:16 +0200 fs r270494 : ImpSvMEdit::Resize: do multiple iterations, if necessary
2009-04-03 14:35:49 +0200 fs r270487 : #i10000#
2009-04-03 13:17:16 +0200 fs r270476 : #i99056# display geometry information for controls, too
2009-04-03 13:16:37 +0200 fs r270475 : #i99056# better ordering of the geometry properties
2009-04-03 13:16:07 +0200 fs r270473 : #i99056# now that SvxShape supports property change listeners, forward add/remove requests to it
2009-04-03 13:13:18 +0200 fs r270472 : #i99056# at SvxShape, allow for PropertyChangeListeners for Size/Position
2009-04-03 09:29:27 +0200 oj r270456 : #i94571# use correct prop name
2009-04-03 09:14:54 +0200 fs r270451 : merge changes from CWS dba32a herein
2009-04-02 17:00:51 +0200 fs r270424 : better diagnostics
2009-04-02 16:35:19 +0200 fs r270421 : diagnostics
2009-04-02 16:34:50 +0200 fs r270420 : #i99056# mxUnoShape not accessible anymore, use impl_setUnoShape instead
2009-04-02 16:32:48 +0200 fs r270419 : #i99056# make getUnoShape cheaper: keep the pointer to the SvxShape all the time, so there's no need to ask for it in getUnoShape. As a consequence, we will later be able to use the pointer in scenarious where performance (potentially) matters
2009-04-02 16:31:13 +0200 fs r270417 : merge changes from CWS dba32a herein
2009-04-02 16:23:16 +0200 fs r270414 : merge changes from CWS dba32a herein
2009-04-02 14:10:35 +0200 fs r270405 : #i10000#
2009-04-02 14:06:26 +0200 fs r270404 : merge changes from CWS dba32a herein
2009-04-02 14:03:03 +0200 fs r270401 : #i10000#
2009-04-02 13:58:13 +0200 fs r270400 : #i10000#
2009-04-02 12:59:44 +0200 fs r270397 : merge changes from CWS dba32a herein
2009-04-02 12:46:30 +0200 fs r270396 : #i99056# let the form page maintain a mapping between control models and control shapes
2009-04-02 12:44:07 +0200 fs r270395 : merge changes from CWS dba32a herein
2009-04-02 12:42:06 +0200 fs r270394 : merge changes from CWS dba32a herein
2009-04-02 12:35:20 +0200 fs r270393 : #i10000# precompiled header
2009-04-02 12:05:31 +0200 fs r270392 : merge changes from CWS dba32a herein
2009-04-02 12:00:42 +0200 fs r270391 : merge changes from CWS dba32a herein
2009-04-02 11:47:26 +0200 fs r270390 : merge changes from CWS dba32a herein
2009-04-02 11:39:15 +0200 oj r270389 : #i94467# foxpro impl several new types
2009-04-02 11:35:58 +0200 fs r270387 : merge changes from CWS dba32a herein
2009-04-01 14:10:51 +0200 fs r270329 : merge changes from CWS dba32a herein
2009-03-31 17:29:50 +0200 fs r270290 : merge changes from CWS dba32a herein
2009-03-30 14:53:56 +0200 fs r270233 : #i100417# don't set grid column widths to 0, but to <void/>
2009-03-30 12:31:03 +0200 oj r270213 : #i100552# wrong orb used
2009-03-30 12:19:20 +0200 oj r270212 : #i98303# convertlike corrected to sal_Unicode
2009-03-30 11:58:25 +0200 fs r270210 : merge changes from CWS dba32a herein
2009-03-30 11:38:16 +0200 oj r270205 : remove duplicate code from merge
2009-03-30 11:02:27 +0200 fs r270202 : merge changes from CWS dba32a herein
2009-03-30 11:02:19 +0200 fs r270201 : merge changes from CWS dba32a herein
2009-03-30 10:31:26 +0200 oj r270200 : #i100665# only throw exception and do not drop table
2009-03-30 09:36:24 +0200 fs r270195 : assertion text
2009-03-28 20:21:58 +0100 fs r270187 : #ii10000#
2009-03-28 20:19:54 +0100 fs r270186 : removed unused help ids
2009-03-28 20:19:40 +0100 fs r270185 : removed unused help ids
2009-03-28 20:19:10 +0100 fs r270184 : #i100237# +DefaultState/XReset
2009-03-28 00:29:29 +0100 fs r270177 : CWS-TOOLING: rebase CWS dba32b to trunk@270033 (milestone: DEV300:m45)
2009-03-27 22:56:46 +0100 fs r270173 : #i100237# DEFAULT_CHECKED -> DEFAULT_STATE
2009-03-27 22:55:52 +0100 fs r270172 : #i100237# DefaultState property for buttons, enabled only when Toggle=Yes
2009-03-27 22:54:15 +0100 fs r270171 : #i100237# DEFAULT_CHECKED -> DEFAULT_STATE
2009-03-27 22:53:54 +0100 fs r270170 : #i100237# introduce a DefaultState property for buttons, which implies buttongs supporting XReset, which needed some refactoring
2009-03-27 13:31:41 +0100 fs r270152 : ignore output paths
2009-03-27 11:23:44 +0100 fs r270139 : tuned behavior with respect to invalid keys/values
2009-03-27 09:57:14 +0100 fs r270136 : don't allow Double.NaN
2009-03-27 09:56:16 +0100 fs r270135 : talk about Double.NaN
2009-03-26 12:14:30 +0100 fs r270067 : removed unused parameter
2009-03-26 12:14:02 +0100 fs r270066 : removed widening conversion when checking keys
2009-03-26 09:17:34 +0100 fs r270053 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
2009-03-26 09:17:11 +0100 fs r270052 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
2009-03-26 09:16:49 +0100 fs r270051 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
2009-03-25 21:55:20 +0100 fs r270044 : #i100541# properly calculat bNeedScrollBox
2009-03-25 12:56:17 +0100 fs r270019 : renamed the previously introduced error condition
2009-03-25 12:11:48 +0100 fs r270015 : #i100095# when the error messages contain non-trivial details (SQLState/ErrorCode), then always display the 'Details' button
2009-03-25 12:10:05 +0100 fs r270012 : renamed the previously introduced error condition
2009-03-25 12:01:04 +0100 fs r270011 : #i100095# when no address book (or respective profile) can be found, then use a dedicated ErrorCondition
2009-03-25 10:29:07 +0100 fs r270003 : add missing localization
2009-03-25 10:23:12 +0100 fs r270001 : in preparation of #i1000095#:
rework the error handling, allow using css.sdb.ErrorCondition values, plus
allow propagating the nsresult
2009-03-25 10:21:55 +0100 fs r270000 : in preparation of #i1000095#:
rework the error handling, allow using css.sdb.ErrorCondition values, plus
allow propagating the nsresult
2009-03-20 23:05:38 +0100 fs r269829 : XMap::getSize removed
2009-03-20 23:05:19 +0100 fs r269828 : changes as suggested by sb
2009-03-20 23:04:56 +0100 fs r269827 : enhanced documentation
2009-03-20 15:31:40 +0100 fs r269815 : changes as suggested by sb
2009-03-20 13:23:52 +0100 oj r269804 : #i92538# correct the zorder that fixedtext is infront of control
2009-03-20 12:59:38 +0100 oj r269801 : #i94571# paraadjust now supports BLOCK
2009-03-20 12:58:11 +0100 oj r269800 : #i94571# export style with data style
2009-03-20 12:57:05 +0100 oj r269799 : #i94571# text align is now paraadjust
2009-03-20 12:37:02 +0100 fs r269797 : enum keys only accepted if they have the exact type, not if they have *any* enum type
2009-03-20 12:28:31 +0100 fs r269794 : some changes requested by sb
2009-03-20 08:52:47 +0100 fs r269780 : doc
2009-03-20 07:37:31 +0100 oj r269779 : #i99913# only notifiy when values are different
2009-03-20 07:36:58 +0100 oj r269778 : #i99913# add undoenv as listener at the dataprovider
2009-03-19 22:52:52 +0100 fs r269771 : added comment
2009-03-19 22:40:06 +0100 fs r269770 : +testEnumeration
2009-03-19 22:39:41 +0100 fs r269769 : implemented enumeration, getKeySet, and getValues. Should be finished now.
2009-03-19 14:01:01 +0100 oj r269743 : #i99913# reset the modified state when selecting an object
2009-03-19 12:19:54 +0100 lla r269739 : #i72390# cleanups
2009-03-19 09:25:27 +0100 fs r269727 : #i10000#
2009-03-18 23:37:02 +0100 fs r269708 : extended checks for value type acceptance
2009-03-18 23:36:41 +0100 fs r269707 : fixed value type checks
2009-03-18 14:59:56 +0100 fs r269678 : initial complex test case for the new css.container.Map implementation
2009-03-18 14:59:24 +0100 fs r269677 : verifyExpectedException moved to base class (in complexlib), and renamed to assureException for consistency
2009-03-18 14:58:35 +0100 fs r269676 : removed unused imports
2009-03-18 14:58:03 +0100 fs r269675 : first implementation of the new css.container.Map service (not completed, yet)
2009-03-18 14:57:17 +0100 fs r269674 : base class for UNO components, freeing you from some repeating work
2009-03-18 14:55:53 +0100 fs r269672 : +assureException: call a given method with given parameters on a given object, ensure that a given exception is thrown by the method implementation
2009-03-18 14:54:58 +0100 fs r269671 : +getComponentContext
2009-03-18 14:54:00 +0100 fs r269670 : isEmpty returns a boolean, not a long
2009-03-18 14:14:43 +0100 oj r269663 : #i99743# now text also supports null
2009-03-18 13:54:14 +0100 oj r269660 : #i99223# remove check for 2 params
2009-03-18 13:33:35 +0100 oj r269659 : #i99060# replace text::ParagraphVertAlign with style::VerticalAlignment
2009-03-18 13:32:18 +0100 oj r269658 : #i99060# don't set void property when void isn't allowed
2009-03-18 13:31:11 +0100 oj r269657 : #i99060# handle vertical alignment
2009-03-18 13:28:28 +0100 oj r269656 : #i99060# remove unused elements from sytle
2009-03-18 09:35:42 +0100 lla r269639 : #i72390# cleanups
2009-03-18 09:31:20 +0100 lla r269638 : #i72390# add ButtonList
2009-03-18 09:30:46 +0100 lla r269637 : #i72390# renamed interface
2009-03-18 09:30:15 +0100 lla r269636 : #i72390# use ButtonList instead of ImageList
2009-03-18 09:29:05 +0100 lla r269635 : #i72390# new ButtonList, cleanups
2009-03-18 09:26:34 +0100 lla r269634 : #i72390# cleanups
2009-03-17 12:21:20 +0100 oj r269590 : #i99222# remove assertion
2009-03-17 12:17:22 +0100 oj r269589 : #i98605# impl scale mode
2009-03-17 12:10:42 +0100 oj r269588 : #i98605# impl scale mode
2009-03-17 11:40:15 +0100 oj r269584 : #i96944# doesn't create equation for shapes
2009-03-17 11:33:16 +0100 oj r269583 : #i96423# switch calc from float to long
2009-03-16 15:19:18 +0100 fs r269550 : #i41930# enable zoom for embedded/outplace documents
2009-03-16 14:25:54 +0100 oj r269542 : #i93734# remove ContextSensitive
2009-03-16 14:21:58 +0100 oj r269541 : #i99274# page header before group header
2009-03-16 14:18:23 +0100 oj r269539 : #i99110# fix value type
2009-03-16 14:14:16 +0100 fs r269537 : line ends
2009-03-16 14:11:06 +0100 fs r269535 : line ends
2009-03-16 14:08:34 +0100 fs r269534 : #i100087# (provided my np): allow for polymorphic types with more than one parameter
2009-03-16 12:30:31 +0100 oj r269521 : compile error
2009-03-16 12:19:12 +0100 oj r269519 : compile error
2009-03-16 10:39:28 +0100 oj r269511 : compile error under linux with swap
2009-03-13 10:33:04 +0100 oj r269462 : CWS-TOOLING: rebase CWS dba32b to trunk@269297 (milestone: DEV300:m43)
2009-03-12 14:37:25 +0100 fs r269416 : interface SequenceOutputStreamTest is unneeded, and pollutes the namespace here :)
2009-03-12 14:35:07 +0100 fs r269414 : not needed
2009-03-12 14:34:15 +0100 fs r269413 : preparation for multiple tests in this module
2009-03-12 14:33:02 +0100 fs r269412 : ShowTargets was moved from module integration.forms to module complexlib
2009-03-12 14:32:48 +0100 fs r269411 : helper class for projects containing multiple complex test cases (and following a certain structure)
2009-03-12 14:00:14 +0100 fs r269407 : proper module after the move
2009-03-12 13:59:10 +0100 fs r269406 : superseded by ../makefile.mk
2009-03-12 13:47:38 +0100 fs r269403 : not needed anymore
2009-03-12 13:45:46 +0100 fs r269402 : moved, in preparation of adding more test cases here, with a common infrastructure
2009-03-12 13:45:07 +0100 fs r269401 : moved from ../
2009-03-12 13:43:59 +0100 fs r269400 : moved to ./comphelper, in preparation of adding more test cases here, with a common infrastructure
2009-03-12 13:29:47 +0100 oj r269396 : #i99914# set parent on dataprovider
2009-03-12 13:10:35 +0100 oj r269393 : #i99832# check thrown exception and show error
2009-03-12 13:08:10 +0100 fs r269392 : reorganizing tests
2009-03-12 12:52:55 +0100 oj r269390 : #i99118# convert formatkey in numberformat
2009-03-12 12:34:53 +0100 fs r269388 : new API tests
2009-03-12 12:29:05 +0100 fs r269386 : Map not yet committed
2009-03-12 12:28:36 +0100 fs r269385 : oops, forgot the SequenceInputStream during the previous refactoring
2009-03-12 12:12:39 +0100 oj r269384 : #i99104# set HasCategories prop
2009-03-12 12:12:08 +0100 oj r269383 : #i99104# check HasCategories even for internal dataprovider
2009-03-12 12:10:40 +0100 oj r269382 : #i99104# set HasCategories prop
2009-03-12 10:51:49 +0100 fs r269373 : #i10000# exception specifications
2009-03-12 10:49:18 +0100 fs r269372 : #i10000# exception specifications
2009-03-12 10:44:02 +0100 fs r269371 : #i10000# exception specifications
2009-03-12 10:30:55 +0100 fs r269368 : refactored the UNO service registration in this module, using the helper classes provided by comphelper itself, so you have less effort when extending the list of to-be-registered components
2009-03-12 10:30:37 +0100 fs r269367 : module-local includes
2009-03-12 07:05:54 +0100 oj r269357 : #i99104# database dataprovider doesn't need dataranges and diagramdata
2009-03-11 10:58:28 +0100 oj r269306 : #i99911# check if name of the report is a valid file name
2009-03-11 10:03:23 +0100 oj r269299 : #i99666# the report is new when the HierarchicalDocumentName is empty
2009-03-10 11:32:45 +0100 oj r269258 : #i99221# use fallback for language
2009-03-10 10:48:40 +0100 oj r269255 : #i99433# now use OStringBuffer
2009-03-10 10:36:21 +0100 fs r269252 : initial version of (X)Map
2009-03-10 09:52:23 +0100 oj r269246 : #i99433# now use OStringBuffer
2009-03-10 08:56:13 +0100 oj r269240 : #i99655# patch applied
2009-03-09 07:35:33 +0100 lla r269058 : #i10000# wrong variable assignment fixed
2009-03-06 17:20:40 +0100 fs r269030 : some explicit defaults
2009-03-06 17:20:30 +0100 fs r269029 : #i98600#
2009-03-06 14:40:34 +0100 fs r269009 : #i87692# during reload, prevent the document being modified just because of some control content changes ...
2009-03-06 12:52:20 +0100 lla r268997 : #i10000# ambigous problem with FontWeight fixed
2009-03-06 11:39:32 +0100 fs r268989 : #i10000# (approved by pl): use --without-t1-library configure option
2009-03-06 10:55:43 +0100 fs r268986 : #i99953# depends on xmlscript module now
2009-03-06 10:54:04 +0100 fs r268985 : #i99953# also adjust the event names found in dialogs embedded in the forms
2009-03-06 09:53:41 +0100 fs r268977 : #i10000#
2009-03-06 09:30:41 +0100 lla r268973 : #i10000# merge problems
2009-03-05 17:52:34 +0100 fs r268932 : #i98593# for sub components which are actually controlled by a DocumentDefinition (aka XComponentSupplier aka XCommandProcessor), close them by executing the 'close' command, not by suspending/closing the controller (which cannot be intercepted)
2009-03-05 11:41:56 +0100 fs r268889 : default the drop down line count for list/combo boxes to 20
2009-03-05 11:39:10 +0100 fs r268887 : do not display empty error messages
2009-03-02 10:13:57 +0100 lla r268639 : #i91541# CWS rebase m41 to m42
2009-03-02 09:06:27 +0100 lla r268635 : #i10000# add ';' to strings
2009-02-26 11:18:00 +0100 fs r268492 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN
2009-02-26 10:11:38 +0100 lla r268489 : CWS-TOOLING: rebase CWS dba32b to trunk@268395 (milestone: DEV300:m42)
2009-02-26 09:04:11 +0100 lla r268488 : CWS-TOOLING: rebase CWS dba32b to trunk@268395 (milestone: DEV300:m42)
2009-02-24 12:09:13 +0100 lla r268392 : #i91541# #i91542# cleanups
2009-02-24 08:08:06 +0100 lla r268382 : merge all dba32a changes into dba32b
2009-02-24 07:14:55 +0100 lla r268381 : merge all dba32a changes into dba32b
2009-02-23 21:44:28 +0100 fs r268377 : oops ... don't tamper with m_aListSourceValues at the end of loadData
2009-02-23 20:57:05 +0100 fs r268376 : #i98162# don't hold the values as strings, but as ORowSetValue, this way preserving their type, and being agnostic to different result/rowset implementations doing different to-string-conversations
2009-02-23 20:55:44 +0100 fs r268375 : getObject: throwFunctionNotSupportedException, instead of silently returning NULL
2009-02-23 20:55:20 +0100 fs r268374 : #i98162# some more supported types
2009-02-23 20:54:43 +0100 fs r268373 : #i98162# +operator !=
2009-02-20 09:35:39 +0100 fs r268306 : #i99422# for a font, display the font name, the style, and the size
2009-02-20 09:33:45 +0100 fs r268305 : #i99422# in the property browser, FONT supersedes CHARFONTNAME: the aggregated FormComponentHandler displays them more nicely now
2009-02-19 16:12:06 +0100 fs r268293 : #i99372# recognize DataType::FLOAT as numeric
2009-02-19 15:43:12 +0100 fs r268291 : #i99415#
2009-02-19 15:40:15 +0100 fs r268290 : #i99242# lcl_firstFocussableControl: take disabled controls into account
2009-02-19 15:34:36 +0100 fs r268289 : #i99396# properly decode the base name of the URL when using it as title
2009-02-19 15:19:05 +0100 fs r268287 : #i98247#
2009-06-05 09:47:55 +00:00
|
|
|
ImplCheckLocalize( sText );
|
2007-07-18 07:43:55 +00:00
|
|
|
xPF->setString( sText );
|
2000-11-03 12:55:40 +00:00
|
|
|
xPF->setMasks( EditMask, LiteralMask );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
else
|
2002-09-05 07:54:42 +00:00
|
|
|
UnoSpinFieldControl::ImplSetPeerProperty( rPropName, rVal );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoPatternFieldControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XPatternField* >(this)) );
|
2002-09-05 06:53:00 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoSpinFieldControl::queryAggregation( rType ));
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
// lang::XTypeProvider
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_START( UnoPatternFieldControl )
|
2001-01-24 14:00:58 +00:00
|
|
|
getCppuType( ( uno::Reference< awt::XPatternField>* ) NULL ),
|
2002-09-05 06:53:00 +00:00
|
|
|
UnoSpinFieldControl::getTypes()
|
2000-09-18 16:07:07 +00:00
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoPatternFieldControl::setString( const OUString& rString ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
setText( rString );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoPatternFieldControl::getString() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return getText();
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoPatternFieldControl::setMasks( const OUString& EditMask, const OUString& LiteralMask ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= EditMask;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_EDITMASK ), aAny, sal_True );
|
|
|
|
aAny <<= LiteralMask;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_LITERALMASK ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
void UnoPatternFieldControl::getMasks( OUString& EditMask, OUString& LiteralMask ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
EditMask = ImplGetPropertyValue_UString( BASEPROPERTY_EDITMASK );
|
|
|
|
LiteralMask = ImplGetPropertyValue_UString( BASEPROPERTY_LITERALMASK );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
void UnoPatternFieldControl::setStrictFormat( sal_Bool bStrict ) throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-01-24 14:00:58 +00:00
|
|
|
uno::Any aAny;
|
2000-09-18 16:07:07 +00:00
|
|
|
aAny <<= bStrict;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_STRICTFORMAT ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
2001-01-24 14:00:58 +00:00
|
|
|
sal_Bool UnoPatternFieldControl::isStrictFormat() throw(uno::RuntimeException)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_BOOL( BASEPROPERTY_STRICTFORMAT );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2001-04-26 08:09:16 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlProgressBarModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlProgressBarModel::UnoControlProgressBarModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2001-04-26 08:09:16 +00:00
|
|
|
{
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_BACKGROUNDCOLOR );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_BORDER );
|
2004-07-05 14:57:14 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_BORDERCOLOR );
|
2001-04-26 08:09:16 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_DEFAULTCONTROL );
|
2001-05-04 12:23:35 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_ENABLED );
|
CWS-TOOLING: integrate CWS dba32c
2009-06-29 20:53:25 +0200 fs r273484 : #i103138# Rectangle conversion
2009-06-29 20:51:50 +0200 fs r273483 : #i103138# yet more refactoring, now also setting the proper zoom level at the proper point in time
2009-06-29 13:40:26 +0200 fs r273470 : added svn:ignore to ignore output paths
2009-06-29 10:08:54 +0200 fs r273455 : #i103138#
refactored the code for positioning/zooming the control
Basically, we now allow adjustControlGeometry_throw (formerly known as positionControl_throw and setControlZoom) to
take an additional ViewTransformation parameter, describing the transformation to obtain the actual
control position/size. Consequently, positionControl itself also allows for a ViewTransformation parameter.
This has become necessary since during painting, the device which we created our control for might not necessarily
have a proper MapMode set. In this case, if we would use this map mode for calculating the control's position/size,
this would lead to wrong results.
Note that this problem was introduced by the fix for #i101398#: During the fix, we postponed the control creation
to a later time (when it is really needed). At this later time, the MapMode at the device is broken, at the earlier
time where we formerly crearted the control (createPrimitive2DSequence), it is not yet broken.
Whether or not the MapMode is defined as "broken" might depend on one's point of view, however ...
I consider it broken, since:
- we need the map mode to obtain the proper zoom level, which is to be forwarded to the control
- there are scenarios where the MapMode is *not* set to MAP_PIXEL (in those scenarios, everything works
fine), and there are scenarios where it *is* set to MAP_PIXEL (in those the bug 103138 appears).
It somehow feels wrong that one cannot rely on the device's map mode this way, but on the other hand
one has no possibility to obtain the current zoom by other means.
Note that one issue (still to be submitted) is left: In the page pane of a Draw/Impress document, controls
have a wrong text size. This is because in this pane, the above-mentioned "broken" map mode is used,
which means the controls have a zoom of "1:1" set, which is wrong here.
2009-06-25 13:41:35 +0200 msc r273380 : #100000# the tabs changed die to new properties
2009-06-24 12:42:40 +0200 msc r273330 : #102082# remove issue warning
2009-06-22 10:43:14 +0200 fs r273201 : createPrimitive2DSequence: care for being disposed
2009-06-18 12:35:13 +0200 oj r273109 : #i102305# make nooptfiles for gcc
2009-06-17 12:14:37 +0200 oj r273056 : #i102305# fix for linux
2009-06-17 07:20:22 +0200 oj r273046 : #i102305# move ValueTransfer into the for loop to avoid a crash under Linux
2009-06-17 07:17:28 +0200 oj r273045 : #i102305# use varchar
2009-06-15 14:11:27 +0200 fs r272983 : added since tag
2009-06-15 12:11:39 +0200 oj r272973 : #i102305# SAL_DLLPUBLIC_EXPORT inserted
2009-06-15 11:08:53 +0200 fs r272969 : #i10000#
2009-06-15 09:25:13 +0200 fs r272963 : merging fix for P1 issue #i102701#
2009-06-11 11:31:24 +0200 fs r272858 : #i10000# copied the fix which before the rebase was done in ../dialog/macropg.src
2009-06-11 09:38:14 +0200 fs r272846 : CWS-TOOLING: rebase CWS dba32c to trunk@272827 (milestone: DEV300:m50)
2009-06-02 09:53:10 +0200 fs r272483 : #i10000#
2009-05-29 15:55:03 +0200 fs r272465 : #i100818#
2009-05-29 12:58:43 +0200 fs r272452 : don't apply comphelper::getString on possibly VOID any
2009-05-29 10:38:35 +0200 oj r272437 : #i101519# handle where condition
2009-05-29 09:53:39 +0200 fs r272434 : #i100818# call into releaseStubs /without/ locked GlobalMutex
2009-05-28 07:53:44 +0200 oj r272375 : #i101369# parse tree changed
2009-05-27 14:53:36 +0200 fs r272347 : #i10000#
2009-05-27 09:29:15 +0200 oj r272327 : #i101626# check for double before hard cast
2009-05-27 09:13:58 +0200 oj r272326 : #i101626# handle void correctly
2009-05-27 08:04:39 +0200 oj r272321 : #i102256# wrong method signature used
2009-05-27 07:55:52 +0200 oj r272320 : #i101519# look up parameter typ if used in function
2009-05-27 06:49:07 +0200 oj r272319 : #i101519# set parameter from rowset as well
2009-05-26 13:30:56 +0200 oj r272297 : #i101987# impl XBatchExecution
2009-05-26 12:44:34 +0200 oj r272293 : #i101700# check if group is not set
2009-05-26 12:16:53 +0200 oj r272290 : #i101369# resolved some reduce7reduce problems with boolean_term and search_condition
2009-05-26 12:12:42 +0200 oj r272289 : #i101369# fix for or on one line criteria
2009-05-25 16:02:25 +0200 fs r272257 : #i999704# +PROPERTY_MOUSE_WHEEL_BEHAVIOR
2009-05-25 16:01:55 +0200 fs r272256 : merging the changes from CWS dba32b herein
2009-05-25 15:49:57 +0200 fs r272254 : #i999704#
2009-05-25 15:32:57 +0200 fs r272252 : #i99704# grid columns also to respect the MouseWheelBehavior property
2009-05-25 15:23:43 +0200 fs r272251 : don't pass empty Anys to ::comphelper::getString
2009-05-25 14:48:43 +0200 fs r272248 : merged changes from CWS dba32b herein
2009-05-25 14:44:40 +0200 fs r272247 : #i99704# support new MouseWheelBehavior property
2009-05-25 14:43:18 +0200 fs r272246 : #i99704# WheelWithoutFocus (peer property) superseded by MouseWheelBehavior (model property)
2009-05-25 14:41:03 +0200 fs r272245 : #i99704# no need to set the mouse wheel behavior at the peer, this is now a model property, having the right default
2009-05-25 14:39:31 +0200 fs r272243 : removed dead import
2009-05-25 14:35:36 +0200 fs r272242 : the new EnableVisible doesn't make sense for grid columns
2009-05-25 14:34:33 +0200 fs r272241 : #i99704# +MouseWheelBehavior - allow to enable/disable the mouse wheel for the control, or make it focus-dependent
2009-05-25 14:26:11 +0200 fs r272240 : #i99704# change MouseSettings wheel flag (NoWheelActionWithoutFocus) to a three-state option, allowing to completely ignore the mouse wheel
2009-05-23 21:35:59 +0200 fs r272213 : localize 'sub component opened/closed' event
2009-05-22 21:42:47 +0200 fs r272211 : #i102003#
2009-05-22 21:42:20 +0200 fs r272210 : grammar
2009-05-22 21:36:10 +0200 fs r272209 : #i102140# load only once, not twice, and show error messages during loading (and during any form action, that is) asynchronously
2009-05-22 21:35:11 +0200 fs r272208 : #i102140# +clear
2009-05-22 14:50:30 +0200 fs r272194 : #i102139# for newly created DB docs, set the MacroExecutionMode to USE_CONFIG
2009-05-22 12:03:42 +0200 fs r272180 : #i88878#
provided by noel.power@novell.com
implement a visibility property (EnableVisible) for toolkit controls, and usage in forms and UNO dialogs
2009-05-15 15:37:31 +0200 fs r271942 : #i100671# corrected some @since tags, so autodoc has better chances of correctly reading them
2009-05-15 15:33:11 +0200 fs r271940 : don't call comphelper::getFOO for VOID values
2009-05-15 15:08:31 +0200 fs r271937 : includes
2009-05-15 13:39:22 +0200 fs r271934 : #i101398# createPrimitive2DSequence: when we already have a control, use the old code. In particular, call positionControlForPaint
2009-05-15 12:33:48 +0200 fs r271933 : make the geometry a part of the ControlPrimitive2D's identity
2009-05-15 10:15:44 +0200 fs r271928 : #i10000#
2009-05-14 20:55:38 +0200 fs r271921 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:55:31 +0200 fs r271920 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:23:23 +0200 fs r271919 : #i101622#
2009-05-14 16:04:38 +0200 fs r271898 : don't use comphelper::getInt32 on voids
2009-05-14 16:04:12 +0200 fs r271897 : merge fix for issue whose number just slipped my memory ... (originally fixed in CWS dba32b)
2009-05-14 15:36:55 +0200 fs r271895 : merging changes from DEV300:m48
2009-05-07 14:43:19 +0200 fs r271670 : #i101477#
2009-05-07 14:37:30 +0200 fs r271668 : #i101477#
2009-05-07 09:27:30 +0200 oj r271628 : #i101343# remove pch
2009-05-06 09:36:02 +0200 fs r271568 : getFoo: diagnostics
2009-05-04 09:23:06 +0200 oj r271438 : CWS-TOOLING: rebase CWS dba32c to trunk@271427 (milestone: DEV300:m47)
2009-04-29 23:18:13 +0200 fs r271394 : #i101398# use a dedicated 2DPrimitive for UNO Controls, which is able to provide the B2DRange *without* actually creating the control
2009-04-29 13:52:25 +0200 fs r271366 : #i101308#
2009-07-03 14:21:50 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_ENABLEVISIBLE );
|
2001-04-26 08:09:16 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_FILLCOLOR );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_HELPTEXT );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_HELPURL );
|
2001-05-02 14:21:44 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_PRINTABLE );
|
2001-04-26 08:09:16 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_PROGRESSVALUE );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_PROGRESSVALUE_MAX );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_PROGRESSVALUE_MIN );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlProgressBarModel::getServiceName( ) throw(::com::sun::star::uno::RuntimeException)
|
2001-04-26 08:09:16 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlProgressBarModel );
|
2001-04-26 08:09:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
uno::Any UnoControlProgressBarModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlProgressBar );
|
2001-04-26 08:09:16 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlProgressBarModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlProgressBarModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoProgressBarControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoProgressBarControl::UnoProgressBarControl()
|
|
|
|
:UnoControlBase()
|
2001-04-26 08:09:16 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoProgressBarControl::GetComponentServiceName()
|
2001-04-26 08:09:16 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("ProgressBar");
|
2001-04-26 08:09:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// uno::XInterface
|
|
|
|
uno::Any UnoProgressBarControl::queryAggregation( const uno::Type & rType ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
uno::Any aRet = ::cppu::queryInterface( rType,
|
2012-05-04 15:51:56 +02:00
|
|
|
(static_cast< awt::XProgressBar* >(this)) );
|
2001-04-26 08:09:16 +00:00
|
|
|
return (aRet.hasValue() ? aRet : UnoControlBase::queryAggregation( rType ));
|
|
|
|
}
|
|
|
|
|
|
|
|
// lang::XTypeProvider
|
|
|
|
IMPL_XTYPEPROVIDER_START( UnoProgressBarControl )
|
|
|
|
getCppuType( ( uno::Reference< awt::XProgressBar>* ) NULL ),
|
|
|
|
UnoControlBase::getTypes()
|
|
|
|
IMPL_XTYPEPROVIDER_END
|
|
|
|
|
|
|
|
// ::com::sun::star::awt::XProgressBar
|
|
|
|
void UnoProgressBarControl::setForegroundColor( sal_Int32 nColor ) throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= nColor;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_FILLCOLOR ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoProgressBarControl::setBackgroundColor( sal_Int32 nColor ) throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= nColor;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_BACKGROUNDCOLOR ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoProgressBarControl::setValue( sal_Int32 nValue ) throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
|
|
|
aAny <<= nValue;
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_PROGRESSVALUE ), aAny, sal_True );
|
|
|
|
}
|
|
|
|
|
|
|
|
void UnoProgressBarControl::setRange( sal_Int32 nMin, sal_Int32 nMax ) throw(::com::sun::star::uno::RuntimeException )
|
|
|
|
{
|
|
|
|
uno::Any aMin;
|
|
|
|
uno::Any aMax;
|
|
|
|
|
|
|
|
if ( nMin < nMax )
|
|
|
|
{
|
|
|
|
// take correct min and max
|
|
|
|
aMin <<= nMin;
|
|
|
|
aMax <<= nMax;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
// change min and max
|
|
|
|
aMin <<= nMax;
|
|
|
|
aMax <<= nMin;
|
|
|
|
}
|
|
|
|
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_PROGRESSVALUE_MIN ), aMin, sal_True );
|
|
|
|
ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_PROGRESSVALUE_MAX ), aMax, sal_True );
|
|
|
|
}
|
|
|
|
|
|
|
|
sal_Int32 UnoProgressBarControl::getValue() throw(::com::sun::star::uno::RuntimeException)
|
|
|
|
{
|
|
|
|
return ImplGetPropertyValue_INT32( BASEPROPERTY_PROGRESSVALUE );
|
2001-05-02 11:31:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2001-05-04 08:04:05 +00:00
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoControlFixedLineModel
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoControlFixedLineModel::UnoControlFixedLineModel( const Reference< XComponentContext >& rxContext )
|
|
|
|
:UnoControlModel( rxContext )
|
2001-05-04 08:04:05 +00:00
|
|
|
{
|
2007-11-26 15:27:53 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_BACKGROUNDCOLOR );
|
2001-05-04 08:04:05 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_DEFAULTCONTROL );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_ENABLED );
|
CWS-TOOLING: integrate CWS dba32c
2009-06-29 20:53:25 +0200 fs r273484 : #i103138# Rectangle conversion
2009-06-29 20:51:50 +0200 fs r273483 : #i103138# yet more refactoring, now also setting the proper zoom level at the proper point in time
2009-06-29 13:40:26 +0200 fs r273470 : added svn:ignore to ignore output paths
2009-06-29 10:08:54 +0200 fs r273455 : #i103138#
refactored the code for positioning/zooming the control
Basically, we now allow adjustControlGeometry_throw (formerly known as positionControl_throw and setControlZoom) to
take an additional ViewTransformation parameter, describing the transformation to obtain the actual
control position/size. Consequently, positionControl itself also allows for a ViewTransformation parameter.
This has become necessary since during painting, the device which we created our control for might not necessarily
have a proper MapMode set. In this case, if we would use this map mode for calculating the control's position/size,
this would lead to wrong results.
Note that this problem was introduced by the fix for #i101398#: During the fix, we postponed the control creation
to a later time (when it is really needed). At this later time, the MapMode at the device is broken, at the earlier
time where we formerly crearted the control (createPrimitive2DSequence), it is not yet broken.
Whether or not the MapMode is defined as "broken" might depend on one's point of view, however ...
I consider it broken, since:
- we need the map mode to obtain the proper zoom level, which is to be forwarded to the control
- there are scenarios where the MapMode is *not* set to MAP_PIXEL (in those scenarios, everything works
fine), and there are scenarios where it *is* set to MAP_PIXEL (in those the bug 103138 appears).
It somehow feels wrong that one cannot rely on the device's map mode this way, but on the other hand
one has no possibility to obtain the current zoom by other means.
Note that one issue (still to be submitted) is left: In the page pane of a Draw/Impress document, controls
have a wrong text size. This is because in this pane, the above-mentioned "broken" map mode is used,
which means the controls have a zoom of "1:1" set, which is wrong here.
2009-06-25 13:41:35 +0200 msc r273380 : #100000# the tabs changed die to new properties
2009-06-24 12:42:40 +0200 msc r273330 : #102082# remove issue warning
2009-06-22 10:43:14 +0200 fs r273201 : createPrimitive2DSequence: care for being disposed
2009-06-18 12:35:13 +0200 oj r273109 : #i102305# make nooptfiles for gcc
2009-06-17 12:14:37 +0200 oj r273056 : #i102305# fix for linux
2009-06-17 07:20:22 +0200 oj r273046 : #i102305# move ValueTransfer into the for loop to avoid a crash under Linux
2009-06-17 07:17:28 +0200 oj r273045 : #i102305# use varchar
2009-06-15 14:11:27 +0200 fs r272983 : added since tag
2009-06-15 12:11:39 +0200 oj r272973 : #i102305# SAL_DLLPUBLIC_EXPORT inserted
2009-06-15 11:08:53 +0200 fs r272969 : #i10000#
2009-06-15 09:25:13 +0200 fs r272963 : merging fix for P1 issue #i102701#
2009-06-11 11:31:24 +0200 fs r272858 : #i10000# copied the fix which before the rebase was done in ../dialog/macropg.src
2009-06-11 09:38:14 +0200 fs r272846 : CWS-TOOLING: rebase CWS dba32c to trunk@272827 (milestone: DEV300:m50)
2009-06-02 09:53:10 +0200 fs r272483 : #i10000#
2009-05-29 15:55:03 +0200 fs r272465 : #i100818#
2009-05-29 12:58:43 +0200 fs r272452 : don't apply comphelper::getString on possibly VOID any
2009-05-29 10:38:35 +0200 oj r272437 : #i101519# handle where condition
2009-05-29 09:53:39 +0200 fs r272434 : #i100818# call into releaseStubs /without/ locked GlobalMutex
2009-05-28 07:53:44 +0200 oj r272375 : #i101369# parse tree changed
2009-05-27 14:53:36 +0200 fs r272347 : #i10000#
2009-05-27 09:29:15 +0200 oj r272327 : #i101626# check for double before hard cast
2009-05-27 09:13:58 +0200 oj r272326 : #i101626# handle void correctly
2009-05-27 08:04:39 +0200 oj r272321 : #i102256# wrong method signature used
2009-05-27 07:55:52 +0200 oj r272320 : #i101519# look up parameter typ if used in function
2009-05-27 06:49:07 +0200 oj r272319 : #i101519# set parameter from rowset as well
2009-05-26 13:30:56 +0200 oj r272297 : #i101987# impl XBatchExecution
2009-05-26 12:44:34 +0200 oj r272293 : #i101700# check if group is not set
2009-05-26 12:16:53 +0200 oj r272290 : #i101369# resolved some reduce7reduce problems with boolean_term and search_condition
2009-05-26 12:12:42 +0200 oj r272289 : #i101369# fix for or on one line criteria
2009-05-25 16:02:25 +0200 fs r272257 : #i999704# +PROPERTY_MOUSE_WHEEL_BEHAVIOR
2009-05-25 16:01:55 +0200 fs r272256 : merging the changes from CWS dba32b herein
2009-05-25 15:49:57 +0200 fs r272254 : #i999704#
2009-05-25 15:32:57 +0200 fs r272252 : #i99704# grid columns also to respect the MouseWheelBehavior property
2009-05-25 15:23:43 +0200 fs r272251 : don't pass empty Anys to ::comphelper::getString
2009-05-25 14:48:43 +0200 fs r272248 : merged changes from CWS dba32b herein
2009-05-25 14:44:40 +0200 fs r272247 : #i99704# support new MouseWheelBehavior property
2009-05-25 14:43:18 +0200 fs r272246 : #i99704# WheelWithoutFocus (peer property) superseded by MouseWheelBehavior (model property)
2009-05-25 14:41:03 +0200 fs r272245 : #i99704# no need to set the mouse wheel behavior at the peer, this is now a model property, having the right default
2009-05-25 14:39:31 +0200 fs r272243 : removed dead import
2009-05-25 14:35:36 +0200 fs r272242 : the new EnableVisible doesn't make sense for grid columns
2009-05-25 14:34:33 +0200 fs r272241 : #i99704# +MouseWheelBehavior - allow to enable/disable the mouse wheel for the control, or make it focus-dependent
2009-05-25 14:26:11 +0200 fs r272240 : #i99704# change MouseSettings wheel flag (NoWheelActionWithoutFocus) to a three-state option, allowing to completely ignore the mouse wheel
2009-05-23 21:35:59 +0200 fs r272213 : localize 'sub component opened/closed' event
2009-05-22 21:42:47 +0200 fs r272211 : #i102003#
2009-05-22 21:42:20 +0200 fs r272210 : grammar
2009-05-22 21:36:10 +0200 fs r272209 : #i102140# load only once, not twice, and show error messages during loading (and during any form action, that is) asynchronously
2009-05-22 21:35:11 +0200 fs r272208 : #i102140# +clear
2009-05-22 14:50:30 +0200 fs r272194 : #i102139# for newly created DB docs, set the MacroExecutionMode to USE_CONFIG
2009-05-22 12:03:42 +0200 fs r272180 : #i88878#
provided by noel.power@novell.com
implement a visibility property (EnableVisible) for toolkit controls, and usage in forms and UNO dialogs
2009-05-15 15:37:31 +0200 fs r271942 : #i100671# corrected some @since tags, so autodoc has better chances of correctly reading them
2009-05-15 15:33:11 +0200 fs r271940 : don't call comphelper::getFOO for VOID values
2009-05-15 15:08:31 +0200 fs r271937 : includes
2009-05-15 13:39:22 +0200 fs r271934 : #i101398# createPrimitive2DSequence: when we already have a control, use the old code. In particular, call positionControlForPaint
2009-05-15 12:33:48 +0200 fs r271933 : make the geometry a part of the ControlPrimitive2D's identity
2009-05-15 10:15:44 +0200 fs r271928 : #i10000#
2009-05-14 20:55:38 +0200 fs r271921 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:55:31 +0200 fs r271920 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:23:23 +0200 fs r271919 : #i101622#
2009-05-14 16:04:38 +0200 fs r271898 : don't use comphelper::getInt32 on voids
2009-05-14 16:04:12 +0200 fs r271897 : merge fix for issue whose number just slipped my memory ... (originally fixed in CWS dba32b)
2009-05-14 15:36:55 +0200 fs r271895 : merging changes from DEV300:m48
2009-05-07 14:43:19 +0200 fs r271670 : #i101477#
2009-05-07 14:37:30 +0200 fs r271668 : #i101477#
2009-05-07 09:27:30 +0200 oj r271628 : #i101343# remove pch
2009-05-06 09:36:02 +0200 fs r271568 : getFoo: diagnostics
2009-05-04 09:23:06 +0200 oj r271438 : CWS-TOOLING: rebase CWS dba32c to trunk@271427 (milestone: DEV300:m47)
2009-04-29 23:18:13 +0200 fs r271394 : #i101398# use a dedicated 2DPrimitive for UNO Controls, which is able to provide the B2DRange *without* actually creating the control
2009-04-29 13:52:25 +0200 fs r271366 : #i101308#
2009-07-03 14:21:50 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_ENABLEVISIBLE );
|
2001-05-04 08:04:05 +00:00
|
|
|
ImplRegisterProperty( BASEPROPERTY_FONTDESCRIPTOR );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_HELPTEXT );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_HELPURL );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_LABEL );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_ORIENTATION );
|
|
|
|
ImplRegisterProperty( BASEPROPERTY_PRINTABLE );
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoControlFixedLineModel::getServiceName( ) throw(::com::sun::star::uno::RuntimeException)
|
2001-05-04 08:04:05 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString::createFromAscii( szServiceName_UnoControlFixedLineModel );
|
2001-05-04 08:04:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
uno::Any UnoControlFixedLineModel::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
|
|
|
{
|
|
|
|
if ( nPropId == BASEPROPERTY_DEFAULTCONTROL )
|
|
|
|
{
|
|
|
|
uno::Any aAny;
|
2013-02-22 14:12:26 +05:30
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlFixedLine );
|
2001-05-04 08:04:05 +00:00
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
return UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& UnoControlFixedLineModel::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
|
|
|
uno::Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
|
|
|
// beans::XMultiPropertySet
|
|
|
|
uno::Reference< beans::XPropertySetInfo > UnoControlFixedLineModel::getPropertySetInfo( ) throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
|
|
|
return xInfo;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
|
// class UnoFixedLineControl
|
|
|
|
// ----------------------------------------------------
|
2013-01-07 11:05:58 +02:00
|
|
|
UnoFixedLineControl::UnoFixedLineControl()
|
|
|
|
:UnoControlBase()
|
2001-05-04 08:04:05 +00:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 100; // ??
|
|
|
|
maComponentInfos.nHeight = 100; // ??
|
|
|
|
}
|
|
|
|
|
2013-02-22 14:12:26 +05:30
|
|
|
OUString UnoFixedLineControl::GetComponentServiceName()
|
2001-05-04 08:04:05 +00:00
|
|
|
{
|
2013-02-22 14:12:26 +05:30
|
|
|
return OUString("FixedLine");
|
2001-05-04 08:04:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
sal_Bool UnoFixedLineControl::isTransparent() throw(uno::RuntimeException)
|
|
|
|
{
|
|
|
|
return sal_True;
|
|
|
|
}
|
2010-10-14 08:27:31 +02:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|