xref: /AOO41X/main/sc/source/filter/inc/root.hxx (revision 3ee7c2db59af3948da1f0fe563f557d5b49b2c39)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef SC_ROOT_HXX
25 #define SC_ROOT_HXX
26 
27 #include <tools/solar.h>
28 #include "global.hxx"
29 #include "address.hxx"
30 #include "flttypes.hxx"
31 #include "filter.hxx"
32 #include "excdefs.hxx"
33 
34 class ScRangeName;
35 
36 class NameBuffer;
37 class RangeNameBufferWK3;
38 class ShrfmlaBuffer;
39 class ExtNameBuff;
40 class ExtSheetBuffer;
41 class ExcelToSc;
42 
43 class XclImpColRowSettings;
44 class XclImpAutoFilterBuffer;
45 class XclImpPivotCacheList;
46 class _ScRangeListTabs;
47 
48 class XclExpChTrTabId;
49 class XclExpUserBViewList;
50 
51 class XclImpRoot;
52 class XclExpRoot;
53 
54 // ---------------------------------------------------------- Excel Imp~/Exp~ -
55 
56 struct RootData     // -> Inkarnation jeweils im ImportExcel-Objekt!
57 {
58     BiffTyp             eDateiTyp;              // feine Differenzierung
59     ExtSheetBuffer*     pExtSheetBuff;
60     ShrfmlaBuffer*      pShrfmlaBuff;
61     ExtNameBuff*        pExtNameBuff;
62     ExcelToSc*          pFmlaConverter;
63     XclImpColRowSettings* pColRowBuff;        // Col/Row-Einstellungen 1 Tabelle
64 
65     // Biff8
66     XclImpAutoFilterBuffer* pAutoFilterBuffer;      // ranges for autofilter and advanced filter
67     _ScRangeListTabs*       pPrintRanges;
68     _ScRangeListTabs*       pPrintTitles;
69 
70     // Erweiterungen fuer Export
71     XclExpChTrTabId*        pTabId;             // pointer to rec list, do not destroy
72     XclExpUserBViewList*    pUserBViewList;     // pointer to rec list, do not destroy
73 
74     XclImpRoot*         pIR;
75     XclExpRoot*         pER;
76 
77                         RootData( void );       // -> exctools.cxx
78                         ~RootData();            // -> exctools.cxx
79 };
80 
81 class ExcRoot
82 {
83 protected:
84     RootData*       pExcRoot;
ExcRoot(RootData * pNexExcRoot)85     inline          ExcRoot( RootData* pNexExcRoot ) : pExcRoot( pNexExcRoot ) {}
ExcRoot(const ExcRoot & rCopy)86     inline          ExcRoot( const ExcRoot& rCopy ) : pExcRoot( rCopy.pExcRoot ) {}
87 };
88 
89 // ---------------------------------------------------------- Lotus Imp~/Exp~ -
90 
91 class LotusRangeList;
92 class LotusFontBuffer;
93 class LotAttrTable;
94 
95 
96 struct LOTUS_ROOT
97 {
98     ScDocument*         pDoc;
99     LotusRangeList*     pRangeNames;
100     ScRangeName*        pScRangeName;
101     CharSet             eCharsetQ;
102     Lotus123Typ         eFirstType;
103     Lotus123Typ         eActType;
104     ScRange             aActRange;
105     RangeNameBufferWK3* pRngNmBffWK3;
106     LotusFontBuffer*    pFontBuff;
107     LotAttrTable*       pAttrTable;
108 
109                         LOTUS_ROOT( ScDocument* pDocP, CharSet eQ );
110                         ~LOTUS_ROOT();
111 };
112 
113 extern LOTUS_ROOT*      pLotusRoot; // -> Inkarn. in filter.cxx
114 
115 // ----------------------------------------------------------------------------
116 
117 #endif
118 
119