LCOV - code coverage report
Current view: top level - reportdesign/source/filter/xml - xmlHelper.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 24 98 24.5 %
Date: 2015-06-13 12:38:46 Functions: 8 19 42.1 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : #include "xmlHelper.hxx"
      20             : #include <xmloff/xmlnmspe.hxx>
      21             : #include <xmloff/xmltoken.hxx>
      22             : #include <xmloff/families.hxx>
      23             : #include <xmloff/controlpropertyhdl.hxx>
      24             : #include <connectivity/dbtools.hxx>
      25             : #include <comphelper/propertysethelper.hxx>
      26             : #include <comphelper/genericpropertyset.hxx>
      27             : #include <com/sun/star/style/ParagraphAdjust.hpp>
      28             : #include <com/sun/star/awt/TextAlign.hpp>
      29             : #include <com/sun/star/beans/PropertyAttribute.hpp>
      30             : #include <com/sun/star/awt/FontDescriptor.hpp>
      31             : #include <com/sun/star/awt/ImagePosition.hpp>
      32             : #include <com/sun/star/awt/ImageScaleMode.hpp>
      33             : #include <xmloff/prstylei.hxx>
      34             : #include "xmlstrings.hrc"
      35             : #include "xmlEnums.hxx"
      36             : #include <xmloff/contextid.hxx>
      37             : #include <xmloff/txtprmap.hxx>
      38             : #include <com/sun/star/sdb/XOfficeDatabaseDocument.hpp>
      39             : #include <com/sun/star/table/BorderLine2.hpp>
      40             : #include <xmloff/XMLConstantsPropertyHandler.hxx>
      41             : #include <com/sun/star/report/ForceNewPage.hpp>
      42             : #include <com/sun/star/report/ReportPrintOption.hpp>
      43             : #include <com/sun/star/report/GroupOn.hpp>
      44             : #include <com/sun/star/report/KeepTogether.hpp>
      45             : #include <xmloff/xmlement.hxx>
      46             : #include <xmloff/xmltypes.hxx>
      47             : #include <xmloff/maptype.hxx>
      48             : #include <com/sun/star/report/XReportControlFormat.hpp>
      49             : #include <com/sun/star/form/ListSourceType.hpp>
      50             : #include <com/sun/star/sdb/CommandType.hpp>
      51             : #include <com/sun/star/style/VerticalAlignment.hpp>
      52             : #include <xmloff/EnumPropertyHdl.hxx>
      53             : 
      54             : #define XML_RPT_ALGINMENT   (XML_DB_TYPES_START+1)
      55             : namespace rptxml
      56             : {
      57             :     using namespace ::xmloff::token;
      58             :     using namespace ::com::sun::star::awt;
      59             :     using namespace ::com::sun::star;
      60             :     using namespace ::com::sun::star::sdb;
      61             :     using namespace ::com::sun::star::form;
      62             :     using namespace ::com::sun::star::beans;
      63           6 : OPropertyHandlerFactory::OPropertyHandlerFactory()
      64             : {
      65           6 : }
      66             : 
      67          12 : OPropertyHandlerFactory::~OPropertyHandlerFactory()
      68             : {
      69          12 : }
      70             : 
      71          48 : const XMLPropertyHandler* OPropertyHandlerFactory::GetPropertyHandler(sal_Int32 _nType) const
      72             : {
      73          48 :     const XMLPropertyHandler* pHandler = NULL;
      74          48 :     sal_Int32 nType = _nType;
      75          48 :     nType &= MID_FLAG_MASK;
      76             : 
      77          48 :     switch(nType)
      78             :     {
      79             :         case XML_RPT_ALGINMENT:
      80             :             {
      81             :                 static SvXMLEnumMapEntry const pXML_VerticalAlign_Enum[] =
      82             :                 {
      83             :                     { XML_TOP,          style::VerticalAlignment_TOP },
      84             :                     { XML_MIDDLE,       style::VerticalAlignment_MIDDLE },
      85             :                     { XML_BOTTOM,       style::VerticalAlignment_BOTTOM },
      86             :                     { XML_TOKEN_INVALID, 0 }
      87             :                 };
      88             : 
      89           6 :                 pHandler = new XMLEnumPropertyHdl( pXML_VerticalAlign_Enum, cppu::UnoType<com::sun::star::style::VerticalAlignment>::get());
      90             :             }
      91           6 :             break;
      92             :         case (XML_SD_TYPES_START+34):
      93           0 :             pHandler = new xmloff::ImageScaleModeHandler();
      94             :         default:
      95             :             ;
      96             :     }
      97             : 
      98          48 :     if ( !pHandler )
      99          42 :         pHandler = OControlPropertyHandlerFactory::GetPropertyHandler(_nType);
     100             :     else
     101           6 :         PutHdlCache(nType, pHandler);
     102          48 :     return pHandler;
     103             : }
     104             : 
     105             : #define MAP_CONST_T_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_TABLE,      context, SvtSaveOptions::ODFVER_010, false }
     106             : #define MAP_CONST_P_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_PARAGRAPH,  context, SvtSaveOptions::ODFVER_010, false }
     107             : #define MAP_CONST_S( name, prefix, token, type, context )  { name, sizeof(name)-1,      XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_SECTION,    context, SvtSaveOptions::ODFVER_010, false }
     108             : #define MAP_CONST_C_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_TABLE_CELL, context, SvtSaveOptions::ODFVER_010, false }
     109             : #define MAP_END() { NULL, 0, 0, XML_TOKEN_INVALID, 0 ,0, SvtSaveOptions::ODFVER_010, false}
     110             : 
     111           6 : rtl::Reference < XMLPropertySetMapper > OXMLHelper::GetCellStylePropertyMap(bool _bOldFormat, bool bForExport)
     112             : {
     113           6 :     if ( _bOldFormat )
     114             :     {
     115             :         static const XMLPropertyMapEntry s_aXMLCellStylesProperties[] =
     116             :         {
     117             :             MAP_CONST_C_ASCII(      PROPERTY_FORMATKEY,      STYLE,     DATA_STYLE_NAME,        XML_TYPE_NUMBER | MID_FLAG_SPECIAL_ITEM, CTF_RPT_NUMBERFORMAT ),
     118             : 
     119             :             MAP_CONST_C_ASCII(      PROPERTY_CONTROLBACKGROUND,
     120             :                                                 FO,   BACKGROUND_COLOR,     XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     121             :             MAP_CONST_C_ASCII(      PROPERTY_VERTICALALIGN,   STYLE,    VERTICAL_ALIGN,       XML_RPT_ALGINMENT, 0 ),
     122             :             MAP_CONST_C_ASCII(      PROPERTY_CONTROLBACKGROUNDTRANSPARENT,
     123             :                                                 FO,   BACKGROUND_COLOR,     XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     124             :             MAP_CONST_P_ASCII(      PROPERTY_CONTROLBACKGROUND,
     125             :                                                 FO,   BACKGROUND_COLOR,     XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     126             :             MAP_CONST_P_ASCII(      PROPERTY_CONTROLBACKGROUNDTRANSPARENT,
     127             :                                                 FO,   BACKGROUND_COLOR,     XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     128             :             MAP_CONST_C_ASCII(      "BorderLeft",       FO,     BORDER_LEFT,           XML_TYPE_BORDER, 0 ),
     129             :             MAP_CONST_C_ASCII(      "BorderRight",      FO,     BORDER_RIGHT,          XML_TYPE_BORDER, 0 ),
     130             :             MAP_CONST_C_ASCII(      "BorderTop",        FO,     BORDER_TOP,            XML_TYPE_BORDER, 0 ),
     131             :             MAP_CONST_C_ASCII(      "BorderBottom",     FO,     BORDER_BOTTOM,         XML_TYPE_BORDER, 0 ),
     132             :             MAP_END()
     133             :         };
     134           0 :         return new XMLPropertySetMapper(s_aXMLCellStylesProperties,new OPropertyHandlerFactory(), bForExport);
     135             :     }
     136             :     else
     137             :     {
     138             :         static const XMLPropertyMapEntry s_aXMLCellStylesProperties[] =
     139             :         {
     140             :             MAP_CONST_C_ASCII(      PROPERTY_FORMATKEY,      STYLE,     DATA_STYLE_NAME,        XML_TYPE_NUMBER | MID_FLAG_SPECIAL_ITEM, CTF_RPT_NUMBERFORMAT ),
     141             : 
     142             :             MAP_CONST_C_ASCII(      PROPERTY_CONTROLBACKGROUND,
     143             :                                                 FO,   BACKGROUND_COLOR,     XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     144             :             MAP_CONST_C_ASCII(      PROPERTY_CONTROLBACKGROUNDTRANSPARENT,
     145             :                                                 FO,   BACKGROUND_COLOR,     XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     146             :             MAP_CONST_C_ASCII(      PROPERTY_VERTICALALIGN,
     147             :                                                 STYLE,    VERTICAL_ALIGN,       XML_RPT_ALGINMENT, 0 ),
     148             :             MAP_CONST_C_ASCII(      "BorderLeft",       FO,     BORDER_LEFT,           XML_TYPE_BORDER, 0 ),
     149             :             MAP_CONST_C_ASCII(      "BorderRight",      FO,     BORDER_RIGHT,          XML_TYPE_BORDER, 0 ),
     150             :             MAP_CONST_C_ASCII(      "BorderTop",        FO,     BORDER_TOP,            XML_TYPE_BORDER, 0 ),
     151             :             MAP_CONST_C_ASCII(      "BorderBottom",     FO,     BORDER_BOTTOM,         XML_TYPE_BORDER, 0 ),
     152             :             MAP_END()
     153             :         };
     154           6 :         return new XMLPropertySetMapper(s_aXMLCellStylesProperties,new OPropertyHandlerFactory(), bForExport);
     155             :     }
     156             : }
     157             : 
     158           6 : const XMLPropertyMapEntry* OXMLHelper::GetTableStyleProps()
     159             : {
     160             :     static const XMLPropertyMapEntry aXMLTableStylesProperties[] =
     161             :     {
     162             :         MAP_CONST_T_ASCII(  PROPERTY_BACKCOLOR,      FO,     BACKGROUND_COLOR,        XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
     163             :         MAP_CONST_T_ASCII(  PROPERTY_BACKTRANSPARENT,FO,     BACKGROUND_COLOR,        XML_TYPE_ISTRANSPARENT | MID_FLAG_MERGE_ATTRIBUTE, 0 ),
     164             :         MAP_END()
     165             :     };
     166           6 :     return aXMLTableStylesProperties;
     167             : }
     168             : 
     169           6 : const XMLPropertyMapEntry* OXMLHelper::GetRowStyleProps()
     170             : {
     171             :     static const XMLPropertyMapEntry aXMLStylesProperties[] =
     172             :     {
     173             :         MAP_CONST_S( "Height", STYLE, ROW_HEIGHT, XML_TYPE_PROP_TABLE_ROW|XML_TYPE_MEASURE, 0),
     174             :         MAP_END()
     175             :     };
     176           6 :     return aXMLStylesProperties;
     177             : }
     178             : 
     179           6 : const XMLPropertyMapEntry* OXMLHelper::GetColumnStyleProps()
     180             : {
     181             :     static const XMLPropertyMapEntry aXMLColumnStylesProperties[] =
     182             :     {
     183             :         MAP_CONST_S(    "Width",                 STYLE,     COLUMN_WIDTH,           XML_TYPE_PROP_TABLE_COLUMN|XML_TYPE_MEASURE, 0 ),
     184             :         MAP_END()
     185             :     };
     186           6 :     return aXMLColumnStylesProperties;
     187             : }
     188             : 
     189           0 : const SvXMLEnumMapEntry* OXMLHelper::GetReportPrintOptions()
     190             : {
     191             :     static const SvXMLEnumMapEntry s_aXML_EnumMap[] =
     192             :     {
     193             :         { XML_NOT_WITH_REPORT_HEADER,               report::ReportPrintOption::NOT_WITH_REPORT_HEADER },
     194             :         { XML_NOT_WITH_REPORT_FOOTER,               report::ReportPrintOption::NOT_WITH_REPORT_FOOTER },
     195             :         { XML_NOT_WITH_REPORT_HEADER_NOR_FOOTER,    report::ReportPrintOption::NOT_WITH_REPORT_HEADER_FOOTER },
     196             :         { XML_TOKEN_INVALID, 0 }
     197             :     };
     198           0 :     return s_aXML_EnumMap;
     199             : }
     200             : 
     201           0 : const SvXMLEnumMapEntry* OXMLHelper::GetForceNewPageOptions()
     202             : {
     203             :     static const SvXMLEnumMapEntry s_aXML_EnumMap[] =
     204             :     {
     205             :         { XML_BEFORE_SECTION,       report::ForceNewPage::BEFORE_SECTION },
     206             :         { XML_AFTER_SECTION,        report::ForceNewPage::AFTER_SECTION },
     207             :         { XML_BEFORE_AFTER_SECTION, report::ForceNewPage::BEFORE_AFTER_SECTION },
     208             :         { XML_TOKEN_INVALID, 0 }
     209             :     };
     210           0 :     return s_aXML_EnumMap;
     211             : }
     212             : 
     213           0 : const SvXMLEnumMapEntry* OXMLHelper::GetKeepTogetherOptions()
     214             : {
     215             :     static const SvXMLEnumMapEntry s_aXML_EnumMap[] =
     216             :     {
     217             :         { XML_WHOLE_GROUP,          report::KeepTogether::WHOLE_GROUP },
     218             :         { XML_WITH_FIRST_DETAIL,    report::KeepTogether::WITH_FIRST_DETAIL },
     219             :         { XML_TOKEN_INVALID, 0 }
     220             :     };
     221           0 :     return s_aXML_EnumMap;
     222             : }
     223             : 
     224           0 : const SvXMLEnumMapEntry* OXMLHelper::GetCommandTypeOptions()
     225             : {
     226             :     static const SvXMLEnumMapEntry s_aXML_EnumMap[] =
     227             :     {
     228             :         { XML_TABLE, CommandType::TABLE },
     229             :         { XML_QUERY, CommandType::QUERY },
     230             :         { XML_TOKEN_INVALID, 0 }
     231             :     };
     232           0 :     return s_aXML_EnumMap;
     233             : }
     234             : 
     235             : #define PROPERTY_ID_FONTNAME         1
     236             : #define PROPERTY_ID_FONTHEIGHT       2
     237             : #define PROPERTY_ID_FONTWIDTH        3
     238             : #define PROPERTY_ID_FONTSTYLENAME    4
     239             : #define PROPERTY_ID_FONTFAMILY       5
     240             : #define PROPERTY_ID_FONTCHARSET      6
     241             : #define PROPERTY_ID_FONTPITCH        7
     242             : #define PROPERTY_ID_FONTCHARWIDTH    8
     243             : #define PROPERTY_ID_FONTWEIGHT       9
     244             : #define PROPERTY_ID_FONTSLANT        10
     245             : #define PROPERTY_ID_FONTUNDERLINE    11
     246             : #define PROPERTY_ID_FONTSTRIKEOUT    12
     247             : #define PROPERTY_ID_FONTORIENTATION  13
     248             : #define PROPERTY_ID_FONTKERNING      14
     249             : #define PROPERTY_ID_FONTWORDLINEMODE 15
     250             : #define PROPERTY_ID_FONTTYPE         16
     251           0 : void OXMLHelper::copyStyleElements(const bool _bOld,const OUString& _sStyleName,const SvXMLStylesContext* _pAutoStyles,const uno::Reference<beans::XPropertySet>& _xProp)
     252             : {
     253           0 :     if ( !_xProp.is() || _sStyleName.isEmpty() || !_pAutoStyles )
     254           0 :         return;
     255           0 :     XMLPropStyleContext* pAutoStyle = const_cast<XMLPropStyleContext*>(PTR_CAST(XMLPropStyleContext,_pAutoStyles->FindStyleChildContext(XML_STYLE_FAMILY_TABLE_CELL,_sStyleName)));
     256           0 :     if ( pAutoStyle )
     257             :     {
     258           0 :         ::com::sun::star::awt::FontDescriptor aFont;
     259             :         static comphelper::PropertyMapEntry const pMap[] =
     260             :         {
     261           0 :             {OUString(PROPERTY_FONTNAME),         PROPERTY_ID_FONTNAME,           cppu::UnoType<decltype(aFont.Name)>::get()         ,PropertyAttribute::BOUND,0},
     262           0 :             {OUString(PROPERTY_CHARFONTHEIGHT),   PROPERTY_ID_FONTHEIGHT,         cppu::UnoType<decltype(aFont.Height)>::get()       ,PropertyAttribute::BOUND,0},
     263           0 :             {OUString(PROPERTY_FONTWIDTH),        PROPERTY_ID_FONTWIDTH,          cppu::UnoType<decltype(aFont.Width)>::get()        ,PropertyAttribute::BOUND,0},
     264           0 :             {OUString(PROPERTY_FONTSTYLENAME),    PROPERTY_ID_FONTSTYLENAME,      cppu::UnoType<decltype(aFont.StyleName)>::get()    ,PropertyAttribute::BOUND,0},
     265           0 :             {OUString(PROPERTY_FONTFAMILY),       PROPERTY_ID_FONTFAMILY,         cppu::UnoType<decltype(aFont.Family)>::get()       ,PropertyAttribute::BOUND,0},
     266           0 :             {OUString(PROPERTY_FONTCHARSET),      PROPERTY_ID_FONTCHARSET,        cppu::UnoType<decltype(aFont.CharSet)>::get()      ,PropertyAttribute::BOUND,0},
     267           0 :             {OUString(PROPERTY_FONTPITCH),        PROPERTY_ID_FONTPITCH,          cppu::UnoType<decltype(aFont.Pitch)>::get()        ,PropertyAttribute::BOUND,0},
     268           0 :             {OUString(PROPERTY_FONTCHARWIDTH),    PROPERTY_ID_FONTCHARWIDTH,      cppu::UnoType<decltype(aFont.CharacterWidth)>::get(),PropertyAttribute::BOUND,0},
     269           0 :             {OUString(PROPERTY_FONTWEIGHT),       PROPERTY_ID_FONTWEIGHT,         cppu::UnoType<decltype(aFont.Weight)>::get()       ,PropertyAttribute::BOUND,0},
     270           0 :             {OUString(PROPERTY_CHARPOSTURE),      PROPERTY_ID_FONTSLANT,          cppu::UnoType<decltype(aFont.Slant)>::get()        ,PropertyAttribute::BOUND,0},
     271           0 :             {OUString(PROPERTY_FONTUNDERLINE),    PROPERTY_ID_FONTUNDERLINE,      cppu::UnoType<decltype(aFont.Underline)>::get()    ,PropertyAttribute::BOUND,0},
     272           0 :             {OUString(PROPERTY_CHARSTRIKEOUT),    PROPERTY_ID_FONTSTRIKEOUT,      cppu::UnoType<decltype(aFont.Strikeout)>::get()    ,PropertyAttribute::BOUND,0},
     273           0 :             {OUString(PROPERTY_FONTORIENTATION),  PROPERTY_ID_FONTORIENTATION,    cppu::UnoType<decltype(aFont.Orientation)>::get()  ,PropertyAttribute::BOUND,0},
     274           0 :             {OUString(PROPERTY_FONTKERNING),      PROPERTY_ID_FONTKERNING,        cppu::UnoType<decltype(aFont.Kerning)>::get()      ,PropertyAttribute::BOUND,0},
     275           0 :             {OUString(PROPERTY_CHARWORDMODE),     PROPERTY_ID_FONTWORDLINEMODE,   cppu::UnoType<decltype(aFont.WordLineMode)>::get() ,PropertyAttribute::BOUND,0},
     276           0 :             {OUString(PROPERTY_FONTTYPE),         PROPERTY_ID_FONTTYPE,           cppu::UnoType<decltype(aFont.Type)>::get()         ,PropertyAttribute::BOUND,0},
     277             :             { OUString(), 0, css::uno::Type(), 0, 0 }
     278           0 :         };
     279             :         try
     280             :         {
     281           0 :             pAutoStyle->FillPropertySet(_xProp);
     282           0 :             if ( _bOld && _xProp->getPropertySetInfo()->hasPropertyByName(PROPERTY_CHARHIDDEN) )
     283           0 :                 _xProp->setPropertyValue(PROPERTY_CHARHIDDEN,uno::makeAny(sal_False));
     284             : 
     285           0 :             uno::Reference<beans::XPropertySet> xProp = comphelper::GenericPropertySet_CreateInstance(new comphelper::PropertySetInfo(pMap));
     286           0 :             pAutoStyle->FillPropertySet(xProp);
     287           0 :             xProp->getPropertyValue(PROPERTY_FONTNAME) >>=          aFont.Name;
     288           0 :             xProp->getPropertyValue(PROPERTY_CHARFONTHEIGHT) >>=        aFont.Height;
     289           0 :             xProp->getPropertyValue(PROPERTY_FONTWIDTH) >>=             aFont.Width;
     290           0 :             xProp->getPropertyValue(PROPERTY_FONTSTYLENAME) >>=         aFont.StyleName;
     291           0 :             xProp->getPropertyValue(PROPERTY_FONTFAMILY) >>=        aFont.Family;
     292           0 :             xProp->getPropertyValue(PROPERTY_FONTCHARSET) >>=       aFont.CharSet;
     293           0 :             xProp->getPropertyValue(PROPERTY_FONTPITCH) >>=             aFont.Pitch;
     294           0 :             xProp->getPropertyValue(PROPERTY_FONTCHARWIDTH) >>=         aFont.CharacterWidth;
     295           0 :             xProp->getPropertyValue(PROPERTY_FONTWEIGHT) >>=        aFont.Weight;
     296           0 :             xProp->getPropertyValue(PROPERTY_CHARPOSTURE) >>=           aFont.Slant;
     297           0 :             xProp->getPropertyValue(PROPERTY_FONTUNDERLINE) >>=         aFont.Underline;
     298           0 :             xProp->getPropertyValue(PROPERTY_CHARSTRIKEOUT) >>=         aFont.Strikeout;
     299           0 :             xProp->getPropertyValue(PROPERTY_FONTORIENTATION) >>=   aFont.Orientation;
     300           0 :             xProp->getPropertyValue(PROPERTY_FONTKERNING) >>=       aFont.Kerning;
     301           0 :             xProp->getPropertyValue(PROPERTY_CHARWORDMODE) >>=  aFont.WordLineMode;
     302           0 :             xProp->getPropertyValue(PROPERTY_FONTTYPE) >>=          aFont.Type;
     303           0 :             uno::Reference<report::XReportControlFormat> xReportControlModel(_xProp,uno::UNO_QUERY);
     304           0 :             if ( xReportControlModel.is() && !aFont.Name.isEmpty() )
     305             :             {
     306             :                 try
     307             :                 {
     308           0 :                     xReportControlModel->setFontDescriptor(aFont);
     309             :                 }
     310           0 :                 catch(const beans::UnknownPropertyException &){}
     311           0 :             }
     312             :            }
     313           0 :         catch(uno::Exception&)
     314             :         {
     315             :             OSL_FAIL("OXMLHelper::copyStyleElements -> exception catched");
     316           0 :         }
     317             :     }
     318             : }
     319             : 
     320           0 : uno::Reference<beans::XPropertySet> OXMLHelper::createBorderPropertySet()
     321             : {
     322             :     static comphelper::PropertyMapEntry const pMap[] =
     323             :     {
     324           0 :         {OUString(PROPERTY_BORDERLEFT),   0,          cppu::UnoType<table::BorderLine2>::get(),PropertyAttribute::BOUND,0},
     325           0 :         {OUString(PROPERTY_BORDERRIGHT),  1,          cppu::UnoType<table::BorderLine2>::get(),PropertyAttribute::BOUND,0},
     326           0 :         {OUString(PROPERTY_BORDERTOP),    2,          cppu::UnoType<table::BorderLine2>::get(),PropertyAttribute::BOUND,0},
     327           0 :         {OUString(PROPERTY_BORDERBOTTOM), 3,          cppu::UnoType<table::BorderLine2>::get(),PropertyAttribute::BOUND,0},
     328             :         { OUString(), 0, css::uno::Type(), 0, 0 }
     329           0 :     };
     330           0 :     return comphelper::GenericPropertySet_CreateInstance(new comphelper::PropertySetInfo(pMap));
     331             : }
     332             : 
     333           0 : SvXMLTokenMap* OXMLHelper::GetReportElemTokenMap()
     334             : {
     335             :     static const SvXMLTokenMapEntry aElemTokenMap[]=
     336             :     {
     337             :         { XML_NAMESPACE_REPORT, XML_REPORT_HEADER,              XML_TOK_REPORT_HEADER           },
     338             :         { XML_NAMESPACE_REPORT, XML_PAGE_HEADER ,               XML_TOK_PAGE_HEADER             },
     339             :         { XML_NAMESPACE_REPORT, XML_GROUP,                      XML_TOK_GROUP                   },
     340             :         { XML_NAMESPACE_REPORT, XML_DETAIL      ,               XML_TOK_DETAIL                  },
     341             :         { XML_NAMESPACE_REPORT, XML_PAGE_FOOTER ,               XML_TOK_PAGE_FOOTER             },
     342             :         { XML_NAMESPACE_REPORT, XML_REPORT_FOOTER,              XML_TOK_REPORT_FOOTER           },
     343             :         { XML_NAMESPACE_REPORT, XML_HEADER_ON_NEW_PAGE,         XML_TOK_HEADER_ON_NEW_PAGE      },
     344             :         { XML_NAMESPACE_REPORT, XML_FOOTER_ON_NEW_PAGE,         XML_TOK_FOOTER_ON_NEW_PAGE      },
     345             :         { XML_NAMESPACE_REPORT, XML_COMMAND_TYPE,               XML_TOK_COMMAND_TYPE            },
     346             :         { XML_NAMESPACE_REPORT, XML_COMMAND,                    XML_TOK_COMMAND                 },
     347             :         { XML_NAMESPACE_REPORT, XML_FILTER,                     XML_TOK_FILTER                  },
     348             :         { XML_NAMESPACE_REPORT, XML_CAPTION,                    XML_TOK_CAPTION                 },
     349             :         { XML_NAMESPACE_REPORT, XML_ESCAPE_PROCESSING,          XML_TOK_ESCAPE_PROCESSING       },
     350             :         { XML_NAMESPACE_REPORT, XML_FUNCTION,                   XML_TOK_REPORT_FUNCTION         },
     351             :         { XML_NAMESPACE_OFFICE, XML_MIMETYPE,                   XML_TOK_REPORT_MIMETYPE         },
     352             :         { XML_NAMESPACE_DRAW,   XML_NAME,                       XML_TOK_REPORT_NAME             },
     353             :         { XML_NAMESPACE_REPORT, XML_MASTER_DETAIL_FIELDS,       XML_TOK_MASTER_DETAIL_FIELDS    },
     354             :         { XML_NAMESPACE_DRAW,   XML_FRAME,                      XML_TOK_SUB_FRAME               },
     355             :         XML_TOKEN_MAP_END
     356             :     };
     357           0 :     return new SvXMLTokenMap( aElemTokenMap );
     358             : }
     359             : 
     360           0 : SvXMLTokenMap* OXMLHelper::GetSubDocumentElemTokenMap()
     361             : {
     362             :     static const SvXMLTokenMapEntry aElemTokenMap[]=
     363             :     {
     364             :         { XML_NAMESPACE_REPORT, XML_MASTER_DETAIL_FIELD,    XML_TOK_MASTER_DETAIL_FIELD},
     365             :         { XML_NAMESPACE_REPORT, XML_MASTER,                 XML_TOK_MASTER},
     366             :         { XML_NAMESPACE_REPORT, XML_DETAIL,                 XML_TOK_SUB_DETAIL},
     367             :         XML_TOKEN_MAP_END
     368             :     };
     369           0 :     return new SvXMLTokenMap( aElemTokenMap );
     370             : }
     371             : 
     372           0 : const SvXMLEnumMapEntry* OXMLHelper::GetImageScaleOptions()
     373             : {
     374             :        static const SvXMLEnumMapEntry s_aXML_EnumMap[] =
     375             :        {
     376             :                { XML_ISOTROPIC,        awt::ImageScaleMode::ISOTROPIC },
     377             :                { XML_ANISOTROPIC,      awt::ImageScaleMode::ANISOTROPIC },
     378             :                { XML_TOKEN_INVALID, 0 }
     379             :        };
     380           0 :        return s_aXML_EnumMap;
     381             : }
     382             : 
     383             : 
     384             : } // rptxml
     385             : 
     386             : 
     387             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11