diff options
author | Noel Power <noel.power@suse.com> | 2013-01-22 11:58:20 +0000 |
---|---|---|
committer | Noel Power <noel.power@suse.com> | 2013-01-22 12:05:50 +0000 |
commit | f54ce3e7f6d6aab7e34c54ad8eff06650e076fef (patch) | |
tree | 94d3e9094751f98b376b3f9f4ada7b44b1a934c4 /sc/source/filter/oox/workbookhelper.cxx | |
parent | aab9c9deee38de1776acebaa8c0877cf945dca83 (diff) |
lose uno api for font related xlsx import
also fixes a bug where the font format of the first portion of a rich text string
gets to be set as the default cell style for that cell
Change-Id: Ib2e85e6f2a971940b94100c2bf45d85d8afa2869
Diffstat (limited to 'sc/source/filter/oox/workbookhelper.cxx')
-rw-r--r-- | sc/source/filter/oox/workbookhelper.cxx | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sc/source/filter/oox/workbookhelper.cxx b/sc/source/filter/oox/workbookhelper.cxx index 53d4aded9f07..ca89dccb2dcf 100644 --- a/sc/source/filter/oox/workbookhelper.cxx +++ b/sc/source/filter/oox/workbookhelper.cxx @@ -73,6 +73,10 @@ #include "globalnames.hxx" #include "formulabuffer.hxx" +#include "vcl/mapmod.hxx" +#include "editutil.hxx" +#include "editeng/editstat.hxx" + namespace oox { namespace xls { @@ -135,6 +139,11 @@ public: // document model --------------------------------------------------------- + inline ScEditEngineDefaulter& getEditEngine() const + { + return *mxEditEngine.get(); + } + inline ScDocument& getScDocument() const { if ( !mpDoc ) @@ -235,6 +244,7 @@ private: void finalize(); private: + typedef ::std::auto_ptr< ScEditEngineDefaulter > EditEngineDefaulterPtr; typedef ::std::auto_ptr< FormulaBuffer > FormulaBufferPtr; typedef ::std::auto_ptr< SegmentProgressBar > ProgressBarPtr; typedef ::std::auto_ptr< WorkbookSettings > WorkbookSettPtr; @@ -293,6 +303,8 @@ private: ExcelChartConvPtr mxChartConverter; /// Chart object converter. PageSettConvPtr mxPageSettConverter; /// Page/print settings converter. + EditEngineDefaulterPtr mxEditEngine; + // OOXML/BIFF12 specific XmlFilterBase* mpOoxFilter; /// Base OOXML/BIFF12 filter object. @@ -535,6 +547,15 @@ void WorkbookGlobals::initialize( bool bWorkbookFile ) mxChartConverter.reset( new ExcelChartConverter( *this ) ); mxPageSettConverter.reset( new PageSettingsConverter( *this ) ); + // initialise edit engine + ScDocument& rDoc = getScDocument(); + mxEditEngine.reset( new ScEditEngineDefaulter( rDoc.GetEnginePool() ) ); + mxEditEngine->SetRefMapMode( MAP_100TH_MM ); + mxEditEngine->SetEditTextObjectPool( rDoc.GetEditPool() ); + mxEditEngine->SetUpdateMode( false ); + mxEditEngine->EnableUndo( false ); + mxEditEngine->SetControlWord( mxEditEngine->GetControlWord() & ~EE_CNTRL_ALLOWBIGOBJS ); + // set some document properties needed during import if( mrBaseFilter.isImportFilter() ) { @@ -701,6 +722,11 @@ ScDocument& WorkbookHelper::getScDocument() const return mrBookGlob.getScDocument(); } +ScEditEngineDefaulter& WorkbookHelper::getEditEngine() const +{ + return mrBookGlob.getEditEngine(); +} + Reference< XSpreadsheetDocument > WorkbookHelper::getDocument() const { return mrBookGlob.getDocument(); |