summaryrefslogtreecommitdiff
path: root/reportdesign/source/filter/xml/xmlHelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'reportdesign/source/filter/xml/xmlHelper.cxx')
-rw-r--r--reportdesign/source/filter/xml/xmlHelper.cxx81
1 files changed, 28 insertions, 53 deletions
diff --git a/reportdesign/source/filter/xml/xmlHelper.cxx b/reportdesign/source/filter/xml/xmlHelper.cxx
index 1b81d87a1119..d0e75499ace0 100644
--- a/reportdesign/source/filter/xml/xmlHelper.cxx
+++ b/reportdesign/source/filter/xml/xmlHelper.cxx
@@ -43,6 +43,7 @@
#include <com/sun/star/awt/FontDescriptor.hpp>
#include <com/sun/star/awt/TextAlign.hpp>
#include <com/sun/star/awt/ImagePosition.hpp>
+#include <com/sun/star/awt/ImageScaleMode.hpp>
#include <xmloff/prstylei.hxx>
#include "xmlstrings.hrc"
#include "xmlEnums.hxx"
@@ -59,7 +60,7 @@
#include <com/sun/star/report/XReportControlFormat.hpp>
#include <com/sun/star/form/ListSourceType.hpp>
#include <com/sun/star/sdb/CommandType.hpp>
-#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
+#include <com/sun/star/style/VerticalAlignment.hpp>
#include <xmloff/EnumPropertyHdl.hxx>
#define XML_RPT_ALGINMENT (XML_DB_TYPES_START+1)
@@ -85,21 +86,22 @@ OPropertyHandlerFactory::~OPropertyHandlerFactory()
const XMLPropertyHandler* OPropertyHandlerFactory::GetPropertyHandler(sal_Int32 _nType) const
{
const XMLPropertyHandler* pHandler = NULL;
+ sal_Int32 nType = _nType;
+ nType &= MID_FLAG_MASK;
- switch(_nType)
+ switch(nType)
{
case XML_RPT_ALGINMENT:
{
static SvXMLEnumMapEntry __READONLY_DATA pXML_VerticalAlign_Enum[] =
{
- { XML_TOP, drawing::TextVerticalAdjust_TOP },
- { XML_MIDDLE, drawing::TextVerticalAdjust_CENTER },
- { XML_BOTTOM, drawing::TextVerticalAdjust_BOTTOM },
- { XML_JUSTIFY, drawing::TextVerticalAdjust_BLOCK },
+ { XML_TOP, style::VerticalAlignment_TOP },
+ { XML_MIDDLE, style::VerticalAlignment_MIDDLE },
+ { XML_BOTTOM, style::VerticalAlignment_BOTTOM },
{ XML_TOKEN_INVALID, 0 }
};
- pHandler = new XMLEnumPropertyHdl( pXML_VerticalAlign_Enum, ::getCppuType((const com::sun::star::drawing::TextVerticalAdjust*)0) );
+ pHandler = new XMLEnumPropertyHdl( pXML_VerticalAlign_Enum, ::getCppuType((const com::sun::star::style::VerticalAlignment*)0) );
}
break;
case (XML_SD_TYPES_START+34):
@@ -110,6 +112,8 @@ const XMLPropertyHandler* OPropertyHandlerFactory::GetPropertyHandler(sal_Int32
if ( !pHandler )
pHandler = OControlPropertyHandlerFactory::GetPropertyHandler(_nType);
+ else
+ PutHdlCache(nType, pHandler);
return pHandler;
}
// -----------------------------------------------------------------------------
@@ -134,13 +138,13 @@ UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylePropertyMap(bool _
MAP_CONST_C( PROPERTY_CONTROLBACKGROUND,
FO, BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
+ MAP_CONST_C( PROPERTY_VERTICALALIGN, STYLE, VERTICAL_ALIGN, XML_RPT_ALGINMENT, 0 ),
MAP_CONST_C( PROPERTY_CONTROLBACKGROUNDTRANSPARENT,
FO, BACKGROUND_COLOR, XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
MAP_CONST_P( PROPERTY_CONTROLBACKGROUND,
FO, BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
MAP_CONST_P( PROPERTY_CONTROLBACKGROUNDTRANSPARENT,
FO, BACKGROUND_COLOR, XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
- GMAP( PROPERTY_SCALEMODE,STYLE,REPEAT, (XML_SD_TYPES_START+34)|MID_FLAG_MULTI_PROPERTY, 0 ),
MAP_CONST_C_ASCII( "BorderLeft", FO, BORDER_LEFT, XML_TYPE_BORDER, 0 ),
MAP_CONST_C_ASCII( "BorderRight", FO, BORDER_RIGHT, XML_TYPE_BORDER, 0 ),
MAP_CONST_C_ASCII( "BorderTop", FO, BORDER_TOP, XML_TYPE_BORDER, 0 ),
@@ -159,7 +163,8 @@ UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylePropertyMap(bool _
FO, BACKGROUND_COLOR, XML_TYPE_COLORTRANSPARENT|MID_FLAG_MULTI_PROPERTY, 0 ),
MAP_CONST_C( PROPERTY_CONTROLBACKGROUNDTRANSPARENT,
FO, BACKGROUND_COLOR, XML_TYPE_ISTRANSPARENT|MID_FLAG_MERGE_ATTRIBUTE, 0 ),
- GMAP( PROPERTY_SCALEMODE,STYLE,REPEAT, (XML_SD_TYPES_START+34)|MID_FLAG_MULTI_PROPERTY, 0 ),
+ MAP_CONST_C( PROPERTY_VERTICALALIGN,
+ STYLE, VERTICAL_ALIGN, XML_RPT_ALGINMENT, 0 ),
MAP_CONST_C_ASCII( "BorderLeft", FO, BORDER_LEFT, XML_TYPE_BORDER, 0 ),
MAP_CONST_C_ASCII( "BorderRight", FO, BORDER_RIGHT, XML_TYPE_BORDER, 0 ),
MAP_CONST_C_ASCII( "BorderTop", FO, BORDER_TOP, XML_TYPE_BORDER, 0 ),
@@ -231,26 +236,6 @@ const SvXMLEnumMapEntry* OXMLHelper::GetForceNewPageOptions()
return s_aXML_EnumMap;
}
// -----------------------------------------------------------------------------
-//// -----------------------------------------------------------------------------
-//const SvXMLEnumMapEntry* OXMLHelper::GetGroupOnOptions()
-//{
-// static SvXMLEnumMapEntry s_aXML_EnumMap[] =
-// {
-// // { XML_DEFAULT ,report::GroupOn::DEFAULT }, // default
-// { XML_PREFIX_CHARACTERS ,report::GroupOn::PREFIX_CHARACTERS },
-// { XML_YEAR ,report::GroupOn::YEAR },
-// { XML_QUARTAL , report::GroupOn::QUARTAL },
-// { XML_MONTH , report::GroupOn::MONTH },
-// { XML_WEEK , report::GroupOn::WEEK },
-// { XML_DAY , report::GroupOn::DAY },
-// { XML_HOUR , report::GroupOn::HOUR },
-// { XML_MINUTE , report::GroupOn::MINUTE },
-// { XML_INTERVAL , report::GroupOn::INTERVAL },
-// { XML_TOKEN_INVALID, 0 }
-// };
-// return s_aXML_EnumMap;
-//}
-// -----------------------------------------------------------------------------
const SvXMLEnumMapEntry* OXMLHelper::GetKeepTogetherOptions()
{
static SvXMLEnumMapEntry s_aXML_EnumMap[] =
@@ -352,33 +337,10 @@ void OXMLHelper::copyStyleElements(const bool _bOld,const ::rtl::OUString& _sSty
xProp->getPropertyValue(PROPERTY_FONTTYPE) >>= aFont.Type;
uno::Reference<report::XReportControlFormat> xReportControlModel(_xProp,uno::UNO_QUERY);
if ( xReportControlModel.is() && aFont.Name.getLength() )
- try
- {
- xReportControlModel->setFontDescriptor(aFont);
- }
- catch(beans::UnknownPropertyException){}
-
- if ( xReportControlModel.is() )
{
try
{
- sal_Int16 nTextAlign = xReportControlModel->getParaAdjust();
- switch(nTextAlign)
- {
- case style::ParagraphAdjust_LEFT:
- nTextAlign = awt::TextAlign::LEFT;
- break;
- case style::ParagraphAdjust_CENTER:
- nTextAlign = awt::TextAlign::CENTER;
- break;
- case style::ParagraphAdjust_RIGHT:
- nTextAlign = awt::TextAlign::RIGHT;
- break;
- default:
- OSL_ENSURE(0,"Illegal text alignment value!");
- break;
- }
- xReportControlModel->setParaAdjust(nTextAlign);
+ xReportControlModel->setFontDescriptor(aFont);
}
catch(beans::UnknownPropertyException){}
}
@@ -442,5 +404,18 @@ SvXMLTokenMap* OXMLHelper::GetSubDocumentElemTokenMap()
return new SvXMLTokenMap( aElemTokenMap );
}
// -----------------------------------------------------------------------------
+const SvXMLEnumMapEntry* OXMLHelper::GetImageScaleOptions()
+{
+ static SvXMLEnumMapEntry s_aXML_EnumMap[] =
+ {
+ // { XML_NONE, awt::ImageScaleMode::None }, // default
+ { XML_ISOTROPIC, awt::ImageScaleMode::Isotropic },
+ { XML_ANISOTROPIC, awt::ImageScaleMode::Anisotropic },
+ { XML_TOKEN_INVALID, 0 }
+ };
+ return s_aXML_EnumMap;
+}
+// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
} // rptxml
// -----------------------------------------------------------------------------