diff options
Diffstat (limited to 'oox/inc/oox/xls/workbookhelper.hxx')
-rw-r--r-- | oox/inc/oox/xls/workbookhelper.hxx | 68 |
1 files changed, 18 insertions, 50 deletions
diff --git a/oox/inc/oox/xls/workbookhelper.hxx b/oox/inc/oox/xls/workbookhelper.hxx index ecf824076ef5..049120aaaf40 100644 --- a/oox/inc/oox/xls/workbookhelper.hxx +++ b/oox/inc/oox/xls/workbookhelper.hxx @@ -108,47 +108,49 @@ class TableBuffer; class ThemeBuffer; class UnitConverter; class ViewSettings; -class WorkbookData; class WorkbookSettings; class WorksheetBuffer; +class WorkbookGlobals; +typedef ::boost::shared_ptr< WorkbookGlobals > WorkbookGlobalsRef; + /** Helper class to provice access to global workbook data. All classes derived from this helper class will have access to a singleton - object of type WorkbookData containing global workbook settings, buffers, - converters, etc. Nearly all classes in this filter implementation are - derived directly or indirectly from this class. + object of type WorkbookGlobals containing global workbook settings, + buffers, converters, etc. Nearly all classes in this filter implementation + are derived directly or indirectly from this class. - This class contains just a simple reference to the WorkbookData object to - prevent circular references, as the WorkbookData object contains a lot of - objects derived from this class. + This class contains just a simple reference to the WorkbookGlobals object + to prevent circular references, as the WorkbookGlobals object contains a + lot of objects derived from this class. */ class WorkbookHelper { public: - inline /*implicit*/ WorkbookHelper( WorkbookData& rBookData ) : mrBookData( rBookData ) {} + inline /*implicit*/ WorkbookHelper( WorkbookGlobals& rBookGlob ) : mrBookGlob( rBookGlob ) {} virtual ~WorkbookHelper(); + static WorkbookGlobalsRef constructGlobals( ExcelFilter& rFilter ); + static WorkbookGlobalsRef constructGlobals( ExcelBiffFilter& rFilter, BiffType eBiff ); + // filter ----------------------------------------------------------------- /** Returns the base filter object (base class of all filters). */ ::oox::core::FilterBase& getBaseFilter() const; - /** Returns a reference to the global service factory. */ - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > - getGlobalFactory() const; /** Returns the file type of the current filter. */ FilterType getFilterType() const; /** Returns the filter progress bar. */ SegmentProgressBar& getProgressBar() const; /** Returns true, if the file is a multi-sheet document, or false if single-sheet. */ bool isWorkbookFile() const; - /** Returns the index of the current sheet in the Calc document. */ + /** Returns the index of the current Calc sheet, if filter currently processes a sheet. */ sal_Int16 getCurrentSheetIndex() const; - /** Sets the index of the current sheet in the Calc document. */ - void setCurrentSheetIndex( sal_Int16 nSheet ); - /** Sets the VBA project storage. */ + /** Sets the VBA project storage used to import VBA source code and forms. */ void setVbaProjectStorage( const StorageRef& rxVbaPrjStrg ); + /** Sets the index of the current Calc sheet, if filter currently processes a sheet. */ + void setCurrentSheetIndex( sal_Int16 nSheet ); /** Final conversion after importing the workbook. */ void finalizeWorkbookImport(); @@ -157,9 +159,6 @@ public: /** Returns a reference to the source/target spreadsheet document model. */ ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheetDocument > getDocument() const; - /** Returns a reference to the service factory of the spreadsheet document model. */ - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > - getDocumentFactory() const; /** Returns a reference to the specified spreadsheet in the document model. */ ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > @@ -283,38 +282,7 @@ public: BiffCodecHelper& getCodecHelper() const; private: - WorkbookData& mrBookData; -}; - -// ============================================================================ - -namespace prv { - -typedef ::boost::shared_ptr< WorkbookData > WorkbookDataRef; - -struct WorkbookDataOwner -{ - explicit WorkbookDataOwner( WorkbookDataRef xBookData ); - virtual ~WorkbookDataOwner(); - WorkbookDataRef mxBookData; -}; - -} // namespace prv - -// ---------------------------------------------------------------------------- - -class WorkbookHelperRoot : private prv::WorkbookDataOwner, public WorkbookHelper -{ -public: - explicit WorkbookHelperRoot( ExcelFilter& rFilter ); - explicit WorkbookHelperRoot( ExcelBiffFilter& rFilter, BiffType eBiff ); - - /** Returns true, if this helper refers to a valid document. */ - bool isValid() const; - -private: - WorkbookHelperRoot( const WorkbookHelperRoot& ); - WorkbookHelperRoot& operator=( const WorkbookHelperRoot& ); + WorkbookGlobals& mrBookGlob; }; // ============================================================================ |