summaryrefslogtreecommitdiff
path: root/oox/source/xls/excelfilter.cxx
diff options
context:
space:
mode:
authorThorsten Behrens <tbehrens@novell.com>2011-04-27 01:31:35 +0200
committerThorsten Behrens <tbehrens@novell.com>2011-04-27 01:31:35 +0200
commit48c61f72dd9e205f3d44838ae21cde0419538f1c (patch)
tree22eb884e19dd4f7c5b7dfaa0ba10bb77e12e3f19 /oox/source/xls/excelfilter.cxx
parentf433a86839499662cfc1356882b0538f01d850b6 (diff)
parent275e5c6544ff2f90cf6bd57b6a8a6293fe10943c (diff)
Merge commit 'ooo/DEV300_m106' into integration/dev300_m106
Conflicts: binfilter/bf_svtools/source/filter.vcl/jpeg/svt_jpegc.c filter/source/config/fragments/filters/SVG___Scalable_Vector_Graphics.xcu filter/source/config/fragments/internalgraphicfilters/svg_Import.xcu filter/source/config/fragments/types/svg_Scalable_Vector_Graphics.xcu filter/source/graphicfilter/eos2met/eos2met.cxx filter/source/msfilter/msvbahelper.cxx filter/source/svg/makefile.mk filter/source/svg/svgexport.cxx filter/source/svg/svgfilter.cxx filter/source/svg/svgfilter.hxx filter/source/svg/svgfontexport.cxx filter/source/svg/svgfontexport.hxx filter/source/svg/svgwriter.cxx filter/source/svg/svgwriter.hxx oox/inc/oox/core/relations.hxx oox/inc/oox/core/relationshandler.hxx oox/inc/oox/dump/biffdumper.hxx oox/inc/oox/dump/dffdumper.hxx oox/inc/oox/dump/dumperbase.hxx oox/inc/oox/dump/oledumper.hxx oox/inc/oox/dump/pptxdumper.hxx oox/inc/oox/helper/containerhelper.hxx oox/inc/oox/helper/propertyset.hxx oox/inc/oox/xls/commentsbuffer.hxx oox/inc/oox/xls/sharedformulabuffer.hxx oox/source/drawingml/shape.cxx oox/source/dump/oledumper.cxx oox/source/helper/binaryinputstream.cxx oox/source/helper/binaryoutputstream.cxx oox/source/helper/binarystreambase.cxx oox/source/helper/propertyset.cxx oox/source/ole/vbacontrol.cxx oox/source/ole/vbaproject.cxx oox/source/token/namespaces.hxx.tail oox/source/vml/vmlshape.cxx oox/source/xls/commentsbuffer.cxx oox/source/xls/condformatbuffer.cxx oox/source/xls/drawingfragment.cxx oox/source/xls/formulaparser.cxx oox/source/xls/pivotcachebuffer.cxx oox/source/xls/richstring.cxx oox/source/xls/sharedformulabuffer.cxx oox/source/xls/sheetdatacontext.cxx oox/source/xls/worksheethelper.cxx writerfilter/source/dmapper/DomainMapper_Impl.cxx
Diffstat (limited to 'oox/source/xls/excelfilter.cxx')
-rw-r--r--oox/source/xls/excelfilter.cxx51
1 files changed, 31 insertions, 20 deletions
diff --git a/oox/source/xls/excelfilter.cxx b/oox/source/xls/excelfilter.cxx
index 953d752fe842..5da967ad99c6 100644
--- a/oox/source/xls/excelfilter.cxx
+++ b/oox/source/xls/excelfilter.cxx
@@ -57,29 +57,29 @@ using ::oox::drawingml::table::TableStyleListPtr;
// ============================================================================
ExcelFilterBase::ExcelFilterBase() :
- mpData( 0 )
+ mpBookGlob( 0 )
{
}
ExcelFilterBase::~ExcelFilterBase()
{
- OSL_ENSURE( !mpData, "ExcelFilterBase::~ExcelFilterBase - workbook data not cleared" );
+ OSL_ENSURE( !mpBookGlob, "ExcelFilterBase::~ExcelFilterBase - workbook data not cleared" );
}
-void ExcelFilterBase::registerWorkbookData( WorkbookData& rData )
+void ExcelFilterBase::registerWorkbookGlobals( WorkbookGlobals& rBookGlob )
{
- mpData = &rData;
+ mpBookGlob = &rBookGlob;
}
-WorkbookData& ExcelFilterBase::getWorkbookData() const
+WorkbookGlobals& ExcelFilterBase::getWorkbookGlobals() const
{
- OSL_ENSURE( mpData, "ExcelFilterBase::getWorkbookData - missing workbook data" );
- return *mpData;
+ OSL_ENSURE( mpBookGlob, "ExcelFilterBase::getWorkbookGlobals - missing workbook data" );
+ return *mpBookGlob;
}
-void ExcelFilterBase::unregisterWorkbookData()
+void ExcelFilterBase::unregisterWorkbookGlobals()
{
- mpData = 0;
+ mpBookGlob = 0;
}
// ============================================================================
@@ -126,8 +126,11 @@ bool ExcelFilter::importDocument() throw()
if( aWorkbookPath.getLength() == 0 )
return false;
- WorkbookHelperRoot aHelper( *this );
- return aHelper.isValid() && importFragment( new WorkbookFragment( aHelper, aWorkbookPath ) );
+ /* Construct the WorkbookGlobals object referred to by every instance of
+ the class WorkbookHelper, and execute the import filter by constructing
+ an instance of WorkbookFragment and loading the file. */
+ WorkbookGlobalsRef xBookGlob = WorkbookHelper::constructGlobals( *this );
+ return xBookGlob.get() && importFragment( new WorkbookFragment( *xBookGlob, aWorkbookPath ) );
}
bool ExcelFilter::exportDocument() throw()
@@ -137,7 +140,7 @@ bool ExcelFilter::exportDocument() throw()
const ::oox::drawingml::Theme* ExcelFilter::getCurrentTheme() const
{
- return &WorkbookHelper( getWorkbookData() ).getTheme();
+ return &WorkbookHelper( getWorkbookGlobals() ).getTheme();
}
::oox::vml::Drawing* ExcelFilter::getVmlDrawing()
@@ -152,12 +155,12 @@ const TableStyleListPtr ExcelFilter::getTableStyles()
::oox::drawingml::chart::ChartConverter& ExcelFilter::getChartConverter()
{
- return WorkbookHelper( getWorkbookData() ).getChartConverter();
+ return WorkbookHelper( getWorkbookGlobals() ).getChartConverter();
}
GraphicHelper* ExcelFilter::implCreateGraphicHelper() const
{
- return new ExcelGraphicHelper( getWorkbookData() );
+ return new ExcelGraphicHelper( getWorkbookGlobals() );
}
::oox::ole::VbaProject* ExcelFilter::implCreateVbaProject() const
@@ -253,8 +256,11 @@ bool ExcelBiffFilter::importDocument() throw()
if( eBiff == BIFF_UNKNOWN )
return false;
- WorkbookHelperRoot aHelper( *this, eBiff );
- return aHelper.isValid() && BiffWorkbookFragment( aHelper, aWorkbookName ).importFragment();
+ /* Construct the WorkbookGlobals object referred to by every instance of
+ the class WorkbookHelper, and execute the import filter by constructing
+ an instance of BiffWorkbookFragment and loading the file. */
+ WorkbookGlobalsRef xBookGlob = WorkbookHelper::constructGlobals( *this, eBiff );
+ return xBookGlob.get() && BiffWorkbookFragment( *xBookGlob, aWorkbookName ).importFragment();
}
bool ExcelBiffFilter::exportDocument() throw()
@@ -264,7 +270,7 @@ bool ExcelBiffFilter::exportDocument() throw()
GraphicHelper* ExcelBiffFilter::implCreateGraphicHelper() const
{
- return new ExcelGraphicHelper( getWorkbookData() );
+ return new ExcelGraphicHelper( getWorkbookGlobals() );
}
::oox::ole::VbaProject* ExcelBiffFilter::implCreateVbaProject() const
@@ -317,11 +323,16 @@ bool ExcelVbaProjectFilter::importDocument() throw()
if( !xVbaPrjStrg || !xVbaPrjStrg->isStorage() )
return false;
- WorkbookHelperRoot aHelper( *this, eBiff );
+ /* Construct the WorkbookGlobals object referred to by every instance of
+ the class WorkbookHelper. */
+ WorkbookGlobalsRef xBookGlob = WorkbookHelper::constructGlobals( *this, eBiff );
+ if( !xBookGlob.get() )
+ return false;
+
// set palette colors passed in service constructor
Any aPalette = getArgument( CREATE_OUSTRING( "ColorPalette" ) );
- aHelper.getStyles().importPalette( aPalette );
- // import the VBA project
+ WorkbookHelper( *xBookGlob ).getStyles().importPalette( aPalette );
+ // import the VBA project (getVbaProject() implemented in base class)
getVbaProject().importVbaProject( *xVbaPrjStrg, getGraphicHelper() );
return true;
}