xref: /trunk/main/oox/inc/oox/xls/worksheethelper.hxx (revision 15851bea)
1e3508121SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3e3508121SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4e3508121SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5e3508121SAndrew Rist  * distributed with this work for additional information
6e3508121SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7e3508121SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8e3508121SAndrew Rist  * "License"); you may not use this file except in compliance
9e3508121SAndrew Rist  * with the License.  You may obtain a copy of the License at
10e3508121SAndrew Rist  *
11e3508121SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12e3508121SAndrew Rist  *
13e3508121SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14e3508121SAndrew Rist  * software distributed under the License is distributed on an
15e3508121SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16e3508121SAndrew Rist  * KIND, either express or implied.  See the License for the
17e3508121SAndrew Rist  * specific language governing permissions and limitations
18e3508121SAndrew Rist  * under the License.
19e3508121SAndrew Rist  *
20e3508121SAndrew Rist  *************************************************************/
21e3508121SAndrew Rist 
22e3508121SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef OOX_XLS_WORKSHEETHELPER_HXX
25cdf0e10cSrcweir #define OOX_XLS_WORKSHEETHELPER_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "oox/helper/containerhelper.hxx"
28cdf0e10cSrcweir #include "oox/helper/progressbar.hxx"
29cdf0e10cSrcweir #include "oox/ole/olehelper.hxx"
30cdf0e10cSrcweir #include "oox/xls/addressconverter.hxx"
31cdf0e10cSrcweir #include "oox/xls/formulabase.hxx"
32cdf0e10cSrcweir 
33cdf0e10cSrcweir namespace com { namespace sun { namespace star {
34cdf0e10cSrcweir     namespace awt { struct Point; }
35cdf0e10cSrcweir     namespace awt { struct Rectangle; }
36cdf0e10cSrcweir     namespace awt { struct Size; }
37cdf0e10cSrcweir     namespace drawing { class XDrawPage; }
38cdf0e10cSrcweir     namespace sheet { class XSheetCellRanges; }
39cdf0e10cSrcweir     namespace sheet { class XSpreadsheet; }
40cdf0e10cSrcweir     namespace table { class XCell; }
41cdf0e10cSrcweir     namespace table { class XCellRange; }
42cdf0e10cSrcweir     namespace table { class XTableColumns; }
43cdf0e10cSrcweir     namespace table { class XTableRows; }
44cdf0e10cSrcweir } } }
45cdf0e10cSrcweir 
46cdf0e10cSrcweir namespace oox {
47cdf0e10cSrcweir namespace xls {
48cdf0e10cSrcweir 
49cdf0e10cSrcweir class AutoFilterBuffer;
50cdf0e10cSrcweir struct BinAddress;
51cdf0e10cSrcweir struct BinRange;
52cdf0e10cSrcweir class BiffSheetDrawing;
53cdf0e10cSrcweir class BinRangeList;
54cdf0e10cSrcweir class CommentsBuffer;
55cdf0e10cSrcweir class CondFormatBuffer;
56cdf0e10cSrcweir class Font;
57cdf0e10cSrcweir class PageSettings;
58cdf0e10cSrcweir class QueryTableBuffer;
59cdf0e10cSrcweir class RichString;
60cdf0e10cSrcweir class SheetDataBuffer;
61cdf0e10cSrcweir class SheetViewSettings;
62cdf0e10cSrcweir class VmlDrawing;
63cdf0e10cSrcweir class WorksheetSettings;
64cdf0e10cSrcweir 
65cdf0e10cSrcweir // ============================================================================
66cdf0e10cSrcweir // ============================================================================
67cdf0e10cSrcweir 
68cdf0e10cSrcweir /** An enumeration for all types of sheets in a workbook. */
69cdf0e10cSrcweir enum WorksheetType
70cdf0e10cSrcweir {
71cdf0e10cSrcweir     SHEETTYPE_WORKSHEET,            /// Worksheet.
72cdf0e10cSrcweir     SHEETTYPE_CHARTSHEET,           /// Chart sheet.
73cdf0e10cSrcweir     SHEETTYPE_MACROSHEET,           /// Macro sheet.
74cdf0e10cSrcweir     SHEETTYPE_DIALOGSHEET,          /// Dialog sheet (BIFF5+).
75cdf0e10cSrcweir     SHEETTYPE_MODULESHEET,          /// VB module sheet (BIFF5 only).
76cdf0e10cSrcweir     SHEETTYPE_EMPTYSHEET            /// Other (unsupported) sheet type.
77cdf0e10cSrcweir };
78cdf0e10cSrcweir 
79cdf0e10cSrcweir // ============================================================================
80cdf0e10cSrcweir 
81cdf0e10cSrcweir /** Stores settings and formatting data about a range of sheet columns. */
82cdf0e10cSrcweir struct ColumnModel
83cdf0e10cSrcweir {
84cdf0e10cSrcweir     ValueRange          maRange;            /// 1-based (!) range of the described columns.
85cdf0e10cSrcweir     double              mfWidth;            /// Column width in number of characters.
86cdf0e10cSrcweir     sal_Int32           mnXfId;             /// Column default formatting.
87cdf0e10cSrcweir     sal_Int32           mnLevel;            /// Column outline level.
88cdf0e10cSrcweir     bool                mbShowPhonetic;     /// True = cells in column show phonetic settings.
89cdf0e10cSrcweir     bool                mbHidden;           /// True = column is hidden.
90cdf0e10cSrcweir     bool                mbCollapsed;        /// True = column outline is collapsed.
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     explicit            ColumnModel();
93cdf0e10cSrcweir 
94cdf0e10cSrcweir     /** Returns true, if this entry can be merged with the passed column range (column settings are equal). */
95cdf0e10cSrcweir     bool                isMergeable( const ColumnModel& rModel ) const;
96cdf0e10cSrcweir };
97cdf0e10cSrcweir 
98cdf0e10cSrcweir // ----------------------------------------------------------------------------
99cdf0e10cSrcweir 
100cdf0e10cSrcweir /** Stores settings and formatting data about a sheet row. */
101cdf0e10cSrcweir struct RowModel
102cdf0e10cSrcweir {
103cdf0e10cSrcweir     sal_Int32           mnRow;              /// 1-based (!) index of the described row.
104cdf0e10cSrcweir     ValueRangeSet       maColSpans;         /// 0-based (!) column ranges of used cells.
105cdf0e10cSrcweir     double              mfHeight;           /// Row height in points.
106cdf0e10cSrcweir     sal_Int32           mnXfId;             /// Row default formatting (see mbIsFormatted).
107cdf0e10cSrcweir     sal_Int32           mnLevel;            /// Row outline level.
108cdf0e10cSrcweir     bool                mbCustomHeight;     /// True = row has custom height.
109cdf0e10cSrcweir     bool                mbCustomFormat;     /// True = cells in row have explicit formatting.
110cdf0e10cSrcweir     bool                mbShowPhonetic;     /// True = cells in row show phonetic settings.
111cdf0e10cSrcweir     bool                mbHidden;           /// True = row is hidden.
112cdf0e10cSrcweir     bool                mbCollapsed;        /// True = row outline is collapsed.
113cdf0e10cSrcweir     bool                mbThickTop;         /// True = row has extra space above text.
114cdf0e10cSrcweir     bool                mbThickBottom;      /// True = row has extra space below text.
115cdf0e10cSrcweir 
116cdf0e10cSrcweir     explicit            RowModel();
117cdf0e10cSrcweir 
118cdf0e10cSrcweir     /** Inserts the passed column span into the row model. */
119cdf0e10cSrcweir     void                insertColSpan( const ValueRange& rColSpan );
120cdf0e10cSrcweir     /** Returns true, if this entry can be merged with the passed row range (row settings are equal). */
121cdf0e10cSrcweir     bool                isMergeable( const RowModel& rModel ) const;
122cdf0e10cSrcweir };
123cdf0e10cSrcweir 
124cdf0e10cSrcweir // ----------------------------------------------------------------------------
125cdf0e10cSrcweir 
126cdf0e10cSrcweir /** Stores formatting data about a page break. */
127cdf0e10cSrcweir struct PageBreakModel
128cdf0e10cSrcweir {
129cdf0e10cSrcweir     sal_Int32           mnColRow;           /// 0-based (!) index of column/row.
130cdf0e10cSrcweir     sal_Int32           mnMin;              /// Start of limited break.
131cdf0e10cSrcweir     sal_Int32           mnMax;              /// End of limited break.
132cdf0e10cSrcweir     bool                mbManual;           /// True = manual page break.
133cdf0e10cSrcweir 
134cdf0e10cSrcweir     explicit            PageBreakModel();
135cdf0e10cSrcweir };
136cdf0e10cSrcweir 
137cdf0e10cSrcweir // ----------------------------------------------------------------------------
138cdf0e10cSrcweir 
139cdf0e10cSrcweir /** Stores data about a hyperlink range. */
140cdf0e10cSrcweir struct HyperlinkModel : public ::oox::ole::StdHlinkInfo
141cdf0e10cSrcweir {
142cdf0e10cSrcweir     ::com::sun::star::table::CellRangeAddress
143cdf0e10cSrcweir                         maRange;            /// The cell area containing the hyperlink.
144cdf0e10cSrcweir     ::rtl::OUString     maTooltip;          /// Additional tooltip text.
145cdf0e10cSrcweir 
146cdf0e10cSrcweir     explicit            HyperlinkModel();
147cdf0e10cSrcweir };
148cdf0e10cSrcweir 
149cdf0e10cSrcweir // ----------------------------------------------------------------------------
150cdf0e10cSrcweir 
151cdf0e10cSrcweir /** Stores data about ranges with data validation settings. */
152cdf0e10cSrcweir struct ValidationModel
153cdf0e10cSrcweir {
154cdf0e10cSrcweir     ApiCellRangeList    maRanges;
155cdf0e10cSrcweir     ApiTokenSequence    maTokens1;
156cdf0e10cSrcweir     ApiTokenSequence    maTokens2;
157*15851beaSSteve Yin     ::rtl::OUString     msRef;
158cdf0e10cSrcweir     ::rtl::OUString     maInputTitle;
159cdf0e10cSrcweir     ::rtl::OUString     maInputMessage;
160cdf0e10cSrcweir     ::rtl::OUString     maErrorTitle;
161cdf0e10cSrcweir     ::rtl::OUString     maErrorMessage;
162cdf0e10cSrcweir     sal_Int32           mnType;
163cdf0e10cSrcweir     sal_Int32           mnOperator;
164cdf0e10cSrcweir     sal_Int32           mnErrorStyle;
165cdf0e10cSrcweir     bool                mbShowInputMsg;
166cdf0e10cSrcweir     bool                mbShowErrorMsg;
167cdf0e10cSrcweir     bool                mbNoDropDown;
168cdf0e10cSrcweir     bool                mbAllowBlank;
169cdf0e10cSrcweir 
170cdf0e10cSrcweir     explicit            ValidationModel();
171cdf0e10cSrcweir 
172cdf0e10cSrcweir     /** Sets the passed BIFF validation type. */
173cdf0e10cSrcweir     void                setBiffType( sal_uInt8 nType );
174cdf0e10cSrcweir     /** Sets the passed BIFF operator. */
175cdf0e10cSrcweir     void                setBiffOperator( sal_uInt8 nOperator );
176cdf0e10cSrcweir     /** Sets the passed BIFF error style. */
177cdf0e10cSrcweir     void                setBiffErrorStyle( sal_uInt8 nErrorStyle );
178cdf0e10cSrcweir };
179cdf0e10cSrcweir 
180cdf0e10cSrcweir // ============================================================================
181cdf0e10cSrcweir // ============================================================================
182cdf0e10cSrcweir 
183cdf0e10cSrcweir class WorksheetGlobals;
184cdf0e10cSrcweir typedef ::boost::shared_ptr< WorksheetGlobals > WorksheetGlobalsRef;
185cdf0e10cSrcweir 
186cdf0e10cSrcweir class WorksheetHelper : public WorkbookHelper
187cdf0e10cSrcweir {
188cdf0e10cSrcweir public:
189cdf0e10cSrcweir     /*implicit*/        WorksheetHelper( WorksheetGlobals& rSheetGlob );
190cdf0e10cSrcweir 
191cdf0e10cSrcweir     static WorksheetGlobalsRef constructGlobals(
192cdf0e10cSrcweir                             const WorkbookHelper& rHelper,
193cdf0e10cSrcweir                             const ISegmentProgressBarRef& rxProgressBar,
194cdf0e10cSrcweir                             WorksheetType eSheetType,
195cdf0e10cSrcweir                             sal_Int16 nSheet );
196cdf0e10cSrcweir 
197cdf0e10cSrcweir     // ------------------------------------------------------------------------
198cdf0e10cSrcweir 
199cdf0e10cSrcweir     /** Returns the type of this sheet. */
200cdf0e10cSrcweir     WorksheetType       getSheetType() const;
201cdf0e10cSrcweir     /** Returns the index of the current sheet. */
202cdf0e10cSrcweir     sal_Int16           getSheetIndex() const;
203cdf0e10cSrcweir     /** Returns the XSpreadsheet interface of the current sheet. */
204cdf0e10cSrcweir     const ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet >&
205cdf0e10cSrcweir                         getSheet() const;
206cdf0e10cSrcweir 
207cdf0e10cSrcweir     /** Returns the XCell interface for the passed cell address. */
208cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell >
209cdf0e10cSrcweir                         getCell( const ::com::sun::star::table::CellAddress& rAddress ) const;
210cdf0e10cSrcweir     /** Returns the XCellRange interface for the passed cell range address. */
211cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >
212cdf0e10cSrcweir                         getCellRange( const ::com::sun::star::table::CellRangeAddress& rRange ) const;
213cdf0e10cSrcweir     /** Returns the XSheetCellRanges interface for the passed cell range addresses. */
214cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges >
215cdf0e10cSrcweir                         getCellRangeList( const ApiCellRangeList& rRanges ) const;
216cdf0e10cSrcweir 
217cdf0e10cSrcweir     /** Returns the address of the passed cell. The cell reference must be valid. */
218cdf0e10cSrcweir     static ::com::sun::star::table::CellAddress
219cdf0e10cSrcweir                         getCellAddress(
220cdf0e10cSrcweir                             const ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell >& rxCell );
221cdf0e10cSrcweir     /** Returns the address of the passed cell range. The range reference must be valid. */
222cdf0e10cSrcweir     static ::com::sun::star::table::CellRangeAddress
223cdf0e10cSrcweir                         getRangeAddress(
224cdf0e10cSrcweir                             const ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >& rxRange );
225cdf0e10cSrcweir 
226cdf0e10cSrcweir     /** Returns the XCellRange interface for a column. */
227cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >
228cdf0e10cSrcweir                         getColumn( sal_Int32 nCol ) const;
229cdf0e10cSrcweir     /** Returns the XCellRange interface for a row. */
230cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >
231cdf0e10cSrcweir                         getRow( sal_Int32 nRow ) const;
232cdf0e10cSrcweir 
233cdf0e10cSrcweir     /** Returns the XTableColumns interface for a range of columns. */
234cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableColumns >
235cdf0e10cSrcweir                         getColumns( const ValueRange& rColRange ) const;
236cdf0e10cSrcweir     /** Returns the XTableRows interface for a range of rows. */
237cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableRows >
238cdf0e10cSrcweir                         getRows( const ValueRange& rRowRange ) const;
239cdf0e10cSrcweir 
240cdf0e10cSrcweir     /** Returns the XDrawPage interface of the draw page of the current sheet. */
241cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >
242cdf0e10cSrcweir                         getDrawPage() const;
243cdf0e10cSrcweir 
244cdf0e10cSrcweir     /** Returns the absolute cell position in 1/100 mm. */
245cdf0e10cSrcweir     ::com::sun::star::awt::Point getCellPosition( sal_Int32 nCol, sal_Int32 nRow ) const;
246cdf0e10cSrcweir     /** Returns the cell size in 1/100 mm. */
247cdf0e10cSrcweir     ::com::sun::star::awt::Size getCellSize( sal_Int32 nCol, sal_Int32 nRow ) const;
248cdf0e10cSrcweir     /** Returns the size of the entire drawing page in 1/100 mm. */
249cdf0e10cSrcweir     ::com::sun::star::awt::Size getDrawPageSize() const;
250cdf0e10cSrcweir 
251cdf0e10cSrcweir     /** Returns the buffer for cell contents and cell formatting. */
252cdf0e10cSrcweir     SheetDataBuffer&    getSheetData() const;
253cdf0e10cSrcweir     /** Returns the conditional formattings in this sheet. */
254cdf0e10cSrcweir     CondFormatBuffer&   getCondFormats() const;
255cdf0e10cSrcweir     /** Returns the buffer for all cell comments in this sheet. */
256cdf0e10cSrcweir     CommentsBuffer&     getComments() const;
257cdf0e10cSrcweir     /** Returns the auto filters for the sheet. */
258cdf0e10cSrcweir     AutoFilterBuffer&   getAutoFilters() const;
259cdf0e10cSrcweir     /** Returns the buffer for all web query tables in this sheet. */
260cdf0e10cSrcweir     QueryTableBuffer&   getQueryTables() const;
261cdf0e10cSrcweir     /** Returns the worksheet settings object. */
262cdf0e10cSrcweir     WorksheetSettings&  getWorksheetSettings() const;
263cdf0e10cSrcweir     /** Returns the page/print settings for this sheet. */
264cdf0e10cSrcweir     PageSettings&       getPageSettings() const;
265cdf0e10cSrcweir     /** Returns the view settings for this sheet. */
266cdf0e10cSrcweir     SheetViewSettings&  getSheetViewSettings() const;
267cdf0e10cSrcweir     /** Returns the VML drawing page for this sheet (OOXML/BIFF12 only). */
268cdf0e10cSrcweir     VmlDrawing&         getVmlDrawing() const;
269cdf0e10cSrcweir     /** Returns the BIFF drawing page for this sheet (BIFF2-BIFF8 only). */
270cdf0e10cSrcweir     BiffSheetDrawing&   getBiffDrawing() const;
271cdf0e10cSrcweir 
272cdf0e10cSrcweir     /** Changes the current sheet type. */
273cdf0e10cSrcweir     void                setSheetType( WorksheetType eSheetType );
274cdf0e10cSrcweir     /** Sets a column or row page break described in the passed struct. */
275cdf0e10cSrcweir     void                setPageBreak( const PageBreakModel& rModel, bool bRowBreak );
276cdf0e10cSrcweir     /** Inserts the hyperlink URL into the spreadsheet. */
277cdf0e10cSrcweir     void                setHyperlink( const HyperlinkModel& rModel );
278cdf0e10cSrcweir     /** Inserts the data validation settings into the spreadsheet. */
279cdf0e10cSrcweir     void                setValidation( const ValidationModel& rModel );
280cdf0e10cSrcweir     /** Sets the passed label ranges to the current sheet. */
281cdf0e10cSrcweir     void                setLabelRanges( const ApiCellRangeList& rColRanges, const ApiCellRangeList& rRowRanges );
282cdf0e10cSrcweir     /** Sets the path to the DrawingML fragment of this sheet. */
283cdf0e10cSrcweir     void                setDrawingPath( const ::rtl::OUString& rDrawingPath );
284cdf0e10cSrcweir     /** Sets the path to the legacy VML drawing fragment of this sheet. */
285cdf0e10cSrcweir     void                setVmlDrawingPath( const ::rtl::OUString& rVmlDrawingPath );
286cdf0e10cSrcweir 
287cdf0e10cSrcweir     /** Extends the used area of this sheet by the passed cell position. */
288cdf0e10cSrcweir     void                extendUsedArea( const ::com::sun::star::table::CellAddress& rAddress );
289cdf0e10cSrcweir     /** Extends the used area of this sheet by the passed cell range. */
290cdf0e10cSrcweir     void                extendUsedArea( const ::com::sun::star::table::CellRangeAddress& rRange );
291cdf0e10cSrcweir     /** Extends the shape bounding box by the position and size of the passed rectangle (in 1/100 mm). */
292cdf0e10cSrcweir     void                extendShapeBoundingBox( const ::com::sun::star::awt::Rectangle& rShapeRect );
293cdf0e10cSrcweir 
294cdf0e10cSrcweir     /** Sets base width for all columns (without padding pixels). This value
295cdf0e10cSrcweir         is only used, if width has not been set with setDefaultColumnWidth(). */
296cdf0e10cSrcweir     void                setBaseColumnWidth( sal_Int32 nWidth );
297cdf0e10cSrcweir     /** Sets default width for all columns. This function overrides the base
298cdf0e10cSrcweir         width set with the setBaseColumnWidth() function. */
299cdf0e10cSrcweir     void                setDefaultColumnWidth( double fWidth );
300cdf0e10cSrcweir     /** Converts default cell formatting for a range of columns. */
301cdf0e10cSrcweir     void                setDefaultColumnFormat( sal_Int32 nFirstCol, sal_Int32 nLastCol, sal_Int32 nXfId );
302cdf0e10cSrcweir     /** Sets column settings for a specific range of columns.
303cdf0e10cSrcweir         @descr  Column default formatting is converted directly, other settings
304cdf0e10cSrcweir         are cached and converted in the finalizeWorksheetImport() call. */
305cdf0e10cSrcweir     void                setColumnModel( const ColumnModel& rModel );
306cdf0e10cSrcweir 
307cdf0e10cSrcweir     /** Sets default height and hidden state for all unused rows in the sheet. */
308cdf0e10cSrcweir     void                setDefaultRowSettings(
309cdf0e10cSrcweir                             double fHeight, bool bCustomHeight,
310cdf0e10cSrcweir                             bool bHidden, bool bThickTop, bool bThickBottom );
311cdf0e10cSrcweir     /** Sets row settings for a specific range of rows.
312cdf0e10cSrcweir         @descr  Row default formatting is converted directly, other settings
313cdf0e10cSrcweir         are cached and converted in the finalizeWorksheetImport() call. */
314cdf0e10cSrcweir     void                setRowModel( const RowModel& rModel );
315cdf0e10cSrcweir     /** Specifies that the passed row needs to set its height manually. */
316cdf0e10cSrcweir     void                setManualRowHeight( sal_Int32 nRow );
317cdf0e10cSrcweir 
318cdf0e10cSrcweir     /** Inserts a value cell directly into the Calc sheet. */
319cdf0e10cSrcweir     void                putValue(
320cdf0e10cSrcweir                             const ::com::sun::star::table::CellAddress& rAddress,
321cdf0e10cSrcweir                             double fValue ) const;
322cdf0e10cSrcweir     /** Inserts a string cell directly into the Calc sheet. */
323cdf0e10cSrcweir     void                putString(
324cdf0e10cSrcweir                             const ::com::sun::star::table::CellAddress& rAddress,
325cdf0e10cSrcweir                             const ::rtl::OUString& rText ) const;
326cdf0e10cSrcweir     /** Inserts a rich-string cell directly into the Calc sheet. */
327cdf0e10cSrcweir     void                putRichString(
328cdf0e10cSrcweir                             const ::com::sun::star::table::CellAddress& rAddress,
329cdf0e10cSrcweir                             const RichString& rString,
330cdf0e10cSrcweir                             const Font* pFirstPortionFont ) const;
331cdf0e10cSrcweir     /** Inserts a formula cell directly into the Calc sheet. */
332cdf0e10cSrcweir     void                putFormulaTokens(
333cdf0e10cSrcweir                             const ::com::sun::star::table::CellAddress& rAddress,
334cdf0e10cSrcweir                             const ApiTokenSequence& rTokens ) const;
335cdf0e10cSrcweir 
336cdf0e10cSrcweir     /** Initial conversion before importing the worksheet. */
337cdf0e10cSrcweir     void                initializeWorksheetImport();
338cdf0e10cSrcweir     /** Final conversion after importing the worksheet. */
339cdf0e10cSrcweir     void                finalizeWorksheetImport();
340cdf0e10cSrcweir 
341cdf0e10cSrcweir private:
342cdf0e10cSrcweir     WorksheetGlobals&   mrSheetGlob;
343cdf0e10cSrcweir };
344cdf0e10cSrcweir 
345cdf0e10cSrcweir // ============================================================================
346cdf0e10cSrcweir // ============================================================================
347cdf0e10cSrcweir 
348cdf0e10cSrcweir } // namespace xls
349cdf0e10cSrcweir } // namespace oox
350cdf0e10cSrcweir 
351cdf0e10cSrcweir #endif
352