summaryrefslogtreecommitdiff
path: root/sc/source/filter/oox/workbookhelper.cxx
diff options
context:
space:
mode:
authorNoel Power <noel.power@suse.com>2013-01-22 11:58:20 +0000
committerNoel Power <noel.power@suse.com>2013-01-22 12:05:50 +0000
commitf54ce3e7f6d6aab7e34c54ad8eff06650e076fef (patch)
tree94d3e9094751f98b376b3f9f4ada7b44b1a934c4 /sc/source/filter/oox/workbookhelper.cxx
parentaab9c9deee38de1776acebaa8c0877cf945dca83 (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.cxx26
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();