diff options
author | Thorsten Behrens <tbehrens@novell.com> | 2011-04-27 01:31:35 +0200 |
---|---|---|
committer | Thorsten Behrens <tbehrens@novell.com> | 2011-04-27 01:31:35 +0200 |
commit | 48c61f72dd9e205f3d44838ae21cde0419538f1c (patch) | |
tree | 22eb884e19dd4f7c5b7dfaa0ba10bb77e12e3f19 /oox/source/xls/excelfilter.cxx | |
parent | f433a86839499662cfc1356882b0538f01d850b6 (diff) | |
parent | 275e5c6544ff2f90cf6bd57b6a8a6293fe10943c (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.cxx | 51 |
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; } |