[Libreoffice-commits] core.git: comphelper/source forms/source
Aron Budea
baron at caesar.elte.hu
Tue Apr 26 09:41:19 UTC 2016
comphelper/source/eventattachermgr/eventattachermgr.cxx | 12
comphelper/source/property/propagg.cxx | 112 ++---
forms/source/inc/property.hxx | 35 -
forms/source/misc/property.cxx | 352 +++++++---------
4 files changed, 215 insertions(+), 296 deletions(-)
New commits:
commit f91674bd4b5022a63dc5e6a89fe9a1b832d96798
Author: Aron Budea <baron at caesar.elte.hu>
Date: Mon Apr 25 04:04:24 2016 +0200
tdf#60418: improve perf of opening/closing odts with form tags
Opening/closing times using "Without Frame tags" attached file from
bug report changed as follows on my system (debug build):
open: 2:06 -> 1:32
close (doc unchanged): 1:52 -> 0:18
The performance fixes in the different CXX files are independent,
eventattachermgr.cxx is related to doc close, the others to doc open.
Change-Id: I24fc4558f79b9123494a3939c0a313fcd47a067f
Reviewed-on: https://gerrit.libreoffice.org/24359
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
diff --git a/comphelper/source/eventattachermgr/eventattachermgr.cxx b/comphelper/source/eventattachermgr/eventattachermgr.cxx
index 70fbe1c..e4f0698 100644
--- a/comphelper/source/eventattachermgr/eventattachermgr.cxx
+++ b/comphelper/source/eventattachermgr/eventattachermgr.cxx
@@ -394,18 +394,12 @@ Reference< XIdlReflection > ImplEventAttacherManager::getReflection() throw( Exc
}
-::std::deque<AttacherIndex_Impl>::iterator ImplEventAttacherManager::implCheckIndex( sal_Int32 _nIndex )
+::std::deque< AttacherIndex_Impl >::iterator ImplEventAttacherManager::implCheckIndex( sal_Int32 _nIndex )
{
- if (_nIndex < 0)
- throw IllegalArgumentException();
-
- ::std::deque<AttacherIndex_Impl>::iterator aIt = aIndex.begin();
- for ( sal_Int32 i = 0; (i < _nIndex) && (aIt != aIndex.end()); ++i, ++aIt )
- ;
-
- if( aIt == aIndex.end() )
+ if ( (_nIndex < 0) || (static_cast<sal_uInt32>(_nIndex) >= aIndex.size()) )
throw IllegalArgumentException();
+ ::std::deque<AttacherIndex_Impl>::iterator aIt = aIndex.begin() + _nIndex;
return aIt;
}
diff --git a/comphelper/source/property/propagg.cxx b/comphelper/source/property/propagg.cxx
index 778021e..8f774b0 100644
--- a/comphelper/source/property/propagg.cxx
+++ b/comphelper/source/property/propagg.cxx
@@ -31,6 +31,7 @@
#include <algorithm>
#include <set>
+#include <unordered_set>
#include <memory>
@@ -61,86 +62,63 @@ namespace comphelper
OPropertyArrayAggregationHelper::OPropertyArrayAggregationHelper(
const Sequence< Property >& _rProperties, const Sequence< Property >& _rAggProperties,
IPropertyInfoService* _pInfoService, sal_Int32 _nFirstAggregateId )
- :m_aProperties( comphelper::sequenceToContainer<std::vector<css::beans::Property>>(_rProperties) )
{
- sal_Int32 nDelegatorProps = _rProperties.getLength();
- sal_Int32 nAggregateProps = _rAggProperties.getLength();
-
- // make room for all properties
- sal_Int32 nMergedProps = nDelegatorProps + nAggregateProps;
- m_aProperties.resize( nMergedProps );
-
- const Property* pAggregateProps = _rAggProperties.getConstArray();
- const Property* pDelegateProps = _rProperties.getConstArray();
- std::vector<css::beans::Property>::iterator pMergedProps = m_aProperties.begin();
-
- // if properties are present both at the delegatee and the aggregate, then the former are supposed to win.
- // So, we'll need an existence check.
- ::std::set< OUString > aDelegatorProps;
-
- // create the map for the delegator properties
- sal_Int32 nMPLoop = 0;
- for ( ; nMPLoop < nDelegatorProps; ++nMPLoop, ++pDelegateProps )
+ // if properties are present both at the delegatee and the aggregate, then the former are supposed to win
+ // merge and sort properties by name, delete duplicates (stable sort ensures delegator properties win)
+ m_aProperties.insert( m_aProperties.end(), _rProperties.begin(), _rProperties.end() );
+ m_aProperties.insert( m_aProperties.end(), _rAggProperties.begin(), _rAggProperties.end() );
+ ::std::stable_sort( m_aProperties.begin(), m_aProperties.end(), PropertyCompareByName() );
+ m_aProperties.erase( ::std::unique(m_aProperties.begin(), m_aProperties.end(),
+ []( const css::beans::Property& x, const css::beans::Property& y ) -> bool { return x.Name == y.Name; } ),
+ m_aProperties.end() );
+ m_aProperties.shrink_to_fit();
+
+ // fill aDelegatorProps with names from _rProperties for a fast existence check
+ // different kinds of properties are processed differently
+ ::std::unordered_set< OUString, OUStringHash > aDelegatorProps;
+ aDelegatorProps.reserve( _rProperties.getLength() );
+ for( auto &delegateProp: _rProperties )
{
- m_aPropertyAccessors[ pDelegateProps->Handle ] = OPropertyAccessor( -1, nMPLoop, false );
- OSL_ENSURE( aDelegatorProps.find( pDelegateProps->Name ) == aDelegatorProps.end(),
+ const auto inserted = aDelegatorProps.insert( delegateProp.Name );
+ OSL_ENSURE( inserted.second == true,
"OPropertyArrayAggregationHelper::OPropertyArrayAggregationHelper: duplicate delegatee property!" );
- aDelegatorProps.insert( pDelegateProps->Name );
}
- // create the map for the aggregate properties
+ ::std::unordered_set< sal_Int32 > existingHandles;
+ existingHandles.reserve( m_aProperties.size() );
sal_Int32 nAggregateHandle = _nFirstAggregateId;
- pMergedProps += nDelegatorProps;
- for ( ; nMPLoop < nMergedProps; ++pAggregateProps )
+ for ( sal_Int32 nMPLoop = 0; nMPLoop < static_cast< sal_Int32 >( m_aProperties.size() ); ++nMPLoop )
{
- // if the aggregate property is present at the delegatee already, ignore it
- if ( aDelegatorProps.find( pAggregateProps->Name ) != aDelegatorProps.end() )
+ auto &prop = m_aProperties[ nMPLoop ];
+ if ( aDelegatorProps.find( prop.Name ) != aDelegatorProps.end() )
{
- --nMergedProps;
- continue;
+ m_aPropertyAccessors[ prop.Handle ] = OPropertyAccessor( -1, nMPLoop, false );
+ existingHandles.insert( prop.Handle );
}
-
- // next aggregate property - remember it
- *pMergedProps = *pAggregateProps;
-
- // determine the handle for the property which we will expose to the outside world
- sal_Int32 nHandle = -1;
- // ask the info service first
- if ( _pInfoService )
- nHandle = _pInfoService->getPreferredPropertyId( pMergedProps->Name );
-
- if ( -1 == nHandle )
- // no handle from the info service -> default
- nHandle = nAggregateHandle++;
else
- { // check if we alread have a property with the given handle
- auto pPropsTilNow = m_aProperties.begin();
- for ( sal_Int32 nCheck = 0; nCheck < nMPLoop; ++nCheck, ++pPropsTilNow )
- if ( pPropsTilNow->Handle == nHandle )
- { // conflicts -> use another one (which we don't check anymore, assuming _nFirstAggregateId was large enough)
- nHandle = nAggregateHandle++;
- break;
- }
- }
+ {
+ // determine the handle for the property which we will expose to the outside world
+ sal_Int32 nHandle = -1;
+ // ask the info service first
+ if ( _pInfoService )
+ nHandle = _pInfoService->getPreferredPropertyId( prop.Name );
- // remember the accessor for this property
- m_aPropertyAccessors[ nHandle ] = OPropertyAccessor( pMergedProps->Handle, nMPLoop, true );
- pMergedProps->Handle = nHandle;
+ if ( ( -1 == nHandle ) || ( existingHandles.find( nHandle ) != existingHandles.end() ) )
+ {
+ // 1. no handle from the info service -> default
+ // 2. conflicts -> use another one (which we don't check anymore, assuming _nFirstAggregateId was large enough)
+ nHandle = nAggregateHandle++;
+ }
+ else
+ {
+ existingHandles.insert( nHandle );
+ }
- ++nMPLoop;
- ++pMergedProps;
+ // remember the accessor for this property
+ m_aPropertyAccessors[ nHandle ] = OPropertyAccessor( prop.Handle, nMPLoop, true );
+ prop.Handle = nHandle;
+ }
}
- m_aProperties.resize( nMergedProps );
- pMergedProps = m_aProperties.begin(); // reset, needed again below
-
- // sort the properties by name
- ::std::sort( pMergedProps, pMergedProps+nMergedProps, PropertyCompareByName());
-
- pMergedProps = m_aProperties.begin();
-
- // sync the map positions
- for ( nMPLoop = 0; nMPLoop < nMergedProps; ++nMPLoop, ++pMergedProps )
- m_aPropertyAccessors[ pMergedProps->Handle ].nPos = nMPLoop;
}
diff --git a/forms/source/inc/property.hxx b/forms/source/inc/property.hxx
index 0fe9750..daf86db 100644
--- a/forms/source/inc/property.hxx
+++ b/forms/source/inc/property.hxx
@@ -22,7 +22,7 @@
#include <sal/config.h>
-#include <vector>
+#include <unordered_map>
#include <com/sun/star/uno/XAggregation.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
@@ -46,40 +46,9 @@ namespace frm
class PropertyInfoService
{
-
- struct PropertyAssignment
- {
- OUString sName;
- sal_Int32 nHandle;
-
- PropertyAssignment() { nHandle = -1; }
- PropertyAssignment(const PropertyAssignment& _rSource)
- :sName(_rSource.sName), nHandle(_rSource.nHandle) { }
- PropertyAssignment(const OUString& _rName, sal_Int32 _nHandle)
- :sName(_rName), nHandle(_nHandle) { }
-
- };
-
- typedef std::vector<PropertyAssignment> PropertyMap;
+ typedef std::unordered_map<OUString, sal_Int32, OUStringHash> PropertyMap;
static PropertyMap s_AllKnownProperties;
-
- // comparing two PropertyAssignment's
-public:
- typedef PropertyAssignment PUBLIC_SOLARIS_COMPILER_HACK;
- // did not get the following compiled under with SUNPRO 5 without this
- // public typedef
-private:
- friend struct PropertyAssignmentNameCompareLess;
- typedef ::std::binary_function< PUBLIC_SOLARIS_COMPILER_HACK, PUBLIC_SOLARIS_COMPILER_HACK, sal_Bool > PropertyAssignmentNameCompareLess_Base;
- struct PropertyAssignmentNameCompareLess : public PropertyAssignmentNameCompareLess_Base
- {
- inline bool operator() (const PUBLIC_SOLARIS_COMPILER_HACK& _rL, const PUBLIC_SOLARIS_COMPILER_HACK& _rR) const
- {
- return (_rL.sName.compareTo(_rR.sName) < 0);
- }
- };
-
public:
PropertyInfoService() { }
diff --git a/forms/source/misc/property.cxx b/forms/source/misc/property.cxx
index 7e47c8c..10f0caf 100644
--- a/forms/source/misc/property.cxx
+++ b/forms/source/misc/property.cxx
@@ -21,10 +21,6 @@
#include "property.hxx"
#include "property.hrc"
-#include <cppuhelper/queryinterface.hxx>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-
-#include <algorithm>
namespace frm
{
@@ -37,20 +33,10 @@ sal_Int32 PropertyInfoService::getPropertyId(const OUString& _rName)
{
initialize();
- PropertyAssignment aCompareName(_rName, -1);
-
- ::std::pair<PropertyMap::iterator,PropertyMap::iterator> aPair = ::std::equal_range(
- s_AllKnownProperties.begin(),
- s_AllKnownProperties.end(),
- aCompareName,
- PropertyAssignmentNameCompareLess());
-
sal_Int32 nHandle = -1;
- if (aPair.first != aPair.second)
- { // we found something _and_ we have an identity
- nHandle = aPair.first->nHandle;
- }
-
+ const auto foundProperty = s_AllKnownProperties.find(_rName);
+ if (foundProperty != s_AllKnownProperties.end())
+ nHandle = foundProperty->second;
return nHandle;
}
@@ -61,182 +47,174 @@ sal_Int32 ConcreteInfoService::getPreferredPropertyId(const OUString& _rName)
}
-#define ADD_PROP_ASSIGNMENT(varname) \
- s_AllKnownProperties.push_back(PropertyAssignment(PROPERTY_##varname, PROPERTY_ID_##varname))
+#define EXPAND_PROP_INIT(varname) \
+ { PROPERTY_##varname, PROPERTY_ID_##varname }
void PropertyInfoService::initialize()
{
if (!s_AllKnownProperties.empty())
return;
- s_AllKnownProperties.reserve(220);
-
- ADD_PROP_ASSIGNMENT(NAME);
- ADD_PROP_ASSIGNMENT(TAG);
- ADD_PROP_ASSIGNMENT(TABINDEX);
- ADD_PROP_ASSIGNMENT(CLASSID);
- ADD_PROP_ASSIGNMENT(ALIGN);
- ADD_PROP_ASSIGNMENT(FETCHSIZE);
- ADD_PROP_ASSIGNMENT(VALUE);
- ADD_PROP_ASSIGNMENT(VALUEMIN);
- ADD_PROP_ASSIGNMENT(VALUEMAX);
- ADD_PROP_ASSIGNMENT(VALUESTEP);
- ADD_PROP_ASSIGNMENT(TEXT);
- ADD_PROP_ASSIGNMENT(LABEL);
- ADD_PROP_ASSIGNMENT(NAVIGATION);
- ADD_PROP_ASSIGNMENT(CYCLE);
- ADD_PROP_ASSIGNMENT(CONTROLSOURCE);
- ADD_PROP_ASSIGNMENT(ENABLED);
- ADD_PROP_ASSIGNMENT(ENABLEVISIBLE);
- ADD_PROP_ASSIGNMENT(SPIN);
- ADD_PROP_ASSIGNMENT(READONLY);
- ADD_PROP_ASSIGNMENT(FILTER);
- ADD_PROP_ASSIGNMENT(WIDTH);
- ADD_PROP_ASSIGNMENT(SEARCHABLE);
- ADD_PROP_ASSIGNMENT(MULTILINE);
- ADD_PROP_ASSIGNMENT(TARGET_URL);
- ADD_PROP_ASSIGNMENT(DEFAULTCONTROL);
- ADD_PROP_ASSIGNMENT(MAXTEXTLEN);
- ADD_PROP_ASSIGNMENT(SIZE);
- ADD_PROP_ASSIGNMENT(DATE);
- ADD_PROP_ASSIGNMENT(TIME);
- ADD_PROP_ASSIGNMENT(STATE);
- ADD_PROP_ASSIGNMENT(TRISTATE);
- ADD_PROP_ASSIGNMENT(HIDDEN_VALUE);
- ADD_PROP_ASSIGNMENT(TARGET_FRAME);
- ADD_PROP_ASSIGNMENT(BUTTONTYPE);
- ADD_PROP_ASSIGNMENT(STRINGITEMLIST);
- ADD_PROP_ASSIGNMENT(DEFAULT_TEXT);
- ADD_PROP_ASSIGNMENT(DEFAULT_STATE);
- ADD_PROP_ASSIGNMENT(DEFAULT_DATE);
- ADD_PROP_ASSIGNMENT(DEFAULT_TIME);
- ADD_PROP_ASSIGNMENT(DEFAULT_VALUE);
- ADD_PROP_ASSIGNMENT(FORMATKEY);
- ADD_PROP_ASSIGNMENT(FORMATSSUPPLIER);
- ADD_PROP_ASSIGNMENT(SUBMIT_ACTION);
- ADD_PROP_ASSIGNMENT(SUBMIT_TARGET);
- ADD_PROP_ASSIGNMENT(SUBMIT_METHOD);
- ADD_PROP_ASSIGNMENT(SUBMIT_ENCODING);
- ADD_PROP_ASSIGNMENT(IMAGE_URL);
- ADD_PROP_ASSIGNMENT(GRAPHIC);
- ADD_PROP_ASSIGNMENT(EMPTY_IS_NULL);
- ADD_PROP_ASSIGNMENT(LISTSOURCETYPE);
- ADD_PROP_ASSIGNMENT(LISTSOURCE);
- ADD_PROP_ASSIGNMENT(SELECT_SEQ);
- ADD_PROP_ASSIGNMENT(VALUE_SEQ);
- ADD_PROP_ASSIGNMENT(SELECT_VALUE);
- ADD_PROP_ASSIGNMENT(SELECT_VALUE_SEQ);
- ADD_PROP_ASSIGNMENT(DEFAULT_SELECT_SEQ);
- ADD_PROP_ASSIGNMENT(MULTISELECTION);
- ADD_PROP_ASSIGNMENT(DECIMAL_ACCURACY);
- ADD_PROP_ASSIGNMENT(EDITMASK);
- ADD_PROP_ASSIGNMENT(ISREADONLY);
- ADD_PROP_ASSIGNMENT(FIELDTYPE);
- ADD_PROP_ASSIGNMENT(DECIMALS);
- ADD_PROP_ASSIGNMENT(REFVALUE);
- ADD_PROP_ASSIGNMENT(STRICTFORMAT);
- ADD_PROP_ASSIGNMENT(DATASOURCE);
- ADD_PROP_ASSIGNMENT(ALLOWADDITIONS);
- ADD_PROP_ASSIGNMENT(ALLOWEDITS);
- ADD_PROP_ASSIGNMENT(ALLOWDELETIONS);
- ADD_PROP_ASSIGNMENT(MASTERFIELDS);
- ADD_PROP_ASSIGNMENT(ISPASSTHROUGH);
- ADD_PROP_ASSIGNMENT(QUERY);
- ADD_PROP_ASSIGNMENT(LITERALMASK);
- ADD_PROP_ASSIGNMENT(SHOWTHOUSANDSEP);
- ADD_PROP_ASSIGNMENT(CURRENCYSYMBOL);
- ADD_PROP_ASSIGNMENT(DATEFORMAT);
- ADD_PROP_ASSIGNMENT(DATEMIN);
- ADD_PROP_ASSIGNMENT(DATEMAX);
- ADD_PROP_ASSIGNMENT(DATE_SHOW_CENTURY);
- ADD_PROP_ASSIGNMENT(TIMEFORMAT);
- ADD_PROP_ASSIGNMENT(TIMEMIN);
- ADD_PROP_ASSIGNMENT(TIMEMAX);
- ADD_PROP_ASSIGNMENT(LINECOUNT);
- ADD_PROP_ASSIGNMENT(BOUNDCOLUMN);
- ADD_PROP_ASSIGNMENT(HASNAVIGATION);
- ADD_PROP_ASSIGNMENT(FONT);
- ADD_PROP_ASSIGNMENT(BACKGROUNDCOLOR);
- ADD_PROP_ASSIGNMENT(FILLCOLOR);
- ADD_PROP_ASSIGNMENT(TEXTCOLOR);
- ADD_PROP_ASSIGNMENT(LINECOLOR);
- ADD_PROP_ASSIGNMENT(BORDER);
- ADD_PROP_ASSIGNMENT(DROPDOWN);
- ADD_PROP_ASSIGNMENT(HSCROLL);
- ADD_PROP_ASSIGNMENT(VSCROLL);
- ADD_PROP_ASSIGNMENT(TABSTOP);
- ADD_PROP_ASSIGNMENT(AUTOCOMPLETE);
- ADD_PROP_ASSIGNMENT(HARDLINEBREAKS);
- ADD_PROP_ASSIGNMENT(PRINTABLE);
- ADD_PROP_ASSIGNMENT(ECHO_CHAR);
- ADD_PROP_ASSIGNMENT(ROWHEIGHT);
- ADD_PROP_ASSIGNMENT(HELPTEXT);
- ADD_PROP_ASSIGNMENT(FONT_NAME);
- ADD_PROP_ASSIGNMENT(FONT_STYLENAME);
- ADD_PROP_ASSIGNMENT(FONT_FAMILY);
- ADD_PROP_ASSIGNMENT(FONT_CHARSET);
- ADD_PROP_ASSIGNMENT(FONT_HEIGHT);
- ADD_PROP_ASSIGNMENT(FONT_WEIGHT);
- ADD_PROP_ASSIGNMENT(FONT_SLANT);
- ADD_PROP_ASSIGNMENT(FONT_UNDERLINE);
- ADD_PROP_ASSIGNMENT(FONT_WORDLINEMODE);
- ADD_PROP_ASSIGNMENT(FONT_STRIKEOUT);
- ADD_PROP_ASSIGNMENT(TEXTLINECOLOR);
- ADD_PROP_ASSIGNMENT(FONTEMPHASISMARK);
- ADD_PROP_ASSIGNMENT(FONTRELIEF);
- ADD_PROP_ASSIGNMENT(HELPURL);
- ADD_PROP_ASSIGNMENT(RECORDMARKER);
- ADD_PROP_ASSIGNMENT(BOUNDFIELD);
- ADD_PROP_ASSIGNMENT(INPUT_REQUIRED);
- ADD_PROP_ASSIGNMENT(TREATASNUMERIC);
- ADD_PROP_ASSIGNMENT(EFFECTIVE_VALUE);
- ADD_PROP_ASSIGNMENT(EFFECTIVE_DEFAULT);
- ADD_PROP_ASSIGNMENT(EFFECTIVE_MIN);
- ADD_PROP_ASSIGNMENT(EFFECTIVE_MAX);
- ADD_PROP_ASSIGNMENT(HIDDEN);
- ADD_PROP_ASSIGNMENT(FILTERPROPOSAL);
- ADD_PROP_ASSIGNMENT(FIELDSOURCE);
- ADD_PROP_ASSIGNMENT(TABLENAME);
- ADD_PROP_ASSIGNMENT(CONTROLLABEL);
- ADD_PROP_ASSIGNMENT(CURRSYM_POSITION);
- ADD_PROP_ASSIGNMENT(CURSORCOLOR);
- ADD_PROP_ASSIGNMENT(ALWAYSSHOWCURSOR);
- ADD_PROP_ASSIGNMENT(DISPLAYSYNCHRON);
- ADD_PROP_ASSIGNMENT(ISMODIFIED);
- ADD_PROP_ASSIGNMENT(ISNEW);
- ADD_PROP_ASSIGNMENT(PRIVILEGES);
- ADD_PROP_ASSIGNMENT(DETAILFIELDS);
- ADD_PROP_ASSIGNMENT(COMMAND);
- ADD_PROP_ASSIGNMENT(COMMANDTYPE);
- ADD_PROP_ASSIGNMENT(RESULTSET_CONCURRENCY);
- ADD_PROP_ASSIGNMENT(INSERTONLY);
- ADD_PROP_ASSIGNMENT(RESULTSET_TYPE);
- ADD_PROP_ASSIGNMENT(ESCAPE_PROCESSING);
- ADD_PROP_ASSIGNMENT(APPLYFILTER);
- ADD_PROP_ASSIGNMENT(ISNULLABLE);
- ADD_PROP_ASSIGNMENT(ACTIVECOMMAND);
- ADD_PROP_ASSIGNMENT(ISCURRENCY);
- ADD_PROP_ASSIGNMENT(URL);
- ADD_PROP_ASSIGNMENT(TITLE);
- ADD_PROP_ASSIGNMENT(ACTIVE_CONNECTION);
- ADD_PROP_ASSIGNMENT(SCALE);
- ADD_PROP_ASSIGNMENT(SORT);
- ADD_PROP_ASSIGNMENT(PERSISTENCE_MAXTEXTLENGTH);
- ADD_PROP_ASSIGNMENT(SCROLL_VALUE);
- ADD_PROP_ASSIGNMENT(SPIN_VALUE);
- ADD_PROP_ASSIGNMENT(DEFAULT_SCROLL_VALUE);
- ADD_PROP_ASSIGNMENT(DEFAULT_SPIN_VALUE);
- ADD_PROP_ASSIGNMENT( WRITING_MODE );
- ADD_PROP_ASSIGNMENT( CONTEXT_WRITING_MODE );
- ADD_PROP_ASSIGNMENT( GENERATEVBAEVENTS );
-
- // now sort the array by name
-
- std::sort(
- s_AllKnownProperties.begin(),
- s_AllKnownProperties.end(),
- PropertyAssignmentNameCompareLess()
- );
+ s_AllKnownProperties.insert({
+ EXPAND_PROP_INIT(NAME),
+ EXPAND_PROP_INIT(TAG),
+ EXPAND_PROP_INIT(TABINDEX),
+ EXPAND_PROP_INIT(CLASSID),
+ EXPAND_PROP_INIT(ALIGN),
+ EXPAND_PROP_INIT(FETCHSIZE),
+ EXPAND_PROP_INIT(VALUE),
+ EXPAND_PROP_INIT(VALUEMIN),
+ EXPAND_PROP_INIT(VALUEMAX),
+ EXPAND_PROP_INIT(VALUESTEP),
+ EXPAND_PROP_INIT(TEXT),
+ EXPAND_PROP_INIT(LABEL),
+ EXPAND_PROP_INIT(NAVIGATION),
+ EXPAND_PROP_INIT(CYCLE),
+ EXPAND_PROP_INIT(CONTROLSOURCE),
+ EXPAND_PROP_INIT(ENABLED),
+ EXPAND_PROP_INIT(ENABLEVISIBLE),
+ EXPAND_PROP_INIT(SPIN),
+ EXPAND_PROP_INIT(READONLY),
+ EXPAND_PROP_INIT(FILTER),
+ EXPAND_PROP_INIT(WIDTH),
+ EXPAND_PROP_INIT(SEARCHABLE),
+ EXPAND_PROP_INIT(MULTILINE),
+ EXPAND_PROP_INIT(TARGET_URL),
+ EXPAND_PROP_INIT(DEFAULTCONTROL),
+ EXPAND_PROP_INIT(MAXTEXTLEN),
+ EXPAND_PROP_INIT(SIZE),
+ EXPAND_PROP_INIT(DATE),
+ EXPAND_PROP_INIT(TIME),
+ EXPAND_PROP_INIT(STATE),
+ EXPAND_PROP_INIT(TRISTATE),
+ EXPAND_PROP_INIT(HIDDEN_VALUE),
+ EXPAND_PROP_INIT(TARGET_FRAME),
+ EXPAND_PROP_INIT(BUTTONTYPE),
+ EXPAND_PROP_INIT(STRINGITEMLIST),
+ EXPAND_PROP_INIT(DEFAULT_TEXT),
+ EXPAND_PROP_INIT(DEFAULT_STATE),
+ EXPAND_PROP_INIT(DEFAULT_DATE),
+ EXPAND_PROP_INIT(DEFAULT_TIME),
+ EXPAND_PROP_INIT(DEFAULT_VALUE),
+ EXPAND_PROP_INIT(FORMATKEY),
+ EXPAND_PROP_INIT(FORMATSSUPPLIER),
+ EXPAND_PROP_INIT(SUBMIT_ACTION),
+ EXPAND_PROP_INIT(SUBMIT_TARGET),
+ EXPAND_PROP_INIT(SUBMIT_METHOD),
+ EXPAND_PROP_INIT(SUBMIT_ENCODING),
+ EXPAND_PROP_INIT(IMAGE_URL),
+ EXPAND_PROP_INIT(GRAPHIC),
+ EXPAND_PROP_INIT(EMPTY_IS_NULL),
+ EXPAND_PROP_INIT(LISTSOURCETYPE),
+ EXPAND_PROP_INIT(LISTSOURCE),
+ EXPAND_PROP_INIT(SELECT_SEQ),
+ EXPAND_PROP_INIT(VALUE_SEQ),
+ EXPAND_PROP_INIT(SELECT_VALUE),
+ EXPAND_PROP_INIT(SELECT_VALUE_SEQ),
+ EXPAND_PROP_INIT(DEFAULT_SELECT_SEQ),
+ EXPAND_PROP_INIT(MULTISELECTION),
+ EXPAND_PROP_INIT(DECIMAL_ACCURACY),
+ EXPAND_PROP_INIT(EDITMASK),
+ EXPAND_PROP_INIT(ISREADONLY),
+ EXPAND_PROP_INIT(FIELDTYPE),
+ EXPAND_PROP_INIT(DECIMALS),
+ EXPAND_PROP_INIT(REFVALUE),
+ EXPAND_PROP_INIT(STRICTFORMAT),
+ EXPAND_PROP_INIT(DATASOURCE),
+ EXPAND_PROP_INIT(ALLOWADDITIONS),
+ EXPAND_PROP_INIT(ALLOWEDITS),
+ EXPAND_PROP_INIT(ALLOWDELETIONS),
+ EXPAND_PROP_INIT(MASTERFIELDS),
+ EXPAND_PROP_INIT(ISPASSTHROUGH),
+ EXPAND_PROP_INIT(QUERY),
+ EXPAND_PROP_INIT(LITERALMASK),
+ EXPAND_PROP_INIT(SHOWTHOUSANDSEP),
+ EXPAND_PROP_INIT(CURRENCYSYMBOL),
+ EXPAND_PROP_INIT(DATEFORMAT),
+ EXPAND_PROP_INIT(DATEMIN),
+ EXPAND_PROP_INIT(DATEMAX),
+ EXPAND_PROP_INIT(DATE_SHOW_CENTURY),
+ EXPAND_PROP_INIT(TIMEFORMAT),
+ EXPAND_PROP_INIT(TIMEMIN),
+ EXPAND_PROP_INIT(TIMEMAX),
+ EXPAND_PROP_INIT(LINECOUNT),
+ EXPAND_PROP_INIT(BOUNDCOLUMN),
+ EXPAND_PROP_INIT(HASNAVIGATION),
+ EXPAND_PROP_INIT(FONT),
+ EXPAND_PROP_INIT(BACKGROUNDCOLOR),
+ EXPAND_PROP_INIT(FILLCOLOR),
+ EXPAND_PROP_INIT(TEXTCOLOR),
+ EXPAND_PROP_INIT(LINECOLOR),
+ EXPAND_PROP_INIT(BORDER),
+ EXPAND_PROP_INIT(DROPDOWN),
+ EXPAND_PROP_INIT(HSCROLL),
+ EXPAND_PROP_INIT(VSCROLL),
+ EXPAND_PROP_INIT(TABSTOP),
+ EXPAND_PROP_INIT(AUTOCOMPLETE),
+ EXPAND_PROP_INIT(HARDLINEBREAKS),
+ EXPAND_PROP_INIT(PRINTABLE),
+ EXPAND_PROP_INIT(ECHO_CHAR),
+ EXPAND_PROP_INIT(ROWHEIGHT),
+ EXPAND_PROP_INIT(HELPTEXT),
+ EXPAND_PROP_INIT(FONT_NAME),
+ EXPAND_PROP_INIT(FONT_STYLENAME),
+ EXPAND_PROP_INIT(FONT_FAMILY),
+ EXPAND_PROP_INIT(FONT_CHARSET),
+ EXPAND_PROP_INIT(FONT_HEIGHT),
+ EXPAND_PROP_INIT(FONT_WEIGHT),
+ EXPAND_PROP_INIT(FONT_SLANT),
+ EXPAND_PROP_INIT(FONT_UNDERLINE),
+ EXPAND_PROP_INIT(FONT_WORDLINEMODE),
+ EXPAND_PROP_INIT(FONT_STRIKEOUT),
+ EXPAND_PROP_INIT(TEXTLINECOLOR),
+ EXPAND_PROP_INIT(FONTEMPHASISMARK),
+ EXPAND_PROP_INIT(FONTRELIEF),
+ EXPAND_PROP_INIT(HELPURL),
+ EXPAND_PROP_INIT(RECORDMARKER),
+ EXPAND_PROP_INIT(BOUNDFIELD),
+ EXPAND_PROP_INIT(INPUT_REQUIRED),
+ EXPAND_PROP_INIT(TREATASNUMERIC),
+ EXPAND_PROP_INIT(EFFECTIVE_VALUE),
+ EXPAND_PROP_INIT(EFFECTIVE_DEFAULT),
+ EXPAND_PROP_INIT(EFFECTIVE_MIN),
+ EXPAND_PROP_INIT(EFFECTIVE_MAX),
+ EXPAND_PROP_INIT(HIDDEN),
+ EXPAND_PROP_INIT(FILTERPROPOSAL),
+ EXPAND_PROP_INIT(FIELDSOURCE),
+ EXPAND_PROP_INIT(TABLENAME),
+ EXPAND_PROP_INIT(CONTROLLABEL),
+ EXPAND_PROP_INIT(CURRSYM_POSITION),
+ EXPAND_PROP_INIT(CURSORCOLOR),
+ EXPAND_PROP_INIT(ALWAYSSHOWCURSOR),
+ EXPAND_PROP_INIT(DISPLAYSYNCHRON),
+ EXPAND_PROP_INIT(ISMODIFIED),
+ EXPAND_PROP_INIT(ISNEW),
+ EXPAND_PROP_INIT(PRIVILEGES),
+ EXPAND_PROP_INIT(DETAILFIELDS),
+ EXPAND_PROP_INIT(COMMAND),
+ EXPAND_PROP_INIT(COMMANDTYPE),
+ EXPAND_PROP_INIT(RESULTSET_CONCURRENCY),
+ EXPAND_PROP_INIT(INSERTONLY),
+ EXPAND_PROP_INIT(RESULTSET_TYPE),
+ EXPAND_PROP_INIT(ESCAPE_PROCESSING),
+ EXPAND_PROP_INIT(APPLYFILTER),
+ EXPAND_PROP_INIT(ISNULLABLE),
+ EXPAND_PROP_INIT(ACTIVECOMMAND),
+ EXPAND_PROP_INIT(ISCURRENCY),
+ EXPAND_PROP_INIT(URL),
+ EXPAND_PROP_INIT(TITLE),
+ EXPAND_PROP_INIT(ACTIVE_CONNECTION),
+ EXPAND_PROP_INIT(SCALE),
+ EXPAND_PROP_INIT(SORT),
+ EXPAND_PROP_INIT(PERSISTENCE_MAXTEXTLENGTH),
+ EXPAND_PROP_INIT(SCROLL_VALUE),
+ EXPAND_PROP_INIT(SPIN_VALUE),
+ EXPAND_PROP_INIT(DEFAULT_SCROLL_VALUE),
+ EXPAND_PROP_INIT(DEFAULT_SPIN_VALUE),
+ EXPAND_PROP_INIT( WRITING_MODE ),
+ EXPAND_PROP_INIT( CONTEXT_WRITING_MODE ),
+ EXPAND_PROP_INIT( GENERATEVBAEVENTS )
+ });
}
More information about the Libreoffice-commits
mailing list