summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-04-23 10:42:05 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-04-23 10:42:05 +0000
commit439698c480717d01fafd07463d9994a31795cdb0 (patch)
tree0c47393472e293b5de26b8dc9fd7f67ba2289afa /xmloff
parent1a37f7adbea03f72d0892df63d0398730fabee65 (diff)
CWS-TOOLING: integrate CWS dbaperf1
2009-04-02 09:12:25 +0200 oj r270372 : CWS-TOOLING: rebase CWS dbaperf1 to trunk@270033 (milestone: DEV300:m45) 2009-03-17 10:20:34 +0100 oj r269577 : add parameter 2009-03-17 10:20:05 +0100 oj r269576 : add parameter 2009-03-12 12:32:24 +0100 oj r269387 : add missing ++ 2009-03-11 12:53:35 +0100 oj r269315 : compile error 2009-03-06 08:52:11 +0100 oj r268968 : #i99264# remove duplicate code 2009-03-06 08:20:08 +0100 oj r268966 : add missingheader 2009-03-06 08:17:41 +0100 oj r268965 : add header 2009-03-06 08:15:07 +0100 oj r268964 : #i99708# remove duplicate code 2009-03-06 07:24:11 +0100 oj r268963 : #i99708# remove duplicate code 2009-03-06 07:22:24 +0100 oj r268962 : #i99708# use tenary operator 2009-03-06 07:19:21 +0100 oj r268961 : remove unused rtl_logs 2009-03-06 07:15:55 +0100 oj r268960 : #i99708# extract getLength from for loop 2009-03-06 07:15:35 +0100 oj r268959 : #i99708# extract getLength from for loop 2009-03-06 07:14:57 +0100 oj r268958 : remove unused rtl_logs 2009-03-06 07:13:01 +0100 oj r268957 : insert DBG_ helper 2009-03-06 07:12:17 +0100 oj r268956 : remove unused rtl_logs 2009-03-06 07:10:26 +0100 oj r268955 : remove unused rtl_logs 2009-03-06 07:04:51 +0100 oj r268954 : #i99708# use tenary operator 2009-03-05 12:04:46 +0100 oj r268895 : comment RTL_LOG out 2009-03-05 09:05:07 +0100 oj r268874 : add rtl logfile 2009-03-04 14:21:18 +0100 oj r268828 : #i99708# make static inplace and some method calls in for loop removed 2009-03-04 14:20:34 +0100 oj r268827 : #i99708# impl double check pattern for getInfohelper 2009-03-02 09:31:42 +0100 oj r268636 : add rtl logfile 2009-03-02 08:18:37 +0100 oj r268633 : add rtl logfile 2009-02-27 11:22:16 +0100 oj r268570 : #i99709# change algorithm for marking objects 2009-02-27 11:17:04 +0100 oj r268568 : #i99708# some improvements to load forms, controls faster and replacement of size() call with !empty() which is much faster 2009-02-24 10:09:35 +0100 sb r268383 : #i99290# no longer care to set a sensible context class loader for native threads attached to the VM 2009-02-23 13:44:04 +0100 oj r268354 : #i76606# seekrow changes 2009-02-23 12:27:30 +0100 oj r268349 : deleted 2009-02-20 15:14:23 +0100 oj r268325 : #i76606# some code changes 2009-02-19 14:15:25 +0100 oj r268284 : #i76606# use of simple prep stmt instead of full blown rowset, when source and dest connection are the same use insert into ... ( select ... ) 2009-02-19 11:27:55 +0100 oj r268265 : #i76606# insert some RTL_LOG and setObject impl 2009-02-18 14:45:37 +0100 oj r268222 : #i99363# insert RTL_LOG 2009-02-18 14:45:18 +0100 oj r268221 : #i99363# insert RTL_LOG 2009-02-18 11:14:54 +0100 oj r268207 : #i99363# call some impl_ methods to avoid duplicate cechCache calls 2009-02-18 11:10:47 +0100 oj r268206 : #i99363# make isCount inline 2009-02-18 10:33:22 +0100 oj r268203 : #i99363# use bookmarkable if available and inserted some RTL_LOG 2009-02-18 10:32:57 +0100 oj r268202 : #i99363# use bookmarkable if available and inserted some RTL_LOG 2009-02-17 07:29:05 +0100 oj r267843 : #i96897# remove some dll public 2009-02-16 15:01:04 +0100 oj r267816 : #i96897# remove some dll public 2009-02-16 14:25:53 +0100 oj r267810 : #i99264# remove duplicate code 2009-02-16 14:25:33 +0100 oj r267809 : #i99264# remove duplicate code 2009-02-16 14:24:59 +0100 oj r267808 : #i99264# remove duplicate code 2009-02-13 10:56:17 +0100 oj r267703 : #i99191# comment the contextclassloader 2009-02-13 10:32:40 +0100 oj r267700 : reduce call to resultset meta data 2009-02-13 10:27:31 +0100 oj r267699 : reduce call to resultset meta data 2009-02-13 10:27:08 +0100 oj r267698 : reduce call to resultset meta data
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/inc/xexptran.hxx4
-rw-r--r--xmloff/inc/xmloff/controlpropertyhdl.hxx2
-rw-r--r--xmloff/source/chart/SchXMLExport.cxx22
-rw-r--r--xmloff/source/chart/SchXMLImport.cxx320
-rw-r--r--xmloff/source/chart/SchXMLSeries2Context.cxx2
-rw-r--r--xmloff/source/core/attrlist.cxx13
-rw-r--r--xmloff/source/core/xmlexp.cxx25
-rw-r--r--xmloff/source/core/xmlictxt.cxx7
-rw-r--r--xmloff/source/core/xmluconv.cxx258
-rw-r--r--xmloff/source/draw/sdxmlimp.cxx228
-rw-r--r--xmloff/source/draw/shapeimport.cxx236
-rw-r--r--xmloff/source/draw/xexptran.cxx18
-rw-r--r--xmloff/source/draw/ximpcustomshape.cxx21
-rw-r--r--xmloff/source/draw/ximpshap.cxx2
-rw-r--r--xmloff/source/forms/callbacks.hxx86
-rw-r--r--xmloff/source/forms/elementexport.cxx6
-rw-r--r--xmloff/source/forms/elementimport.cxx194
-rw-r--r--xmloff/source/forms/elementimport.hxx42
-rw-r--r--xmloff/source/forms/elementimport_impl.hxx2
-rw-r--r--xmloff/source/forms/eventexport.cxx2
-rw-r--r--xmloff/source/forms/formattributes.cxx2
-rw-r--r--xmloff/source/forms/formcellbinding.cxx695
-rw-r--r--xmloff/source/forms/layerexport.cxx8
-rw-r--r--xmloff/source/forms/layerimport.cxx1036
-rw-r--r--xmloff/source/forms/layerimport.hxx33
-rw-r--r--xmloff/source/forms/propertyimport.cxx913
-rw-r--r--xmloff/source/forms/propertyimport.hxx7
-rw-r--r--xmloff/source/forms/strings.hxx1
-rw-r--r--xmloff/source/meta/MetaExportComponent.cxx5
-rw-r--r--xmloff/source/meta/xmlmetae.cxx12
-rw-r--r--xmloff/source/script/XMLEventImportHelper.cxx2
-rw-r--r--xmloff/source/style/GradientStyle.cxx34
-rw-r--r--xmloff/source/style/HatchStyle.cxx24
-rw-r--r--xmloff/source/style/ImageStyle.cxx28
-rw-r--r--xmloff/source/style/TransGradientStyle.cxx30
-rw-r--r--xmloff/source/style/XMLBackgroundImageContext.cxx44
-rw-r--r--xmloff/source/style/XMLFontStylesContext.cxx36
-rw-r--r--xmloff/source/style/XMLFootnoteSeparatorExport.cxx16
-rw-r--r--xmloff/source/style/XMLFootnoteSeparatorImport.cxx22
-rw-r--r--xmloff/source/style/fonthdl.cxx28
-rw-r--r--xmloff/source/style/xmlexppr.cxx2
-rw-r--r--xmloff/source/style/xmlnumfi.cxx160
-rw-r--r--xmloff/source/style/xmlnumi.cxx162
-rw-r--r--xmloff/source/text/XMLIndexTOCStylesContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTemplateContext.cxx2
-rw-r--r--xmloff/source/text/XMLLineNumberingImportContext.cxx74
-rw-r--r--xmloff/source/text/txtflde.cxx8
-rw-r--r--xmloff/source/text/txtimp.cxx8
-rw-r--r--xmloff/source/text/txtlists.cxx11
-rw-r--r--xmloff/source/text/txtparae.cxx6
50 files changed, 2443 insertions, 2458 deletions
diff --git a/xmloff/inc/xexptran.hxx b/xmloff/inc/xexptran.hxx
index c36f303c97..f795ff9b8c 100644
--- a/xmloff/inc/xexptran.hxx
+++ b/xmloff/inc/xexptran.hxx
@@ -83,7 +83,7 @@ public:
void AddSkewY(double fNew);
void AddMatrix(const ::basegfx::B2DHomMatrix& rNew);
- bool NeedsAction() const { return 0L != maList.size(); }
+ bool NeedsAction() const { return !maList.empty(); }
void GetFullTransform(::basegfx::B2DHomMatrix& rFullTrans);
const rtl::OUString& GetExportString(const SvXMLUnitConverter& rConv);
void SetString(const rtl::OUString& rNew, const SvXMLUnitConverter& rConv);
@@ -111,7 +111,7 @@ public:
void AddMatrix(const ::basegfx::B3DHomMatrix& rNew);
void AddHomogenMatrix(const com::sun::star::drawing::HomogenMatrix& xHomMat);
- bool NeedsAction() const { return 0L != maList.size(); }
+ bool NeedsAction() const { return !maList.empty(); }
void GetFullTransform(::basegfx::B3DHomMatrix& rFullTrans);
bool GetFullHomogenTransform(com::sun::star::drawing::HomogenMatrix& xHomMat);
const rtl::OUString& GetExportString(const SvXMLUnitConverter& rConv);
diff --git a/xmloff/inc/xmloff/controlpropertyhdl.hxx b/xmloff/inc/xmloff/controlpropertyhdl.hxx
index 7574932a81..971d25090f 100644
--- a/xmloff/inc/xmloff/controlpropertyhdl.hxx
+++ b/xmloff/inc/xmloff/controlpropertyhdl.hxx
@@ -47,7 +47,7 @@ namespace xmloff
//.........................................................................
class IFormsExportContext;
- class IFormsImportContext;
+ class OFormLayerXMLImport_Impl;
//=====================================================================
//= ORotationAngleHandler
diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
index a503feb205..9576fc4f91 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -1662,7 +1662,7 @@ void SchXMLExportHelper::exportPlotArea(
aPropertyStates.clear();
aPropertyStates = mxExpPropMapper->Filter( xStockPropSet );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
if( bExportContent )
{
@@ -1684,7 +1684,7 @@ void SchXMLExportHelper::exportPlotArea(
aPropertyStates.clear();
aPropertyStates = mxExpPropMapper->Filter( xStockPropSet );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
if( bExportContent )
{
@@ -1706,7 +1706,7 @@ void SchXMLExportHelper::exportPlotArea(
aPropertyStates.clear();
aPropertyStates = mxExpPropMapper->Filter( xStockPropSet );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
if( bExportContent )
{
@@ -1738,7 +1738,7 @@ void SchXMLExportHelper::exportPlotArea(
{
aPropertyStates = mxExpPropMapper->Filter( xWallPropSet );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
// write element
if( bExportContent )
@@ -1766,7 +1766,7 @@ void SchXMLExportHelper::exportPlotArea(
{
aPropertyStates = mxExpPropMapper->Filter( xFloorPropSet );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
// write element
if( bExportContent )
@@ -2674,7 +2674,7 @@ void SchXMLExportHelper::exportSeries(
{
aPropertyStates = mxExpPropMapper->Filter( xStatProp );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
// write element
if( bExportContent )
@@ -2735,7 +2735,7 @@ void SchXMLExportHelper::exportSeries(
aPropertyStates = mxExpPropMapper->Filter( xStatProp );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
// write element
if( bExportContent )
@@ -3090,7 +3090,7 @@ void SchXMLExportHelper::exportDataPoints(
}
aPropertyStates = mxExpPropMapper->Filter( xPropSet );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
if( bExportContent )
{
@@ -3154,7 +3154,7 @@ void SchXMLExportHelper::exportDataPoints(
}
aPropertyStates = mxExpPropMapper->Filter( xPropSet );
- if( aPropertyStates.size() > 0 )
+ if( !aPropertyStates.empty() )
{
if( bExportContent )
{
@@ -3324,13 +3324,13 @@ void SchXMLExportHelper::swapDataArray( Sequence< Sequence< double > >& rSequenc
void SchXMLExportHelper::CollectAutoStyle( const std::vector< XMLPropertyState >& aStates )
{
- if( aStates.size())
+ if( !aStates.empty() )
maAutoStyleNameQueue.push( GetAutoStylePoolP().Add( XML_STYLE_FAMILY_SCH_CHART_ID, aStates ));
}
void SchXMLExportHelper::AddAutoStyleAttribute( const std::vector< XMLPropertyState >& aStates )
{
- if( aStates.size())
+ if( !aStates.empty() )
{
DBG_ASSERT( ! maAutoStyleNameQueue.empty(), "Autostyle queue empty!" );
diff --git a/xmloff/source/chart/SchXMLImport.cxx b/xmloff/source/chart/SchXMLImport.cxx
index e45d332302..1576bd263c 100644
--- a/xmloff/source/chart/SchXMLImport.cxx
+++ b/xmloff/source/chart/SchXMLImport.cxx
@@ -117,155 +117,23 @@ private:
// element maps
// ----------------------------------------
-static __FAR_DATA SvXMLTokenMapEntry aDocElemTokenMap[] =
-{
- { XML_NAMESPACE_OFFICE, XML_AUTOMATIC_STYLES, XML_TOK_DOC_AUTOSTYLES },
- { XML_NAMESPACE_OFFICE, XML_STYLES, XML_TOK_DOC_STYLES },
- { XML_NAMESPACE_OFFICE, XML_META, XML_TOK_DOC_META },
- { XML_NAMESPACE_OFFICE, XML_BODY, XML_TOK_DOC_BODY },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aTableElemTokenMap[] =
-{
- { XML_NAMESPACE_TABLE, XML_TABLE_HEADER_COLUMNS, XML_TOK_TABLE_HEADER_COLS },
- { XML_NAMESPACE_TABLE, XML_TABLE_COLUMNS, XML_TOK_TABLE_COLUMNS },
- { XML_NAMESPACE_TABLE, XML_TABLE_COLUMN, XML_TOK_TABLE_COLUMN },
- { XML_NAMESPACE_TABLE, XML_TABLE_HEADER_ROWS, XML_TOK_TABLE_HEADER_ROWS },
- { XML_NAMESPACE_TABLE, XML_TABLE_ROWS, XML_TOK_TABLE_ROWS },
- { XML_NAMESPACE_TABLE, XML_TABLE_ROW, XML_TOK_TABLE_ROW },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aChartElemTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_PLOT_AREA, XML_TOK_CHART_PLOT_AREA },
- { XML_NAMESPACE_CHART, XML_TITLE, XML_TOK_CHART_TITLE },
- { XML_NAMESPACE_CHART, XML_SUBTITLE, XML_TOK_CHART_SUBTITLE },
- { XML_NAMESPACE_CHART, XML_LEGEND, XML_TOK_CHART_LEGEND },
- { XML_NAMESPACE_TABLE, XML_TABLE, XML_TOK_CHART_TABLE },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aPlotAreaElemTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_AXIS, XML_TOK_PA_AXIS },
- { XML_NAMESPACE_CHART, XML_SERIES, XML_TOK_PA_SERIES },
- { XML_NAMESPACE_CHART, XML_WALL, XML_TOK_PA_WALL },
- { XML_NAMESPACE_CHART, XML_FLOOR, XML_TOK_PA_FLOOR },
- { XML_NAMESPACE_DR3D, XML_LIGHT, XML_TOK_PA_LIGHT_SOURCE },
- { XML_NAMESPACE_CHART, XML_STOCK_GAIN_MARKER, XML_TOK_PA_STOCK_GAIN },
- { XML_NAMESPACE_CHART, XML_STOCK_LOSS_MARKER, XML_TOK_PA_STOCK_LOSS },
- { XML_NAMESPACE_CHART, XML_STOCK_RANGE_LINE, XML_TOK_PA_STOCK_RANGE },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aSeriesElemTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_DATA_POINT, XML_TOK_SERIES_DATA_POINT },
- { XML_NAMESPACE_CHART, XML_DOMAIN, XML_TOK_SERIES_DOMAIN },
- { XML_NAMESPACE_CHART, XML_MEAN_VALUE, XML_TOK_SERIES_MEAN_VALUE_LINE },
- { XML_NAMESPACE_CHART, XML_REGRESSION_CURVE, XML_TOK_SERIES_REGRESSION_CURVE },
- { XML_NAMESPACE_CHART, XML_ERROR_INDICATOR, XML_TOK_SERIES_ERROR_INDICATOR },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aAxisElemTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_TITLE, XML_TOK_AXIS_TITLE },
- { XML_NAMESPACE_CHART, XML_CATEGORIES, XML_TOK_AXIS_CATEGORIES },
- { XML_NAMESPACE_CHART, XML_GRID, XML_TOK_AXIS_GRID },
- XML_TOKEN_MAP_END
-};
// ----------------------------------------
// attribute maps
// ----------------------------------------
-static __FAR_DATA SvXMLTokenMapEntry aChartAttrTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_CLASS, XML_TOK_CHART_CLASS },
- { XML_NAMESPACE_SVG, XML_WIDTH, XML_TOK_CHART_WIDTH },
- { XML_NAMESPACE_SVG, XML_HEIGHT, XML_TOK_CHART_HEIGHT },
- { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_CHART_STYLE_NAME },
- { XML_NAMESPACE_CHART, XML_COLUMN_MAPPING, XML_TOK_CHART_COL_MAPPING },
- { XML_NAMESPACE_CHART, XML_ROW_MAPPING, XML_TOK_CHART_ROW_MAPPING },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aPlotAreaAttrTokenMap[] =
-{
- { XML_NAMESPACE_SVG, XML_X, XML_TOK_PA_X },
- { XML_NAMESPACE_SVG, XML_Y, XML_TOK_PA_Y },
- { XML_NAMESPACE_SVG, XML_WIDTH, XML_TOK_PA_WIDTH },
- { XML_NAMESPACE_SVG, XML_HEIGHT, XML_TOK_PA_HEIGHT },
- { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_PA_STYLE_NAME },
- { XML_NAMESPACE_TABLE, XML_CELL_RANGE_ADDRESS, XML_TOK_PA_CHART_ADDRESS },
- { XML_NAMESPACE_CHART, XML_DATA_SOURCE_HAS_LABELS, XML_TOK_PA_DS_HAS_LABELS },
- { XML_NAMESPACE_DR3D, XML_TRANSFORM, XML_TOK_PA_TRANSFORM },
- { XML_NAMESPACE_DR3D, XML_VRP, XML_TOK_PA_VRP },
- { XML_NAMESPACE_DR3D, XML_VPN, XML_TOK_PA_VPN },
- { XML_NAMESPACE_DR3D, XML_VUP, XML_TOK_PA_VUP },
- { XML_NAMESPACE_DR3D, XML_PROJECTION, XML_TOK_PA_PROJECTION },
- { XML_NAMESPACE_DR3D, XML_DISTANCE, XML_TOK_PA_DISTANCE },
- { XML_NAMESPACE_DR3D, XML_FOCAL_LENGTH, XML_TOK_PA_FOCAL_LENGTH },
- { XML_NAMESPACE_DR3D, XML_SHADOW_SLANT, XML_TOK_PA_SHADOW_SLANT },
- { XML_NAMESPACE_DR3D, XML_SHADE_MODE, XML_TOK_PA_SHADE_MODE },
- { XML_NAMESPACE_DR3D, XML_AMBIENT_COLOR, XML_TOK_PA_AMBIENT_COLOR },
- { XML_NAMESPACE_DR3D, XML_LIGHTING_MODE, XML_TOK_PA_LIGHTING_MODE },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aAxisAttrTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_DIMENSION, XML_TOK_AXIS_DIMENSION },
- { XML_NAMESPACE_CHART, XML_NAME, XML_TOK_AXIS_NAME },
- { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_AXIS_STYLE_NAME },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aLegendAttrTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_LEGEND_POSITION, XML_TOK_LEGEND_POSITION },
- { XML_NAMESPACE_SVG, XML_X, XML_TOK_LEGEND_X },
- { XML_NAMESPACE_SVG, XML_Y, XML_TOK_LEGEND_Y },
- { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_LEGEND_STYLE_NAME },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aAutoStyleAttrTokenMap[] =
-{
- { XML_NAMESPACE_STYLE, XML_FAMILY, XML_TOK_AS_FAMILY },
- { XML_NAMESPACE_STYLE, XML_NAME, XML_TOK_AS_NAME },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aCellAttrTokenMap[] =
-{
- { XML_NAMESPACE_OFFICE, XML_VALUE_TYPE, XML_TOK_CELL_VAL_TYPE },
- { XML_NAMESPACE_OFFICE, XML_VALUE, XML_TOK_CELL_VALUE },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aSeriesAttrTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_VALUES_CELL_RANGE_ADDRESS, XML_TOK_SERIES_CELL_RANGE },
- { XML_NAMESPACE_CHART, XML_LABEL_CELL_ADDRESS, XML_TOK_SERIES_LABEL_ADDRESS },
- { XML_NAMESPACE_CHART, XML_ATTACHED_AXIS, XML_TOK_SERIES_ATTACHED_AXIS },
- { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_SERIES_STYLE_NAME },
- { XML_NAMESPACE_CHART, XML_CLASS, XML_TOK_SERIES_CHART_CLASS },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aRegressionEquationAttrTokenMap[] =
-{
- { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_REGEQ_STYLE_NAME },
- { XML_NAMESPACE_CHART, XML_DISPLAY_EQUATION, XML_TOK_REGEQ_DISPLAY_EQUATION },
- { XML_NAMESPACE_CHART, XML_DISPLAY_R_SQUARE, XML_TOK_REGEQ_DISPLAY_R_SQUARE },
- { XML_NAMESPACE_SVG, XML_X, XML_TOK_REGEQ_POS_X },
- { XML_NAMESPACE_SVG, XML_Y, XML_TOK_REGEQ_POS_Y },
- XML_TOKEN_MAP_END
-};
// ========================================
@@ -352,42 +220,121 @@ SvXMLImportContext* SchXMLImportHelper::CreateChartContext(
const SvXMLTokenMap& SchXMLImportHelper::GetDocElemTokenMap()
{
if( ! mpChartDocElemTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aDocElemTokenMap[] =
+ {
+ { XML_NAMESPACE_OFFICE, XML_AUTOMATIC_STYLES, XML_TOK_DOC_AUTOSTYLES },
+ { XML_NAMESPACE_OFFICE, XML_STYLES, XML_TOK_DOC_STYLES },
+ { XML_NAMESPACE_OFFICE, XML_META, XML_TOK_DOC_META },
+ { XML_NAMESPACE_OFFICE, XML_BODY, XML_TOK_DOC_BODY },
+ XML_TOKEN_MAP_END
+ };
+
mpChartDocElemTokenMap = new SvXMLTokenMap( aDocElemTokenMap );
+ } // if( ! mpChartDocElemTokenMap )
+
return *mpChartDocElemTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetTableElemTokenMap()
{
if( ! mpTableElemTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aTableElemTokenMap[] =
+ {
+ { XML_NAMESPACE_TABLE, XML_TABLE_HEADER_COLUMNS, XML_TOK_TABLE_HEADER_COLS },
+ { XML_NAMESPACE_TABLE, XML_TABLE_COLUMNS, XML_TOK_TABLE_COLUMNS },
+ { XML_NAMESPACE_TABLE, XML_TABLE_COLUMN, XML_TOK_TABLE_COLUMN },
+ { XML_NAMESPACE_TABLE, XML_TABLE_HEADER_ROWS, XML_TOK_TABLE_HEADER_ROWS },
+ { XML_NAMESPACE_TABLE, XML_TABLE_ROWS, XML_TOK_TABLE_ROWS },
+ { XML_NAMESPACE_TABLE, XML_TABLE_ROW, XML_TOK_TABLE_ROW },
+ XML_TOKEN_MAP_END
+ };
+
mpTableElemTokenMap = new SvXMLTokenMap( aTableElemTokenMap );
+ } // if( ! mpTableElemTokenMap )
+
return *mpTableElemTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetChartElemTokenMap()
{
if( ! mpChartElemTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aChartElemTokenMap[] =
+ {
+ { XML_NAMESPACE_CHART, XML_PLOT_AREA, XML_TOK_CHART_PLOT_AREA },
+ { XML_NAMESPACE_CHART, XML_TITLE, XML_TOK_CHART_TITLE },
+ { XML_NAMESPACE_CHART, XML_SUBTITLE, XML_TOK_CHART_SUBTITLE },
+ { XML_NAMESPACE_CHART, XML_LEGEND, XML_TOK_CHART_LEGEND },
+ { XML_NAMESPACE_TABLE, XML_TABLE, XML_TOK_CHART_TABLE },
+ XML_TOKEN_MAP_END
+ };
+
mpChartElemTokenMap = new SvXMLTokenMap( aChartElemTokenMap );
+ } // if( ! mpChartElemTokenMap )
+
return *mpChartElemTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetPlotAreaElemTokenMap()
{
if( ! mpPlotAreaElemTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aPlotAreaElemTokenMap[] =
+{
+ { XML_NAMESPACE_CHART, XML_AXIS, XML_TOK_PA_AXIS },
+ { XML_NAMESPACE_CHART, XML_SERIES, XML_TOK_PA_SERIES },
+ { XML_NAMESPACE_CHART, XML_WALL, XML_TOK_PA_WALL },
+ { XML_NAMESPACE_CHART, XML_FLOOR, XML_TOK_PA_FLOOR },
+ { XML_NAMESPACE_DR3D, XML_LIGHT, XML_TOK_PA_LIGHT_SOURCE },
+ { XML_NAMESPACE_CHART, XML_STOCK_GAIN_MARKER, XML_TOK_PA_STOCK_GAIN },
+ { XML_NAMESPACE_CHART, XML_STOCK_LOSS_MARKER, XML_TOK_PA_STOCK_LOSS },
+ { XML_NAMESPACE_CHART, XML_STOCK_RANGE_LINE, XML_TOK_PA_STOCK_RANGE },
+ XML_TOKEN_MAP_END
+};
+
mpPlotAreaElemTokenMap = new SvXMLTokenMap( aPlotAreaElemTokenMap );
+ } // if( ! mpPlotAreaElemTokenMap )
+
return *mpPlotAreaElemTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetSeriesElemTokenMap()
{
if( ! mpSeriesElemTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aSeriesElemTokenMap[] =
+{
+ { XML_NAMESPACE_CHART, XML_DATA_POINT, XML_TOK_SERIES_DATA_POINT },
+ { XML_NAMESPACE_CHART, XML_DOMAIN, XML_TOK_SERIES_DOMAIN },
+ { XML_NAMESPACE_CHART, XML_MEAN_VALUE, XML_TOK_SERIES_MEAN_VALUE_LINE },
+ { XML_NAMESPACE_CHART, XML_REGRESSION_CURVE, XML_TOK_SERIES_REGRESSION_CURVE },
+ { XML_NAMESPACE_CHART, XML_ERROR_INDICATOR, XML_TOK_SERIES_ERROR_INDICATOR },
+ XML_TOKEN_MAP_END
+};
+
mpSeriesElemTokenMap = new SvXMLTokenMap( aSeriesElemTokenMap );
+ } // if( ! mpSeriesElemTokenMap )
+
return *mpSeriesElemTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetAxisElemTokenMap()
{
if( ! mpAxisElemTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aAxisElemTokenMap[] =
+{
+ { XML_NAMESPACE_CHART, XML_TITLE, XML_TOK_AXIS_TITLE },
+ { XML_NAMESPACE_CHART, XML_CATEGORIES, XML_TOK_AXIS_CATEGORIES },
+ { XML_NAMESPACE_CHART, XML_GRID, XML_TOK_AXIS_GRID },
+ XML_TOKEN_MAP_END
+};
+
mpAxisElemTokenMap = new SvXMLTokenMap( aAxisElemTokenMap );
+ } // if( ! mpAxisElemTokenMap )
+
return *mpAxisElemTokenMap;
}
@@ -396,56 +343,165 @@ const SvXMLTokenMap& SchXMLImportHelper::GetAxisElemTokenMap()
const SvXMLTokenMap& SchXMLImportHelper::GetChartAttrTokenMap()
{
if( ! mpChartAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aChartAttrTokenMap[] =
+{
+ { XML_NAMESPACE_CHART, XML_CLASS, XML_TOK_CHART_CLASS },
+ { XML_NAMESPACE_SVG, XML_WIDTH, XML_TOK_CHART_WIDTH },
+ { XML_NAMESPACE_SVG, XML_HEIGHT, XML_TOK_CHART_HEIGHT },
+ { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_CHART_STYLE_NAME },
+ { XML_NAMESPACE_CHART, XML_COLUMN_MAPPING, XML_TOK_CHART_COL_MAPPING },
+ { XML_NAMESPACE_CHART, XML_ROW_MAPPING, XML_TOK_CHART_ROW_MAPPING },
+ XML_TOKEN_MAP_END
+};
+
mpChartAttrTokenMap = new SvXMLTokenMap( aChartAttrTokenMap );
+ } // if( ! mpChartAttrTokenMap )
+
return *mpChartAttrTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetPlotAreaAttrTokenMap()
{
if( ! mpPlotAreaAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aPlotAreaAttrTokenMap[] =
+{
+ { XML_NAMESPACE_SVG, XML_X, XML_TOK_PA_X },
+ { XML_NAMESPACE_SVG, XML_Y, XML_TOK_PA_Y },
+ { XML_NAMESPACE_SVG, XML_WIDTH, XML_TOK_PA_WIDTH },
+ { XML_NAMESPACE_SVG, XML_HEIGHT, XML_TOK_PA_HEIGHT },
+ { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_PA_STYLE_NAME },
+ { XML_NAMESPACE_TABLE, XML_CELL_RANGE_ADDRESS, XML_TOK_PA_CHART_ADDRESS },
+ { XML_NAMESPACE_CHART, XML_DATA_SOURCE_HAS_LABELS, XML_TOK_PA_DS_HAS_LABELS },
+ { XML_NAMESPACE_DR3D, XML_TRANSFORM, XML_TOK_PA_TRANSFORM },
+ { XML_NAMESPACE_DR3D, XML_VRP, XML_TOK_PA_VRP },
+ { XML_NAMESPACE_DR3D, XML_VPN, XML_TOK_PA_VPN },
+ { XML_NAMESPACE_DR3D, XML_VUP, XML_TOK_PA_VUP },
+ { XML_NAMESPACE_DR3D, XML_PROJECTION, XML_TOK_PA_PROJECTION },
+ { XML_NAMESPACE_DR3D, XML_DISTANCE, XML_TOK_PA_DISTANCE },
+ { XML_NAMESPACE_DR3D, XML_FOCAL_LENGTH, XML_TOK_PA_FOCAL_LENGTH },
+ { XML_NAMESPACE_DR3D, XML_SHADOW_SLANT, XML_TOK_PA_SHADOW_SLANT },
+ { XML_NAMESPACE_DR3D, XML_SHADE_MODE, XML_TOK_PA_SHADE_MODE },
+ { XML_NAMESPACE_DR3D, XML_AMBIENT_COLOR, XML_TOK_PA_AMBIENT_COLOR },
+ { XML_NAMESPACE_DR3D, XML_LIGHTING_MODE, XML_TOK_PA_LIGHTING_MODE },
+ XML_TOKEN_MAP_END
+};
+
mpPlotAreaAttrTokenMap = new SvXMLTokenMap( aPlotAreaAttrTokenMap );
+ } // if( ! mpPlotAreaAttrTokenMap )
+
return *mpPlotAreaAttrTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetAxisAttrTokenMap()
{
if( ! mpAxisAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aAxisAttrTokenMap[] =
+{
+ { XML_NAMESPACE_CHART, XML_DIMENSION, XML_TOK_AXIS_DIMENSION },
+ { XML_NAMESPACE_CHART, XML_NAME, XML_TOK_AXIS_NAME },
+ { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_AXIS_STYLE_NAME },
+ XML_TOKEN_MAP_END
+};
+
mpAxisAttrTokenMap = new SvXMLTokenMap( aAxisAttrTokenMap );
+ } // if( ! mpAxisAttrTokenMap )
+
return *mpAxisAttrTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetLegendAttrTokenMap()
{
if( ! mpLegendAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aLegendAttrTokenMap[] =
+{
+ { XML_NAMESPACE_CHART, XML_LEGEND_POSITION, XML_TOK_LEGEND_POSITION },
+ { XML_NAMESPACE_SVG, XML_X, XML_TOK_LEGEND_X },
+ { XML_NAMESPACE_SVG, XML_Y, XML_TOK_LEGEND_Y },
+ { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_LEGEND_STYLE_NAME },
+ XML_TOKEN_MAP_END
+};
+
mpLegendAttrTokenMap = new SvXMLTokenMap( aLegendAttrTokenMap );
+ } // if( ! mpLegendAttrTokenMap )
+
return *mpLegendAttrTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetAutoStyleAttrTokenMap()
{
if( ! mpAutoStyleAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aAutoStyleAttrTokenMap[] =
+{
+ { XML_NAMESPACE_STYLE, XML_FAMILY, XML_TOK_AS_FAMILY },
+ { XML_NAMESPACE_STYLE, XML_NAME, XML_TOK_AS_NAME },
+ XML_TOKEN_MAP_END
+};
+
mpAutoStyleAttrTokenMap = new SvXMLTokenMap( aAutoStyleAttrTokenMap );
+ } // if( ! mpAutoStyleAttrTokenMap )
+
return *mpAutoStyleAttrTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetCellAttrTokenMap()
{
if( ! mpCellAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aCellAttrTokenMap[] =
+{
+ { XML_NAMESPACE_OFFICE, XML_VALUE_TYPE, XML_TOK_CELL_VAL_TYPE },
+ { XML_NAMESPACE_OFFICE, XML_VALUE, XML_TOK_CELL_VALUE },
+ XML_TOKEN_MAP_END
+};
+
mpCellAttrTokenMap = new SvXMLTokenMap( aCellAttrTokenMap );
+ } // if( ! mpCellAttrTokenMap )
+
return *mpCellAttrTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetSeriesAttrTokenMap()
{
if( ! mpSeriesAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aSeriesAttrTokenMap[] =
+{
+ { XML_NAMESPACE_CHART, XML_VALUES_CELL_RANGE_ADDRESS, XML_TOK_SERIES_CELL_RANGE },
+ { XML_NAMESPACE_CHART, XML_LABEL_CELL_ADDRESS, XML_TOK_SERIES_LABEL_ADDRESS },
+ { XML_NAMESPACE_CHART, XML_ATTACHED_AXIS, XML_TOK_SERIES_ATTACHED_AXIS },
+ { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_SERIES_STYLE_NAME },
+ { XML_NAMESPACE_CHART, XML_CLASS, XML_TOK_SERIES_CHART_CLASS },
+ XML_TOKEN_MAP_END
+};
+
mpSeriesAttrTokenMap = new SvXMLTokenMap( aSeriesAttrTokenMap );
+ } // if( ! mpSeriesAttrTokenMap )
+
return *mpSeriesAttrTokenMap;
}
const SvXMLTokenMap& SchXMLImportHelper::GetRegEquationAttrTokenMap()
{
if( ! mpRegEquationAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aRegressionEquationAttrTokenMap[] =
+{
+ { XML_NAMESPACE_CHART, XML_STYLE_NAME, XML_TOK_REGEQ_STYLE_NAME },
+ { XML_NAMESPACE_CHART, XML_DISPLAY_EQUATION, XML_TOK_REGEQ_DISPLAY_EQUATION },
+ { XML_NAMESPACE_CHART, XML_DISPLAY_R_SQUARE, XML_TOK_REGEQ_DISPLAY_R_SQUARE },
+ { XML_NAMESPACE_SVG, XML_X, XML_TOK_REGEQ_POS_X },
+ { XML_NAMESPACE_SVG, XML_Y, XML_TOK_REGEQ_POS_Y },
+ XML_TOKEN_MAP_END
+};
+
mpRegEquationAttrTokenMap = new SvXMLTokenMap( aRegressionEquationAttrTokenMap );
+ } // if( ! mpRegEquationAttrTokenMap )
+
return *mpRegEquationAttrTokenMap;
}
diff --git a/xmloff/source/chart/SchXMLSeries2Context.cxx b/xmloff/source/chart/SchXMLSeries2Context.cxx
index 6ab7988251..42dacf4920 100644
--- a/xmloff/source/chart/SchXMLSeries2Context.cxx
+++ b/xmloff/source/chart/SchXMLSeries2Context.cxx
@@ -533,7 +533,7 @@ void SchXMLSeries2Context::EndElement()
maSeriesChartTypeName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("com.sun.star.chart2.ScatterChartType")) )
{
bCreateXValues = true;
- if( maDomainAddresses.size() > 0 )
+ if( !maDomainAddresses.empty() )
{
aXValuesRange = maDomainAddresses.front();
bHasOwnDomains = true;
diff --git a/xmloff/source/core/attrlist.cxx b/xmloff/source/core/attrlist.cxx
index 67ba0455de..86de77e4e9 100644
--- a/xmloff/source/core/attrlist.cxx
+++ b/xmloff/source/core/attrlist.cxx
@@ -120,11 +120,7 @@ SvXMLAttributeList::SvXMLAttributeList( const uno::Reference<
OUString SAL_CALL SvXMLAttributeList::getNameByIndex(sal_Int16 i) throw( ::com::sun::star::uno::RuntimeException )
{
- if( static_cast< SvXMLAttributeList_Impl::size_type >( i )
- < m_pImpl->vecAttribute.size() ) {
- return m_pImpl->vecAttribute[i].sName;
- }
- return OUString();
+ return ( static_cast< SvXMLAttributeList_Impl::size_type >( i ) < m_pImpl->vecAttribute.size() ) ? m_pImpl->vecAttribute[i].sName : OUString();
}
@@ -135,12 +131,7 @@ OUString SAL_CALL SvXMLAttributeList::getTypeByIndex(sal_Int16) throw( ::com::su
OUString SAL_CALL SvXMLAttributeList::getValueByIndex(sal_Int16 i) throw( ::com::sun::star::uno::RuntimeException )
{
- if( static_cast< SvXMLAttributeList_Impl::size_type >( i )
- < m_pImpl->vecAttribute.size() ) {
- return m_pImpl->vecAttribute[i].sValue;
- }
- return OUString();
-
+ return ( static_cast< SvXMLAttributeList_Impl::size_type >( i ) < m_pImpl->vecAttribute.size() ) ? m_pImpl->vecAttribute[i].sValue : OUString();
}
OUString SAL_CALL SvXMLAttributeList::getTypeByName( const OUString& ) throw( ::com::sun::star::uno::RuntimeException )
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx
index 1aee3bfa02..8068012230 100644
--- a/xmloff/source/core/xmlexp.cxx
+++ b/xmloff/source/core/xmlexp.cxx
@@ -1046,19 +1046,20 @@ void SvXMLExport::ImplExportStyles( sal_Bool )
}
// transfer style names (+ families) TO other components (if appropriate)
- OUString sStyleNames( RTL_CONSTASCII_USTRINGPARAM("StyleNames") );
- OUString sStyleFamilies( RTL_CONSTASCII_USTRINGPARAM("StyleFamilies") );
- if( ( ( mnExportFlags & EXPORT_CONTENT ) == 0 )
- && mxExportInfo.is()
- && mxExportInfo->getPropertySetInfo()->hasPropertyByName( sStyleNames )
- && mxExportInfo->getPropertySetInfo()->hasPropertyByName( sStyleFamilies ) )
+ if( ( ( mnExportFlags & EXPORT_CONTENT ) == 0 ) && mxExportInfo.is() )
{
- Sequence<sal_Int32> aStyleFamilies;
- Sequence<OUString> aStyleNames;
- mxAutoStylePool->GetRegisteredNames( aStyleFamilies, aStyleNames );
- mxExportInfo->setPropertyValue( sStyleNames, makeAny( aStyleNames ) );
- mxExportInfo->setPropertyValue( sStyleFamilies,
- makeAny( aStyleFamilies ) );
+ static OUString sStyleNames( RTL_CONSTASCII_USTRINGPARAM("StyleNames") );
+ static OUString sStyleFamilies( RTL_CONSTASCII_USTRINGPARAM("StyleFamilies") );
+ uno::Reference< beans::XPropertySetInfo > xPropertySetInfo = mxExportInfo->getPropertySetInfo();
+ if ( xPropertySetInfo->hasPropertyByName( sStyleNames ) && xPropertySetInfo->hasPropertyByName( sStyleFamilies ) )
+ {
+ Sequence<sal_Int32> aStyleFamilies;
+ Sequence<OUString> aStyleNames;
+ mxAutoStylePool->GetRegisteredNames( aStyleFamilies, aStyleNames );
+ mxExportInfo->setPropertyValue( sStyleNames, makeAny( aStyleNames ) );
+ mxExportInfo->setPropertyValue( sStyleFamilies,
+ makeAny( aStyleFamilies ) );
+ }
}
}
diff --git a/xmloff/source/core/xmlictxt.cxx b/xmloff/source/core/xmlictxt.cxx
index 82e3fcf809..d7fe067fe8 100644
--- a/xmloff/source/core/xmlictxt.cxx
+++ b/xmloff/source/core/xmlictxt.cxx
@@ -39,14 +39,15 @@
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmlictxt.hxx>
+#include <tools/debug.hxx>
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
using namespace ::com::sun::star;
+DBG_NAME(SvXMLImportContext)
TYPEINIT0( SvXMLImportContext );
-
SvXMLImportContext::SvXMLImportContext( SvXMLImport& rImp, USHORT nPrfx,
const OUString& rLName ) :
mrImport( rImp ),
@@ -54,10 +55,14 @@ SvXMLImportContext::SvXMLImportContext( SvXMLImport& rImp, USHORT nPrfx,
maLocalName( rLName ),
mpRewindMap( 0 )
{
+ DBG_CTOR(SvXMLImportContext,NULL);
+
}
SvXMLImportContext::~SvXMLImportContext()
{
+
+ DBG_DTOR(SvXMLImportContext,NULL);
}
SvXMLImportContext *SvXMLImportContext::CreateChildContext( USHORT nPrefix,
diff --git a/xmloff/source/core/xmluconv.cxx b/xmloff/source/core/xmluconv.cxx
index 910b4fd4eb..968cf5c6d2 100644
--- a/xmloff/source/core/xmluconv.cxx
+++ b/xmloff/source/core/xmluconv.cxx
@@ -40,6 +40,7 @@
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmltoken.hxx>
#include <rtl/math.hxx>
+#include <rtl/logfile.hxx>
#ifndef _TOOLS_DATE_HXX
#include <tools/date.hxx>
@@ -203,7 +204,7 @@ sal_Bool SvXMLUnitConverter::convertMeasure( sal_Int32& rValue,
double nVal = 0;
sal_Int32 nPos = 0L;
- sal_Int32 nLen = rString.getLength();
+ const sal_Int32 nLen = rString.getLength();
// skip white space
while( (nPos < nLen) && (rString[nPos] <= sal_Unicode(' ')) )
@@ -212,7 +213,7 @@ sal_Bool SvXMLUnitConverter::convertMeasure( sal_Int32& rValue,
if( nPos < nLen && sal_Unicode('-') == rString[nPos] )
{
bNeg = sal_True;
- nPos++;
+ ++nPos;
}
// get number
@@ -223,12 +224,12 @@ sal_Bool SvXMLUnitConverter::convertMeasure( sal_Int32& rValue,
// TODO: check overflow!
nVal *= 10;
nVal += (rString[nPos] - sal_Unicode('0'));
- nPos++;
+ ++nPos;
}
double nDiv = 1.;
if( nPos < nLen && sal_Unicode('.') == rString[nPos] )
{
- nPos++;
+ ++nPos;
while( nPos < nLen &&
sal_Unicode('0') <= rString[nPos] &&
@@ -237,13 +238,13 @@ sal_Bool SvXMLUnitConverter::convertMeasure( sal_Int32& rValue,
// TODO: check overflow!
nDiv *= 10;
nVal += ( ((double)(rString[nPos] - sal_Unicode('0'))) / nDiv );
- nPos++;
+ ++nPos;
}
}
// skip white space
while( (nPos < nLen) && (rString[nPos] <= sal_Unicode(' ')) )
- nPos++;
+ ++nPos;
if( nPos < nLen )
{
@@ -375,7 +376,7 @@ sal_Bool SvXMLUnitConverter::convertMeasure( sal_Int32& rValue,
return sal_False;
double nScale = 0.;
- for( sal_uInt16 i= 0; i < 2; i++ )
+ for( sal_uInt16 i= 0; i < 2; ++i )
{
const sal_Char *pL = aCmpsL[i];
if( pL )
@@ -386,9 +387,9 @@ sal_Bool SvXMLUnitConverter::convertMeasure( sal_Int32& rValue,
sal_Unicode c = rString[nPos];
if( c != *pL && c != *pU )
break;
- pL++;
- pU++;
- nPos++;
+ ++pL;
+ ++pU;
+ ++nPos;
}
if( !*pL && (nPos == nLen || ' ' == rString[nPos]) )
{
@@ -503,7 +504,7 @@ sal_Bool SvXMLUnitConverter::convertEnum( sal_uInt16& rEnum,
rEnum = pMap->nValue;
return sal_True;
}
- pMap++;
+ ++pMap;
}
return sal_False;
@@ -523,7 +524,7 @@ sal_Bool SvXMLUnitConverter::convertEnum(
rEnum = pMap->nValue;
return sal_True;
}
- pMap++;
+ ++pMap;
}
return sal_False;
}
@@ -547,7 +548,7 @@ sal_Bool SvXMLUnitConverter::convertEnum( OUStringBuffer& rBuffer,
pStr = pMap->pName;
break;
}
- pMap++;
+ ++pMap;
}
if( NULL == pStr )
@@ -578,7 +579,7 @@ sal_Bool SvXMLUnitConverter::convertEnum(
eTok = pMap->eToken;
break;
}
- pMap++;
+ ++pMap;
}
// the map may have contained XML_TOKEN_INVALID
@@ -658,37 +659,12 @@ sal_Bool SvXMLUnitConverter::convertNumber( sal_Int32& rValue,
const OUString& rString,
sal_Int32 nMin, sal_Int32 nMax )
{
- sal_Bool bNeg = sal_False;
rValue = 0;
-
- sal_Int32 nPos = 0L;
- sal_Int32 nLen = rString.getLength();
-
- // skip white space
- while( (nPos < nLen) && (rString[nPos] <= sal_Unicode(' ')) )
- nPos++;
-
- if( nPos < nLen && sal_Unicode('-') == rString[nPos] )
- {
- bNeg = sal_True;
- nPos++;
- }
-
- // get number
- while( nPos < nLen &&
- sal_Unicode('0') <= rString[nPos] &&
- sal_Unicode('9') >= rString[nPos] )
- {
- // TODO: check overflow!
- rValue *= 10;
- rValue += (rString[nPos] - sal_Unicode('0'));
- nPos++;
- }
-
- if( bNeg )
- rValue *= -1;
-
- return ( nPos == nLen && rValue >= nMin && rValue <= nMax );
+ sal_Int64 nNumber = 0;
+ sal_Bool bRet = convertNumber64(nNumber,rString,nMin,nMax);
+ if ( bRet )
+ rValue = static_cast<sal_Int32>(nNumber);
+ return bRet;
}
/** convert 64-bit number to string */
@@ -707,16 +683,16 @@ sal_Bool SvXMLUnitConverter::convertNumber64( sal_Int64& rValue,
rValue = 0;
sal_Int32 nPos = 0L;
- sal_Int32 nLen = rString.getLength();
+ const sal_Int32 nLen = rString.getLength();
// skip white space
while( (nPos < nLen) && (rString[nPos] <= sal_Unicode(' ')) )
- nPos++;
+ ++nPos;
if( nPos < nLen && sal_Unicode('-') == rString[nPos] )
{
bNeg = sal_True;
- nPos++;
+ ++nPos;
}
// get number
@@ -727,7 +703,7 @@ sal_Bool SvXMLUnitConverter::convertNumber64( sal_Int64& rValue,
// TODO: check overflow!
rValue *= 10;
rValue += (rString[nPos] - sal_Unicode('0'));
- nPos++;
+ ++nPos;
}
if( bNeg )
@@ -800,7 +776,7 @@ sal_Bool SvXMLUnitConverter::convertDouble(double& rValue,
if(eStatus == rtl_math_ConversionStatus_Ok)
{
OUStringBuffer sUnit;
- double fFactor = SvXMLExportHelper::GetConversionFactor(sUnit, eCoreUnit, eSrcUnit);
+ const double fFactor = SvXMLExportHelper::GetConversionFactor(sUnit, eCoreUnit, eSrcUnit);
if(fFactor != 1.0 && fFactor != 0.0)
rValue /= fFactor;
}
@@ -822,15 +798,8 @@ sal_Bool SvXMLUnitConverter::setNullDate(const com::sun::star::uno::Reference <c
com::sun::star::uno::Reference <com::sun::star::util::XNumberFormatsSupplier> xNumberFormatsSupplier (xModel, com::sun::star::uno::UNO_QUERY);
if (xNumberFormatsSupplier.is())
{
- com::sun::star::uno::Reference <com::sun::star::beans::XPropertySet> xPropertySet = xNumberFormatsSupplier->getNumberFormatSettings();
- if (xPropertySet.is() )
- {
- com::sun::star::uno::Any aAnyNullDate = xPropertySet->getPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(XML_NULLDATE)));
- if (aAnyNullDate >>= aNullDate)
- {
- return sal_True;
- }
- }
+ const com::sun::star::uno::Reference <com::sun::star::beans::XPropertySet> xPropertySet = xNumberFormatsSupplier->getNumberFormatSettings();
+ return xPropertySet.is() && (xPropertySet->getPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(XML_NULLDATE))) >>= aNullDate);
}
return sal_False;
}
@@ -1194,104 +1163,24 @@ void SvXMLUnitConverter::convertDateTime( ::rtl::OUStringBuffer& rBuffer,
sal_Bool SvXMLUnitConverter::convertDateTime( double& fDateTime,
const ::rtl::OUString& rString, const com::sun::star::util::Date& aTempNullDate)
{
- sal_Bool bSuccess = sal_True;
-
- rtl::OUString aDateStr, aTimeStr, sDoubleStr;
- sal_Int32 nPos = rString.indexOf( (sal_Unicode) 'T' );
- sal_Int32 nPos2 = rString.indexOf( (sal_Unicode) ',' );
- if (nPos2 < 0)
- nPos2 = rString.indexOf( (sal_Unicode) '.' );
- if ( nPos >= 0 )
- {
- aDateStr = rString.copy( 0, nPos );
- if ( nPos2 >= 0 )
- {
- aTimeStr = rString.copy( nPos + 1, nPos2 - nPos - 1 );
- sDoubleStr = OUString(RTL_CONSTASCII_USTRINGPARAM("0."));
- sDoubleStr += rString.copy( nPos2 + 1 );
- }
- else
- {
- aTimeStr = rString.copy(nPos + 1);
- sDoubleStr = OUString(RTL_CONSTASCII_USTRINGPARAM("0.0"));
- }
- }
- else
- aDateStr = rString; // no separator: only date part
-
- sal_Int32 nYear = 1899;
- sal_Int32 nMonth = 12;
- sal_Int32 nDay = 30;
- sal_Int32 nHour = 0;
- sal_Int32 nMin = 0;
- sal_Int32 nSec = 0;
-
- const sal_Unicode* pStr = aDateStr.getStr();
- sal_Int32 nDateTokens = 1;
- while ( *pStr )
- {
- if ( *pStr == '-' )
- nDateTokens++;
- pStr++;
- }
- if ( nDateTokens > 3 || aDateStr.getLength() == 0 )
- bSuccess = sal_False;
- else
- {
- sal_Int32 n = 0;
- if ( !convertNumber( nYear, aDateStr.getToken( 0, '-', n ), 0, 9999 ) )
- bSuccess = sal_False;
- if ( nDateTokens >= 2 )
- if ( !convertNumber( nMonth, aDateStr.getToken( 0, '-', n ), 0, 12 ) )
- bSuccess = sal_False;
- if ( nDateTokens >= 3 )
- if ( !convertNumber( nDay, aDateStr.getToken( 0, '-', n ), 0, 31 ) )
- bSuccess = sal_False;
- }
-
- if ( aTimeStr.getLength() > 0 ) // time is optional
- {
- pStr = aTimeStr.getStr();
- sal_Int32 nTimeTokens = 1;
- while ( *pStr )
- {
- if ( *pStr == ':' )
- nTimeTokens++;
- pStr++;
- }
- if ( nTimeTokens > 3 )
- bSuccess = sal_False;
- else
- {
- sal_Int32 n = 0;
- if ( !convertNumber( nHour, aTimeStr.getToken( 0, ':', n ), 0, 23 ) )
- bSuccess = sal_False;
- if ( nTimeTokens >= 2 )
- if ( !convertNumber( nMin, aTimeStr.getToken( 0, ':', n ), 0, 59 ) )
- bSuccess = sal_False;
- if ( nTimeTokens >= 3 )
- if ( !convertNumber( nSec, aTimeStr.getToken( 0, ':', n ), 0, 59 ) )
- bSuccess = sal_False;
- }
- }
+ com::sun::star::util::DateTime aDateTime;
+ sal_Bool bSuccess = convertDateTime(aDateTime,rString);
if (bSuccess)
{
double fTempDateTime = 0.0;
- Date aTmpNullDate(aTempNullDate.Day, aTempNullDate.Month, aTempNullDate.Year);
- Date aTempDate((sal_uInt16)nDay, (sal_uInt16)nMonth, (sal_uInt16)nYear);
- sal_Int32 nTage = aTempDate - aTmpNullDate;
+ const Date aTmpNullDate(aTempNullDate.Day, aTempNullDate.Month, aTempNullDate.Year);
+ const Date aTempDate((sal_uInt16)aDateTime.Day, (sal_uInt16)aDateTime.Month, (sal_uInt16)aDateTime.Year);
+ const sal_Int32 nTage = aTempDate - aTmpNullDate;
fTempDateTime = nTage;
- double Hour = nHour;
- double Min = nMin;
- double Sec = nSec;
- double Sec100 = 0.0;
- double fFraction = sDoubleStr.toDouble();
+ double Hour = aDateTime.Hours;
+ double Min = aDateTime.Minutes;
+ double Sec = aDateTime.Seconds;
+ double Sec100 = aDateTime.HundredthSeconds;
fTempDateTime += Hour / 24;
fTempDateTime += Min / (24 * 60);
fTempDateTime += Sec / (24 * 60 * 60);
- fTempDateTime += Sec100 / (24 * 60 * 60 * 60);
- fTempDateTime += fFraction / (24 * 60 * 60);
+ fTempDateTime += Sec100 / (24 * 60 * 60 * 100);
fDateTime = fTempDateTime;
}
return bSuccess;
@@ -1510,36 +1399,43 @@ sal_Bool SvXMLTokenEnumerator::getNextToken( OUString& rToken )
}
// ---
-
-/** convert string to ::basegfx::B3DVector */
-sal_Bool SvXMLUnitConverter::convertB3DVector( ::basegfx::B3DVector& rVector, const OUString& rValue )
+bool lcl_getPositions(const OUString& _sValue,OUString& _rContentX,OUString& _rContentY,OUString& _rContentZ)
{
- if(!rValue.getLength() || rValue[0] != '(')
- return sal_False;
+ if(!_sValue.getLength() || _sValue[0] != '(')
+ return false;
sal_Int32 nPos(1L);
- sal_Int32 nFound = rValue.indexOf(sal_Unicode(' '), nPos);
+ sal_Int32 nFound = _sValue.indexOf(sal_Unicode(' '), nPos);
if(nFound == -1 || nFound <= nPos)
- return sal_False;
+ return false;
- OUString aContentX = rValue.copy(nPos, nFound - nPos);
+ _rContentX = _sValue.copy(nPos, nFound - nPos);
nPos = nFound + 1;
- nFound = rValue.indexOf(sal_Unicode(' '), nPos);
+ nFound = _sValue.indexOf(sal_Unicode(' '), nPos);
if(nFound == -1 || nFound <= nPos)
- return sal_False;
+ return false;
- OUString aContentY = rValue.copy(nPos, nFound - nPos);
+ _rContentY = _sValue.copy(nPos, nFound - nPos);
nPos = nFound + 1;
- nFound = rValue.indexOf(sal_Unicode(')'), nPos);
+ nFound = _sValue.indexOf(sal_Unicode(')'), nPos);
if(nFound == -1 || nFound <= nPos)
- return sal_False;
+ return false;
- OUString aContentZ = rValue.copy(nPos, nFound - nPos);
+ _rContentZ = _sValue.copy(nPos, nFound - nPos);
+ return true;
+
+}
+/** convert string to ::basegfx::B3DVector */
+sal_Bool SvXMLUnitConverter::convertB3DVector( ::basegfx::B3DVector& rVector, const OUString& rValue )
+{
+ OUString aContentX,aContentY,aContentZ;
+ if ( !lcl_getPositions(rValue,aContentX,aContentY,aContentZ) )
+ return sal_False;
rtl_math_ConversionStatus eStatus;
@@ -1578,33 +1474,10 @@ void SvXMLUnitConverter::convertB3DVector( OUStringBuffer &rBuffer, const ::base
sal_Bool SvXMLUnitConverter::convertPosition3D( drawing::Position3D& rPosition,
const OUString& rValue )
{
- if(!rValue.getLength() || rValue[0] != '(')
+ OUString aContentX,aContentY,aContentZ;
+ if ( !lcl_getPositions(rValue,aContentX,aContentY,aContentZ) )
return sal_False;
- sal_Int32 nPos(1L);
- sal_Int32 nFound = rValue.indexOf(sal_Unicode(' '), nPos);
-
- if(nFound == -1 || nFound <= nPos)
- return sal_False;
-
- OUString aContentX = rValue.copy(nPos, nFound - nPos);
-
- nPos = nFound + 1;
- nFound = rValue.indexOf(sal_Unicode(' '), nPos);
-
- if(nFound == -1 || nFound <= nPos)
- return sal_False;
-
- OUString aContentY = rValue.copy(nPos, nFound - nPos);
-
- nPos = nFound + 1;
- nFound = rValue.indexOf(sal_Unicode(')'), nPos);
-
- if(nFound == -1 || nFound <= nPos)
- return sal_False;
-
- OUString aContentZ = rValue.copy(nPos, nFound - nPos);
-
if ( !convertDouble( rPosition.PositionX, aContentX, sal_True ) )
return sal_False;
if ( !convertDouble( rPosition.PositionY, aContentY, sal_True ) )
@@ -1937,18 +1810,15 @@ void SvXMLUnitConverter::convertPropertySet(uno::Sequence<beans::PropertyValue>&
if (xPropertySetInfo.is())
{
uno::Sequence< beans::Property > aProps = xPropertySetInfo->getProperties();
- sal_Int32 nCount(aProps.getLength());
+ const sal_Int32 nCount(aProps.getLength());
if (nCount)
{
rProps.realloc(nCount);
beans::PropertyValue* pProps = rProps.getArray();
- if (pProps)
+ for (sal_Int32 i = 0; i < nCount; i++, ++pProps)
{
- for (sal_Int32 i = 0; i < nCount; i++, pProps++)
- {
- pProps->Name = aProps[i].Name;
- pProps->Value = aProperties->getPropertyValue(aProps[i].Name);
- }
+ pProps->Name = aProps[i].Name;
+ pProps->Value = aProperties->getPropertyValue(aProps[i].Name);
}
}
}
diff --git a/xmloff/source/draw/sdxmlimp.cxx b/xmloff/source/draw/sdxmlimp.cxx
index 463c7d9c97..538dd65384 100644
--- a/xmloff/source/draw/sdxmlimp.cxx
+++ b/xmloff/source/draw/sdxmlimp.cxx
@@ -71,109 +71,15 @@ using namespace ::xmloff::token;
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry aDocElemTokenMap[] =
-{
- { XML_NAMESPACE_OFFICE, XML_FONT_FACE_DECLS, XML_TOK_DOC_FONTDECLS },
- { XML_NAMESPACE_OFFICE, XML_STYLES, XML_TOK_DOC_STYLES },
- { XML_NAMESPACE_OFFICE, XML_AUTOMATIC_STYLES, XML_TOK_DOC_AUTOSTYLES },
- { XML_NAMESPACE_OFFICE, XML_MASTER_STYLES, XML_TOK_DOC_MASTERSTYLES },
- { XML_NAMESPACE_OFFICE, XML_META, XML_TOK_DOC_META },
- { XML_NAMESPACE_OFFICE, XML_SCRIPTS, XML_TOK_DOC_SCRIPT },
- { XML_NAMESPACE_OFFICE, XML_BODY, XML_TOK_DOC_BODY },
- { XML_NAMESPACE_OFFICE, XML_SETTINGS, XML_TOK_DOC_SETTINGS },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aBodyElemTokenMap[] =
-{
- { XML_NAMESPACE_DRAW, XML_PAGE, XML_TOK_BODY_PAGE },
- { XML_NAMESPACE_PRESENTATION, XML_SETTINGS, XML_TOK_BODY_SETTINGS },
- { XML_NAMESPACE_PRESENTATION, XML_HEADER_DECL, XML_TOK_BODY_HEADER_DECL },
- { XML_NAMESPACE_PRESENTATION, XML_FOOTER_DECL, XML_TOK_BODY_FOOTER_DECL },
- { XML_NAMESPACE_PRESENTATION, XML_DATE_TIME_DECL,XML_TOK_BODY_DATE_TIME_DECL },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aStylesElemTokenMap[] =
-{
- { XML_NAMESPACE_STYLE, XML_PAGE_LAYOUT, XML_TOK_STYLES_PAGE_MASTER },
- { XML_NAMESPACE_STYLE, XML_PRESENTATION_PAGE_LAYOUT, XML_TOK_STYLES_PRESENTATION_PAGE_LAYOUT },
- { XML_NAMESPACE_STYLE, XML_STYLE, XML_TOK_STYLES_STYLE },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aMasterPageElemTokenMap[] =
-{
- { XML_NAMESPACE_STYLE, XML_STYLE, XML_TOK_MASTERPAGE_STYLE },
- { XML_NAMESPACE_PRESENTATION, XML_NOTES, XML_TOK_MASTERPAGE_NOTES },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aMasterPageAttrTokenMap[] =
-{
- { XML_NAMESPACE_STYLE, XML_NAME, XML_TOK_MASTERPAGE_NAME },
- { XML_NAMESPACE_STYLE, XML_DISPLAY_NAME, XML_TOK_MASTERPAGE_DISPLAY_NAME },
- { XML_NAMESPACE_STYLE, XML_PAGE_LAYOUT_NAME, XML_TOK_MASTERPAGE_PAGE_MASTER_NAME },
- { XML_NAMESPACE_DRAW, XML_STYLE_NAME, XML_TOK_MASTERPAGE_STYLE_NAME },
- { XML_NAMESPACE_PRESENTATION, XML_PRESENTATION_PAGE_LAYOUT_NAME, XML_TOK_MASTERPAGE_PAGE_LAYOUT_NAME },
- { XML_NAMESPACE_PRESENTATION, XML_USE_HEADER_NAME, XML_TOK_MASTERPAGE_USE_HEADER_NAME },
- { XML_NAMESPACE_PRESENTATION, XML_USE_FOOTER_NAME, XML_TOK_MASTERPAGE_USE_FOOTER_NAME },
- { XML_NAMESPACE_PRESENTATION, XML_USE_DATE_TIME_NAME, XML_TOK_MASTERPAGE_USE_DATE_TIME_NAME },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aPageMasterAttrTokenMap[] =
-{
- { XML_NAMESPACE_STYLE, XML_NAME, XML_TOK_PAGEMASTER_NAME },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aPageMasterStyleAttrTokenMap[] =
-{
- { XML_NAMESPACE_FO, XML_MARGIN_TOP, XML_TOK_PAGEMASTERSTYLE_MARGIN_TOP },
- { XML_NAMESPACE_FO, XML_MARGIN_BOTTOM, XML_TOK_PAGEMASTERSTYLE_MARGIN_BOTTOM },
- { XML_NAMESPACE_FO, XML_MARGIN_LEFT, XML_TOK_PAGEMASTERSTYLE_MARGIN_LEFT },
- { XML_NAMESPACE_FO, XML_MARGIN_RIGHT, XML_TOK_PAGEMASTERSTYLE_MARGIN_RIGHT },
- { XML_NAMESPACE_FO, XML_PAGE_WIDTH, XML_TOK_PAGEMASTERSTYLE_PAGE_WIDTH },
- { XML_NAMESPACE_FO, XML_PAGE_HEIGHT, XML_TOK_PAGEMASTERSTYLE_PAGE_HEIGHT },
- { XML_NAMESPACE_STYLE, XML_PRINT_ORIENTATION, XML_TOK_PAGEMASTERSTYLE_PAGE_ORIENTATION },
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aDrawPageAttrTokenMap[] =
-{
- { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_DRAWPAGE_NAME },
- { XML_NAMESPACE_DRAW, XML_STYLE_NAME, XML_TOK_DRAWPAGE_STYLE_NAME },
- { XML_NAMESPACE_DRAW, XML_MASTER_PAGE_NAME, XML_TOK_DRAWPAGE_MASTER_PAGE_NAME },
- { XML_NAMESPACE_PRESENTATION, XML_PRESENTATION_PAGE_LAYOUT_NAME, XML_TOK_DRAWPAGE_PAGE_LAYOUT_NAME },
- { XML_NAMESPACE_DRAW, XML_ID, XML_TOK_DRAWPAGE_ID },
- { XML_NAMESPACE_XML, XML_ID, XML_TOK_DRAWPAGE_ID },
- { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_DRAWPAGE_HREF },
- { XML_NAMESPACE_PRESENTATION, XML_USE_HEADER_NAME, XML_TOK_DRAWPAGE_USE_HEADER_NAME },
- { XML_NAMESPACE_PRESENTATION, XML_USE_FOOTER_NAME, XML_TOK_DRAWPAGE_USE_FOOTER_NAME },
- { XML_NAMESPACE_PRESENTATION, XML_USE_DATE_TIME_NAME, XML_TOK_DRAWPAGE_USE_DATE_TIME_NAME },
-
- XML_TOKEN_MAP_END
-};
-static __FAR_DATA SvXMLTokenMapEntry aDrawPageElemTokenMap[] =
-{
- { XML_NAMESPACE_PRESENTATION, XML_NOTES, XML_TOK_DRAWPAGE_NOTES },
- { XML_NAMESPACE_ANIMATION, XML_PAR, XML_TOK_DRAWPAGE_PAR },
- { XML_NAMESPACE_ANIMATION, XML_SEQ, XML_TOK_DRAWPAGE_SEQ },
- XML_TOKEN_MAP_END
-};
-
-static __FAR_DATA SvXMLTokenMapEntry aPresentationPlaceholderAttrTokenMap[] =
-{
- { XML_NAMESPACE_PRESENTATION, XML_OBJECT, XML_TOK_PRESENTATIONPLACEHOLDER_OBJECTNAME },
- { XML_NAMESPACE_SVG, XML_X, XML_TOK_PRESENTATIONPLACEHOLDER_X },
- { XML_NAMESPACE_SVG, XML_Y, XML_TOK_PRESENTATIONPLACEHOLDER_Y },
- { XML_NAMESPACE_SVG, XML_WIDTH, XML_TOK_PRESENTATIONPLACEHOLDER_WIDTH },
- { XML_NAMESPACE_SVG, XML_HEIGHT, XML_TOK_PRESENTATIONPLACEHOLDER_HEIGHT },
- XML_TOKEN_MAP_END
-};
//////////////////////////////////////////////////////////////////////////////
@@ -601,7 +507,23 @@ void SdXMLImport::SetProgress(sal_Int32 nProg)
const SvXMLTokenMap& SdXMLImport::GetDocElemTokenMap()
{
if(!mpDocElemTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aDocElemTokenMap[] =
+{
+ { XML_NAMESPACE_OFFICE, XML_FONT_FACE_DECLS, XML_TOK_DOC_FONTDECLS },
+ { XML_NAMESPACE_OFFICE, XML_STYLES, XML_TOK_DOC_STYLES },
+ { XML_NAMESPACE_OFFICE, XML_AUTOMATIC_STYLES, XML_TOK_DOC_AUTOSTYLES },
+ { XML_NAMESPACE_OFFICE, XML_MASTER_STYLES, XML_TOK_DOC_MASTERSTYLES },
+ { XML_NAMESPACE_OFFICE, XML_META, XML_TOK_DOC_META },
+ { XML_NAMESPACE_OFFICE, XML_SCRIPTS, XML_TOK_DOC_SCRIPT },
+ { XML_NAMESPACE_OFFICE, XML_BODY, XML_TOK_DOC_BODY },
+ { XML_NAMESPACE_OFFICE, XML_SETTINGS, XML_TOK_DOC_SETTINGS },
+ XML_TOKEN_MAP_END
+};
+
mpDocElemTokenMap = new SvXMLTokenMap(aDocElemTokenMap);
+ } // if(!mpDocElemTokenMap)
+
return *mpDocElemTokenMap;
}
@@ -610,7 +532,21 @@ const SvXMLTokenMap& SdXMLImport::GetDocElemTokenMap()
const SvXMLTokenMap& SdXMLImport::GetBodyElemTokenMap()
{
if(!mpBodyElemTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aBodyElemTokenMap[] =
+{
+ { XML_NAMESPACE_DRAW, XML_PAGE, XML_TOK_BODY_PAGE },
+ { XML_NAMESPACE_PRESENTATION, XML_SETTINGS, XML_TOK_BODY_SETTINGS },
+ { XML_NAMESPACE_PRESENTATION, XML_HEADER_DECL, XML_TOK_BODY_HEADER_DECL },
+ { XML_NAMESPACE_PRESENTATION, XML_FOOTER_DECL, XML_TOK_BODY_FOOTER_DECL },
+ { XML_NAMESPACE_PRESENTATION, XML_DATE_TIME_DECL,XML_TOK_BODY_DATE_TIME_DECL },
+
+ XML_TOKEN_MAP_END
+};
+
mpBodyElemTokenMap = new SvXMLTokenMap(aBodyElemTokenMap);
+ } // if(!mpBodyElemTokenMap)
+
return *mpBodyElemTokenMap;
}
@@ -619,7 +555,18 @@ const SvXMLTokenMap& SdXMLImport::GetBodyElemTokenMap()
const SvXMLTokenMap& SdXMLImport::GetStylesElemTokenMap()
{
if(!mpStylesElemTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aStylesElemTokenMap[] =
+{
+ { XML_NAMESPACE_STYLE, XML_PAGE_LAYOUT, XML_TOK_STYLES_PAGE_MASTER },
+ { XML_NAMESPACE_STYLE, XML_PRESENTATION_PAGE_LAYOUT, XML_TOK_STYLES_PRESENTATION_PAGE_LAYOUT },
+ { XML_NAMESPACE_STYLE, XML_STYLE, XML_TOK_STYLES_STYLE },
+ XML_TOKEN_MAP_END
+};
+
mpStylesElemTokenMap = new SvXMLTokenMap(aStylesElemTokenMap);
+ } // if(!mpStylesElemTokenMap)
+
return *mpStylesElemTokenMap;
}
@@ -628,7 +575,17 @@ const SvXMLTokenMap& SdXMLImport::GetStylesElemTokenMap()
const SvXMLTokenMap& SdXMLImport::GetMasterPageElemTokenMap()
{
if(!mpMasterPageElemTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aMasterPageElemTokenMap[] =
+{
+ { XML_NAMESPACE_STYLE, XML_STYLE, XML_TOK_MASTERPAGE_STYLE },
+ { XML_NAMESPACE_PRESENTATION, XML_NOTES, XML_TOK_MASTERPAGE_NOTES },
+ XML_TOKEN_MAP_END
+};
+
mpMasterPageElemTokenMap = new SvXMLTokenMap(aMasterPageElemTokenMap);
+ } // if(!mpMasterPageElemTokenMap)
+
return *mpMasterPageElemTokenMap;
}
@@ -637,7 +594,23 @@ const SvXMLTokenMap& SdXMLImport::GetMasterPageElemTokenMap()
const SvXMLTokenMap& SdXMLImport::GetMasterPageAttrTokenMap()
{
if(!mpMasterPageAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aMasterPageAttrTokenMap[] =
+{
+ { XML_NAMESPACE_STYLE, XML_NAME, XML_TOK_MASTERPAGE_NAME },
+ { XML_NAMESPACE_STYLE, XML_DISPLAY_NAME, XML_TOK_MASTERPAGE_DISPLAY_NAME },
+ { XML_NAMESPACE_STYLE, XML_PAGE_LAYOUT_NAME, XML_TOK_MASTERPAGE_PAGE_MASTER_NAME },
+ { XML_NAMESPACE_DRAW, XML_STYLE_NAME, XML_TOK_MASTERPAGE_STYLE_NAME },
+ { XML_NAMESPACE_PRESENTATION, XML_PRESENTATION_PAGE_LAYOUT_NAME, XML_TOK_MASTERPAGE_PAGE_LAYOUT_NAME },
+ { XML_NAMESPACE_PRESENTATION, XML_USE_HEADER_NAME, XML_TOK_MASTERPAGE_USE_HEADER_NAME },
+ { XML_NAMESPACE_PRESENTATION, XML_USE_FOOTER_NAME, XML_TOK_MASTERPAGE_USE_FOOTER_NAME },
+ { XML_NAMESPACE_PRESENTATION, XML_USE_DATE_TIME_NAME, XML_TOK_MASTERPAGE_USE_DATE_TIME_NAME },
+ XML_TOKEN_MAP_END
+};
+
mpMasterPageAttrTokenMap = new SvXMLTokenMap(aMasterPageAttrTokenMap);
+ } // if(!mpMasterPageAttrTokenMap)
+
return *mpMasterPageAttrTokenMap;
}
@@ -646,7 +619,16 @@ const SvXMLTokenMap& SdXMLImport::GetMasterPageAttrTokenMap()
const SvXMLTokenMap& SdXMLImport::GetPageMasterAttrTokenMap()
{
if(!mpPageMasterAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aPageMasterAttrTokenMap[] =
+{
+ { XML_NAMESPACE_STYLE, XML_NAME, XML_TOK_PAGEMASTER_NAME },
+ XML_TOKEN_MAP_END
+};
+
mpPageMasterAttrTokenMap = new SvXMLTokenMap(aPageMasterAttrTokenMap);
+ } // if(!mpPageMasterAttrTokenMap)
+
return *mpPageMasterAttrTokenMap;
}
@@ -655,7 +637,22 @@ const SvXMLTokenMap& SdXMLImport::GetPageMasterAttrTokenMap()
const SvXMLTokenMap& SdXMLImport::GetPageMasterStyleAttrTokenMap()
{
if(!mpPageMasterStyleAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aPageMasterStyleAttrTokenMap[] =
+{
+ { XML_NAMESPACE_FO, XML_MARGIN_TOP, XML_TOK_PAGEMASTERSTYLE_MARGIN_TOP },
+ { XML_NAMESPACE_FO, XML_MARGIN_BOTTOM, XML_TOK_PAGEMASTERSTYLE_MARGIN_BOTTOM },
+ { XML_NAMESPACE_FO, XML_MARGIN_LEFT, XML_TOK_PAGEMASTERSTYLE_MARGIN_LEFT },
+ { XML_NAMESPACE_FO, XML_MARGIN_RIGHT, XML_TOK_PAGEMASTERSTYLE_MARGIN_RIGHT },
+ { XML_NAMESPACE_FO, XML_PAGE_WIDTH, XML_TOK_PAGEMASTERSTYLE_PAGE_WIDTH },
+ { XML_NAMESPACE_FO, XML_PAGE_HEIGHT, XML_TOK_PAGEMASTERSTYLE_PAGE_HEIGHT },
+ { XML_NAMESPACE_STYLE, XML_PRINT_ORIENTATION, XML_TOK_PAGEMASTERSTYLE_PAGE_ORIENTATION },
+ XML_TOKEN_MAP_END
+};
+
mpPageMasterStyleAttrTokenMap = new SvXMLTokenMap(aPageMasterStyleAttrTokenMap);
+ } // if(!mpPageMasterStyleAttrTokenMap)
+
return *mpPageMasterStyleAttrTokenMap;
}
@@ -664,7 +661,26 @@ const SvXMLTokenMap& SdXMLImport::GetPageMasterStyleAttrTokenMap()
const SvXMLTokenMap& SdXMLImport::GetDrawPageAttrTokenMap()
{
if(!mpDrawPageAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aDrawPageAttrTokenMap[] =
+{
+ { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_DRAWPAGE_NAME },
+ { XML_NAMESPACE_DRAW, XML_STYLE_NAME, XML_TOK_DRAWPAGE_STYLE_NAME },
+ { XML_NAMESPACE_DRAW, XML_MASTER_PAGE_NAME, XML_TOK_DRAWPAGE_MASTER_PAGE_NAME },
+ { XML_NAMESPACE_PRESENTATION, XML_PRESENTATION_PAGE_LAYOUT_NAME, XML_TOK_DRAWPAGE_PAGE_LAYOUT_NAME },
+ { XML_NAMESPACE_DRAW, XML_ID, XML_TOK_DRAWPAGE_ID },
+ { XML_NAMESPACE_XML, XML_ID, XML_TOK_DRAWPAGE_ID },
+ { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_DRAWPAGE_HREF },
+ { XML_NAMESPACE_PRESENTATION, XML_USE_HEADER_NAME, XML_TOK_DRAWPAGE_USE_HEADER_NAME },
+ { XML_NAMESPACE_PRESENTATION, XML_USE_FOOTER_NAME, XML_TOK_DRAWPAGE_USE_FOOTER_NAME },
+ { XML_NAMESPACE_PRESENTATION, XML_USE_DATE_TIME_NAME, XML_TOK_DRAWPAGE_USE_DATE_TIME_NAME },
+
+ XML_TOKEN_MAP_END
+};
+
mpDrawPageAttrTokenMap = new SvXMLTokenMap(aDrawPageAttrTokenMap);
+ } // if(!mpDrawPageAttrTokenMap)
+
return *mpDrawPageAttrTokenMap;
}
@@ -673,7 +689,18 @@ const SvXMLTokenMap& SdXMLImport::GetDrawPageAttrTokenMap()
const SvXMLTokenMap& SdXMLImport::GetDrawPageElemTokenMap()
{
if(!mpDrawPageElemTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aDrawPageElemTokenMap[] =
+{
+ { XML_NAMESPACE_PRESENTATION, XML_NOTES, XML_TOK_DRAWPAGE_NOTES },
+ { XML_NAMESPACE_ANIMATION, XML_PAR, XML_TOK_DRAWPAGE_PAR },
+ { XML_NAMESPACE_ANIMATION, XML_SEQ, XML_TOK_DRAWPAGE_SEQ },
+ XML_TOKEN_MAP_END
+};
+
mpDrawPageElemTokenMap = new SvXMLTokenMap(aDrawPageElemTokenMap);
+ } // if(!mpDrawPageElemTokenMap)
+
return *mpDrawPageElemTokenMap;
}
@@ -682,7 +709,20 @@ const SvXMLTokenMap& SdXMLImport::GetDrawPageElemTokenMap()
const SvXMLTokenMap& SdXMLImport::GetPresentationPlaceholderAttrTokenMap()
{
if(!mpPresentationPlaceholderAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aPresentationPlaceholderAttrTokenMap[] =
+{
+ { XML_NAMESPACE_PRESENTATION, XML_OBJECT, XML_TOK_PRESENTATIONPLACEHOLDER_OBJECTNAME },
+ { XML_NAMESPACE_SVG, XML_X, XML_TOK_PRESENTATIONPLACEHOLDER_X },
+ { XML_NAMESPACE_SVG, XML_Y, XML_TOK_PRESENTATIONPLACEHOLDER_Y },
+ { XML_NAMESPACE_SVG, XML_WIDTH, XML_TOK_PRESENTATIONPLACEHOLDER_WIDTH },
+ { XML_NAMESPACE_SVG, XML_HEIGHT, XML_TOK_PRESENTATIONPLACEHOLDER_HEIGHT },
+ XML_TOKEN_MAP_END
+};
+
mpPresentationPlaceholderAttrTokenMap = new SvXMLTokenMap(aPresentationPlaceholderAttrTokenMap);
+ } // if(!mpPresentationPlaceholderAttrTokenMap)
+
return *mpPresentationPlaceholderAttrTokenMap;
}
diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
index b4e3787a77..e30a96065b 100644
--- a/xmloff/source/draw/shapeimport.cxx
+++ b/xmloff/source/draw/shapeimport.cxx
@@ -273,7 +273,13 @@ XMLShapeImportHelper::~XMLShapeImportHelper()
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry aGroupShapeElemTokenMap[] =
+
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetGroupShapeElemTokenMap()
+{
+ if(!mpGroupShapeElemTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aGroupShapeElemTokenMap[] =
{
{ XML_NAMESPACE_DRAW, XML_G, XML_TOK_GROUP_GROUP },
{ XML_NAMESPACE_DRAW, XML_RECT, XML_TOK_GROUP_RECT },
@@ -303,7 +309,17 @@ static __FAR_DATA SvXMLTokenMapEntry aGroupShapeElemTokenMap[] =
XML_TOKEN_MAP_END
};
-static __FAR_DATA SvXMLTokenMapEntry aFrameShapeElemTokenMap[] =
+ mpGroupShapeElemTokenMap = new SvXMLTokenMap(aGroupShapeElemTokenMap);
+ } // if(!mpGroupShapeElemTokenMap)
+
+ return *mpGroupShapeElemTokenMap;
+}
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetFrameShapeElemTokenMap()
+{
+ if(!mpFrameShapeElemTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aFrameShapeElemTokenMap[] =
{
{ XML_NAMESPACE_DRAW, XML_TEXT_BOX, XML_TOK_FRAME_TEXT_BOX },
{ XML_NAMESPACE_DRAW, XML_IMAGE, XML_TOK_FRAME_IMAGE },
@@ -316,23 +332,20 @@ static __FAR_DATA SvXMLTokenMapEntry aFrameShapeElemTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetGroupShapeElemTokenMap()
-{
- if(!mpGroupShapeElemTokenMap)
- mpGroupShapeElemTokenMap = new SvXMLTokenMap(aGroupShapeElemTokenMap);
- return *mpGroupShapeElemTokenMap;
-}
-
-const SvXMLTokenMap& XMLShapeImportHelper::GetFrameShapeElemTokenMap()
-{
- if(!mpFrameShapeElemTokenMap)
mpFrameShapeElemTokenMap = new SvXMLTokenMap(aFrameShapeElemTokenMap);
+ } // if(!mpFrameShapeElemTokenMap)
+
return *mpFrameShapeElemTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry a3DSceneShapeElemTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::Get3DSceneShapeElemTokenMap()
+{
+ if(!mp3DSceneShapeElemTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry a3DSceneShapeElemTokenMap[] =
{
{ XML_NAMESPACE_DR3D, XML_SCENE, XML_TOK_3DSCENE_3DSCENE },
{ XML_NAMESPACE_DR3D, XML_CUBE, XML_TOK_3DSCENE_3DCUBE },
@@ -342,16 +355,20 @@ static __FAR_DATA SvXMLTokenMapEntry a3DSceneShapeElemTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::Get3DSceneShapeElemTokenMap()
-{
- if(!mp3DSceneShapeElemTokenMap)
mp3DSceneShapeElemTokenMap = new SvXMLTokenMap(a3DSceneShapeElemTokenMap);
+ } // if(!mp3DSceneShapeElemTokenMap)
+
return *mp3DSceneShapeElemTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
/*
-static __FAR_DATA SvXMLTokenMapEntry aShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetShapeAttrTokenMap()
+{
+ if(!mpShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_SHAPE_NAME },
{ XML_NAMESPACE_DRAW, XML_STYLE_NAME, XML_TOK_SHAPE_DRAWSTYLE_NAME_GRAPHICS },
@@ -363,80 +380,100 @@ static __FAR_DATA SvXMLTokenMapEntry aShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetShapeAttrTokenMap()
-{
- if(!mpShapeAttrTokenMap)
mpShapeAttrTokenMap = new SvXMLTokenMap(aShapeAttrTokenMap);
+ }
+
return *mpShapeAttrTokenMap;
}
*/
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry a3DObjectAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::Get3DObjectAttrTokenMap()
+{
+ if(!mp3DObjectAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry a3DObjectAttrTokenMap[] =
{
{ XML_NAMESPACE_DRAW, XML_STYLE_NAME, XML_TOK_3DOBJECT_DRAWSTYLE_NAME },
{ XML_NAMESPACE_DR3D, XML_TRANSFORM, XML_TOK_3DOBJECT_TRANSFORM },
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::Get3DObjectAttrTokenMap()
-{
- if(!mp3DObjectAttrTokenMap)
mp3DObjectAttrTokenMap = new SvXMLTokenMap(a3DObjectAttrTokenMap);
+ } // if(!mp3DObjectAttrTokenMap)
+
return *mp3DObjectAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry a3DPolygonBasedAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::Get3DPolygonBasedAttrTokenMap()
+{
+ if(!mp3DPolygonBasedAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry a3DPolygonBasedAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_VIEWBOX, XML_TOK_3DPOLYGONBASED_VIEWBOX },
{ XML_NAMESPACE_SVG, XML_D, XML_TOK_3DPOLYGONBASED_D },
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::Get3DPolygonBasedAttrTokenMap()
-{
- if(!mp3DPolygonBasedAttrTokenMap)
mp3DPolygonBasedAttrTokenMap = new SvXMLTokenMap(a3DPolygonBasedAttrTokenMap);
+ } // if(!mp3DPolygonBasedAttrTokenMap)
+
return *mp3DPolygonBasedAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry a3DCubeObjectAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::Get3DCubeObjectAttrTokenMap()
+{
+ if(!mp3DCubeObjectAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry a3DCubeObjectAttrTokenMap[] =
{
{ XML_NAMESPACE_DR3D, XML_MIN_EDGE, XML_TOK_3DCUBEOBJ_MINEDGE },
{ XML_NAMESPACE_DR3D, XML_MAX_EDGE, XML_TOK_3DCUBEOBJ_MAXEDGE },
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::Get3DCubeObjectAttrTokenMap()
-{
- if(!mp3DCubeObjectAttrTokenMap)
mp3DCubeObjectAttrTokenMap = new SvXMLTokenMap(a3DCubeObjectAttrTokenMap);
+ } // if(!mp3DCubeObjectAttrTokenMap)
+
return *mp3DCubeObjectAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry a3DSphereObjectAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::Get3DSphereObjectAttrTokenMap()
+{
+ if(!mp3DSphereObjectAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry a3DSphereObjectAttrTokenMap[] =
{
{ XML_NAMESPACE_DR3D, XML_CENTER, XML_TOK_3DSPHEREOBJ_CENTER },
{ XML_NAMESPACE_DR3D, XML_SIZE, XML_TOK_3DSPHEREOBJ_SIZE },
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::Get3DSphereObjectAttrTokenMap()
-{
- if(!mp3DSphereObjectAttrTokenMap)
mp3DSphereObjectAttrTokenMap = new SvXMLTokenMap(a3DSphereObjectAttrTokenMap);
+ } // if(!mp3DSphereObjectAttrTokenMap)
+
return *mp3DSphereObjectAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
/*
-static __FAR_DATA SvXMLTokenMapEntry aRectShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetRectShapeAttrTokenMap()
+{
+ if(!mpRectShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aRectShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_X, XML_TOK_RECTSHAPE_X },
{ XML_NAMESPACE_SVG, XML_Y, XML_TOK_RECTSHAPE_Y },
@@ -446,16 +483,20 @@ static __FAR_DATA SvXMLTokenMapEntry aRectShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetRectShapeAttrTokenMap()
-{
- if(!mpRectShapeAttrTokenMap)
mpRectShapeAttrTokenMap = new SvXMLTokenMap(aRectShapeAttrTokenMap);
+ }
+
return *mpRectShapeAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry aLineShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetLineShapeAttrTokenMap()
+{
+ if(!mpLineShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aLineShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_X1, XML_TOK_LINESHAPE_X1 },
{ XML_NAMESPACE_SVG, XML_Y1, XML_TOK_LINESHAPE_Y1 },
@@ -464,16 +505,20 @@ static __FAR_DATA SvXMLTokenMapEntry aLineShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetLineShapeAttrTokenMap()
-{
- if(!mpLineShapeAttrTokenMap)
mpLineShapeAttrTokenMap = new SvXMLTokenMap(aLineShapeAttrTokenMap);
+ }
+
return *mpLineShapeAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry aEllipseShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetEllipseShapeAttrTokenMap()
+{
+ if(!mpEllipseShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aEllipseShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_RX, XML_TOK_ELLIPSESHAPE_RX },
{ XML_NAMESPACE_SVG, XML_RY, XML_TOK_ELLIPSESHAPE_RY },
@@ -483,48 +528,60 @@ static __FAR_DATA SvXMLTokenMapEntry aEllipseShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetEllipseShapeAttrTokenMap()
-{
- if(!mpEllipseShapeAttrTokenMap)
mpEllipseShapeAttrTokenMap = new SvXMLTokenMap(aEllipseShapeAttrTokenMap);
+ }
+
return *mpEllipseShapeAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
*/
-static __FAR_DATA SvXMLTokenMapEntry aPolygonShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetPolygonShapeAttrTokenMap()
+{
+ if(!mpPolygonShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aPolygonShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_VIEWBOX, XML_TOK_POLYGONSHAPE_VIEWBOX },
{ XML_NAMESPACE_DRAW, XML_POINTS, XML_TOK_POLYGONSHAPE_POINTS },
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetPolygonShapeAttrTokenMap()
-{
- if(!mpPolygonShapeAttrTokenMap)
mpPolygonShapeAttrTokenMap = new SvXMLTokenMap(aPolygonShapeAttrTokenMap);
+ } // if(!mpPolygonShapeAttrTokenMap)
+
return *mpPolygonShapeAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry aPathShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetPathShapeAttrTokenMap()
+{
+ if(!mpPathShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aPathShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_VIEWBOX, XML_TOK_PATHSHAPE_VIEWBOX },
{ XML_NAMESPACE_SVG, XML_D, XML_TOK_PATHSHAPE_D },
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetPathShapeAttrTokenMap()
-{
- if(!mpPathShapeAttrTokenMap)
mpPathShapeAttrTokenMap = new SvXMLTokenMap(aPathShapeAttrTokenMap);
+ } // if(!mpPathShapeAttrTokenMap)
+
return *mpPathShapeAttrTokenMap;
}
/*
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry aTextBoxShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetTextBoxShapeAttrTokenMap()
+{
+ if(!mpTextBoxShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aTextBoxShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_X, XML_TOK_TEXTBOXSHAPE_X },
{ XML_NAMESPACE_SVG, XML_Y, XML_TOK_TEXTBOXSHAPE_Y },
@@ -533,16 +590,20 @@ static __FAR_DATA SvXMLTokenMapEntry aTextBoxShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetTextBoxShapeAttrTokenMap()
-{
- if(!mpTextBoxShapeAttrTokenMap)
mpTextBoxShapeAttrTokenMap = new SvXMLTokenMap(aTextBoxShapeAttrTokenMap);
+ }
+
return *mpTextBoxShapeAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry aControlShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetControlShapeAttrTokenMap()
+{
+ if(!mpControlShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aControlShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_X, XML_TOK_CONTROLSHAPE_X },
{ XML_NAMESPACE_SVG, XML_Y, XML_TOK_CONTROLSHAPE_Y },
@@ -551,16 +612,20 @@ static __FAR_DATA SvXMLTokenMapEntry aControlShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetControlShapeAttrTokenMap()
-{
- if(!mpControlShapeAttrTokenMap)
mpControlShapeAttrTokenMap = new SvXMLTokenMap(aControlShapeAttrTokenMap);
+ }
+
return *mpControlShapeAttrTokenMap;
}
*/
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry a3DSceneShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::Get3DSceneShapeAttrTokenMap()
+{
+ if(!mp3DSceneShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry a3DSceneShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_DR3D, XML_TRANSFORM, XML_TOK_3DSCENESHAPE_TRANSFORM },
{ XML_NAMESPACE_DR3D, XML_VRP, XML_TOK_3DSCENESHAPE_VRP },
@@ -576,16 +641,20 @@ static __FAR_DATA SvXMLTokenMapEntry a3DSceneShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::Get3DSceneShapeAttrTokenMap()
-{
- if(!mp3DSceneShapeAttrTokenMap)
mp3DSceneShapeAttrTokenMap = new SvXMLTokenMap(a3DSceneShapeAttrTokenMap);
+ } // if(!mp3DSceneShapeAttrTokenMap)
+
return *mp3DSceneShapeAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry a3DLightAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::Get3DLightAttrTokenMap()
+{
+ if(!mp3DLightAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry a3DLightAttrTokenMap[] =
{
{ XML_NAMESPACE_DR3D, XML_DIFFUSE_COLOR, XML_TOK_3DLIGHT_DIFFUSE_COLOR },
{ XML_NAMESPACE_DR3D, XML_DIRECTION, XML_TOK_3DLIGHT_DIRECTION },
@@ -594,16 +663,20 @@ static __FAR_DATA SvXMLTokenMapEntry a3DLightAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::Get3DLightAttrTokenMap()
-{
- if(!mp3DLightAttrTokenMap)
mp3DLightAttrTokenMap = new SvXMLTokenMap(a3DLightAttrTokenMap);
+ } // if(!mp3DLightAttrTokenMap)
+
return *mp3DLightAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
/*
-static __FAR_DATA SvXMLTokenMapEntry aPageShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetPageShapeAttrTokenMap()
+{
+ if(!mpPageShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aPageShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_X, XML_TOK_PAGESHAPE_X },
{ XML_NAMESPACE_SVG, XML_Y, XML_TOK_PAGESHAPE_Y },
@@ -612,16 +685,20 @@ static __FAR_DATA SvXMLTokenMapEntry aPageShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetPageShapeAttrTokenMap()
-{
- if(!mpPageShapeAttrTokenMap)
mpPageShapeAttrTokenMap = new SvXMLTokenMap(aPageShapeAttrTokenMap);
+ }
+
return *mpPageShapeAttrTokenMap;
}
//////////////////////////////////////////////////////////////////////////////
-static __FAR_DATA SvXMLTokenMapEntry aGraphicObjectShapeAttrTokenMap[] =
+
+const SvXMLTokenMap& XMLShapeImportHelper::GetGraphicObjectShapeAttrTokenMap()
+{
+ if(!mpGraphicObjectShapeAttrTokenMap)
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aGraphicObjectShapeAttrTokenMap[] =
{
{ XML_NAMESPACE_SVG, XML_X, XML_TOK_GOSHAPE_X },
{ XML_NAMESPACE_SVG, XML_Y, XML_TOK_GOSHAPE_Y },
@@ -631,10 +708,9 @@ static __FAR_DATA SvXMLTokenMapEntry aGraphicObjectShapeAttrTokenMap[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMap& XMLShapeImportHelper::GetGraphicObjectShapeAttrTokenMap()
-{
- if(!mpGraphicObjectShapeAttrTokenMap)
mpGraphicObjectShapeAttrTokenMap = new SvXMLTokenMap(aGraphicObjectShapeAttrTokenMap);
+ }
+
return *mpGraphicObjectShapeAttrTokenMap;
}
*/
diff --git a/xmloff/source/draw/xexptran.cxx b/xmloff/source/draw/xexptran.cxx
index aaa98311d6..67fb651b5b 100644
--- a/xmloff/source/draw/xexptran.cxx
+++ b/xmloff/source/draw/xexptran.cxx
@@ -324,7 +324,8 @@ struct ImpSdXMLExpTransObj2DMatrix : public ImpSdXMLExpTransObj2DBase
void SdXMLImExTransform2D::EmptyList()
{
- for(sal_uInt32 a(0L); a < maList.size(); a++)
+ const sal_uInt32 nCount = maList.size();
+ for(sal_uInt32 a(0L); a < nCount; a++)
{
ImpSdXMLExpTransObj2DBase* pObj = maList[a];
@@ -418,7 +419,8 @@ const OUString& SdXMLImExTransform2D::GetExportString(const SvXMLUnitConverter&
OUString aClosingBrace(sal_Unicode(')'));
OUString aEmptySpace(sal_Unicode(' '));
- for(sal_uInt32 a(0UL); a < maList.size(); a++)
+ const sal_uInt32 nCount = maList.size();
+ for(sal_uInt32 a(0L); a < nCount; a++)
{
ImpSdXMLExpTransObj2DBase* pObj = maList[a];
switch(pObj->mnType)
@@ -658,7 +660,8 @@ void SdXMLImExTransform2D::GetFullTransform(::basegfx::B2DHomMatrix& rFullTrans)
{
rFullTrans.identity();
- for(sal_uInt32 a(0L); a < maList.size(); a++)
+ const sal_uInt32 nCount = maList.size();
+ for(sal_uInt32 a(0L); a < nCount; a++)
{
ImpSdXMLExpTransObj2DBase* pObj = maList[a];
switch(pObj->mnType)
@@ -777,7 +780,8 @@ struct ImpSdXMLExpTransObj3DMatrix : public ImpSdXMLExpTransObj3DBase
void SdXMLImExTransform3D::EmptyList()
{
- for(sal_uInt32 a(0L); a< maList.size(); a++)
+ const sal_uInt32 nCount = maList.size();
+ for(sal_uInt32 a(0L); a < nCount; a++)
{
ImpSdXMLExpTransObj3DBase* pObj = maList[a];
@@ -891,7 +895,8 @@ const OUString& SdXMLImExTransform3D::GetExportString(const SvXMLUnitConverter&
OUString aClosingBrace(sal_Unicode(')'));
OUString aEmptySpace(sal_Unicode(' '));
- for(sal_uInt32 a(0UL); a < maList.size(); a++)
+ const sal_uInt32 nCount = maList.size();
+ for(sal_uInt32 a(0L); a < nCount; a++)
{
ImpSdXMLExpTransObj3DBase* pObj = maList[a];
switch(pObj->mnType)
@@ -1225,7 +1230,8 @@ void SdXMLImExTransform3D::GetFullTransform(::basegfx::B3DHomMatrix& rFullTrans)
{
rFullTrans.identity();
- for(sal_uInt32 a(0L); a < maList.size(); a++)
+ const sal_uInt32 nCount = maList.size();
+ for(sal_uInt32 a(0L); a < nCount; a++)
{
ImpSdXMLExpTransObj3DBase* pObj = maList[a];
switch(pObj->mnType)
diff --git a/xmloff/source/draw/ximpcustomshape.cxx b/xmloff/source/draw/ximpcustomshape.cxx
index 0a91d6c493..d491b1bab6 100644
--- a/xmloff/source/draw/ximpcustomshape.cxx
+++ b/xmloff/source/draw/ximpcustomshape.cxx
@@ -454,7 +454,7 @@ void GetDoubleSequence( std::vector< com::sun::star::beans::PropertyValue >& rDe
}
while ( nIndex >= 0 );
- if ( vDirection.size() )
+ if ( !vDirection.empty() )
{
uno::Sequence< double > aDirectionsSeq( vDirection.size() );
std::vector< double >::const_iterator aIter = vDirection.begin();
@@ -512,7 +512,7 @@ sal_Int32 GetEnhancedParameterPairSequence( std::vector< com::sun::star::beans::
{
vParameter.push_back( aParameter );
}
- if ( vParameter.size() )
+ if ( !vParameter.empty() )
{
uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair > aParameterSeq( vParameter.size() );
std::vector< com::sun::star::drawing::EnhancedCustomShapeParameterPair >::const_iterator aIter = vParameter.begin();
@@ -545,7 +545,7 @@ void GetEnhancedRectangleSequence( std::vector< com::sun::star::beans::PropertyV
{
vTextFrame.push_back( aParameter );
}
- if ( vTextFrame.size() )
+ if ( !vTextFrame.empty() )
{
uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeTextFrame > aTextFrameSeq( vTextFrame.size() );
std::vector< com::sun::star::drawing::EnhancedCustomShapeTextFrame >::const_iterator aIter = vTextFrame.begin();
@@ -739,7 +739,7 @@ void GetEnhancedPath( std::vector< com::sun::star::beans::PropertyValue >& rDest
{
// check if the last command is identical,
// if so, we just need to increment the count
- if ( vSegments.size() && ( vSegments[ vSegments.size() - 1 ].Command == nLatestSegmentCommand ) )
+ if ( !vSegments.empty() && ( vSegments[ vSegments.size() - 1 ].Command == nLatestSegmentCommand ) )
vSegments[ vSegments.size() -1 ].Count++;
else
{
@@ -1075,7 +1075,7 @@ void SdXMLCustomShapePropertyMerge( std::vector< com::sun::star::beans::Property
const std::vector< beans::PropertyValues >& rElement,
const rtl::OUString& rElementName )
{
- if ( rElement.size() )
+ if ( !rElement.empty() )
{
uno::Sequence< beans::PropertyValues > aPropSeq( rElement.size() );
std::vector< beans::PropertyValues >::const_iterator aIter = rElement.begin();
@@ -1096,7 +1096,7 @@ void SdXMLCustomShapePropertyMerge( std::vector< com::sun::star::beans::Property
const std::vector< rtl::OUString >& rElement,
const rtl::OUString& rElementName )
{
- if ( rElement.size() )
+ if ( !rElement.empty() )
{
uno::Sequence< rtl::OUString > aPropSeq( rElement.size() );
std::vector< rtl::OUString >::const_iterator aIter = rElement.begin();
@@ -1117,7 +1117,7 @@ void SdXMLCustomShapePropertyMerge( std::vector< com::sun::star::beans::Property
const std::vector< com::sun::star::beans::PropertyValue >& rElement,
const rtl::OUString& rElementName )
{
- if ( rElement.size() )
+ if ( !rElement.empty() )
{
uno::Sequence< beans::PropertyValue > aPropSeq( rElement.size() );
std::vector< beans::PropertyValue >::const_iterator aIter = rElement.begin();
@@ -1157,7 +1157,7 @@ void CheckAndResolveEquationParameter( com::sun::star::drawing::EnhancedCustomSh
void XMLEnhancedCustomShapeContext::EndElement()
{
// resolve properties that are indexing a Equation
- if ( maEquations.size() )
+ if ( !maEquations.empty() )
{
// creating hash map containing the name and index of each equation
EquationHashMap* pH = new EquationHashMap;
@@ -1283,7 +1283,7 @@ void XMLEnhancedCustomShapeContext::EndElement()
SdXMLCustomShapePropertyMerge( mrCustomShapeGeometry, maPath, EASGet( EAS_Path ) );
SdXMLCustomShapePropertyMerge( mrCustomShapeGeometry, maTextPath, EASGet( EAS_TextPath ) );
SdXMLCustomShapePropertyMerge( mrCustomShapeGeometry, maEquations, EASGet( EAS_Equations ) );
- if ( maHandles.size() )
+ if ( !maHandles.empty() )
SdXMLCustomShapePropertyMerge( mrCustomShapeGeometry, maHandles, EASGet( EAS_Handles ) );
}
@@ -1326,7 +1326,8 @@ SvXMLImportContext* XMLEnhancedCustomShapeContext::CreateChildContext( USHORT nP
else if ( aTokenEnum == EAS_handle )
{
std::vector< com::sun::star::beans::PropertyValue > aHandle;
- for( sal_Int16 nAttr = 0; nAttr < xAttrList->getLength(); nAttr++ )
+ const sal_Int16 nLength = xAttrList->getLength();
+ for( sal_Int16 nAttr = 0; nAttr < nLength; nAttr++ )
{
rtl::OUString aLocalName;
const rtl::OUString& rValue = xAttrList->getValueByIndex( nAttr );
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index 86625bdb5c..f826488864 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -3444,7 +3444,7 @@ void SdXMLCustomShapeContext::StartElement( const uno::Reference< xml::sax::XAtt
void SdXMLCustomShapeContext::EndElement()
{
- if ( maCustomShapeGeometry.size() )
+ if ( !maCustomShapeGeometry.empty() )
{
const rtl::OUString sCustomShapeGeometry ( RTL_CONSTASCII_USTRINGPARAM( "CustomShapeGeometry" ) );
diff --git a/xmloff/source/forms/callbacks.hxx b/xmloff/source/forms/callbacks.hxx
index d980c3356a..5fa8b853c0 100644
--- a/xmloff/source/forms/callbacks.hxx
+++ b/xmloff/source/forms/callbacks.hxx
@@ -68,92 +68,6 @@ namespace xmloff
};
//=====================================================================
- //= IControlIdMap
- //=====================================================================
- class IControlIdMap
- {
- public:
- /** register a control id
- */
- virtual void registerControlId(
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl,
- const ::rtl::OUString& _rId) = 0;
-
- /** register references to a control.
-
- <p>In the XML representation, the control which is refered by others stores the ids of these other
- controls, but in "real life" :) the referring controls store the referred one as property.</p>
-
- <p>This method allows a referred control to announce to ids of the referring ones.</p>
-
- @param _rxControl
- the referred control
- @param _rReferringControls
- a (comma separated) list of control ids of referring controls
- */
- virtual void registerControlReferences(
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl,
- const ::rtl::OUString& _rReferringControls) = 0;
- };
-
- //=====================================================================
- //= IFormsImportContext
- //=====================================================================
- class IFormsImportContext
- {
- public:
- virtual IControlIdMap& getControlIdMap() = 0;
- virtual OAttribute2Property& getAttributeMap() = 0;
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- getServiceFactory() = 0;
- virtual SvXMLImport& getGlobalContext() = 0;
-
- virtual const SvXMLStyleContext* getStyleElement(const ::rtl::OUString& _rStyleName) const = 0;
-
- virtual void enterEventContext() = 0;
- virtual void leaveEventContext() = 0;
-
- /** applies the given number style to the given object
- */
- virtual void applyControlNumberStyle(
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rControlNumerStyleName
- ) = 0;
-
- /** registers a control model for later binding to a spreadsheet cell value
- */
- virtual void registerCellValueBinding(
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rCellAddress
- ) = 0;
-
- /** registers a list-like control model for later binding to a spreadsheet cell range as list source
- */
- virtual void registerCellRangeListSource(
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rCellRangeAddress
- ) = 0;
-
- /** registers a control model for later binding to an XForms binding */
- virtual void registerXFormsValueBinding(
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rBindingID
- ) = 0;
-
- /** registers a control model for later binding an XForms list binding */
- virtual void registerXFormsListBinding(
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rBindingID
- ) = 0;
-
- /** registers a control model for later binding to an XForms submission */
- virtual void registerXFormsSubmission(
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rBindingID
- ) = 0;
- };
-
- //=====================================================================
//= IEventAttacherManager
//=====================================================================
class IEventAttacherManager
diff --git a/xmloff/source/forms/elementexport.cxx b/xmloff/source/forms/elementexport.cxx
index 546bd6802a..d695be34cc 100644
--- a/xmloff/source/forms/elementexport.cxx
+++ b/xmloff/source/forms/elementexport.cxx
@@ -1292,14 +1292,14 @@ namespace xmloff
// one or both of the selected flags.
// 21.05.2001 - 85388 - frank.schoenheit@germany.sun.com
- if (aSelection.size() || aDefaultSelection.size())
+ if ( !aSelection.empty() || !aDefaultSelection.empty() )
{
sal_Int16 nLastSelected = -1;
- if (aSelection.size())
+ if ( !aSelection.empty() )
nLastSelected = *(--aSelection.end());
sal_Int16 nLastDefaultSelected = -1;
- if (aDefaultSelection.size())
+ if ( !aDefaultSelection.empty() )
nLastDefaultSelected = *(--aDefaultSelection.end());
// the maximum element in both sets
diff --git a/xmloff/source/forms/elementimport.cxx b/xmloff/source/forms/elementimport.cxx
index 524f0b5f84..a3dbcaabc9 100644
--- a/xmloff/source/forms/elementimport.cxx
+++ b/xmloff/source/forms/elementimport.cxx
@@ -59,6 +59,7 @@
/** === end UNO includes === **/
#include <tools/urlobj.hxx>
#include <tools/time.hxx>
+#include <rtl/logfile.hxx>
#include <algorithm>
#include <functional>
@@ -136,7 +137,7 @@ namespace xmloff
//---------------------------------------------------------------------
OControlElement::ElementType OElementNameMap::getElementType(const ::rtl::OUString& _rName)
{
- if (0 == s_sElementTranslations.size())
+ if ( s_sElementTranslations.empty() )
{ // initialize
for (ElementType eType=(ElementType)0; eType<UNKNOWN; ++eType)
s_sElementTranslations[::rtl::OUString::createFromAscii(getElementName(eType))] = eType;
@@ -152,7 +153,7 @@ namespace xmloff
//= OElementImport
//=====================================================================
//---------------------------------------------------------------------
- OElementImport::OElementImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OElementImport::OElementImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer)
:OPropertyImport(_rImport, _nPrefix, _rName)
,m_rFormImport(_rImport)
@@ -178,6 +179,8 @@ namespace xmloff
// create the element
m_xElement = createElement();
+ if ( !m_xInfo.is() && m_xElement.is() )
+ m_xInfo = m_xElement->getPropertySetInfo();
}
//---------------------------------------------------------------------
@@ -201,15 +204,15 @@ namespace xmloff
#if OSL_DEBUG_LEVEL > 0
// check if the object has all the properties
// (We do this in the non-pro version only. Doing it all the time would be much to expensive)
- Reference< XPropertySetInfo > xPropInfo = m_xElement->getPropertySetInfo();
- if (xPropInfo.is())
+ if ( m_xInfo.is() )
{
+ PropertyValueArray::iterator aEnd = m_aValues.end();
for ( PropertyValueArray::iterator aCheck = m_aValues.begin();
- aCheck != m_aValues.end();
+ aCheck != aEnd;
++aCheck
)
{
- OSL_ENSURE(xPropInfo->hasPropertyByName(aCheck->Name),
+ OSL_ENSURE(m_xInfo->hasPropertyByName(aCheck->Name),
::rtl::OString("OElementImport::EndElement: read a property (")
+= ::rtl::OString(aCheck->Name.getStr(), aCheck->Name.getLength(), RTL_TEXTENCODING_ASCII_US)
+= ::rtl::OString(") which does not exist on the element!"));
@@ -219,7 +222,7 @@ namespace xmloff
OSL_ENSURE(!m_aValues.empty(), "OElementImport::EndElement: no properties read!");
// set the properties
- Reference< XMultiPropertySet > xMultiProps(m_xElement, UNO_QUERY);
+ const Reference< XMultiPropertySet > xMultiProps(m_xElement, UNO_QUERY);
sal_Bool bSuccess = sal_False;
if (xMultiProps.is())
{
@@ -236,8 +239,9 @@ namespace xmloff
Any* pValues = aValues.getArray();
// copy
+ PropertyValueArray::iterator aEnd = m_aValues.end();
for ( PropertyValueArray::iterator aPropValues = m_aValues.begin();
- aPropValues != m_aValues.end();
+ aPropValues != aEnd;
++aPropValues, ++pNames, ++pValues
)
{
@@ -258,8 +262,9 @@ namespace xmloff
if (!bSuccess)
{ // no XMultiPropertySet or setting all properties at once failed
+ PropertyValueArray::iterator aEnd = m_aValues.end();
for ( PropertyValueArray::iterator aPropValues = m_aValues.begin();
- aPropValues != m_aValues.end();
+ aPropValues != aEnd;
++aPropValues
)
{
@@ -289,7 +294,7 @@ namespace xmloff
new OGridColumnPropertyTranslator( Reference< XMultiPropertySet >( m_xElement, UNO_QUERY ) );
const_cast< XMLTextStyleContext* >( m_pStyleElement )->FillPropertySet( xPropTranslation );
- ::rtl::OUString sNumberStyleName = const_cast< XMLTextStyleContext* >( m_pStyleElement )->GetDataStyleName( );
+ const ::rtl::OUString sNumberStyleName = const_cast< XMLTextStyleContext* >( m_pStyleElement )->GetDataStyleName( );
if ( sNumberStyleName.getLength() )
// the style also has a number (sub) style
m_rContext.applyControlNumberStyle( m_xElement, sNumberStyleName );
@@ -312,12 +317,12 @@ namespace xmloff
if ( m_aGenericValues.empty() )
return;
- Reference< XPropertySetInfo > xPropSetInfo = m_xElement->getPropertySetInfo();
Reference< XPropertyContainer > xDynamicProperties( m_xElement, UNO_QUERY );
+ PropertyValueArray::iterator aEnd = m_aGenericValues.end();
for ( PropertyValueArray::iterator aPropValues =
m_aGenericValues.begin();
- aPropValues != m_aGenericValues.end();
+ aPropValues != aEnd;
++aPropValues
)
{
@@ -326,7 +331,7 @@ namespace xmloff
try
{
// if such a property does not yet exist at the element, create it if necessary
- bool bExistentProperty = xPropSetInfo->hasPropertyByName( aPropValues->Name );
+ const bool bExistentProperty = m_xInfo->hasPropertyByName( aPropValues->Name );
if ( !bExistentProperty )
{
if ( !xDynamicProperties.is() )
@@ -347,12 +352,12 @@ namespace xmloff
);
// re-fetch the PropertySetInfo
- xPropSetInfo = m_xElement->getPropertySetInfo();
+ m_xInfo = m_xElement->getPropertySetInfo();
}
// determine the type of the value (source forthe following conversion)
TypeClass eValueTypeClass = aPropValues->Value.getValueTypeClass();
- sal_Bool bValueIsSequence = TypeClass_SEQUENCE == eValueTypeClass;
+ const sal_Bool bValueIsSequence = TypeClass_SEQUENCE == eValueTypeClass;
if ( bValueIsSequence )
{
uno::Type aSimpleType( getSequenceElementType( aPropValues->Value.getValueType() ) );
@@ -360,9 +365,9 @@ namespace xmloff
}
// determine the type of the property (target forthe following conversion)
- Property aProperty( xPropSetInfo->getPropertyByName( aPropValues->Name ) );
+ const Property aProperty( m_xInfo->getPropertyByName( aPropValues->Name ) );
TypeClass ePropTypeClass = aProperty.Type.getTypeClass();
- sal_Bool bPropIsSequence = TypeClass_SEQUENCE == ePropTypeClass;
+ const sal_Bool bPropIsSequence = TypeClass_SEQUENCE == ePropTypeClass;
if( bPropIsSequence )
{
uno::Type aSimpleType( ::comphelper::getSequenceElementType( aProperty.Type ) );
@@ -484,15 +489,12 @@ namespace xmloff
//---------------------------------------------------------------------
void OElementImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
- static const ::rtl::OUString s_sServiceNameAttribute = ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_SERVICE_NAME));
- static const ::rtl::OUString s_sNameAttribute = ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_NAME));
-
if (!m_sServiceName.getLength() &&
token::IsXMLToken( _rLocalName, token::XML_CONTROL_IMPLEMENTATION))
{ // it's the service name
::rtl::OUString sImplName;
- sal_uInt16 nImplPrefix =
+ const sal_uInt16 nImplPrefix =
GetImport().GetNamespaceMap().GetKeyByAttrName( _rValue,
&sImplName );
m_sServiceName = XML_NAMESPACE_OOO==nImplPrefix ? sImplName
@@ -525,7 +527,7 @@ namespace xmloff
Reference< XPropertySet > xReturn;
if (m_sServiceName.getLength())
{
- Reference< XInterface > xPure = m_rFormImport.getServiceFactory()->createInstance(m_sServiceName);
+ Reference< XInterface > xPure = m_rFormImport.getGlobalContext().getServiceFactory()->createInstance(m_sServiceName);
OSL_ENSURE(xPure.is(),
::rtl::OString("OElementImport::createElement: service factory gave me no object (service name: ")
+= ::rtl::OString(m_sServiceName.getStr(), m_sServiceName.getLength(), RTL_TEXTENCODING_ASCII_US)
@@ -548,13 +550,9 @@ namespace xmloff
//---------------------------------------------------------------------
void OElementImport::simulateDefaultedAttribute(const sal_Char* _pAttributeName, const ::rtl::OUString& _rPropertyName, const sal_Char* _pAttributeDefault)
{
- Reference< XPropertySetInfo > xPropsInfo;
- if ( m_xElement.is()) {
- xPropsInfo=m_xElement->getPropertySetInfo();
- }
- OSL_ENSURE( xPropsInfo.is(), "OPropertyImport::simulateDefaultedAttribute: the component should be more gossipy about it's properties!" );
+ OSL_ENSURE( m_xInfo.is(), "OPropertyImport::simulateDefaultedAttribute: the component should be more gossipy about it's properties!" );
- if ( !xPropsInfo.is() || xPropsInfo->hasPropertyByName( _rPropertyName ) )
+ if ( !m_xInfo.is() || m_xInfo->hasPropertyByName( _rPropertyName ) )
{
::rtl::OUString sLocalAttrName = ::rtl::OUString::createFromAscii(_pAttributeName);
if ( !encounteredAttribute( sLocalAttrName ) )
@@ -566,7 +564,7 @@ namespace xmloff
//= OControlImport
//=====================================================================
//---------------------------------------------------------------------
- OControlImport::OControlImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OControlImport::OControlImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer)
:OElementImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer)
,m_eElementType(OControlElement::UNKNOWN)
@@ -574,7 +572,7 @@ namespace xmloff
}
//---------------------------------------------------------------------
- OControlImport::OControlImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OControlImport::OControlImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer, OControlElement::ElementType _eType)
:OElementImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer)
,m_eElementType(_eType)
@@ -591,11 +589,14 @@ namespace xmloff
//---------------------------------------------------------------------
void OControlImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
- if ( !m_sControlId.getLength() && _rLocalName.equalsAscii( OAttributeMetaData::getCommonControlAttributeName( CCA_CONTROL_ID ) ) )
+ static const sal_Char* pControlIdAttributeName = OAttributeMetaData::getCommonControlAttributeName(CCA_CONTROL_ID);
+ static const sal_Char* pLinkedCellAttributeName = OAttributeMetaData::getBindingAttributeName(BA_LINKED_CELL);
+
+ if ( !m_sControlId.getLength() && _rLocalName.equalsAscii( pControlIdAttributeName ) )
{ // it's the control id
m_sControlId = _rValue;
}
- else if ( _rLocalName.equalsAscii( OAttributeMetaData::getBindingAttributeName( BA_LINKED_CELL ) ) )
+ else if ( _rLocalName.equalsAscii( pLinkedCellAttributeName ) )
{ // it's the address of a spreadsheet cell
m_sBoundCellAddress = _rValue;
}
@@ -614,14 +615,20 @@ namespace xmloff
}
else
{
+ static const sal_Char* pValueAttributeName = OAttributeMetaData::getSpecialAttributeName(CCA_VALUE);
+ static const sal_Char* pCurrentValueAttributeName = OAttributeMetaData::getSpecialAttributeName(CCA_CURRENT_VALUE);
+ static const sal_Char* pMinValueAttributeName = OAttributeMetaData::getSpecialAttributeName(SCA_MIN_VALUE);
+ static const sal_Char* pMaxValueAttributeName = OAttributeMetaData::getSpecialAttributeName(SCA_MAX_VALUE);
+ static const sal_Char* pRepeatDelayAttributeName = OAttributeMetaData::getSpecialAttributeName( SCA_REPEAT_DELAY );
+
sal_Int32 nHandle = -1;
- if ( _rLocalName.equalsAscii( OAttributeMetaData::getCommonControlAttributeName( CCA_VALUE ) ) )
+ if ( _rLocalName.equalsAscii( pValueAttributeName ) )
nHandle = PROPID_VALUE;
- else if ( _rLocalName.equalsAscii( OAttributeMetaData::getCommonControlAttributeName( CCA_CURRENT_VALUE ) ) )
+ else if ( _rLocalName.equalsAscii( pCurrentValueAttributeName ) )
nHandle = PROPID_CURRENT_VALUE;
- else if ( _rLocalName.equalsAscii( OAttributeMetaData::getSpecialAttributeName( SCA_MIN_VALUE ) ) )
+ else if ( _rLocalName.equalsAscii( pMinValueAttributeName ) )
nHandle = PROPID_MIN_VALUE;
- else if ( _rLocalName.equalsAscii( OAttributeMetaData::getSpecialAttributeName( SCA_MAX_VALUE ) ) )
+ else if ( _rLocalName.equalsAscii( pMaxValueAttributeName ) )
nHandle = PROPID_MAX_VALUE;
if ( nHandle != -1 )
{
@@ -632,7 +639,7 @@ namespace xmloff
aProp.Value <<= _rValue;
m_aValueProperties.push_back(aProp);
}
- else if ( _rLocalName.equalsAscii( OAttributeMetaData::getSpecialAttributeName( SCA_REPEAT_DELAY ) ) )
+ else if ( _rLocalName.equalsAscii( pRepeatDelayAttributeName ) )
{
::Time aTime;
sal_Int32 nFractions = 0;
@@ -672,11 +679,10 @@ namespace xmloff
// let the base class handle all the attributes
OElementImport::StartElement(xAttributes);
- if (m_aValueProperties.size() && m_xElement.is())
+ if ( !m_aValueProperties.empty() && m_xElement.is())
{
// get the property set info
- Reference< XPropertySetInfo > xPropsInfo = m_xElement->getPropertySetInfo();
- if (!xPropsInfo.is())
+ if (!m_xInfo.is())
{
OSL_ENSURE(sal_False, "OControlImport::StartElement: no PropertySetInfo!");
return;
@@ -695,8 +701,9 @@ namespace xmloff
m_xElement->getPropertyValue(PROPERTY_CLASSID) >>= nClassId;
// translate the value properties we collected in handleAttributes
+ PropertyValueArray::iterator aEnd = m_aValueProperties.end();
for ( PropertyValueArray::iterator aValueProps = m_aValueProperties.begin();
- aValueProps != m_aValueProperties.end();
+ aValueProps != aEnd;
++aValueProps
)
{
@@ -747,7 +754,7 @@ namespace xmloff
}
// translate the value
- implTranslateValueProperty(xPropsInfo, *aValueProps);
+ implTranslateValueProperty(m_xInfo, *aValueProps);
// add the property to the base class' array
implPushBackPropertyValue(*aValueProps);
}
@@ -800,7 +807,7 @@ namespace xmloff
// register our control with it's id
if (m_sControlId.getLength())
- m_rFormImport.getControlIdMap().registerControlId(m_xElement, m_sControlId);
+ m_rFormImport.registerControlId(m_xElement, m_sControlId);
// it's allowed to have no control id. In this case we're importing a column
// one more pre-work to do:
@@ -835,8 +842,9 @@ namespace xmloff
// is the "value property" part of the sequence?
// look up this property in our sequence
+ PropertyValueArray::iterator aEnd = m_aValues.end();
for ( PropertyValueArray::iterator aCheck = m_aValues.begin();
- ( aCheck != m_aValues.end() );
+ ( aCheck != aEnd );
++aCheck
)
{
@@ -938,11 +946,11 @@ namespace xmloff
//added by BerryJia for fixing bug102407 2002-11-5
Reference< XPropertySet > OControlImport::createElement()
{
- Reference<XPropertySet> xPropSet = OElementImport::createElement();
- if(xPropSet.is())
+ const Reference<XPropertySet> xPropSet = OElementImport::createElement();
+ if ( xPropSet.is() )
{
- Reference<XPropertySetInfo> xInfo(xPropSet->getPropertySetInfo());
- if(xInfo.is() && xInfo->hasPropertyByName(PROPERTY_ALIGN))
+ m_xInfo = xPropSet->getPropertySetInfo();
+ if ( m_xInfo.is() && m_xInfo->hasPropertyByName(PROPERTY_ALIGN) )
{
Any aValue;
xPropSet->setPropertyValue(PROPERTY_ALIGN,aValue);
@@ -955,7 +963,7 @@ namespace xmloff
//= OImagePositionImport
//=====================================================================
//---------------------------------------------------------------------
- OImagePositionImport::OImagePositionImport( IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager,
+ OImagePositionImport::OImagePositionImport( OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager,
sal_uInt16 _nPrefix, const ::rtl::OUString& _rName, const Reference< XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType )
:OControlImport( _rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType )
@@ -1015,7 +1023,7 @@ namespace xmloff
//=====================================================================
//---------------------------------------------------------------------
OReferredControlImport::OReferredControlImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer,
OControlElement::ElementType )
:OControlImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer)
@@ -1028,8 +1036,8 @@ namespace xmloff
OControlImport::StartElement(_rxAttrList);
// the base class should have created the control, so we can register it
- if (m_sReferringControls.getLength())
- m_rFormImport.getControlIdMap().registerControlReferences(m_xElement, m_sReferringControls);
+ if ( m_sReferringControls.getLength() )
+ m_rFormImport.registerControlReferences(m_xElement, m_sReferringControls);
}
//---------------------------------------------------------------------
@@ -1047,7 +1055,7 @@ namespace xmloff
//= OPasswordImport
//=====================================================================
//---------------------------------------------------------------------
- OPasswordImport::OPasswordImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OPasswordImport::OPasswordImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer, OControlElement::ElementType _eType)
:OControlImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType)
{
@@ -1078,7 +1086,7 @@ namespace xmloff
//= ORadioImport
//=====================================================================
//---------------------------------------------------------------------
- ORadioImport::ORadioImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ ORadioImport::ORadioImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer, OControlElement::ElementType _eType)
:OImagePositionImport( _rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType )
{
@@ -1089,15 +1097,17 @@ namespace xmloff
{
// need special handling for the State & CurrentState properties:
// they're stored as booleans, but expected to be int16 properties
- if ( _rLocalName.equalsAscii( OAttributeMetaData::getCommonControlAttributeName( CCA_CURRENT_SELECTED ) )
- || _rLocalName.equalsAscii( OAttributeMetaData::getCommonControlAttributeName( CCA_SELECTED ) )
+ static const sal_Char* pCurrentSelectedAttributeName = OAttributeMetaData::getCommonControlAttributeName(CCA_CURRENT_SELECTED);
+ static const sal_Char* pSelectedAttributeName = OAttributeMetaData::getCommonControlAttributeName(CCA_SELECTED);
+ if ( _rLocalName.equalsAscii( pCurrentSelectedAttributeName )
+ || _rLocalName.equalsAscii( pSelectedAttributeName )
)
{
const OAttribute2Property::AttributeAssignment* pProperty = m_rContext.getAttributeMap().getAttributeTranslation(_rLocalName);
OSL_ENSURE(pProperty, "ORadioImport::handleAttribute: invalid property map!");
if (pProperty)
{
- Any aBooleanValue = PropertyConversion::convertString(m_rContext.getGlobalContext(), pProperty->aPropertyType, _rValue, pProperty->pEnumMap);
+ const Any aBooleanValue( PropertyConversion::convertString(m_rContext.getGlobalContext(), pProperty->aPropertyType, _rValue, pProperty->pEnumMap) );
// create and store a new PropertyValue
PropertyValue aNewValue;
@@ -1114,7 +1124,7 @@ namespace xmloff
//=====================================================================
//= OURLReferenceImport
//=====================================================================
- OURLReferenceImport::OURLReferenceImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OURLReferenceImport::OURLReferenceImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType)
:OImagePositionImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType)
@@ -1159,7 +1169,7 @@ namespace xmloff
//= OButtonImport
//=====================================================================
//---------------------------------------------------------------------
- OButtonImport::OButtonImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OButtonImport::OButtonImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType)
:OURLReferenceImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType)
@@ -1180,11 +1190,12 @@ namespace xmloff
//= OValueRangeImport
//=====================================================================
//---------------------------------------------------------------------
- OValueRangeImport::OValueRangeImport( IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OValueRangeImport::OValueRangeImport( OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer, OControlElement::ElementType _eType )
:OControlImport( _rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType )
,m_nStepSizeValue( 1 )
{
+
}
//---------------------------------------------------------------------
@@ -1203,14 +1214,11 @@ namespace xmloff
{
OControlImport::StartElement( _rxAttrList );
- Reference< XPropertySetInfo > xPropInfo;
- if ( m_xElement.is() )
- xPropInfo = m_xElement->getPropertySetInfo();
- if ( xPropInfo.is() )
+ if ( m_xInfo.is() )
{
- if ( xPropInfo->hasPropertyByName( PROPERTY_SPIN_INCREMENT ) )
+ if ( m_xInfo->hasPropertyByName( PROPERTY_SPIN_INCREMENT ) )
m_xElement->setPropertyValue( PROPERTY_SPIN_INCREMENT, makeAny( m_nStepSizeValue ) );
- else if ( xPropInfo->hasPropertyByName( PROPERTY_LINE_INCREMENT ) )
+ else if ( m_xInfo->hasPropertyByName( PROPERTY_LINE_INCREMENT ) )
m_xElement->setPropertyValue( PROPERTY_LINE_INCREMENT, makeAny( m_nStepSizeValue ) );
}
}
@@ -1219,7 +1227,7 @@ namespace xmloff
//= OTextLikeImport
//=====================================================================
//---------------------------------------------------------------------
- OTextLikeImport::OTextLikeImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OTextLikeImport::OTextLikeImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType)
:OControlImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType)
@@ -1232,7 +1240,7 @@ namespace xmloff
SvXMLImportContext* OTextLikeImport::CreateChildContext( sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName,
const Reference< sax::XAttributeList >& _rxAttrList )
{
- if ( _rLocalName.equalsIgnoreAsciiCaseAscii( "p" ) && ( XML_NAMESPACE_TEXT == _nPrefix ) )
+ if ( ( XML_NAMESPACE_TEXT == _nPrefix ) && _rLocalName.equalsIgnoreAsciiCaseAscii( "p" ) )
{
OSL_ENSURE( m_eElementType == OControlElement::TEXT_AREA,
"OTextLikeImport::CreateChildContext: text paragraphs in a non-text-area?" );
@@ -1275,32 +1283,22 @@ namespace xmloff
OControlImport::StartElement(_rxAttrList);
// handle the convert-empty-to-null attribute, whose default is different from the property default
- sal_Bool bHaveEmptyIsNull = sal_False;
// unfortunately, different classes are imported by this class ('cause they're represented by the
// same XML element), though not all of them know this property.
// So we have to do a check ...
- if (m_xElement.is())
- {
- Reference< XPropertySetInfo > xProps = m_xElement->getPropertySetInfo();
- if (xProps.is())
- bHaveEmptyIsNull = xProps->hasPropertyByName(PROPERTY_EMPTY_IS_NULL);
- }
-
- if (bHaveEmptyIsNull)
+ if (m_xElement.is() && m_xInfo.is() && m_xInfo->hasPropertyByName(PROPERTY_EMPTY_IS_NULL) )
simulateDefaultedAttribute(OAttributeMetaData::getDatabaseAttributeName(DA_CONVERT_EMPTY), PROPERTY_EMPTY_IS_NULL, "false");
}
//---------------------------------------------------------------------
struct EqualHandle : public ::std::unary_function< PropertyValue, bool >
{
- sal_Int32 m_nHandle;
+ const sal_Int32 m_nHandle;
EqualHandle( sal_Int32 _nHandle ) : m_nHandle( _nHandle ) { }
inline bool operator()( const PropertyValue& _rProp )
{
- if ( _rProp.Handle == m_nHandle )
- return true;
- return false;
+ return _rProp.Handle == m_nHandle;
}
};
@@ -1337,11 +1335,8 @@ namespace xmloff
// additionally, we need to set the "RichText" property of our element to TRUE
// (the presence of the text:p is used as indicator for the value of the RichText property)
sal_Bool bHasRichTextProperty = sal_False;
- Reference< XPropertySetInfo > xPropInfo;
- if ( m_xElement.is() )
- xPropInfo = m_xElement->getPropertySetInfo();
- if ( xPropInfo.is() )
- bHasRichTextProperty = xPropInfo->hasPropertyByName( PROPERTY_RICH_TEXT );
+ if ( m_xInfo.is() )
+ bHasRichTextProperty = m_xInfo->hasPropertyByName( PROPERTY_RICH_TEXT );
OSL_ENSURE( bHasRichTextProperty, "OTextLikeImport::EndElement: text:p, but no rich text control?" );
if ( bHasRichTextProperty )
m_xElement->setPropertyValue( PROPERTY_RICH_TEXT, makeAny( (sal_Bool)sal_True ) );
@@ -1353,14 +1348,12 @@ namespace xmloff
//---------------------------------------------------------------------
struct EqualName : public ::std::unary_function< PropertyValue, bool >
{
- ::rtl::OUString m_sName;
+ const ::rtl::OUString m_sName;
EqualName( const ::rtl::OUString& _rName ) : m_sName( _rName ) { }
inline bool operator()( const PropertyValue& _rProp )
{
- if ( _rProp.Name == m_sName )
- return true;
- return false;
+ return _rProp.Name == m_sName;
}
};
@@ -1425,7 +1418,7 @@ namespace xmloff
//= OListAndComboImport
//=====================================================================
//---------------------------------------------------------------------
- OListAndComboImport::OListAndComboImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OListAndComboImport::OListAndComboImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType)
:OControlImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType)
@@ -1538,8 +1531,8 @@ namespace xmloff
//---------------------------------------------------------------------
void OListAndComboImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
- static const ::rtl::OUString s_sListSourceAttributeName = ::rtl::OUString::createFromAscii(OAttributeMetaData::getDatabaseAttributeName(DA_LIST_SOURCE));
- if (s_sListSourceAttributeName == _rLocalName)
+ static const sal_Char* pListSourceAttributeName = OAttributeMetaData::getDatabaseAttributeName(DA_LIST_SOURCE);
+ if ( _rLocalName.equalsAscii(pListSourceAttributeName) )
{
PropertyValue aListSource;
aListSource.Name = PROPERTY_LISTSOURCE;
@@ -1653,9 +1646,10 @@ namespace xmloff
void OListOptionImport::StartElement(const Reference< sax::XAttributeList >& _rxAttrList)
{
// the label and the value
- const ::rtl::OUString sLabelAttribute = GetImport().GetNamespaceMap().GetQNameByKey(
+ const SvXMLNamespaceMap& rMap = GetImport().GetNamespaceMap();
+ const ::rtl::OUString sLabelAttribute = rMap.GetQNameByKey(
GetPrefix(), ::rtl::OUString::createFromAscii("label"));
- const ::rtl::OUString sValueAttribute = GetImport().GetNamespaceMap().GetQNameByKey(
+ const ::rtl::OUString sValueAttribute = rMap.GetQNameByKey(
GetPrefix(), ::rtl::OUString::createFromAscii("value"));
// -------------------
@@ -1687,9 +1681,9 @@ namespace xmloff
m_xListBoxImport->implPushBackValue( sValue );
// the current-selected and selected
- const ::rtl::OUString sSelectedAttribute = GetImport().GetNamespaceMap().GetQNameByKey(
+ const ::rtl::OUString sSelectedAttribute = rMap.GetQNameByKey(
GetPrefix(), ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_CURRENT_SELECTED)));
- const ::rtl::OUString sDefaultSelectedAttribute = GetImport().GetNamespaceMap().GetQNameByKey(
+ const ::rtl::OUString sDefaultSelectedAttribute = rMap.GetQNameByKey(
GetPrefix(), ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_SELECTED)));
// propagate the selected flag
@@ -1733,7 +1727,7 @@ namespace xmloff
//= OColumnWrapperImport
//=====================================================================
//---------------------------------------------------------------------
- OColumnWrapperImport::OColumnWrapperImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OColumnWrapperImport::OColumnWrapperImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer)
:SvXMLImportContext(_rImport.getGlobalContext(), _nPrefix, _rName)
,m_xParentContainer(_rxParentContainer)
@@ -1802,7 +1796,7 @@ namespace xmloff
//= OGridImport
//=====================================================================
//---------------------------------------------------------------------
- OGridImport::OGridImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OGridImport::OGridImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType)
:OGridImport_Base(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, "column")
@@ -1820,7 +1814,7 @@ namespace xmloff
//= OFormImport
//=====================================================================
//---------------------------------------------------------------------
- OFormImport::OFormImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormImport::OFormImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const Reference< XNameContainer >& _rxParentContainer)
:OFormImport_Base(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, "control")
{
diff --git a/xmloff/source/forms/elementimport.hxx b/xmloff/source/forms/elementimport.hxx
index b71acfd6d5..ce6540cd69 100644
--- a/xmloff/source/forms/elementimport.hxx
+++ b/xmloff/source/forms/elementimport.hxx
@@ -53,7 +53,7 @@ namespace xmloff
//.........................................................................
class IControlIdMap;
- class IFormsImportContext;
+ class OFormLayerXMLImport_Impl;
//=====================================================================
//= OElementNameMap
@@ -88,7 +88,7 @@ namespace xmloff
protected:
::rtl::OUString m_sServiceName; // the service name as extracted from the service-name attribute
::rtl::OUString m_sName; // the name of the object (redundant, already contained in the base class' array)
- IFormsImportContext& m_rFormImport; // the form import context
+ OFormLayerXMLImport_Impl& m_rFormImport; // the form import context
IEventAttacherManager& m_rEventManager; // the event attacher manager
const XMLTextStyleContext* m_pStyleElement; // the XML element which describes the style we encountered
@@ -98,6 +98,8 @@ namespace xmloff
m_xParentContainer;
// the parent container to insert the new element into
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
+ m_xInfo;
::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
m_xElement; // the element we're creating. Valid after StartElement
@@ -117,7 +119,7 @@ namespace xmloff
the container in which the new element should be inserted
*/
OElementImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager,
sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer
);
@@ -207,14 +209,14 @@ namespace xmloff
protected:
// for use by derived classes only
OControlImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager,
sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer
);
public:
OControlImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager,
sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
@@ -285,7 +287,7 @@ namespace xmloff
public:
OImagePositionImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -312,7 +314,7 @@ namespace xmloff
public:
OReferredControlImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -334,7 +336,7 @@ namespace xmloff
{
public:
OPasswordImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -352,7 +354,7 @@ namespace xmloff
{
public:
ORadioImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -374,7 +376,7 @@ namespace xmloff
{
public:
OURLReferenceImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -396,7 +398,7 @@ namespace xmloff
{
public:
OButtonImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -420,7 +422,7 @@ namespace xmloff
public:
OValueRangeImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -451,7 +453,7 @@ namespace xmloff
public:
OTextLikeImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -503,7 +505,7 @@ namespace xmloff
public:
OListAndComboImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType
);
@@ -589,7 +591,7 @@ namespace xmloff
::rtl::OUString m_sWrapperElementName;
protected:
- OContainerImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OContainerImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
const sal_Char* _pWrapperElementName)
:BASE(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer)
@@ -629,7 +631,7 @@ namespace xmloff
m_xColumnFactory;
public:
- OColumnImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OColumnImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType);
@@ -649,11 +651,11 @@ namespace xmloff
m_xOwnAttributes;
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >
m_xParentContainer;
- IFormsImportContext& m_rFormImport;
+ OFormLayerXMLImport_Impl& m_rFormImport;
IEventAttacherManager& m_rEventManager;
public:
- OColumnWrapperImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OColumnWrapperImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer);
// SvXMLImportContext overridables
@@ -678,7 +680,7 @@ namespace xmloff
{
public:
OGridImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType);
@@ -698,7 +700,7 @@ namespace xmloff
{
public:
OFormImport(
- IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer
);
diff --git a/xmloff/source/forms/elementimport_impl.hxx b/xmloff/source/forms/elementimport_impl.hxx
index 1988c475d2..49bd8d8f7f 100644
--- a/xmloff/source/forms/elementimport_impl.hxx
+++ b/xmloff/source/forms/elementimport_impl.hxx
@@ -99,7 +99,7 @@ inline void OContainerImport< BASE >::EndElement()
//=========================================================================
//-------------------------------------------------------------------------
template <class BASE>
-OColumnImport< BASE >::OColumnImport(IFormsImportContext& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+OColumnImport< BASE >::OColumnImport(OFormLayerXMLImport_Impl& _rImport, IEventAttacherManager& _rEventManager, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& _rxParentContainer,
OControlElement::ElementType _eType)
:BASE(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer, _eType)
diff --git a/xmloff/source/forms/eventexport.cxx b/xmloff/source/forms/eventexport.cxx
index 2e44b96019..45a679bd40 100644
--- a/xmloff/source/forms/eventexport.cxx
+++ b/xmloff/source/forms/eventexport.cxx
@@ -154,7 +154,7 @@ namespace xmloff
//---------------------------------------------------------------------
sal_Bool SAL_CALL OEventDescriptorMapper::hasElements( ) throw(RuntimeException)
{
- return 0 != m_aMappedEvents.size();
+ return !m_aMappedEvents.empty();
}
//.........................................................................
diff --git a/xmloff/source/forms/formattributes.cxx b/xmloff/source/forms/formattributes.cxx
index 9cb70d95dd..a082c0a897 100644
--- a/xmloff/source/forms/formattributes.cxx
+++ b/xmloff/source/forms/formattributes.cxx
@@ -34,7 +34,7 @@
#include "xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <rtl/ustrbuf.hxx>
-
+#include <rtl/logfile.hxx>
//.........................................................................
namespace xmloff
{
diff --git a/xmloff/source/forms/formcellbinding.cxx b/xmloff/source/forms/formcellbinding.cxx
index 98433eb1ae..0f3e657e16 100644
--- a/xmloff/source/forms/formcellbinding.cxx
+++ b/xmloff/source/forms/formcellbinding.cxx
@@ -46,6 +46,7 @@
#include <com/sun/star/beans/NamedValue.hpp>
#include "strings.hxx"
#include <osl/diagnose.h>
+#include <rtl/logfile.hxx>
#include <functional>
#include <algorithm>
@@ -66,427 +67,427 @@ namespace xmloff
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::form::binding;
- namespace
+namespace
+{
+ using ::com::sun::star::uno::Reference;
+ using ::com::sun::star::uno::XInterface;
+ using ::com::sun::star::container::XChild;
+ using ::com::sun::star::frame::XModel;
+ using ::com::sun::star::uno::UNO_QUERY;
+
+ //....................................................................
+ template< class TYPE >
+ Reference< TYPE > getTypedModelNode( const Reference< XInterface >& _rxModelNode )
{
- using ::com::sun::star::uno::Reference;
- using ::com::sun::star::uno::XInterface;
- using ::com::sun::star::container::XChild;
- using ::com::sun::star::frame::XModel;
- using ::com::sun::star::uno::UNO_QUERY;
-
- //....................................................................
- template< class TYPE >
- Reference< TYPE > getTypedModelNode( const Reference< XInterface >& _rxModelNode )
+ Reference< TYPE > xTypedNode( _rxModelNode, UNO_QUERY );
+ if ( xTypedNode.is() )
+ return xTypedNode;
+ else
{
- Reference< TYPE > xTypedNode( _rxModelNode, UNO_QUERY );
- if ( xTypedNode.is() )
- return xTypedNode;
+ Reference< XChild > xChild( _rxModelNode, UNO_QUERY );
+ if ( xChild.is() )
+ return getTypedModelNode< TYPE >( xChild->getParent() );
else
- {
- Reference< XChild > xChild( _rxModelNode, UNO_QUERY );
- if ( xChild.is() )
- return getTypedModelNode< TYPE >( xChild->getParent() );
- else
- return NULL;
- }
+ return NULL;
}
-
- //....................................................................
- Reference< XModel > getDocument( const Reference< XInterface >& _rxModelNode )
- {
- return getTypedModelNode< XModel >( _rxModelNode );
- }
-
- //....................................................................
- struct StringCompare : public ::std::unary_function< ::rtl::OUString, bool >
- {
- private:
- ::rtl::OUString m_sReference;
-
- public:
- StringCompare( const ::rtl::OUString& _rReference ) : m_sReference( _rReference ) { }
-
- inline bool operator()( const ::rtl::OUString& _rCompare )
- {
- return ( _rCompare == m_sReference ) ? true : false;
- }
- };
}
- //========================================================================
- //= FormCellBindingHelper
- //========================================================================
- //------------------------------------------------------------------------
- FormCellBindingHelper::FormCellBindingHelper( const Reference< XPropertySet >& _rxControlModel, const Reference< XModel >& _rxDocument )
- :m_xControlModel( _rxControlModel )
- ,m_xDocument( _rxDocument, UNO_QUERY )
+ //....................................................................
+ Reference< XModel > getDocument( const Reference< XInterface >& _rxModelNode )
{
- OSL_ENSURE( m_xControlModel.is(), "FormCellBindingHelper::FormCellBindingHelper: invalid control model!" );
-
- if ( !m_xDocument.is() )
- m_xDocument = m_xDocument.query( getDocument( m_xControlModel ) );
- OSL_ENSURE( m_xDocument.is(), "FormCellBindingHelper::FormCellBindingHelper: Did not find the spreadsheet document!" );
+ return getTypedModelNode< XModel >( _rxModelNode );
}
- //------------------------------------------------------------------------
- sal_Bool FormCellBindingHelper::livesInSpreadsheetDocument( const Reference< XPropertySet >& _rxControlModel )
+ //....................................................................
+ struct StringCompare : public ::std::unary_function< ::rtl::OUString, bool >
{
- Reference< XSpreadsheetDocument > xDocument( getDocument( _rxControlModel ), UNO_QUERY );
- return xDocument.is();
- }
+ private:
+ const ::rtl::OUString m_sReference;
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::convertStringAddress( const ::rtl::OUString& _rAddressDescription, CellAddress& /* [out] */ _rAddress, sal_Int16 /*_nAssumeSheet*/ ) const
- {
- Any aAddress;
- return doConvertAddressRepresentations(
- PROPERTY_FILE_REPRESENTATION,
- makeAny( _rAddressDescription ),
- PROPERTY_ADDRESS,
- aAddress,
- false
- )
- && ( aAddress >>= _rAddress );
- }
+ public:
+ StringCompare( const ::rtl::OUString& _rReference ) : m_sReference( _rReference ) { }
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::convertStringAddress( const ::rtl::OUString& _rAddressDescription,
- CellRangeAddress& /* [out] */ _rAddress ) const
- {
- Any aAddress;
- return doConvertAddressRepresentations(
- PROPERTY_FILE_REPRESENTATION,
- makeAny( _rAddressDescription ),
- PROPERTY_ADDRESS,
- aAddress,
- true
- )
- && ( aAddress >>= _rAddress );
- }
+ inline bool operator()( const ::rtl::OUString& _rCompare )
+ {
+ return ( _rCompare == m_sReference );
+ }
+ };
+}
+
+//========================================================================
+//= FormCellBindingHelper
+//========================================================================
+//------------------------------------------------------------------------
+FormCellBindingHelper::FormCellBindingHelper( const Reference< XPropertySet >& _rxControlModel, const Reference< XModel >& _rxDocument )
+ :m_xControlModel( _rxControlModel )
+ ,m_xDocument( _rxDocument, UNO_QUERY )
+{
+ OSL_ENSURE( m_xControlModel.is(), "FormCellBindingHelper::FormCellBindingHelper: invalid control model!" );
- //------------------------------------------------------------------------
- Reference< XValueBinding > FormCellBindingHelper::createCellBindingFromStringAddress( const ::rtl::OUString& _rAddress, bool _bUseIntegerBinding ) const
- {
- Reference< XValueBinding > xBinding;
- if ( !m_xDocument.is() )
- // very bad ...
- return xBinding;
-
- // get the UNO representation of the address
- CellAddress aAddress;
- if ( !_rAddress.getLength() || !convertStringAddress( _rAddress, aAddress ) )
- return xBinding;
-
- xBinding = xBinding.query( createDocumentDependentInstance(
- _bUseIntegerBinding ? SERVICE_LISTINDEXCELLBINDING : SERVICE_CELLVALUEBINDING,
- PROPERTY_BOUND_CELL,
- makeAny( aAddress )
- ) );
+ if ( !m_xDocument.is() )
+ m_xDocument = m_xDocument.query( getDocument( m_xControlModel ) );
+ OSL_ENSURE( m_xDocument.is(), "FormCellBindingHelper::FormCellBindingHelper: Did not find the spreadsheet document!" );
+}
+
+//------------------------------------------------------------------------
+sal_Bool FormCellBindingHelper::livesInSpreadsheetDocument( const Reference< XPropertySet >& _rxControlModel )
+{
+ Reference< XSpreadsheetDocument > xDocument( getDocument( _rxControlModel ), UNO_QUERY );
+ return xDocument.is();
+}
+
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::convertStringAddress( const ::rtl::OUString& _rAddressDescription, CellAddress& /* [out] */ _rAddress, sal_Int16 /*_nAssumeSheet*/ ) const
+{
+ Any aAddress;
+ return doConvertAddressRepresentations(
+ PROPERTY_FILE_REPRESENTATION,
+ makeAny( _rAddressDescription ),
+ PROPERTY_ADDRESS,
+ aAddress,
+ false
+ )
+ && ( aAddress >>= _rAddress );
+}
+
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::convertStringAddress( const ::rtl::OUString& _rAddressDescription,
+ CellRangeAddress& /* [out] */ _rAddress ) const
+{
+ Any aAddress;
+ return doConvertAddressRepresentations(
+ PROPERTY_FILE_REPRESENTATION,
+ makeAny( _rAddressDescription ),
+ PROPERTY_ADDRESS,
+ aAddress,
+ true
+ )
+ && ( aAddress >>= _rAddress );
+}
+
+//------------------------------------------------------------------------
+Reference< XValueBinding > FormCellBindingHelper::createCellBindingFromStringAddress( const ::rtl::OUString& _rAddress, bool _bUseIntegerBinding ) const
+{
+ Reference< XValueBinding > xBinding;
+ if ( !m_xDocument.is() )
+ // very bad ...
+ return xBinding;
+ // get the UNO representation of the address
+ CellAddress aAddress;
+ if ( !_rAddress.getLength() || !convertStringAddress( _rAddress, aAddress ) )
return xBinding;
- }
- //------------------------------------------------------------------------
- Reference< XListEntrySource > FormCellBindingHelper::createCellListSourceFromStringAddress( const ::rtl::OUString& _rAddress ) const
- {
- Reference< XListEntrySource > xSource;
+ xBinding = xBinding.query( createDocumentDependentInstance(
+ _bUseIntegerBinding ? SERVICE_LISTINDEXCELLBINDING : SERVICE_CELLVALUEBINDING,
+ PROPERTY_BOUND_CELL,
+ makeAny( aAddress )
+ ) );
- CellRangeAddress aRangeAddress;
- if ( !convertStringAddress( _rAddress, aRangeAddress ) )
- return xSource;
+ return xBinding;
+}
- // create a range object for this address
- xSource = xSource.query( createDocumentDependentInstance(
- SERVICE_CELLRANGELISTSOURCE,
- PROPERTY_LIST_CELL_RANGE,
- makeAny( aRangeAddress )
- ) );
+//------------------------------------------------------------------------
+Reference< XListEntrySource > FormCellBindingHelper::createCellListSourceFromStringAddress( const ::rtl::OUString& _rAddress ) const
+{
+ Reference< XListEntrySource > xSource;
+ CellRangeAddress aRangeAddress;
+ if ( !convertStringAddress( _rAddress, aRangeAddress ) )
return xSource;
- }
- //------------------------------------------------------------------------
- ::rtl::OUString FormCellBindingHelper::getStringAddressFromCellBinding( const Reference< XValueBinding >& _rxBinding ) const
- {
- OSL_PRECOND( !_rxBinding.is() || isCellBinding( _rxBinding ), "FormCellBindingHelper::getStringAddressFromCellBinding: this is no cell binding!" );
+ // create a range object for this address
+ xSource = xSource.query( createDocumentDependentInstance(
+ SERVICE_CELLRANGELISTSOURCE,
+ PROPERTY_LIST_CELL_RANGE,
+ makeAny( aRangeAddress )
+ ) );
- ::rtl::OUString sAddress;
- try
- {
- Reference< XPropertySet > xBindingProps( _rxBinding, UNO_QUERY );
- OSL_ENSURE( xBindingProps.is() || !_rxBinding.is(), "FormCellBindingHelper::getStringAddressFromCellBinding: no property set for the binding!" );
- if ( xBindingProps.is() )
- {
- CellAddress aAddress;
- xBindingProps->getPropertyValue( PROPERTY_BOUND_CELL ) >>= aAddress;
+ return xSource;
+}
- Any aStringAddress;
- doConvertAddressRepresentations( PROPERTY_ADDRESS, makeAny( aAddress ),
- PROPERTY_FILE_REPRESENTATION, aStringAddress, false );
+//------------------------------------------------------------------------
+::rtl::OUString FormCellBindingHelper::getStringAddressFromCellBinding( const Reference< XValueBinding >& _rxBinding ) const
+{
+ OSL_PRECOND( !_rxBinding.is() || isCellBinding( _rxBinding ), "FormCellBindingHelper::getStringAddressFromCellBinding: this is no cell binding!" );
- aStringAddress >>= sAddress;
- }
- }
- catch( const Exception& )
+ ::rtl::OUString sAddress;
+ try
+ {
+ Reference< XPropertySet > xBindingProps( _rxBinding, UNO_QUERY );
+ OSL_ENSURE( xBindingProps.is() || !_rxBinding.is(), "FormCellBindingHelper::getStringAddressFromCellBinding: no property set for the binding!" );
+ if ( xBindingProps.is() )
{
- OSL_ENSURE( sal_False, "FormCellBindingHelper::getStringAddressFromCellBinding: caught an exception!" );
- }
+ CellAddress aAddress;
+ xBindingProps->getPropertyValue( PROPERTY_BOUND_CELL ) >>= aAddress;
- return sAddress;
- }
+ Any aStringAddress;
+ doConvertAddressRepresentations( PROPERTY_ADDRESS, makeAny( aAddress ),
+ PROPERTY_FILE_REPRESENTATION, aStringAddress, false );
- //------------------------------------------------------------------------
- ::rtl::OUString FormCellBindingHelper::getStringAddressFromCellListSource( const Reference< XListEntrySource >& _rxSource ) const
+ aStringAddress >>= sAddress;
+ }
+ }
+ catch( const Exception& )
{
- OSL_PRECOND( !_rxSource.is() || isCellRangeListSource( _rxSource ), "FormCellBindingHelper::getStringAddressFromCellListSource: this is no cell list source!" );
-
- ::rtl::OUString sAddress;
- try
- {
- Reference< XPropertySet > xSourceProps( _rxSource, UNO_QUERY );
- OSL_ENSURE( xSourceProps.is() || !_rxSource.is(), "FormCellBindingHelper::getStringAddressFromCellListSource: no property set for the list source!" );
- if ( xSourceProps.is() )
- {
- CellRangeAddress aRangeAddress;
- xSourceProps->getPropertyValue( PROPERTY_LIST_CELL_RANGE ) >>= aRangeAddress;
+ OSL_ENSURE( sal_False, "FormCellBindingHelper::getStringAddressFromCellBinding: caught an exception!" );
+ }
- Any aStringAddress;
- doConvertAddressRepresentations( PROPERTY_ADDRESS, makeAny( aRangeAddress ),
- PROPERTY_FILE_REPRESENTATION, aStringAddress, true );
- aStringAddress >>= sAddress;
- }
- }
- catch( const Exception& )
- {
- OSL_ENSURE( sal_False, "FormCellBindingHelper::getStringAddressFromCellListSource: caught an exception!" );
- }
+ return sAddress;
+}
- return sAddress;
- }
+//------------------------------------------------------------------------
+::rtl::OUString FormCellBindingHelper::getStringAddressFromCellListSource( const Reference< XListEntrySource >& _rxSource ) const
+{
+ OSL_PRECOND( !_rxSource.is() || isCellRangeListSource( _rxSource ), "FormCellBindingHelper::getStringAddressFromCellListSource: this is no cell list source!" );
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isSpreadsheetDocumentWhichSupplies( const Reference< XSpreadsheetDocument >& _rxDocument, const ::rtl::OUString& _rService ) SAL_THROW(())
+ ::rtl::OUString sAddress;
+ try
{
- bool bYesItIs = false;
-
- try
- {
- Reference< XServiceInfo > xSI( _rxDocument, UNO_QUERY );
- if ( xSI.is() && xSI->supportsService( SERVICE_SPREADSHEET_DOCUMENT ) )
- {
- Reference< XMultiServiceFactory > xDocumentFactory( _rxDocument, UNO_QUERY );
- OSL_ENSURE( xDocumentFactory.is(), "FormCellBindingHelper::isSpreadsheetDocumentWhichSupplies: spreadsheet document, but no factory?" );
-
- Sequence< ::rtl::OUString > aAvailableServices;
- if ( xDocumentFactory.is() )
- aAvailableServices = xDocumentFactory->getAvailableServiceNames( );
-
- const ::rtl::OUString* pFound = ::std::find_if(
- aAvailableServices.getConstArray(),
- aAvailableServices.getConstArray() + aAvailableServices.getLength(),
- StringCompare( _rService )
- );
- if ( pFound - aAvailableServices.getConstArray() < aAvailableServices.getLength() )
- {
- bYesItIs = true;
- }
- }
- }
- catch( const Exception& )
+ Reference< XPropertySet > xSourceProps( _rxSource, UNO_QUERY );
+ OSL_ENSURE( xSourceProps.is() || !_rxSource.is(), "FormCellBindingHelper::getStringAddressFromCellListSource: no property set for the list source!" );
+ if ( xSourceProps.is() )
{
- OSL_ENSURE( sal_False, "FormCellBindingHelper::isSpreadsheetDocumentWhichSupplies: caught an exception!" );
- }
+ CellRangeAddress aRangeAddress;
+ xSourceProps->getPropertyValue( PROPERTY_LIST_CELL_RANGE ) >>= aRangeAddress;
- return bYesItIs;
+ Any aStringAddress;
+ doConvertAddressRepresentations( PROPERTY_ADDRESS, makeAny( aRangeAddress ),
+ PROPERTY_FILE_REPRESENTATION, aStringAddress, true );
+ aStringAddress >>= sAddress;
+ }
}
-
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isSpreadsheetDocumentWhichSupplies( const ::rtl::OUString& _rService ) const SAL_THROW(())
+ catch( const Exception& )
{
- return isSpreadsheetDocumentWhichSupplies( m_xDocument, _rService );
+ OSL_ENSURE( sal_False, "FormCellBindingHelper::getStringAddressFromCellListSource: caught an exception!" );
}
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isListCellRangeAllowed( const Reference< XModel >& _rxDocument )
- {
- return isSpreadsheetDocumentWhichSupplies(
- Reference< XSpreadsheetDocument >( _rxDocument, UNO_QUERY ),
- SERVICE_CELLRANGELISTSOURCE
- );
- }
+ return sAddress;
+}
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isListCellRangeAllowed( ) const
- {
- bool bAllow( false );
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isSpreadsheetDocumentWhichSupplies( const Reference< XSpreadsheetDocument >& _rxDocument, const ::rtl::OUString& _rService ) SAL_THROW(())
+{
+ bool bYesItIs = false;
- Reference< XListEntrySink > xSink( m_xControlModel, UNO_QUERY );
- if ( xSink.is() )
+ try
+ {
+ Reference< XServiceInfo > xSI( _rxDocument, UNO_QUERY );
+ if ( xSI.is() && xSI->supportsService( SERVICE_SPREADSHEET_DOCUMENT ) )
{
- bAllow = isSpreadsheetDocumentWhichSupplies( SERVICE_CELLRANGELISTSOURCE );
+ Reference< XMultiServiceFactory > xDocumentFactory( _rxDocument, UNO_QUERY );
+ OSL_ENSURE( xDocumentFactory.is(), "FormCellBindingHelper::isSpreadsheetDocumentWhichSupplies: spreadsheet document, but no factory?" );
+
+ Sequence< ::rtl::OUString > aAvailableServices;
+ if ( xDocumentFactory.is() )
+ aAvailableServices = xDocumentFactory->getAvailableServiceNames( );
+
+ const ::rtl::OUString* pFound = ::std::find_if(
+ aAvailableServices.getConstArray(),
+ aAvailableServices.getConstArray() + aAvailableServices.getLength(),
+ StringCompare( _rService )
+ );
+ if ( pFound - aAvailableServices.getConstArray() < aAvailableServices.getLength() )
+ {
+ bYesItIs = true;
+ }
}
-
- return bAllow;
}
-
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isCellBindingAllowed( ) const
+ catch( const Exception& )
{
- bool bAllow( false );
+ OSL_ENSURE( sal_False, "FormCellBindingHelper::isSpreadsheetDocumentWhichSupplies: caught an exception!" );
+ }
- Reference< XBindableValue > xBindable( m_xControlModel, UNO_QUERY );
- if ( xBindable.is() )
- {
- // the control can potentially be bound to an external value
- // Does it live within a Calc document, and is able to supply CellBindings?
- bAllow = isSpreadsheetDocumentWhichSupplies( SERVICE_CELLVALUEBINDING );
- }
+ return bYesItIs;
+}
- return bAllow;
- }
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isSpreadsheetDocumentWhichSupplies( const ::rtl::OUString& _rService ) const SAL_THROW(())
+{
+ return isSpreadsheetDocumentWhichSupplies( m_xDocument, _rService );
+}
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isCellBindingAllowed( const Reference< XModel >& _rxDocument )
- {
- return isSpreadsheetDocumentWhichSupplies(
- Reference< XSpreadsheetDocument >( _rxDocument, UNO_QUERY ),
- SERVICE_CELLVALUEBINDING
- );
- }
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isListCellRangeAllowed( const Reference< XModel >& _rxDocument )
+{
+ return isSpreadsheetDocumentWhichSupplies(
+ Reference< XSpreadsheetDocument >( _rxDocument, UNO_QUERY ),
+ SERVICE_CELLRANGELISTSOURCE
+ );
+}
+
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isListCellRangeAllowed( ) const
+{
+ bool bAllow( false );
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isCellBinding( const Reference< XValueBinding >& _rxBinding ) const
+ Reference< XListEntrySink > xSink( m_xControlModel, UNO_QUERY );
+ if ( xSink.is() )
{
- return doesComponentSupport( _rxBinding.get(), SERVICE_CELLVALUEBINDING );
+ bAllow = isSpreadsheetDocumentWhichSupplies( SERVICE_CELLRANGELISTSOURCE );
}
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isCellIntegerBinding( const Reference< XValueBinding >& _rxBinding ) const
- {
- return doesComponentSupport( _rxBinding.get(), SERVICE_LISTINDEXCELLBINDING );
- }
+ return bAllow;
+}
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::isCellRangeListSource( const Reference< XListEntrySource >& _rxSource ) const
- {
- return doesComponentSupport( _rxSource.get(), SERVICE_CELLRANGELISTSOURCE );
- }
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isCellBindingAllowed( ) const
+{
+ bool bAllow( false );
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::doesComponentSupport( const Reference< XInterface >& _rxComponent, const ::rtl::OUString& _rService ) const
+ Reference< XBindableValue > xBindable( m_xControlModel, UNO_QUERY );
+ if ( xBindable.is() )
{
- bool bDoes = false;
- Reference< XServiceInfo > xSI( _rxComponent, UNO_QUERY );
- bDoes = xSI.is() && xSI->supportsService( _rService );
- return bDoes;
+ // the control can potentially be bound to an external value
+ // Does it live within a Calc document, and is able to supply CellBindings?
+ bAllow = isSpreadsheetDocumentWhichSupplies( SERVICE_CELLVALUEBINDING );
}
- //------------------------------------------------------------------------
- Reference< XValueBinding > FormCellBindingHelper::getCurrentBinding( ) const
- {
- Reference< XValueBinding > xBinding;
- Reference< XBindableValue > xBindable( m_xControlModel, UNO_QUERY );
- if ( xBindable.is() )
- xBinding = xBindable->getValueBinding();
- return xBinding;
- }
+ return bAllow;
+}
- //------------------------------------------------------------------------
- Reference< XListEntrySource > FormCellBindingHelper::getCurrentListSource( ) const
- {
- Reference< XListEntrySource > xSource;
- Reference< XListEntrySink > xSink( m_xControlModel, UNO_QUERY );
- if ( xSink.is() )
- xSource = xSink->getListEntrySource();
- return xSource;
- }
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isCellBindingAllowed( const Reference< XModel >& _rxDocument )
+{
+ return isSpreadsheetDocumentWhichSupplies(
+ Reference< XSpreadsheetDocument >( _rxDocument, UNO_QUERY ),
+ SERVICE_CELLVALUEBINDING
+ );
+}
+
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isCellBinding( const Reference< XValueBinding >& _rxBinding ) const
+{
+ return doesComponentSupport( _rxBinding.get(), SERVICE_CELLVALUEBINDING );
+}
- //------------------------------------------------------------------------
- void FormCellBindingHelper::setBinding( const Reference< XValueBinding >& _rxBinding )
- {
- Reference< XBindableValue > xBindable( m_xControlModel, UNO_QUERY );
- OSL_PRECOND( xBindable.is(), "FormCellBindingHelper::setBinding: the object is not bindable!" );
- if ( xBindable.is() )
- xBindable->setValueBinding( _rxBinding );
- }
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isCellIntegerBinding( const Reference< XValueBinding >& _rxBinding ) const
+{
+ return doesComponentSupport( _rxBinding.get(), SERVICE_LISTINDEXCELLBINDING );
+}
- //------------------------------------------------------------------------
- void FormCellBindingHelper::setListSource( const Reference< XListEntrySource >& _rxSource )
- {
- Reference< XListEntrySink > xSink( m_xControlModel, UNO_QUERY );
- OSL_PRECOND( xSink.is(), "FormCellBindingHelper::setListSource: the object is no list entry sink!" );
- if ( xSink.is() )
- xSink->setListEntrySource( _rxSource );
- }
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::isCellRangeListSource( const Reference< XListEntrySource >& _rxSource ) const
+{
+ return doesComponentSupport( _rxSource.get(), SERVICE_CELLRANGELISTSOURCE );
+}
- //------------------------------------------------------------------------
- Reference< XInterface > FormCellBindingHelper::createDocumentDependentInstance( const ::rtl::OUString& _rService, const ::rtl::OUString& _rArgumentName,
- const Any& _rArgumentValue ) const
- {
- Reference< XInterface > xReturn;
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::doesComponentSupport( const Reference< XInterface >& _rxComponent, const ::rtl::OUString& _rService ) const
+{
+ bool bDoes = false;
+ Reference< XServiceInfo > xSI( _rxComponent, UNO_QUERY );
+ bDoes = xSI.is() && xSI->supportsService( _rService );
+ return bDoes;
+}
+
+//------------------------------------------------------------------------
+Reference< XValueBinding > FormCellBindingHelper::getCurrentBinding( ) const
+{
+ Reference< XValueBinding > xBinding;
+ Reference< XBindableValue > xBindable( m_xControlModel, UNO_QUERY );
+ if ( xBindable.is() )
+ xBinding = xBindable->getValueBinding();
+ return xBinding;
+}
+
+//------------------------------------------------------------------------
+Reference< XListEntrySource > FormCellBindingHelper::getCurrentListSource( ) const
+{
+ Reference< XListEntrySource > xSource;
+ Reference< XListEntrySink > xSink( m_xControlModel, UNO_QUERY );
+ if ( xSink.is() )
+ xSource = xSink->getListEntrySource();
+ return xSource;
+}
+
+//------------------------------------------------------------------------
+void FormCellBindingHelper::setBinding( const Reference< XValueBinding >& _rxBinding )
+{
+ Reference< XBindableValue > xBindable( m_xControlModel, UNO_QUERY );
+ OSL_PRECOND( xBindable.is(), "FormCellBindingHelper::setBinding: the object is not bindable!" );
+ if ( xBindable.is() )
+ xBindable->setValueBinding( _rxBinding );
+}
+
+//------------------------------------------------------------------------
+void FormCellBindingHelper::setListSource( const Reference< XListEntrySource >& _rxSource )
+{
+ Reference< XListEntrySink > xSink( m_xControlModel, UNO_QUERY );
+ OSL_PRECOND( xSink.is(), "FormCellBindingHelper::setListSource: the object is no list entry sink!" );
+ if ( xSink.is() )
+ xSink->setListEntrySource( _rxSource );
+}
+
+//------------------------------------------------------------------------
+Reference< XInterface > FormCellBindingHelper::createDocumentDependentInstance( const ::rtl::OUString& _rService, const ::rtl::OUString& _rArgumentName,
+ const Any& _rArgumentValue ) const
+{
+ Reference< XInterface > xReturn;
- Reference< XMultiServiceFactory > xDocumentFactory( m_xDocument, UNO_QUERY );
- OSL_ENSURE( xDocumentFactory.is(), "FormCellBindingHelper::createDocumentDependentInstance: no document service factory!" );
- if ( xDocumentFactory.is() )
+ Reference< XMultiServiceFactory > xDocumentFactory( m_xDocument, UNO_QUERY );
+ OSL_ENSURE( xDocumentFactory.is(), "FormCellBindingHelper::createDocumentDependentInstance: no document service factory!" );
+ if ( xDocumentFactory.is() )
+ {
+ try
{
- try
+ if ( _rArgumentName.getLength() )
{
- if ( _rArgumentName.getLength() )
- {
- NamedValue aArg;
- aArg.Name = _rArgumentName;
- aArg.Value = _rArgumentValue;
-
- Sequence< Any > aArgs( 1 );
- aArgs[ 0 ] <<= aArg;
-
- xReturn = xDocumentFactory->createInstanceWithArguments( _rService, aArgs );
- }
- else
- {
- xReturn = xDocumentFactory->createInstance( _rService );
- }
+ NamedValue aArg;
+ aArg.Name = _rArgumentName;
+ aArg.Value = _rArgumentValue;
+
+ Sequence< Any > aArgs( 1 );
+ aArgs[ 0 ] <<= aArg;
+
+ xReturn = xDocumentFactory->createInstanceWithArguments( _rService, aArgs );
}
- catch ( const Exception& )
+ else
{
- OSL_ENSURE( sal_False, "FormCellBindingHelper::createDocumentDependentInstance: could not create the binding at the document!" );
+ xReturn = xDocumentFactory->createInstance( _rService );
}
}
- return xReturn;
+ catch ( const Exception& )
+ {
+ OSL_ENSURE( sal_False, "FormCellBindingHelper::createDocumentDependentInstance: could not create the binding at the document!" );
+ }
}
+ return xReturn;
+}
- //------------------------------------------------------------------------
- bool FormCellBindingHelper::doConvertAddressRepresentations( const ::rtl::OUString& _rInputProperty, const Any& _rInputValue,
- const ::rtl::OUString& _rOutputProperty, Any& _rOutputValue, bool _bIsRange ) const SAL_THROW(())
+//------------------------------------------------------------------------
+bool FormCellBindingHelper::doConvertAddressRepresentations( const ::rtl::OUString& _rInputProperty, const Any& _rInputValue,
+ const ::rtl::OUString& _rOutputProperty, Any& _rOutputValue, bool _bIsRange ) const SAL_THROW(())
+{
+ bool bSuccess = false;
+
+ Reference< XPropertySet > xConverter(
+ createDocumentDependentInstance(
+ _bIsRange ? SERVICE_RANGEADDRESS_CONVERSION : SERVICE_ADDRESS_CONVERSION,
+ ::rtl::OUString(),
+ Any()
+ ),
+ UNO_QUERY
+ );
+ OSL_ENSURE( xConverter.is(), "FormCellBindingHelper::doConvertAddressRepresentations: could not get a converter service!" );
+ if ( xConverter.is() )
{
- bool bSuccess = false;
-
- Reference< XPropertySet > xConverter(
- createDocumentDependentInstance(
- _bIsRange ? SERVICE_RANGEADDRESS_CONVERSION : SERVICE_ADDRESS_CONVERSION,
- ::rtl::OUString(),
- Any()
- ),
- UNO_QUERY
- );
- OSL_ENSURE( xConverter.is(), "FormCellBindingHelper::doConvertAddressRepresentations: could not get a converter service!" );
- if ( xConverter.is() )
+ try
{
- try
- {
- xConverter->setPropertyValue( _rInputProperty, _rInputValue );
- _rOutputValue = xConverter->getPropertyValue( _rOutputProperty );
- bSuccess = true;
- }
- catch( const Exception& )
- {
- OSL_ENSURE( sal_False, "FormCellBindingHelper::doConvertAddressRepresentations: caught an exception!" );
- }
+ xConverter->setPropertyValue( _rInputProperty, _rInputValue );
+ _rOutputValue = xConverter->getPropertyValue( _rOutputProperty );
+ bSuccess = true;
+ }
+ catch( const Exception& )
+ {
+ OSL_ENSURE( sal_False, "FormCellBindingHelper::doConvertAddressRepresentations: caught an exception!" );
}
-
- return bSuccess;
}
+ return bSuccess;
+}
+
//............................................................................
} // namespace xmloff
//............................................................................
diff --git a/xmloff/source/forms/layerexport.cxx b/xmloff/source/forms/layerexport.cxx
index 29641727f5..eb8c56b610 100644
--- a/xmloff/source/forms/layerexport.cxx
+++ b/xmloff/source/forms/layerexport.cxx
@@ -361,7 +361,7 @@ namespace xmloff
else
{
bKnownPage = sal_True;
- if (_bClear && m_aCurrentPageIds->second.size())
+ if (_bClear && !m_aCurrentPageIds->second.empty() )
m_aCurrentPageIds->second.clear();
}
@@ -375,7 +375,7 @@ namespace xmloff
else
{
bKnownPage = sal_True;
- if (_bClear && m_aCurrentPageReferring->second.size())
+ if (_bClear && !m_aCurrentPageReferring->second.empty() )
m_aCurrentPageReferring->second.clear();
}
return bKnownPage;
@@ -488,7 +488,7 @@ namespace xmloff
else
{
// step up
- while ((nChildPos >= xLoop->getCount()) && aContainerHistory.size())
+ while ((nChildPos >= xLoop->getCount()) && !aContainerHistory.empty() )
{
xLoop = aContainerHistory.top();
aContainerHistory.pop();
@@ -669,7 +669,7 @@ namespace xmloff
// ----------------------------------
// determine the column style
- if ( aPropertyStates.size() )
+ if ( !aPropertyStates.empty() )
{ // add to the style pool
::rtl::OUString sColumnStyleName = m_rContext.GetAutoStylePool()->Add( XML_STYLE_FAMILY_CONTROL_ID, aPropertyStates );
diff --git a/xmloff/source/forms/layerimport.cxx b/xmloff/source/forms/layerimport.cxx
index bb152eb8ad..7c8a7152f7 100644
--- a/xmloff/source/forms/layerimport.cxx
+++ b/xmloff/source/forms/layerimport.cxx
@@ -64,6 +64,7 @@
#include "xformsimport.hxx"
#include <xmloff/xmltoken.hxx>
#include "xmlnmspe.hxx"
+#include <rtl/logfile.hxx>
#include <algorithm>
SV_IMPL_REF( SvXMLStylesContext );
@@ -73,609 +74,586 @@ namespace xmloff
{
//.........................................................................
- using namespace ::com::sun::star::uno;
- using namespace ::com::sun::star::awt;
- using namespace ::com::sun::star::lang;
- using namespace ::com::sun::star::beans;
- using namespace ::com::sun::star::container;
- using namespace ::com::sun::star::drawing;
- using namespace ::com::sun::star::xml;
- using namespace ::com::sun::star::util;
- using namespace ::com::sun::star::form;
- using namespace ::com::sun::star::sdb;
-
- //=====================================================================
- //= OFormLayerXMLImport_Impl
- //=====================================================================
- //---------------------------------------------------------------------
- OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl(SvXMLImport& _rImporter)
- :m_rImporter(_rImporter)
- ,m_pAutoStyles(NULL)
- {
- // build the attribute2property map
- // string properties which are exported as attributes
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_NAME), PROPERTY_NAME);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_IMAGE_DATA), PROPERTY_IMAGEURL);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_LABEL), PROPERTY_LABEL);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_TARGET_LOCATION), PROPERTY_TARGETURL);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_TITLE), PROPERTY_TITLE);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_TARGET_FRAME), PROPERTY_TARGETFRAME, "_blank");
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getDatabaseAttributeName(DA_DATA_FIELD), PROPERTY_DATAFIELD);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getFormAttributeName(faCommand), PROPERTY_COMMAND);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getFormAttributeName(faDatasource), PROPERTY_DATASOURCENAME);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getFormAttributeName(faFilter), PROPERTY_FILTER);
- m_aAttributeMetaData.addStringProperty(
- OAttributeMetaData::getFormAttributeName(faOrder), PROPERTY_ORDER);
-
- // properties not added because they're already present in another form
- OSL_ENSURE(
- 0 == ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_TARGET_LOCATION)).compareToAscii(
- OAttributeMetaData::getFormAttributeName(faAction)),
- "OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl: invalid attribute names (1)!");
- // if this fails, we would have to add a translation from faAction->PROPERTY_TARGETURL
- // We did not because we already have one CCA_TARGET_LOCATION->PROPERTY_TARGETURL,
- // and CCA_TARGET_LOCATION and faAction should be represented by the same attribute
-
- OSL_ENSURE(
- 0 == ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_NAME)).compareToAscii(
- OAttributeMetaData::getFormAttributeName(faName)),
- "OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl: invalid attribute names (2)!");
- // the same for faName, CCA_NAME and PROPERTY_NAME
-
- // boolean properties which are exported as attributes
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_CURRENT_SELECTED), PROPERTY_STATE, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_DISABLED), PROPERTY_ENABLED, sal_False, sal_True);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_DROPDOWN), PROPERTY_DROPDOWN, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_PRINTABLE), PROPERTY_PRINTABLE, sal_True);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_READONLY), PROPERTY_READONLY, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_SELECTED), PROPERTY_DEFAULT_STATE, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_TAB_STOP), PROPERTY_TABSTOP, sal_True);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getDatabaseAttributeName(DA_CONVERT_EMPTY), PROPERTY_EMPTY_IS_NULL, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getSpecialAttributeName(SCA_VALIDATION), PROPERTY_STRICTFORMAT, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getSpecialAttributeName(SCA_MULTI_LINE), PROPERTY_MULTILINE, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getSpecialAttributeName(SCA_AUTOMATIC_COMPLETION), PROPERTY_AUTOCOMPLETE, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getSpecialAttributeName(SCA_MULTIPLE), PROPERTY_MULTISELECTION, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getSpecialAttributeName(SCA_DEFAULT_BUTTON), PROPERTY_DEFAULTBUTTON, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getSpecialAttributeName(SCA_IS_TRISTATE), PROPERTY_TRISTATE, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getFormAttributeName(faAllowDeletes), PROPERTY_ALLOWDELETES, sal_True);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getFormAttributeName(faAllowInserts), PROPERTY_ALLOWINSERTS, sal_True);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getFormAttributeName(faAllowUpdates), PROPERTY_ALLOWUPDATES, sal_True);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getFormAttributeName(faApplyFilter), PROPERTY_APPLYFILTER, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getFormAttributeName(faEscapeProcessing), PROPERTY_ESCAPEPROCESSING, sal_True);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getFormAttributeName(faIgnoreResult), PROPERTY_IGNORERESULT, sal_False);
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getSpecialAttributeName( SCA_TOGGLE ), PROPERTY_TOGGLE, sal_False );
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getSpecialAttributeName( SCA_FOCUS_ON_CLICK ), PROPERTY_FOCUS_ON_CLICK, sal_True );
- m_aAttributeMetaData.addBooleanProperty(
- OAttributeMetaData::getDatabaseAttributeName( DA_INPUT_REQUIRED ), PROPERTY_INPUT_REQUIRED, sal_False );
-
- // the int16 attributes
- m_aAttributeMetaData.addInt16Property(
- OAttributeMetaData::getCommonControlAttributeName(CCA_MAX_LENGTH), PROPERTY_MAXTEXTLENGTH, 0);
- m_aAttributeMetaData.addInt16Property(
- OAttributeMetaData::getCommonControlAttributeName(CCA_SIZE), PROPERTY_LINECOUNT, 5);
- m_aAttributeMetaData.addInt16Property(
- OAttributeMetaData::getCommonControlAttributeName(CCA_TAB_INDEX), PROPERTY_TABINDEX, 0);
- m_aAttributeMetaData.addInt16Property(
- OAttributeMetaData::getDatabaseAttributeName(DA_BOUND_COLUMN), PROPERTY_BOUNDCOLUMN, 0);
-
- // the int32 attributes
- m_aAttributeMetaData.addInt32Property(
- OAttributeMetaData::getSpecialAttributeName( SCA_PAGE_STEP_SIZE ), PROPERTY_BLOCK_INCREMENT, 10 );
-
- // the enum attributes
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getCommonControlAttributeName( CCA_VISUAL_EFFECT ), PROPERTY_VISUAL_EFFECT,
- VisualEffect::LOOK3D, OEnumMapper::getEnumMap( OEnumMapper::epVisualEffect ),
- &::getCppuType( static_cast< sal_Int16* >( NULL ) ) );
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getCommonControlAttributeName( CCA_ORIENTATION ), PROPERTY_ORIENTATION,
- ScrollBarOrientation::HORIZONTAL, OEnumMapper::getEnumMap( OEnumMapper::epOrientation ),
- &::getCppuType( static_cast< sal_Int32* >( NULL ) ) );
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getCommonControlAttributeName(CCA_BUTTON_TYPE), PROPERTY_BUTTONTYPE,
- FormButtonType_PUSH, OEnumMapper::getEnumMap(OEnumMapper::epButtonType),
- &::getCppuType( static_cast<FormButtonType*>(NULL) ));
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getDatabaseAttributeName(DA_LIST_SOURCE_TYPE), PROPERTY_LISTSOURCETYPE,
- ListSourceType_VALUELIST, OEnumMapper::getEnumMap(OEnumMapper::epListSourceType),
- &::getCppuType( static_cast<ListSourceType*>(NULL) ));
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getSpecialAttributeName(SCA_STATE), PROPERTY_DEFAULT_STATE, STATE_NOCHECK,
- OEnumMapper::getEnumMap(OEnumMapper::epCheckState),
- &::getCppuType( static_cast< sal_Int16* >(NULL)));
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getSpecialAttributeName(SCA_CURRENT_STATE), PROPERTY_STATE, STATE_NOCHECK,
- OEnumMapper::getEnumMap(OEnumMapper::epCheckState),
- &::getCppuType( static_cast< sal_Int16* >(NULL)));
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getFormAttributeName(faEnctype), PROPERTY_SUBMIT_ENCODING,
- FormSubmitEncoding_URL, OEnumMapper::getEnumMap(OEnumMapper::epSubmitEncoding),
- &::getCppuType( static_cast<FormSubmitEncoding*>(NULL) ));
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getFormAttributeName(faMethod), PROPERTY_SUBMIT_METHOD,
- FormSubmitMethod_GET, OEnumMapper::getEnumMap(OEnumMapper::epSubmitMethod),
- &::getCppuType( static_cast<FormSubmitMethod*>(NULL) ));
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getFormAttributeName(faCommandType), PROPERTY_COMMAND_TYPE,
- CommandType::COMMAND, OEnumMapper::getEnumMap(OEnumMapper::epCommandType));
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getFormAttributeName(faNavigationMode), PROPERTY_NAVIGATION,
- NavigationBarMode_NONE, OEnumMapper::getEnumMap(OEnumMapper::epNavigationType),
- &::getCppuType( static_cast<NavigationBarMode*>(NULL) ));
- m_aAttributeMetaData.addEnumProperty(
- OAttributeMetaData::getFormAttributeName(faTabbingCycle), PROPERTY_CYCLE,
- TabulatorCycle_RECORDS, OEnumMapper::getEnumMap(OEnumMapper::epTabCyle),
- &::getCppuType( static_cast<TabulatorCycle*>(NULL) ));
-
- // initialize our style map
- m_xPropertyHandlerFactory = new OControlPropertyHandlerFactory();
- ::vos::ORef< XMLPropertySetMapper > xStylePropertiesMapper = new XMLPropertySetMapper(getControlStylePropertyMap(), m_xPropertyHandlerFactory.getBodyPtr());
- m_xImportMapper = new SvXMLImportPropertyMapper(xStylePropertiesMapper.getBodyPtr(), _rImporter);
-
- // 'initialize'
- m_aCurrentPageIds = m_aControlIds.end();
- }
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::awt;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::container;
+using namespace ::com::sun::star::drawing;
+using namespace ::com::sun::star::xml;
+using namespace ::com::sun::star::util;
+using namespace ::com::sun::star::form;
+using namespace ::com::sun::star::sdb;
+
+//=====================================================================
+//= OFormLayerXMLImport_Impl
+//=====================================================================
+//---------------------------------------------------------------------
+OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl(SvXMLImport& _rImporter)
+ :m_rImporter(_rImporter)
+ ,m_pAutoStyles(NULL)
+{
+ // build the attribute2property map
+ // string properties which are exported as attributes
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_NAME), PROPERTY_NAME);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_IMAGE_DATA), PROPERTY_IMAGEURL);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_LABEL), PROPERTY_LABEL);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_TARGET_LOCATION), PROPERTY_TARGETURL);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_TITLE), PROPERTY_TITLE);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_TARGET_FRAME), PROPERTY_TARGETFRAME, "_blank");
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getDatabaseAttributeName(DA_DATA_FIELD), PROPERTY_DATAFIELD);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getFormAttributeName(faCommand), PROPERTY_COMMAND);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getFormAttributeName(faDatasource), PROPERTY_DATASOURCENAME);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getFormAttributeName(faFilter), PROPERTY_FILTER);
+ m_aAttributeMetaData.addStringProperty(
+ OAttributeMetaData::getFormAttributeName(faOrder), PROPERTY_ORDER);
+
+ // properties not added because they're already present in another form
+ OSL_ENSURE(
+ 0 == ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_TARGET_LOCATION)).compareToAscii(
+ OAttributeMetaData::getFormAttributeName(faAction)),
+ "OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl: invalid attribute names (1)!");
+ // if this fails, we would have to add a translation from faAction->PROPERTY_TARGETURL
+ // We did not because we already have one CCA_TARGET_LOCATION->PROPERTY_TARGETURL,
+ // and CCA_TARGET_LOCATION and faAction should be represented by the same attribute
+
+ OSL_ENSURE(
+ 0 == ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_NAME)).compareToAscii(
+ OAttributeMetaData::getFormAttributeName(faName)),
+ "OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl: invalid attribute names (2)!");
+ // the same for faName, CCA_NAME and PROPERTY_NAME
+
+ // boolean properties which are exported as attributes
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_CURRENT_SELECTED), PROPERTY_STATE, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_DISABLED), PROPERTY_ENABLED, sal_False, sal_True);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_DROPDOWN), PROPERTY_DROPDOWN, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_PRINTABLE), PROPERTY_PRINTABLE, sal_True);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_READONLY), PROPERTY_READONLY, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_SELECTED), PROPERTY_DEFAULT_STATE, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_TAB_STOP), PROPERTY_TABSTOP, sal_True);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getDatabaseAttributeName(DA_CONVERT_EMPTY), PROPERTY_EMPTY_IS_NULL, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getSpecialAttributeName(SCA_VALIDATION), PROPERTY_STRICTFORMAT, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getSpecialAttributeName(SCA_MULTI_LINE), PROPERTY_MULTILINE, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getSpecialAttributeName(SCA_AUTOMATIC_COMPLETION), PROPERTY_AUTOCOMPLETE, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getSpecialAttributeName(SCA_MULTIPLE), PROPERTY_MULTISELECTION, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getSpecialAttributeName(SCA_DEFAULT_BUTTON), PROPERTY_DEFAULTBUTTON, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getSpecialAttributeName(SCA_IS_TRISTATE), PROPERTY_TRISTATE, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getFormAttributeName(faAllowDeletes), PROPERTY_ALLOWDELETES, sal_True);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getFormAttributeName(faAllowInserts), PROPERTY_ALLOWINSERTS, sal_True);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getFormAttributeName(faAllowUpdates), PROPERTY_ALLOWUPDATES, sal_True);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getFormAttributeName(faApplyFilter), PROPERTY_APPLYFILTER, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getFormAttributeName(faEscapeProcessing), PROPERTY_ESCAPEPROCESSING, sal_True);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getFormAttributeName(faIgnoreResult), PROPERTY_IGNORERESULT, sal_False);
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getSpecialAttributeName( SCA_TOGGLE ), PROPERTY_TOGGLE, sal_False );
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getSpecialAttributeName( SCA_FOCUS_ON_CLICK ), PROPERTY_FOCUS_ON_CLICK, sal_True );
+ m_aAttributeMetaData.addBooleanProperty(
+ OAttributeMetaData::getDatabaseAttributeName( DA_INPUT_REQUIRED ), PROPERTY_INPUT_REQUIRED, sal_False );
+
+ // the int16 attributes
+ m_aAttributeMetaData.addInt16Property(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_MAX_LENGTH), PROPERTY_MAXTEXTLENGTH, 0);
+ m_aAttributeMetaData.addInt16Property(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_SIZE), PROPERTY_LINECOUNT, 5);
+ m_aAttributeMetaData.addInt16Property(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_TAB_INDEX), PROPERTY_TABINDEX, 0);
+ m_aAttributeMetaData.addInt16Property(
+ OAttributeMetaData::getDatabaseAttributeName(DA_BOUND_COLUMN), PROPERTY_BOUNDCOLUMN, 0);
+
+ // the int32 attributes
+ m_aAttributeMetaData.addInt32Property(
+ OAttributeMetaData::getSpecialAttributeName( SCA_PAGE_STEP_SIZE ), PROPERTY_BLOCK_INCREMENT, 10 );
+
+ // the enum attributes
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getCommonControlAttributeName( CCA_VISUAL_EFFECT ), PROPERTY_VISUAL_EFFECT,
+ VisualEffect::LOOK3D, OEnumMapper::getEnumMap( OEnumMapper::epVisualEffect ),
+ &::getCppuType( static_cast< sal_Int16* >( NULL ) ) );
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getCommonControlAttributeName( CCA_ORIENTATION ), PROPERTY_ORIENTATION,
+ ScrollBarOrientation::HORIZONTAL, OEnumMapper::getEnumMap( OEnumMapper::epOrientation ),
+ &::getCppuType( static_cast< sal_Int32* >( NULL ) ) );
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getCommonControlAttributeName(CCA_BUTTON_TYPE), PROPERTY_BUTTONTYPE,
+ FormButtonType_PUSH, OEnumMapper::getEnumMap(OEnumMapper::epButtonType),
+ &::getCppuType( static_cast<FormButtonType*>(NULL) ));
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getDatabaseAttributeName(DA_LIST_SOURCE_TYPE), PROPERTY_LISTSOURCETYPE,
+ ListSourceType_VALUELIST, OEnumMapper::getEnumMap(OEnumMapper::epListSourceType),
+ &::getCppuType( static_cast<ListSourceType*>(NULL) ));
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getSpecialAttributeName(SCA_STATE), PROPERTY_DEFAULT_STATE, STATE_NOCHECK,
+ OEnumMapper::getEnumMap(OEnumMapper::epCheckState),
+ &::getCppuType( static_cast< sal_Int16* >(NULL)));
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getSpecialAttributeName(SCA_CURRENT_STATE), PROPERTY_STATE, STATE_NOCHECK,
+ OEnumMapper::getEnumMap(OEnumMapper::epCheckState),
+ &::getCppuType( static_cast< sal_Int16* >(NULL)));
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getFormAttributeName(faEnctype), PROPERTY_SUBMIT_ENCODING,
+ FormSubmitEncoding_URL, OEnumMapper::getEnumMap(OEnumMapper::epSubmitEncoding),
+ &::getCppuType( static_cast<FormSubmitEncoding*>(NULL) ));
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getFormAttributeName(faMethod), PROPERTY_SUBMIT_METHOD,
+ FormSubmitMethod_GET, OEnumMapper::getEnumMap(OEnumMapper::epSubmitMethod),
+ &::getCppuType( static_cast<FormSubmitMethod*>(NULL) ));
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getFormAttributeName(faCommandType), PROPERTY_COMMAND_TYPE,
+ CommandType::COMMAND, OEnumMapper::getEnumMap(OEnumMapper::epCommandType));
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getFormAttributeName(faNavigationMode), PROPERTY_NAVIGATION,
+ NavigationBarMode_NONE, OEnumMapper::getEnumMap(OEnumMapper::epNavigationType),
+ &::getCppuType( static_cast<NavigationBarMode*>(NULL) ));
+ m_aAttributeMetaData.addEnumProperty(
+ OAttributeMetaData::getFormAttributeName(faTabbingCycle), PROPERTY_CYCLE,
+ TabulatorCycle_RECORDS, OEnumMapper::getEnumMap(OEnumMapper::epTabCyle),
+ &::getCppuType( static_cast<TabulatorCycle*>(NULL) ));
+
+ // initialize our style map
+ m_xPropertyHandlerFactory = new OControlPropertyHandlerFactory();
+ ::vos::ORef< XMLPropertySetMapper > xStylePropertiesMapper = new XMLPropertySetMapper(getControlStylePropertyMap(), m_xPropertyHandlerFactory.getBodyPtr());
+ m_xImportMapper = new SvXMLImportPropertyMapper(xStylePropertiesMapper.getBodyPtr(), _rImporter);
+
+ // 'initialize'
+ m_aCurrentPageIds = m_aControlIds.end();
+}
+
+//---------------------------------------------------------------------
+OFormLayerXMLImport_Impl::~OFormLayerXMLImport_Impl()
+{
+ // outlined to allow forward declaration of OAttribute2Property in the header
- //---------------------------------------------------------------------
- OFormLayerXMLImport_Impl::~OFormLayerXMLImport_Impl()
- {
- // outlined to allow forward declaration of OAttribute2Property in the header
+ if (m_pAutoStyles)
+ m_pAutoStyles->ReleaseRef();
+}
- if (m_pAutoStyles)
- m_pAutoStyles->ReleaseRef();
- }
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::setAutoStyleContext(SvXMLStylesContext* _pNewContext)
+{
+ OSL_ENSURE(!m_pAutoStyles, "OFormLayerXMLImport_Impl::setAutoStyleContext: not to be called twice!");
+ m_pAutoStyles = _pNewContext;
+ if (m_pAutoStyles)
+ m_pAutoStyles->AddRef();
+}
+
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::applyControlNumberStyle(const Reference< XPropertySet >& _rxControlModel, const ::rtl::OUString& _rControlNumerStyleName)
+{
+ OSL_ENSURE(_rxControlModel.is() && (0 != _rControlNumerStyleName.getLength()),
+ "OFormLayerXMLImport_Impl::applyControlNumberStyle: invalid arguments (this will crash)!");
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::setAutoStyleContext(SvXMLStylesContext* _pNewContext)
+ OSL_ENSURE(m_pAutoStyles, "OFormLayerXMLImport_Impl::applyControlNumberStyle: have no auto style context!");
+ if (!m_pAutoStyles)
{
- OSL_ENSURE(!m_pAutoStyles, "OFormLayerXMLImport_Impl::setAutoStyleContext: not to be called twice!");
- m_pAutoStyles = _pNewContext;
+ m_pAutoStyles = m_rImporter.GetShapeImport()->GetAutoStylesContext();
if (m_pAutoStyles)
m_pAutoStyles->AddRef();
}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::applyControlNumberStyle(const Reference< XPropertySet >& _rxControlModel, const ::rtl::OUString& _rControlNumerStyleName)
+ if (m_pAutoStyles)
{
- OSL_ENSURE(_rxControlModel.is() && (0 != _rControlNumerStyleName.getLength()),
- "OFormLayerXMLImport_Impl::applyControlNumberStyle: invalid arguments (this will crash)!");
-
- OSL_ENSURE(m_pAutoStyles, "OFormLayerXMLImport_Impl::applyControlNumberStyle: have no auto style context!");
- if (!m_pAutoStyles)
+ const SvXMLStyleContext* pStyle = m_pAutoStyles->FindStyleChildContext(XML_STYLE_FAMILY_DATA_STYLE, _rControlNumerStyleName);
+ if (pStyle)
{
- m_pAutoStyles = m_rImporter.GetShapeImport()->GetAutoStylesContext();
- if (m_pAutoStyles)
- m_pAutoStyles->AddRef();
- }
+ const SvXMLNumFormatContext* pDataStyle = static_cast<const SvXMLNumFormatContext*>(pStyle);
- if (m_pAutoStyles)
- {
- const SvXMLStyleContext* pStyle = m_pAutoStyles->FindStyleChildContext(XML_STYLE_FAMILY_DATA_STYLE, _rControlNumerStyleName);
- if (pStyle)
+ // set this format at the control model
+ try
{
- const SvXMLNumFormatContext* pDataStyle = static_cast<const SvXMLNumFormatContext*>(pStyle);
-
- // set this format at the control model
- try
+ // the models number format supplier and formats
+ Reference< XNumberFormatsSupplier > xFormatsSupplier;
+ _rxControlModel->getPropertyValue(PROPERTY_FORMATSSUPPLIER) >>= xFormatsSupplier;
+ Reference< XNumberFormats > xFormats;
+ if (xFormatsSupplier.is())
+ xFormats = xFormatsSupplier->getNumberFormats();
+ OSL_ENSURE(xFormats.is(), "OFormLayerXMLImport_Impl::applyControlNumberStyle: could not obtain the controls number formats!");
+
+ // obtain a key
+ if (xFormats.is())
{
- // the models number format supplier and formats
- Reference< XNumberFormatsSupplier > xFormatsSupplier;
- _rxControlModel->getPropertyValue(PROPERTY_FORMATSSUPPLIER) >>= xFormatsSupplier;
- Reference< XNumberFormats > xFormats;
- if (xFormatsSupplier.is())
- xFormats = xFormatsSupplier->getNumberFormats();
- OSL_ENSURE(xFormats.is(), "OFormLayerXMLImport_Impl::applyControlNumberStyle: could not obtain the controls number formats!");
-
- // obtain a key
- if (xFormats.is())
- {
- sal_Int32 nFormatKey = const_cast<SvXMLNumFormatContext*>(pDataStyle)->CreateAndInsert( xFormatsSupplier );
- OSL_ENSURE(-1 != nFormatKey, "OFormLayerXMLImport_Impl::applyControlNumberStyle: could not obtain a format key!");
+ sal_Int32 nFormatKey = const_cast<SvXMLNumFormatContext*>(pDataStyle)->CreateAndInsert( xFormatsSupplier );
+ OSL_ENSURE(-1 != nFormatKey, "OFormLayerXMLImport_Impl::applyControlNumberStyle: could not obtain a format key!");
- // set the format on the control model
- _rxControlModel->setPropertyValue(PROPERTY_FORMATKEY, makeAny(nFormatKey));
- }
- }
- catch(const Exception&)
- {
- OSL_ENSURE(sal_False, "OFormLayerXMLImport_Impl::applyControlNumberStyle: couldn't set the format!");
+ // set the format on the control model
+ _rxControlModel->setPropertyValue(PROPERTY_FORMATKEY, makeAny(nFormatKey));
}
}
- else
- OSL_ENSURE(sal_False, "OFormLayerXMLImport_Impl::applyControlNumberStyle: did not find the style with the given name!");
+ catch(const Exception&)
+ {
+ OSL_ENSURE(sal_False, "OFormLayerXMLImport_Impl::applyControlNumberStyle: couldn't set the format!");
+ }
}
+ else
+ OSL_ENSURE(sal_False, "OFormLayerXMLImport_Impl::applyControlNumberStyle: did not find the style with the given name!");
}
+}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::registerCellValueBinding( const Reference< XPropertySet >& _rxControlModel, const ::rtl::OUString& _rCellAddress )
- {
- OSL_ENSURE( _rxControlModel.is() && _rCellAddress.getLength(),
- "OFormLayerXMLImport_Impl::registerCellValueBinding: invalid arguments!" );
- m_aCellValueBindings.push_back( ModelStringPair( _rxControlModel, _rCellAddress ) );
- }
-
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::registerXFormsValueBinding(
- const Reference< XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rBindingID )
- {
- // TODO: is an empty binding name allowed?
- OSL_ENSURE( _rxControlModel.is(), "need model" );
-
- m_aXFormsValueBindings.push_back(
- ModelStringPair( _rxControlModel, _rBindingID ) );
- }
-
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::registerXFormsListBinding(
- const Reference< XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rBindingID )
- {
- // TODO: is an empty binding name allowed?
- OSL_ENSURE( _rxControlModel.is(), "need model" );
-
- m_aXFormsListBindings.push_back(
- ModelStringPair( _rxControlModel, _rBindingID ) );
- }
-
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::registerXFormsSubmission(
- const Reference< XPropertySet >& _rxControlModel,
- const ::rtl::OUString& _rSubmissionID )
- {
- // TODO: is an empty binding name allowed?
- OSL_ENSURE( _rxControlModel.is(), "need model" );
-
- m_aXFormsSubmissions.push_back(
- ModelStringPair( _rxControlModel, _rSubmissionID ) );
- }
-
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::registerCellRangeListSource( const Reference< XPropertySet >& _rxControlModel, const ::rtl::OUString& _rCellRangeAddress )
- {
- OSL_ENSURE( _rxControlModel.is() && _rCellRangeAddress.getLength(),
- "OFormLayerXMLImport_Impl::registerCellRangeListSource: invalid arguments!" );
- m_aCellRangeListSources.push_back( ModelStringPair( _rxControlModel, _rCellRangeAddress ) );
- }
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::registerCellValueBinding( const Reference< XPropertySet >& _rxControlModel, const ::rtl::OUString& _rCellAddress )
+{
+ OSL_ENSURE( _rxControlModel.is() && _rCellAddress.getLength(),
+ "OFormLayerXMLImport_Impl::registerCellValueBinding: invalid arguments!" );
+ m_aCellValueBindings.push_back( ModelStringPair( _rxControlModel, _rCellAddress ) );
+}
+
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::registerXFormsValueBinding(
+ const Reference< XPropertySet >& _rxControlModel,
+ const ::rtl::OUString& _rBindingID )
+{
+ // TODO: is an empty binding name allowed?
+ OSL_ENSURE( _rxControlModel.is(), "need model" );
- //---------------------------------------------------------------------
- IControlIdMap& OFormLayerXMLImport_Impl::getControlIdMap()
- {
- return *this;
- }
+ m_aXFormsValueBindings.push_back(
+ ModelStringPair( _rxControlModel, _rBindingID ) );
+}
- //---------------------------------------------------------------------
- OAttribute2Property& OFormLayerXMLImport_Impl::getAttributeMap()
- {
- return m_aAttributeMetaData;
- }
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::registerXFormsListBinding(
+ const Reference< XPropertySet >& _rxControlModel,
+ const ::rtl::OUString& _rBindingID )
+{
+ // TODO: is an empty binding name allowed?
+ OSL_ENSURE( _rxControlModel.is(), "need model" );
- //---------------------------------------------------------------------
- Reference< XMultiServiceFactory > OFormLayerXMLImport_Impl::getServiceFactory()
- {
- // #110680#
- // return ::comphelper::getProcessServiceFactory();
- return m_rImporter.getServiceFactory();
- }
+ m_aXFormsListBindings.push_back(
+ ModelStringPair( _rxControlModel, _rBindingID ) );
+}
- //---------------------------------------------------------------------
- SvXMLImport& OFormLayerXMLImport_Impl::getGlobalContext()
- {
- return m_rImporter;
- }
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::registerXFormsSubmission(
+ const Reference< XPropertySet >& _rxControlModel,
+ const ::rtl::OUString& _rSubmissionID )
+{
+ // TODO: is an empty binding name allowed?
+ OSL_ENSURE( _rxControlModel.is(), "need model" );
- //---------------------------------------------------------------------
- const SvXMLStyleContext* OFormLayerXMLImport_Impl::getStyleElement(const ::rtl::OUString& _rStyleName) const
- {
- OSL_ENSURE( m_pAutoStyles, "OFormLayerXMLImport_Impl::getStyleElement: have no auto style context!" );
- // did you use setAutoStyleContext?
-
- const SvXMLStyleContext* pControlStyle =
- m_pAutoStyles ? m_pAutoStyles->FindStyleChildContext( XML_STYLE_FAMILY_TEXT_PARAGRAPH, _rStyleName ) : NULL;
- OSL_ENSURE( pControlStyle || !m_pAutoStyles,
- ::rtl::OString( "OFormLayerXMLImport_Impl::getStyleElement: did not find the style named \"" )
- += ::rtl::OString( _rStyleName.getStr(), _rStyleName.getLength(), RTL_TEXTENCODING_ASCII_US )
- += ::rtl::OString( "\"!" ) );
- return pControlStyle;
- }
+ m_aXFormsSubmissions.push_back(
+ ModelStringPair( _rxControlModel, _rSubmissionID ) );
+}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::enterEventContext()
- {
- // install our own translation table. We need to disable the other tables because of name conflicts.
- m_rImporter.GetEventImport().PushTranslationTable();
- m_rImporter.GetEventImport().AddTranslationTable(g_pFormsEventTranslation);
- }
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::registerCellRangeListSource( const Reference< XPropertySet >& _rxControlModel, const ::rtl::OUString& _rCellRangeAddress )
+{
+ OSL_ENSURE( _rxControlModel.is() && _rCellRangeAddress.getLength(),
+ "OFormLayerXMLImport_Impl::registerCellRangeListSource: invalid arguments!" );
+ m_aCellRangeListSources.push_back( ModelStringPair( _rxControlModel, _rCellRangeAddress ) );
+}
+//---------------------------------------------------------------------
+const SvXMLStyleContext* OFormLayerXMLImport_Impl::getStyleElement(const ::rtl::OUString& _rStyleName) const
+{
+ OSL_ENSURE( m_pAutoStyles, "OFormLayerXMLImport_Impl::getStyleElement: have no auto style context!" );
+ // did you use setAutoStyleContext?
+
+ const SvXMLStyleContext* pControlStyle =
+ m_pAutoStyles ? m_pAutoStyles->FindStyleChildContext( XML_STYLE_FAMILY_TEXT_PARAGRAPH, _rStyleName ) : NULL;
+ OSL_ENSURE( pControlStyle || !m_pAutoStyles,
+ ::rtl::OString( "OFormLayerXMLImport_Impl::getStyleElement: did not find the style named \"" )
+ += ::rtl::OString( _rStyleName.getStr(), _rStyleName.getLength(), RTL_TEXTENCODING_ASCII_US )
+ += ::rtl::OString( "\"!" ) );
+ return pControlStyle;
+}
+
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::enterEventContext()
+{
+ // install our own translation table. We need to disable the other tables because of name conflicts.
+ m_rImporter.GetEventImport().PushTranslationTable();
+ m_rImporter.GetEventImport().AddTranslationTable(g_pFormsEventTranslation);
+}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::leaveEventContext()
- {
- // install the original event tables.
- m_rImporter.GetEventImport().PopTranslationTable();
- }
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::leaveEventContext()
+{
+ // install the original event tables.
+ m_rImporter.GetEventImport().PopTranslationTable();
+}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::registerControlId(const Reference< XPropertySet >& _rxControl, const ::rtl::OUString& _rId)
- {
- OSL_ENSURE(m_aCurrentPageIds != m_aControlIds.end(), "OFormLayerXMLImport_Impl::registerControlId: no current page!");
- OSL_ENSURE(_rId.getLength(), "OFormLayerXMLImport_Impl::registerControlId: invalid (empty) control id!");
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::registerControlId(const Reference< XPropertySet >& _rxControl, const ::rtl::OUString& _rId)
+{
+ OSL_ENSURE(m_aCurrentPageIds != m_aControlIds.end(), "OFormLayerXMLImport_Impl::registerControlId: no current page!");
+ OSL_ENSURE(_rId.getLength(), "OFormLayerXMLImport_Impl::registerControlId: invalid (empty) control id!");
- OSL_ENSURE(m_aCurrentPageIds->second.end() == m_aCurrentPageIds->second.find(_rId), "OFormLayerXMLImport_Impl::registerControlId: control id already used!");
- m_aCurrentPageIds->second[_rId] = _rxControl;
- }
+ OSL_ENSURE(m_aCurrentPageIds->second.end() == m_aCurrentPageIds->second.find(_rId), "OFormLayerXMLImport_Impl::registerControlId: control id already used!");
+ m_aCurrentPageIds->second[_rId] = _rxControl;
+}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::registerControlReferences(const Reference< XPropertySet >& _rxControl, const ::rtl::OUString& _rReferringControls)
- {
- OSL_ENSURE(_rReferringControls.getLength(), "OFormLayerXMLImport_Impl::registerControlReferences: invalid (empty) control id list!");
- OSL_ENSURE(_rxControl.is(), "OFormLayerXMLImport_Impl::registerControlReferences: invalid (NULL) control!");
- m_aControlReferences.push_back( ModelStringPair( _rxControl, _rReferringControls ) );
- }
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::registerControlReferences(const Reference< XPropertySet >& _rxControl, const ::rtl::OUString& _rReferringControls)
+{
+ OSL_ENSURE(_rReferringControls.getLength(), "OFormLayerXMLImport_Impl::registerControlReferences: invalid (empty) control id list!");
+ OSL_ENSURE(_rxControl.is(), "OFormLayerXMLImport_Impl::registerControlReferences: invalid (NULL) control!");
+ m_aControlReferences.push_back( ModelStringPair( _rxControl, _rReferringControls ) );
+}
- //---------------------------------------------------------------------
- ::vos::ORef< SvXMLImportPropertyMapper > OFormLayerXMLImport_Impl::getStylePropertyMapper() const
- {
- return m_xImportMapper;
- }
+//---------------------------------------------------------------------
+::vos::ORef< SvXMLImportPropertyMapper > OFormLayerXMLImport_Impl::getStylePropertyMapper() const
+{
+ return m_xImportMapper;
+}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::startPage(const Reference< XDrawPage >& _rxDrawPage)
- {
- m_xCurrentPageFormsSupp.clear();
-
- OSL_ENSURE(_rxDrawPage.is(), "OFormLayerXMLImport_Impl::startPage: NULL page!");
- m_xCurrentPageFormsSupp = m_xCurrentPageFormsSupp.query( _rxDrawPage );
- OSL_ENSURE( m_xCurrentPageFormsSupp.is(), "OFormLayerXMLImport_Impl::startPage: invalid draw page (no XFormsSupplier)!" );
- if ( !m_xCurrentPageFormsSupp.is() )
- return;
-
- // add a new entry to our page map
- ::std::pair< MapDrawPage2MapIterator, bool > aPagePosition;
- aPagePosition =
- m_aControlIds.insert(MapDrawPage2Map::value_type(_rxDrawPage, MapString2PropertySet()));
- OSL_ENSURE(aPagePosition.second, "OFormLayerXMLImport_Impl::startPage: already imported this page!");
- m_aCurrentPageIds = aPagePosition.first;
- }
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::startPage(const Reference< XDrawPage >& _rxDrawPage)
+{
+ m_xCurrentPageFormsSupp.clear();
+
+ OSL_ENSURE(_rxDrawPage.is(), "OFormLayerXMLImport_Impl::startPage: NULL page!");
+ m_xCurrentPageFormsSupp = m_xCurrentPageFormsSupp.query( _rxDrawPage );
+ OSL_ENSURE( m_xCurrentPageFormsSupp.is(), "OFormLayerXMLImport_Impl::startPage: invalid draw page (no XFormsSupplier)!" );
+ if ( !m_xCurrentPageFormsSupp.is() )
+ return;
+
+ // add a new entry to our page map
+ ::std::pair< MapDrawPage2MapIterator, bool > aPagePosition;
+ aPagePosition =
+ m_aControlIds.insert(MapDrawPage2Map::value_type(_rxDrawPage, MapString2PropertySet()));
+ OSL_ENSURE(aPagePosition.second, "OFormLayerXMLImport_Impl::startPage: already imported this page!");
+ m_aCurrentPageIds = aPagePosition.first;
+}
+
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::endPage()
+{
+ OSL_ENSURE( m_xCurrentPageFormsSupp.is(), "OFormLayerXMLImport_Impl::endPage: sure you called startPage before?" );
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::endPage()
+ // do some knittings for the controls which are referring to each other
+ try
{
- OSL_ENSURE( m_xCurrentPageFormsSupp.is(), "OFormLayerXMLImport_Impl::endPage: sure you called startPage before?" );
-
- // do some knittings for the controls which are referring to each other
- try
+ static const sal_Unicode s_nSeparator = ',';
+ ::rtl::OUString sReferring;
+ ::rtl::OUString sCurrentReferring;
+ ::rtl::OUString sSeparator(&s_nSeparator, 1);
+ Reference< XPropertySet > xCurrentReferring;
+ sal_Int32 nSeparator, nPrevSep;
+ ::std::vector< ModelStringPair >::const_iterator aEnd = m_aControlReferences.end();
+ for ( ::std::vector< ModelStringPair >::const_iterator aReferences = m_aControlReferences.begin();
+ aReferences != aEnd;
+ ++aReferences
+ )
{
- static const sal_Unicode s_nSeparator = ',';
- ::rtl::OUString sReferring;
- ::rtl::OUString sCurrentReferring;
- ::rtl::OUString sSeparator(&s_nSeparator, 1);
- Reference< XPropertySet > xCurrentReferring;
- sal_Int32 nSeparator, nPrevSep;
- for ( ::std::vector< ModelStringPair >::const_iterator aReferences = m_aControlReferences.begin();
- aReferences != m_aControlReferences.end();
- ++aReferences
- )
- {
- // the list of control ids is comma separated
+ // the list of control ids is comma separated
- // in a list of n ids there are only n-1 separators ... have to catch this last id
- // -> normalize the list
- sReferring = aReferences->second;
- sReferring += sSeparator;
+ // in a list of n ids there are only n-1 separators ... have to catch this last id
+ // -> normalize the list
+ sReferring = aReferences->second;
+ sReferring += sSeparator;
- nPrevSep = -1;
- while (-1 != (nSeparator = sReferring.indexOf(s_nSeparator, nPrevSep + 1)))
- {
- sCurrentReferring = sReferring.copy(nPrevSep + 1, nSeparator - nPrevSep - 1);
- xCurrentReferring = lookupControlId(sCurrentReferring);
- if (xCurrentReferring.is())
- // if this condition fails, this is an error, but lookupControlId should have asserted this ...
- xCurrentReferring->setPropertyValue( PROPERTY_CONTROLLABEL, makeAny( aReferences->first ) );
+ nPrevSep = -1;
+ while (-1 != (nSeparator = sReferring.indexOf(s_nSeparator, nPrevSep + 1)))
+ {
+ sCurrentReferring = sReferring.copy(nPrevSep + 1, nSeparator - nPrevSep - 1);
+ xCurrentReferring = lookupControlId(sCurrentReferring);
+ if (xCurrentReferring.is())
+ // if this condition fails, this is an error, but lookupControlId should have asserted this ...
+ xCurrentReferring->setPropertyValue( PROPERTY_CONTROLLABEL, makeAny( aReferences->first ) );
- nPrevSep = nSeparator;
- }
+ nPrevSep = nSeparator;
}
}
- catch(Exception&)
- {
- OSL_ENSURE(sal_False, "OFormLayerXMLImport_Impl::endPage: unable to knit the control references (caught an exception)!");
- }
+ }
+ catch(Exception&)
+ {
+ OSL_ENSURE(sal_False, "OFormLayerXMLImport_Impl::endPage: unable to knit the control references (caught an exception)!");
+ }
- // now that we have all children of the forms collection, attach the events
- Reference< XIndexAccess > xIndexContainer;
- if ( m_xCurrentPageFormsSupp.is() && m_xCurrentPageFormsSupp->hasForms() )
- xIndexContainer = xIndexContainer.query( m_xCurrentPageFormsSupp->getForms() );
- if ( xIndexContainer.is() )
- ODefaultEventAttacherManager::setEvents( xIndexContainer );
+ // now that we have all children of the forms collection, attach the events
+ Reference< XIndexAccess > xIndexContainer;
+ if ( m_xCurrentPageFormsSupp.is() && m_xCurrentPageFormsSupp->hasForms() )
+ xIndexContainer = xIndexContainer.query( m_xCurrentPageFormsSupp->getForms() );
+ if ( xIndexContainer.is() )
+ ODefaultEventAttacherManager::setEvents( xIndexContainer );
- // clear the structures for the control references.
- m_aControlReferences.clear();
+ // clear the structures for the control references.
+ m_aControlReferences.clear();
- // and no we have no current page anymore
- m_aCurrentPageIds = m_aControlIds.end();
- }
+ // and no we have no current page anymore
+ m_aCurrentPageIds = m_aControlIds.end();
+}
- //---------------------------------------------------------------------
- Reference< XPropertySet > OFormLayerXMLImport_Impl::lookupControlId(const ::rtl::OUString& _rControlId)
+//---------------------------------------------------------------------
+Reference< XPropertySet > OFormLayerXMLImport_Impl::lookupControlId(const ::rtl::OUString& _rControlId)
+{
+ OSL_ENSURE(m_aCurrentPageIds != m_aControlIds.end(), "OFormLayerXMLImport_Impl::lookupControlId: no current page!");
+ Reference< XPropertySet > xReturn;
+ if (m_aCurrentPageIds != m_aControlIds.end())
{
- OSL_ENSURE(m_aCurrentPageIds != m_aControlIds.end(), "OFormLayerXMLImport_Impl::lookupControlId: no current page!");
- Reference< XPropertySet > xReturn;
- if (m_aCurrentPageIds != m_aControlIds.end())
- {
- ConstMapString2PropertySetIterator aPos = m_aCurrentPageIds->second.find(_rControlId);
- if (m_aCurrentPageIds->second.end() != aPos)
- xReturn = aPos->second;
- else
- OSL_ENSURE(sal_False, "OFormLayerXMLImport_Impl::lookupControlId: invalid control id (did not find it)!");
- }
- return xReturn;
+ ConstMapString2PropertySetIterator aPos = m_aCurrentPageIds->second.find(_rControlId);
+ if (m_aCurrentPageIds->second.end() != aPos)
+ xReturn = aPos->second;
+ else
+ OSL_ENSURE(sal_False, "OFormLayerXMLImport_Impl::lookupControlId: invalid control id (did not find it)!");
}
+ return xReturn;
+}
+
+//---------------------------------------------------------------------
+SvXMLImportContext* OFormLayerXMLImport_Impl::createOfficeFormsContext(
+ SvXMLImport& _rImport,
+ sal_uInt16 _nPrefix,
+ const rtl::OUString& _rLocalName)
+{
+ return new OFormsRootImport( _rImport, _nPrefix, _rLocalName );
+}
- //---------------------------------------------------------------------
- SvXMLImportContext* OFormLayerXMLImport_Impl::createOfficeFormsContext(
- SvXMLImport& _rImport,
- sal_uInt16 _nPrefix,
- const rtl::OUString& _rLocalName)
+//---------------------------------------------------------------------
+SvXMLImportContext* OFormLayerXMLImport_Impl::createContext(const sal_uInt16 _nPrefix, const rtl::OUString& _rLocalName,
+ const Reference< sax::XAttributeList >&)
+{
+ SvXMLImportContext* pContext = NULL;
+ if ( 0 == _rLocalName.compareToAscii( "form" ) )
{
- return new OFormsRootImport( _rImport, _nPrefix, _rLocalName );
+ if ( m_xCurrentPageFormsSupp.is() )
+ pContext = new OFormImport(*this, *this, _nPrefix, _rLocalName, m_xCurrentPageFormsSupp->getForms() );
}
-
- //---------------------------------------------------------------------
- SvXMLImportContext* OFormLayerXMLImport_Impl::createContext(const sal_uInt16 _nPrefix, const rtl::OUString& _rLocalName,
- const Reference< sax::XAttributeList >&)
+ else if ( ( _nPrefix == XML_NAMESPACE_XFORMS
+ && ( xmloff::token::IsXMLToken( _rLocalName, xmloff::token::XML_MODEL ) ) )
+ )
{
- SvXMLImportContext* pContext = NULL;
- if ( 0 == _rLocalName.compareToAscii( "form" ) )
- {
- if ( m_xCurrentPageFormsSupp.is() )
- pContext = new OFormImport(*this, *this, _nPrefix, _rLocalName, m_xCurrentPageFormsSupp->getForms() );
- }
- else if ( ( _nPrefix == XML_NAMESPACE_XFORMS
- && ( xmloff::token::IsXMLToken( _rLocalName, xmloff::token::XML_MODEL ) ) )
- )
- {
- pContext = createXFormsModelContext( m_rImporter, _nPrefix, _rLocalName );
- }
-
- if ( !pContext )
- {
- OSL_ENSURE( false, "unknown element" );
- pContext =
- new SvXMLImportContext(m_rImporter, _nPrefix, _rLocalName);
- }
-
- return pContext;
+ pContext = createXFormsModelContext( m_rImporter, _nPrefix, _rLocalName );
}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::seekPage(const Reference< XDrawPage >& _rxDrawPage)
+ if ( !pContext )
{
- OSL_ENSURE(m_aCurrentPageIds == m_aControlIds.end(), "OFormLayerXMLImport_Impl::seekPage: importing another page currently! This will smash your import!");
- m_aCurrentPageIds = m_aControlIds.find(_rxDrawPage);
- OSL_ENSURE(m_aCurrentPageIds != m_aControlIds.end(), "OFormLayerXMLImport_Impl::seekPage: did not find the given page (perhaps it has not been imported, yet?)!");
+ OSL_ENSURE( false, "unknown element" );
+ pContext =
+ new SvXMLImportContext(m_rImporter, _nPrefix, _rLocalName);
}
- //---------------------------------------------------------------------
- void OFormLayerXMLImport_Impl::documentDone( )
- {
- if ( ( getGlobalContext().getImportFlags() & IMPORT_CONTENT ) == 0 )
- return;
+ return pContext;
+}
+
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::seekPage(const Reference< XDrawPage >& _rxDrawPage)
+{
+ OSL_ENSURE(m_aCurrentPageIds == m_aControlIds.end(), "OFormLayerXMLImport_Impl::seekPage: importing another page currently! This will smash your import!");
+ m_aCurrentPageIds = m_aControlIds.find(_rxDrawPage);
+ OSL_ENSURE(m_aCurrentPageIds != m_aControlIds.end(), "OFormLayerXMLImport_Impl::seekPage: did not find the given page (perhaps it has not been imported, yet?)!");
+}
- // create (and bind) the spreadsheet cell bindings
- if ( !m_aCellValueBindings.empty()
- && FormCellBindingHelper::isCellBindingAllowed( getGlobalContext().GetModel() )
+//---------------------------------------------------------------------
+void OFormLayerXMLImport_Impl::documentDone( )
+{
+ SvXMLImport& rImport = getGlobalContext();
+ if ( ( rImport.getImportFlags() & IMPORT_CONTENT ) == 0 )
+ return;
+
+ // create (and bind) the spreadsheet cell bindings
+ if ( !m_aCellValueBindings.empty()
+ && FormCellBindingHelper::isCellBindingAllowed( rImport.GetModel() )
+ )
+ {
+ static ::rtl::OUString s_sIndex( RTL_CONSTASCII_USTRINGPARAM( ":index" ) );
+ ::std::vector< ModelStringPair >::const_iterator aEnd = m_aCellValueBindings.end();
+ for ( ::std::vector< ModelStringPair >::const_iterator aCellBindings = m_aCellValueBindings.begin();
+ aCellBindings != aEnd;
+ ++aCellBindings
)
{
- for ( ::std::vector< ModelStringPair >::const_iterator aCellBindings = m_aCellValueBindings.begin();
- aCellBindings != m_aCellValueBindings.end();
- ++aCellBindings
- )
+ try
{
- try
+ FormCellBindingHelper aHelper( aCellBindings->first, rImport.GetModel() );
+ OSL_ENSURE( aHelper.isCellBindingAllowed(), "OFormLayerXMLImport_Impl::documentDone: can't bind this control model!" );
+ if ( aHelper.isCellBindingAllowed() )
{
- FormCellBindingHelper aHelper( aCellBindings->first, getGlobalContext().GetModel() );
- OSL_ENSURE( aHelper.isCellBindingAllowed(), "OFormLayerXMLImport_Impl::documentDone: can't bind this control model!" );
- if ( aHelper.isCellBindingAllowed() )
+ // There are special bindings for listboxes. See
+ // OListAndComboImport::doRegisterCellValueBinding for a comment on this HACK.
+ ::rtl::OUString sBoundCellAddress( aCellBindings->second );
+ sal_Int32 nIndicator = sBoundCellAddress.lastIndexOf( s_sIndex );
+
+ bool bUseIndexBinding = false;
+ if ( nIndicator != -1 )
{
- // There are special bindings for listboxes. See
- // OListAndComboImport::doRegisterCellValueBinding for a comment on this HACK.
- ::rtl::OUString sBoundCellAddress( aCellBindings->second );
- sal_Int32 nIndicator = sBoundCellAddress.lastIndexOf( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ":index" ) ) );
-
- bool bUseIndexBinding = false;
- if ( nIndicator != -1 )
- {
- sBoundCellAddress = sBoundCellAddress.copy( 0, nIndicator );
- bUseIndexBinding = true;
- }
-
- aHelper.setBinding( aHelper.createCellBindingFromStringAddress( sBoundCellAddress, bUseIndexBinding ) );
+ sBoundCellAddress = sBoundCellAddress.copy( 0, nIndicator );
+ bUseIndexBinding = true;
}
+
+ aHelper.setBinding( aHelper.createCellBindingFromStringAddress( sBoundCellAddress, bUseIndexBinding ) );
}
- catch( const Exception& )
- {
- OSL_ENSURE( sal_False, "OFormLayerXMLImport_Impl::documentDone: caught an exception while binding to a cell!" );
- }
}
- m_aCellValueBindings.clear();
+ catch( const Exception& )
+ {
+ OSL_ENSURE( sal_False, "OFormLayerXMLImport_Impl::documentDone: caught an exception while binding to a cell!" );
+ }
}
+ m_aCellValueBindings.clear();
+ }
- // the same for the spreadsheet cell range list sources
- if ( !m_aCellRangeListSources.empty()
- && FormCellBindingHelper::isListCellRangeAllowed( getGlobalContext().GetModel() )
+ // the same for the spreadsheet cell range list sources
+ if ( !m_aCellRangeListSources.empty()
+ && FormCellBindingHelper::isListCellRangeAllowed( rImport.GetModel() )
+ )
+ {
+ for ( ::std::vector< ModelStringPair >::const_iterator aRangeBindings = m_aCellRangeListSources.begin();
+ aRangeBindings != m_aCellRangeListSources.end();
+ ++aRangeBindings
)
{
- for ( ::std::vector< ModelStringPair >::const_iterator aRangeBindings = m_aCellRangeListSources.begin();
- aRangeBindings != m_aCellRangeListSources.end();
- ++aRangeBindings
- )
+ try
{
- try
+ FormCellBindingHelper aHelper( aRangeBindings->first, rImport.GetModel() );
+ OSL_ENSURE( aHelper.isListCellRangeAllowed(), "OFormLayerXMLImport_Impl::documentDone: can't bind this control model!" );
+ if ( aHelper.isListCellRangeAllowed() )
{
- FormCellBindingHelper aHelper( aRangeBindings->first, getGlobalContext().GetModel() );
- OSL_ENSURE( aHelper.isListCellRangeAllowed(), "OFormLayerXMLImport_Impl::documentDone: can't bind this control model!" );
- if ( aHelper.isListCellRangeAllowed() )
- {
- aHelper.setListSource( aHelper.createCellListSourceFromStringAddress( aRangeBindings->second ) );
- }
- }
- catch( const Exception& )
- {
- OSL_ENSURE( sal_False, "OFormLayerXMLImport_Impl::documentDone: caught an exception while binding to a cell range!" );
+ aHelper.setListSource( aHelper.createCellListSourceFromStringAddress( aRangeBindings->second ) );
}
}
- m_aCellRangeListSources.clear();
+ catch( const Exception& )
+ {
+ OSL_ENSURE( sal_False, "OFormLayerXMLImport_Impl::documentDone: caught an exception while binding to a cell range!" );
+ }
}
-
- // process XForms-bindings; call registerXFormsValueBinding for each
- std::for_each( m_aXFormsValueBindings.begin(),
- m_aXFormsValueBindings.end(),
- bind1st( ptr_fun( bindXFormsValueBinding ),
- getGlobalContext().GetModel() ) );
- // same for list bindings
- std::for_each( m_aXFormsListBindings.begin(),
- m_aXFormsListBindings.end(),
- bind1st( ptr_fun( bindXFormsListBinding ),
- getGlobalContext().GetModel() ) );
- // same for submissions
- std::for_each( m_aXFormsSubmissions.begin(),
- m_aXFormsSubmissions.end(),
- bind1st( ptr_fun( bindXFormsSubmission ),
- getGlobalContext().GetModel() ) );
+ m_aCellRangeListSources.clear();
}
+ // process XForms-bindings; call registerXFormsValueBinding for each
+ std::for_each( m_aXFormsValueBindings.begin(),
+ m_aXFormsValueBindings.end(),
+ bind1st( ptr_fun( bindXFormsValueBinding ),
+ rImport.GetModel() ) );
+ // same for list bindings
+ std::for_each( m_aXFormsListBindings.begin(),
+ m_aXFormsListBindings.end(),
+ bind1st( ptr_fun( bindXFormsListBinding ),
+ rImport.GetModel() ) );
+ // same for submissions
+ std::for_each( m_aXFormsSubmissions.begin(),
+ m_aXFormsSubmissions.end(),
+ bind1st( ptr_fun( bindXFormsSubmission ),
+ rImport.GetModel() ) );
+}
+
//.........................................................................
} // namespace xmloff
//.........................................................................
diff --git a/xmloff/source/forms/layerimport.hxx b/xmloff/source/forms/layerimport.hxx
index 59872a1ec7..ad11880beb 100644
--- a/xmloff/source/forms/layerimport.hxx
+++ b/xmloff/source/forms/layerimport.hxx
@@ -81,9 +81,7 @@ namespace xmloff
//= OFormLayerXMLImport_Impl
//=====================================================================
class OFormLayerXMLImport_Impl
- :public IControlIdMap
- ,public IFormsImportContext
- ,public ODefaultEventAttacherManager
+ : public ODefaultEventAttacherManager
{
friend class OFormLayerXMLImport;
@@ -127,54 +125,51 @@ namespace xmloff
public:
// IControlIdMap
- virtual void registerControlId(
+ void registerControlId(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl,
const ::rtl::OUString& _rId);
- virtual void registerControlReferences(
+ void registerControlReferences(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl,
const ::rtl::OUString& _rReferringControls);
- // IFormsImportContext
- virtual IControlIdMap& getControlIdMap();
- virtual OAttribute2Property& getAttributeMap();
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- getServiceFactory();
- virtual SvXMLImport& getGlobalContext();
+ // OFormLayerXMLImport_Impl
+ inline OAttribute2Property& getAttributeMap() { return m_aAttributeMetaData; }
+ inline SvXMLImport& getGlobalContext() { return m_rImporter; }
const SvXMLStyleContext* getStyleElement(const ::rtl::OUString& _rStyleName) const;
- virtual void enterEventContext();
- virtual void leaveEventContext();
+ void enterEventContext();
+ void leaveEventContext();
void applyControlNumberStyle(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
const ::rtl::OUString& _rControlNumerStyleName
);
- virtual void registerCellValueBinding(
+ void registerCellValueBinding(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
const ::rtl::OUString& _rCellAddress
);
- virtual void registerCellRangeListSource(
+ void registerCellRangeListSource(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
const ::rtl::OUString& _rCellRangeAddress
);
- virtual void registerXFormsValueBinding(
+ void registerXFormsValueBinding(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
const ::rtl::OUString& _rBindingID
);
- virtual void registerXFormsListBinding(
+ void registerXFormsListBinding(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
const ::rtl::OUString& _rBindingID
);
- virtual void registerXFormsSubmission(
+ void registerXFormsSubmission(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel,
const ::rtl::OUString& _rSubmissionID
);
protected:
OFormLayerXMLImport_Impl(SvXMLImport& _rImporter);
- ~OFormLayerXMLImport_Impl();
+ virtual ~OFormLayerXMLImport_Impl();
/** retrieves the property mapper form form related auto styles.
*/
diff --git a/xmloff/source/forms/propertyimport.cxx b/xmloff/source/forms/propertyimport.cxx
index ec109ad2aa..3d88b29271 100644
--- a/xmloff/source/forms/propertyimport.cxx
+++ b/xmloff/source/forms/propertyimport.cxx
@@ -45,6 +45,7 @@
#include <com/sun/star/util/Time.hpp>
#include <com/sun/star/util/DateTime.hpp>
#include <unotools/datetime.hxx>
+#include <rtl/logfile.hxx>
#if OSL_DEBUG_LEVEL > 0
#ifndef _OSL_THREAD_H_
@@ -68,107 +69,135 @@ namespace xmloff
#define TYPE_TIME 2
#define TYPE_DATETIME 3
- //=====================================================================
- //= PropertyConversion
- //=====================================================================
- namespace
+//=====================================================================
+//= PropertyConversion
+//=====================================================================
+namespace
+{
+ //---------------------------------------------------------------------
+ ::com::sun::star::util::Time lcl_getTime(double _nValue)
{
- //---------------------------------------------------------------------
- ::com::sun::star::util::Time lcl_getTime(double _nValue)
- {
- ::com::sun::star::util::Time aTime;
- sal_uInt32 nIntValue = sal_Int32(_nValue * 8640000);
- nIntValue *= 8640000;
- aTime.HundredthSeconds = (sal_uInt16)( nIntValue % 100 );
- nIntValue /= 100;
- aTime.Seconds = (sal_uInt16)( nIntValue % 60 );
- nIntValue /= 60;
- aTime.Minutes = (sal_uInt16)( nIntValue % 60 );
- nIntValue /= 60;
- OSL_ENSURE(nIntValue < 24, "lcl_getTime: more than a day?");
- aTime.Hours = static_cast< sal_uInt16 >( nIntValue );
-
- return aTime;
- }
-
- //---------------------------------------------------------------------
- static ::com::sun::star::util::Date lcl_getDate( double _nValue )
- {
- Date aToolsDate((sal_uInt32)_nValue);
- ::com::sun::star::util::Date aDate;
- ::utl::typeConvert(aToolsDate, aDate);
- return aDate;
- }
+ ::com::sun::star::util::Time aTime;
+ sal_uInt32 nIntValue = sal_Int32(_nValue * 8640000);
+ nIntValue *= 8640000;
+ aTime.HundredthSeconds = (sal_uInt16)( nIntValue % 100 );
+ nIntValue /= 100;
+ aTime.Seconds = (sal_uInt16)( nIntValue % 60 );
+ nIntValue /= 60;
+ aTime.Minutes = (sal_uInt16)( nIntValue % 60 );
+ nIntValue /= 60;
+ OSL_ENSURE(nIntValue < 24, "lcl_getTime: more than a day?");
+ aTime.Hours = static_cast< sal_uInt16 >( nIntValue );
+
+ return aTime;
}
//---------------------------------------------------------------------
- Any PropertyConversion::convertString( SvXMLImport& _rImporter, const ::com::sun::star::uno::Type& _rExpectedType,
- const ::rtl::OUString& _rReadCharacters, const SvXMLEnumMapEntry* _pEnumMap, const sal_Bool _bInvertBoolean )
+ static ::com::sun::star::util::Date lcl_getDate( double _nValue )
{
- Any aReturn;
- sal_Bool bEnumAsInt = sal_False;
- switch (_rExpectedType.getTypeClass())
+ Date aToolsDate((sal_uInt32)_nValue);
+ ::com::sun::star::util::Date aDate;
+ ::utl::typeConvert(aToolsDate, aDate);
+ return aDate;
+ }
+}
+
+//---------------------------------------------------------------------
+Any PropertyConversion::convertString( SvXMLImport& _rImporter, const ::com::sun::star::uno::Type& _rExpectedType,
+ const ::rtl::OUString& _rReadCharacters, const SvXMLEnumMapEntry* _pEnumMap, const sal_Bool _bInvertBoolean )
+{
+ Any aReturn;
+ sal_Bool bEnumAsInt = sal_False;
+ switch (_rExpectedType.getTypeClass())
+ {
+ case TypeClass_BOOLEAN: // sal_Bool
{
- case TypeClass_BOOLEAN: // sal_Bool
- {
- sal_Bool bValue;
- #if OSL_DEBUG_LEVEL > 0
+ sal_Bool bValue;
+ #if OSL_DEBUG_LEVEL > 0
+ sal_Bool bSuccess =
+ #endif
+ _rImporter.GetMM100UnitConverter().convertBool(bValue, _rReadCharacters);
+ OSL_ENSURE(bSuccess,
+ ::rtl::OString("PropertyConversion::convertString: could not convert \"")
+ += ::rtl::OString(_rReadCharacters.getStr(), _rReadCharacters.getLength(), RTL_TEXTENCODING_ASCII_US)
+ += ::rtl::OString("\" into a boolean!"));
+ aReturn = ::cppu::bool2any(_bInvertBoolean ? !bValue : bValue);
+ }
+ break;
+ case TypeClass_SHORT: // sal_Int16
+ case TypeClass_LONG: // sal_Int32
+ if (!_pEnumMap)
+ { // it's a real int32/16 property
+ sal_Int32 nValue(0);
+ #if OSL_DEBUG_LEVEL > 0
sal_Bool bSuccess =
- #endif
- _rImporter.GetMM100UnitConverter().convertBool(bValue, _rReadCharacters);
+ #endif
+ _rImporter.GetMM100UnitConverter().convertNumber(nValue, _rReadCharacters);
OSL_ENSURE(bSuccess,
::rtl::OString("PropertyConversion::convertString: could not convert \"")
+= ::rtl::OString(_rReadCharacters.getStr(), _rReadCharacters.getLength(), RTL_TEXTENCODING_ASCII_US)
- += ::rtl::OString("\" into a boolean!"));
- aReturn = ::cppu::bool2any(_bInvertBoolean ? !bValue : bValue);
- }
- break;
- case TypeClass_SHORT: // sal_Int16
- case TypeClass_LONG: // sal_Int32
- if (!_pEnumMap)
- { // it's a real int32/16 property
- sal_Int32 nValue(0);
- #if OSL_DEBUG_LEVEL > 0
- sal_Bool bSuccess =
- #endif
- _rImporter.GetMM100UnitConverter().convertNumber(nValue, _rReadCharacters);
- OSL_ENSURE(bSuccess,
- ::rtl::OString("PropertyConversion::convertString: could not convert \"")
- += ::rtl::OString(_rReadCharacters.getStr(), _rReadCharacters.getLength(), RTL_TEXTENCODING_ASCII_US)
- += ::rtl::OString("\" into an integer!"));
- if (TypeClass_SHORT == _rExpectedType.getTypeClass())
- aReturn <<= (sal_Int16)nValue;
- else
- aReturn <<= (sal_Int32)nValue;
- break;
- }
- bEnumAsInt = sal_True;
- // NO BREAK! handle it as enum
- case TypeClass_ENUM:
- {
- sal_uInt16 nEnumValue(0);
- #if OSL_DEBUG_LEVEL > 0
- sal_Bool bSuccess =
- #endif
- _rImporter.GetMM100UnitConverter().convertEnum(nEnumValue, _rReadCharacters, _pEnumMap);
- OSL_ENSURE(bSuccess, "PropertyConversion::convertString: could not convert to an enum value!");
- if (bEnumAsInt)
- if (TypeClass_SHORT == _rExpectedType.getTypeClass())
- aReturn <<= (sal_Int16)nEnumValue;
- else
- aReturn <<= (sal_Int32)nEnumValue;
+ += ::rtl::OString("\" into an integer!"));
+ if (TypeClass_SHORT == _rExpectedType.getTypeClass())
+ aReturn <<= (sal_Int16)nValue;
else
- aReturn = ::cppu::int2enum((sal_Int32)nEnumValue, _rExpectedType);
- }
- break;
- case TypeClass_HYPER:
- {
- OSL_ENSURE(sal_False, "PropertyConversion::convertString: 64-bit integers not implemented yet!");
+ aReturn <<= (sal_Int32)nValue;
+ break;
}
+ bEnumAsInt = sal_True;
+ // NO BREAK! handle it as enum
+ case TypeClass_ENUM:
+ {
+ sal_uInt16 nEnumValue(0);
+ #if OSL_DEBUG_LEVEL > 0
+ sal_Bool bSuccess =
+ #endif
+ _rImporter.GetMM100UnitConverter().convertEnum(nEnumValue, _rReadCharacters, _pEnumMap);
+ OSL_ENSURE(bSuccess, "PropertyConversion::convertString: could not convert to an enum value!");
+ if (bEnumAsInt)
+ if (TypeClass_SHORT == _rExpectedType.getTypeClass())
+ aReturn <<= (sal_Int16)nEnumValue;
+ else
+ aReturn <<= (sal_Int32)nEnumValue;
+ else
+ aReturn = ::cppu::int2enum((sal_Int32)nEnumValue, _rExpectedType);
+ }
+ break;
+ case TypeClass_HYPER:
+ {
+ OSL_ENSURE(sal_False, "PropertyConversion::convertString: 64-bit integers not implemented yet!");
+ }
+ break;
+ case TypeClass_DOUBLE:
+ {
+ double nValue;
+ #if OSL_DEBUG_LEVEL > 0
+ sal_Bool bSuccess =
+ #endif
+ _rImporter.GetMM100UnitConverter().convertDouble(nValue, _rReadCharacters);
+ OSL_ENSURE(bSuccess,
+ ::rtl::OString("PropertyConversion::convertString: could not convert \"")
+ += ::rtl::OString(_rReadCharacters.getStr(), _rReadCharacters.getLength(), RTL_TEXTENCODING_ASCII_US)
+ += ::rtl::OString("\" into a double!"));
+ aReturn <<= (double)nValue;
+ }
+ break;
+ case TypeClass_STRING:
+ aReturn <<= _rReadCharacters;
break;
- case TypeClass_DOUBLE:
+ case TypeClass_STRUCT:
+ {
+ sal_Int32 nType = 0;
+ if ( _rExpectedType.equals( ::cppu::UnoType< ::com::sun::star::util::Date >::get() ) )
+ nType = TYPE_DATE;
+ else if ( _rExpectedType.equals( ::cppu::UnoType< ::com::sun::star::util::Time >::get() ) )
+ nType = TYPE_TIME;
+ else if ( _rExpectedType.equals( ::cppu::UnoType< ::com::sun::star::util::DateTime >::get() ) )
+ nType = TYPE_DATETIME;
+
+ if ( nType )
{
- double nValue;
+ // first extract the double
+ double nValue = 0;
#if OSL_DEBUG_LEVEL > 0
sal_Bool bSuccess =
#endif
@@ -177,237 +206,210 @@ namespace xmloff
::rtl::OString("PropertyConversion::convertString: could not convert \"")
+= ::rtl::OString(_rReadCharacters.getStr(), _rReadCharacters.getLength(), RTL_TEXTENCODING_ASCII_US)
+= ::rtl::OString("\" into a double!"));
- aReturn <<= (double)nValue;
- }
- break;
- case TypeClass_STRING:
- aReturn <<= _rReadCharacters;
- break;
- case TypeClass_STRUCT:
- {
- sal_Int32 nType = 0;
- if ( _rExpectedType.equals( ::cppu::UnoType< ::com::sun::star::util::Date >::get() ) )
- nType = TYPE_DATE;
- else if ( _rExpectedType.equals( ::cppu::UnoType< ::com::sun::star::util::Time >::get() ) )
- nType = TYPE_TIME;
- else if ( _rExpectedType.equals( ::cppu::UnoType< ::com::sun::star::util::DateTime >::get() ) )
- nType = TYPE_DATETIME;
-
- if ( nType )
+
+ // then convert it into the target type
+ switch (nType)
{
- // first extract the double
- double nValue = 0;
- #if OSL_DEBUG_LEVEL > 0
- sal_Bool bSuccess =
- #endif
- _rImporter.GetMM100UnitConverter().convertDouble(nValue, _rReadCharacters);
- OSL_ENSURE(bSuccess,
- ::rtl::OString("PropertyConversion::convertString: could not convert \"")
- += ::rtl::OString(_rReadCharacters.getStr(), _rReadCharacters.getLength(), RTL_TEXTENCODING_ASCII_US)
- += ::rtl::OString("\" into a double!"));
-
- // then convert it into the target type
- switch (nType)
+ case TYPE_DATE:
+ {
+ OSL_ENSURE(((sal_uInt32)nValue) - nValue == 0,
+ "PropertyConversion::convertString: a Date value with a fractional part?");
+ aReturn <<= lcl_getDate(nValue);
+ }
+ break;
+ case TYPE_TIME:
+ {
+ OSL_ENSURE(((sal_uInt32)nValue) == 0,
+ "PropertyConversion::convertString: a Time value with more than a fractional part?");
+ aReturn <<= lcl_getTime(nValue);
+ }
+ break;
+ case TYPE_DATETIME:
{
- case TYPE_DATE:
- {
- OSL_ENSURE(((sal_uInt32)nValue) - nValue == 0,
- "PropertyConversion::convertString: a Date value with a fractional part?");
- aReturn <<= lcl_getDate(nValue);
- }
- break;
- case TYPE_TIME:
- {
- OSL_ENSURE(((sal_uInt32)nValue) == 0,
- "PropertyConversion::convertString: a Time value with more than a fractional part?");
- aReturn <<= lcl_getTime(nValue);
- }
- break;
- case TYPE_DATETIME:
- {
- ::com::sun::star::util::Time aTime = lcl_getTime(nValue);
- ::com::sun::star::util::Date aDate = lcl_getDate(nValue);
-
- ::com::sun::star::util::DateTime aDateTime;
- aDateTime.HundredthSeconds = aTime.HundredthSeconds;
- aDateTime.Seconds = aTime.Seconds;
- aDateTime.Minutes = aTime.Minutes;
- aDateTime.Hours = aTime.Hours;
- aDateTime.Day = aDate.Day;
- aDateTime.Month = aDate.Month;
- aDateTime.Year = aDate.Year;
- aReturn <<= aDateTime;
- }
- break;
+ ::com::sun::star::util::Time aTime = lcl_getTime(nValue);
+ ::com::sun::star::util::Date aDate = lcl_getDate(nValue);
+
+ ::com::sun::star::util::DateTime aDateTime;
+ aDateTime.HundredthSeconds = aTime.HundredthSeconds;
+ aDateTime.Seconds = aTime.Seconds;
+ aDateTime.Minutes = aTime.Minutes;
+ aDateTime.Hours = aTime.Hours;
+ aDateTime.Day = aDate.Day;
+ aDateTime.Month = aDate.Month;
+ aDateTime.Year = aDate.Year;
+ aReturn <<= aDateTime;
}
+ break;
}
- else
- OSL_ENSURE(sal_False, "PropertyConversion::convertString: unsupported property type!");
}
- break;
- default:
- OSL_ENSURE(sal_False, "PropertyConversion::convertString: invalid type class!");
+ else
+ OSL_ENSURE(sal_False, "PropertyConversion::convertString: unsupported property type!");
}
-
- return aReturn;
+ break;
+ default:
+ OSL_ENSURE(sal_False, "PropertyConversion::convertString: invalid type class!");
}
- //---------------------------------------------------------------------
- Type PropertyConversion::xmlTypeToUnoType( const ::rtl::OUString& _rType )
- {
- Type aUnoType( ::getVoidCppuType() );
+ return aReturn;
+}
- DECLARE_STL_USTRINGACCESS_MAP( ::com::sun::star::uno::Type, MapString2Type );
- static MapString2Type s_aTypeNameMap;
- if ( s_aTypeNameMap.empty() )
- {
- s_aTypeNameMap[ token::GetXMLToken( token::XML_BOOLEAN ) ] = ::getBooleanCppuType();
- s_aTypeNameMap[ token::GetXMLToken( token::XML_FLOAT ) ] = ::getCppuType( static_cast< double* >(NULL) );
- s_aTypeNameMap[ token::GetXMLToken( token::XML_STRING ) ] = ::getCppuType( static_cast< ::rtl::OUString* >(NULL) );
- s_aTypeNameMap[ token::GetXMLToken( token::XML_VOID ) ] = ::getVoidCppuType();
- }
-
- const ConstMapString2TypeIterator aTypePos = s_aTypeNameMap.find( _rType );
- OSL_ENSURE( s_aTypeNameMap.end() != aTypePos, "PropertyConversion::xmlTypeToUnoType: invalid property name!" );
- if ( s_aTypeNameMap.end() != aTypePos )
- aUnoType = aTypePos->second;
+//---------------------------------------------------------------------
+Type PropertyConversion::xmlTypeToUnoType( const ::rtl::OUString& _rType )
+{
+ Type aUnoType( ::getVoidCppuType() );
- return aUnoType;
+ DECLARE_STL_USTRINGACCESS_MAP( ::com::sun::star::uno::Type, MapString2Type );
+ static MapString2Type s_aTypeNameMap;
+ if ( s_aTypeNameMap.empty() )
+ {
+ s_aTypeNameMap[ token::GetXMLToken( token::XML_BOOLEAN ) ] = ::getBooleanCppuType();
+ s_aTypeNameMap[ token::GetXMLToken( token::XML_FLOAT ) ] = ::getCppuType( static_cast< double* >(NULL) );
+ s_aTypeNameMap[ token::GetXMLToken( token::XML_STRING ) ] = ::getCppuType( static_cast< ::rtl::OUString* >(NULL) );
+ s_aTypeNameMap[ token::GetXMLToken( token::XML_VOID ) ] = ::getVoidCppuType();
}
- //=====================================================================
- //= OPropertyImport
- //=====================================================================
- //---------------------------------------------------------------------
- OPropertyImport::OPropertyImport(IFormsImportContext& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName)
- :SvXMLImportContext(_rImport.getGlobalContext(), _nPrefix, _rName)
- ,m_rContext(_rImport)
- ,m_bTrackAttributes(sal_False)
+ const ConstMapString2TypeIterator aTypePos = s_aTypeNameMap.find( _rType );
+ OSL_ENSURE( s_aTypeNameMap.end() != aTypePos, "PropertyConversion::xmlTypeToUnoType: invalid property name!" );
+ if ( s_aTypeNameMap.end() != aTypePos )
+ aUnoType = aTypePos->second;
+
+ return aUnoType;
+}
+
+//=====================================================================
+//= OPropertyImport
+//=====================================================================
+//---------------------------------------------------------------------
+OPropertyImport::OPropertyImport(OFormLayerXMLImport_Impl& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName)
+ :SvXMLImportContext(_rImport.getGlobalContext(), _nPrefix, _rName)
+ ,m_rContext(_rImport)
+ ,m_bTrackAttributes(sal_False)
+{
+}
+
+//---------------------------------------------------------------------
+SvXMLImportContext* OPropertyImport::CreateChildContext(sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName,
+ const Reference< sax::XAttributeList >& _rxAttrList)
+{
+ if( token::IsXMLToken( _rLocalName, token::XML_PROPERTIES) )
{
+ return new OPropertyElementsContext( m_rContext.getGlobalContext(),
+ _nPrefix, _rLocalName, this);
}
-
- //---------------------------------------------------------------------
- SvXMLImportContext* OPropertyImport::CreateChildContext(sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName,
- const Reference< sax::XAttributeList >& _rxAttrList)
+ else
{
- if( token::IsXMLToken( _rLocalName, token::XML_PROPERTIES) )
- {
- return new OPropertyElementsContext( m_rContext.getGlobalContext(),
- _nPrefix, _rLocalName, this);
- }
- else
- {
- OSL_ENSURE(sal_False,
- ::rtl::OString("OPropertyImport::CreateChildContext: unknown sub element (only \"properties\" is recognized, but it is ")
- += ::rtl::OString(_rLocalName.getStr(), _rLocalName.getLength(), RTL_TEXTENCODING_ASCII_US)
- += ::rtl::OString(")!"));
- return SvXMLImportContext::CreateChildContext(_nPrefix, _rLocalName, _rxAttrList);
- }
+ OSL_ENSURE(sal_False,
+ ::rtl::OString("OPropertyImport::CreateChildContext: unknown sub element (only \"properties\" is recognized, but it is ")
+ += ::rtl::OString(_rLocalName.getStr(), _rLocalName.getLength(), RTL_TEXTENCODING_ASCII_US)
+ += ::rtl::OString(")!"));
+ return SvXMLImportContext::CreateChildContext(_nPrefix, _rLocalName, _rxAttrList);
}
+}
- //---------------------------------------------------------------------
- void OPropertyImport::StartElement(const Reference< sax::XAttributeList >& _rxAttrList)
+//---------------------------------------------------------------------
+void OPropertyImport::StartElement(const Reference< sax::XAttributeList >& _rxAttrList)
+{
+ OSL_ENSURE(_rxAttrList.is(), "OPropertyImport::StartElement: invalid attribute list!");
+ const sal_Int32 nAttributeCount = _rxAttrList->getLength();
+
+ // assume the 'worst' case: all attributes describe properties. This should save our property array
+ // some reallocs
+ m_aValues.reserve(nAttributeCount);
+
+ const SvXMLNamespaceMap& rMap = m_rContext.getGlobalContext().GetNamespaceMap();
+ sal_uInt16 nNamespace;
+ ::rtl::OUString sLocalName;
+ for (sal_Int16 i=0; i<nAttributeCount; ++i)
{
- OSL_ENSURE(_rxAttrList.is(), "OPropertyImport::StartElement: invalid attribute list!");
- sal_Int32 nAttributeCount = _rxAttrList->getLength();
+ nNamespace = rMap.GetKeyByAttrName(_rxAttrList->getNameByIndex(i), &sLocalName);
+ handleAttribute(nNamespace, sLocalName, _rxAttrList->getValueByIndex(i));
- // assume the 'worst' case: all attributes describe properties. This should save our property array
- // some reallocs
- m_aValues.reserve(nAttributeCount);
+ if (m_bTrackAttributes)
+ m_aEncounteredAttributes.insert(sLocalName);
+ }
- sal_uInt16 nNamespace;
- ::rtl::OUString sLocalName;
- for (sal_Int16 i=0; i<nAttributeCount; ++i)
- {
- nNamespace = m_rContext.getGlobalContext().GetNamespaceMap().GetKeyByAttrName(_rxAttrList->getNameByIndex(i), &sLocalName);
- handleAttribute(nNamespace, sLocalName, _rxAttrList->getValueByIndex(i));
+ // TODO: create PropertyValues for all the attributes which were not present, because they were implied
+ // this is necessary as soon as we have properties where the XML default is different from the property
+ // default
+}
- if (m_bTrackAttributes)
- m_aEncounteredAttributes.insert(sLocalName);
- }
+//---------------------------------------------------------------------
+sal_Bool OPropertyImport::encounteredAttribute(const ::rtl::OUString& _rAttributeName) const
+{
+ OSL_ENSURE(m_bTrackAttributes, "OPropertyImport::encounteredAttribute: attribute tracking not enabled!");
+ return m_aEncounteredAttributes.end() != m_aEncounteredAttributes.find(_rAttributeName);
+}
- // TODO: create PropertyValues for all the attributes which were not present, because they were implied
- // this is necessary as soon as we have properties where the XML default is different from the property
- // default
- }
+//---------------------------------------------------------------------
+void OPropertyImport::Characters(const ::rtl::OUString&
+#if OSL_DEBUG_LEVEL > 0
+_rChars
+#endif
+)
+{
+ // ignore them (should be whitespaces only)
+ OSL_ENSURE(0 == _rChars.trim().getLength(), "OPropertyImport::Characters: non-whitespace characters!");
+}
- //---------------------------------------------------------------------
- sal_Bool OPropertyImport::encounteredAttribute(const ::rtl::OUString& _rAttributeName) const
+//---------------------------------------------------------------------
+void OPropertyImport::handleAttribute(sal_uInt16 /*_nNamespaceKey*/, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+{
+ const OAttribute2Property::AttributeAssignment* pProperty = m_rContext.getAttributeMap().getAttributeTranslation(_rLocalName);
+ if (pProperty)
{
- OSL_ENSURE(m_bTrackAttributes, "OPropertyImport::encounteredAttribute: attribute tracking not enabled!");
- return m_aEncounteredAttributes.end() != m_aEncounteredAttributes.find(_rAttributeName);
- }
+ // create and store a new PropertyValue
+ PropertyValue aNewValue;
+ aNewValue.Name = pProperty->sPropertyName;
- //---------------------------------------------------------------------
- void OPropertyImport::Characters(const ::rtl::OUString&
- #if OSL_DEBUG_LEVEL > 0
- _rChars
- #endif
- )
+ // convert the value string into the target type
+ aNewValue.Value = PropertyConversion::convertString(m_rContext.getGlobalContext(), pProperty->aPropertyType, _rValue, pProperty->pEnumMap, pProperty->bInverseSemantics);
+ implPushBackPropertyValue( aNewValue );
+ }
+#if OSL_DEBUG_LEVEL > 0
+ else
{
- // ignore them (should be whitespaces only)
- OSL_ENSURE(0 == _rChars.trim().getLength(), "OPropertyImport::Characters: non-whitespace characters!");
+ ::rtl::OString sMessage( "OPropertyImport::handleAttribute: Can't handle the following:\n" );
+ sMessage += ::rtl::OString( " Attribute name: " );
+ sMessage += ::rtl::OString( _rLocalName.getStr(), _rLocalName.getLength(), osl_getThreadTextEncoding() );
+ sMessage += ::rtl::OString( "\n value: " );
+ sMessage += ::rtl::OString( _rValue.getStr(), _rValue.getLength(), osl_getThreadTextEncoding() );
+ OSL_ENSURE( sal_False, sMessage.getStr() );
}
+#endif
+}
+
+//=====================================================================
+//= OPropertyElementsContext
+//=====================================================================
+//---------------------------------------------------------------------
+OPropertyElementsContext::OPropertyElementsContext(SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ const OPropertyImportRef& _rPropertyImporter)
+ :SvXMLImportContext(_rImport, _nPrefix, _rName)
+ ,m_xPropertyImporter(_rPropertyImporter)
+{
+}
- //---------------------------------------------------------------------
- void OPropertyImport::handleAttribute(sal_uInt16 /*_nNamespaceKey*/, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+//---------------------------------------------------------------------
+SvXMLImportContext* OPropertyElementsContext::CreateChildContext(sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName,
+ const Reference< sax::XAttributeList >&)
+{
+ if( token::IsXMLToken( _rLocalName, token::XML_PROPERTY ) )
{
- const OAttribute2Property::AttributeAssignment* pProperty = m_rContext.getAttributeMap().getAttributeTranslation(_rLocalName);
- if (pProperty)
- {
- // create and store a new PropertyValue
- PropertyValue aNewValue;
- aNewValue.Name = pProperty->sPropertyName;
-
- // convert the value string into the target type
- aNewValue.Value = PropertyConversion::convertString(m_rContext.getGlobalContext(), pProperty->aPropertyType, _rValue, pProperty->pEnumMap, pProperty->bInverseSemantics);
- implPushBackPropertyValue( aNewValue );
- }
-#if OSL_DEBUG_LEVEL > 0
- else
- {
- ::rtl::OString sMessage( "OPropertyImport::handleAttribute: Can't handle the following:\n" );
- sMessage += ::rtl::OString( " Attribute name: " );
- sMessage += ::rtl::OString( _rLocalName.getStr(), _rLocalName.getLength(), osl_getThreadTextEncoding() );
- sMessage += ::rtl::OString( "\n value: " );
- sMessage += ::rtl::OString( _rValue.getStr(), _rValue.getLength(), osl_getThreadTextEncoding() );
- OSL_ENSURE( sal_False, sMessage.getStr() );
- }
-#endif
+ return new OSinglePropertyContext(GetImport(), _nPrefix, _rLocalName, m_xPropertyImporter);
}
-
- //=====================================================================
- //= OPropertyElementsContext
- //=====================================================================
- //---------------------------------------------------------------------
- OPropertyElementsContext::OPropertyElementsContext(SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
- const OPropertyImportRef& _rPropertyImporter)
- :SvXMLImportContext(_rImport, _nPrefix, _rName)
- ,m_xPropertyImporter(_rPropertyImporter)
+ else if( token::IsXMLToken( _rLocalName, token::XML_LIST_PROPERTY ) )
{
+ return new OListPropertyContext( GetImport(), _nPrefix, _rLocalName, m_xPropertyImporter );
}
-
- //---------------------------------------------------------------------
- SvXMLImportContext* OPropertyElementsContext::CreateChildContext(sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName,
- const Reference< sax::XAttributeList >&)
+ else
{
- if( token::IsXMLToken( _rLocalName, token::XML_PROPERTY ) )
- {
- return new OSinglePropertyContext(GetImport(), _nPrefix, _rLocalName, m_xPropertyImporter);
- }
- else if( token::IsXMLToken( _rLocalName, token::XML_LIST_PROPERTY ) )
- {
- return new OListPropertyContext( GetImport(), _nPrefix, _rLocalName, m_xPropertyImporter );
- }
- else
- {
- OSL_ENSURE(sal_False,
- ::rtl::OString("OPropertyElementsContext::CreateChildContext: unknown child element (\"")
- += ::rtl::OString(_rLocalName.getStr(), _rLocalName.getLength(), RTL_TEXTENCODING_ASCII_US)
- += ::rtl::OString("\")!"));
- return new SvXMLImportContext(GetImport(), _nPrefix, _rLocalName);
- }
+ OSL_ENSURE(sal_False,
+ ::rtl::OString("OPropertyElementsContext::CreateChildContext: unknown child element (\"")
+ += ::rtl::OString(_rLocalName.getStr(), _rLocalName.getLength(), RTL_TEXTENCODING_ASCII_US)
+ += ::rtl::OString("\")!"));
+ return new SvXMLImportContext(GetImport(), _nPrefix, _rLocalName);
}
+}
#if OSL_DEBUG_LEVEL > 0
//---------------------------------------------------------------------
@@ -426,212 +428,215 @@ namespace xmloff
#endif
- //=====================================================================
- //= OSinglePropertyContext
- //=====================================================================
- //---------------------------------------------------------------------
- OSinglePropertyContext::OSinglePropertyContext(SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
- const OPropertyImportRef& _rPropertyImporter)
- :SvXMLImportContext(_rImport, _nPrefix, _rName)
- ,m_xPropertyImporter(_rPropertyImporter)
- {
- }
+//=====================================================================
+//= OSinglePropertyContext
+//=====================================================================
+//---------------------------------------------------------------------
+OSinglePropertyContext::OSinglePropertyContext(SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ const OPropertyImportRef& _rPropertyImporter)
+ :SvXMLImportContext(_rImport, _nPrefix, _rName)
+ ,m_xPropertyImporter(_rPropertyImporter)
+{
+}
- //---------------------------------------------------------------------
- SvXMLImportContext* OSinglePropertyContext::CreateChildContext(sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName,
- const Reference< sax::XAttributeList >&)
- {
- OSL_ENSURE(sal_False,
- ::rtl::OString("OSinglePropertyContext::CreateChildContext: unknown child element (\"")
- += ::rtl::OString(_rLocalName.getStr(), _rLocalName.getLength(), RTL_TEXTENCODING_ASCII_US)
- += ::rtl::OString("\")!"));
- return new SvXMLImportContext(GetImport(), _nPrefix, _rLocalName);
- }
+//---------------------------------------------------------------------
+SvXMLImportContext* OSinglePropertyContext::CreateChildContext(sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName,
+ const Reference< sax::XAttributeList >&)
+{
+ OSL_ENSURE(sal_False,
+ ::rtl::OString("OSinglePropertyContext::CreateChildContext: unknown child element (\"")
+ += ::rtl::OString(_rLocalName.getStr(), _rLocalName.getLength(), RTL_TEXTENCODING_ASCII_US)
+ += ::rtl::OString("\")!"));
+ return new SvXMLImportContext(GetImport(), _nPrefix, _rLocalName);
+}
+
+//---------------------------------------------------------------------
+void OSinglePropertyContext::StartElement(const Reference< sax::XAttributeList >& _rxAttrList)
+{
+ ::com::sun::star::beans::PropertyValue aPropValue; // the property the instance imports currently
+ ::com::sun::star::uno::Type aPropType; // the type of the property the instance imports currently
- //---------------------------------------------------------------------
- void OSinglePropertyContext::StartElement(const Reference< sax::XAttributeList >& _rxAttrList)
+ ::rtl::OUString sType, sValue;
+ const SvXMLNamespaceMap& rMap = GetImport().GetNamespaceMap();
+ const sal_Int16 nAttrCount = _rxAttrList.is() ? _rxAttrList->getLength() : 0;
+ for( sal_Int16 i=0; i < nAttrCount; i++ )
{
- ::com::sun::star::beans::PropertyValue aPropValue; // the property the instance imports currently
- ::com::sun::star::uno::Type aPropType; // the type of the property the instance imports currently
-
- ::rtl::OUString sType, sValue;
- sal_Int16 nAttrCount = _rxAttrList.is() ? _rxAttrList->getLength() : 0;
- for( sal_Int16 i=0; i < nAttrCount; i++ )
+ const ::rtl::OUString& rAttrName = _rxAttrList->getNameByIndex( i );
+ //const ::rtl::OUString& rValue = _rxAttrList->getValueByIndex( i );
+
+ ::rtl::OUString aLocalName;
+ sal_uInt16 nPrefix =
+ rMap.GetKeyByAttrName( rAttrName,
+ &aLocalName );
+ if( XML_NAMESPACE_FORM == nPrefix )
{
- const ::rtl::OUString& rAttrName = _rxAttrList->getNameByIndex( i );
- const ::rtl::OUString& rValue = _rxAttrList->getValueByIndex( i );
-
- ::rtl::OUString aLocalName;
- sal_uInt16 nPrefix =
- GetImport().GetNamespaceMap().GetKeyByAttrName( rAttrName,
- &aLocalName );
- if( XML_NAMESPACE_FORM == nPrefix )
- {
- if( token::IsXMLToken( aLocalName, token::XML_PROPERTY_NAME ) )
- aPropValue.Name = rValue;
+ if( token::IsXMLToken( aLocalName, token::XML_PROPERTY_NAME ) )
+ aPropValue.Name = _rxAttrList->getValueByIndex( i );
- }
- else if( XML_NAMESPACE_OFFICE == nPrefix )
- {
- if( token::IsXMLToken( aLocalName, token::XML_VALUE_TYPE ) )
- sType = rValue;
- else if( token::IsXMLToken( aLocalName,
- token::XML_VALUE ) ||
- token::IsXMLToken( aLocalName,
- token::XML_BOOLEAN_VALUE ) ||
- token::IsXMLToken( aLocalName,
- token::XML_STRING_VALUE ) )
- sValue = rValue;
- }
- }
-
- // the name of the property
- OSL_ENSURE(aPropValue.Name.getLength(), "OSinglePropertyContext::StartElement: invalid property name!");
-
- // needs to be translated into a ::com::sun::star::uno::Type
- aPropType = PropertyConversion::xmlTypeToUnoType( sType );
- if( TypeClass_VOID == aPropType.getTypeClass() )
- {
- aPropValue.Value = Any();
}
- else
+ else if( XML_NAMESPACE_OFFICE == nPrefix )
{
- aPropValue.Value =
- PropertyConversion::convertString(GetImport(), aPropType,
- sValue);
+ if( token::IsXMLToken( aLocalName, token::XML_VALUE_TYPE ) )
+ sType = _rxAttrList->getValueByIndex( i );
+ else if( token::IsXMLToken( aLocalName,
+ token::XML_VALUE ) ||
+ token::IsXMLToken( aLocalName,
+ token::XML_BOOLEAN_VALUE ) ||
+ token::IsXMLToken( aLocalName,
+ token::XML_STRING_VALUE ) )
+ sValue = _rxAttrList->getValueByIndex( i );
}
-
- // now that we finally have our property value, add it to our parent object
- if( aPropValue.Name.getLength() )
- m_xPropertyImporter->implPushBackGenericPropertyValue(aPropValue);
}
- //=====================================================================
- //= OListPropertyContext
- //=====================================================================
- //---------------------------------------------------------------------
- OListPropertyContext::OListPropertyContext( SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
- const OPropertyImportRef& _rPropertyImporter )
- :SvXMLImportContext( _rImport, _nPrefix, _rName )
- ,m_xPropertyImporter( _rPropertyImporter )
+ // the name of the property
+ OSL_ENSURE(aPropValue.Name.getLength(), "OSinglePropertyContext::StartElement: invalid property name!");
+
+ // needs to be translated into a ::com::sun::star::uno::Type
+ aPropType = PropertyConversion::xmlTypeToUnoType( sType );
+ if( TypeClass_VOID == aPropType.getTypeClass() )
{
+ aPropValue.Value = Any();
}
-
- //---------------------------------------------------------------------
- void OListPropertyContext::StartElement( const Reference< sax::XAttributeList >& _rxAttrList )
+ else
{
- sal_Int32 nAttributeCount = _rxAttrList->getLength();
-
- sal_uInt16 nNamespace;
- ::rtl::OUString sAttributeName;
- for ( sal_Int16 i = 0; i < nAttributeCount; ++i )
- {
- nNamespace = GetImport().GetNamespaceMap().GetKeyByAttrName( _rxAttrList->getNameByIndex( i ), &sAttributeName );
- if ( ( XML_NAMESPACE_FORM == nNamespace )
- && ( token::IsXMLToken( sAttributeName, token::XML_PROPERTY_NAME ) )
- )
- {
- m_sPropertyName = _rxAttrList->getValueByIndex( i );
- }
- else if ( ( XML_NAMESPACE_OFFICE == nNamespace )
- && ( token::IsXMLToken( sAttributeName, token::XML_VALUE_TYPE ) )
- )
- {
- m_sPropertyType = _rxAttrList->getValueByIndex( i );
- }
- else
- {
- OSL_ENSURE( false,
- ::rtl::OString( "OListPropertyContext::StartElement: unknown child element (\"")
- += ::rtl::OString( sAttributeName.getStr(), sAttributeName.getLength(), RTL_TEXTENCODING_ASCII_US )
- += ::rtl::OString( "\")!" ) );
- }
- }
+ aPropValue.Value =
+ PropertyConversion::convertString(GetImport(), aPropType,
+ sValue);
}
- //---------------------------------------------------------------------
- void OListPropertyContext::EndElement()
+ // now that we finally have our property value, add it to our parent object
+ if( aPropValue.Name.getLength() )
+ m_xPropertyImporter->implPushBackGenericPropertyValue(aPropValue);
+}
+
+//=====================================================================
+//= OListPropertyContext
+//=====================================================================
+//---------------------------------------------------------------------
+OListPropertyContext::OListPropertyContext( SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName,
+ const OPropertyImportRef& _rPropertyImporter )
+ :SvXMLImportContext( _rImport, _nPrefix, _rName )
+ ,m_xPropertyImporter( _rPropertyImporter )
+{
+}
+
+//---------------------------------------------------------------------
+void OListPropertyContext::StartElement( const Reference< sax::XAttributeList >& _rxAttrList )
+{
+ sal_Int32 nAttributeCount = _rxAttrList->getLength();
+
+ sal_uInt16 nNamespace;
+ ::rtl::OUString sAttributeName;
+ const SvXMLNamespaceMap& rMap = GetImport().GetNamespaceMap();
+ for ( sal_Int16 i = 0; i < nAttributeCount; ++i )
{
- OSL_ENSURE( m_sPropertyName.getLength() && m_sPropertyType.getLength(),
- "OListPropertyContext::EndElement: no property name or type!" );
-
- if ( !m_sPropertyName.getLength() || !m_sPropertyType.getLength() )
- return;
-
- Sequence< Any > aListElements( m_aListValues.size() );
- Any* pListElement = aListElements.getArray();
- com::sun::star::uno::Type aType = PropertyConversion::xmlTypeToUnoType( m_sPropertyType );
- for ( ::std::vector< ::rtl::OUString >::const_iterator values = m_aListValues.begin();
- values != m_aListValues.end();
- ++values, ++pListElement
+ nNamespace = rMap.GetKeyByAttrName( _rxAttrList->getNameByIndex( i ), &sAttributeName );
+ if ( ( XML_NAMESPACE_FORM == nNamespace )
+ && ( token::IsXMLToken( sAttributeName, token::XML_PROPERTY_NAME ) )
)
{
- *pListElement = PropertyConversion::convertString( GetImport(), aType, *values );
+ m_sPropertyName = _rxAttrList->getValueByIndex( i );
}
-
- PropertyValue aSequenceValue;
- aSequenceValue.Name = m_sPropertyName;
- aSequenceValue.Value <<= aListElements;
-
- m_xPropertyImporter->implPushBackGenericPropertyValue( aSequenceValue );
- }
-
- //---------------------------------------------------------------------
- SvXMLImportContext* OListPropertyContext::CreateChildContext( sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName, const Reference< sax::XAttributeList >& /*_rxAttrList*/ )
- {
- if ( token::IsXMLToken( _rLocalName, token::XML_LIST_VALUE ) )
+ else if ( ( XML_NAMESPACE_OFFICE == nNamespace )
+ && ( token::IsXMLToken( sAttributeName, token::XML_VALUE_TYPE ) )
+ )
{
- m_aListValues.resize( m_aListValues.size() + 1 );
- return new OListValueContext( GetImport(), _nPrefix, _rLocalName, *m_aListValues.rbegin() );
+ m_sPropertyType = _rxAttrList->getValueByIndex( i );
}
else
{
- OSL_ENSURE( sal_False,
- ::rtl::OString("OListPropertyContext::CreateChildContext: unknown child element (\"")
- += ::rtl::OString(_rLocalName.getStr(), _rLocalName.getLength(), RTL_TEXTENCODING_ASCII_US)
- += ::rtl::OString("\")!"));
- return new SvXMLImportContext( GetImport(), _nPrefix, _rLocalName );
+ OSL_ENSURE( false,
+ ::rtl::OString( "OListPropertyContext::StartElement: unknown child element (\"")
+ += ::rtl::OString( sAttributeName.getStr(), sAttributeName.getLength(), RTL_TEXTENCODING_ASCII_US )
+ += ::rtl::OString( "\")!" ) );
}
}
+}
- //=====================================================================
- //= OListValueContext
- //=====================================================================
- //---------------------------------------------------------------------
- OListValueContext::OListValueContext( SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName, ::rtl::OUString& _rListValueHolder )
- :SvXMLImportContext( _rImport, _nPrefix, _rName )
- ,m_rListValueHolder( _rListValueHolder )
+//---------------------------------------------------------------------
+void OListPropertyContext::EndElement()
+{
+ OSL_ENSURE( m_sPropertyName.getLength() && m_sPropertyType.getLength(),
+ "OListPropertyContext::EndElement: no property name or type!" );
+
+ if ( !m_sPropertyName.getLength() || !m_sPropertyType.getLength() )
+ return;
+
+ Sequence< Any > aListElements( m_aListValues.size() );
+ Any* pListElement = aListElements.getArray();
+ com::sun::star::uno::Type aType = PropertyConversion::xmlTypeToUnoType( m_sPropertyType );
+ for ( ::std::vector< ::rtl::OUString >::const_iterator values = m_aListValues.begin();
+ values != m_aListValues.end();
+ ++values, ++pListElement
+ )
{
+ *pListElement = PropertyConversion::convertString( GetImport(), aType, *values );
}
- //---------------------------------------------------------------------
- void OListValueContext::StartElement( const Reference< sax::XAttributeList >& _rxAttrList )
+ PropertyValue aSequenceValue;
+ aSequenceValue.Name = m_sPropertyName;
+ aSequenceValue.Value <<= aListElements;
+
+ m_xPropertyImporter->implPushBackGenericPropertyValue( aSequenceValue );
+}
+
+//---------------------------------------------------------------------
+SvXMLImportContext* OListPropertyContext::CreateChildContext( sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName, const Reference< sax::XAttributeList >& /*_rxAttrList*/ )
+{
+ if ( token::IsXMLToken( _rLocalName, token::XML_LIST_VALUE ) )
+ {
+ m_aListValues.resize( m_aListValues.size() + 1 );
+ return new OListValueContext( GetImport(), _nPrefix, _rLocalName, *m_aListValues.rbegin() );
+ }
+ else
{
- sal_Int32 nAttributeCount = _rxAttrList->getLength();
+ OSL_ENSURE( sal_False,
+ ::rtl::OString("OListPropertyContext::CreateChildContext: unknown child element (\"")
+ += ::rtl::OString(_rLocalName.getStr(), _rLocalName.getLength(), RTL_TEXTENCODING_ASCII_US)
+ += ::rtl::OString("\")!"));
+ return new SvXMLImportContext( GetImport(), _nPrefix, _rLocalName );
+ }
+}
+
+//=====================================================================
+//= OListValueContext
+//=====================================================================
+//---------------------------------------------------------------------
+OListValueContext::OListValueContext( SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName, ::rtl::OUString& _rListValueHolder )
+ :SvXMLImportContext( _rImport, _nPrefix, _rName )
+ ,m_rListValueHolder( _rListValueHolder )
+{
+}
+
+//---------------------------------------------------------------------
+void OListValueContext::StartElement( const Reference< sax::XAttributeList >& _rxAttrList )
+{
+ const sal_Int32 nAttributeCount = _rxAttrList->getLength();
- sal_uInt16 nNamespace;
- ::rtl::OUString sAttributeName;
- for ( sal_Int16 i = 0; i < nAttributeCount; ++i )
+ sal_uInt16 nNamespace;
+ ::rtl::OUString sAttributeName;
+ const SvXMLNamespaceMap& rMap = GetImport().GetNamespaceMap();
+ for ( sal_Int16 i = 0; i < nAttributeCount; ++i )
+ {
+ nNamespace = rMap.GetKeyByAttrName( _rxAttrList->getNameByIndex( i ), &sAttributeName );
+ if ( XML_NAMESPACE_OFFICE == nNamespace )
{
- nNamespace = GetImport().GetNamespaceMap().GetKeyByAttrName( _rxAttrList->getNameByIndex( i ), &sAttributeName );
- if ( XML_NAMESPACE_OFFICE == nNamespace )
+ if ( token::IsXMLToken( sAttributeName, token::XML_VALUE )
+ || token::IsXMLToken( sAttributeName, token::XML_STRING_VALUE )
+ || token::IsXMLToken( sAttributeName, token::XML_BOOLEAN_VALUE )
+ )
{
- if ( token::IsXMLToken( sAttributeName, token::XML_VALUE )
- || token::IsXMLToken( sAttributeName, token::XML_STRING_VALUE )
- || token::IsXMLToken( sAttributeName, token::XML_BOOLEAN_VALUE )
- )
- {
- m_rListValueHolder = _rxAttrList->getValueByIndex( i );
- continue;
- }
+ m_rListValueHolder = _rxAttrList->getValueByIndex( i );
+ continue;
}
-
- OSL_ENSURE( false,
- ::rtl::OString( "OListValueContext::StartElement: unknown child element (\"")
- += ::rtl::OString( sAttributeName.getStr(), sAttributeName.getLength(), RTL_TEXTENCODING_ASCII_US )
- += ::rtl::OString( "\")!" ) );
}
+
+ OSL_ENSURE( false,
+ ::rtl::OString( "OListValueContext::StartElement: unknown child element (\"")
+ += ::rtl::OString( sAttributeName.getStr(), sAttributeName.getLength(), RTL_TEXTENCODING_ASCII_US )
+ += ::rtl::OString( "\")!" ) );
}
+}
//.........................................................................
} // namespace xmloff
diff --git a/xmloff/source/forms/propertyimport.hxx b/xmloff/source/forms/propertyimport.hxx
index 01741dfdfa..2306bd80bd 100644
--- a/xmloff/source/forms/propertyimport.hxx
+++ b/xmloff/source/forms/propertyimport.hxx
@@ -36,6 +36,7 @@
#include <vos/ref.hxx>
#include <comphelper/stl_types.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
+#include "layerimport.hxx"
namespace com { namespace sun { namespace star { namespace util {
struct Time;
@@ -64,7 +65,7 @@ namespace xmloff
static ::com::sun::star::uno::Type xmlTypeToUnoType( const ::rtl::OUString& _rType );
};
- class IFormsImportContext;
+ class OFormLayerXMLImport_Impl;
//=====================================================================
//= OPropertyImport
//=====================================================================
@@ -87,7 +88,7 @@ namespace xmloff
DECLARE_STL_STDKEY_SET( ::rtl::OUString, StringSet );
StringSet m_aEncounteredAttributes;
- IFormsImportContext& m_rContext;
+ OFormLayerXMLImport_Impl& m_rContext;
sal_Bool m_bTrackAttributes;
@@ -96,7 +97,7 @@ namespace xmloff
// style properties) can be done in our own EndElement instead of letting derived classes do this.
public:
- OPropertyImport(IFormsImportContext& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName);
+ OPropertyImport(OFormLayerXMLImport_Impl& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rName);
virtual SvXMLImportContext* CreateChildContext(
sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName,
diff --git a/xmloff/source/forms/strings.hxx b/xmloff/source/forms/strings.hxx
index 870f2285e5..4db1c3a066 100644
--- a/xmloff/source/forms/strings.hxx
+++ b/xmloff/source/forms/strings.hxx
@@ -47,6 +47,7 @@ namespace xmloff
const sal_Char* ascii;
sal_Int32 length;
+ inline operator const ConstAsciiString* () const { return this; }
inline const ::rtl::OUString* operator& () const;
inline operator const ::rtl::OUString& () const { return *(&(*this)); }
inline operator const sal_Char* () const { return ascii; }
diff --git a/xmloff/source/meta/MetaExportComponent.cxx b/xmloff/source/meta/MetaExportComponent.cxx
index 157358ba6c..add1e47305 100644
--- a/xmloff/source/meta/MetaExportComponent.cxx
+++ b/xmloff/source/meta/MetaExportComponent.cxx
@@ -158,10 +158,11 @@ sal_uInt32 XMLMetaExportComponent::exportDoc( enum XMLTokenEnum )
GetNamespaceMap().GetAttrNameByKey( XML_NAMESPACE_OFFICE ),
GetNamespaceMap().GetNameByKey( XML_NAMESPACE_OFFICE ) );
#else
- sal_uInt16 nPos = GetNamespaceMap().GetFirstKey();
+ const SvXMLNamespaceMap& rMap = GetNamespaceMap();
+ sal_uInt16 nPos = rMap.GetFirstKey();
while( USHRT_MAX != nPos )
{
- GetAttrList().AddAttribute( GetNamespaceMap().GetAttrNameByKey( nPos ), GetNamespaceMap().GetNameByKey( nPos ) );
+ GetAttrList().AddAttribute( rMap.GetAttrNameByKey( nPos ), rMap.GetNameByKey( nPos ) );
nPos = GetNamespaceMap().GetNextKey( nPos );
}
#endif
diff --git a/xmloff/source/meta/xmlmetae.cxx b/xmloff/source/meta/xmlmetae.cxx
index a1a5e498e5..fb2893201f 100644
--- a/xmloff/source/meta/xmlmetae.cxx
+++ b/xmloff/source/meta/xmlmetae.cxx
@@ -410,7 +410,8 @@ SvXMLMetaExport::startElement(const ::rtl::OUString & i_rName,
if (m_level == 0) {
// namepace decls: default ones have been written at the root element
// non-default ones must be preserved here
- for (sal_Int16 i = 0; i < i_xAttribs->getLength(); ++i) {
+ const sal_Int16 nCount = i_xAttribs->getLength();
+ for (sal_Int16 i = 0; i < nCount; ++i) {
const ::rtl::OUString name(i_xAttribs->getNameByIndex(i));
if (name.matchAsciiL(s_xmlns, strlen(s_xmlns))) {
bool found(false);
@@ -440,7 +441,8 @@ SvXMLMetaExport::startElement(const ::rtl::OUString & i_rName,
const ::rtl::OUString ns(iter->First);
bool found(false);
// but only if it is not already there
- for (sal_Int16 i = 0; i < i_xAttribs->getLength(); ++i) {
+ const sal_Int16 nCount = i_xAttribs->getLength();
+ for (sal_Int16 i = 0; i < nCount; ++i) {
const ::rtl::OUString name(i_xAttribs->getNameByIndex(i));
if (ns.equals(name)) {
found = true;
@@ -457,7 +459,8 @@ SvXMLMetaExport::startElement(const ::rtl::OUString & i_rName,
if (i_rName.matchAsciiL(s_meta, strlen(s_meta))) {
// special handling for all elements that may have
// xlink:href attributes; these must be made relative
- for (sal_Int16 i = 0; i < i_xAttribs->getLength(); ++i) {
+ const sal_Int16 nLength = i_xAttribs->getLength();
+ for (sal_Int16 i = 0; i < nLength; ++i) {
const ::rtl::OUString name (i_xAttribs->getNameByIndex (i));
::rtl::OUString value(i_xAttribs->getValueByIndex(i));
if (name.matchAsciiL(s_href, strlen(s_href))) {
@@ -466,7 +469,8 @@ SvXMLMetaExport::startElement(const ::rtl::OUString & i_rName,
mrExport.AddAttribute(name, value);
}
} else {
- for (sal_Int16 i = 0; i < i_xAttribs->getLength(); ++i) {
+ const sal_Int16 nLength = i_xAttribs->getLength();
+ for (sal_Int16 i = 0; i < nLength; ++i) {
const ::rtl::OUString name (i_xAttribs->getNameByIndex(i));
const ::rtl::OUString value (i_xAttribs->getValueByIndex(i));
mrExport.AddAttribute(name, value);
diff --git a/xmloff/source/script/XMLEventImportHelper.cxx b/xmloff/source/script/XMLEventImportHelper.cxx
index 32ce276a8b..d1697d92a9 100644
--- a/xmloff/source/script/XMLEventImportHelper.cxx
+++ b/xmloff/source/script/XMLEventImportHelper.cxx
@@ -115,7 +115,7 @@ void XMLEventImportHelper::PopTranslationTable()
{
DBG_ASSERT(aEventNameMapList.size() > 0,
"no translation tables left to pop");
- if (aEventNameMapList.size() > 0)
+ if ( !aEventNameMapList.empty() )
{
// delete current and install old map
delete pEventNameMap;
diff --git a/xmloff/source/style/GradientStyle.cxx b/xmloff/source/style/GradientStyle.cxx
index 96f46a766c..5652946d04 100644
--- a/xmloff/source/style/GradientStyle.cxx
+++ b/xmloff/source/style/GradientStyle.cxx
@@ -68,21 +68,6 @@ enum SvXMLTokenMapAttrs
XML_TOK_TABSTOP_END=XML_TOK_UNKNOWN
};
-static __FAR_DATA SvXMLTokenMapEntry aGradientAttrTokenMap[] =
-{
- { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_GRADIENT_NAME },
- { XML_NAMESPACE_DRAW, XML_DISPLAY_NAME, XML_TOK_GRADIENT_DISPLAY_NAME },
- { XML_NAMESPACE_DRAW, XML_STYLE, XML_TOK_GRADIENT_STYLE },
- { XML_NAMESPACE_DRAW, XML_CX, XML_TOK_GRADIENT_CX },
- { XML_NAMESPACE_DRAW, XML_CY, XML_TOK_GRADIENT_CY },
- { XML_NAMESPACE_DRAW, XML_START_COLOR, XML_TOK_GRADIENT_STARTCOLOR },
- { XML_NAMESPACE_DRAW, XML_END_COLOR, XML_TOK_GRADIENT_ENDCOLOR },
- { XML_NAMESPACE_DRAW, XML_START_INTENSITY, XML_TOK_GRADIENT_STARTINT },
- { XML_NAMESPACE_DRAW, XML_END_INTENSITY, XML_TOK_GRADIENT_ENDINT },
- { XML_NAMESPACE_DRAW, XML_GRADIENT_ANGLE, XML_TOK_GRADIENT_ANGLE },
- { XML_NAMESPACE_DRAW, XML_GRADIENT_BORDER, XML_TOK_GRADIENT_BORDER },
- XML_TOKEN_MAP_END
-};
SvXMLEnumMapEntry __READONLY_DATA pXML_GradientStyle_Enum[] =
{
@@ -128,6 +113,23 @@ sal_Bool XMLGradientStyleImport::importXML(
aGradient.Angle = 0;
aGradient.Border = 0;
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aGradientAttrTokenMap[] =
+{
+ { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_GRADIENT_NAME },
+ { XML_NAMESPACE_DRAW, XML_DISPLAY_NAME, XML_TOK_GRADIENT_DISPLAY_NAME },
+ { XML_NAMESPACE_DRAW, XML_STYLE, XML_TOK_GRADIENT_STYLE },
+ { XML_NAMESPACE_DRAW, XML_CX, XML_TOK_GRADIENT_CX },
+ { XML_NAMESPACE_DRAW, XML_CY, XML_TOK_GRADIENT_CY },
+ { XML_NAMESPACE_DRAW, XML_START_COLOR, XML_TOK_GRADIENT_STARTCOLOR },
+ { XML_NAMESPACE_DRAW, XML_END_COLOR, XML_TOK_GRADIENT_ENDCOLOR },
+ { XML_NAMESPACE_DRAW, XML_START_INTENSITY, XML_TOK_GRADIENT_STARTINT },
+ { XML_NAMESPACE_DRAW, XML_END_INTENSITY, XML_TOK_GRADIENT_ENDINT },
+ { XML_NAMESPACE_DRAW, XML_GRADIENT_ANGLE, XML_TOK_GRADIENT_ANGLE },
+ { XML_NAMESPACE_DRAW, XML_GRADIENT_BORDER, XML_TOK_GRADIENT_BORDER },
+ XML_TOKEN_MAP_END
+};
+
SvXMLTokenMap aTokenMap( aGradientAttrTokenMap );
SvXMLNamespaceMap& rNamespaceMap = rImport.GetNamespaceMap();
@@ -225,6 +227,8 @@ sal_Bool XMLGradientStyleImport::importXML(
bRet = bHasName && bHasStyle && bHasStartColor && bHasEndColor;
+ }
+
return bRet;
}
diff --git a/xmloff/source/style/HatchStyle.cxx b/xmloff/source/style/HatchStyle.cxx
index bc6b4847b2..f0893b8077 100644
--- a/xmloff/source/style/HatchStyle.cxx
+++ b/xmloff/source/style/HatchStyle.cxx
@@ -60,16 +60,6 @@ enum SvXMLTokenMapAttrs
XML_TOK_TABSTOP_END=XML_TOK_UNKNOWN
};
-static __FAR_DATA SvXMLTokenMapEntry aHatchAttrTokenMap[] =
-{
- { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_HATCH_NAME },
- { XML_NAMESPACE_DRAW, XML_DISPLAY_NAME, XML_TOK_HATCH_DISPLAY_NAME },
- { XML_NAMESPACE_DRAW, XML_STYLE, XML_TOK_HATCH_STYLE },
- { XML_NAMESPACE_DRAW, XML_COLOR, XML_TOK_HATCH_COLOR },
- { XML_NAMESPACE_DRAW, XML_HATCH_DISTANCE, XML_TOK_HATCH_DISTANCE },
- { XML_NAMESPACE_DRAW, XML_ROTATION, XML_TOK_HATCH_ROTATION },
- XML_TOKEN_MAP_END
-};
SvXMLEnumMapEntry __READONLY_DATA pXML_HatchStyle_Enum[] =
{
@@ -112,6 +102,18 @@ sal_Bool XMLHatchStyleImport::importXML(
aHatch.Distance = 0;
aHatch.Angle = 0;
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aHatchAttrTokenMap[] =
+{
+ { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_HATCH_NAME },
+ { XML_NAMESPACE_DRAW, XML_DISPLAY_NAME, XML_TOK_HATCH_DISPLAY_NAME },
+ { XML_NAMESPACE_DRAW, XML_STYLE, XML_TOK_HATCH_STYLE },
+ { XML_NAMESPACE_DRAW, XML_COLOR, XML_TOK_HATCH_COLOR },
+ { XML_NAMESPACE_DRAW, XML_HATCH_DISTANCE, XML_TOK_HATCH_DISTANCE },
+ { XML_NAMESPACE_DRAW, XML_ROTATION, XML_TOK_HATCH_ROTATION },
+ XML_TOKEN_MAP_END
+};
+
SvXMLTokenMap aTokenMap( aHatchAttrTokenMap );
SvXMLNamespaceMap rNamespaceMap = rImport.GetNamespaceMap();
SvXMLUnitConverter& rUnitConverter = rImport.GetMM100UnitConverter();
@@ -179,6 +181,8 @@ sal_Bool XMLHatchStyleImport::importXML(
bRet = bHasName && bHasStyle && bHasColor && bHasDist;
+ }
+
return bRet;
}
diff --git a/xmloff/source/style/ImageStyle.cxx b/xmloff/source/style/ImageStyle.cxx
index ce8ddec58a..c53ce82061 100644
--- a/xmloff/source/style/ImageStyle.cxx
+++ b/xmloff/source/style/ImageStyle.cxx
@@ -63,18 +63,6 @@ enum SvXMLTokenMapAttrs
XML_TOK_TABSTOP_END=XML_TOK_UNKNOWN
};
-static __FAR_DATA SvXMLTokenMapEntry aHatchAttrTokenMap[] =
-{
- { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_IMAGE_NAME },
- { XML_NAMESPACE_DRAW, XML_DISPLAY_NAME, XML_TOK_IMAGE_DISPLAY_NAME },
- { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_IMAGE_URL },
- { XML_NAMESPACE_XLINK, XML_TYPE, XML_TOK_IMAGE_TYPE },
- { XML_NAMESPACE_XLINK, XML_SHOW, XML_TOK_IMAGE_SHOW },
- { XML_NAMESPACE_XLINK, XML_ACTUATE, XML_TOK_IMAGE_ACTUATE },
- /*{ XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_IMAGE_URL },
- { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_IMAGE_URL },*/
- XML_TOKEN_MAP_END
-};
XMLImageStyle::XMLImageStyle()
{
@@ -165,6 +153,20 @@ sal_Bool XMLImageStyle::ImpImportXML( const uno::Reference< xml::sax::XAttribute
OUString aStrURL;
OUString aDisplayName;
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aHatchAttrTokenMap[] =
+{
+ { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_IMAGE_NAME },
+ { XML_NAMESPACE_DRAW, XML_DISPLAY_NAME, XML_TOK_IMAGE_DISPLAY_NAME },
+ { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_IMAGE_URL },
+ { XML_NAMESPACE_XLINK, XML_TYPE, XML_TOK_IMAGE_TYPE },
+ { XML_NAMESPACE_XLINK, XML_SHOW, XML_TOK_IMAGE_SHOW },
+ { XML_NAMESPACE_XLINK, XML_ACTUATE, XML_TOK_IMAGE_ACTUATE },
+ /*{ XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_IMAGE_URL },
+ { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_IMAGE_URL },*/
+ XML_TOKEN_MAP_END
+};
+
SvXMLTokenMap aTokenMap( aHatchAttrTokenMap );
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
@@ -220,5 +222,7 @@ sal_Bool XMLImageStyle::ImpImportXML( const uno::Reference< xml::sax::XAttribute
bRet = bHasName && bHasHRef;
+ }
+
return bRet;
}
diff --git a/xmloff/source/style/TransGradientStyle.cxx b/xmloff/source/style/TransGradientStyle.cxx
index 4fdd6ffbcb..65381d4d3f 100644
--- a/xmloff/source/style/TransGradientStyle.cxx
+++ b/xmloff/source/style/TransGradientStyle.cxx
@@ -64,19 +64,6 @@ enum SvXMLTokenMapAttrs
XML_TOK_TABSTOP_END=XML_TOK_UNKNOWN
};
-static __FAR_DATA SvXMLTokenMapEntry aTrGradientAttrTokenMap[] =
-{
- { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_GRADIENT_NAME },
- { XML_NAMESPACE_DRAW, XML_DISPLAY_NAME, XML_TOK_GRADIENT_DISPLAY_NAME },
- { XML_NAMESPACE_DRAW, XML_STYLE, XML_TOK_GRADIENT_STYLE },
- { XML_NAMESPACE_DRAW, XML_CX, XML_TOK_GRADIENT_CX },
- { XML_NAMESPACE_DRAW, XML_CY, XML_TOK_GRADIENT_CY },
- { XML_NAMESPACE_DRAW, XML_START, XML_TOK_GRADIENT_START },
- { XML_NAMESPACE_DRAW, XML_END, XML_TOK_GRADIENT_END },
- { XML_NAMESPACE_DRAW, XML_GRADIENT_ANGLE, XML_TOK_GRADIENT_ANGLE },
- { XML_NAMESPACE_DRAW, XML_GRADIENT_BORDER, XML_TOK_GRADIENT_BORDER },
- XML_TOKEN_MAP_END
-};
SvXMLEnumMapEntry __READONLY_DATA pXML_GradientStyle_Enum[] =
{
@@ -121,6 +108,21 @@ sal_Bool XMLTransGradientStyleImport::importXML(
aGradient.Angle = 0;
aGradient.Border = 0;
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aTrGradientAttrTokenMap[] =
+{
+ { XML_NAMESPACE_DRAW, XML_NAME, XML_TOK_GRADIENT_NAME },
+ { XML_NAMESPACE_DRAW, XML_DISPLAY_NAME, XML_TOK_GRADIENT_DISPLAY_NAME },
+ { XML_NAMESPACE_DRAW, XML_STYLE, XML_TOK_GRADIENT_STYLE },
+ { XML_NAMESPACE_DRAW, XML_CX, XML_TOK_GRADIENT_CX },
+ { XML_NAMESPACE_DRAW, XML_CY, XML_TOK_GRADIENT_CY },
+ { XML_NAMESPACE_DRAW, XML_START, XML_TOK_GRADIENT_START },
+ { XML_NAMESPACE_DRAW, XML_END, XML_TOK_GRADIENT_END },
+ { XML_NAMESPACE_DRAW, XML_GRADIENT_ANGLE, XML_TOK_GRADIENT_ANGLE },
+ { XML_NAMESPACE_DRAW, XML_GRADIENT_BORDER, XML_TOK_GRADIENT_BORDER },
+ XML_TOKEN_MAP_END
+};
+
SvXMLTokenMap aTokenMap( aTrGradientAttrTokenMap );
SvXMLNamespaceMap& rNamespaceMap = rImport.GetNamespaceMap();
@@ -218,6 +220,8 @@ sal_Bool XMLTransGradientStyleImport::importXML(
bRet = bHasName && bHasStyle;
+ }
+
return bRet;
}
diff --git a/xmloff/source/style/XMLBackgroundImageContext.cxx b/xmloff/source/style/XMLBackgroundImageContext.cxx
index 5229b5be1c..5e7e5534c2 100644
--- a/xmloff/source/style/XMLBackgroundImageContext.cxx
+++ b/xmloff/source/style/XMLBackgroundImageContext.cxx
@@ -62,27 +62,24 @@ enum SvXMLTokenMapAttrs
XML_TOK_BGIMG_OPACITY,
XML_TOK_NGIMG_END=XML_TOK_UNKNOWN
};
-
-static __FAR_DATA SvXMLTokenMapEntry aBGImgAttributesAttrTokenMap[] =
+const SvXMLTokenMapEntry* lcl_getBGImgAttributesAttrTokenMap()
{
- { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_BGIMG_HREF },
- { XML_NAMESPACE_XLINK, XML_TYPE, XML_TOK_BGIMG_TYPE },
- { XML_NAMESPACE_XLINK, XML_ACTUATE, XML_TOK_BGIMG_ACTUATE },
- { XML_NAMESPACE_XLINK, XML_SHOW, XML_TOK_BGIMG_SHOW },
- { XML_NAMESPACE_STYLE, XML_POSITION, XML_TOK_BGIMG_POSITION },
- { XML_NAMESPACE_STYLE, XML_REPEAT, XML_TOK_BGIMG_REPEAT },
- { XML_NAMESPACE_STYLE, XML_FILTER_NAME, XML_TOK_BGIMG_FILTER },
- { XML_NAMESPACE_DRAW, XML_OPACITY, XML_TOK_BGIMG_OPACITY },
- XML_TOKEN_MAP_END
-};
+ static __FAR_DATA SvXMLTokenMapEntry aBGImgAttributesAttrTokenMap[] =
+ {
+ { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_BGIMG_HREF },
+ { XML_NAMESPACE_XLINK, XML_TYPE, XML_TOK_BGIMG_TYPE },
+ { XML_NAMESPACE_XLINK, XML_ACTUATE, XML_TOK_BGIMG_ACTUATE },
+ { XML_NAMESPACE_XLINK, XML_SHOW, XML_TOK_BGIMG_SHOW },
+ { XML_NAMESPACE_STYLE, XML_POSITION, XML_TOK_BGIMG_POSITION },
+ { XML_NAMESPACE_STYLE, XML_REPEAT, XML_TOK_BGIMG_REPEAT },
+ { XML_NAMESPACE_STYLE, XML_FILTER_NAME, XML_TOK_BGIMG_FILTER },
+ { XML_NAMESPACE_DRAW, XML_OPACITY, XML_TOK_BGIMG_OPACITY },
+ XML_TOKEN_MAP_END
+ };
+ return aBGImgAttributesAttrTokenMap;
+}
+
-SvXMLEnumMapEntry psXML_BrushRepeat[] =
-{
- { XML_BACKGROUND_REPEAT, GraphicLocation_TILED },
- { XML_BACKGROUND_NO_REPEAT, GraphicLocation_MIDDLE_MIDDLE },
- { XML_BACKGROUND_STRETCH, GraphicLocation_AREA },
- { XML_TOKEN_INVALID, 0 }
-};
SvXMLEnumMapEntry psXML_BrushHoriPos[] =
{
@@ -184,7 +181,7 @@ TYPEINIT1( XMLBackgroundImageContext, XMLElementPropertyContext );
void XMLBackgroundImageContext::ProcessAttrs(
const Reference< xml::sax::XAttributeList >& xAttrList )
{
- SvXMLTokenMap aTokenMap( aBGImgAttributesAttrTokenMap );
+ SvXMLTokenMap aTokenMap( lcl_getBGImgAttributesAttrTokenMap() );
ePos = GraphicLocation_NONE;
@@ -301,6 +298,13 @@ void XMLBackgroundImageContext::ProcessAttrs(
case XML_TOK_BGIMG_REPEAT:
{
sal_uInt16 nPos = GraphicLocation_NONE;
+ static SvXMLEnumMapEntry psXML_BrushRepeat[] =
+ {
+ { XML_BACKGROUND_REPEAT, GraphicLocation_TILED },
+ { XML_BACKGROUND_NO_REPEAT, GraphicLocation_MIDDLE_MIDDLE },
+ { XML_BACKGROUND_STRETCH, GraphicLocation_AREA },
+ { XML_TOKEN_INVALID, 0 }
+ };
if( SvXMLUnitConverter::convertEnum( nPos, rValue,
psXML_BrushRepeat ) )
{
diff --git a/xmloff/source/style/XMLFontStylesContext.cxx b/xmloff/source/style/XMLFontStylesContext.cxx
index c16968e0d3..3bb6d98785 100644
--- a/xmloff/source/style/XMLFontStylesContext.cxx
+++ b/xmloff/source/style/XMLFontStylesContext.cxx
@@ -49,7 +49,7 @@
#ifndef _XMLOFF_XMLFONTSTYLESCONTEXT_HXX
#include <xmloff/XMLFontStylesContext.hxx>
#endif
-
+#include <rtl/logfile.hxx>
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
@@ -76,21 +76,25 @@ enum XMLFontStyleAttrTokens
XML_TOK_FONT_STYLE_ATTR_END=XML_TOK_UNKNOWN
};
-static __FAR_DATA SvXMLTokenMapEntry aFontStyleAttrTokenMap[] =
+const SvXMLTokenMapEntry* lcl_getFontStyleAttrTokenMap()
{
- { XML_NAMESPACE_SVG, XML_FONT_FAMILY,
- XML_TOK_FONT_STYLE_ATTR_FAMILY },
- { XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC,
- XML_TOK_FONT_STYLE_ATTR_FAMILY_GENERIC },
- { XML_NAMESPACE_STYLE, XML_FONT_ADORNMENTS,
- XML_TOK_FONT_STYLE_ATTR_STYLENAME },
- { XML_NAMESPACE_STYLE, XML_FONT_PITCH,
- XML_TOK_FONT_STYLE_ATTR_PITCH },
- { XML_NAMESPACE_STYLE, XML_FONT_CHARSET,
- XML_TOK_FONT_STYLE_ATTR_CHARSET },
-
- XML_TOKEN_MAP_END
-};
+ static __FAR_DATA SvXMLTokenMapEntry aFontStyleAttrTokenMap[] =
+ {
+ { XML_NAMESPACE_SVG, XML_FONT_FAMILY,
+ XML_TOK_FONT_STYLE_ATTR_FAMILY },
+ { XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC,
+ XML_TOK_FONT_STYLE_ATTR_FAMILY_GENERIC },
+ { XML_NAMESPACE_STYLE, XML_FONT_ADORNMENTS,
+ XML_TOK_FONT_STYLE_ATTR_STYLENAME },
+ { XML_NAMESPACE_STYLE, XML_FONT_PITCH,
+ XML_TOK_FONT_STYLE_ATTR_PITCH },
+ { XML_NAMESPACE_STYLE, XML_FONT_CHARSET,
+ XML_TOK_FONT_STYLE_ATTR_CHARSET },
+
+ XML_TOKEN_MAP_END
+ };
+ return aFontStyleAttrTokenMap;
+}
class XMLFontStyleContext_Impl : public SvXMLStyleContext
{
@@ -258,7 +262,7 @@ XMLFontStylesContext::XMLFontStylesContext( SvXMLImport& rImport,
pFamilyHdl( new XMLFontFamilyPropHdl ),
pPitchHdl( new XMLFontPitchPropHdl ),
pEncHdl( new XMLFontEncodingPropHdl ),
- pFontStyleAttrTokenMap( new SvXMLTokenMap(aFontStyleAttrTokenMap) ),
+ pFontStyleAttrTokenMap( new SvXMLTokenMap(lcl_getFontStyleAttrTokenMap()) ),
eDfltEncoding( eDfltEnc )
{
}
diff --git a/xmloff/source/style/XMLFootnoteSeparatorExport.cxx b/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
index 659977ff7e..2f44af15ca 100644
--- a/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
+++ b/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
@@ -60,14 +60,6 @@ XMLFootnoteSeparatorExport::~XMLFootnoteSeparatorExport()
}
-static const SvXMLEnumMapEntry aXML_HorizontalAdjust_Enum[] =
-{
- { XML_LEFT, text::HorizontalAdjust_LEFT },
- { XML_CENTER, text::HorizontalAdjust_CENTER },
- { XML_RIGHT, text::HorizontalAdjust_RIGHT },
- { XML_TOKEN_INVALID, 0 }
-};
-
void XMLFootnoteSeparatorExport::exportXML(
const vector<XMLPropertyState> * pProperties,
sal_uInt32
@@ -148,6 +140,14 @@ void XMLFootnoteSeparatorExport::exportXML(
}
// adjustment
+ static const SvXMLEnumMapEntry aXML_HorizontalAdjust_Enum[] =
+ {
+ { XML_LEFT, text::HorizontalAdjust_LEFT },
+ { XML_CENTER, text::HorizontalAdjust_CENTER },
+ { XML_RIGHT, text::HorizontalAdjust_RIGHT },
+ { XML_TOKEN_INVALID, 0 }
+ };
+
if (rExport.GetMM100UnitConverter().convertEnum(
sBuf, eLineAdjust, aXML_HorizontalAdjust_Enum))
{
diff --git a/xmloff/source/style/XMLFootnoteSeparatorImport.cxx b/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
index bfada994d6..cd07088eb1 100644
--- a/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
+++ b/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
@@ -86,15 +86,6 @@ XMLFootnoteSeparatorImport::~XMLFootnoteSeparatorImport()
{
}
-
-static const SvXMLEnumMapEntry aXML_HorizontalAdjust_Enum[] =
-{
- { XML_LEFT, text::HorizontalAdjust_LEFT },
- { XML_CENTER, text::HorizontalAdjust_CENTER },
- { XML_RIGHT, text::HorizontalAdjust_RIGHT },
- { XML_TOKEN_INVALID, 0 }
-};
-
void XMLFootnoteSeparatorImport::StartElement(
const Reference<XAttributeList> & xAttrList)
{
@@ -114,12 +105,11 @@ void XMLFootnoteSeparatorImport::StartElement(
sal_uInt16 nPrefix = GetImport().GetNamespaceMap().
GetKeyByAttrName( xAttrList->getNameByIndex(nAttr),
&sLocalName );
- OUString sAttrValue = xAttrList->getValueByIndex(nAttr);
-
- sal_Int32 nTmp;
if (XML_NAMESPACE_STYLE == nPrefix)
{
+ OUString sAttrValue = xAttrList->getValueByIndex(nAttr);
+ sal_Int32 nTmp;
if (IsXMLToken( sLocalName, XML_WIDTH ))
{
if (GetImport().GetMM100UnitConverter().convertMeasure(
@@ -143,6 +133,14 @@ void XMLFootnoteSeparatorImport::StartElement(
else if (IsXMLToken( sLocalName, XML_ADJUSTMENT ))
{
sal_uInt16 nTmpU;
+ static const SvXMLEnumMapEntry aXML_HorizontalAdjust_Enum[] =
+ {
+ { XML_LEFT, text::HorizontalAdjust_LEFT },
+ { XML_CENTER, text::HorizontalAdjust_CENTER },
+ { XML_RIGHT, text::HorizontalAdjust_RIGHT },
+ { XML_TOKEN_INVALID, 0 }
+ };
+
if (SvXMLUnitConverter::convertEnum(
nTmpU, sAttrValue, aXML_HorizontalAdjust_Enum))
eLineAdjust = (sal_Int16)nTmpU;
diff --git a/xmloff/source/style/fonthdl.cxx b/xmloff/source/style/fonthdl.cxx
index 0a8ae76666..5ad8d761ae 100644
--- a/xmloff/source/style/fonthdl.cxx
+++ b/xmloff/source/style/fonthdl.cxx
@@ -51,17 +51,21 @@ using ::rtl::OUStringBuffer;
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-static SvXMLEnumMapEntry __READONLY_DATA aFontFamilyGenericMapping[] =
+const SvXMLEnumMapEntry* lcl_getFontFamilyGenericMapping()
{
- { XML_DECORATIVE, FAMILY_DECORATIVE },
-
- { XML_MODERN, FAMILY_MODERN },
- { XML_ROMAN, FAMILY_ROMAN },
- { XML_SCRIPT, FAMILY_SCRIPT },
- { XML_SWISS, FAMILY_SWISS },
- { XML_SYSTEM, FAMILY_SYSTEM },
- { XML_TOKEN_INVALID, 0 }
-};
+ static SvXMLEnumMapEntry __READONLY_DATA aFontFamilyGenericMapping[] =
+ {
+ { XML_DECORATIVE, FAMILY_DECORATIVE },
+
+ { XML_MODERN, FAMILY_MODERN },
+ { XML_ROMAN, FAMILY_ROMAN },
+ { XML_SCRIPT, FAMILY_SCRIPT },
+ { XML_SWISS, FAMILY_SWISS },
+ { XML_SYSTEM, FAMILY_SYSTEM },
+ { XML_TOKEN_INVALID, 0 }
+ };
+ return aFontFamilyGenericMapping;
+}
static SvXMLEnumMapEntry __READONLY_DATA aFontPitchMapping[] =
{
@@ -219,7 +223,7 @@ XMLFontFamilyPropHdl::~XMLFontFamilyPropHdl()
sal_Bool XMLFontFamilyPropHdl::importXML( const OUString& rStrImpValue, uno::Any& rValue, const SvXMLUnitConverter& ) const
{
sal_uInt16 eNewFamily;
- sal_Bool bRet = SvXMLUnitConverter::convertEnum( eNewFamily, rStrImpValue, aFontFamilyGenericMapping );
+ sal_Bool bRet = SvXMLUnitConverter::convertEnum( eNewFamily, rStrImpValue, lcl_getFontFamilyGenericMapping() );
if( bRet )
rValue <<= (sal_Int16)eNewFamily;
@@ -236,7 +240,7 @@ sal_Bool XMLFontFamilyPropHdl::exportXML( OUString& rStrExpValue, const uno::Any
{
FontFamily eFamily = (FontFamily)nFamily;
if( eFamily != FAMILY_DONTKNOW )
- bRet = SvXMLUnitConverter::convertEnum( aOut, eFamily, aFontFamilyGenericMapping );
+ bRet = SvXMLUnitConverter::convertEnum( aOut, eFamily, lcl_getFontFamilyGenericMapping() );
}
rStrExpValue = aOut.makeStringAndClear();
diff --git a/xmloff/source/style/xmlexppr.cxx b/xmloff/source/style/xmlexppr.cxx
index 0b465de9dc..eac3d834cc 100644
--- a/xmloff/source/style/xmlexppr.cxx
+++ b/xmloff/source/style/xmlexppr.cxx
@@ -725,7 +725,7 @@ vector< XMLPropertyState > SvXMLExportPropertyMapper::_Filter(
}
// Call centext-filter
- if( aPropStateArray.size() > 0 )
+ if( !aPropStateArray.empty() )
ContextFilter( aPropStateArray, xPropSet );
// Have to do if we change from a vector to a list or something like that
diff --git a/xmloff/source/style/xmlnumfi.cxx b/xmloff/source/style/xmlnumfi.cxx
index 55471a59f2..c61e7a87ca 100644
--- a/xmloff/source/style/xmlnumfi.cxx
+++ b/xmloff/source/style/xmlnumfi.cxx
@@ -334,82 +334,6 @@ static ColorData aNumFmtStdColors[XML_NUMF_COLORCOUNT] =
// token maps
//
-static __FAR_DATA SvXMLTokenMapEntry aStylesElemMap[] =
-{
- // style elements
- { XML_NAMESPACE_NUMBER, XML_NUMBER_STYLE, XML_TOK_STYLES_NUMBER_STYLE },
- { XML_NAMESPACE_NUMBER, XML_CURRENCY_STYLE, XML_TOK_STYLES_CURRENCY_STYLE },
- { XML_NAMESPACE_NUMBER, XML_PERCENTAGE_STYLE, XML_TOK_STYLES_PERCENTAGE_STYLE },
- { XML_NAMESPACE_NUMBER, XML_DATE_STYLE, XML_TOK_STYLES_DATE_STYLE },
- { XML_NAMESPACE_NUMBER, XML_TIME_STYLE, XML_TOK_STYLES_TIME_STYLE },
- { XML_NAMESPACE_NUMBER, XML_BOOLEAN_STYLE, XML_TOK_STYLES_BOOLEAN_STYLE },
- { XML_NAMESPACE_NUMBER, XML_TEXT_STYLE, XML_TOK_STYLES_TEXT_STYLE },
- XML_TOKEN_MAP_END
-};
-
-static __FAR_DATA SvXMLTokenMapEntry aStyleElemMap[] =
-{
- // elements in a style
- { XML_NAMESPACE_NUMBER, XML_TEXT, XML_TOK_STYLE_TEXT },
- { XML_NAMESPACE_NUMBER, XML_NUMBER, XML_TOK_STYLE_NUMBER },
- { XML_NAMESPACE_NUMBER, XML_SCIENTIFIC_NUMBER, XML_TOK_STYLE_SCIENTIFIC_NUMBER },
- { XML_NAMESPACE_NUMBER, XML_FRACTION, XML_TOK_STYLE_FRACTION },
- { XML_NAMESPACE_NUMBER, XML_CURRENCY_SYMBOL, XML_TOK_STYLE_CURRENCY_SYMBOL },
- { XML_NAMESPACE_NUMBER, XML_DAY, XML_TOK_STYLE_DAY },
- { XML_NAMESPACE_NUMBER, XML_MONTH, XML_TOK_STYLE_MONTH },
- { XML_NAMESPACE_NUMBER, XML_YEAR, XML_TOK_STYLE_YEAR },
- { XML_NAMESPACE_NUMBER, XML_ERA, XML_TOK_STYLE_ERA },
- { XML_NAMESPACE_NUMBER, XML_DAY_OF_WEEK, XML_TOK_STYLE_DAY_OF_WEEK },
- { XML_NAMESPACE_NUMBER, XML_WEEK_OF_YEAR, XML_TOK_STYLE_WEEK_OF_YEAR },
- { XML_NAMESPACE_NUMBER, XML_QUARTER, XML_TOK_STYLE_QUARTER },
- { XML_NAMESPACE_NUMBER, XML_HOURS, XML_TOK_STYLE_HOURS },
- { XML_NAMESPACE_NUMBER, XML_AM_PM, XML_TOK_STYLE_AM_PM },
- { XML_NAMESPACE_NUMBER, XML_MINUTES, XML_TOK_STYLE_MINUTES },
- { XML_NAMESPACE_NUMBER, XML_SECONDS, XML_TOK_STYLE_SECONDS },
- { XML_NAMESPACE_NUMBER, XML_BOOLEAN, XML_TOK_STYLE_BOOLEAN },
- { XML_NAMESPACE_NUMBER, XML_TEXT_CONTENT, XML_TOK_STYLE_TEXT_CONTENT },
- { XML_NAMESPACE_STYLE, XML_TEXT_PROPERTIES, XML_TOK_STYLE_PROPERTIES },
- { XML_NAMESPACE_STYLE, XML_MAP, XML_TOK_STYLE_MAP },
- XML_TOKEN_MAP_END
-};
-
-static __FAR_DATA SvXMLTokenMapEntry aStyleAttrMap[] =
-{
- // attributes for a style
- { XML_NAMESPACE_STYLE, XML_NAME, XML_TOK_STYLE_ATTR_NAME },
- { XML_NAMESPACE_NUMBER, XML_LANGUAGE, XML_TOK_STYLE_ATTR_LANGUAGE },
- { XML_NAMESPACE_NUMBER, XML_COUNTRY, XML_TOK_STYLE_ATTR_COUNTRY },
- { XML_NAMESPACE_NUMBER, XML_TITLE, XML_TOK_STYLE_ATTR_TITLE },
- { XML_NAMESPACE_NUMBER, XML_AUTOMATIC_ORDER, XML_TOK_STYLE_ATTR_AUTOMATIC_ORDER },
- { XML_NAMESPACE_NUMBER, XML_FORMAT_SOURCE, XML_TOK_STYLE_ATTR_FORMAT_SOURCE },
- { XML_NAMESPACE_NUMBER, XML_TRUNCATE_ON_OVERFLOW, XML_TOK_STYLE_ATTR_TRUNCATE_ON_OVERFLOW },
- { XML_NAMESPACE_STYLE, XML_VOLATILE, XML_TOK_STYLE_ATTR_VOLATILE },
- { XML_NAMESPACE_NUMBER, XML_TRANSLITERATION_FORMAT, XML_TOK_STYLE_ATTR_TRANSL_FORMAT },
- { XML_NAMESPACE_NUMBER, XML_TRANSLITERATION_LANGUAGE, XML_TOK_STYLE_ATTR_TRANSL_LANGUAGE },
- { XML_NAMESPACE_NUMBER, XML_TRANSLITERATION_COUNTRY, XML_TOK_STYLE_ATTR_TRANSL_COUNTRY },
- { XML_NAMESPACE_NUMBER, XML_TRANSLITERATION_STYLE, XML_TOK_STYLE_ATTR_TRANSL_STYLE },
- XML_TOKEN_MAP_END
-};
-
-static __FAR_DATA SvXMLTokenMapEntry aStyleElemAttrMap[] =
-{
- // attributes for an element within a style
- { XML_NAMESPACE_NUMBER, XML_DECIMAL_PLACES, XML_TOK_ELEM_ATTR_DECIMAL_PLACES },
- { XML_NAMESPACE_NUMBER, XML_MIN_INTEGER_DIGITS, XML_TOK_ELEM_ATTR_MIN_INTEGER_DIGITS },
- { XML_NAMESPACE_NUMBER, XML_GROUPING, XML_TOK_ELEM_ATTR_GROUPING },
- { XML_NAMESPACE_NUMBER, XML_DISPLAY_FACTOR, XML_TOK_ELEM_ATTR_DISPLAY_FACTOR },
- { XML_NAMESPACE_NUMBER, XML_DECIMAL_REPLACEMENT, XML_TOK_ELEM_ATTR_DECIMAL_REPLACEMENT },
- { XML_NAMESPACE_NUMBER, XML_MIN_EXPONENT_DIGITS, XML_TOK_ELEM_ATTR_MIN_EXPONENT_DIGITS },
- { XML_NAMESPACE_NUMBER, XML_MIN_NUMERATOR_DIGITS, XML_TOK_ELEM_ATTR_MIN_NUMERATOR_DIGITS },
- { XML_NAMESPACE_NUMBER, XML_MIN_DENOMINATOR_DIGITS, XML_TOK_ELEM_ATTR_MIN_DENOMINATOR_DIGITS },
- { XML_NAMESPACE_NUMBER, XML_LANGUAGE, XML_TOK_ELEM_ATTR_LANGUAGE },
- { XML_NAMESPACE_NUMBER, XML_COUNTRY, XML_TOK_ELEM_ATTR_COUNTRY },
- { XML_NAMESPACE_NUMBER, XML_STYLE, XML_TOK_ELEM_ATTR_STYLE },
- { XML_NAMESPACE_NUMBER, XML_TEXTUAL, XML_TOK_ELEM_ATTR_TEXTUAL },
- { XML_NAMESPACE_NUMBER, XML_CALENDAR, XML_TOK_ELEM_ATTR_CALENDAR },
- XML_TOKEN_MAP_END
-};
-
// maps for SvXMLUnitConverter::convertEnum
static __FAR_DATA SvXMLEnumMapEntry aStyleValueMap[] =
@@ -581,28 +505,112 @@ void SvXMLNumImpData::RemoveVolatileFormats()
const SvXMLTokenMap& SvXMLNumImpData::GetStylesElemTokenMap()
{
if( !pStylesElemTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aStylesElemMap[] =
+ {
+ // style elements
+ { XML_NAMESPACE_NUMBER, XML_NUMBER_STYLE, XML_TOK_STYLES_NUMBER_STYLE },
+ { XML_NAMESPACE_NUMBER, XML_CURRENCY_STYLE, XML_TOK_STYLES_CURRENCY_STYLE },
+ { XML_NAMESPACE_NUMBER, XML_PERCENTAGE_STYLE, XML_TOK_STYLES_PERCENTAGE_STYLE },
+ { XML_NAMESPACE_NUMBER, XML_DATE_STYLE, XML_TOK_STYLES_DATE_STYLE },
+ { XML_NAMESPACE_NUMBER, XML_TIME_STYLE, XML_TOK_STYLES_TIME_STYLE },
+ { XML_NAMESPACE_NUMBER, XML_BOOLEAN_STYLE, XML_TOK_STYLES_BOOLEAN_STYLE },
+ { XML_NAMESPACE_NUMBER, XML_TEXT_STYLE, XML_TOK_STYLES_TEXT_STYLE },
+ XML_TOKEN_MAP_END
+ };
+
pStylesElemTokenMap = new SvXMLTokenMap( aStylesElemMap );
+ }
return *pStylesElemTokenMap;
}
const SvXMLTokenMap& SvXMLNumImpData::GetStyleElemTokenMap()
{
if( !pStyleElemTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aStyleElemMap[] =
+ {
+ // elements in a style
+ { XML_NAMESPACE_NUMBER, XML_TEXT, XML_TOK_STYLE_TEXT },
+ { XML_NAMESPACE_NUMBER, XML_NUMBER, XML_TOK_STYLE_NUMBER },
+ { XML_NAMESPACE_NUMBER, XML_SCIENTIFIC_NUMBER, XML_TOK_STYLE_SCIENTIFIC_NUMBER },
+ { XML_NAMESPACE_NUMBER, XML_FRACTION, XML_TOK_STYLE_FRACTION },
+ { XML_NAMESPACE_NUMBER, XML_CURRENCY_SYMBOL, XML_TOK_STYLE_CURRENCY_SYMBOL },
+ { XML_NAMESPACE_NUMBER, XML_DAY, XML_TOK_STYLE_DAY },
+ { XML_NAMESPACE_NUMBER, XML_MONTH, XML_TOK_STYLE_MONTH },
+ { XML_NAMESPACE_NUMBER, XML_YEAR, XML_TOK_STYLE_YEAR },
+ { XML_NAMESPACE_NUMBER, XML_ERA, XML_TOK_STYLE_ERA },
+ { XML_NAMESPACE_NUMBER, XML_DAY_OF_WEEK, XML_TOK_STYLE_DAY_OF_WEEK },
+ { XML_NAMESPACE_NUMBER, XML_WEEK_OF_YEAR, XML_TOK_STYLE_WEEK_OF_YEAR },
+ { XML_NAMESPACE_NUMBER, XML_QUARTER, XML_TOK_STYLE_QUARTER },
+ { XML_NAMESPACE_NUMBER, XML_HOURS, XML_TOK_STYLE_HOURS },
+ { XML_NAMESPACE_NUMBER, XML_AM_PM, XML_TOK_STYLE_AM_PM },
+ { XML_NAMESPACE_NUMBER, XML_MINUTES, XML_TOK_STYLE_MINUTES },
+ { XML_NAMESPACE_NUMBER, XML_SECONDS, XML_TOK_STYLE_SECONDS },
+ { XML_NAMESPACE_NUMBER, XML_BOOLEAN, XML_TOK_STYLE_BOOLEAN },
+ { XML_NAMESPACE_NUMBER, XML_TEXT_CONTENT, XML_TOK_STYLE_TEXT_CONTENT },
+ { XML_NAMESPACE_STYLE, XML_TEXT_PROPERTIES, XML_TOK_STYLE_PROPERTIES },
+ { XML_NAMESPACE_STYLE, XML_MAP, XML_TOK_STYLE_MAP },
+ XML_TOKEN_MAP_END
+ };
+
pStyleElemTokenMap = new SvXMLTokenMap( aStyleElemMap );
+ }
return *pStyleElemTokenMap;
}
const SvXMLTokenMap& SvXMLNumImpData::GetStyleAttrTokenMap()
{
if( !pStyleAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aStyleAttrMap[] =
+ {
+ // attributes for a style
+ { XML_NAMESPACE_STYLE, XML_NAME, XML_TOK_STYLE_ATTR_NAME },
+ { XML_NAMESPACE_NUMBER, XML_LANGUAGE, XML_TOK_STYLE_ATTR_LANGUAGE },
+ { XML_NAMESPACE_NUMBER, XML_COUNTRY, XML_TOK_STYLE_ATTR_COUNTRY },
+ { XML_NAMESPACE_NUMBER, XML_TITLE, XML_TOK_STYLE_ATTR_TITLE },
+ { XML_NAMESPACE_NUMBER, XML_AUTOMATIC_ORDER, XML_TOK_STYLE_ATTR_AUTOMATIC_ORDER },
+ { XML_NAMESPACE_NUMBER, XML_FORMAT_SOURCE, XML_TOK_STYLE_ATTR_FORMAT_SOURCE },
+ { XML_NAMESPACE_NUMBER, XML_TRUNCATE_ON_OVERFLOW, XML_TOK_STYLE_ATTR_TRUNCATE_ON_OVERFLOW },
+ { XML_NAMESPACE_STYLE, XML_VOLATILE, XML_TOK_STYLE_ATTR_VOLATILE },
+ { XML_NAMESPACE_NUMBER, XML_TRANSLITERATION_FORMAT, XML_TOK_STYLE_ATTR_TRANSL_FORMAT },
+ { XML_NAMESPACE_NUMBER, XML_TRANSLITERATION_LANGUAGE, XML_TOK_STYLE_ATTR_TRANSL_LANGUAGE },
+ { XML_NAMESPACE_NUMBER, XML_TRANSLITERATION_COUNTRY, XML_TOK_STYLE_ATTR_TRANSL_COUNTRY },
+ { XML_NAMESPACE_NUMBER, XML_TRANSLITERATION_STYLE, XML_TOK_STYLE_ATTR_TRANSL_STYLE },
+ XML_TOKEN_MAP_END
+ };
+
pStyleAttrTokenMap = new SvXMLTokenMap( aStyleAttrMap );
+ }
return *pStyleAttrTokenMap;
}
const SvXMLTokenMap& SvXMLNumImpData::GetStyleElemAttrTokenMap()
{
if( !pStyleElemAttrTokenMap )
+ {
+ static __FAR_DATA SvXMLTokenMapEntry aStyleElemAttrMap[] =
+ {
+ // attributes for an element within a style
+ { XML_NAMESPACE_NUMBER, XML_DECIMAL_PLACES, XML_TOK_ELEM_ATTR_DECIMAL_PLACES },
+ { XML_NAMESPACE_NUMBER, XML_MIN_INTEGER_DIGITS, XML_TOK_ELEM_ATTR_MIN_INTEGER_DIGITS },
+ { XML_NAMESPACE_NUMBER, XML_GROUPING, XML_TOK_ELEM_ATTR_GROUPING },
+ { XML_NAMESPACE_NUMBER, XML_DISPLAY_FACTOR, XML_TOK_ELEM_ATTR_DISPLAY_FACTOR },
+ { XML_NAMESPACE_NUMBER, XML_DECIMAL_REPLACEMENT, XML_TOK_ELEM_ATTR_DECIMAL_REPLACEMENT },
+ { XML_NAMESPACE_NUMBER, XML_MIN_EXPONENT_DIGITS, XML_TOK_ELEM_ATTR_MIN_EXPONENT_DIGITS },
+ { XML_NAMESPACE_NUMBER, XML_MIN_NUMERATOR_DIGITS, XML_TOK_ELEM_ATTR_MIN_NUMERATOR_DIGITS },
+ { XML_NAMESPACE_NUMBER, XML_MIN_DENOMINATOR_DIGITS, XML_TOK_ELEM_ATTR_MIN_DENOMINATOR_DIGITS },
+ { XML_NAMESPACE_NUMBER, XML_LANGUAGE, XML_TOK_ELEM_ATTR_LANGUAGE },
+ { XML_NAMESPACE_NUMBER, XML_COUNTRY, XML_TOK_ELEM_ATTR_COUNTRY },
+ { XML_NAMESPACE_NUMBER, XML_STYLE, XML_TOK_ELEM_ATTR_STYLE },
+ { XML_NAMESPACE_NUMBER, XML_TEXTUAL, XML_TOK_ELEM_ATTR_TEXTUAL },
+ { XML_NAMESPACE_NUMBER, XML_CALENDAR, XML_TOK_ELEM_ATTR_CALENDAR },
+ XML_TOKEN_MAP_END
+ };
+
pStyleElemAttrTokenMap = new SvXMLTokenMap( aStyleElemAttrMap );
+ }
return *pStyleElemAttrTokenMap;
}
diff --git a/xmloff/source/style/xmlnumi.cxx b/xmloff/source/style/xmlnumi.cxx
index abe3564564..b96c7e9bb8 100644
--- a/xmloff/source/style/xmlnumi.cxx
+++ b/xmloff/source/style/xmlnumi.cxx
@@ -182,25 +182,29 @@ enum SvxXMLTextListLevelStyleAttrTokens
XML_TOK_TEXT_LEVEL_ATTR_END=XML_TOK_UNKNOWN
};
-static __FAR_DATA SvXMLTokenMapEntry aLevelAttrTokenMap[] =
+const SvXMLTokenMapEntry* lcl_getLevelAttrTokenMap()
{
- { XML_NAMESPACE_TEXT, XML_LEVEL, XML_TOK_TEXT_LEVEL_ATTR_LEVEL },
- { XML_NAMESPACE_TEXT, XML_STYLE_NAME, XML_TOK_TEXT_LEVEL_ATTR_STYLE_NAME },
- { XML_NAMESPACE_TEXT, XML_BULLET_CHAR, XML_TOK_TEXT_LEVEL_ATTR_BULLET_CHAR },
- { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_TEXT_LEVEL_ATTR_HREF },
- { XML_NAMESPACE_XLINK, XML_TYPE, XML_TOK_TEXT_LEVEL_ATTR_TYPE },
- { XML_NAMESPACE_XLINK, XML_SHOW, XML_TOK_TEXT_LEVEL_ATTR_SHOW },
- { XML_NAMESPACE_XLINK, XML_ACTUATE, XML_TOK_TEXT_LEVEL_ATTR_ACTUATE },
-
- { XML_NAMESPACE_STYLE, XML_NUM_FORMAT, XML_TOK_TEXT_LEVEL_ATTR_NUM_FORMAT },
- { XML_NAMESPACE_STYLE, XML_NUM_PREFIX, XML_TOK_TEXT_LEVEL_ATTR_NUM_PREFIX },
- { XML_NAMESPACE_STYLE, XML_NUM_SUFFIX, XML_TOK_TEXT_LEVEL_ATTR_NUM_SUFFIX },
- { XML_NAMESPACE_STYLE, XML_NUM_LETTER_SYNC, XML_TOK_TEXT_LEVEL_ATTR_NUM_LETTER_SYNC },
- { XML_NAMESPACE_TEXT, XML_START_VALUE, XML_TOK_TEXT_LEVEL_ATTR_START_VALUE },
- { XML_NAMESPACE_TEXT, XML_DISPLAY_LEVELS, XML_TOK_TEXT_LEVEL_ATTR_DISPLAY_LEVELS },
-
- XML_TOKEN_MAP_END
-};
+ static __FAR_DATA SvXMLTokenMapEntry aLevelAttrTokenMap[] =
+ {
+ { XML_NAMESPACE_TEXT, XML_LEVEL, XML_TOK_TEXT_LEVEL_ATTR_LEVEL },
+ { XML_NAMESPACE_TEXT, XML_STYLE_NAME, XML_TOK_TEXT_LEVEL_ATTR_STYLE_NAME },
+ { XML_NAMESPACE_TEXT, XML_BULLET_CHAR, XML_TOK_TEXT_LEVEL_ATTR_BULLET_CHAR },
+ { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_TEXT_LEVEL_ATTR_HREF },
+ { XML_NAMESPACE_XLINK, XML_TYPE, XML_TOK_TEXT_LEVEL_ATTR_TYPE },
+ { XML_NAMESPACE_XLINK, XML_SHOW, XML_TOK_TEXT_LEVEL_ATTR_SHOW },
+ { XML_NAMESPACE_XLINK, XML_ACTUATE, XML_TOK_TEXT_LEVEL_ATTR_ACTUATE },
+
+ { XML_NAMESPACE_STYLE, XML_NUM_FORMAT, XML_TOK_TEXT_LEVEL_ATTR_NUM_FORMAT },
+ { XML_NAMESPACE_STYLE, XML_NUM_PREFIX, XML_TOK_TEXT_LEVEL_ATTR_NUM_PREFIX },
+ { XML_NAMESPACE_STYLE, XML_NUM_SUFFIX, XML_TOK_TEXT_LEVEL_ATTR_NUM_SUFFIX },
+ { XML_NAMESPACE_STYLE, XML_NUM_LETTER_SYNC, XML_TOK_TEXT_LEVEL_ATTR_NUM_LETTER_SYNC },
+ { XML_NAMESPACE_TEXT, XML_START_VALUE, XML_TOK_TEXT_LEVEL_ATTR_START_VALUE },
+ { XML_NAMESPACE_TEXT, XML_DISPLAY_LEVELS, XML_TOK_TEXT_LEVEL_ATTR_DISPLAY_LEVELS },
+
+ XML_TOKEN_MAP_END
+ };
+ return aLevelAttrTokenMap;
+}
class SvxXMLListLevelStyleContext_Impl : public SvXMLImportContext
{
@@ -357,7 +361,7 @@ SvxXMLListLevelStyleContext_Impl::SvxXMLListLevelStyleContext_Impl(
else if( IsXMLToken( rLName, XML_LIST_LEVEL_STYLE_IMAGE ) )
bImage = sal_True;
- SvXMLTokenMap aTokenMap( aLevelAttrTokenMap );
+ SvXMLTokenMap aTokenMap( lcl_getLevelAttrTokenMap() );
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
for( sal_Int16 i=0; i < nAttrCount; i++ )
{
@@ -693,50 +697,53 @@ enum SvxXMLStyleAttributesAttrTokens
XML_TOK_STYLE_ATTRIBUTES_ATTR_END=XML_TOK_UNKNOWN
};
-
-static __FAR_DATA SvXMLTokenMapEntry aStyleAttributesAttrTokenMap[] =
+const SvXMLTokenMapEntry* lcl_getStyleAttributesAttrTokenMap()
{
- { XML_NAMESPACE_TEXT, XML_SPACE_BEFORE,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_SPACE_BEFORE },
- { XML_NAMESPACE_TEXT, XML_MIN_LABEL_WIDTH,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_MIN_LABEL_WIDTH },
- { XML_NAMESPACE_TEXT, XML_MIN_LABEL_DISTANCE,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_MIN_LABEL_DIST },
- { XML_NAMESPACE_FO, XML_TEXT_ALIGN,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_TEXT_ALIGN },
- { XML_NAMESPACE_STYLE, XML_FONT_NAME,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_NAME },
- { XML_NAMESPACE_FO, XML_FONT_FAMILY,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_FAMILY },
- { XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_FAMILY_GENERIC },
- { XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_STYLENAME },
- { XML_NAMESPACE_STYLE, XML_FONT_PITCH,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_PITCH },
- { XML_NAMESPACE_STYLE, XML_FONT_CHARSET,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_CHARSET },
- { XML_NAMESPACE_STYLE, XML_VERTICAL_POS,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_VERTICAL_POS },
- { XML_NAMESPACE_STYLE, XML_VERTICAL_REL,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_VERTICAL_REL },
- { XML_NAMESPACE_FO, XML_WIDTH,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_WIDTH },
- { XML_NAMESPACE_FO, XML_HEIGHT,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_HEIGHT },
- { XML_NAMESPACE_FO, XML_COLOR,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_COLOR },
- { XML_NAMESPACE_STYLE, XML_USE_WINDOW_FONT_COLOR,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_WINDOW_FONT_COLOR },
- { XML_NAMESPACE_FO, XML_FONT_SIZE,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_SIZE },
- // --> OD 2008-01-16 #newlistlevelattrs#
- { XML_NAMESPACE_TEXT, XML_LIST_LEVEL_POSITION_AND_SPACE_MODE,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_POSITION_AND_SPACE_MODE },
- // <--
+ static __FAR_DATA SvXMLTokenMapEntry aStyleAttributesAttrTokenMap[] =
+ {
+ { XML_NAMESPACE_TEXT, XML_SPACE_BEFORE,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_SPACE_BEFORE },
+ { XML_NAMESPACE_TEXT, XML_MIN_LABEL_WIDTH,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_MIN_LABEL_WIDTH },
+ { XML_NAMESPACE_TEXT, XML_MIN_LABEL_DISTANCE,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_MIN_LABEL_DIST },
+ { XML_NAMESPACE_FO, XML_TEXT_ALIGN,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_TEXT_ALIGN },
+ { XML_NAMESPACE_STYLE, XML_FONT_NAME,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_NAME },
+ { XML_NAMESPACE_FO, XML_FONT_FAMILY,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_FAMILY },
+ { XML_NAMESPACE_STYLE, XML_FONT_FAMILY_GENERIC,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_FAMILY_GENERIC },
+ { XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_STYLENAME },
+ { XML_NAMESPACE_STYLE, XML_FONT_PITCH,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_PITCH },
+ { XML_NAMESPACE_STYLE, XML_FONT_CHARSET,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_CHARSET },
+ { XML_NAMESPACE_STYLE, XML_VERTICAL_POS,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_VERTICAL_POS },
+ { XML_NAMESPACE_STYLE, XML_VERTICAL_REL,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_VERTICAL_REL },
+ { XML_NAMESPACE_FO, XML_WIDTH,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_WIDTH },
+ { XML_NAMESPACE_FO, XML_HEIGHT,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_HEIGHT },
+ { XML_NAMESPACE_FO, XML_COLOR,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_COLOR },
+ { XML_NAMESPACE_STYLE, XML_USE_WINDOW_FONT_COLOR,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_WINDOW_FONT_COLOR },
+ { XML_NAMESPACE_FO, XML_FONT_SIZE,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_FONT_SIZE },
+ // --> OD 2008-01-16 #newlistlevelattrs#
+ { XML_NAMESPACE_TEXT, XML_LIST_LEVEL_POSITION_AND_SPACE_MODE,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_POSITION_AND_SPACE_MODE },
+ // <--
- XML_TOKEN_MAP_END
-};
+ XML_TOKEN_MAP_END
+ };
+ return aStyleAttributesAttrTokenMap;
+}
SvxXMLListLevelStyleAttrContext_Impl::SvxXMLListLevelStyleAttrContext_Impl(
SvXMLImport& rImport, sal_uInt16 nPrfx,
const OUString& rLName,
@@ -745,7 +752,7 @@ SvxXMLListLevelStyleAttrContext_Impl::SvxXMLListLevelStyleAttrContext_Impl(
SvXMLImportContext( rImport, nPrfx, rLName ),
rListLevel( rLLevel )
{
- SvXMLTokenMap aTokenMap( aStyleAttributesAttrTokenMap );
+ SvXMLTokenMap aTokenMap( lcl_getStyleAttributesAttrTokenMap() );
SvXMLUnitConverter& rUnitConv = GetImport().GetMM100UnitConverter();
OUString sFontName, sFontFamily, sFontStyleName, sFontFamilyGeneric,
@@ -1020,20 +1027,23 @@ enum SvxXMLStyleAttributesLabelAlignmentAttrTokens
XML_TOK_STYLE_ATTRIBUTES_LABEL_ALIGNMENT_ATTR_END=XML_TOK_UNKNOWN
};
-
-static __FAR_DATA SvXMLTokenMapEntry aStyleAlignmentAttributesAttrTokenMap[] =
+const SvXMLTokenMapEntry* lcl_getStyleAlignmentAttributesAttrTokenMap()
{
- { XML_NAMESPACE_TEXT, XML_LABEL_FOLLOWED_BY,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_LABEL_FOLLOWED_BY },
- { XML_NAMESPACE_TEXT, XML_LIST_TAB_STOP_POSITION,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_LISTTAB_STOP_POSITION },
- { XML_NAMESPACE_FO, XML_TEXT_INDENT,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_FIRST_LINE_INDENT },
- { XML_NAMESPACE_FO, XML_MARGIN_LEFT,
- XML_TOK_STYLE_ATTRIBUTES_ATTR_INDENT_AT },
-
- XML_TOKEN_MAP_END
-};
+ static __FAR_DATA SvXMLTokenMapEntry aStyleAlignmentAttributesAttrTokenMap[] =
+ {
+ { XML_NAMESPACE_TEXT, XML_LABEL_FOLLOWED_BY,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_LABEL_FOLLOWED_BY },
+ { XML_NAMESPACE_TEXT, XML_LIST_TAB_STOP_POSITION,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_LISTTAB_STOP_POSITION },
+ { XML_NAMESPACE_FO, XML_TEXT_INDENT,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_FIRST_LINE_INDENT },
+ { XML_NAMESPACE_FO, XML_MARGIN_LEFT,
+ XML_TOK_STYLE_ATTRIBUTES_ATTR_INDENT_AT },
+
+ XML_TOKEN_MAP_END
+ };
+ return aStyleAlignmentAttributesAttrTokenMap;
+}
SvxXMLListLevelStyleLabelAlignmentAttrContext_Impl::SvxXMLListLevelStyleLabelAlignmentAttrContext_Impl(
SvXMLImport& rImport, sal_uInt16 nPrfx,
const OUString& rLName,
@@ -1042,7 +1052,7 @@ SvxXMLListLevelStyleLabelAlignmentAttrContext_Impl::SvxXMLListLevelStyleLabelAli
SvXMLImportContext( rImport, nPrfx, rLName ),
rListLevel( rLLevel )
{
- SvXMLTokenMap aTokenMap( aStyleAlignmentAttributesAttrTokenMap );
+ SvXMLTokenMap aTokenMap( lcl_getStyleAlignmentAttributesAttrTokenMap() );
SvXMLUnitConverter& rUnitConv = GetImport().GetMM100UnitConverter();
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
diff --git a/xmloff/source/text/XMLIndexTOCStylesContext.cxx b/xmloff/source/text/XMLIndexTOCStylesContext.cxx
index 2ec7e23c1e..ae43e705fb 100644
--- a/xmloff/source/text/XMLIndexTOCStylesContext.cxx
+++ b/xmloff/source/text/XMLIndexTOCStylesContext.cxx
@@ -111,7 +111,7 @@ void XMLIndexTOCStylesContext::EndElement()
if (nOutlineLevel >= 0)
{
// copy vector into sequence
- sal_Int32 nCount = aStyleNames.size();
+ const sal_Int32 nCount = aStyleNames.size();
Sequence<OUString> aStyleNamesSequence(nCount);
for(sal_Int32 i = 0; i < nCount; i++)
{
diff --git a/xmloff/source/text/XMLIndexTemplateContext.cxx b/xmloff/source/text/XMLIndexTemplateContext.cxx
index 2123f3e67d..5376a4ed9e 100644
--- a/xmloff/source/text/XMLIndexTemplateContext.cxx
+++ b/xmloff/source/text/XMLIndexTemplateContext.cxx
@@ -196,7 +196,7 @@ void XMLIndexTemplateContext::EndElement()
{
if (bOutlineLevelOK)
{
- sal_Int32 nCount = aValueVector.size();
+ const sal_Int32 nCount = aValueVector.size();
Sequence<PropertyValues> aValueSequence(nCount);
for(sal_Int32 i = 0; i<nCount; i++)
{
diff --git a/xmloff/source/text/XMLLineNumberingImportContext.cxx b/xmloff/source/text/XMLLineNumberingImportContext.cxx
index 4ab3ccfa87..139e123f4f 100644
--- a/xmloff/source/text/XMLLineNumberingImportContext.cxx
+++ b/xmloff/source/text/XMLLineNumberingImportContext.cxx
@@ -91,47 +91,36 @@ XMLLineNumberingImportContext::~XMLLineNumberingImportContext()
{
}
-
-
-static const SvXMLEnumMapEntry aLineNumberPositionMap[] =
-{
- { XML_LEFT, style::LineNumberPosition::LEFT },
- { XML_RIGHT, style::LineNumberPosition::RIGHT },
- { XML_INSIDE, style::LineNumberPosition::INSIDE },
- { XML_OUTSIDE, style::LineNumberPosition::OUTSIDE },
- { XML_TOKEN_INVALID, 0 }
-};
-
-static SvXMLTokenMapEntry aLineNumberingTokenMap[] =
-{
- { XML_NAMESPACE_TEXT, XML_STYLE_NAME, XML_TOK_LINENUMBERING_STYLE_NAME },
- { XML_NAMESPACE_TEXT, XML_NUMBER_LINES,
- XML_TOK_LINENUMBERING_NUMBER_LINES },
- { XML_NAMESPACE_TEXT, XML_COUNT_EMPTY_LINES,
- XML_TOK_LINENUMBERING_COUNT_EMPTY_LINES },
- { XML_NAMESPACE_TEXT, XML_COUNT_IN_TEXT_BOXES,
- XML_TOK_LINENUMBERING_COUNT_IN_TEXT_BOXES },
- { XML_NAMESPACE_TEXT, XML_RESTART_ON_PAGE,
- XML_TOK_LINENUMBERING_RESTART_NUMBERING },
- { XML_NAMESPACE_TEXT, XML_OFFSET, XML_TOK_LINENUMBERING_OFFSET },
- { XML_NAMESPACE_STYLE, XML_NUM_FORMAT, XML_TOK_LINENUMBERING_NUM_FORMAT },
- { XML_NAMESPACE_STYLE, XML_NUM_LETTER_SYNC,
- XML_TOK_LINENUMBERING_NUM_LETTER_SYNC },
- { XML_NAMESPACE_TEXT, XML_NUMBER_POSITION,
- XML_TOK_LINENUMBERING_NUMBER_POSITION },
- { XML_NAMESPACE_TEXT, XML_INCREMENT, XML_TOK_LINENUMBERING_INCREMENT },
-// { XML_NAMESPACE_TEXT, XML_LINENUMBERING_CONFIGURATION,
-// XML_TOK_LINENUMBERING_LINENUMBERING_CONFIGURATION },
-// { XML_NAMESPACE_TEXT, XML_INCREMENT, XML_TOK_LINENUMBERING_INCREMENT },
-// { XML_NAMESPACE_TEXT, XML_LINENUMBERING_SEPARATOR,
-// XML_TOK_LINENUMBERING_LINENUMBERING_SEPARATOR },
-
- XML_TOKEN_MAP_END
-};
-
void XMLLineNumberingImportContext::StartElement(
const Reference<XAttributeList> & xAttrList)
{
+ static SvXMLTokenMapEntry aLineNumberingTokenMap[] =
+ {
+ { XML_NAMESPACE_TEXT, XML_STYLE_NAME, XML_TOK_LINENUMBERING_STYLE_NAME },
+ { XML_NAMESPACE_TEXT, XML_NUMBER_LINES,
+ XML_TOK_LINENUMBERING_NUMBER_LINES },
+ { XML_NAMESPACE_TEXT, XML_COUNT_EMPTY_LINES,
+ XML_TOK_LINENUMBERING_COUNT_EMPTY_LINES },
+ { XML_NAMESPACE_TEXT, XML_COUNT_IN_TEXT_BOXES,
+ XML_TOK_LINENUMBERING_COUNT_IN_TEXT_BOXES },
+ { XML_NAMESPACE_TEXT, XML_RESTART_ON_PAGE,
+ XML_TOK_LINENUMBERING_RESTART_NUMBERING },
+ { XML_NAMESPACE_TEXT, XML_OFFSET, XML_TOK_LINENUMBERING_OFFSET },
+ { XML_NAMESPACE_STYLE, XML_NUM_FORMAT, XML_TOK_LINENUMBERING_NUM_FORMAT },
+ { XML_NAMESPACE_STYLE, XML_NUM_LETTER_SYNC,
+ XML_TOK_LINENUMBERING_NUM_LETTER_SYNC },
+ { XML_NAMESPACE_TEXT, XML_NUMBER_POSITION,
+ XML_TOK_LINENUMBERING_NUMBER_POSITION },
+ { XML_NAMESPACE_TEXT, XML_INCREMENT, XML_TOK_LINENUMBERING_INCREMENT },
+ // { XML_NAMESPACE_TEXT, XML_LINENUMBERING_CONFIGURATION,
+ // XML_TOK_LINENUMBERING_LINENUMBERING_CONFIGURATION },
+ // { XML_NAMESPACE_TEXT, XML_INCREMENT, XML_TOK_LINENUMBERING_INCREMENT },
+ // { XML_NAMESPACE_TEXT, XML_LINENUMBERING_SEPARATOR,
+ // XML_TOK_LINENUMBERING_LINENUMBERING_SEPARATOR },
+
+ XML_TOKEN_MAP_END
+ };
+
SvXMLTokenMap aTokenMap(aLineNumberingTokenMap);
// process attributes
@@ -207,6 +196,15 @@ void XMLLineNumberingImportContext::ProcessAttribute(
case XML_TOK_LINENUMBERING_NUMBER_POSITION:
{
+ static const SvXMLEnumMapEntry aLineNumberPositionMap[] =
+ {
+ { XML_LEFT, style::LineNumberPosition::LEFT },
+ { XML_RIGHT, style::LineNumberPosition::RIGHT },
+ { XML_INSIDE, style::LineNumberPosition::INSIDE },
+ { XML_OUTSIDE, style::LineNumberPosition::OUTSIDE },
+ { XML_TOKEN_INVALID, 0 }
+ };
+
sal_uInt16 nTmp16;
if (SvXMLUnitConverter::convertEnum(nTmp16, sValue,
aLineNumberPositionMap))
diff --git a/xmloff/source/text/txtflde.cxx b/xmloff/source/text/txtflde.cxx
index 56de401f0b..37f44a5f5e 100644
--- a/xmloff/source/text/txtflde.cxx
+++ b/xmloff/source/text/txtflde.cxx
@@ -1931,7 +1931,7 @@ void XMLTextFieldExport::ExportFieldDeclarations(
// now process fields:
// variable field masters:
- if (aVarName.size() > 0)
+ if ( !aVarName.empty() )
{
SvXMLElementExport aElem( GetExport(),
XML_NAMESPACE_TEXT,
@@ -1990,7 +1990,7 @@ void XMLTextFieldExport::ExportFieldDeclarations(
// else: no declarations element
// sequence field masters:
- if (aSeqName.size() > 0)
+ if ( !aSeqName.empty() )
{
SvXMLElementExport aElem( GetExport(),
XML_NAMESPACE_TEXT,
@@ -2032,7 +2032,7 @@ void XMLTextFieldExport::ExportFieldDeclarations(
// else: no declarations element
// user field field masters:
- if (aUserName.size() > 0)
+ if ( !aUserName.empty() )
{
SvXMLElementExport aElem( GetExport(),
XML_NAMESPACE_TEXT,
@@ -2083,7 +2083,7 @@ void XMLTextFieldExport::ExportFieldDeclarations(
// else: no declarations element
// DDE field field masters:
- if (aDdeName.size() > 0)
+ if ( !aDdeName.empty() )
{
SvXMLElementExport aElem( GetExport(),
XML_NAMESPACE_TEXT,
diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx
index 52d0c0f1d2..533e93bb53 100644
--- a/xmloff/source/text/txtimp.cxx
+++ b/xmloff/source/text/txtimp.cxx
@@ -1367,7 +1367,7 @@ void XMLTextImportHelper::FindOutlineStyleName( ::rtl::OUString& rStyleName,
mpOutlineStylesCandidates = new ::std::vector<OUString>[xChapterNumbering->getCount()];
}
- if ( mpOutlineStylesCandidates[nOutlineLevel].size() == 0 )
+ if ( mpOutlineStylesCandidates[nOutlineLevel].empty() )
{
// no other name used previously? Then use default
@@ -1592,13 +1592,13 @@ void XMLTextImportHelper::SetOutlineStyles( sal_Bool bSetEmptyLevels )
{
if ( bSetEmptyLevels ||
( mpOutlineStylesCandidates &&
- mpOutlineStylesCandidates[i].size() > 0 ) )
+ !mpOutlineStylesCandidates[i].empty() ) )
{
// determine, which candidate is one to be assigned to the list
// level of the outline style
OUString sChoosenStyle( sEmpty );
if ( mpOutlineStylesCandidates &&
- mpOutlineStylesCandidates[i].size() > 0 )
+ !mpOutlineStylesCandidates[i].empty() )
{
// --> OD 2007-12-19 #152540#
if ( bChooseLastOne )
@@ -2197,7 +2197,7 @@ sal_Bool XMLTextImportHelper::FindAndRemoveBookmarkStartRange(
::rtl::OUString XMLTextImportHelper::FindActiveBookmarkName()
{
- if (aBookmarkVector.size()>0) {
+ if ( !aBookmarkVector.empty() ) {
return aBookmarkVector.back();
} else return ::rtl::OUString(); // return the empty string on error...
}
diff --git a/xmloff/source/text/txtlists.cxx b/xmloff/source/text/txtlists.cxx
index 90906a8e1e..47345fddef 100644
--- a/xmloff/source/text/txtlists.cxx
+++ b/xmloff/source/text/txtlists.cxx
@@ -111,7 +111,8 @@ void XMLTextListsHelper::PopListContext()
OSL_ENSURE(mListStack.size(),
"internal error: PopListContext: mListStack empty");
// fprintf(stderr, "PopListContext\n");
- if (mListStack.size()) mListStack.pop();
+ if ( !mListStack.empty())
+ mListStack.pop();
}
void XMLTextListsHelper::ListContextTop(
@@ -119,7 +120,7 @@ void XMLTextListsHelper::ListContextTop(
XMLTextListItemContext*& o_pListItemContext,
XMLNumberedParaContext*& o_pNumberedParagraphContext )
{
- if (mListStack.size()) {
+ if ( !mListStack.empty() ) {
o_pListBlockContext =
static_cast<XMLTextListBlockContext*>(&mListStack.top().get<0>());
o_pListItemContext =
@@ -140,7 +141,7 @@ void XMLTextListsHelper::SetListItem( XMLTextListItemContext *i_pListItem )
OSL_ENSURE(!mListStack.top().get<1>(),
"error: SetListItem: list item already exists");
}
- if (mListStack.size()) {
+ if ( !mListStack.empty() ) {
mListStack.top().get<1>() = i_pListItem;
}
}
@@ -397,7 +398,7 @@ XMLTextListsHelper::EnsureNumberedParagraph(
OSL_ENSURE(io_rLevel >= 0, "inavlid Level");
NumParaList_t & rNPList( mNPLists[i_ListId] );
const ::rtl::OUString none; // default
- if (!rNPList.size() && (0 != io_rLevel)) {
+ if ( rNPList.empty() && (0 != io_rLevel)) {
// create default list style for top level
sal_Int16 lev(0);
rNPList.push_back(::std::make_pair(none,
@@ -405,7 +406,7 @@ XMLTextListsHelper::EnsureNumberedParagraph(
}
// create num rule first because this might clamp the level...
uno::Reference<container::XIndexReplace> xNumRules;
- if ((0 == io_rLevel) || !rNPList.size() || i_StyleName.getLength()) {
+ if ((0 == io_rLevel) || rNPList.empty() || i_StyleName.getLength()) {
// no parent to inherit from, or explicit style given => new numrules!
// index of parent: level - 1, but maybe that does not exist
const size_t parent( std::min(static_cast<size_t>(io_rLevel),
diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index ed001cb4da..3bd72cfef6 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -258,7 +258,7 @@ void XMLTextParagraphExport::Add( sal_uInt16 nFamily,
}
}
- if( xPropStates.size() > 0L )
+ if( !xPropStates.empty() )
{
Reference< XPropertySetInfo > xPropSetInfo(rPropSet->getPropertySetInfo());
OUString sParent, sCondParent;
@@ -432,7 +432,7 @@ void XMLTextParagraphExport::Add( sal_uInt16 nFamily,
}
}
- if( xPropStates.size() > 0L )
+ if( !xPropStates.empty() )
{
OUString sParent, sCondParent;
switch( nFamily )
@@ -3810,7 +3810,7 @@ void XMLTextParagraphExport::PopTextListsHelper()
delete mpTextListsHelper;
mpTextListsHelper = 0;
maTextListsHelperStack.pop_back();
- if ( maTextListsHelperStack.size() > 0 )
+ if ( !maTextListsHelperStack.empty() )
{
mpTextListsHelper = maTextListsHelperStack.back();
}