summaryrefslogtreecommitdiff
path: root/oox/source/xls/excelfilter.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'oox/source/xls/excelfilter.cxx')
-rw-r--r--oox/source/xls/excelfilter.cxx56
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