2011-08-04 15:39:25 +01: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 .
|
|
|
|
*/
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
|
|
|
|
#include <toolkit/controls/controlmodelcontainerbase.hxx>
|
|
|
|
#include <vcl/svapp.hxx>
|
|
|
|
#include <vcl/window.hxx>
|
|
|
|
#include <vcl/wall.hxx>
|
2011-03-11 18:04:44 +00:00
|
|
|
#include <osl/mutex.hxx>
|
2010-08-12 17:44:19 +02:00
|
|
|
#include <toolkit/helper/property.hxx>
|
|
|
|
#include <toolkit/controls/geometrycontrolmodel.hxx>
|
|
|
|
#include <toolkit/controls/unocontrols.hxx>
|
|
|
|
#include "toolkit/controls/formattedcontrol.hxx"
|
|
|
|
#include "toolkit/controls/roadmapcontrol.hxx"
|
|
|
|
#include "toolkit/controls/tkscrollbar.hxx"
|
2012-08-20 19:41:14 -05:00
|
|
|
#include "toolkit/controls/tabpagemodel.hxx"
|
2010-08-12 17:44:19 +02:00
|
|
|
#include <toolkit/controls/stdtabcontroller.hxx>
|
|
|
|
#include <com/sun/star/awt/PosSize.hpp>
|
|
|
|
#include <com/sun/star/awt/WindowAttribute.hpp>
|
|
|
|
#include <com/sun/star/resource/XStringResourceResolver.hpp>
|
|
|
|
#include <com/sun/star/graphic/XGraphicProvider.hpp>
|
2012-08-20 19:41:14 -05:00
|
|
|
#include <com/sun/star/lang/XInitialization.hpp>
|
2010-08-12 17:44:19 +02:00
|
|
|
#include <cppuhelper/typeprovider.hxx>
|
2014-11-18 00:06:30 +01:00
|
|
|
#include <cppuhelper/queryinterface.hxx>
|
2010-08-12 17:44:19 +02:00
|
|
|
#include <tools/debug.hxx>
|
|
|
|
#include <tools/diagnose_ex.h>
|
|
|
|
#include <comphelper/processfactory.hxx>
|
|
|
|
#include <vcl/outdev.hxx>
|
|
|
|
#include <comphelper/types.hxx>
|
|
|
|
|
|
|
|
#include <toolkit/helper/vclunohelper.hxx>
|
|
|
|
#include <unotools/ucbstreamhelper.hxx>
|
|
|
|
#include <vcl/graph.hxx>
|
|
|
|
#include <vcl/image.hxx>
|
|
|
|
|
|
|
|
#include "tree/treecontrol.hxx"
|
|
|
|
#include "grid/gridcontrol.hxx"
|
|
|
|
#include <toolkit/controls/tabpagecontainer.hxx>
|
|
|
|
|
2011-03-11 18:04:44 +00:00
|
|
|
#include <boost/bind.hpp>
|
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
#include <map>
|
|
|
|
#include <algorithm>
|
|
|
|
#include <functional>
|
|
|
|
#include "tools/urlobj.hxx"
|
|
|
|
#include "osl/file.hxx"
|
2011-03-23 17:24:48 +00:00
|
|
|
#include "toolkit/controls/dialogcontrol.hxx"
|
2010-08-12 17:44:19 +02:00
|
|
|
|
2014-04-19 11:24:35 +03:00
|
|
|
#include "helper/tkresmgr.hxx"
|
|
|
|
#include "helper/unopropertyarrayhelper.hxx"
|
2014-06-25 14:57:44 +02:00
|
|
|
#include "controlmodelcontainerbase_internal.hxx"
|
2014-04-19 11:24:35 +03:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
using namespace ::com::sun::star;
|
|
|
|
using namespace ::com::sun::star::uno;
|
|
|
|
using namespace ::com::sun::star::awt;
|
|
|
|
using namespace ::com::sun::star::lang;
|
|
|
|
using namespace ::com::sun::star::container;
|
|
|
|
using namespace ::com::sun::star::beans;
|
|
|
|
using namespace ::com::sun::star::util;
|
|
|
|
using namespace toolkit;
|
|
|
|
|
2013-03-15 22:41:22 +01:00
|
|
|
#define PROPERTY_RESOURCERESOLVER OUString( "ResourceResolver" )
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
struct LanguageDependentProp
|
|
|
|
{
|
|
|
|
const char* pPropName;
|
|
|
|
sal_Int32 nPropNameLength;
|
|
|
|
};
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
namespace
|
|
|
|
{
|
2013-03-15 22:41:22 +01:00
|
|
|
static const Sequence< OUString >& lcl_getLanguageDependentProperties()
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2013-03-15 22:41:22 +01:00
|
|
|
static Sequence< OUString > s_aLanguageDependentProperties;
|
2010-08-12 17:44:19 +02:00
|
|
|
if ( s_aLanguageDependentProperties.getLength() == 0 )
|
|
|
|
{
|
|
|
|
::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
|
|
|
|
if ( s_aLanguageDependentProperties.getLength() == 0 )
|
|
|
|
{
|
|
|
|
s_aLanguageDependentProperties.realloc( 2 );
|
2013-03-15 22:41:22 +01:00
|
|
|
s_aLanguageDependentProperties[0] = "HelpText";
|
|
|
|
s_aLanguageDependentProperties[1] = "Title";
|
2010-08-12 17:44:19 +02:00
|
|
|
// note: properties must be sorted
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s_aLanguageDependentProperties;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// functor for disposing a control model
|
|
|
|
struct DisposeControlModel : public ::std::unary_function< Reference< XControlModel >, void >
|
|
|
|
{
|
|
|
|
void operator()( Reference< XControlModel >& _rxModel )
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
::comphelper::disposeComponent( _rxModel );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-18 15:55:08 +01:00
|
|
|
OSL_TRACE( "DisposeControlModel::(): caught an exception while disposing a component!" );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// functor for searching control model by name
|
|
|
|
struct FindControlModel : public ::std::unary_function< ControlModelContainerBase::UnoControlModelHolder, bool >
|
|
|
|
{
|
|
|
|
private:
|
2013-04-07 12:06:47 +02:00
|
|
|
const OUString& m_rName;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
public:
|
2013-04-07 12:06:47 +02:00
|
|
|
FindControlModel( const OUString& _rName ) : m_rName( _rName ) { }
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
bool operator()( const ControlModelContainerBase::UnoControlModelHolder& _rCompare )
|
|
|
|
{
|
2014-05-02 15:42:25 +02:00
|
|
|
return _rCompare.second == m_rName;
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// functor for cloning a control model, and insertion into a target list
|
|
|
|
struct CloneControlModel : public ::std::unary_function< ControlModelContainerBase::UnoControlModelHolder, void >
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
ControlModelContainerBase::UnoControlModelHolderList& m_rTargetList;
|
|
|
|
|
|
|
|
public:
|
|
|
|
CloneControlModel( ControlModelContainerBase::UnoControlModelHolderList& _rTargetList )
|
|
|
|
:m_rTargetList( _rTargetList )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void operator()( const ControlModelContainerBase::UnoControlModelHolder& _rSource )
|
|
|
|
{
|
|
|
|
// clone the source object
|
|
|
|
Reference< XCloneable > xCloneSource( _rSource.first, UNO_QUERY );
|
|
|
|
Reference< XControlModel > xClone( xCloneSource->createClone(), UNO_QUERY );
|
|
|
|
// add to target list
|
|
|
|
m_rTargetList.push_back( ControlModelContainerBase::UnoControlModelHolder( xClone, _rSource.second ) );
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// functor for comparing a XControlModel with a given reference
|
|
|
|
struct CompareControlModel : public ::std::unary_function< ControlModelContainerBase::UnoControlModelHolder, bool >
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
Reference< XControlModel > m_xReference;
|
|
|
|
public:
|
|
|
|
CompareControlModel( const Reference< XControlModel >& _rxReference ) : m_xReference( _rxReference ) { }
|
|
|
|
|
|
|
|
bool operator()( const ControlModelContainerBase::UnoControlModelHolder& _rCompare )
|
|
|
|
{
|
2014-05-02 15:42:25 +02:00
|
|
|
return _rCompare.first.get() == m_xReference.get();
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
static void lcl_throwIllegalArgumentException( )
|
|
|
|
{ // throwing is expensive (in terms of code size), thus we hope the compiler does not inline this ....
|
|
|
|
throw IllegalArgumentException();
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
static void lcl_throwNoSuchElementException( )
|
|
|
|
{ // throwing is expensive (in terms of code size), thus we hope the compiler does not inline this ....
|
|
|
|
throw NoSuchElementException();
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
static void lcl_throwElementExistException( )
|
|
|
|
{ // throwing is expensive (in terms of code size), thus we hope the compiler does not inline this ....
|
|
|
|
throw ElementExistException();
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-11-03 14:03:54 +02:00
|
|
|
static OUString getTabIndexPropertyName( )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2014-11-03 14:03:54 +02:00
|
|
|
return OUString( "TabIndex" );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-11-03 14:03:54 +02:00
|
|
|
static OUString getStepPropertyName( )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2014-11-03 14:03:54 +02:00
|
|
|
return OUString( "Step" );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// class ControlModelContainerBase
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2013-01-07 11:05:58 +02:00
|
|
|
ControlModelContainerBase::ControlModelContainerBase( const Reference< XComponentContext >& rxContext )
|
|
|
|
:ControlModelContainer_IBase( rxContext )
|
2011-02-03 09:41:02 +01:00
|
|
|
,maContainerListeners( *this )
|
2010-08-12 17:44:19 +02:00
|
|
|
,maChangeListeners ( GetMutex() )
|
2014-02-24 11:13:09 +01:00
|
|
|
,mbGroupsUpToDate( false )
|
|
|
|
,m_bEnabled( true )
|
2014-02-18 12:31:09 +00:00
|
|
|
,m_nTabPageId(0)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
ControlModelContainerBase::ControlModelContainerBase( const ControlModelContainerBase& rModel )
|
|
|
|
: ControlModelContainer_IBase( rModel )
|
|
|
|
, maContainerListeners( *this )
|
|
|
|
, maChangeListeners ( GetMutex() )
|
2014-02-24 11:13:09 +01:00
|
|
|
, mbGroupsUpToDate( false )
|
2014-02-18 12:31:09 +00:00
|
|
|
, m_bEnabled( rModel.m_bEnabled )
|
|
|
|
, m_nTabPageId( rModel.m_nTabPageId )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
ControlModelContainerBase::~ControlModelContainerBase()
|
|
|
|
{
|
|
|
|
maModels.clear();
|
2014-02-24 11:13:09 +01:00
|
|
|
mbGroupsUpToDate = false;
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
Any ControlModelContainerBase::ImplGetDefaultValue( sal_uInt16 nPropId ) const
|
|
|
|
{
|
|
|
|
Any aAny;
|
|
|
|
|
|
|
|
switch ( nPropId )
|
|
|
|
{
|
|
|
|
case BASEPROPERTY_DEFAULTCONTROL:
|
2013-04-07 12:06:47 +02:00
|
|
|
aAny <<= OUString::createFromAscii( szServiceName_UnoControlDialog );
|
2010-08-12 17:44:19 +02:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
aAny = UnoControlModel::ImplGetDefaultValue( nPropId );
|
|
|
|
}
|
|
|
|
|
|
|
|
return aAny;
|
|
|
|
}
|
|
|
|
|
|
|
|
::cppu::IPropertyArrayHelper& ControlModelContainerBase::getInfoHelper()
|
|
|
|
{
|
|
|
|
static UnoPropertyArrayHelper* pHelper = NULL;
|
|
|
|
if ( !pHelper )
|
|
|
|
{
|
|
|
|
Sequence<sal_Int32> aIDs = ImplGetPropertyIds();
|
|
|
|
pHelper = new UnoPropertyArrayHelper( aIDs );
|
|
|
|
}
|
|
|
|
return *pHelper;
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::dispose( ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// tell our listeners
|
|
|
|
{
|
|
|
|
::osl::Guard< ::osl::Mutex > aGuard( GetMutex() );
|
|
|
|
|
|
|
|
EventObject aDisposeEvent;
|
|
|
|
aDisposeEvent.Source = static_cast< XAggregation* >( static_cast< ::cppu::OWeakAggObject* >( this ) );
|
|
|
|
|
|
|
|
maContainerListeners.disposeAndClear( aDisposeEvent );
|
|
|
|
maChangeListeners.disposeAndClear( aDisposeEvent );
|
|
|
|
}
|
|
|
|
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// call the base class
|
|
|
|
UnoControlModel::dispose();
|
|
|
|
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// dispose our child models
|
|
|
|
// for this, collect the models (we collect them from maModels, and this is modified when disposing children)
|
|
|
|
::std::vector< Reference< XControlModel > > aChildModels( maModels.size() );
|
|
|
|
|
|
|
|
::std::transform(
|
|
|
|
maModels.begin(), maModels.end(), // source range
|
|
|
|
aChildModels.begin(), // target location
|
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
|
|
|
::boost::bind( &UnoControlModelHolder::first, _1 ) // operation to apply -> select the XControlModel part
|
2010-08-12 17:44:19 +02:00
|
|
|
);
|
|
|
|
|
|
|
|
// now dispose
|
|
|
|
::std::for_each( aChildModels.begin(), aChildModels.end(), DisposeControlModel() );
|
|
|
|
aChildModels.clear();
|
|
|
|
|
2014-02-24 11:13:09 +01:00
|
|
|
mbGroupsUpToDate = false;
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// XMultiPropertySet
|
2014-02-25 21:31:58 +01:00
|
|
|
Reference< XPropertySetInfo > ControlModelContainerBase::getPropertySetInfo( ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
static Reference< XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
|
|
|
|
return xInfo;
|
|
|
|
}
|
2011-02-11 18:06:45 +01:00
|
|
|
void ControlModelContainerBase::Clone_Impl(ControlModelContainerBase& _rClone) const
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
// clone all children
|
|
|
|
::std::for_each(
|
|
|
|
maModels.begin(), maModels.end(),
|
2011-02-11 18:06:45 +01:00
|
|
|
CloneControlModel( _rClone.maModels )
|
2010-08-12 17:44:19 +02:00
|
|
|
);
|
2011-02-11 18:06:45 +01:00
|
|
|
}
|
|
|
|
UnoControlModel* ControlModelContainerBase::Clone() const
|
|
|
|
{
|
|
|
|
// clone the container itself
|
|
|
|
ControlModelContainerBase* pClone = new ControlModelContainerBase( *this );
|
|
|
|
Clone_Impl(*pClone);
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
return pClone;
|
|
|
|
}
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
ControlModelContainerBase::UnoControlModelHolderList::iterator ControlModelContainerBase::ImplFindElement( const OUString& rName )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
return ::std::find_if( maModels.begin(), maModels.end(), FindControlModel( rName ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
// ::XMultiServiceFactory
|
2014-02-25 21:31:58 +01:00
|
|
|
Reference< XInterface > ControlModelContainerBase::createInstance( const OUString& aServiceSpecifier ) throw(Exception, RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
OGeometryControlModel_Base* pNewModel = NULL;
|
|
|
|
|
2013-11-05 11:06:18 +02:00
|
|
|
if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlEditModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlEditModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlFormattedFieldModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlFormattedFieldModel >( m_xContext);
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlFileControlModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlFileControlModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlButtonModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlButtonModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlImageControlModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlImageControlModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlRadioButtonModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlRadioButtonModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlCheckBoxModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlCheckBoxModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName_UnoControlFixedHyperlinkModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlFixedHyperlinkModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName_UnoControlFixedTextModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlFixedTextModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlGroupBoxModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlGroupBoxModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlListBoxModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlListBoxModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlComboBoxModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlComboBoxModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlDateFieldModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlDateFieldModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlTimeFieldModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlTimeFieldModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlNumericFieldModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlNumericFieldModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlCurrencyFieldModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlCurrencyFieldModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlPatternFieldModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlPatternFieldModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlProgressBarModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlProgressBarModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlScrollBarModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlScrollBarModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlFixedLineModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlFixedLineModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName2_UnoControlRoadmapModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlRoadmapModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName_TreeControlModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoTreeModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName_GridControlModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoGridModel >( m_xContext );
|
2014-01-23 14:06:12 +01:00
|
|
|
else if ( aServiceSpecifier == "com.sun.star.awt.tab.UnoControlTabPageContainerModel" )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlTabPageContainerModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName_UnoMultiPageModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoMultiPageModel >( m_xContext );
|
2014-01-23 13:50:23 +01:00
|
|
|
else if ( aServiceSpecifier == "com.sun.star.awt.tab.UnoControlTabPageModel" )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoControlTabPageModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName_UnoPageModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoPageModel >( m_xContext );
|
2013-11-05 11:06:18 +02:00
|
|
|
else if ( aServiceSpecifier.equalsAscii( szServiceName_UnoFrameModel ) )
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OGeometryControlModel< UnoFrameModel >( m_xContext );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
if ( !pNewModel )
|
|
|
|
{
|
2013-01-07 11:05:58 +02:00
|
|
|
Reference< XInterface > xObject = m_xContext->getServiceManager()->createInstanceWithContext(aServiceSpecifier, m_xContext);
|
|
|
|
Reference< XServiceInfo > xSI( xObject, UNO_QUERY );
|
|
|
|
Reference< XCloneable > xCloneAccess( xSI, UNO_QUERY );
|
|
|
|
Reference< XAggregation > xAgg( xCloneAccess, UNO_QUERY );
|
|
|
|
if ( xAgg.is() )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2013-06-29 21:24:12 +02:00
|
|
|
if ( xSI->supportsService("com.sun.star.awt.UnoControlModel") )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2013-01-07 11:05:58 +02:00
|
|
|
// release 3 of the 4 references we have to the object
|
|
|
|
xAgg.clear();
|
|
|
|
xSI.clear();
|
|
|
|
xObject.clear();
|
2010-08-12 17:44:19 +02:00
|
|
|
|
2013-01-07 11:05:58 +02:00
|
|
|
pNewModel = new OCommonGeometryControlModel( xCloneAccess, aServiceSpecifier );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Reference< XInterface > xNewModel = (::cppu::OWeakObject*)pNewModel;
|
|
|
|
return xNewModel;
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
Reference< XInterface > ControlModelContainerBase::createInstanceWithArguments( const OUString& ServiceSpecifier, const Sequence< Any >& i_arguments ) throw(Exception, RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2012-08-20 19:41:14 -05:00
|
|
|
const Reference< XInterface > xInstance( createInstance( ServiceSpecifier ) );
|
|
|
|
const Reference< XInitialization > xInstanceInit( xInstance, UNO_QUERY );
|
|
|
|
ENSURE_OR_RETURN( xInstanceInit.is(), "ControlModelContainerBase::createInstanceWithArguments: can't pass the arguments!", xInstance );
|
|
|
|
xInstanceInit->initialize( i_arguments );
|
|
|
|
return xInstance;
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
Sequence< OUString > ControlModelContainerBase::getAvailableServiceNames() throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
static Sequence< OUString >* pNamesSeq = NULL;
|
2010-08-12 17:44:19 +02:00
|
|
|
if ( !pNamesSeq )
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
pNamesSeq = new Sequence< OUString >( 26 );
|
|
|
|
OUString* pNames = pNamesSeq->getArray();
|
|
|
|
pNames[0] = OUString::createFromAscii( szServiceName2_UnoControlEditModel );
|
|
|
|
pNames[1] = OUString::createFromAscii( szServiceName2_UnoControlFormattedFieldModel );
|
|
|
|
pNames[2] = OUString::createFromAscii( szServiceName2_UnoControlFileControlModel );
|
|
|
|
pNames[3] = OUString::createFromAscii( szServiceName2_UnoControlButtonModel );
|
|
|
|
pNames[4] = OUString::createFromAscii( szServiceName2_UnoControlImageControlModel );
|
|
|
|
pNames[5] = OUString::createFromAscii( szServiceName2_UnoControlRadioButtonModel );
|
|
|
|
pNames[6] = OUString::createFromAscii( szServiceName2_UnoControlCheckBoxModel );
|
|
|
|
pNames[7] = OUString::createFromAscii( szServiceName2_UnoControlFixedTextModel );
|
|
|
|
pNames[8] = OUString::createFromAscii( szServiceName2_UnoControlGroupBoxModel );
|
|
|
|
pNames[9] = OUString::createFromAscii( szServiceName2_UnoControlListBoxModel );
|
|
|
|
pNames[10] = OUString::createFromAscii( szServiceName2_UnoControlComboBoxModel );
|
|
|
|
pNames[11] = OUString::createFromAscii( szServiceName2_UnoControlDateFieldModel );
|
|
|
|
pNames[12] = OUString::createFromAscii( szServiceName2_UnoControlTimeFieldModel );
|
|
|
|
pNames[13] = OUString::createFromAscii( szServiceName2_UnoControlNumericFieldModel );
|
|
|
|
pNames[14] = OUString::createFromAscii( szServiceName2_UnoControlCurrencyFieldModel );
|
|
|
|
pNames[15] = OUString::createFromAscii( szServiceName2_UnoControlPatternFieldModel );
|
|
|
|
pNames[16] = OUString::createFromAscii( szServiceName2_UnoControlProgressBarModel );
|
|
|
|
pNames[17] = OUString::createFromAscii( szServiceName2_UnoControlScrollBarModel );
|
|
|
|
pNames[18] = OUString::createFromAscii( szServiceName2_UnoControlFixedLineModel );
|
|
|
|
pNames[19] = OUString::createFromAscii( szServiceName2_UnoControlRoadmapModel );
|
|
|
|
pNames[20] = OUString::createFromAscii( szServiceName_TreeControlModel );
|
|
|
|
pNames[21] = OUString::createFromAscii( szServiceName_GridControlModel );
|
2014-01-23 14:06:12 +01:00
|
|
|
pNames[22] = OUString( "com.sun.star.awt.tab.UnoControlTabPageContainerModel");
|
2014-01-23 13:50:23 +01:00
|
|
|
pNames[23] = OUString( "com.sun.star.awt.tab.UnoControlTabPageModel" );
|
2013-04-07 12:06:47 +02:00
|
|
|
pNames[24] = OUString::createFromAscii( szServiceName_UnoMultiPageModel );
|
|
|
|
pNames[25] = OUString::createFromAscii( szServiceName_UnoFrameModel );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
return *pNamesSeq;
|
|
|
|
}
|
|
|
|
|
|
|
|
// XContainer
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlModelContainerBase::addContainerListener( const Reference< XContainerListener >& l ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
maContainerListeners.addInterface( l );
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlModelContainerBase::removeContainerListener( const Reference< XContainerListener >& l ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
maContainerListeners.removeInterface( l );
|
|
|
|
}
|
|
|
|
|
|
|
|
// XElementAcces
|
2014-02-25 21:31:58 +01:00
|
|
|
Type ControlModelContainerBase::getElementType() throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2014-05-23 22:11:27 +02:00
|
|
|
Type aType = cppu::UnoType<XControlModel>::get();
|
2010-08-12 17:44:19 +02:00
|
|
|
return aType;
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
sal_Bool ControlModelContainerBase::hasElements() throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
return !maModels.empty();
|
|
|
|
}
|
|
|
|
|
|
|
|
// XNameContainer, XNameReplace, XNameAccess
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlModelContainerBase::replaceByName( const OUString& aName, const Any& aElement ) throw(IllegalArgumentException, NoSuchElementException, WrappedTargetException, RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Reference< XControlModel > xNewModel;
|
|
|
|
aElement >>= xNewModel;
|
|
|
|
if ( !xNewModel.is() )
|
|
|
|
lcl_throwIllegalArgumentException();
|
|
|
|
|
|
|
|
UnoControlModelHolderList::iterator aElementPos = ImplFindElement( aName );
|
|
|
|
if ( maModels.end() == aElementPos )
|
|
|
|
lcl_throwNoSuchElementException();
|
2014-11-10 15:05:25 +01:00
|
|
|
// Dialog behaviour is to have all containee names unique (MSO Userform is the same)
|
|
|
|
// With container controls you could have constructed an existing hierarchy and are now
|
2011-03-22 16:07:51 +00:00
|
|
|
// add this to an existing container, in this case a name nested in the containment
|
2014-11-10 15:05:25 +01:00
|
|
|
// hierarchy of the added control could contain a name clash, if we have access to the
|
|
|
|
// list of global names then recursively check for previously existing names (we need
|
|
|
|
// to do this obviously before the 'this' objects container is updated)
|
2011-03-22 16:07:51 +00:00
|
|
|
Reference< XNameContainer > xAllChildren( getPropertyValue( GetPropertyName( BASEPROPERTY_USERFORMCONTAINEES ) ), UNO_QUERY );
|
|
|
|
if ( xAllChildren.is() )
|
|
|
|
{
|
2014-11-10 15:05:25 +01:00
|
|
|
// remove old control (and children) from global list of containees
|
2011-03-22 16:07:51 +00:00
|
|
|
updateUserFormChildren( xAllChildren, aName, Remove, uno::Reference< XControlModel >() );
|
2014-11-10 15:05:25 +01:00
|
|
|
// Add new control (and containees if they exist)
|
2011-03-22 16:07:51 +00:00
|
|
|
updateUserFormChildren( xAllChildren, aName, Insert, xNewModel );
|
|
|
|
}
|
2010-08-12 17:44:19 +02:00
|
|
|
// stop listening at the old model
|
|
|
|
stopControlListening( aElementPos->first );
|
|
|
|
Reference< XControlModel > xReplaced( aElementPos->first );
|
|
|
|
// remember the new model, and start listening
|
|
|
|
aElementPos->first = xNewModel;
|
|
|
|
startControlListening( xNewModel );
|
|
|
|
|
|
|
|
ContainerEvent aEvent;
|
|
|
|
aEvent.Source = *this;
|
|
|
|
aEvent.Element = aElement;
|
|
|
|
aEvent.ReplacedElement <<= xReplaced;
|
|
|
|
aEvent.Accessor <<= aName;
|
|
|
|
|
|
|
|
// notify the container listener
|
|
|
|
maContainerListeners.elementReplaced( aEvent );
|
|
|
|
|
|
|
|
// our "tab controller model" has potentially changed -> notify this
|
|
|
|
implNotifyTabModelChange( aName );
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
Any ControlModelContainerBase::getByName( const OUString& aName ) throw(NoSuchElementException, WrappedTargetException, RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
UnoControlModelHolderList::iterator aElementPos = ImplFindElement( aName );
|
|
|
|
if ( maModels.end() == aElementPos )
|
|
|
|
lcl_throwNoSuchElementException();
|
|
|
|
|
|
|
|
return makeAny( aElementPos->first );
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
Sequence< OUString > ControlModelContainerBase::getElementNames() throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
Sequence< OUString > aNames( maModels.size() );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
::std::transform(
|
|
|
|
maModels.begin(), maModels.end(), // source range
|
|
|
|
aNames.getArray(), // target range
|
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
|
|
|
::boost::bind( &UnoControlModelHolder::second, _1 ) // operator to apply: select the second element (the name)
|
2010-08-12 17:44:19 +02:00
|
|
|
);
|
|
|
|
|
|
|
|
return aNames;
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
sal_Bool ControlModelContainerBase::hasByName( const OUString& aName ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
return maModels.end() != ImplFindElement( aName );
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlModelContainerBase::insertByName( const OUString& aName, const Any& aElement ) throw(IllegalArgumentException, ElementExistException, WrappedTargetException, RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Reference< XControlModel > xM;
|
|
|
|
aElement >>= xM;
|
|
|
|
|
|
|
|
if ( xM.is() )
|
|
|
|
{
|
|
|
|
Reference< beans::XPropertySet > xProps( xM, UNO_QUERY );
|
|
|
|
if ( xProps.is() )
|
|
|
|
{
|
|
|
|
|
|
|
|
Reference< beans::XPropertySetInfo > xPropInfo = xProps.get()->getPropertySetInfo();
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString sImageSourceProperty = GetPropertyName( BASEPROPERTY_IMAGEURL );
|
2010-08-27 12:13:59 +02:00
|
|
|
if ( xPropInfo.get()->hasPropertyByName( sImageSourceProperty ) && ImplHasProperty(BASEPROPERTY_DIALOGSOURCEURL) )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
Any aUrl = xProps.get()->getPropertyValue( sImageSourceProperty );
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString absoluteUrl =
|
2010-08-12 17:44:19 +02:00
|
|
|
getPhysicalLocation( getPropertyValue( GetPropertyName( BASEPROPERTY_DIALOGSOURCEURL ) ), aUrl );
|
|
|
|
|
|
|
|
aUrl <<= absoluteUrl;
|
|
|
|
|
|
|
|
xProps.get()->setPropertyValue( sImageSourceProperty , aUrl );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-01-16 15:46:57 -02:00
|
|
|
if ( aName.isEmpty() || !xM.is() )
|
2010-08-12 17:44:19 +02:00
|
|
|
lcl_throwIllegalArgumentException();
|
|
|
|
|
|
|
|
UnoControlModelHolderList::iterator aElementPos = ImplFindElement( aName );
|
|
|
|
if ( maModels.end() != aElementPos )
|
|
|
|
lcl_throwElementExistException();
|
|
|
|
|
2014-11-10 15:05:25 +01:00
|
|
|
// Dialog behaviour is to have all containee names unique (MSO Userform is the same)
|
|
|
|
// With container controls you could have constructed an existing hierarchy and are now
|
2011-03-22 16:07:51 +00:00
|
|
|
// add this to an existing container, in this case a name nested in the containment
|
2014-11-10 15:05:25 +01:00
|
|
|
// hierarchy of the added control could contain a name clash, if we have access to the
|
2011-03-22 16:07:51 +00:00
|
|
|
// list of global names then we need to recursively check for previously existing
|
2014-11-10 15:05:25 +01:00
|
|
|
// names (we need to do this obviously before the 'this' objects container is updated)
|
|
|
|
// remove old control (and children) from global list of containees
|
2011-03-22 16:07:51 +00:00
|
|
|
Reference< XNameContainer > xAllChildren( getPropertyValue( GetPropertyName( BASEPROPERTY_USERFORMCONTAINEES ) ), UNO_QUERY );
|
|
|
|
|
|
|
|
if ( xAllChildren.is() )
|
|
|
|
updateUserFormChildren( xAllChildren, aName, Insert, xM );
|
2010-08-12 17:44:19 +02:00
|
|
|
maModels.push_back( UnoControlModelHolder( xM, aName ) );
|
2014-02-24 11:13:09 +01:00
|
|
|
mbGroupsUpToDate = false;
|
2010-08-12 17:44:19 +02:00
|
|
|
startControlListening( xM );
|
|
|
|
|
|
|
|
ContainerEvent aEvent;
|
|
|
|
aEvent.Source = *this;
|
|
|
|
aEvent.Element <<= aElement;
|
|
|
|
aEvent.Accessor <<= aName;
|
|
|
|
maContainerListeners.elementInserted( aEvent );
|
|
|
|
|
|
|
|
// our "tab controller model" has potentially changed -> notify this
|
|
|
|
implNotifyTabModelChange( aName );
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlModelContainerBase::removeByName( const OUString& aName ) throw(NoSuchElementException, WrappedTargetException, RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
UnoControlModelHolderList::iterator aElementPos = ImplFindElement( aName );
|
|
|
|
if ( maModels.end() == aElementPos )
|
|
|
|
lcl_throwNoSuchElementException();
|
|
|
|
|
2014-11-10 15:05:25 +01:00
|
|
|
// Dialog behaviour is to have all containee names unique (MSO Userform is the same)
|
|
|
|
// With container controls you could have constructed an existing hierarchy and are now
|
2011-03-22 16:07:51 +00:00
|
|
|
// removing this control from an existing container, in this case all nested names in
|
2014-11-10 15:05:25 +01:00
|
|
|
// the containment hierarchy of the control to be removed need to be removed from the global
|
|
|
|
// names cache (we need to do this obviously before the 'this' objects container is updated)
|
2011-03-22 16:07:51 +00:00
|
|
|
Reference< XNameContainer > xAllChildren( getPropertyValue( GetPropertyName( BASEPROPERTY_USERFORMCONTAINEES ) ), UNO_QUERY );
|
|
|
|
if ( xAllChildren.is() )
|
|
|
|
updateUserFormChildren( xAllChildren, aName, Remove, uno::Reference< XControlModel >() );
|
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
ContainerEvent aEvent;
|
|
|
|
aEvent.Source = *this;
|
|
|
|
aEvent.Element <<= aElementPos->first;
|
|
|
|
aEvent.Accessor <<= aName;
|
|
|
|
maContainerListeners.elementRemoved( aEvent );
|
|
|
|
|
|
|
|
stopControlListening( aElementPos->first );
|
|
|
|
Reference< XPropertySet > xPS( aElementPos->first, UNO_QUERY );
|
|
|
|
maModels.erase( aElementPos );
|
2014-02-24 11:13:09 +01:00
|
|
|
mbGroupsUpToDate = false;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
if ( xPS.is() )
|
2011-08-04 15:38:56 +01:00
|
|
|
{
|
2010-08-12 17:44:19 +02:00
|
|
|
try
|
|
|
|
{
|
|
|
|
xPS->setPropertyValue( PROPERTY_RESOURCERESOLVER, makeAny( Reference< resource::XStringResourceResolver >() ) );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
|
|
|
{
|
|
|
|
DBG_UNHANDLED_EXCEPTION();
|
|
|
|
}
|
|
|
|
}
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
// our "tab controller model" has potentially changed -> notify this
|
|
|
|
implNotifyTabModelChange( aName );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
sal_Bool SAL_CALL ControlModelContainerBase::getGroupControl( ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
return sal_True;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::setGroupControl( sal_Bool ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2014-01-23 17:18:29 +01:00
|
|
|
OSL_TRACE( "ControlModelContainerBase::setGroupControl: explicit grouping not supported" );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::setControlModels( const Sequence< Reference< XControlModel > >& _rControls ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
// set the tab indexes according to the order of models in the sequence
|
|
|
|
const Reference< XControlModel >* pControls = _rControls.getConstArray( );
|
|
|
|
const Reference< XControlModel >* pControlsEnd = _rControls.getConstArray( ) + _rControls.getLength();
|
|
|
|
|
|
|
|
sal_Int16 nTabIndex = 1;
|
|
|
|
|
|
|
|
for ( ; pControls != pControlsEnd; ++pControls )
|
|
|
|
{
|
|
|
|
// look up the control in our own structure. This is to prevent invalid arguments
|
|
|
|
UnoControlModelHolderList::const_iterator aPos =
|
|
|
|
::std::find_if(
|
|
|
|
maModels.begin(), maModels.end(),
|
|
|
|
CompareControlModel( *pControls )
|
|
|
|
);
|
|
|
|
if ( maModels.end() != aPos )
|
|
|
|
{
|
|
|
|
// okay, this is an existent model
|
|
|
|
// now set the TabIndex property (if applicable)
|
|
|
|
Reference< XPropertySet > xProps( aPos->first, UNO_QUERY );
|
|
|
|
Reference< XPropertySetInfo > xPSI;
|
|
|
|
if ( xProps.is() )
|
|
|
|
xPSI = xProps->getPropertySetInfo();
|
|
|
|
if ( xPSI.is() && xPSI->hasPropertyByName( getTabIndexPropertyName() ) )
|
|
|
|
xProps->setPropertyValue( getTabIndexPropertyName(), makeAny( nTabIndex++ ) );
|
|
|
|
}
|
2014-02-24 11:13:09 +01:00
|
|
|
mbGroupsUpToDate = false;
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
typedef ::std::multimap< sal_Int32, Reference< XControlModel >, ::std::less< sal_Int32 > > MapIndexToModel;
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
Sequence< Reference< XControlModel > > SAL_CALL ControlModelContainerBase::getControlModels( ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
MapIndexToModel aSortedModels;
|
|
|
|
// will be the sorted container of all models which have a tab index property
|
|
|
|
::std::vector< Reference< XControlModel > > aUnindexedModels;
|
|
|
|
// will be the container of all models which do not have a tab index property
|
|
|
|
|
|
|
|
UnoControlModelHolderList::const_iterator aLoop = maModels.begin();
|
|
|
|
for ( ; aLoop != maModels.end(); ++aLoop )
|
|
|
|
{
|
|
|
|
Reference< XControlModel > xModel( aLoop->first );
|
|
|
|
|
|
|
|
// see if the model has a TabIndex property
|
|
|
|
Reference< XPropertySet > xControlProps( xModel, UNO_QUERY );
|
|
|
|
Reference< XPropertySetInfo > xPSI;
|
|
|
|
if ( xControlProps.is() )
|
|
|
|
xPSI = xControlProps->getPropertySetInfo( );
|
2014-01-23 17:18:29 +01:00
|
|
|
DBG_ASSERT( xPSI.is(), "ControlModelContainerBase::getControlModels: invalid child model!" );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
// has it?
|
|
|
|
if ( xPSI.is() && xPSI->hasPropertyByName( getTabIndexPropertyName() ) )
|
|
|
|
{ // yes
|
|
|
|
sal_Int32 nTabIndex = -1;
|
|
|
|
xControlProps->getPropertyValue( getTabIndexPropertyName() ) >>= nTabIndex;
|
|
|
|
|
|
|
|
aSortedModels.insert( MapIndexToModel::value_type( nTabIndex, xModel ) );
|
|
|
|
}
|
|
|
|
else if ( xModel.is() )
|
|
|
|
// no, it hasn't, but we have to include it, anyway
|
|
|
|
aUnindexedModels.push_back( xModel );
|
|
|
|
}
|
|
|
|
|
|
|
|
// okay, here we have a container of all our models, sorted by tab index,
|
|
|
|
// plus a container of "unindexed" models
|
|
|
|
// -> merge them
|
|
|
|
Sequence< Reference< XControlModel > > aReturn( aUnindexedModels.size() + aSortedModels.size() );
|
|
|
|
::std::transform(
|
|
|
|
aSortedModels.begin(), aSortedModels.end(),
|
|
|
|
::std::copy( aUnindexedModels.begin(), aUnindexedModels.end(), aReturn.getArray() ),
|
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
|
|
|
::boost::bind( &MapIndexToModel::value_type::second, _1 )
|
2010-08-12 17:44:19 +02:00
|
|
|
);
|
|
|
|
|
|
|
|
return aReturn;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::setGroup( const Sequence< Reference< XControlModel > >&, const OUString& ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
// not supported. We have only implicit grouping:
|
|
|
|
// We only have a sequence of control models, and we _know_ (yes, that's a HACK relying on
|
|
|
|
// implementation details) that VCL does grouping according to the order of controls automatically
|
|
|
|
// At least VCL does this for all we're interested in: Radio buttons.
|
2014-01-23 17:18:29 +01:00
|
|
|
OSL_TRACE( "ControlModelContainerBase::setGroup: grouping not supported" );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
////----- XInitialization -------------------------------------------------------------------
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::initialize (const Sequence<Any>& rArguments) throw (com::sun::star::uno::Exception, com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
if ( rArguments.getLength() == 1 )
|
|
|
|
{
|
2011-10-02 18:27:17 +02:00
|
|
|
sal_Int16 nPageId = -1;
|
|
|
|
if ( !( rArguments[ 0 ] >>= nPageId ))
|
|
|
|
throw lang::IllegalArgumentException();
|
2010-08-12 17:44:19 +02:00
|
|
|
m_nTabPageId = nPageId;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
m_nTabPageId = -1;
|
|
|
|
}
|
2014-02-25 21:31:58 +01:00
|
|
|
::sal_Int16 SAL_CALL ControlModelContainerBase::getTabPageID() throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
return m_nTabPageId;
|
|
|
|
}
|
2014-04-03 13:52:06 +02:00
|
|
|
sal_Bool SAL_CALL ControlModelContainerBase::getEnabled() throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
return m_bEnabled;
|
|
|
|
}
|
2014-04-03 13:52:06 +02:00
|
|
|
void SAL_CALL ControlModelContainerBase::setEnabled( sal_Bool _enabled ) throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
m_bEnabled = _enabled;
|
|
|
|
}
|
2014-02-25 21:31:58 +01:00
|
|
|
OUString SAL_CALL ControlModelContainerBase::getTitle() throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-27 12:13:59 +02:00
|
|
|
Reference<XPropertySet> xThis(*this,UNO_QUERY);
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString sTitle;
|
2010-08-27 12:13:59 +02:00
|
|
|
xThis->getPropertyValue(GetPropertyName(BASEPROPERTY_TITLE)) >>= sTitle;
|
|
|
|
return sTitle;
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::setTitle( const OUString& _title ) throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-27 12:13:59 +02:00
|
|
|
Reference<XPropertySet> xThis(*this,UNO_QUERY);
|
|
|
|
xThis->setPropertyValue(GetPropertyName(BASEPROPERTY_TITLE),makeAny(_title));
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
2014-02-25 21:31:58 +01:00
|
|
|
OUString SAL_CALL ControlModelContainerBase::getImageURL() throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
return m_sImageURL;
|
|
|
|
}
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::setImageURL( const OUString& _imageurl ) throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
m_sImageURL = _imageurl;
|
|
|
|
}
|
2014-02-25 21:31:58 +01:00
|
|
|
OUString SAL_CALL ControlModelContainerBase::getToolTip() throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
return m_sTooltip;
|
|
|
|
}
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::setToolTip( const OUString& _tooltip ) throw (::com::sun::star::uno::RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
m_sTooltip = _tooltip;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
namespace
|
|
|
|
{
|
|
|
|
enum GroupingMachineState
|
|
|
|
{
|
|
|
|
eLookingForGroup,
|
|
|
|
eExpandingGroup
|
|
|
|
};
|
|
|
|
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
static sal_Int32 lcl_getDialogStep( const Reference< XControlModel >& _rxModel )
|
|
|
|
{
|
|
|
|
sal_Int32 nStep = 0;
|
|
|
|
try
|
|
|
|
{
|
|
|
|
Reference< XPropertySet > xModelProps( _rxModel, UNO_QUERY );
|
|
|
|
xModelProps->getPropertyValue( getStepPropertyName() ) >>= nStep;
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-18 15:55:08 +01:00
|
|
|
OSL_TRACE( "lcl_getDialogStep: caught an exception while determining the dialog page!" );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
return nStep;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
sal_Int32 SAL_CALL ControlModelContainerBase::getGroupCount( ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
implUpdateGroupStructure();
|
|
|
|
|
|
|
|
return maGroups.size();
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::getGroup( sal_Int32 _nGroup, Sequence< Reference< XControlModel > >& _rGroup, OUString& _rName ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
implUpdateGroupStructure();
|
|
|
|
|
|
|
|
if ( ( _nGroup < 0 ) || ( _nGroup >= (sal_Int32)maGroups.size() ) )
|
|
|
|
{
|
2014-01-23 17:18:29 +01:00
|
|
|
OSL_TRACE( "ControlModelContainerBase::getGroup: invalid argument and I am not allowed to throw an exception!" );
|
2010-08-12 17:44:19 +02:00
|
|
|
_rGroup.realloc( 0 );
|
2014-11-12 14:24:10 +05:30
|
|
|
_rName.clear();
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
AllGroups::const_iterator aGroupPos = maGroups.begin() + _nGroup;
|
|
|
|
_rGroup.realloc( aGroupPos->size() );
|
|
|
|
// copy the models
|
|
|
|
::std::copy( aGroupPos->begin(), aGroupPos->end(), _rGroup.getArray() );
|
|
|
|
// give the group a name
|
2013-08-21 15:07:31 +02:00
|
|
|
_rName = OUString::number( _nGroup );
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::getGroupByName( const OUString& _rName, Sequence< Reference< XControlModel > >& _rGroup ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString sDummyName;
|
2010-08-12 17:44:19 +02:00
|
|
|
getGroup( _rName.toInt32( ), _rGroup, sDummyName );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::addChangesListener( const Reference< XChangesListener >& _rxListener ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
maChangeListeners.addInterface( _rxListener );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::removeChangesListener( const Reference< XChangesListener >& _rxListener ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
maChangeListeners.removeInterface( _rxListener );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
void ControlModelContainerBase::implNotifyTabModelChange( const OUString& _rAccessor )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
// multiplex to our change listeners:
|
|
|
|
// the changes event
|
|
|
|
ChangesEvent aEvent;
|
|
|
|
aEvent.Source = *this;
|
|
|
|
aEvent.Base <<= aEvent.Source; // the "base of the changes root" is also ourself
|
|
|
|
aEvent.Changes.realloc( 1 ); // exactly one change
|
|
|
|
aEvent.Changes[ 0 ].Accessor <<= _rAccessor;
|
|
|
|
|
|
|
|
|
|
|
|
Sequence< Reference< XInterface > > aChangeListeners( maChangeListeners.getElements() );
|
|
|
|
const Reference< XInterface >* pListener = aChangeListeners.getConstArray();
|
|
|
|
const Reference< XInterface >* pListenerEnd = aChangeListeners.getConstArray() + aChangeListeners.getLength();
|
|
|
|
for ( ; pListener != pListenerEnd; ++pListener )
|
|
|
|
{
|
|
|
|
if ( pListener->is() )
|
|
|
|
static_cast< XChangesListener* >( pListener->get() )->changesOccurred( aEvent );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
void ControlModelContainerBase::implUpdateGroupStructure()
|
|
|
|
{
|
|
|
|
if ( mbGroupsUpToDate )
|
|
|
|
// nothing to do
|
|
|
|
return;
|
|
|
|
|
|
|
|
// conditions for a group:
|
|
|
|
// * all elements of the group are radio buttons
|
|
|
|
// * all elements of the group are on the same dialog page
|
|
|
|
// * in the overall control order (determined by the tab index), all elements are subsequent
|
|
|
|
|
|
|
|
maGroups.clear();
|
|
|
|
|
|
|
|
Sequence< Reference< XControlModel > > aControlModels = getControlModels();
|
|
|
|
const Reference< XControlModel >* pControlModels = aControlModels.getConstArray();
|
|
|
|
const Reference< XControlModel >* pControlModelsEnd = pControlModels + aControlModels.getLength();
|
|
|
|
|
|
|
|
// in extreme we have as much groups as controls
|
|
|
|
maGroups.reserve( aControlModels.getLength() );
|
|
|
|
|
|
|
|
GroupingMachineState eState = eLookingForGroup; // the current state of our machine
|
|
|
|
Reference< XServiceInfo > xModelSI; // for checking for a radion button
|
|
|
|
AllGroups::iterator aCurrentGroup = maGroups.end(); // the group which we're currently building
|
|
|
|
sal_Int32 nCurrentGroupStep = -1; // the step which all controls of the current group belong to
|
2014-02-24 11:13:09 +01:00
|
|
|
bool bIsRadioButton; // is it a radio button?
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
#if OSL_DEBUG_LEVEL > 1
|
2013-04-07 12:06:47 +02:00
|
|
|
::std::vector< OUString > aCurrentGroupLabels;
|
2010-08-12 17:44:19 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
for ( ; pControlModels != pControlModelsEnd; ++pControlModels )
|
|
|
|
{
|
|
|
|
// we'll need this in every state
|
2014-06-13 17:52:40 +02:00
|
|
|
xModelSI.set(*pControlModels, css::uno::UNO_QUERY);
|
2013-04-07 12:06:47 +02:00
|
|
|
bIsRadioButton = xModelSI.is() && xModelSI->supportsService( OUString::createFromAscii( szServiceName2_UnoControlRadioButtonModel ) );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
switch ( eState )
|
|
|
|
{
|
|
|
|
case eLookingForGroup:
|
|
|
|
{
|
|
|
|
if ( !bIsRadioButton )
|
|
|
|
// this is no radio button -> still looking for the beginning of a group
|
|
|
|
continue;
|
|
|
|
// the current model is a radio button
|
|
|
|
// -> we found the beginning of a new group
|
|
|
|
// create the place for this group
|
|
|
|
size_t nGroups = maGroups.size();
|
|
|
|
maGroups.resize( nGroups + 1 );
|
|
|
|
aCurrentGroup = maGroups.begin() + nGroups;
|
|
|
|
// and add the (only, til now) member
|
|
|
|
aCurrentGroup->push_back( *pControlModels );
|
|
|
|
|
|
|
|
// get the step which all controls of this group now have to belong to
|
|
|
|
nCurrentGroupStep = lcl_getDialogStep( *pControlModels );
|
|
|
|
// new state: looking for further members
|
|
|
|
eState = eExpandingGroup;
|
|
|
|
|
|
|
|
#if OSL_DEBUG_LEVEL > 1
|
|
|
|
Reference< XPropertySet > xModelProps( *pControlModels, UNO_QUERY );
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString sLabel;
|
2013-06-29 21:24:12 +02:00
|
|
|
if ( xModelProps.is() && xModelProps->getPropertySetInfo().is() && xModelProps->getPropertySetInfo()->hasPropertyByName("Label") )
|
|
|
|
xModelProps->getPropertyValue("Label") >>= sLabel;
|
2010-08-12 17:44:19 +02:00
|
|
|
aCurrentGroupLabels.push_back( sLabel );
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case eExpandingGroup:
|
|
|
|
{
|
|
|
|
if ( !bIsRadioButton )
|
|
|
|
{ // no radio button -> the group is done
|
|
|
|
aCurrentGroup = maGroups.end();
|
|
|
|
eState = eLookingForGroup;
|
|
|
|
#if OSL_DEBUG_LEVEL > 1
|
|
|
|
aCurrentGroupLabels.clear();
|
|
|
|
#endif
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
// it is a radio button - is it on the proper page?
|
|
|
|
const sal_Int32 nThisModelStep = lcl_getDialogStep( *pControlModels );
|
|
|
|
if ( ( nThisModelStep == nCurrentGroupStep ) // the current button is on the same dialog page
|
|
|
|
|| ( 0 == nThisModelStep ) // the current button appears on all pages
|
|
|
|
)
|
|
|
|
{
|
|
|
|
// -> it belongs to the same group
|
|
|
|
aCurrentGroup->push_back( *pControlModels );
|
|
|
|
// state still is eExpandingGroup - we're looking for further elements
|
|
|
|
eState = eExpandingGroup;
|
|
|
|
|
|
|
|
#if OSL_DEBUG_LEVEL > 1
|
|
|
|
Reference< XPropertySet > xModelProps( *pControlModels, UNO_QUERY );
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString sLabel;
|
2013-06-29 21:24:12 +02:00
|
|
|
if ( xModelProps.is() && xModelProps->getPropertySetInfo().is() && xModelProps->getPropertySetInfo()->hasPropertyByName("Label") )
|
|
|
|
xModelProps->getPropertyValue("Label") >>= sLabel;
|
2010-08-12 17:44:19 +02:00
|
|
|
aCurrentGroupLabels.push_back( sLabel );
|
|
|
|
#endif
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
// it's a radio button, but on a different page
|
|
|
|
// -> we open a new group for it
|
|
|
|
|
|
|
|
// close the old group
|
|
|
|
aCurrentGroup = maGroups.end();
|
|
|
|
#if OSL_DEBUG_LEVEL > 1
|
|
|
|
aCurrentGroupLabels.clear();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// open a new group
|
|
|
|
size_t nGroups = maGroups.size();
|
|
|
|
maGroups.resize( nGroups + 1 );
|
|
|
|
aCurrentGroup = maGroups.begin() + nGroups;
|
|
|
|
// and add the (only, til now) member
|
|
|
|
aCurrentGroup->push_back( *pControlModels );
|
|
|
|
|
|
|
|
nCurrentGroupStep = nThisModelStep;
|
|
|
|
|
|
|
|
// state is the same: we still are looking for further elements of the current group
|
|
|
|
eState = eExpandingGroup;
|
|
|
|
#if OSL_DEBUG_LEVEL > 1
|
|
|
|
Reference< XPropertySet > xModelProps( *pControlModels, UNO_QUERY );
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString sLabel;
|
2013-06-29 21:24:12 +02:00
|
|
|
if ( xModelProps.is() && xModelProps->getPropertySetInfo().is() && xModelProps->getPropertySetInfo()->hasPropertyByName("Label") )
|
|
|
|
xModelProps->getPropertyValue("Label") >>= sLabel;
|
2010-08-12 17:44:19 +02:00
|
|
|
aCurrentGroupLabels.push_back( sLabel );
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-02-24 11:13:09 +01:00
|
|
|
mbGroupsUpToDate = true;
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::propertyChange( const PropertyChangeEvent& _rEvent ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
2013-11-05 11:06:18 +02:00
|
|
|
DBG_ASSERT( _rEvent.PropertyName.equalsAscii( "TabIndex" ),
|
2014-01-23 17:18:29 +01:00
|
|
|
"ControlModelContainerBase::propertyChange: not listening for this property!" );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
// the accessor for the changed element
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString sAccessor;
|
2010-08-12 17:44:19 +02:00
|
|
|
UnoControlModelHolderList::const_iterator aPos =
|
|
|
|
::std::find_if(
|
|
|
|
maModels.begin(), maModels.end(),
|
|
|
|
CompareControlModel( Reference< XControlModel >( _rEvent.Source, UNO_QUERY ) )
|
|
|
|
);
|
2014-01-23 17:18:29 +01:00
|
|
|
OSL_ENSURE( maModels.end() != aPos, "ControlModelContainerBase::propertyChange: don't know this model!" );
|
2010-08-12 17:44:19 +02:00
|
|
|
if ( maModels.end() != aPos )
|
|
|
|
sAccessor = aPos->second;
|
|
|
|
|
|
|
|
// our groups are not up-to-date
|
2014-02-24 11:13:09 +01:00
|
|
|
mbGroupsUpToDate = false;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
// notify
|
|
|
|
implNotifyTabModelChange( sAccessor );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlModelContainerBase::disposing( const EventObject& /*rEvent*/ ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
void ControlModelContainerBase::startControlListening( const Reference< XControlModel >& _rxChildModel )
|
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Reference< XPropertySet > xModelProps( _rxChildModel, UNO_QUERY );
|
|
|
|
Reference< XPropertySetInfo > xPSI;
|
|
|
|
if ( xModelProps.is() )
|
|
|
|
xPSI = xModelProps->getPropertySetInfo();
|
|
|
|
|
|
|
|
if ( xPSI.is() && xPSI->hasPropertyByName( getTabIndexPropertyName() ) )
|
|
|
|
xModelProps->addPropertyChangeListener( getTabIndexPropertyName(), this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
void ControlModelContainerBase::stopControlListening( const Reference< XControlModel >& _rxChildModel )
|
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Reference< XPropertySet > xModelProps( _rxChildModel, UNO_QUERY );
|
|
|
|
Reference< XPropertySetInfo > xPSI;
|
|
|
|
if ( xModelProps.is() )
|
|
|
|
xPSI = xModelProps->getPropertySetInfo();
|
|
|
|
|
|
|
|
if ( xPSI.is() && xPSI->hasPropertyByName( getTabIndexPropertyName() ) )
|
|
|
|
xModelProps->removePropertyChangeListener( getTabIndexPropertyName(), this );
|
|
|
|
}
|
|
|
|
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// = class ResourceListener
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
ResourceListener::ResourceListener(
|
|
|
|
const Reference< util::XModifyListener >& rListener ) :
|
|
|
|
OWeakObject(),
|
|
|
|
m_xListener( rListener ),
|
|
|
|
m_bListening( false )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
ResourceListener::~ResourceListener()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
// XInterface
|
|
|
|
Any SAL_CALL ResourceListener::queryInterface( const Type& rType )
|
2014-02-25 21:31:58 +01:00
|
|
|
throw ( RuntimeException, std::exception )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
Any a = ::cppu::queryInterface(
|
|
|
|
rType ,
|
|
|
|
static_cast< XModifyListener* >( this ),
|
|
|
|
static_cast< XEventListener* >( this ));
|
|
|
|
|
|
|
|
if ( a.hasValue() )
|
|
|
|
return a;
|
|
|
|
|
|
|
|
return OWeakObject::queryInterface( rType );
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL ResourceListener::acquire() throw ()
|
|
|
|
{
|
|
|
|
OWeakObject::acquire();
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL ResourceListener::release() throw ()
|
|
|
|
{
|
|
|
|
OWeakObject::release();
|
|
|
|
}
|
|
|
|
|
|
|
|
void ResourceListener::startListening(
|
|
|
|
const Reference< resource::XStringResourceResolver >& rResource )
|
|
|
|
{
|
|
|
|
Reference< util::XModifyBroadcaster > xModifyBroadcaster( rResource, UNO_QUERY );
|
|
|
|
|
|
|
|
{
|
|
|
|
// --- SAFE ---
|
|
|
|
::osl::ResettableGuard < ::osl::Mutex > aGuard( m_aMutex );
|
|
|
|
bool bListening( m_bListening );
|
|
|
|
bool bResourceSet( m_xResource.is() );
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
|
|
|
|
if ( bListening && bResourceSet )
|
|
|
|
stopListening();
|
|
|
|
|
|
|
|
// --- SAFE ---
|
|
|
|
aGuard.reset();
|
|
|
|
m_xResource = rResource;
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
}
|
|
|
|
|
|
|
|
Reference< util::XModifyListener > xThis( static_cast<OWeakObject*>( this ), UNO_QUERY );
|
|
|
|
if ( xModifyBroadcaster.is() )
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
xModifyBroadcaster->addModifyListener( xThis );
|
|
|
|
|
|
|
|
// --- SAFE ---
|
|
|
|
::osl::ResettableGuard < ::osl::Mutex > aGuard( m_aMutex );
|
|
|
|
m_bListening = true;
|
|
|
|
// --- SAFE ---
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void ResourceListener::stopListening()
|
|
|
|
{
|
|
|
|
Reference< util::XModifyBroadcaster > xModifyBroadcaster;
|
|
|
|
|
|
|
|
// --- SAFE ---
|
|
|
|
::osl::ResettableGuard < ::osl::Mutex > aGuard( m_aMutex );
|
|
|
|
if ( m_bListening && m_xResource.is() )
|
|
|
|
xModifyBroadcaster = Reference< util::XModifyBroadcaster >( m_xResource, UNO_QUERY );
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
|
|
|
|
Reference< util::XModifyListener > xThis( static_cast< OWeakObject* >( this ), UNO_QUERY );
|
|
|
|
if ( xModifyBroadcaster.is() )
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
// --- SAFE ---
|
|
|
|
aGuard.reset();
|
|
|
|
m_bListening = false;
|
|
|
|
m_xResource.clear();
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
|
|
|
|
xModifyBroadcaster->removeModifyListener( xThis );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// XModifyListener
|
|
|
|
void SAL_CALL ResourceListener::modified(
|
|
|
|
const lang::EventObject& aEvent )
|
2014-02-25 21:31:58 +01:00
|
|
|
throw ( RuntimeException, std::exception )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
Reference< util::XModifyListener > xListener;
|
|
|
|
|
|
|
|
// --- SAFE ---
|
|
|
|
::osl::ResettableGuard < ::osl::Mutex > aGuard( m_aMutex );
|
|
|
|
xListener = m_xListener;
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
|
|
|
|
if ( xListener.is() )
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
xListener->modified( aEvent );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// XEventListener
|
|
|
|
void SAL_CALL ResourceListener::disposing(
|
|
|
|
const EventObject& Source )
|
2014-02-25 21:31:58 +01:00
|
|
|
throw ( RuntimeException, std::exception )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
Reference< lang::XEventListener > xListener;
|
|
|
|
Reference< resource::XStringResourceResolver > xResource;
|
|
|
|
|
|
|
|
// --- SAFE ---
|
|
|
|
::osl::ResettableGuard < ::osl::Mutex > aGuard( m_aMutex );
|
|
|
|
Reference< XInterface > xIfacRes( m_xResource, UNO_QUERY );
|
|
|
|
Reference< XInterface > xIfacList( m_xListener, UNO_QUERY );
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
|
|
|
|
if ( Source.Source == xIfacRes )
|
|
|
|
{
|
|
|
|
// --- SAFE ---
|
|
|
|
aGuard.reset();
|
|
|
|
m_bListening = false;
|
|
|
|
xResource = m_xResource;
|
|
|
|
xListener = Reference< lang::XEventListener >( m_xListener, UNO_QUERY );
|
|
|
|
m_xResource.clear();
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
|
|
|
|
if ( xListener.is() )
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
xListener->disposing( Source );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if ( Source.Source == xIfacList )
|
|
|
|
{
|
|
|
|
// --- SAFE ---
|
|
|
|
aGuard.reset();
|
|
|
|
m_bListening = false;
|
|
|
|
xListener = Reference< lang::XEventListener >( m_xListener, UNO_QUERY );
|
|
|
|
xResource = m_xResource;
|
|
|
|
m_xResource.clear();
|
|
|
|
m_xListener.clear();
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
|
|
|
|
// Remove ourself as listener from resource resolver
|
|
|
|
Reference< util::XModifyBroadcaster > xModifyBroadcaster( xResource, UNO_QUERY );
|
|
|
|
Reference< util::XModifyListener > xThis( static_cast< OWeakObject* >( this ), UNO_QUERY );
|
|
|
|
if ( xModifyBroadcaster.is() )
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
xModifyBroadcaster->removeModifyListener( xThis );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-02-25 22:29:44 +01:00
|
|
|
|
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
// class DialogContainerControl
|
2014-02-25 22:29:44 +01:00
|
|
|
|
2013-01-07 11:05:58 +02:00
|
|
|
ControlContainerBase::ControlContainerBase( const Reference< XComponentContext >& rxContext )
|
|
|
|
:ContainerControl_IBase()
|
|
|
|
,m_xContext(rxContext)
|
2011-02-03 09:41:02 +01:00
|
|
|
,mbSizeModified(false)
|
|
|
|
,mbPosModified(false)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
maComponentInfos.nWidth = 280;
|
|
|
|
maComponentInfos.nHeight = 400;
|
|
|
|
mxListener = new ResourceListener( Reference< util::XModifyListener >(
|
|
|
|
static_cast< OWeakObject* >( this ), UNO_QUERY ));
|
|
|
|
}
|
|
|
|
|
|
|
|
ControlContainerBase::~ControlContainerBase()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlContainerBase::createPeer( const Reference< XToolkit > & rxToolkit, const Reference< XWindowPeer > & rParentPeer ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
UnoControlContainer::createPeer( rxToolkit, rParentPeer );
|
|
|
|
}
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
void ControlContainerBase::ImplInsertControl( Reference< XControlModel >& rxModel, const OUString& rName )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
Reference< XPropertySet > xP( rxModel, UNO_QUERY );
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aDefCtrl;
|
2010-08-12 17:44:19 +02:00
|
|
|
xP->getPropertyValue( GetPropertyName( BASEPROPERTY_DEFAULTCONTROL ) ) >>= aDefCtrl;
|
2013-01-07 11:05:58 +02:00
|
|
|
Reference < XControl > xCtrl( m_xContext->getServiceManager()->createInstanceWithContext(aDefCtrl, m_xContext), UNO_QUERY );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
2012-08-20 19:41:14 -05:00
|
|
|
DBG_ASSERT( xCtrl.is(), "ControlContainerBase::ImplInsertControl: could not create the control!" );
|
2010-08-12 17:44:19 +02:00
|
|
|
if ( xCtrl.is() )
|
|
|
|
{
|
|
|
|
xCtrl->setModel( rxModel );
|
|
|
|
addControl( rName, xCtrl );
|
|
|
|
// will implicitly call addingControl, where we can add the PropertiesChangeListener to the model
|
|
|
|
// (which we formerly did herein)
|
|
|
|
// 08.01.2001 - 96008 - fs@openoffice.org
|
|
|
|
|
|
|
|
ImplSetPosSize( xCtrl );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void ControlContainerBase::ImplRemoveControl( Reference< XControlModel >& rxModel )
|
|
|
|
{
|
|
|
|
Sequence< Reference< XControl > > aControls = getControls();
|
|
|
|
Reference< XControl > xCtrl = StdTabController::FindControl( aControls, rxModel );
|
|
|
|
if ( xCtrl.is() )
|
2011-02-03 09:41:02 +01:00
|
|
|
{
|
2010-08-12 17:44:19 +02:00
|
|
|
removeControl( xCtrl );
|
2011-02-03 09:41:02 +01:00
|
|
|
try
|
|
|
|
{
|
2013-05-02 10:36:43 +02:00
|
|
|
xCtrl->dispose();
|
2011-02-03 09:41:02 +01:00
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2011-02-03 09:41:02 +01:00
|
|
|
{
|
|
|
|
DBG_UNHANDLED_EXCEPTION();
|
|
|
|
}
|
|
|
|
}
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
void ControlContainerBase::ImplSetPosSize( Reference< XControl >& rxCtrl )
|
|
|
|
{
|
|
|
|
Reference< XPropertySet > xP( rxCtrl->getModel(), UNO_QUERY );
|
|
|
|
|
|
|
|
sal_Int32 nX = 0, nY = 0, nWidth = 0, nHeight = 0;
|
2013-06-29 21:24:12 +02:00
|
|
|
xP->getPropertyValue("PositionX") >>= nX;
|
|
|
|
xP->getPropertyValue("PositionY") >>= nY;
|
|
|
|
xP->getPropertyValue("Width") >>= nWidth;
|
|
|
|
xP->getPropertyValue("Height") >>= nHeight;
|
2010-08-12 17:44:19 +02:00
|
|
|
MapMode aMode( MAP_APPFONT );
|
|
|
|
OutputDevice*pOutDev = Application::GetDefaultDevice();
|
|
|
|
if ( pOutDev )
|
|
|
|
{
|
|
|
|
::Size aTmp( nX, nY );
|
|
|
|
aTmp = pOutDev->LogicToPixel( aTmp, aMode );
|
|
|
|
nX = aTmp.Width();
|
|
|
|
nY = aTmp.Height();
|
|
|
|
aTmp = ::Size( nWidth, nHeight );
|
|
|
|
aTmp = pOutDev->LogicToPixel( aTmp, aMode );
|
|
|
|
nWidth = aTmp.Width();
|
|
|
|
nHeight = aTmp.Height();
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2014-02-24 11:13:09 +01:00
|
|
|
Reference< XWindowPeer > xPeer = ImplGetCompatiblePeer( true );
|
2010-08-12 17:44:19 +02:00
|
|
|
Reference< XDevice > xD( xPeer, UNO_QUERY );
|
|
|
|
|
|
|
|
SimpleFontMetric aFM;
|
|
|
|
FontDescriptor aFD;
|
|
|
|
Any aVal = ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_FONTDESCRIPTOR ) );
|
|
|
|
aVal >>= aFD;
|
2012-01-16 15:46:57 -02:00
|
|
|
if ( !aFD.StyleName.isEmpty() )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
Reference< XFont > xFont = xD->getFont( aFD );
|
|
|
|
aFM = xFont->getFontMetric();
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Reference< XGraphics > xG = xD->createGraphics();
|
|
|
|
aFM = xG->getFontMetric();
|
|
|
|
}
|
|
|
|
|
|
|
|
sal_Int16 nH = aFM.Ascent + aFM.Descent;
|
|
|
|
sal_Int16 nW = nH/2; // calculate avarage width?!
|
|
|
|
|
|
|
|
nX *= nW;
|
|
|
|
nX /= 4;
|
|
|
|
nWidth *= nW;
|
|
|
|
nWidth /= 4;
|
|
|
|
nY *= nH;
|
|
|
|
nY /= 8;
|
|
|
|
nHeight *= nH;
|
|
|
|
nHeight /= 8;
|
|
|
|
}
|
|
|
|
Reference < XWindow > xW( rxCtrl, UNO_QUERY );
|
|
|
|
xW->setPosSize( nX, nY, nWidth, nHeight, PosSize::POSSIZE );
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlContainerBase::dispose() throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
EventObject aEvt;
|
|
|
|
aEvt.Source = static_cast< ::cppu::OWeakObject* >( this );
|
|
|
|
// Notify our listener helper about dispose
|
|
|
|
// --- SAFE ---
|
2011-03-11 18:04:44 +00:00
|
|
|
|
|
|
|
SolarMutexClearableGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
Reference< XEventListener > xListener( mxListener, UNO_QUERY );
|
|
|
|
mxListener.clear();
|
|
|
|
aGuard.clear();
|
|
|
|
// --- SAFE ---
|
|
|
|
|
|
|
|
if ( xListener.is() )
|
|
|
|
xListener->disposing( aEvt );
|
|
|
|
UnoControlContainer::dispose();
|
|
|
|
}
|
|
|
|
|
|
|
|
void SAL_CALL ControlContainerBase::disposing(
|
|
|
|
const EventObject& Source )
|
2014-02-25 21:31:58 +01:00
|
|
|
throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
UnoControlContainer::disposing( Source );
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
sal_Bool ControlContainerBase::setModel( const Reference< XControlModel >& rxModel ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
// destroy the old tab controller, if existent
|
|
|
|
if ( mxTabController.is() )
|
|
|
|
{
|
|
|
|
mxTabController->setModel( NULL ); // just to be sure, should not be necessary
|
|
|
|
removeTabController( mxTabController );
|
|
|
|
::comphelper::disposeComponent( mxTabController ); // just to be sure, should not be necessary
|
|
|
|
mxTabController.clear();
|
|
|
|
}
|
|
|
|
|
|
|
|
if ( getModel().is() )
|
|
|
|
{
|
|
|
|
Sequence< Reference< XControl > > aControls = getControls();
|
|
|
|
const Reference< XControl >* pCtrls = aControls.getConstArray();
|
|
|
|
const Reference< XControl >* pCtrlsEnd = pCtrls + aControls.getLength();
|
|
|
|
|
|
|
|
for ( ; pCtrls < pCtrlsEnd; ++pCtrls )
|
|
|
|
removeControl( *pCtrls );
|
|
|
|
// will implicitly call removingControl, which will remove the PropertyChangeListener
|
|
|
|
// (which we formerly did herein)
|
|
|
|
// 08.01.2001 - 96008 - fs@openoffice.org
|
|
|
|
|
|
|
|
Reference< XContainer > xC( getModel(), UNO_QUERY );
|
|
|
|
if ( xC.is() )
|
|
|
|
xC->removeContainerListener( this );
|
|
|
|
|
|
|
|
Reference< XChangesNotifier > xChangeNotifier( getModel(), UNO_QUERY );
|
|
|
|
if ( xChangeNotifier.is() )
|
|
|
|
xChangeNotifier->removeChangesListener( this );
|
|
|
|
}
|
|
|
|
|
2014-02-24 11:13:09 +01:00
|
|
|
bool bRet = UnoControl::setModel( rxModel );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
if ( getModel().is() )
|
|
|
|
{
|
|
|
|
Reference< XNameAccess > xNA( getModel(), UNO_QUERY );
|
|
|
|
if ( xNA.is() )
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
Sequence< OUString > aNames = xNA->getElementNames();
|
|
|
|
const OUString* pNames = aNames.getConstArray();
|
2010-08-12 17:44:19 +02:00
|
|
|
sal_uInt32 nCtrls = aNames.getLength();
|
|
|
|
|
|
|
|
Reference< XControlModel > xCtrlModel;
|
|
|
|
for( sal_uInt32 n = 0; n < nCtrls; ++n, ++pNames )
|
|
|
|
{
|
|
|
|
xNA->getByName( *pNames ) >>= xCtrlModel;
|
|
|
|
ImplInsertControl( xCtrlModel, *pNames );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Reference< XContainer > xC( getModel(), UNO_QUERY );
|
|
|
|
if ( xC.is() )
|
|
|
|
xC->addContainerListener( this );
|
|
|
|
|
|
|
|
Reference< XChangesNotifier > xChangeNotifier( getModel(), UNO_QUERY );
|
|
|
|
if ( xChangeNotifier.is() )
|
|
|
|
xChangeNotifier->addChangesListener( this );
|
|
|
|
}
|
|
|
|
|
|
|
|
Reference< XTabControllerModel > xTabbing( getModel(), UNO_QUERY );
|
|
|
|
if ( xTabbing.is() )
|
|
|
|
{
|
|
|
|
mxTabController = new StdTabController;
|
|
|
|
mxTabController->setModel( xTabbing );
|
|
|
|
addTabController( mxTabController );
|
|
|
|
}
|
|
|
|
ImplStartListingForResourceEvents();
|
|
|
|
|
|
|
|
return bRet;
|
|
|
|
}
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlContainerBase::setDesignMode( sal_Bool bOn ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
UnoControl::setDesignMode( bOn );
|
|
|
|
|
|
|
|
Sequence< Reference< XControl > > xCtrls = getControls();
|
|
|
|
sal_Int32 nControls = xCtrls.getLength();
|
|
|
|
Reference< XControl >* pControls = xCtrls.getArray();
|
|
|
|
for ( sal_Int32 n = 0; n < nControls; n++ )
|
|
|
|
pControls[n]->setDesignMode( bOn );
|
|
|
|
|
|
|
|
// #109067# in design mode the tab controller is not notified about
|
|
|
|
// tab index changes, therefore the tab order must be activated
|
|
|
|
// when switching from design mode to live mode
|
|
|
|
if ( mxTabController.is() && !bOn )
|
|
|
|
mxTabController->activateTabOrder();
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlContainerBase::elementInserted( const ContainerEvent& Event ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Reference< XControlModel > xModel;
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aName;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Event.Accessor >>= aName;
|
|
|
|
Event.Element >>= xModel;
|
2012-08-20 19:41:14 -05:00
|
|
|
ENSURE_OR_RETURN_VOID( xModel.is(), "ControlContainerBase::elementInserted: illegal element!" );
|
2011-02-03 09:41:02 +01:00
|
|
|
try
|
|
|
|
{
|
|
|
|
ImplInsertControl( xModel, aName );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
|
|
|
catch (const Exception&)
|
2011-02-03 09:41:02 +01:00
|
|
|
{
|
|
|
|
DBG_UNHANDLED_EXCEPTION();
|
|
|
|
}
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlContainerBase::elementRemoved( const ContainerEvent& Event ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Reference< XControlModel > xModel;
|
|
|
|
Event.Element >>= xModel;
|
2012-08-20 19:41:14 -05:00
|
|
|
ENSURE_OR_RETURN_VOID( xModel.is(), "ControlContainerBase::elementRemoved: illegal element!" );
|
2011-02-03 09:41:02 +01:00
|
|
|
try
|
|
|
|
{
|
2010-08-12 17:44:19 +02:00
|
|
|
ImplRemoveControl( xModel );
|
2011-02-03 09:41:02 +01:00
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
|
|
|
catch (const Exception&)
|
2011-02-03 09:41:02 +01:00
|
|
|
{
|
|
|
|
DBG_UNHANDLED_EXCEPTION();
|
|
|
|
}
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void ControlContainerBase::elementReplaced( const ContainerEvent& Event ) throw(RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Reference< XControlModel > xModel;
|
|
|
|
Event.ReplacedElement >>= xModel;
|
2011-02-03 09:41:02 +01:00
|
|
|
try
|
|
|
|
{
|
2012-08-20 19:41:14 -05:00
|
|
|
OSL_ENSURE( xModel.is(), "ControlContainerBase::elementReplaced: invalid ReplacedElement!" );
|
2011-02-03 09:41:02 +01:00
|
|
|
if ( xModel.is() )
|
|
|
|
ImplRemoveControl( xModel );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
|
|
|
catch (const Exception&)
|
2011-02-03 09:41:02 +01:00
|
|
|
{
|
|
|
|
DBG_UNHANDLED_EXCEPTION();
|
|
|
|
}
|
2010-08-12 17:44:19 +02:00
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aName;
|
2010-08-12 17:44:19 +02:00
|
|
|
Event.Accessor >>= aName;
|
|
|
|
Event.Element >>= xModel;
|
2012-08-20 19:41:14 -05:00
|
|
|
ENSURE_OR_RETURN_VOID( xModel.is(), "ControlContainerBase::elementReplaced: invalid new element!" );
|
2011-02-03 09:41:02 +01:00
|
|
|
try
|
|
|
|
{
|
|
|
|
ImplInsertControl( xModel, aName );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const RuntimeException&)
|
|
|
|
{
|
|
|
|
throw;
|
|
|
|
}
|
|
|
|
catch (const Exception&)
|
2011-02-03 09:41:02 +01:00
|
|
|
{
|
|
|
|
DBG_UNHANDLED_EXCEPTION();
|
|
|
|
}
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// XPropertiesChangeListener
|
|
|
|
void ControlContainerBase::ImplModelPropertiesChanged( const Sequence< PropertyChangeEvent >& rEvents ) throw(RuntimeException)
|
|
|
|
{
|
|
|
|
if( !isDesignMode() && !mbCreatingCompatiblePeer )
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString s1( "PositionX" );
|
|
|
|
OUString s2( "PositionY" );
|
|
|
|
OUString s3( "Width" );
|
|
|
|
OUString s4( "Height" );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
sal_Int32 nLen = rEvents.getLength();
|
|
|
|
for( sal_Int32 i = 0; i < nLen; i++ )
|
|
|
|
{
|
|
|
|
const PropertyChangeEvent& rEvt = rEvents.getConstArray()[i];
|
|
|
|
Reference< XControlModel > xModel( rEvt.Source, UNO_QUERY );
|
2014-02-24 11:13:09 +01:00
|
|
|
bool bOwnModel = (XControlModel*)xModel.get() == (XControlModel*)getModel().get();
|
2010-08-12 17:44:19 +02:00
|
|
|
if ( ( rEvt.PropertyName == s1 ) ||
|
|
|
|
( rEvt.PropertyName == s2 ) ||
|
|
|
|
( rEvt.PropertyName == s3 ) ||
|
|
|
|
( rEvt.PropertyName == s4 ) )
|
|
|
|
{
|
|
|
|
if ( bOwnModel )
|
|
|
|
{
|
|
|
|
if ( !mbPosModified && !mbSizeModified )
|
|
|
|
{
|
|
|
|
// Don't set new pos/size if we get new values from window listener
|
|
|
|
Reference< XControl > xThis( (XAggregation*)(::cppu::OWeakAggObject*)this, UNO_QUERY );
|
|
|
|
ImplSetPosSize( xThis );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Sequence<Reference<XControl> > aControlSequence(getControls());
|
|
|
|
Reference<XControl> aControlRef( StdTabController::FindControl( aControlSequence, xModel ) );
|
|
|
|
ImplSetPosSize( aControlRef );
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2010-09-09 15:18:26 +02:00
|
|
|
|
2010-08-12 17:44:19 +02:00
|
|
|
UnoControlContainer::ImplModelPropertiesChanged( rEvents );
|
|
|
|
}
|
|
|
|
|
|
|
|
void ControlContainerBase::addingControl( const Reference< XControl >& _rxControl )
|
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
UnoControlContainer::addingControl( _rxControl );
|
|
|
|
|
|
|
|
if ( _rxControl.is() )
|
|
|
|
{
|
|
|
|
Reference< XMultiPropertySet > xProps( _rxControl->getModel(), UNO_QUERY );
|
|
|
|
if ( xProps.is() )
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
Sequence< OUString > aNames( 4 );
|
|
|
|
OUString* pNames = aNames.getArray();
|
2013-03-15 22:41:22 +01:00
|
|
|
*pNames++ = "PositionX";
|
|
|
|
*pNames++ = "PositionY";
|
|
|
|
*pNames++ = "Width";
|
|
|
|
*pNames++ = "Height";
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
xProps->addPropertiesChangeListener( aNames, this );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void ControlContainerBase::removingControl( const Reference< XControl >& _rxControl )
|
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
UnoControlContainer::removingControl( _rxControl );
|
|
|
|
|
|
|
|
if ( _rxControl.is() )
|
|
|
|
{
|
|
|
|
Reference< XMultiPropertySet > xProps( _rxControl->getModel(), UNO_QUERY );
|
|
|
|
if ( xProps.is() )
|
|
|
|
xProps->removePropertiesChangeListener( this );
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2014-02-25 21:31:58 +01:00
|
|
|
void SAL_CALL ControlContainerBase::changesOccurred( const ChangesEvent& ) throw (RuntimeException, std::exception)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2011-03-11 18:04:44 +00:00
|
|
|
SolarMutexGuard aGuard;
|
2010-08-12 17:44:19 +02:00
|
|
|
// a tab controller model may have changed
|
|
|
|
|
|
|
|
// #109067# in design mode don't notify the tab controller
|
|
|
|
// about tab index changes
|
|
|
|
if ( mxTabController.is() && !mbDesignMode )
|
|
|
|
mxTabController->activateTabOrder();
|
|
|
|
}
|
2012-10-12 13:33:22 +02:00
|
|
|
static void lcl_ApplyResolverToNestedContainees( const Reference< resource::XStringResourceResolver >& xStringResourceResolver, const Reference< XControlContainer >& xContainer )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aPropName( PROPERTY_RESOURCERESOLVER );
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
Any xNewStringResourceResolver; xNewStringResourceResolver <<= xStringResourceResolver;
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
Sequence< OUString > aPropNames(1);
|
2010-08-12 17:44:19 +02:00
|
|
|
aPropNames[0] = aPropName;
|
|
|
|
|
|
|
|
const Sequence< Reference< awt::XControl > > aSeq = xContainer->getControls();
|
|
|
|
for ( sal_Int32 i = 0; i < aSeq.getLength(); i++ )
|
|
|
|
{
|
|
|
|
Reference< XControl > xControl( aSeq[i] );
|
|
|
|
Reference< XPropertySet > xPropertySet;
|
|
|
|
|
|
|
|
if ( xControl.is() )
|
|
|
|
xPropertySet = Reference< XPropertySet >( xControl->getModel(), UNO_QUERY );
|
|
|
|
|
|
|
|
if ( !xPropertySet.is() )
|
|
|
|
continue;
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
Reference< resource::XStringResourceResolver > xCurrStringResourceResolver;
|
|
|
|
Any aOldValue = xPropertySet->getPropertyValue( aPropName );
|
|
|
|
if ( ( aOldValue >>= xCurrStringResourceResolver )
|
|
|
|
&& ( xStringResourceResolver == xCurrStringResourceResolver )
|
|
|
|
)
|
|
|
|
{
|
|
|
|
Reference< XMultiPropertySet > xMultiPropSet( xPropertySet, UNO_QUERY );
|
|
|
|
Reference< XPropertiesChangeListener > xListener( xPropertySet, UNO_QUERY );
|
|
|
|
xMultiPropSet->firePropertiesChangeEvent( aPropNames, xListener );
|
|
|
|
}
|
|
|
|
else
|
|
|
|
xPropertySet->setPropertyValue( aPropName, xNewStringResourceResolver );
|
|
|
|
}
|
2011-08-04 15:38:56 +01:00
|
|
|
catch (const Exception&)
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
uno::Reference< XControlContainer > xNestedContainer( xControl, uno::UNO_QUERY );
|
|
|
|
if ( xNestedContainer.is() )
|
|
|
|
lcl_ApplyResolverToNestedContainees( xStringResourceResolver, xNestedContainer );
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
void ControlContainerBase::ImplStartListingForResourceEvents()
|
|
|
|
{
|
|
|
|
Reference< resource::XStringResourceResolver > xStringResourceResolver;
|
|
|
|
|
|
|
|
ImplGetPropertyValue( PROPERTY_RESOURCERESOLVER ) >>= xStringResourceResolver;
|
|
|
|
|
|
|
|
// Add our helper as listener to retrieve notifications about changes
|
|
|
|
Reference< util::XModifyListener > rListener( mxListener );
|
|
|
|
ResourceListener* pResourceListener = static_cast< ResourceListener* >( rListener.get() );
|
|
|
|
|
|
|
|
// resource listener will stop listening if resolver reference is empty
|
|
|
|
if ( pResourceListener )
|
|
|
|
pResourceListener->startListening( xStringResourceResolver );
|
|
|
|
ImplUpdateResourceResolver();
|
|
|
|
}
|
|
|
|
|
|
|
|
void ControlContainerBase::ImplUpdateResourceResolver()
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aPropName( PROPERTY_RESOURCERESOLVER );
|
2010-08-12 17:44:19 +02:00
|
|
|
Reference< resource::XStringResourceResolver > xStringResourceResolver;
|
|
|
|
|
|
|
|
ImplGetPropertyValue( aPropName ) >>= xStringResourceResolver;
|
|
|
|
if ( !xStringResourceResolver.is() )
|
|
|
|
return;
|
|
|
|
|
|
|
|
lcl_ApplyResolverToNestedContainees( xStringResourceResolver, this );
|
|
|
|
|
|
|
|
// propagate resource resolver changes to language dependent props of the dialog
|
|
|
|
Reference< XPropertySet > xPropertySet( getModel(), UNO_QUERY );
|
|
|
|
if ( xPropertySet.is() )
|
|
|
|
{
|
|
|
|
Reference< XMultiPropertySet > xMultiPropSet( xPropertySet, UNO_QUERY );
|
|
|
|
Reference< XPropertiesChangeListener > xListener( xPropertySet, UNO_QUERY );
|
|
|
|
xMultiPropSet->firePropertiesChangeEvent( lcl_getLanguageDependentProperties(), xListener );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//// ----------------------------------------------------
|
|
|
|
//// Helper Method to convert relative url to physical location
|
|
|
|
//// ----------------------------------------------------
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString getPhysicalLocation( const ::com::sun::star::uno::Any& rbase, const ::com::sun::star::uno::Any& rUrl )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString baseLocation;
|
|
|
|
OUString url;
|
2010-08-12 17:44:19 +02:00
|
|
|
|
|
|
|
rbase >>= baseLocation;
|
|
|
|
rUrl >>= url;
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString absoluteURL( url );
|
2012-01-16 15:46:57 -02:00
|
|
|
if ( !url.isEmpty() )
|
2010-08-12 17:44:19 +02:00
|
|
|
{
|
|
|
|
INetURLObject urlObj(baseLocation);
|
|
|
|
urlObj.removeSegment();
|
|
|
|
baseLocation = urlObj.GetMainURL( INetURLObject::NO_DECODE );
|
2010-09-02 14:32:02 +02:00
|
|
|
|
|
|
|
const INetURLObject protocolCheck( url );
|
|
|
|
const INetProtocol protocol = protocolCheck.GetProtocol();
|
|
|
|
if ( protocol == INET_PROT_NOT_VALID )
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString testAbsoluteURL;
|
2010-09-02 14:32:02 +02:00
|
|
|
if ( ::osl::FileBase::E_None == ::osl::FileBase::getAbsoluteFileURL( baseLocation, url, testAbsoluteURL ) )
|
|
|
|
absoluteURL = testAbsoluteURL;
|
|
|
|
}
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
|
|
|
|
2010-09-02 14:32:02 +02:00
|
|
|
return absoluteURL;
|
2010-08-12 17:44:19 +02:00
|
|
|
}
|
2010-09-02 14:32:02 +02:00
|
|
|
|
2011-03-22 16:07:51 +00:00
|
|
|
void
|
2013-04-07 12:06:47 +02:00
|
|
|
ControlModelContainerBase::updateUserFormChildren( const Reference< XNameContainer >& xAllChildren, const OUString& aName, ChildOperation Operation, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& xTarget ) throw(IllegalArgumentException, ElementExistException, WrappedTargetException, RuntimeException)
|
2011-03-22 16:07:51 +00:00
|
|
|
{
|
|
|
|
if ( Operation < Insert || Operation > Remove )
|
|
|
|
throw IllegalArgumentException();
|
|
|
|
|
|
|
|
if ( xAllChildren.is() )
|
|
|
|
{
|
|
|
|
if ( Operation == Remove )
|
|
|
|
{
|
|
|
|
Reference< XControlModel > xOldModel( xAllChildren->getByName( aName ), UNO_QUERY );
|
|
|
|
xAllChildren->removeByName( aName );
|
|
|
|
|
|
|
|
Reference< XNameContainer > xChildContainer( xOldModel, UNO_QUERY );
|
|
|
|
if ( xChildContainer.is() )
|
|
|
|
{
|
|
|
|
Reference< XPropertySet > xProps( xChildContainer, UNO_QUERY );
|
|
|
|
// container control is being removed from this container, reset the
|
|
|
|
// global list of containees
|
|
|
|
if ( xProps.is() )
|
|
|
|
xProps->setPropertyValue( GetPropertyName( BASEPROPERTY_USERFORMCONTAINEES ), uno::makeAny( uno::Reference< XNameContainer >() ) );
|
2013-04-07 12:06:47 +02:00
|
|
|
Sequence< OUString > aChildNames = xChildContainer->getElementNames();
|
2011-03-22 16:07:51 +00:00
|
|
|
for ( sal_Int32 index=0; index< aChildNames.getLength(); ++index )
|
|
|
|
updateUserFormChildren( xAllChildren, aChildNames[ index ], Operation, Reference< XControlModel > () );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if ( Operation == Insert )
|
|
|
|
{
|
|
|
|
xAllChildren->insertByName( aName, uno::makeAny( xTarget ) );
|
|
|
|
Reference< XNameContainer > xChildContainer( xTarget, UNO_QUERY );
|
|
|
|
if ( xChildContainer.is() )
|
|
|
|
{
|
|
|
|
// container control is being added from this container, reset the
|
|
|
|
// global list of containees to point to the correct global list
|
|
|
|
Reference< XPropertySet > xProps( xChildContainer, UNO_QUERY );
|
|
|
|
if ( xProps.is() )
|
|
|
|
xProps->setPropertyValue( GetPropertyName( BASEPROPERTY_USERFORMCONTAINEES ), uno::makeAny( xAllChildren ) );
|
2013-04-07 12:06:47 +02:00
|
|
|
Sequence< OUString > aChildNames = xChildContainer->getElementNames();
|
2011-03-22 16:07:51 +00:00
|
|
|
for ( sal_Int32 index=0; index< aChildNames.getLength(); ++index )
|
|
|
|
{
|
|
|
|
Reference< XControlModel > xChildTarget( xChildContainer->getByName( aChildNames[ index ] ), UNO_QUERY );
|
|
|
|
updateUserFormChildren( xAllChildren, aChildNames[ index ], Operation, xChildTarget );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
throw IllegalArgumentException();
|
|
|
|
}
|
|
|
|
|
2011-08-04 15:39:25 +01:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|