Lines 1-886
Link Here
|
1 |
/************************************************************** |
1 |
/************************************************************** |
2 |
* |
2 |
* |
3 |
* Licensed to the Apache Software Foundation (ASF) under one |
3 |
* Licensed to the Apache Software Foundation (ASF) under one |
4 |
* or more contributor license agreements. See the NOTICE file |
4 |
* or more contributor license agreements. See the NOTICE file |
5 |
* distributed with this work for additional information |
5 |
* distributed with this work for additional information |
6 |
* regarding copyright ownership. The ASF licenses this file |
6 |
* regarding copyright ownership. The ASF licenses this file |
7 |
* to you under the Apache License, Version 2.0 (the |
7 |
* to you under the Apache License, Version 2.0 (the |
8 |
* "License"); you may not use this file except in compliance |
8 |
* "License"); you may not use this file except in compliance |
9 |
* with the License. You may obtain a copy of the License at |
9 |
* with the License. You may obtain a copy of the License at |
10 |
* |
10 |
* |
11 |
* http://www.apache.org/licenses/LICENSE-2.0 |
11 |
* http://www.apache.org/licenses/LICENSE-2.0 |
12 |
* |
12 |
* |
13 |
* Unless required by applicable law or agreed to in writing, |
13 |
* Unless required by applicable law or agreed to in writing, |
14 |
* software distributed under the License is distributed on an |
14 |
* software distributed under the License is distributed on an |
15 |
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
15 |
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
16 |
* KIND, either express or implied. See the License for the |
16 |
* KIND, either express or implied. See the License for the |
17 |
* specific language governing permissions and limitations |
17 |
* specific language governing permissions and limitations |
18 |
* under the License. |
18 |
* under the License. |
19 |
* |
19 |
* |
20 |
*************************************************************/ |
20 |
*************************************************************/ |
21 |
|
21 |
|
22 |
|
22 |
|
23 |
|
23 |
|
24 |
#ifndef SC_SCGLOB_HXX |
24 |
#ifndef SC_SCGLOB_HXX |
25 |
#define SC_SCGLOB_HXX |
25 |
#define SC_SCGLOB_HXX |
26 |
|
26 |
|
27 |
#include "address.hxx" |
27 |
#include "address.hxx" |
28 |
#include <i18npool/lang.h> |
28 |
#include <i18npool/lang.h> |
29 |
#include <tools/stream.hxx> |
29 |
#include <tools/stream.hxx> |
30 |
#include <osl/endian.h> |
30 |
#include <osl/endian.h> |
31 |
#include <com/sun/star/uno/Reference.hxx> |
31 |
#include <com/sun/star/uno/Reference.hxx> |
32 |
#include "scdllapi.h" |
32 |
#include "scdllapi.h" |
33 |
|
33 |
|
34 |
#include <hash_map> |
34 |
#include <hash_map> |
35 |
|
35 |
|
36 |
class ImageList; |
36 |
class ImageList; |
37 |
class Bitmap; |
37 |
class Bitmap; |
38 |
class SfxItemSet; |
38 |
class SfxItemSet; |
39 |
class Color; |
39 |
class Color; |
40 |
|
40 |
|
41 |
// Macro fuer den Call-Profiler unter WinNT |
41 |
// Macro fuer den Call-Profiler unter WinNT |
42 |
// mit S_CAP kann eine Messung gestarted, mit E_CAP wieder gestoppt werden |
42 |
// mit S_CAP kann eine Messung gestarted, mit E_CAP wieder gestoppt werden |
43 |
#if defined( WNT ) && defined( PROFILE ) |
43 |
#if defined( WNT ) && defined( PROFILE ) |
44 |
|
44 |
|
45 |
extern "C" { |
45 |
extern "C" { |
46 |
void StartCAP(); |
46 |
void StartCAP(); |
47 |
void StopCAP(); |
47 |
void StopCAP(); |
48 |
void DumpCAP(); |
48 |
void DumpCAP(); |
49 |
}; |
49 |
}; |
50 |
|
50 |
|
51 |
#define S_CAP StartCAP(); |
51 |
#define S_CAP StartCAP(); |
52 |
#define E_CAP StopCAP(); DumpCAP(); |
52 |
#define E_CAP StopCAP(); DumpCAP(); |
53 |
|
53 |
|
54 |
#endif |
54 |
#endif |
55 |
|
55 |
|
56 |
#if 0 |
56 |
#if 0 |
57 |
// I18N doesn't get this right, can't specify more than one to ignore |
57 |
// I18N doesn't get this right, can't specify more than one to ignore |
58 |
#define SC_COLLATOR_IGNORES ( \ |
58 |
#define SC_COLLATOR_IGNORES ( \ |
59 |
::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE | \ |
59 |
::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE | \ |
60 |
::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_KANA | \ |
60 |
::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_KANA | \ |
61 |
::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_WIDTH ) |
61 |
::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_WIDTH ) |
62 |
#else |
62 |
#else |
63 |
#define SC_COLLATOR_IGNORES ( \ |
63 |
#define SC_COLLATOR_IGNORES ( \ |
64 |
::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE ) |
64 |
::com::sun::star::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE ) |
65 |
#endif |
65 |
#endif |
66 |
#if 0 |
66 |
#if 0 |
67 |
// #107998# Don't ignore Width and Kana. The issue was mainly with AutoInput, |
67 |
// #107998# Don't ignore Width and Kana. The issue was mainly with AutoInput, |
68 |
// but affects also comparison of names in general. |
68 |
// but affects also comparison of names in general. |
69 |
#define SC_TRANSLITERATION_IGNORECASE ( \ |
69 |
#define SC_TRANSLITERATION_IGNORECASE ( \ |
70 |
::com::sun::star::i18n::TransliterationModules_IGNORE_CASE | \ |
70 |
::com::sun::star::i18n::TransliterationModules_IGNORE_CASE | \ |
71 |
::com::sun::star::i18n::TransliterationModules_IGNORE_KANA | \ |
71 |
::com::sun::star::i18n::TransliterationModules_IGNORE_KANA | \ |
72 |
::com::sun::star::i18n::TransliterationModules_IGNORE_WIDTH ) |
72 |
::com::sun::star::i18n::TransliterationModules_IGNORE_WIDTH ) |
73 |
#define SC_TRANSLITERATION_CASESENSE ( \ |
73 |
#define SC_TRANSLITERATION_CASESENSE ( \ |
74 |
::com::sun::star::i18n::TransliterationModules_IGNORE_KANA | \ |
74 |
::com::sun::star::i18n::TransliterationModules_IGNORE_KANA | \ |
75 |
::com::sun::star::i18n::TransliterationModules_IGNORE_WIDTH ) |
75 |
::com::sun::star::i18n::TransliterationModules_IGNORE_WIDTH ) |
76 |
#else |
76 |
#else |
77 |
#define SC_TRANSLITERATION_IGNORECASE ( \ |
77 |
#define SC_TRANSLITERATION_IGNORECASE ( \ |
78 |
::com::sun::star::i18n::TransliterationModules_IGNORE_CASE ) |
78 |
::com::sun::star::i18n::TransliterationModules_IGNORE_CASE ) |
79 |
#define SC_TRANSLITERATION_CASESENSE 0 |
79 |
#define SC_TRANSLITERATION_CASESENSE 0 |
80 |
#endif |
80 |
#endif |
81 |
|
81 |
|
82 |
//------------------------------------------------------------------------ |
82 |
//------------------------------------------------------------------------ |
83 |
|
83 |
|
84 |
// die 1000 Namen des Calc... |
84 |
// die 1000 Namen des Calc... |
85 |
// Clipboard-Namen sind jetzt in so3/soapp.hxx |
85 |
// Clipboard-Namen sind jetzt in so3/soapp.hxx |
86 |
// STRING_SCAPP war "scalc3", "scalc4", jetzt nur noch "scalc" |
86 |
// STRING_SCAPP war "scalc3", "scalc4", jetzt nur noch "scalc" |
87 |
|
87 |
|
88 |
#define STRING_SCAPP "scalc" |
88 |
#define STRING_SCAPP "scalc" |
89 |
#define STRING_SCSTREAM "StarCalcDocument" |
89 |
#define STRING_SCSTREAM "StarCalcDocument" |
90 |
|
90 |
|
91 |
#define STRING_STANDARD "Standard" |
91 |
#define STRING_STANDARD "Standard" |
92 |
|
92 |
|
93 |
// characters ----------------------------------------------------------------- |
93 |
// characters ----------------------------------------------------------------- |
94 |
|
94 |
|
95 |
// '\r' geht auf'm Mac nicht... |
95 |
// '\r' geht auf'm Mac nicht... |
96 |
#define CHAR_CR char(13) |
96 |
#define CHAR_CR char(13) |
97 |
|
97 |
|
98 |
const sal_Unicode CHAR_NBSP = 0x00A0; |
98 |
const sal_Unicode CHAR_NBSP = 0x00A0; |
99 |
const sal_Unicode CHAR_SHY = 0x00AD; |
99 |
const sal_Unicode CHAR_SHY = 0x00AD; |
100 |
const sal_Unicode CHAR_ZWSP = 0x200B; |
100 |
const sal_Unicode CHAR_ZWSP = 0x200B; |
101 |
const sal_Unicode CHAR_LRM = 0x200E; |
101 |
const sal_Unicode CHAR_LRM = 0x200E; |
102 |
const sal_Unicode CHAR_RLM = 0x200F; |
102 |
const sal_Unicode CHAR_RLM = 0x200F; |
103 |
const sal_Unicode CHAR_NBHY = 0x2011; |
103 |
const sal_Unicode CHAR_NBHY = 0x2011; |
104 |
const sal_Unicode CHAR_ZWNBSP = 0x2060; |
104 |
const sal_Unicode CHAR_ZWNBSP = 0x2060; |
105 |
|
105 |
|
106 |
// ---------------------------------------------------------------------------- |
106 |
// ---------------------------------------------------------------------------- |
107 |
|
107 |
|
108 |
#define MINDOUBLE 1.7e-307 |
108 |
#define MINDOUBLE 1.7e-307 |
109 |
#define MAXDOUBLE 1.7e307 |
109 |
#define MAXDOUBLE 1.7e307 |
110 |
|
110 |
|
111 |
#define MINZOOM 20 |
111 |
#define MINZOOM 20 |
112 |
#define MAXZOOM 400 |
112 |
#define MAXZOOM 400 |
113 |
|
113 |
|
114 |
#ifdef SC_ROWLIMIT_TYPECONVERSION_NOCONVPASS |
114 |
#ifdef SC_ROWLIMIT_TYPECONVERSION_NOCONVPASS |
115 |
const size_t MAXSUBTOTAL = 3; |
115 |
const size_t MAXSUBTOTAL = 3; |
116 |
const size_t MAXQUERY = 8; |
116 |
const size_t MAXQUERY = 8; |
117 |
#else |
117 |
#else |
118 |
const SCSIZE MAXSUBTOTAL = 3; |
118 |
const SCSIZE MAXSUBTOTAL = 3; |
119 |
const SCSIZE MAXQUERY = 8; |
119 |
const SCSIZE MAXQUERY = 8; |
120 |
#endif |
120 |
#endif |
121 |
|
121 |
|
122 |
#define SC_START_INDEX_DB_COLL 50000 |
122 |
#define SC_START_INDEX_DB_COLL 50000 |
123 |
// Oberhalb dieser Grenze liegen |
123 |
// Oberhalb dieser Grenze liegen |
124 |
// die Indizes fuer DBBereiche |
124 |
// die Indizes fuer DBBereiche |
125 |
|
125 |
|
126 |
/* |
126 |
/* |
127 |
#ifdef OS2 |
127 |
#ifdef OS2 |
128 |
#define PIXEL_PER_INCH 72.0 |
128 |
#define PIXEL_PER_INCH 72.0 |
129 |
#else |
129 |
#else |
130 |
#define PIXEL_PER_INCH 96.0 |
130 |
#define PIXEL_PER_INCH 96.0 |
131 |
#endif |
131 |
#endif |
132 |
*/ |
132 |
*/ |
133 |
|
133 |
|
134 |
#define PIXEL_PER_INCH 96.0 |
134 |
#define PIXEL_PER_INCH 96.0 |
135 |
|
135 |
|
136 |
#define CM_PER_INCH 2.54 |
136 |
#define CM_PER_INCH 2.54 |
137 |
#define POINTS_PER_INCH 72.27 |
137 |
#define POINTS_PER_INCH 72.27 |
138 |
#define PIXEL_PER_POINT (PIXEL_PER_INCH / POINTS_PER_INCH) |
138 |
#define PIXEL_PER_POINT (PIXEL_PER_INCH / POINTS_PER_INCH) |
139 |
#define INCHT_PER_CM (1.0 / CM_PER_INCH) |
139 |
#define INCHT_PER_CM (1.0 / CM_PER_INCH) |
140 |
#define POINTS_PER_CM (POINTS_PER_INCH / CM_PER_INCH) |
140 |
#define POINTS_PER_CM (POINTS_PER_INCH / CM_PER_INCH) |
141 |
#define TWIPS_PER_POINT 20.0 |
141 |
#define TWIPS_PER_POINT 20.0 |
142 |
#define TWIPS_PER_INCH (TWIPS_PER_POINT * POINTS_PER_INCH) |
142 |
#define TWIPS_PER_INCH (TWIPS_PER_POINT * POINTS_PER_INCH) |
143 |
#define TWIPS_PER_CM (TWIPS_PER_INCH / CM_PER_INCH) |
143 |
#define TWIPS_PER_CM (TWIPS_PER_INCH / CM_PER_INCH) |
144 |
#define CM_PER_TWIPS (CM_PER_INCH / TWIPS_PER_INCH) |
144 |
#define CM_PER_TWIPS (CM_PER_INCH / TWIPS_PER_INCH) |
145 |
#define TWIPS_PER_PIXEL (TWIPS_PER_INCH / PIXEL_PER_INCH) |
145 |
#define TWIPS_PER_PIXEL (TWIPS_PER_INCH / PIXEL_PER_INCH) |
146 |
#define TWIPS_PER_CHAR (TWIPS_PER_INCH / 13.6) |
146 |
#define TWIPS_PER_CHAR (TWIPS_PER_INCH / 13.6) |
147 |
#define PIXEL_PER_TWIPS (PIXEL_PER_INCH / TWIPS_PER_INCH) |
147 |
#define PIXEL_PER_TWIPS (PIXEL_PER_INCH / TWIPS_PER_INCH) |
148 |
#define HMM_PER_TWIPS (CM_PER_TWIPS * 1000.0) |
148 |
#define HMM_PER_TWIPS (CM_PER_TWIPS * 1000.0) |
149 |
|
149 |
|
150 |
#define STD_COL_WIDTH 1285 |
150 |
#define STD_COL_WIDTH 1285 |
151 |
#define STD_EXTRA_WIDTH 113 // 2mm Extra fuer optimale Breite |
151 |
#define STD_EXTRA_WIDTH 113 // 2mm Extra fuer optimale Breite |
152 |
// Standard Zeilenhoehe: Text + Rand - STD_ROWHEIGHT_DIFF |
152 |
// Standard Zeilenhoehe: Text + Rand - STD_ROWHEIGHT_DIFF |
153 |
|
153 |
|
154 |
|
154 |
|
155 |
#define MAX_EXTRA_WIDTH 23811 // 42cm in TWIPS |
155 |
#define MAX_EXTRA_WIDTH 23811 // 42cm in TWIPS |
156 |
#define MAX_EXTRA_HEIGHT 23811 |
156 |
#define MAX_EXTRA_HEIGHT 23811 |
157 |
#define MAX_COL_WIDTH 56693 // 1m in TWIPS |
157 |
#define MAX_COL_WIDTH 56693 // 1m in TWIPS |
158 |
#define MAX_COL_HEIGHT 56693 |
158 |
#define MAX_COL_HEIGHT 56693 |
159 |
|
159 |
|
160 |
#define STD_ROWHEIGHT_DIFF 23 |
160 |
#define STD_ROWHEIGHT_DIFF 23 |
161 |
#define STD_FONT_HEIGHT 200 // entspricht 10 Punkt |
161 |
#define STD_FONT_HEIGHT 200 // entspricht 10 Punkt |
162 |
|
162 |
|
163 |
//! statt STD_ROW_HEIGHT ScGlobal::nStdRowHeight benutzen ! |
163 |
//! statt STD_ROW_HEIGHT ScGlobal::nStdRowHeight benutzen ! |
164 |
|
164 |
|
165 |
#define STD_ROW_HEIGHT (12.8 * TWIPS_PER_POINT) // 256 Twips, 0.45 cm |
165 |
#define STD_ROW_HEIGHT (12.8 * TWIPS_PER_POINT) // 256 Twips, 0.45 cm |
166 |
|
166 |
|
167 |
// Standardgroesse als Ole-Server (Zellen) |
167 |
// Standardgroesse als Ole-Server (Zellen) |
168 |
#define OLE_STD_CELLS_X 4 |
168 |
#define OLE_STD_CELLS_X 4 |
169 |
#define OLE_STD_CELLS_Y 5 |
169 |
#define OLE_STD_CELLS_Y 5 |
170 |
|
170 |
|
171 |
#define SC_SIZE_OPTIMUM 0xFFFF |
171 |
#define SC_SIZE_OPTIMUM 0xFFFF |
172 |
|
172 |
|
173 |
// Update-Flags |
173 |
// Update-Flags |
174 |
#define UF_SCROLL_LEFT 1 |
174 |
#define UF_SCROLL_LEFT 1 |
175 |
#define UF_SCROLL_RIGHT 2 |
175 |
#define UF_SCROLL_RIGHT 2 |
176 |
#define UF_SCROLL_UP 4 |
176 |
#define UF_SCROLL_UP 4 |
177 |
#define UF_SCROLL_DOWN 8 |
177 |
#define UF_SCROLL_DOWN 8 |
178 |
#define UF_ROW 16 |
178 |
#define UF_ROW 16 |
179 |
#define UF_VIEW 32 |
179 |
#define UF_VIEW 32 |
180 |
|
180 |
|
181 |
// Repaint-Flags (fuer Messages) |
181 |
// Repaint-Flags (fuer Messages) |
182 |
#define PAINT_GRID 1 |
182 |
#define PAINT_GRID 1 |
183 |
#define PAINT_TOP 2 |
183 |
#define PAINT_TOP 2 |
184 |
#define PAINT_LEFT 4 |
184 |
#define PAINT_LEFT 4 |
185 |
#define PAINT_EXTRAS 8 |
185 |
#define PAINT_EXTRAS 8 |
186 |
#define PAINT_INVERT 16 |
186 |
#define PAINT_INVERT 16 |
187 |
#define PAINT_MARKS 32 |
187 |
#define PAINT_MARKS 32 |
188 |
#define PAINT_OBJECTS 64 |
188 |
#define PAINT_OBJECTS 64 |
189 |
#define PAINT_SIZE 128 |
189 |
#define PAINT_SIZE 128 |
190 |
#define PAINT_ALL ( PAINT_GRID | PAINT_TOP | PAINT_LEFT | PAINT_EXTRAS | PAINT_OBJECTS | PAINT_SIZE ) |
190 |
#define PAINT_ALL ( PAINT_GRID | PAINT_TOP | PAINT_LEFT | PAINT_EXTRAS | PAINT_OBJECTS | PAINT_SIZE ) |
191 |
|
191 |
|
192 |
|
192 |
|
193 |
// Flags fuer Spalten / Zeilen |
193 |
// Flags fuer Spalten / Zeilen |
194 |
// FILTERED immer zusammen mit HIDDEN |
194 |
// FILTERED immer zusammen mit HIDDEN |
195 |
// FILTERED und MANUALSIZE nur fuer Zeilen moeglich |
195 |
// FILTERED und MANUALSIZE nur fuer Zeilen moeglich |
196 |
const sal_uInt8 CR_HIDDEN = 1; |
196 |
const sal_uInt8 CR_HIDDEN = 1; |
197 |
//const sal_uInt8 CR_MARKED = 2; |
197 |
//const sal_uInt8 CR_MARKED = 2; |
198 |
//const sal_uInt8 CR_PAGEBREAK = 4; |
198 |
//const sal_uInt8 CR_PAGEBREAK = 4; |
199 |
const sal_uInt8 CR_MANUALBREAK = 8; |
199 |
const sal_uInt8 CR_MANUALBREAK = 8; |
200 |
const sal_uInt8 CR_FILTERED = 16; |
200 |
const sal_uInt8 CR_FILTERED = 16; |
201 |
const sal_uInt8 CR_MANUALSIZE = 32; |
201 |
const sal_uInt8 CR_MANUALSIZE = 32; |
202 |
const sal_uInt8 CR_ALL = (CR_HIDDEN | CR_MANUALBREAK | CR_FILTERED | CR_MANUALSIZE); |
202 |
const sal_uInt8 CR_ALL = (CR_HIDDEN | CR_MANUALBREAK | CR_FILTERED | CR_MANUALSIZE); |
203 |
|
203 |
|
204 |
typedef sal_uInt8 ScBreakType; |
204 |
typedef sal_uInt8 ScBreakType; |
205 |
const ScBreakType BREAK_NONE = 0; |
205 |
const ScBreakType BREAK_NONE = 0; |
206 |
const ScBreakType BREAK_PAGE = 1; |
206 |
const ScBreakType BREAK_PAGE = 1; |
207 |
const ScBreakType BREAK_MANUAL = 2; |
207 |
const ScBreakType BREAK_MANUAL = 2; |
208 |
|
208 |
|
209 |
// Insert-/Delete-Flags |
209 |
// Insert-/Delete-Flags |
210 |
const sal_uInt16 IDF_NONE = 0x0000; |
210 |
const sal_uInt16 IDF_NONE = 0x0000; |
211 |
const sal_uInt16 IDF_VALUE = 0x0001; /// Numeric values (and numeric results if IDF_FORMULA is not set). |
211 |
const sal_uInt16 IDF_VALUE = 0x0001; /// Numeric values (and numeric results if IDF_FORMULA is not set). |
212 |
const sal_uInt16 IDF_DATETIME = 0x0002; /// Dates, times, datetime values. |
212 |
const sal_uInt16 IDF_DATETIME = 0x0002; /// Dates, times, datetime values. |
213 |
const sal_uInt16 IDF_STRING = 0x0004; /// Strings (and string results if IDF_FORMULA is not set). |
213 |
const sal_uInt16 IDF_STRING = 0x0004; /// Strings (and string results if IDF_FORMULA is not set). |
214 |
const sal_uInt16 IDF_NOTE = 0x0008; /// Cell notes. |
214 |
const sal_uInt16 IDF_NOTE = 0x0008; /// Cell notes. |
215 |
const sal_uInt16 IDF_FORMULA = 0x0010; /// Formula cells. |
215 |
const sal_uInt16 IDF_FORMULA = 0x0010; /// Formula cells. |
216 |
const sal_uInt16 IDF_HARDATTR = 0x0020; /// Hard cell attributes. |
216 |
const sal_uInt16 IDF_HARDATTR = 0x0020; /// Hard cell attributes. |
217 |
const sal_uInt16 IDF_STYLES = 0x0040; /// Cell styles. |
217 |
const sal_uInt16 IDF_STYLES = 0x0040; /// Cell styles. |
218 |
const sal_uInt16 IDF_OBJECTS = 0x0080; /// Drawing objects. |
218 |
const sal_uInt16 IDF_OBJECTS = 0x0080; /// Drawing objects. |
219 |
const sal_uInt16 IDF_EDITATTR = 0x0100; /// Rich-text attributes. |
219 |
const sal_uInt16 IDF_EDITATTR = 0x0100; /// Rich-text attributes. |
220 |
const sal_uInt16 IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES; |
220 |
const sal_uInt16 IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES; |
221 |
const sal_uInt16 IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA; |
221 |
const sal_uInt16 IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA; |
222 |
const sal_uInt16 IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS; |
222 |
const sal_uInt16 IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS; |
223 |
const sal_uInt16 IDF_NOCAPTIONS = 0x0200; /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes. |
223 |
const sal_uInt16 IDF_NOCAPTIONS = 0x0200; /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes. |
224 |
const sal_uInt16 IDF_ADDNOTES = 0x0400; /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes. |
224 |
const sal_uInt16 IDF_ADDNOTES = 0x0400; /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes. |
225 |
|
225 |
|
226 |
/// Copy flags for auto/series fill functions: do not touch notes and drawing objects. |
226 |
/// Copy flags for auto/series fill functions: do not touch notes and drawing objects. |
227 |
const sal_uInt16 IDF_AUTOFILL = IDF_ALL & ~(IDF_NOTE | IDF_OBJECTS); |
227 |
const sal_uInt16 IDF_AUTOFILL = IDF_ALL & ~(IDF_NOTE | IDF_OBJECTS); |
228 |
|
228 |
|
229 |
#define PASTE_NOFUNC 0 |
229 |
#define PASTE_NOFUNC 0 |
230 |
#define PASTE_ADD 1 |
230 |
#define PASTE_ADD 1 |
231 |
#define PASTE_SUB 2 |
231 |
#define PASTE_SUB 2 |
232 |
#define PASTE_MUL 3 |
232 |
#define PASTE_MUL 3 |
233 |
#define PASTE_DIV 4 |
233 |
#define PASTE_DIV 4 |
234 |
|
234 |
|
235 |
#define PASTE_NONEMPTY 5 |
235 |
#define PASTE_NONEMPTY 5 |
236 |
|
236 |
|
237 |
// Bits fuer HasAttr |
237 |
// Bits fuer HasAttr |
238 |
#define HASATTR_LINES 1 |
238 |
#define HASATTR_LINES 1 |
239 |
#define HASATTR_MERGED 2 |
239 |
#define HASATTR_MERGED 2 |
240 |
#define HASATTR_OVERLAPPED 4 |
240 |
#define HASATTR_OVERLAPPED 4 |
241 |
#define HASATTR_PROTECTED 8 |
241 |
#define HASATTR_PROTECTED 8 |
242 |
#define HASATTR_SHADOW 16 |
242 |
#define HASATTR_SHADOW 16 |
243 |
#define HASATTR_NEEDHEIGHT 32 |
243 |
#define HASATTR_NEEDHEIGHT 32 |
244 |
#define HASATTR_SHADOW_RIGHT 64 |
244 |
#define HASATTR_SHADOW_RIGHT 64 |
245 |
#define HASATTR_SHADOW_DOWN 128 |
245 |
#define HASATTR_SHADOW_DOWN 128 |
246 |
#define HASATTR_AUTOFILTER 256 |
246 |
#define HASATTR_AUTOFILTER 256 |
247 |
#define HASATTR_CONDITIONAL 512 |
247 |
#define HASATTR_CONDITIONAL 512 |
248 |
#define HASATTR_ROTATE 1024 |
248 |
#define HASATTR_ROTATE 1024 |
249 |
#define HASATTR_NOTOVERLAPPED 2048 |
249 |
#define HASATTR_NOTOVERLAPPED 2048 |
250 |
#define HASATTR_RTL 4096 |
250 |
#define HASATTR_RTL 4096 |
251 |
#define HASATTR_RIGHTORCENTER 8192 // right or centered logical alignment |
251 |
#define HASATTR_RIGHTORCENTER 8192 // right or centered logical alignment |
252 |
|
252 |
|
253 |
#define HASATTR_PAINTEXT ( HASATTR_LINES | HASATTR_SHADOW | HASATTR_CONDITIONAL ) |
253 |
#define HASATTR_PAINTEXT ( HASATTR_LINES | HASATTR_SHADOW | HASATTR_CONDITIONAL ) |
254 |
|
254 |
|
255 |
|
255 |
|
256 |
#define EMPTY_STRING ScGlobal::GetEmptyString() |
256 |
#define EMPTY_STRING ScGlobal::GetEmptyString() |
257 |
|
257 |
|
258 |
// Layer-ID's fuer Drawing |
258 |
// Layer-ID's fuer Drawing |
259 |
#define SC_LAYER_FRONT 0 |
259 |
#define SC_LAYER_FRONT 0 |
260 |
#define SC_LAYER_BACK 1 |
260 |
#define SC_LAYER_BACK 1 |
261 |
#define SC_LAYER_INTERN 2 |
261 |
#define SC_LAYER_INTERN 2 |
262 |
#define SC_LAYER_CONTROLS 3 |
262 |
#define SC_LAYER_CONTROLS 3 |
263 |
#define SC_LAYER_HIDDEN 4 |
263 |
#define SC_LAYER_HIDDEN 4 |
264 |
|
264 |
|
265 |
// Tabellen linken |
265 |
// Tabellen linken |
266 |
#define SC_LINK_NONE 0 |
266 |
#define SC_LINK_NONE 0 |
267 |
#define SC_LINK_NORMAL 1 |
267 |
#define SC_LINK_NORMAL 1 |
268 |
#define SC_LINK_VALUE 2 |
268 |
#define SC_LINK_VALUE 2 |
269 |
|
269 |
|
270 |
// Eingabe |
270 |
// Eingabe |
271 |
#define SC_ENTER_NORMAL 0 |
271 |
#define SC_ENTER_NORMAL 0 |
272 |
#define SC_ENTER_BLOCK 1 |
272 |
#define SC_ENTER_BLOCK 1 |
273 |
#define SC_ENTER_MATRIX 2 |
273 |
#define SC_ENTER_MATRIX 2 |
274 |
|
274 |
|
275 |
// Step = 10pt, max. Einzug = 100 Schritte |
275 |
// Step = 10pt, max. Einzug = 100 Schritte |
276 |
#define SC_INDENT_STEP 200 |
276 |
#define SC_INDENT_STEP 200 |
277 |
#define SC_MAX_INDENT 20000 |
277 |
#define SC_MAX_INDENT 20000 |
278 |
|
278 |
|
279 |
// Szenario-Flags |
279 |
// Szenario-Flags |
280 |
#define SC_SCENARIO_COPYALL 1 |
280 |
#define SC_SCENARIO_COPYALL 1 |
281 |
#define SC_SCENARIO_SHOWFRAME 2 |
281 |
#define SC_SCENARIO_SHOWFRAME 2 |
282 |
#define SC_SCENARIO_PRINTFRAME 4 |
282 |
#define SC_SCENARIO_PRINTFRAME 4 |
283 |
#define SC_SCENARIO_TWOWAY 8 |
283 |
#define SC_SCENARIO_TWOWAY 8 |
284 |
#define SC_SCENARIO_ATTRIB 16 |
284 |
#define SC_SCENARIO_ATTRIB 16 |
285 |
#define SC_SCENARIO_VALUE 32 |
285 |
#define SC_SCENARIO_VALUE 32 |
286 |
#define SC_SCENARIO_PROTECT 64 |
286 |
#define SC_SCENARIO_PROTECT 64 |
287 |
|
287 |
|
288 |
|
288 |
|
289 |
#ifndef DELETEZ |
289 |
#ifndef DELETEZ |
290 |
#define DELETEZ(pPtr) { delete pPtr; pPtr = 0; } |
290 |
#define DELETEZ(pPtr) { delete pPtr; pPtr = 0; } |
291 |
#endif |
291 |
#endif |
292 |
|
292 |
|
293 |
// Ist Bit in Set gesetzt? |
293 |
// Ist Bit in Set gesetzt? |
294 |
#define IS_SET(bit,set)(((set)&(bit))==(bit)) |
294 |
#define IS_SET(bit,set)(((set)&(bit))==(bit)) |
295 |
|
295 |
|
296 |
#define SEL_ALL -1 // Eingabezeile: alles Selektieren |
296 |
#define SEL_ALL -1 // Eingabezeile: alles Selektieren |
297 |
#define RES_CANCEL 0 // Resultate der Funk.AutoPilot-Seiten |
297 |
#define RES_CANCEL 0 // Resultate der Funk.AutoPilot-Seiten |
298 |
#define RES_BACKWARD 1 |
298 |
#define RES_BACKWARD 1 |
299 |
#define RES_END 2 |
299 |
#define RES_END 2 |
300 |
|
300 |
|
301 |
enum CellType |
301 |
enum CellType |
302 |
{ |
302 |
{ |
303 |
CELLTYPE_NONE, |
303 |
CELLTYPE_NONE, |
304 |
CELLTYPE_VALUE, |
304 |
CELLTYPE_VALUE, |
305 |
CELLTYPE_STRING, |
305 |
CELLTYPE_STRING, |
306 |
CELLTYPE_FORMULA, |
306 |
CELLTYPE_FORMULA, |
307 |
CELLTYPE_NOTE, |
307 |
CELLTYPE_NOTE, |
308 |
CELLTYPE_EDIT, |
308 |
CELLTYPE_EDIT, |
309 |
CELLTYPE_SYMBOLS // fuer Laden/Speichern |
309 |
CELLTYPE_SYMBOLS // fuer Laden/Speichern |
310 |
#if DBG_UTIL |
310 |
#if DBG_UTIL |
311 |
,CELLTYPE_DESTROYED |
311 |
,CELLTYPE_DESTROYED |
312 |
#endif |
312 |
#endif |
313 |
}; |
313 |
}; |
314 |
|
314 |
|
315 |
enum DelCellCmd |
315 |
enum DelCellCmd |
316 |
{ |
316 |
{ |
317 |
DEL_CELLSUP, |
317 |
DEL_CELLSUP, |
318 |
DEL_CELLSLEFT, |
318 |
DEL_CELLSLEFT, |
319 |
DEL_DELROWS, |
319 |
DEL_DELROWS, |
320 |
DEL_DELCOLS, |
320 |
DEL_DELCOLS, |
321 |
DEL_NONE |
321 |
DEL_NONE |
322 |
}; |
322 |
}; |
323 |
|
323 |
|
324 |
enum InsCellCmd |
324 |
enum InsCellCmd |
325 |
{ |
325 |
{ |
326 |
INS_CELLSDOWN, |
326 |
INS_CELLSDOWN, |
327 |
INS_CELLSRIGHT, |
327 |
INS_CELLSRIGHT, |
328 |
INS_INSROWS, |
328 |
INS_INSROWS, |
329 |
INS_INSCOLS, |
329 |
INS_INSCOLS, |
330 |
INS_NONE |
330 |
INS_NONE |
331 |
}; |
331 |
}; |
332 |
|
332 |
|
333 |
enum UpdateRefMode |
333 |
enum UpdateRefMode |
334 |
{ |
334 |
{ |
335 |
URM_INSDEL, |
335 |
URM_INSDEL, |
336 |
URM_COPY, |
336 |
URM_COPY, |
337 |
URM_MOVE, |
337 |
URM_MOVE, |
338 |
URM_REORDER |
338 |
URM_REORDER |
339 |
}; |
339 |
}; |
340 |
|
340 |
|
341 |
enum FillDir |
341 |
enum FillDir |
342 |
{ |
342 |
{ |
343 |
FILL_TO_BOTTOM, |
343 |
FILL_TO_BOTTOM, |
344 |
FILL_TO_RIGHT, |
344 |
FILL_TO_RIGHT, |
345 |
FILL_TO_TOP, |
345 |
FILL_TO_TOP, |
346 |
FILL_TO_LEFT |
346 |
FILL_TO_LEFT |
347 |
}; |
347 |
}; |
348 |
|
348 |
|
349 |
enum FillCmd |
349 |
enum FillCmd |
350 |
{ |
350 |
{ |
351 |
FILL_SIMPLE, |
351 |
FILL_SIMPLE, |
352 |
FILL_LINEAR, |
352 |
FILL_LINEAR, |
353 |
FILL_GROWTH, |
353 |
FILL_GROWTH, |
354 |
FILL_DATE, |
354 |
FILL_DATE, |
355 |
FILL_AUTO |
355 |
FILL_AUTO |
356 |
}; |
356 |
}; |
357 |
|
357 |
|
358 |
enum FillDateCmd |
358 |
enum FillDateCmd |
359 |
{ |
359 |
{ |
360 |
FILL_DAY, |
360 |
FILL_DAY, |
361 |
FILL_WEEKDAY, |
361 |
FILL_WEEKDAY, |
362 |
FILL_MONTH, |
362 |
FILL_MONTH, |
363 |
FILL_YEAR |
363 |
FILL_YEAR |
364 |
}; |
364 |
}; |
365 |
|
365 |
|
366 |
enum ScDirection |
366 |
enum ScDirection |
367 |
{ |
367 |
{ |
368 |
DIR_BOTTOM, |
368 |
DIR_BOTTOM, |
369 |
DIR_RIGHT, |
369 |
DIR_RIGHT, |
370 |
DIR_TOP, |
370 |
DIR_TOP, |
371 |
DIR_LEFT |
371 |
DIR_LEFT |
372 |
}; |
372 |
}; |
373 |
|
373 |
|
374 |
enum ScSizeMode |
374 |
enum ScSizeMode |
375 |
{ |
375 |
{ |
376 |
SC_SIZE_DIRECT, // set size or hide if value is 0 |
376 |
SC_SIZE_DIRECT, // set size or hide if value is 0 |
377 |
SC_SIZE_OPTIMAL, // set optimal size for everything |
377 |
SC_SIZE_OPTIMAL, // set optimal size for everything |
378 |
SC_SIZE_SHOW, // show with original size |
378 |
SC_SIZE_SHOW, // show with original size |
379 |
SC_SIZE_VISOPT, // set optimal size only if visible |
379 |
SC_SIZE_VISOPT, // set optimal size only if visible |
380 |
SC_SIZE_ORIGINAL // only set size, don't change visible flag |
380 |
SC_SIZE_ORIGINAL // only set size, don't change visible flag |
381 |
}; |
381 |
}; |
382 |
|
382 |
|
383 |
enum ScInputMode |
383 |
enum ScInputMode |
384 |
{ |
384 |
{ |
385 |
SC_INPUT_NONE, |
385 |
SC_INPUT_NONE, |
386 |
SC_INPUT_TYPE, // Eingabe, ohne im Inplace-Modus zu sein |
386 |
SC_INPUT_TYPE, // Eingabe, ohne im Inplace-Modus zu sein |
387 |
SC_INPUT_TABLE, // Textcursor in der Tabelle |
387 |
SC_INPUT_TABLE, // Textcursor in der Tabelle |
388 |
SC_INPUT_TOP // Textcursor in der Eingabezeile |
388 |
SC_INPUT_TOP // Textcursor in der Eingabezeile |
389 |
}; |
389 |
}; |
390 |
|
390 |
|
391 |
enum ScVObjMode // Ausgabemodi von Objekten auf einer Seite |
391 |
enum ScVObjMode // Ausgabemodi von Objekten auf einer Seite |
392 |
{ |
392 |
{ |
393 |
VOBJ_MODE_SHOW, |
393 |
VOBJ_MODE_SHOW, |
394 |
VOBJ_MODE_HIDE |
394 |
VOBJ_MODE_HIDE |
395 |
// #i80528# VOBJ_MODE_DUMMY removed, no longer supported |
395 |
// #i80528# VOBJ_MODE_DUMMY removed, no longer supported |
396 |
}; |
396 |
}; |
397 |
|
397 |
|
398 |
enum ScAnchorType // Verankerung eines Zeichenobjekts |
398 |
enum ScAnchorType // Verankerung eines Zeichenobjekts |
399 |
{ |
399 |
{ |
400 |
SCA_CELL, |
400 |
SCA_CELL, |
401 |
SCA_PAGE, |
401 |
SCA_PAGE, |
402 |
SCA_DONTKNOW // bei Mehrfachselektion |
402 |
SCA_DONTKNOW // bei Mehrfachselektion |
403 |
}; |
403 |
}; |
404 |
|
404 |
|
405 |
enum ScGetDBMode |
405 |
enum ScGetDBMode |
406 |
{ |
406 |
{ |
407 |
SC_DB_MAKE, // wenn noetig, "unbenannt" anlegen |
407 |
SC_DB_MAKE, // wenn noetig, "unbenannt" anlegen |
408 |
SC_DB_IMPORT, // wenn noetig, "Importx" anlegen |
408 |
SC_DB_IMPORT, // wenn noetig, "Importx" anlegen |
409 |
SC_DB_OLD // nicht neu anlegen |
409 |
SC_DB_OLD, // nicht neu anlegen |
410 |
}; |
410 |
SC_DB_MAKE_FILTER, // to create a new filter/sort/subtotal |
411 |
|
411 |
SC_DB_MAKE_SORT, |
412 |
/// For ScDBFunc::GetDBData() |
412 |
SC_DB_MAKE_SUBTOTAL, |
413 |
enum ScGetDBSelection |
413 |
SC_DB_OLD_FILTER //to find a existed filter |
414 |
{ |
414 |
}; |
415 |
/** Keep selection as is, expand to used data area if no selection. */ |
415 |
|
416 |
SC_DBSEL_KEEP, |
416 |
/// For ScDBFunc::GetDBData() |
417 |
|
417 |
enum ScGetDBSelection |
418 |
/** Shrink selection to sheet's data area. */ |
418 |
{ |
419 |
SC_DBSEL_SHRINK_TO_SHEET_DATA, |
419 |
/** Keep selection as is, expand to used data area if no selection. */ |
420 |
|
420 |
SC_DBSEL_KEEP, |
421 |
/** Shrink selection to actually used data area within the selection. */ |
421 |
|
422 |
SC_DBSEL_SHRINK_TO_USED_DATA, |
422 |
/** Shrink selection to sheet's data area. */ |
423 |
|
423 |
SC_DBSEL_SHRINK_TO_SHEET_DATA, |
424 |
/** If only one row or portion thereof is selected, shrink row to used data |
424 |
|
425 |
columns and select further rows down until end of data. If an area is |
425 |
/** Shrink selection to actually used data area within the selection. */ |
426 |
selected, shrink rows to actually used columns. Else, no selection, |
426 |
SC_DBSEL_SHRINK_TO_USED_DATA, |
427 |
expand to used data area. */ |
427 |
|
428 |
SC_DBSEL_ROW_DOWN, |
428 |
/** If only one row or portion thereof is selected, shrink row to used data |
429 |
|
429 |
columns and select further rows down until end of data. If an area is |
430 |
/** Behave as if the range corresponding to a ScDBData area was selected, |
430 |
selected, shrink rows to actually used columns. Else, no selection, |
431 |
for API use. */ |
431 |
expand to used data area. */ |
432 |
SC_DBSEL_FORCE_MARK |
432 |
SC_DBSEL_ROW_DOWN, |
433 |
}; |
433 |
|
434 |
|
434 |
/** Behave as if the range corresponding to a ScDBData area was selected, |
435 |
enum ScLkUpdMode |
435 |
for API use. */ |
436 |
{ //Verknuepfungen |
436 |
SC_DBSEL_FORCE_MARK |
437 |
LM_ALWAYS, //immer aktualisieren |
437 |
}; |
438 |
LM_NEVER, //niemals |
438 |
|
439 |
LM_ON_DEMAND, //auf nachfrage |
439 |
enum ScLkUpdMode |
440 |
LM_UNKNOWN //Shit happens |
440 |
{ //Verknuepfungen |
441 |
}; |
441 |
LM_ALWAYS, //immer aktualisieren |
442 |
|
442 |
LM_NEVER, //niemals |
443 |
|
443 |
LM_ON_DEMAND, //auf nachfrage |
444 |
// ----------------------------------------------------------------------- |
444 |
LM_UNKNOWN //Shit happens |
445 |
|
445 |
}; |
446 |
//================================================================== |
446 |
|
447 |
|
447 |
|
448 |
// ----------------------------------------------------------------------- |
448 |
// ----------------------------------------------------------------------- |
449 |
|
449 |
|
450 |
// enum with values equal to old DBObject enum from sdb |
450 |
//================================================================== |
451 |
enum ScDBObject |
451 |
|
452 |
{ |
452 |
// ----------------------------------------------------------------------- |
453 |
ScDbTable, |
453 |
|
454 |
ScDbQuery |
454 |
// enum with values equal to old DBObject enum from sdb |
455 |
}; |
455 |
enum ScDBObject |
456 |
|
456 |
{ |
457 |
struct ScImportParam |
457 |
ScDbTable, |
458 |
{ |
458 |
ScDbQuery |
459 |
SCCOL nCol1; |
459 |
}; |
460 |
SCROW nRow1; |
460 |
|
461 |
SCCOL nCol2; |
461 |
struct ScImportParam |
462 |
SCROW nRow2; |
462 |
{ |
463 |
sal_Bool bImport; |
463 |
SCCOL nCol1; |
464 |
String aDBName; // Alias der Datenbank |
464 |
SCROW nRow1; |
465 |
String aStatement; |
465 |
SCCOL nCol2; |
466 |
sal_Bool bNative; |
466 |
SCROW nRow2; |
467 |
sal_Bool bSql; // Statement oder Name? |
467 |
sal_Bool bImport; |
468 |
sal_uInt8 nType; // enum DBObject |
468 |
String aDBName; // Alias der Datenbank |
469 |
|
469 |
String aStatement; |
470 |
ScImportParam(); |
470 |
sal_Bool bNative; |
471 |
ScImportParam( const ScImportParam& r ); |
471 |
sal_Bool bSql; // Statement oder Name? |
472 |
~ScImportParam(); |
472 |
sal_uInt8 nType; // enum DBObject |
473 |
|
473 |
|
474 |
ScImportParam& operator= ( const ScImportParam& r ); |
474 |
ScImportParam(); |
475 |
sal_Bool operator== ( const ScImportParam& r ) const; |
475 |
ScImportParam( const ScImportParam& r ); |
476 |
//UNUSED2009-05 void Clear (); |
476 |
~ScImportParam(); |
477 |
}; |
477 |
|
478 |
|
478 |
ScImportParam& operator= ( const ScImportParam& r ); |
479 |
struct ScStringHashCode |
479 |
sal_Bool operator== ( const ScImportParam& r ) const; |
480 |
{ |
480 |
//UNUSED2009-05 void Clear (); |
481 |
size_t operator()( const String& rStr ) const |
481 |
}; |
482 |
{ |
482 |
|
483 |
return rtl_ustr_hashCode_WithLength( rStr.GetBuffer(), rStr.Len() ); |
483 |
struct ScStringHashCode |
484 |
} |
484 |
{ |
485 |
}; |
485 |
size_t operator()( const String& rStr ) const |
486 |
|
486 |
{ |
487 |
// ----------------------------------------------------------------------- |
487 |
return rtl_ustr_hashCode_WithLength( rStr.GetBuffer(), rStr.Len() ); |
488 |
|
488 |
} |
489 |
class ScDocument; |
489 |
}; |
490 |
class ScDocShell; |
490 |
|
491 |
class ScDocShellRef; |
491 |
// ----------------------------------------------------------------------- |
492 |
class SvxSearchItem; |
492 |
|
493 |
class ScAutoFormat; |
493 |
class ScDocument; |
494 |
class FuncCollection; |
494 |
class ScDocShell; |
495 |
class ScUnoAddInCollection; |
495 |
class ScDocShellRef; |
496 |
class ScUserList; |
496 |
class SvxSearchItem; |
497 |
class SvxBrushItem; |
497 |
class ScAutoFormat; |
498 |
class ScFunctionList; |
498 |
class FuncCollection; |
499 |
class ScFunctionMgr; |
499 |
class ScUnoAddInCollection; |
500 |
class SfxItemPool; |
500 |
class ScUserList; |
501 |
class SdrModel; |
501 |
class SvxBrushItem; |
502 |
class EditTextObject; |
502 |
class ScFunctionList; |
503 |
class SfxObjectShell; |
503 |
class ScFunctionMgr; |
504 |
class SvNumberFormatter; |
504 |
class SfxItemPool; |
505 |
class ScUnitConverter; |
505 |
class SdrModel; |
506 |
class CharClass; |
506 |
class EditTextObject; |
507 |
class LocaleDataWrapper; |
507 |
class SfxObjectShell; |
508 |
class SvtSysLocale; |
508 |
class SvNumberFormatter; |
509 |
class CalendarWrapper; |
509 |
class ScUnitConverter; |
510 |
class CollatorWrapper; |
510 |
class CharClass; |
511 |
class IntlWrapper; |
511 |
class LocaleDataWrapper; |
512 |
class OutputDevice; |
512 |
class SvtSysLocale; |
513 |
|
513 |
class CalendarWrapper; |
514 |
namespace com { namespace sun { namespace star { |
514 |
class CollatorWrapper; |
515 |
namespace lang { |
515 |
class IntlWrapper; |
516 |
struct Locale; |
516 |
class OutputDevice; |
517 |
} |
517 |
|
518 |
namespace i18n { |
518 |
namespace com { namespace sun { namespace star { |
519 |
class XOrdinalSuffix; |
519 |
namespace lang { |
520 |
} |
520 |
struct Locale; |
521 |
}}} |
521 |
} |
522 |
namespace utl { |
522 |
namespace i18n { |
523 |
class TransliterationWrapper; |
523 |
class XOrdinalSuffix; |
524 |
} |
524 |
} |
525 |
|
525 |
}}} |
526 |
#ifndef _SCALC_EXE |
526 |
namespace utl { |
527 |
class ScGlobal |
527 |
class TransliterationWrapper; |
528 |
{ |
528 |
} |
529 |
static SvxSearchItem* pSearchItem; |
529 |
|
530 |
static ScAutoFormat* pAutoFormat; |
530 |
#ifndef _SCALC_EXE |
531 |
static FuncCollection* pFuncCollection; |
531 |
class ScGlobal |
532 |
static ScUnoAddInCollection* pAddInCollection; |
532 |
{ |
533 |
static ScUserList* pUserList; |
533 |
static SvxSearchItem* pSearchItem; |
534 |
static String** ppRscString; |
534 |
static ScAutoFormat* pAutoFormat; |
535 |
static String* pStrScDoc; |
535 |
static FuncCollection* pFuncCollection; |
536 |
static String* pEmptyString; |
536 |
static ScUnoAddInCollection* pAddInCollection; |
537 |
static String* pStrClipDocName; |
537 |
static ScUserList* pUserList; |
538 |
static SvxBrushItem* pEmptyBrushItem; |
538 |
static String** ppRscString; |
539 |
static SvxBrushItem* pButtonBrushItem; |
539 |
static String* pStrScDoc; |
540 |
static SvxBrushItem* pEmbeddedBrushItem; |
540 |
static String* pEmptyString; |
541 |
static SvxBrushItem* pProtectedBrushItem; |
541 |
static String* pStrClipDocName; |
542 |
|
542 |
static SvxBrushItem* pEmptyBrushItem; |
543 |
static ImageList* pOutlineBitmaps; |
543 |
static SvxBrushItem* pButtonBrushItem; |
544 |
static ImageList* pOutlineBitmapsHC; |
544 |
static SvxBrushItem* pEmbeddedBrushItem; |
545 |
|
545 |
static SvxBrushItem* pProtectedBrushItem; |
546 |
// static Bitmap* pAnchorBitmap; |
546 |
|
547 |
// static Bitmap* pGrayAnchorBitmap; |
547 |
static ImageList* pOutlineBitmaps; |
548 |
|
548 |
static ImageList* pOutlineBitmapsHC; |
549 |
static ScFunctionList* pStarCalcFunctionList; |
549 |
|
550 |
static ScFunctionMgr* pStarCalcFunctionMgr; |
550 |
// static Bitmap* pAnchorBitmap; |
551 |
|
551 |
// static Bitmap* pGrayAnchorBitmap; |
552 |
static ScUnitConverter* pUnitConverter; |
552 |
|
553 |
|
553 |
static ScFunctionList* pStarCalcFunctionList; |
554 |
static SvNumberFormatter* pEnglishFormatter; // for UNO / XML export |
554 |
static ScFunctionMgr* pStarCalcFunctionMgr; |
555 |
|
555 |
|
556 |
static ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XOrdinalSuffix> xOrdinalSuffix; |
556 |
static ScUnitConverter* pUnitConverter; |
557 |
static CalendarWrapper* pCalendar; |
557 |
|
558 |
static CollatorWrapper* pCaseCollator; |
558 |
static SvNumberFormatter* pEnglishFormatter; // for UNO / XML export |
559 |
static CollatorWrapper* pCollator; |
559 |
|
560 |
static ::utl::TransliterationWrapper* pTransliteration; |
560 |
static ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XOrdinalSuffix> xOrdinalSuffix; |
561 |
static ::utl::TransliterationWrapper* pCaseTransliteration; |
561 |
static CalendarWrapper* pCalendar; |
562 |
static IntlWrapper* pScIntlWrapper; |
562 |
static CollatorWrapper* pCaseCollator; |
563 |
static ::com::sun::star::lang::Locale* pLocale; |
563 |
static CollatorWrapper* pCollator; |
564 |
|
564 |
static ::utl::TransliterationWrapper* pTransliteration; |
565 |
public: |
565 |
static ::utl::TransliterationWrapper* pCaseTransliteration; |
566 |
static SvtSysLocale* pSysLocale; |
566 |
static IntlWrapper* pScIntlWrapper; |
567 |
// for faster access a pointer to the single instance provided by SvtSysLocale |
567 |
static ::com::sun::star::lang::Locale* pLocale; |
568 |
SC_DLLPUBLIC static const CharClass* pCharClass; |
568 |
|
569 |
// for faster access a pointer to the single instance provided by SvtSysLocale |
569 |
public: |
570 |
SC_DLLPUBLIC static const LocaleDataWrapper* pLocaleData; |
570 |
static SvtSysLocale* pSysLocale; |
571 |
SC_DLLPUBLIC static const LocaleDataWrapper* GetpLocaleData(); |
571 |
// for faster access a pointer to the single instance provided by SvtSysLocale |
572 |
|
572 |
SC_DLLPUBLIC static const CharClass* pCharClass; |
573 |
static CalendarWrapper* GetCalendar(); |
573 |
// for faster access a pointer to the single instance provided by SvtSysLocale |
574 |
SC_DLLPUBLIC static CollatorWrapper* GetCollator(); |
574 |
SC_DLLPUBLIC static const LocaleDataWrapper* pLocaleData; |
575 |
static CollatorWrapper* GetCaseCollator(); |
575 |
SC_DLLPUBLIC static const LocaleDataWrapper* GetpLocaleData(); |
576 |
static IntlWrapper* GetScIntlWrapper(); |
576 |
|
577 |
static ::com::sun::star::lang::Locale* GetLocale(); |
577 |
static CalendarWrapper* GetCalendar(); |
578 |
|
578 |
SC_DLLPUBLIC static CollatorWrapper* GetCollator(); |
579 |
SC_DLLPUBLIC static ::utl::TransliterationWrapper* GetpTransliteration(); //CHINA001 |
579 |
static CollatorWrapper* GetCaseCollator(); |
580 |
static ::utl::TransliterationWrapper* GetCaseTransliteration(); |
580 |
static IntlWrapper* GetScIntlWrapper(); |
581 |
|
581 |
static ::com::sun::star::lang::Locale* GetLocale(); |
582 |
SC_DLLPUBLIC static LanguageType eLnge; |
582 |
|
583 |
static sal_Unicode cListDelimiter; |
583 |
SC_DLLPUBLIC static ::utl::TransliterationWrapper* GetpTransliteration(); //CHINA001 |
584 |
|
584 |
static ::utl::TransliterationWrapper* GetCaseTransliteration(); |
585 |
static const String& GetClipDocName(); |
585 |
|
586 |
static void SetClipDocName( const String& rNew ); |
586 |
SC_DLLPUBLIC static LanguageType eLnge; |
587 |
SC_DLLPUBLIC static const SvxSearchItem& GetSearchItem(); |
587 |
static sal_Unicode cListDelimiter; |
588 |
SC_DLLPUBLIC static void SetSearchItem( const SvxSearchItem& rNew ); |
588 |
|
589 |
SC_DLLPUBLIC static ScAutoFormat* GetAutoFormat(); |
589 |
static const String& GetClipDocName(); |
590 |
static void ClearAutoFormat(); //BugId 54209 |
590 |
static void SetClipDocName( const String& rNew ); |
591 |
static FuncCollection* GetFuncCollection(); |
591 |
SC_DLLPUBLIC static const SvxSearchItem& GetSearchItem(); |
592 |
SC_DLLPUBLIC static ScUnoAddInCollection* GetAddInCollection(); |
592 |
SC_DLLPUBLIC static void SetSearchItem( const SvxSearchItem& rNew ); |
593 |
SC_DLLPUBLIC static ScUserList* GetUserList(); |
593 |
SC_DLLPUBLIC static ScAutoFormat* GetAutoFormat(); |
594 |
static void SetUserList( const ScUserList* pNewList ); |
594 |
static void ClearAutoFormat(); //BugId 54209 |
595 |
SC_DLLPUBLIC static const String& GetRscString( sal_uInt16 nIndex ); |
595 |
static FuncCollection* GetFuncCollection(); |
596 |
static void OpenURL( const String& rURL, const String& rTarget ); |
596 |
SC_DLLPUBLIC static ScUnoAddInCollection* GetAddInCollection(); |
597 |
SC_DLLPUBLIC static String GetAbsDocName( const String& rFileName, |
597 |
SC_DLLPUBLIC static ScUserList* GetUserList(); |
598 |
SfxObjectShell* pShell ); |
598 |
static void SetUserList( const ScUserList* pNewList ); |
599 |
SC_DLLPUBLIC static String GetDocTabName( const String& rFileName, |
599 |
SC_DLLPUBLIC static const String& GetRscString( sal_uInt16 nIndex ); |
600 |
const String& rTabName ); |
600 |
static void OpenURL( const String& rURL, const String& rTarget ); |
601 |
SC_DLLPUBLIC static sal_uLong GetStandardFormat( SvNumberFormatter&, |
601 |
SC_DLLPUBLIC static String GetAbsDocName( const String& rFileName, |
602 |
sal_uLong nFormat, short nType ); |
602 |
SfxObjectShell* pShell ); |
603 |
SC_DLLPUBLIC static sal_uLong GetStandardFormat( double, SvNumberFormatter&, |
603 |
SC_DLLPUBLIC static String GetDocTabName( const String& rFileName, |
604 |
sal_uLong nFormat, short nType ); |
604 |
const String& rTabName ); |
605 |
|
605 |
SC_DLLPUBLIC static sal_uLong GetStandardFormat( SvNumberFormatter&, |
606 |
SC_DLLPUBLIC static double nScreenPPTX; |
606 |
sal_uLong nFormat, short nType ); |
607 |
SC_DLLPUBLIC static double nScreenPPTY; |
607 |
SC_DLLPUBLIC static sal_uLong GetStandardFormat( double, SvNumberFormatter&, |
608 |
|
608 |
sal_uLong nFormat, short nType ); |
609 |
static ScDocShellRef* pDrawClipDocShellRef; |
609 |
|
610 |
|
610 |
SC_DLLPUBLIC static double nScreenPPTX; |
611 |
static sal_uInt16 nDefFontHeight; |
611 |
SC_DLLPUBLIC static double nScreenPPTY; |
612 |
static sal_uInt16 nStdRowHeight; |
612 |
|
613 |
|
613 |
static ScDocShellRef* pDrawClipDocShellRef; |
614 |
SC_DLLPUBLIC static long nLastRowHeightExtra; |
614 |
|
615 |
static long nLastColWidthExtra; |
615 |
static sal_uInt16 nDefFontHeight; |
616 |
|
616 |
static sal_uInt16 nStdRowHeight; |
617 |
static void Init(); // am Anfang |
617 |
|
618 |
static void InitAddIns(); |
618 |
SC_DLLPUBLIC static long nLastRowHeightExtra; |
619 |
static void Clear(); // bei Programmende |
619 |
static long nLastColWidthExtra; |
620 |
|
620 |
|
621 |
static void UpdatePPT(OutputDevice* pDev); |
621 |
static void Init(); // am Anfang |
622 |
|
622 |
static void InitAddIns(); |
623 |
static void InitTextHeight(SfxItemPool* pPool); |
623 |
static void Clear(); // bei Programmende |
624 |
static SvxBrushItem* GetEmptyBrushItem() { return pEmptyBrushItem; } |
624 |
|
625 |
static SvxBrushItem* GetButtonBrushItem(); |
625 |
static void UpdatePPT(OutputDevice* pDev); |
626 |
static SvxBrushItem* GetEmbeddedBrushItem() { return pEmbeddedBrushItem; } |
626 |
|
627 |
static SvxBrushItem* GetProtectedBrushItem() { return pProtectedBrushItem; } |
627 |
static void InitTextHeight(SfxItemPool* pPool); |
628 |
SC_DLLPUBLIC static const String& GetEmptyString(); |
628 |
static SvxBrushItem* GetEmptyBrushItem() { return pEmptyBrushItem; } |
629 |
static const String& GetScDocString(); |
629 |
static SvxBrushItem* GetButtonBrushItem(); |
630 |
|
630 |
static SvxBrushItem* GetEmbeddedBrushItem() { return pEmbeddedBrushItem; } |
631 |
/** Returns the specified image list with outline symbols. |
631 |
static SvxBrushItem* GetProtectedBrushItem() { return pProtectedBrushItem; } |
632 |
@param bHC false = standard symbols; true = high contrast symbols. */ |
632 |
SC_DLLPUBLIC static const String& GetEmptyString(); |
633 |
static ImageList* GetOutlineSymbols( bool bHC ); |
633 |
static const String& GetScDocString(); |
634 |
|
634 |
|
635 |
// static const Bitmap& GetAnchorBitmap(); |
635 |
/** Returns the specified image list with outline symbols. |
636 |
// static const Bitmap& GetGrayAnchorBitmap(); |
636 |
@param bHC false = standard symbols; true = high contrast symbols. */ |
637 |
|
637 |
static ImageList* GetOutlineSymbols( bool bHC ); |
638 |
static bool HasStarCalcFunctionList(); |
638 |
|
639 |
static ScFunctionList* GetStarCalcFunctionList(); |
639 |
// static const Bitmap& GetAnchorBitmap(); |
640 |
static ScFunctionMgr* GetStarCalcFunctionMgr(); |
640 |
// static const Bitmap& GetGrayAnchorBitmap(); |
641 |
static void ResetFunctionList(); |
641 |
|
642 |
|
642 |
static bool HasStarCalcFunctionList(); |
643 |
static String GetErrorString(sal_uInt16 nErrNumber); |
643 |
static ScFunctionList* GetStarCalcFunctionList(); |
644 |
static String GetLongErrorString(sal_uInt16 nErrNumber); |
644 |
static ScFunctionMgr* GetStarCalcFunctionMgr(); |
645 |
static sal_Bool EETextObjEqual( const EditTextObject* pObj1, |
645 |
static void ResetFunctionList(); |
646 |
const EditTextObject* pObj2 ); |
646 |
|
647 |
static sal_Bool CheckWidthInvalidate( sal_Bool& bNumFormatChanged, |
647 |
static String GetErrorString(sal_uInt16 nErrNumber); |
648 |
const SfxItemSet& rNewAttrs, |
648 |
static String GetLongErrorString(sal_uInt16 nErrNumber); |
649 |
const SfxItemSet& rOldAttrs ); |
649 |
static sal_Bool EETextObjEqual( const EditTextObject* pObj1, |
650 |
static sal_Bool HasAttrChanged( const SfxItemSet& rNewAttrs, |
650 |
const EditTextObject* pObj2 ); |
651 |
const SfxItemSet& rOldAttrs, |
651 |
static sal_Bool CheckWidthInvalidate( sal_Bool& bNumFormatChanged, |
652 |
const sal_uInt16 nWhich ); |
652 |
const SfxItemSet& rNewAttrs, |
653 |
|
653 |
const SfxItemSet& rOldAttrs ); |
654 |
static ScUnitConverter* GetUnitConverter(); |
654 |
static sal_Bool HasAttrChanged( const SfxItemSet& rNewAttrs, |
655 |
|
655 |
const SfxItemSet& rOldAttrs, |
656 |
/// strchr() functionality on unicode, as long as we need it for ScToken etc. |
656 |
const sal_uInt16 nWhich ); |
657 |
static const sal_Unicode* UnicodeStrChr( const sal_Unicode* pStr, sal_Unicode c ); |
657 |
|
658 |
|
658 |
static ScUnitConverter* GetUnitConverter(); |
659 |
static inline sal_Unicode ToUpperAlpha( sal_Unicode c ) |
659 |
|
660 |
{ return ( c >= 'a' && c <= 'z' ) ? ( c-'a'+'A' ) : c; } |
660 |
/// strchr() functionality on unicode, as long as we need it for ScToken etc. |
661 |
|
661 |
static const sal_Unicode* UnicodeStrChr( const sal_Unicode* pStr, sal_Unicode c ); |
662 |
/** Adds the string rToken to rTokenList, using a list separator character. |
662 |
|
663 |
@param rTokenList The string list where the token will be appended to. |
663 |
static inline sal_Unicode ToUpperAlpha( sal_Unicode c ) |
664 |
@param rToken The token string to append to the token list. |
664 |
{ return ( c >= 'a' && c <= 'z' ) ? ( c-'a'+'A' ) : c; } |
665 |
@param cSep The character to separate the tokens. |
665 |
|
666 |
@param nSepCount Specifies how often cSep is inserted between two tokens. |
666 |
/** Adds the string rToken to rTokenList, using a list separator character. |
667 |
@param bForceSep true = Always insert separator; false = Only, if not at begin or end. */ |
667 |
@param rTokenList The string list where the token will be appended to. |
668 |
SC_DLLPUBLIC static void AddToken( |
668 |
@param rToken The token string to append to the token list. |
669 |
String& rTokenList, const String& rToken, |
669 |
@param cSep The character to separate the tokens. |
670 |
sal_Unicode cSep, xub_StrLen nSepCount = 1, |
670 |
@param nSepCount Specifies how often cSep is inserted between two tokens. |
671 |
bool bForceSep = false ); |
671 |
@param bForceSep true = Always insert separator; false = Only, if not at begin or end. */ |
672 |
|
672 |
SC_DLLPUBLIC static void AddToken( |
673 |
/** Returns true, if the first and last character of the string is cQuote. */ |
673 |
String& rTokenList, const String& rToken, |
674 |
SC_DLLPUBLIC static bool IsQuoted( const String& rString, sal_Unicode cQuote = '\'' ); |
674 |
sal_Unicode cSep, xub_StrLen nSepCount = 1, |
675 |
|
675 |
bool bForceSep = false ); |
676 |
/** Inserts the character cQuote at beginning and end of rString. |
676 |
|
677 |
@param bEscapeEmbedded If <TRUE/>, embedded quote characters are |
677 |
/** Returns true, if the first and last character of the string is cQuote. */ |
678 |
escaped by doubling them. |
678 |
SC_DLLPUBLIC static bool IsQuoted( const String& rString, sal_Unicode cQuote = '\'' ); |
679 |
*/ |
679 |
|
680 |
SC_DLLPUBLIC static void AddQuotes( String& rString, sal_Unicode cQuote = '\'', bool bEscapeEmbedded = true ); |
680 |
/** Inserts the character cQuote at beginning and end of rString. |
681 |
|
681 |
@param bEscapeEmbedded If <TRUE/>, embedded quote characters are |
682 |
/** Erases the character cQuote from rString, if it exists at beginning AND end. |
682 |
escaped by doubling them. |
683 |
@param bUnescapeEmbedded If <TRUE/>, embedded doubled quote characters |
683 |
*/ |
684 |
are unescaped by replacing them with a |
684 |
SC_DLLPUBLIC static void AddQuotes( String& rString, sal_Unicode cQuote = '\'', bool bEscapeEmbedded = true ); |
685 |
single instance. |
685 |
|
686 |
*/ |
686 |
/** Erases the character cQuote from rString, if it exists at beginning AND end. |
687 |
SC_DLLPUBLIC static void EraseQuotes( String& rString, sal_Unicode cQuote = '\'', bool bUnescapeEmbedded = true ); |
687 |
@param bUnescapeEmbedded If <TRUE/>, embedded doubled quote characters |
688 |
|
688 |
are unescaped by replacing them with a |
689 |
/** Finds an unquoted instance of cChar in rString, starting at |
689 |
single instance. |
690 |
offset nStart. Unquoted instances may occur when concatenating two |
690 |
*/ |
691 |
quoted strings with a separator, for example, 's1':'s2'. Embedded |
691 |
SC_DLLPUBLIC static void EraseQuotes( String& rString, sal_Unicode cQuote = '\'', bool bUnescapeEmbedded = true ); |
692 |
quotes have to be escaped by being doubled. Caller must ensure that |
692 |
|
693 |
nStart points into an unquoted range or the opening quote. Specialty: |
693 |
/** Finds an unquoted instance of cChar in rString, starting at |
694 |
if cChar==cQuote the first cQuote character from nStart on is found. |
694 |
offset nStart. Unquoted instances may occur when concatenating two |
695 |
@returns offset if found, else STRING_NOTFOUND |
695 |
quoted strings with a separator, for example, 's1':'s2'. Embedded |
696 |
*/ |
696 |
quotes have to be escaped by being doubled. Caller must ensure that |
697 |
SC_DLLPUBLIC static xub_StrLen FindUnquoted( const String& rString, sal_Unicode cChar, xub_StrLen nStart = 0, sal_Unicode cQuote = '\'' ); |
697 |
nStart points into an unquoted range or the opening quote. Specialty: |
698 |
|
698 |
if cChar==cQuote the first cQuote character from nStart on is found. |
699 |
/** Finds an unquoted instance of cChar in null-terminated pString. Same |
699 |
@returns offset if found, else STRING_NOTFOUND |
700 |
semantics as FindUnquoted( const String&, ...) |
700 |
*/ |
701 |
@returns: pointer to cChar if found, else NULL |
701 |
SC_DLLPUBLIC static xub_StrLen FindUnquoted( const String& rString, sal_Unicode cChar, xub_StrLen nStart = 0, sal_Unicode cQuote = '\'' ); |
702 |
*/ |
702 |
|
703 |
SC_DLLPUBLIC static const sal_Unicode* FindUnquoted( const sal_Unicode* pString, sal_Unicode cChar, sal_Unicode cQuote = '\'' ); |
703 |
/** Finds an unquoted instance of cChar in null-terminated pString. Same |
704 |
|
704 |
semantics as FindUnquoted( const String&, ...) |
705 |
|
705 |
@returns: pointer to cChar if found, else NULL |
706 |
static CharSet GetCharsetValue( const String& rCharSet ); |
706 |
*/ |
707 |
static String GetCharsetString( CharSet eVal ); |
707 |
SC_DLLPUBLIC static const sal_Unicode* FindUnquoted( const sal_Unicode* pString, sal_Unicode cChar, sal_Unicode cQuote = '\'' ); |
708 |
|
708 |
|
709 |
/// a "ReadOnly" formatter for UNO/XML export |
709 |
|
710 |
static SvNumberFormatter* GetEnglishFormatter(); |
710 |
static CharSet GetCharsetValue( const String& rCharSet ); |
711 |
|
711 |
static String GetCharsetString( CharSet eVal ); |
712 |
static sal_Bool IsSystemRTL(); // depending on system language |
712 |
|
713 |
static LanguageType GetEditDefaultLanguage(); // for EditEngine::SetDefaultLanguage |
713 |
/// a "ReadOnly" formatter for UNO/XML export |
714 |
SC_DLLPUBLIC static sal_uInt8 GetDefaultScriptType(); // for all WEAK characters |
714 |
static SvNumberFormatter* GetEnglishFormatter(); |
715 |
/** Map ATTR_((CJK|CTL)_)?FONT_... to proper WhichIDs. |
715 |
|
716 |
If more than one SCRIPTTYPE_... values are or'ed together, prefers |
716 |
static sal_Bool IsSystemRTL(); // depending on system language |
717 |
first COMPLEX, then ASIAN */ |
717 |
static LanguageType GetEditDefaultLanguage(); // for EditEngine::SetDefaultLanguage |
718 |
SC_DLLPUBLIC static sal_uInt16 GetScriptedWhichID( sal_uInt8 nScriptType, sal_uInt16 nWhich ); |
718 |
SC_DLLPUBLIC static sal_uInt8 GetDefaultScriptType(); // for all WEAK characters |
719 |
|
719 |
/** Map ATTR_((CJK|CTL)_)?FONT_... to proper WhichIDs. |
720 |
/** Adds a language item to the item set, if the number format item contains |
720 |
If more than one SCRIPTTYPE_... values are or'ed together, prefers |
721 |
a language that differs from its parent's language. */ |
721 |
first COMPLEX, then ASIAN */ |
722 |
SC_DLLPUBLIC static void AddLanguage( SfxItemSet& rSet, SvNumberFormatter& rFormatter ); |
722 |
SC_DLLPUBLIC static sal_uInt16 GetScriptedWhichID( sal_uInt8 nScriptType, sal_uInt16 nWhich ); |
723 |
|
723 |
|
724 |
/** Obtain the ordinal suffix for a number according to the system locale */ |
724 |
/** Adds a language item to the item set, if the number format item contains |
725 |
static String GetOrdinalSuffix( sal_Int32 nNumber); |
725 |
a language that differs from its parent's language. */ |
726 |
}; |
726 |
SC_DLLPUBLIC static void AddLanguage( SfxItemSet& rSet, SvNumberFormatter& rFormatter ); |
727 |
#endif |
727 |
|
728 |
|
728 |
/** Obtain the ordinal suffix for a number according to the system locale */ |
729 |
//================================================================== |
729 |
static String GetOrdinalSuffix( sal_Int32 nNumber); |
730 |
// evtl. in dbdata.hxx auslagern (?): |
730 |
}; |
731 |
|
731 |
#endif |
732 |
enum ScQueryOp |
732 |
|
733 |
{ |
733 |
//================================================================== |
734 |
SC_EQUAL, |
734 |
// evtl. in dbdata.hxx auslagern (?): |
735 |
SC_LESS, |
735 |
|
736 |
SC_GREATER, |
736 |
enum ScQueryOp |
737 |
SC_LESS_EQUAL, |
737 |
{ |
738 |
SC_GREATER_EQUAL, |
738 |
SC_EQUAL, |
739 |
SC_NOT_EQUAL, |
739 |
SC_LESS, |
740 |
SC_TOPVAL, |
740 |
SC_GREATER, |
741 |
SC_BOTVAL, |
741 |
SC_LESS_EQUAL, |
742 |
SC_TOPPERC, |
742 |
SC_GREATER_EQUAL, |
743 |
SC_BOTPERC, |
743 |
SC_NOT_EQUAL, |
744 |
SC_CONTAINS, |
744 |
SC_TOPVAL, |
745 |
SC_DOES_NOT_CONTAIN, |
745 |
SC_BOTVAL, |
746 |
SC_BEGINS_WITH, |
746 |
SC_TOPPERC, |
747 |
SC_DOES_NOT_BEGIN_WITH, |
747 |
SC_BOTPERC, |
748 |
SC_ENDS_WITH, |
748 |
SC_CONTAINS, |
749 |
SC_DOES_NOT_END_WITH |
749 |
SC_DOES_NOT_CONTAIN, |
750 |
}; |
750 |
SC_BEGINS_WITH, |
751 |
|
751 |
SC_DOES_NOT_BEGIN_WITH, |
752 |
// ----------------------------------------------------------------------- |
752 |
SC_ENDS_WITH, |
753 |
|
753 |
SC_DOES_NOT_END_WITH |
754 |
enum ScQueryConnect |
754 |
}; |
755 |
{ |
755 |
|
756 |
SC_AND, |
756 |
// ----------------------------------------------------------------------- |
757 |
SC_OR |
757 |
|
758 |
}; |
758 |
enum ScQueryConnect |
759 |
|
759 |
{ |
760 |
// ----------------------------------------------------------------------- |
760 |
SC_AND, |
761 |
|
761 |
SC_OR |
762 |
enum ScSubTotalFunc |
762 |
}; |
763 |
{ |
763 |
|
764 |
SUBTOTAL_FUNC_NONE = 0, |
764 |
// ----------------------------------------------------------------------- |
765 |
SUBTOTAL_FUNC_AVE = 1, |
765 |
|
766 |
SUBTOTAL_FUNC_CNT = 2, |
766 |
enum ScSubTotalFunc |
767 |
SUBTOTAL_FUNC_CNT2 = 3, |
767 |
{ |
768 |
SUBTOTAL_FUNC_MAX = 4, |
768 |
SUBTOTAL_FUNC_NONE = 0, |
769 |
SUBTOTAL_FUNC_MIN = 5, |
769 |
SUBTOTAL_FUNC_AVE = 1, |
770 |
SUBTOTAL_FUNC_PROD = 6, |
770 |
SUBTOTAL_FUNC_CNT = 2, |
771 |
SUBTOTAL_FUNC_STD = 7, |
771 |
SUBTOTAL_FUNC_CNT2 = 3, |
772 |
SUBTOTAL_FUNC_STDP = 8, |
772 |
SUBTOTAL_FUNC_MAX = 4, |
773 |
SUBTOTAL_FUNC_SUM = 9, |
773 |
SUBTOTAL_FUNC_MIN = 5, |
774 |
SUBTOTAL_FUNC_VAR = 10, |
774 |
SUBTOTAL_FUNC_PROD = 6, |
775 |
SUBTOTAL_FUNC_VARP = 11 |
775 |
SUBTOTAL_FUNC_STD = 7, |
776 |
}; |
776 |
SUBTOTAL_FUNC_STDP = 8, |
777 |
|
777 |
SUBTOTAL_FUNC_SUM = 9, |
778 |
|
778 |
SUBTOTAL_FUNC_VAR = 10, |
779 |
// ----------------------------------------------------------------------- |
779 |
SUBTOTAL_FUNC_VARP = 11 |
780 |
|
780 |
}; |
781 |
/* |
781 |
|
782 |
* Dialog liefert die ausgezeichneten Feldwerte "leer"/"nicht leer" |
782 |
|
783 |
* als Konstanten SC_EMPTYFIELDS bzw. SC_NONEMPTYFIELDS in nVal in |
783 |
// ----------------------------------------------------------------------- |
784 |
* Verbindung mit dem Schalter bQueryByString auf FALSE. |
784 |
|
785 |
*/ |
785 |
/* |
786 |
|
786 |
* Dialog liefert die ausgezeichneten Feldwerte "leer"/"nicht leer" |
787 |
#define SC_EMPTYFIELDS ((double)0x0042) |
787 |
* als Konstanten SC_EMPTYFIELDS bzw. SC_NONEMPTYFIELDS in nVal in |
788 |
#define SC_NONEMPTYFIELDS ((double)0x0043) |
788 |
* Verbindung mit dem Schalter bQueryByString auf FALSE. |
789 |
|
789 |
*/ |
790 |
namespace utl |
790 |
|
791 |
{ |
791 |
#define SC_EMPTYFIELDS ((double)0x0042) |
792 |
class SearchParam; |
792 |
#define SC_NONEMPTYFIELDS ((double)0x0043) |
793 |
class TextSearch; |
793 |
|
794 |
} |
794 |
namespace utl |
795 |
|
795 |
{ |
796 |
struct ScQueryEntry |
796 |
class SearchParam; |
797 |
{ |
797 |
class TextSearch; |
798 |
sal_Bool bDoQuery; |
798 |
} |
799 |
sal_Bool bQueryByString; |
799 |
|
800 |
bool bQueryByDate; |
800 |
struct ScQueryEntry |
801 |
SCCOLROW nField; |
801 |
{ |
802 |
ScQueryOp eOp; |
802 |
sal_Bool bDoQuery; |
803 |
ScQueryConnect eConnect; |
803 |
sal_Bool bQueryByString; |
804 |
String* pStr; |
804 |
bool bQueryByDate; |
805 |
double nVal; |
805 |
SCCOLROW nField; |
806 |
utl::SearchParam* pSearchParam; // falls RegExp, nicht gespeichert |
806 |
ScQueryOp eOp; |
807 |
utl::TextSearch* pSearchText; // falls RegExp, nicht gespeichert |
807 |
ScQueryConnect eConnect; |
808 |
|
808 |
String* pStr; |
809 |
ScQueryEntry(); |
809 |
double nVal; |
810 |
ScQueryEntry(const ScQueryEntry& r); |
810 |
utl::SearchParam* pSearchParam; // falls RegExp, nicht gespeichert |
811 |
~ScQueryEntry(); |
811 |
utl::TextSearch* pSearchText; // falls RegExp, nicht gespeichert |
812 |
|
812 |
|
813 |
// legt ggbf. pSearchParam und pSearchText an, immer RegExp! |
813 |
ScQueryEntry(); |
814 |
utl::TextSearch* GetSearchTextPtr( sal_Bool bCaseSens ); |
814 |
ScQueryEntry(const ScQueryEntry& r); |
815 |
|
815 |
~ScQueryEntry(); |
816 |
void Clear(); |
816 |
|
817 |
ScQueryEntry& operator=( const ScQueryEntry& r ); |
817 |
// legt ggbf. pSearchParam und pSearchText an, immer RegExp! |
818 |
sal_Bool operator==( const ScQueryEntry& r ) const; |
818 |
utl::TextSearch* GetSearchTextPtr( sal_Bool bCaseSens ); |
819 |
}; |
819 |
|
820 |
|
820 |
void Clear(); |
821 |
// ----------------------------------------------------------------------- |
821 |
ScQueryEntry& operator=( const ScQueryEntry& r ); |
822 |
|
822 |
sal_Bool operator==( const ScQueryEntry& r ) const; |
823 |
struct SC_DLLPUBLIC ScSubTotalParam |
823 |
}; |
824 |
{ |
824 |
|
825 |
SCCOL nCol1; // Selektierter Bereich |
825 |
// ----------------------------------------------------------------------- |
826 |
SCROW nRow1; |
826 |
|
827 |
SCCOL nCol2; |
827 |
struct SC_DLLPUBLIC ScSubTotalParam |
828 |
SCROW nRow2; |
828 |
{ |
829 |
sal_Bool bRemoveOnly; |
829 |
SCCOL nCol1; // Selektierter Bereich |
830 |
sal_Bool bReplace; // vorhandene Ergebnisse ersetzen |
830 |
SCROW nRow1; |
831 |
sal_Bool bPagebreak; // Seitenumbruch bei Gruppenwechsel |
831 |
SCCOL nCol2; |
832 |
sal_Bool bCaseSens; // Gross-/Kleinschreibung |
832 |
SCROW nRow2; |
833 |
sal_Bool bDoSort; // vorher sortieren |
833 |
sal_Bool bRemoveOnly; |
834 |
sal_Bool bAscending; // aufsteigend sortieren |
834 |
sal_Bool bReplace; // vorhandene Ergebnisse ersetzen |
835 |
sal_Bool bUserDef; // Benutzer-def. Sort.Reihenfolge |
835 |
sal_Bool bPagebreak; // Seitenumbruch bei Gruppenwechsel |
836 |
sal_uInt16 nUserIndex; // Index auf Liste |
836 |
sal_Bool bCaseSens; // Gross-/Kleinschreibung |
837 |
sal_Bool bIncludePattern; // Formate mit sortieren |
837 |
sal_Bool bDoSort; // vorher sortieren |
838 |
sal_Bool bGroupActive[MAXSUBTOTAL]; // aktive Gruppen |
838 |
sal_Bool bAscending; // aufsteigend sortieren |
839 |
SCCOL nField[MAXSUBTOTAL]; // zugehoeriges Feld |
839 |
sal_Bool bUserDef; // Benutzer-def. Sort.Reihenfolge |
840 |
SCCOL nSubTotals[MAXSUBTOTAL]; // Anzahl der SubTotals |
840 |
sal_uInt16 nUserIndex; // Index auf Liste |
841 |
SCCOL* pSubTotals[MAXSUBTOTAL]; // Array der zu berechnenden Spalten |
841 |
sal_Bool bIncludePattern; // Formate mit sortieren |
842 |
ScSubTotalFunc* pFunctions[MAXSUBTOTAL]; // Array der zugehoerige Funktionen |
842 |
sal_Bool bGroupActive[MAXSUBTOTAL]; // aktive Gruppen |
843 |
|
843 |
SCCOL nField[MAXSUBTOTAL]; // zugehoeriges Feld |
844 |
ScSubTotalParam(); |
844 |
SCCOL nSubTotals[MAXSUBTOTAL]; // Anzahl der SubTotals |
845 |
ScSubTotalParam( const ScSubTotalParam& r ); |
845 |
SCCOL* pSubTotals[MAXSUBTOTAL]; // Array der zu berechnenden Spalten |
846 |
|
846 |
ScSubTotalFunc* pFunctions[MAXSUBTOTAL]; // Array der zugehoerige Funktionen |
847 |
ScSubTotalParam& operator= ( const ScSubTotalParam& r ); |
847 |
|
848 |
sal_Bool operator== ( const ScSubTotalParam& r ) const; |
848 |
ScSubTotalParam(); |
849 |
void Clear (); |
849 |
ScSubTotalParam( const ScSubTotalParam& r ); |
850 |
void SetSubTotals ( sal_uInt16 nGroup, |
850 |
|
851 |
const SCCOL* ptrSubTotals, |
851 |
ScSubTotalParam& operator= ( const ScSubTotalParam& r ); |
852 |
const ScSubTotalFunc* ptrFuncions, |
852 |
sal_Bool operator== ( const ScSubTotalParam& r ) const; |
853 |
sal_uInt16 nCount ); |
853 |
void Clear (); |
854 |
}; |
854 |
void SetSubTotals ( sal_uInt16 nGroup, |
855 |
|
855 |
const SCCOL* ptrSubTotals, |
856 |
// ----------------------------------------------------------------------- |
856 |
const ScSubTotalFunc* ptrFuncions, |
857 |
class ScArea; |
857 |
sal_uInt16 nCount ); |
858 |
|
858 |
}; |
859 |
struct ScConsolidateParam |
859 |
|
860 |
{ |
860 |
// ----------------------------------------------------------------------- |
861 |
SCCOL nCol; // Cursor Position / |
861 |
class ScArea; |
862 |
SCROW nRow; // bzw. Anfang des Zielbereiches |
862 |
|
863 |
SCTAB nTab; |
863 |
struct ScConsolidateParam |
864 |
ScSubTotalFunc eFunction; // Berechnungsvorschrift |
864 |
{ |
865 |
sal_uInt16 nDataAreaCount; // Anzahl der Datenbereiche |
865 |
SCCOL nCol; // Cursor Position / |
866 |
ScArea** ppDataAreas; // Zeiger-Array auf Datenbereiche |
866 |
SCROW nRow; // bzw. Anfang des Zielbereiches |
867 |
sal_Bool bByCol; // nach Spalten |
867 |
SCTAB nTab; |
868 |
sal_Bool bByRow; // nach Zeilen |
868 |
ScSubTotalFunc eFunction; // Berechnungsvorschrift |
869 |
sal_Bool bReferenceData; // Quelldaten referenzieren |
869 |
sal_uInt16 nDataAreaCount; // Anzahl der Datenbereiche |
870 |
|
870 |
ScArea** ppDataAreas; // Zeiger-Array auf Datenbereiche |
871 |
ScConsolidateParam(); |
871 |
sal_Bool bByCol; // nach Spalten |
872 |
ScConsolidateParam( const ScConsolidateParam& r ); |
872 |
sal_Bool bByRow; // nach Zeilen |
873 |
~ScConsolidateParam(); |
873 |
sal_Bool bReferenceData; // Quelldaten referenzieren |
874 |
|
874 |
|
875 |
ScConsolidateParam& operator= ( const ScConsolidateParam& r ); |
875 |
ScConsolidateParam(); |
876 |
sal_Bool operator== ( const ScConsolidateParam& r ) const; |
876 |
ScConsolidateParam( const ScConsolidateParam& r ); |
877 |
void Clear (); // = ClearDataAreas()+Members |
877 |
~ScConsolidateParam(); |
878 |
void ClearDataAreas (); |
878 |
|
879 |
void SetAreas ( ScArea* const* ppAreas, sal_uInt16 nCount ); |
879 |
ScConsolidateParam& operator= ( const ScConsolidateParam& r ); |
880 |
}; |
880 |
sal_Bool operator== ( const ScConsolidateParam& r ) const; |
881 |
|
881 |
void Clear (); // = ClearDataAreas()+Members |
882 |
// ----------------------------------------------------------------------- |
882 |
void ClearDataAreas (); |
883 |
extern ::utl::TransliterationWrapper* GetScGlobalpTransliteration();//CHINA001 |
883 |
void SetAreas ( ScArea* const* ppAreas, sal_uInt16 nCount ); |
884 |
extern const LocaleDataWrapper* GetScGlobalpLocaleData(); |
884 |
}; |
885 |
|
885 |
|
886 |
#endif |
886 |
// ----------------------------------------------------------------------- |
|
|
887 |
extern ::utl::TransliterationWrapper* GetScGlobalpTransliteration();//CHINA001 |
888 |
extern const LocaleDataWrapper* GetScGlobalpLocaleData(); |
889 |
|
890 |
#endif |