diff options
Diffstat (limited to 'oox/source/xls/excelfilter.cxx')
-rw-r--r-- | oox/source/xls/excelfilter.cxx | 56 |
1 files changed, 21 insertions, 35 deletions
diff --git a/oox/source/xls/excelfilter.cxx b/oox/source/xls/excelfilter.cxx index d5627c56b4a3..71475790851f 100644 --- a/oox/source/xls/excelfilter.cxx +++ b/oox/source/xls/excelfilter.cxx @@ -30,6 +30,7 @@ #include "oox/xls/biffdetector.hxx" #include "oox/xls/biffinputstream.hxx" #include "oox/xls/excelchartconverter.hxx" +#include "oox/xls/stylesbuffer.hxx" #include "oox/xls/themebuffer.hxx" #include "oox/xls/workbookfragment.hxx" #include "oox/dump/biffdumper.hxx" @@ -56,29 +57,29 @@ namespace xls { // ============================================================================ ExcelFilterBase::ExcelFilterBase() : - mpHelper( 0 ) + mpData( 0 ) { } ExcelFilterBase::~ExcelFilterBase() { - OSL_ENSURE( !mpHelper, "ExcelFilterBase::~ExcelFilterBase - workbook helper not cleared" ); + OSL_ENSURE( !mpData, "ExcelFilterBase::~ExcelFilterBase - workbook data not cleared" ); } -void ExcelFilterBase::setWorkbookHelper( WorkbookHelper& rHelper ) +void ExcelFilterBase::registerWorkbookData( WorkbookData& rData ) { - mpHelper = &rHelper; + mpData = &rData; } -WorkbookHelper& ExcelFilterBase::getWorkbookHelper() const +WorkbookData& ExcelFilterBase::getWorkbookData() const { - OSL_ENSURE( mpHelper, "ExcelFilterBase::getWorkbookHelper - missing workbook helper" ); - return *mpHelper; + OSL_ENSURE( mpData, "ExcelFilterBase::getWorkbookData - missing workbook data" ); + return *mpData; } -void ExcelFilterBase::clearWorkbookHelper() +void ExcelFilterBase::unregisterWorkbookData() { - mpHelper = 0; + mpData = 0; } // ============================================================================ @@ -124,12 +125,7 @@ bool ExcelFilter::importDocument() throw() if( aWorkbookPath.getLength() > 0 ) { WorkbookHelperRoot aHelper( *this ); - if( aHelper.isValid() ) - { - setWorkbookHelper( aHelper ); // needed for callbacks - bRet = importFragment( new OoxWorkbookFragment( aHelper, aWorkbookPath ) ); - clearWorkbookHelper(); - } + bRet = aHelper.isValid() && importFragment( new OoxWorkbookFragment( aHelper, aWorkbookPath ) ); } return bRet; } @@ -139,19 +135,9 @@ bool ExcelFilter::exportDocument() throw() return false; } -sal_Int32 ExcelFilter::getSchemeColor( sal_Int32 nToken ) const -{ - return getWorkbookHelper().getTheme().getColorByToken( nToken ); -} - -sal_Int32 ExcelFilter::getPaletteColor( sal_Int32 nPaletteIdx ) const -{ - return getWorkbookHelper().getStyles().getPaletteColor( nPaletteIdx ); -} - const ::oox::drawingml::Theme* ExcelFilter::getCurrentTheme() const { - return &getWorkbookHelper().getTheme(); + return &WorkbookHelper( getWorkbookData() ).getTheme(); } ::oox::vml::Drawing* ExcelFilter::getVmlDrawing() @@ -166,7 +152,12 @@ const TableStyleListPtr ExcelFilter::getTableStyles() ::oox::drawingml::chart::ChartConverter& ExcelFilter::getChartConverter() { - return getWorkbookHelper().getChartConverter(); + return WorkbookHelper( getWorkbookData() ).getChartConverter(); +} + +GraphicHelper* ExcelFilter::implCreateGraphicHelper() const +{ + return new ExcelGraphicHelper( getWorkbookData() ); } OUString ExcelFilter::implGetImplementationName() const @@ -229,12 +220,7 @@ bool ExcelBiffFilter::importDocument() throw() if( eBiff != BIFF_UNKNOWN ) { WorkbookHelperRoot aHelper( *this, eBiff ); - if( aHelper.isValid() ) - { - setWorkbookHelper( aHelper ); // needed for callbacks - bRet = BiffWorkbookFragment( aHelper, aWorkbookName ).importFragment(); - clearWorkbookHelper(); - } + bRet = aHelper.isValid() && BiffWorkbookFragment( aHelper, aWorkbookName ).importFragment(); } return bRet; } @@ -244,9 +230,9 @@ bool ExcelBiffFilter::exportDocument() throw() return false; } -sal_Int32 ExcelBiffFilter::getPaletteColor( sal_Int32 nPaletteIdx ) const +GraphicHelper* ExcelBiffFilter::implCreateGraphicHelper() const { - return getWorkbookHelper().getStyles().getPaletteColor( nPaletteIdx ); + return new ExcelGraphicHelper( getWorkbookData() ); } OUString ExcelBiffFilter::implGetImplementationName() const |