diff options
Diffstat (limited to 'reportdesign/source/ui/inspection/metadata.cxx')
-rw-r--r-- | reportdesign/source/ui/inspection/metadata.cxx | 334 |
1 files changed, 0 insertions, 334 deletions
diff --git a/reportdesign/source/ui/inspection/metadata.cxx b/reportdesign/source/ui/inspection/metadata.cxx deleted file mode 100644 index f199a3ae2..000000000 --- a/reportdesign/source/ui/inspection/metadata.cxx +++ /dev/null @@ -1,334 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#include "precompiled_rptui.hxx" -#include "metadata.hxx" -#include <svtools/localresaccess.hxx> -#include "com/sun/star/inspection/XPropertyHandler.hpp" -#include <tools/debug.hxx> -#include <comphelper/extract.hxx> -#include "helpids.hrc" -#include "RptResId.hrc" -#include "uistrings.hrc" - -#include <functional> -#include <algorithm> - -//............................................................................ -namespace rptui -{ -//............................................................................ - - using namespace ::com::sun::star::uno; - using namespace ::com::sun::star; - - //======================================================================== - //= OPropertyInfoImpl - //======================================================================== - struct OPropertyInfoImpl - { - String sName; - String sTranslation; - rtl::OString sHelpId; - sal_Int32 nId; - sal_uInt16 nPos; - sal_uInt32 nUIFlags; - - OPropertyInfoImpl( - const ::rtl::OUString& rName, - sal_Int32 _nId, - const String& aTranslation, - sal_uInt16 nPosId, - const rtl::OString& _sHelpId, - sal_uInt32 _nUIFlags); - }; - - //------------------------------------------------------------------------ - OPropertyInfoImpl::OPropertyInfoImpl(const ::rtl::OUString& _rName, sal_Int32 _nId, - const String& aString, sal_uInt16 nP, const rtl::OString& sHid, sal_uInt32 _nUIFlags) - :sName(_rName) - ,sTranslation(aString) - ,sHelpId(sHid) - ,nId(_nId) - ,nPos(nP) - ,nUIFlags(_nUIFlags) - { - } - - //------------------------------------------------------------------------ - // Vergleichen von PropertyInfo - struct PropertyInfoLessByName : public ::std::binary_function< OPropertyInfoImpl, OPropertyInfoImpl, bool > - { - bool operator()( const OPropertyInfoImpl& _lhs, const OPropertyInfoImpl& _rhs ) - { - return _lhs.sName < _rhs.sName; - } - }; - - //======================================================================== - //= OPropertyInfoService - //======================================================================== -#define DEF_INFO( ident, uinameres, helpid, flags ) \ - OPropertyInfoImpl( PROPERTY_##ident, PROPERTY_ID_##ident, \ - String( ModuleRes( RID_STR_##uinameres ) ), nPos++, HID_RPT_PROP_##helpid, flags ) - -#define DEF_INFO_1( ident, uinameres, helpid, flag1 ) \ - DEF_INFO( ident, uinameres, helpid, PROP_FLAG_##flag1 ) - -#define DEF_INFO_2( ident, uinameres, helpid, flag1, flag2 ) \ - DEF_INFO( ident, uinameres, helpid, PROP_FLAG_##flag1 | PROP_FLAG_##flag2 ) - -#define DEF_INFO_3( ident, uinameres, helpid, flag1, flag2, flag3 ) \ - DEF_INFO( ident, uinameres, helpid, PROP_FLAG_##flag1 | PROP_FLAG_##flag2 | PROP_FLAG_##flag3 ) - -#define DEF_INFO_4( ident, uinameres, helpid, flag1, flag2, flag3, flag4 ) \ - DEF_INFO( ident, uinameres, helpid, PROP_FLAG_##flag1 | PROP_FLAG_##flag2 | PROP_FLAG_##flag3 | PROP_FLAG_##flag4 ) - -#define DEF_INFO_5( ident, uinameres, helpid, flag1, flag2, flag3, flag4, flag5 ) \ - DEF_INFO( ident, uinameres, helpid, PROP_FLAG_##flag1 | PROP_FLAG_##flag2 | PROP_FLAG_##flag3 | PROP_FLAG_##flag4 | PROP_FLAG_##flag5 ) - - sal_uInt16 OPropertyInfoService::s_nCount = 0; - OPropertyInfoImpl* OPropertyInfoService::s_pPropertyInfos = NULL; - //------------------------------------------------------------------------ - const OPropertyInfoImpl* OPropertyInfoService::getPropertyInfo() - { - if ( s_pPropertyInfos ) - return s_pPropertyInfos; - - OModuleClient aResourceAccess; - // this ensures that we have our resource file loaded - - sal_uInt16 nPos = 1; - static OPropertyInfoImpl aPropertyInfos[] = - { - /* - DEF_INFO_?( propname and id, resoure id, help id, flags ), - */ - DEF_INFO_1( FORCENEWPAGE, FORCENEWPAGE, FORCENEWPAGE, COMPOSEABLE ) - ,DEF_INFO_1( NEWROWORCOL, NEWROWORCOL, NEWROWORCOL, COMPOSEABLE ) - ,DEF_INFO_1( KEEPTOGETHER, KEEPTOGETHER, KEEPTOGETHER, COMPOSEABLE ) - ,DEF_INFO_1( CANGROW, CANGROW, CANGROW, COMPOSEABLE ) - ,DEF_INFO_1( CANSHRINK, CANSHRINK, CANSHRINK, COMPOSEABLE ) - ,DEF_INFO_1( REPEATSECTION, REPEATSECTION, REPEATSECTION, COMPOSEABLE ) - ,DEF_INFO_1( PRINTREPEATEDVALUES, PRINTREPEATEDVALUES, PRINTREPEATEDVALUES, COMPOSEABLE ) - ,DEF_INFO_1( CONDITIONALPRINTEXPRESSION, CONDITIONALPRINTEXPRESSION, CONDITIONALPRINTEXPRESSION, COMPOSEABLE ) - ,DEF_INFO_1( STARTNEWCOLUMN, STARTNEWCOLUMN, STARTNEWCOLUMN, COMPOSEABLE ) - ,DEF_INFO_1( RESETPAGENUMBER, RESETPAGENUMBER, RESETPAGENUMBER, COMPOSEABLE ) - ,DEF_INFO_1( PRINTWHENGROUPCHANGE, PRINTWHENGROUPCHANGE, PRINTWHENGROUPCHANGE, COMPOSEABLE ) - ,DEF_INFO_1( VISIBLE, VISIBLE, VISIBLE, COMPOSEABLE ) - ,DEF_INFO_1( GROUPKEEPTOGETHER, GROUPKEEPTOGETHER, GROUPKEEPTOGETHER, COMPOSEABLE ) - ,DEF_INFO_1( PAGEHEADEROPTION, PAGEHEADEROPTION, PAGEHEADEROPTION, COMPOSEABLE ) - ,DEF_INFO_1( PAGEFOOTEROPTION, PAGEFOOTEROPTION, PAGEFOOTEROPTION, COMPOSEABLE ) - ,DEF_INFO_1( POSITIONX, POSITIONX, RPT_POSITIONX, COMPOSEABLE ) - ,DEF_INFO_1( POSITIONY, POSITIONY, RPT_POSITIONY, COMPOSEABLE ) - ,DEF_INFO_1( WIDTH, WIDTH, RPT_WIDTH, COMPOSEABLE ) - ,DEF_INFO_1( HEIGHT, HEIGHT, RPT_HEIGHT, COMPOSEABLE ) - ,DEF_INFO_1( FONT, FONT, RPT_FONT, COMPOSEABLE ) - ,DEF_INFO_1( PREEVALUATED, PREEVALUATED, PREEVALUATED, COMPOSEABLE ) - ,DEF_INFO_1( DEEPTRAVERSING, DEEPTRAVERSING, DEEPTRAVERSING, COMPOSEABLE ) - ,DEF_INFO_1( FORMULA, FORMULA, FORMULA, COMPOSEABLE ) - ,DEF_INFO_1( INITIALFORMULA, INITIALFORMULA, INITIALFORMULA, COMPOSEABLE ) - ,DEF_INFO_2( TYPE, TYPE, TYPE, COMPOSEABLE,DATA_PROPERTY ) - ,DEF_INFO_2( DATAFIELD, DATAFIELD, DATAFIELD, COMPOSEABLE,DATA_PROPERTY ) - ,DEF_INFO_2( FORMULALIST, FORMULALIST, FORMULALIST, COMPOSEABLE,DATA_PROPERTY ) - ,DEF_INFO_2( SCOPE, SCOPE, SCOPE, COMPOSEABLE,DATA_PROPERTY ) - ,DEF_INFO_1( PRESERVEIRI, PRESERVEIRI, PRESERVEIRI, COMPOSEABLE ) - ,DEF_INFO_1( BACKCOLOR, BACKCOLOR, BACKCOLOR, COMPOSEABLE ) - ,DEF_INFO_1( CONTROLBACKGROUND, BACKCOLOR, BACKCOLOR, COMPOSEABLE ) - ,DEF_INFO_1( BACKTRANSPARENT, BACKTRANSPARENT, BACKTRANSPARENT, COMPOSEABLE ) - ,DEF_INFO_1( CONTROLBACKGROUNDTRANSPARENT, CONTROLBACKGROUNDTRANSPARENT - ,CONTROLBACKGROUNDTRANSPARENT, COMPOSEABLE ) - ,DEF_INFO_1( CHARTTYPE, CHARTTYPE, CHARTTYPE, COMPOSEABLE ) - ,DEF_INFO_1( PREVIEW_COUNT, PREVIEW_COUNT, PREVIEW_COUNT, COMPOSEABLE ) - ,DEF_INFO_2( MASTERFIELDS, MASTERFIELDS, MASTERFIELDS, COMPOSEABLE,DATA_PROPERTY ) - ,DEF_INFO_2( DETAILFIELDS, DETAILFIELDS, DETAILFIELDS, COMPOSEABLE,DATA_PROPERTY) - ,DEF_INFO_1( AREA, AREA, AREA, COMPOSEABLE ) - ,DEF_INFO_2( MIMETYPE, MIMETYPE, MIMETYPE, COMPOSEABLE,DATA_PROPERTY ) - ,DEF_INFO_1( PARAADJUST, PARAADJUST, PARAADJUST, COMPOSEABLE ) - ,DEF_INFO_1( VERTICALALIGN, VERTICALALIGN, VERTICALALIGN, COMPOSEABLE ) - }; - - s_pPropertyInfos = aPropertyInfos; - s_nCount = SAL_N_ELEMENTS(aPropertyInfos); - ::std::sort( aPropertyInfos, aPropertyInfos + SAL_N_ELEMENTS(aPropertyInfos), PropertyInfoLessByName() ); - - return s_pPropertyInfos; - } - - //------------------------------------------------------------------------ - sal_Int32 OPropertyInfoService::getPropertyId(const String& _rName) const - { - const OPropertyInfoImpl* pInfo = getPropertyInfo(_rName); - return pInfo ? pInfo->nId : -1; - } - - //------------------------------------------------------------------------ - String OPropertyInfoService::getPropertyTranslation(sal_Int32 _nId) const - { - const OPropertyInfoImpl* pInfo = getPropertyInfo(_nId); - return (pInfo) ? pInfo->sTranslation : String(); - } - - //------------------------------------------------------------------------ - rtl::OString OPropertyInfoService::getPropertyHelpId(sal_Int32 _nId) const - { - const OPropertyInfoImpl* pInfo = getPropertyInfo(_nId); - return (pInfo) ? pInfo->sHelpId : rtl::OString(); - } - - //------------------------------------------------------------------------ - sal_uInt32 OPropertyInfoService::getPropertyUIFlags(sal_Int32 _nId) const - { - const OPropertyInfoImpl* pInfo = getPropertyInfo(_nId); - return (pInfo) ? pInfo->nUIFlags : 0; - } - - //------------------------------------------------------------------------ - const OPropertyInfoImpl* OPropertyInfoService::getPropertyInfo(const String& _rName) - { - // intialisierung - if(!s_pPropertyInfos) - getPropertyInfo(); - OPropertyInfoImpl aSearch(_rName, 0L, String(), 0, "", 0); - - const OPropertyInfoImpl* pPropInfo = ::std::lower_bound( - s_pPropertyInfos, s_pPropertyInfos + s_nCount, aSearch, PropertyInfoLessByName() ); - - if ( ( pPropInfo < s_pPropertyInfos + s_nCount ) && pPropInfo->sName == _rName ) - return pPropInfo; - - return NULL; - } - - - //------------------------------------------------------------------------ - const OPropertyInfoImpl* OPropertyInfoService::getPropertyInfo(sal_Int32 _nId) - { - // intialisierung - if(!s_pPropertyInfos) - getPropertyInfo(); - - // TODO: a real structure which allows quick access by name as well as by id - for (sal_uInt16 i = 0; i < s_nCount; i++) - if (s_pPropertyInfos[i].nId == _nId) - return &s_pPropertyInfos[i]; - - return NULL; - } - - //------------------------------------------------------------------------ - bool OPropertyInfoService::isComposable( const ::rtl::OUString& _rPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyHandler >& _rxFormComponentHandler ) - { - sal_Int32 nId = getPropertyId( _rPropertyName ); - if ( nId != -1 ) - { - sal_uInt32 nFlags = getPropertyUIFlags( nId ); - return ( nFlags & PROP_FLAG_COMPOSEABLE ) != 0; - } - - return _rxFormComponentHandler->isComposable( _rPropertyName ); - } - - //------------------------------------------------------------------------ - void OPropertyInfoService::getExcludeProperties(::std::vector< beans::Property >& _rExcludeProperties,const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyHandler >& _xFormComponentHandler) - { - uno::Sequence< beans::Property > aProps = _xFormComponentHandler->getSupportedProperties(); - static const ::rtl::OUString pExcludeProperties[] = - { - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Enabled")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Printable")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("WordBreak")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MultiLine")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Tag")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HelpText")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HelpURL")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MaxTextLen")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ReadOnly")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Tabstop")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TabIndex")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ValueMin")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ValueMax")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Spin")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SpinValue")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SpinValueMin")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SpinValueMax")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultSpinValue")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SpinIncrement")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Repeat")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RepeatDelay")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ControlLabel")), /// TODO: has to be checked - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("LabelControl")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Title")), // comment this out if you want to have title feature for charts - PROPERTY_MAXTEXTLEN, - PROPERTY_EFFECTIVEDEFAULT, - PROPERTY_EFFECTIVEMAX, - PROPERTY_EFFECTIVEMIN, - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HideInactiveSelection")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SubmitAction")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("InputRequired")), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VerticalAlign")), - PROPERTY_ALIGN, - PROPERTY_EMPTY_IS_NULL, - PROPERTY_FILTERPROPOSAL - ,PROPERTY_POSITIONX - ,PROPERTY_POSITIONY - ,PROPERTY_WIDTH - ,PROPERTY_HEIGHT - ,PROPERTY_FONT - ,PROPERTY_LABEL - ,PROPERTY_LINECOLOR - ,PROPERTY_BORDER - ,PROPERTY_BORDERCOLOR - ,PROPERTY_BACKTRANSPARENT - ,PROPERTY_CONTROLBACKGROUND - ,PROPERTY_BACKGROUNDCOLOR - ,PROPERTY_CONTROLBACKGROUNDTRANSPARENT - ,PROPERTY_FORMULALIST - ,PROPERTY_SCOPE - ,PROPERTY_TYPE - ,PROPERTY_DATASOURCENAME - ,PROPERTY_VERTICALALIGN - }; - - beans::Property* pPropsIter = aProps.getArray(); - beans::Property* pPropsEnd = pPropsIter + aProps.getLength(); - for (; pPropsIter != pPropsEnd; ++pPropsIter) - { - size_t nPos = 0; - for (; nPos < SAL_N_ELEMENTS(pExcludeProperties) && pExcludeProperties[nPos] != pPropsIter->Name;++nPos ) - ; - if ( nPos == SAL_N_ELEMENTS(pExcludeProperties) ) - _rExcludeProperties.push_back(*pPropsIter); - } - } - - -//............................................................................ -} // namespace pcr -//............................................................................ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |