| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef RPTUI_METADATA_HXX_ |
| #define RPTUI_METADATA_HXX_ |
| |
| #include "ModuleHelper.hxx" |
| |
| /** === begin UNO includes === **/ |
| #include <com/sun/star/beans/Property.hpp> |
| #include <com/sun/star/inspection/XPropertyHandler.hpp> |
| /** === end UNO includes === **/ |
| |
| //............................................................................ |
| namespace rptui |
| { |
| //............................................................................ |
| |
| struct OPropertyInfoImpl; |
| |
| //======================================================================== |
| //= OPropertyInfoService |
| //======================================================================== |
| class OPropertyInfoService |
| :public OModuleClient |
| { |
| OPropertyInfoService(const OPropertyInfoService&); |
| void operator =(const OPropertyInfoService&); |
| protected: |
| static sal_uInt16 s_nCount; |
| static OPropertyInfoImpl* s_pPropertyInfos; |
| // TODO: a real structure which allows quick access by name as well as by id |
| |
| public: |
| OPropertyInfoService(){} |
| virtual ~OPropertyInfoService(){} |
| // IPropertyInfoService |
| sal_Int32 getPropertyId(const String& _rName) const; |
| String getPropertyTranslation(sal_Int32 _nId) const; |
| rtl::OString getPropertyHelpId(sal_Int32 _nId) const; |
| sal_uInt32 getPropertyUIFlags(sal_Int32 _nId) const; |
| static void getExcludeProperties(::std::vector< com::sun::star::beans::Property >& _rExcludeProperties,const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyHandler >& _xFormComponentHandler); |
| |
| bool isComposable( |
| const ::rtl::OUString& _rPropertyName, |
| const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyHandler >& _xFormComponentHandler |
| ); |
| |
| protected: |
| static const OPropertyInfoImpl* getPropertyInfo(); |
| |
| static const OPropertyInfoImpl* getPropertyInfo(const String& _rName); |
| static const OPropertyInfoImpl* getPropertyInfo(sal_Int32 _nId); |
| }; |
| |
| //======================================================================== |
| //= HelpIdUrl |
| //======================================================================== |
| /// small helper to translate help ids into help urls |
| class HelpIdUrl |
| { |
| public: |
| static ::rtl::OUString getHelpURL( const rtl::OString& _sHelpId ); |
| }; |
| |
| //======================================================================== |
| //= UI flags (for all browseable properties) |
| //======================================================================== |
| |
| #define PROP_FLAG_NONE 0x00000001 // no special flag |
| #define PROP_FLAG_ENUM 0x00000002 // the property is some kind of enum property, i.e. its |
| // value is chosen from a fixed list of possible values |
| #define PROP_FLAG_ENUM_ONE 0x00000004 // the property is an enum property starting with 1 |
| // (note that this includes PROP_FLAG_ENUM) |
| #define PROP_FLAG_COMPOSEABLE 0x00000008 // the property is "composeable", i.e. an intersection of property |
| // sets should expose it, if all elements do |
| #define PROP_FLAG_EXPERIMENTAL 0x00000010 // the property is experimental, i.e. should not appear in the |
| // UI, unless experimental properties are enabled by a configuraiton |
| // option |
| #define PROP_FLAG_DATA_PROPERTY 0x00000020 // the property is to appear on the "Data" page |
| |
| //======================================================================== |
| //= property ids (for all browseable properties) |
| //= The ID is used for the view order in the property browser. |
| //======================================================================== |
| |
| #define PROPERTY_ID_FORCENEWPAGE 1 |
| #define PROPERTY_ID_NEWROWORCOL 2 |
| #define PROPERTY_ID_KEEPTOGETHER 3 |
| #define PROPERTY_ID_CANGROW 4 |
| #define PROPERTY_ID_CANSHRINK 5 |
| #define PROPERTY_ID_REPEATSECTION 6 |
| #define PROPERTY_ID_PRESERVEIRI 7 |
| #define PROPERTY_ID_VISIBLE 8 |
| #define PROPERTY_ID_GROUPKEEPTOGETHER 9 |
| #define PROPERTY_ID_PAGEHEADEROPTION 10 |
| #define PROPERTY_ID_PAGEFOOTEROPTION 11 |
| #define PROPERTY_ID_POSITIONX 12 |
| #define PROPERTY_ID_POSITIONY 13 |
| #define PROPERTY_ID_WIDTH 14 |
| #define PROPERTY_ID_HEIGHT 15 |
| #define PROPERTY_ID_FORMULA 16 |
| #define PROPERTY_ID_PRINTREPEATEDVALUES 17 |
| #define PROPERTY_ID_CONDITIONALPRINTEXPRESSION 18 |
| #define PROPERTY_ID_INITIALFORMULA 19 |
| #define PROPERTY_ID_STARTNEWCOLUMN 20 |
| #define PROPERTY_ID_TYPE 21 |
| #define PROPERTY_ID_DATAFIELD 22 |
| #define PROPERTY_ID_CHARFONTNAME 23 |
| #define PROPERTY_ID_PRINTWHENGROUPCHANGE 24 |
| #define PROPERTY_ID_DEEPTRAVERSING 25 |
| #define PROPERTY_ID_PREEVALUATED 26 |
| |
| #define PROPERTY_ID_BACKTRANSPARENT 27 |
| #define PROPERTY_ID_CONTROLBACKGROUNDTRANSPARENT 28 |
| #define PROPERTY_ID_BACKCOLOR 29 |
| #define PROPERTY_ID_CONTROLBACKGROUND 30 |
| |
| #define PROPERTY_ID_FORMULALIST 31 |
| #define PROPERTY_ID_SCOPE 32 |
| #define PROPERTY_ID_RESETPAGENUMBER 33 |
| #define PROPERTY_ID_CHARTTYPE 34 |
| #define PROPERTY_ID_MASTERFIELDS 35 |
| #define PROPERTY_ID_DETAILFIELDS 36 |
| #define PROPERTY_ID_PREVIEW_COUNT 37 |
| #define PROPERTY_ID_AREA 38 |
| #define PROPERTY_ID_MIMETYPE 39 |
| |
| #define PROPERTY_ID_FONT 40 |
| #define PROPERTY_ID_PARAADJUST 41 |
| #define PROPERTY_ID_VERTICALALIGN 42 |
| |
| |
| //............................................................................ |
| } // namespace rptui |
| //............................................................................ |
| |
| #endif // RPTUI_METADATA_HXX_ |
| |