Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #include <acmplwrd.hxx>
30 : : #include <boost/scoped_ptr.hpp>
31 : : #include <breakit.hxx>
32 : : #include <cellatr.hxx>
33 : : #include <checkit.hxx>
34 : : #include <cmdid.h>
35 : : #include <comphelper/processfactory.hxx>
36 : : #include <com/sun/star/i18n/CollatorOptions.hpp>
37 : : #include <com/sun/star/lang/XMultiServiceFactory.hpp>
38 : : #include <doc.hxx>
39 : : #include <editeng/acorrcfg.hxx>
40 : : #include <editeng/akrnitem.hxx>
41 : : #include <editeng/blnkitem.hxx>
42 : : #include <editeng/brkitem.hxx>
43 : : #include <editeng/charhiddenitem.hxx>
44 : : #include <editeng/charreliefitem.hxx>
45 : : #include <editeng/charrotateitem.hxx>
46 : : #include <editeng/charscaleitem.hxx>
47 : : #include <editeng/cmapitem.hxx>
48 : : #include <editeng/cscoitem.hxx>
49 : : #include <editeng/emphitem.hxx>
50 : : #include <editeng/escpitem.hxx>
51 : : #include <editeng/forbiddenruleitem.hxx>
52 : : #include <editeng/frmdiritem.hxx>
53 : : #include <editeng/hngpnctitem.hxx>
54 : : #include <editeng/hyznitem.hxx>
55 : : #include <editeng/keepitem.hxx>
56 : : #include <editeng/kernitem.hxx>
57 : : #include <editeng/langitem.hxx>
58 : : #include <editeng/lrspitem.hxx>
59 : : #include <editeng/lspcitem.hxx>
60 : : #include <editeng/nhypitem.hxx>
61 : : #include <editeng/nlbkitem.hxx>
62 : : #include <editeng/opaqitem.hxx>
63 : : #include <editeng/orphitem.hxx>
64 : : #include <editeng/paravertalignitem.hxx>
65 : : #include <editeng/pbinitem.hxx>
66 : : #include <editeng/pgrditem.hxx>
67 : : #include <editeng/prntitem.hxx>
68 : : #include <editeng/protitem.hxx>
69 : : #include <editeng/prszitem.hxx>
70 : : #include <editeng/rsiditem.hxx>
71 : : #include <editeng/scriptspaceitem.hxx>
72 : : #include <editeng/shaditem.hxx>
73 : : #include <editeng/spltitem.hxx>
74 : : #include <editeng/svxacorr.hxx>
75 : : #include <editeng/swafopt.hxx>
76 : : #include <editeng/tstpitem.hxx>
77 : : #include <editeng/twolinesitem.hxx>
78 : : #include <editeng/ulspitem.hxx>
79 : : #include <editeng/unolingu.hxx>
80 : : #include <editeng/widwitem.hxx>
81 : : #include <editeng/wrlmitem.hxx>
82 : : #include <editeng/xmlcnitm.hxx>
83 : : #include <editsh.hxx>
84 : : #include <fchrfmt.hxx>
85 : : #include <fmtanchr.hxx>
86 : : #include <fmtautofmt.hxx>
87 : : #include <fmtclbl.hxx>
88 : : #include <fmtclds.hxx>
89 : : #include <fmtcnct.hxx>
90 : : #include <fmtcntnt.hxx>
91 : : #include <fmteiro.hxx>
92 : : #include <fmtflcnt.hxx>
93 : : #include <fmtfld.hxx>
94 : : #include <fmtfollowtextflow.hxx>
95 : : #include <fmtfordr.hxx>
96 : : #include <fmtfsize.hxx>
97 : : #include <fmtftn.hxx>
98 : : #include <fmtftntx.hxx>
99 : : #include <fmthdft.hxx>
100 : : #include <fmtinfmt.hxx>
101 : : #include <fmtline.hxx>
102 : : #include <fmtlsplt.hxx>
103 : : #include <fmtmeta.hxx>
104 : : #include <fmtornt.hxx>
105 : : #include <fmtpdsc.hxx>
106 : : #include <fmtrfmrk.hxx>
107 : : #include <fmtrowsplt.hxx>
108 : : #include <fmtruby.hxx>
109 : : #include <fmtsrnd.hxx>
110 : : #include <fmturl.hxx>
111 : : #include <fmtwrapinfluenceonobjpos.hxx>
112 : : #include <fntcache.hxx>
113 : : #include <grfatr.hxx>
114 : : #include <hfspacingitem.hxx>
115 : : #include <hintids.hxx>
116 : : #include <init.hxx>
117 : : #include <pam.hxx>
118 : : #include <paratr.hxx>
119 : : #include <rtl/instance.hxx>
120 : : #include <svl/macitem.hxx>
121 : : #include <svx/dialogs.hrc>
122 : : #include <swcalwrp.hxx>
123 : : #include <SwStyleNameMapper.hxx>
124 : : #include <tblafmt.hxx>
125 : : #include <tgrditem.hxx>
126 : : #include <tools/globname.hxx>
127 : : #include <tox.hxx>
128 : : #include <unotools/charclass.hxx>
129 : : #include <unotools/collatorwrapper.hxx>
130 : : #include <unotools/syslocale.hxx>
131 : : #include <unotools/transliterationwrapper.hxx>
132 : : #include <vcl/mapmod.hxx>
133 : : #include <vcl/svapp.hxx>
134 : : #include <viscrs.hxx>
135 : :
136 : : using namespace ::com::sun::star;
137 : :
138 : : extern void _FrmFinit();
139 : : extern void ClearFEShellTabCols();
140 : :
141 : : // some ranges for sets in collections/ nodes
142 : :
143 : : // AttrSet range for the 2 break attributes
144 : : sal_uInt16 aBreakSetRange[] = {
145 : : RES_PAGEDESC, RES_BREAK,
146 : : 0
147 : : };
148 : :
149 : : // AttrSet range for TxtFmtColl
150 : : // list attributes ( RES_PARATR_LIST_BEGIN - RES_PARATR_LIST_END ) are not
151 : : // included in the paragraph style's itemset.
152 : : sal_uInt16 aTxtFmtCollSetRange[] = {
153 : : RES_FRMATR_BEGIN, RES_FRMATR_END-1,
154 : : RES_CHRATR_BEGIN, RES_CHRATR_END-1,
155 : : RES_PARATR_BEGIN, RES_PARATR_END-1,
156 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
157 : : 0
158 : : };
159 : :
160 : : // AttrSet range for GrfFmtColl
161 : : sal_uInt16 aGrfFmtCollSetRange[] = {
162 : : RES_FRMATR_BEGIN, RES_FRMATR_END-1,
163 : : RES_GRFATR_BEGIN, RES_GRFATR_END-1,
164 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
165 : : 0
166 : : };
167 : :
168 : : // AttrSet range for TextNode
169 : : sal_uInt16 aTxtNodeSetRange[] = {
170 : : RES_FRMATR_BEGIN, RES_FRMATR_END-1,
171 : : RES_CHRATR_BEGIN, RES_CHRATR_END-1,
172 : : RES_PARATR_BEGIN, RES_PARATR_END-1,
173 : : RES_PARATR_LIST_BEGIN, RES_PARATR_LIST_END-1,
174 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
175 : : 0
176 : : };
177 : :
178 : : // AttrSet range for NoTxtNode
179 : : sal_uInt16 aNoTxtNodeSetRange[] = {
180 : : RES_FRMATR_BEGIN, RES_FRMATR_END-1,
181 : : RES_GRFATR_BEGIN, RES_GRFATR_END-1,
182 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
183 : : 0
184 : : };
185 : :
186 : : sal_uInt16 aTableSetRange[] = {
187 : : RES_FILL_ORDER, RES_FRM_SIZE,
188 : : RES_LR_SPACE, RES_BREAK,
189 : : RES_BACKGROUND, RES_SHADOW,
190 : : RES_HORI_ORIENT, RES_HORI_ORIENT,
191 : : RES_KEEP, RES_KEEP,
192 : : RES_LAYOUT_SPLIT, RES_LAYOUT_SPLIT,
193 : : RES_FRAMEDIR, RES_FRAMEDIR,
194 : : // #i29550#
195 : : RES_COLLAPSING_BORDERS, RES_COLLAPSING_BORDERS,
196 : : // <-- collapsing
197 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
198 : : 0
199 : : };
200 : :
201 : : sal_uInt16 aTableLineSetRange[] = {
202 : : RES_FILL_ORDER, RES_FRM_SIZE,
203 : : RES_LR_SPACE, RES_UL_SPACE,
204 : : RES_BACKGROUND, RES_SHADOW,
205 : : RES_ROW_SPLIT, RES_ROW_SPLIT,
206 : : RES_PROTECT, RES_PROTECT,
207 : : RES_VERT_ORIENT, RES_VERT_ORIENT,
208 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
209 : : 0
210 : : };
211 : :
212 : : sal_uInt16 aTableBoxSetRange[] = {
213 : : RES_FILL_ORDER, RES_FRM_SIZE,
214 : : RES_LR_SPACE, RES_UL_SPACE,
215 : : RES_BACKGROUND, RES_SHADOW,
216 : : RES_PROTECT, RES_PROTECT,
217 : : RES_VERT_ORIENT, RES_VERT_ORIENT,
218 : : RES_FRAMEDIR, RES_FRAMEDIR,
219 : : RES_BOXATR_BEGIN, RES_BOXATR_END-1,
220 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
221 : : 0
222 : : };
223 : :
224 : : // AttrSet range for SwFrmFmt
225 : : sal_uInt16 aFrmFmtSetRange[] = {
226 : : RES_FRMATR_BEGIN, RES_FRMATR_END-1,
227 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
228 : : 0
229 : : };
230 : :
231 : : // AttrSet range for SwCharFmt
232 : : sal_uInt16 aCharFmtSetRange[] = {
233 : : RES_CHRATR_BEGIN, RES_CHRATR_END-1,
234 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
235 : : 0
236 : : };
237 : :
238 : : // AttrSet range for character autostyles
239 : : sal_uInt16 aCharAutoFmtSetRange[] = {
240 : : RES_CHRATR_BEGIN, RES_CHRATR_END-1,
241 : : RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
242 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
243 : : 0
244 : : };
245 : :
246 : : // AttrSet range for SwPageDescFmt
247 : : sal_uInt16 aPgFrmFmtSetRange[] = {
248 : : RES_FRMATR_BEGIN, RES_FRMATR_END-1,
249 : : RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1,
250 : : 0
251 : : };
252 : :
253 : : // create table for accessing default format attributes
254 : : SwDfltAttrTab aAttrTab;
255 : :
256 : : SfxItemInfo aSlotTab[] =
257 : : {
258 : : { SID_ATTR_CHAR_CASEMAP, SFX_ITEM_POOLABLE }, // RES_CHRATR_CASEMAP
259 : : { SID_ATTR_CHAR_CHARSETCOLOR, SFX_ITEM_POOLABLE }, // RES_CHRATR_CHARSETCOLOR
260 : : { SID_ATTR_CHAR_COLOR, SFX_ITEM_POOLABLE }, // RES_CHRATR_COLOR
261 : : { SID_ATTR_CHAR_CONTOUR, SFX_ITEM_POOLABLE }, // RES_CHRATR_CONTOUR
262 : : { SID_ATTR_CHAR_STRIKEOUT, SFX_ITEM_POOLABLE }, // RES_CHRATR_CROSSEDOUT
263 : : { SID_ATTR_CHAR_ESCAPEMENT, SFX_ITEM_POOLABLE }, // RES_CHRATR_ESCAPEMENT
264 : : { SID_ATTR_CHAR_FONT, SFX_ITEM_POOLABLE }, // RES_CHRATR_FONT
265 : : { SID_ATTR_CHAR_FONTHEIGHT, SFX_ITEM_POOLABLE }, // RES_CHRATR_FONTSIZE
266 : : { SID_ATTR_CHAR_KERNING, SFX_ITEM_POOLABLE }, // RES_CHRATR_KERNING
267 : : { SID_ATTR_CHAR_LANGUAGE, SFX_ITEM_POOLABLE }, // RES_CHRATR_LANGUAGE
268 : : { SID_ATTR_CHAR_POSTURE, SFX_ITEM_POOLABLE }, // RES_CHRATR_POSTURE
269 : : { SID_ATTR_CHAR_PROPSIZE, SFX_ITEM_POOLABLE }, // RES_CHRATR_PROPORTIONALFONTSIZE
270 : : { SID_ATTR_CHAR_SHADOWED, SFX_ITEM_POOLABLE }, // RES_CHRATR_SHADOWED
271 : : { SID_ATTR_CHAR_UNDERLINE, SFX_ITEM_POOLABLE }, // RES_CHRATR_UNDERLINE
272 : : { SID_ATTR_CHAR_WEIGHT, SFX_ITEM_POOLABLE }, // RES_CHRATR_WEIGHT
273 : : { SID_ATTR_CHAR_WORDLINEMODE, SFX_ITEM_POOLABLE }, // RES_CHRATR_WORDLINEMODE
274 : : { SID_ATTR_CHAR_AUTOKERN, SFX_ITEM_POOLABLE }, // RES_CHRATR_AUTOKERN
275 : : { SID_ATTR_FLASH, SFX_ITEM_POOLABLE }, // RES_CHRATR_BLINK
276 : : { 0, SFX_ITEM_POOLABLE }, // RES_CHRATR_NOLINEBREAK
277 : : { 0, SFX_ITEM_POOLABLE }, // RES_CHRATR_NOHYPHEN
278 : : { SID_ATTR_BRUSH_CHAR, SFX_ITEM_POOLABLE }, // RES_CHRATR_BACKGROUND
279 : : { SID_ATTR_CHAR_CJK_FONT, SFX_ITEM_POOLABLE }, // RES_CHRATR_CJK_FONT
280 : : { SID_ATTR_CHAR_CJK_FONTHEIGHT, SFX_ITEM_POOLABLE },// RES_CHRATR_CJK_FONTSIZE
281 : : { SID_ATTR_CHAR_CJK_LANGUAGE, SFX_ITEM_POOLABLE }, // RES_CHRATR_CJK_LANGUAGE
282 : : { SID_ATTR_CHAR_CJK_POSTURE, SFX_ITEM_POOLABLE }, // RES_CHRATR_CJK_POSTURE
283 : : { SID_ATTR_CHAR_CJK_WEIGHT, SFX_ITEM_POOLABLE }, // RES_CHRATR_CJK_WEIGHT
284 : : { SID_ATTR_CHAR_CTL_FONT, SFX_ITEM_POOLABLE }, // RES_CHRATR_CTL_FONT
285 : : { SID_ATTR_CHAR_CTL_FONTHEIGHT, SFX_ITEM_POOLABLE },// RES_CHRATR_CTL_FONTSIZE
286 : : { SID_ATTR_CHAR_CTL_LANGUAGE, SFX_ITEM_POOLABLE }, // RES_CHRATR_CTL_LANGUAGE
287 : : { SID_ATTR_CHAR_CTL_POSTURE, SFX_ITEM_POOLABLE }, // RES_CHRATR_CTL_POSTURE
288 : : { SID_ATTR_CHAR_CTL_WEIGHT, SFX_ITEM_POOLABLE }, // RES_CHRATR_CTL_WEIGHT
289 : : { SID_ATTR_CHAR_ROTATED, SFX_ITEM_POOLABLE }, // RES_CHRATR_ROTATE
290 : : { SID_ATTR_CHAR_EMPHASISMARK, SFX_ITEM_POOLABLE }, // RES_CHRATR_EMPHASIS_MARK
291 : : { SID_ATTR_CHAR_TWO_LINES, SFX_ITEM_POOLABLE }, // RES_CHRATR_TWO_LINES
292 : : { SID_ATTR_CHAR_SCALEWIDTH, SFX_ITEM_POOLABLE }, // RES_CHRATR_SCALEW
293 : : { SID_ATTR_CHAR_RELIEF, SFX_ITEM_POOLABLE }, // RES_CHRATR_RELIEF
294 : : { SID_ATTR_CHAR_HIDDEN, SFX_ITEM_POOLABLE }, // RES_CHRATR_HIDDEN
295 : : { SID_ATTR_CHAR_OVERLINE, SFX_ITEM_POOLABLE }, // RES_CHRATR_OVERLINE
296 : : { 0, SFX_ITEM_POOLABLE }, // RES_CHRATR_RSID
297 : : { 0, SFX_ITEM_POOLABLE }, // RES_CHRATR_DUMMY1
298 : :
299 : : { 0, 0 }, // RES_TXTATR_REFMARK
300 : : { 0, 0 }, // RES_TXTATR_TOXMARK
301 : : { 0, 0 }, // RES_TXTATR_META
302 : : { 0, 0 }, // RES_TXTATR_METAFIELD
303 : : { 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_AUTOFMT
304 : : { FN_TXTATR_INET, 0 }, // RES_TXTATR_INETFMT
305 : : { 0, 0 }, // RES_TXTATR_CHARFMT
306 : : { SID_ATTR_CHAR_CJK_RUBY, 0 }, // RES_TXTATR_CJK_RUBY
307 : : { 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_UNKNOWN_CONTAINER
308 : : { 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_DUMMY5
309 : :
310 : : { 0, 0 }, // RES_TXTATR_FIELD
311 : : { 0, 0 }, // RES_TXTATR_FLYCNT
312 : : { 0, 0 }, // RES_TXTATR_FTN
313 : : { 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_DUMMY4
314 : : { 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_DUMMY3
315 : : { 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_DUMMY1
316 : : { 0, SFX_ITEM_POOLABLE }, // RES_TXTATR_DUMMY2
317 : :
318 : : { SID_ATTR_PARA_LINESPACE, SFX_ITEM_POOLABLE }, // RES_PARATR_LINESPACING
319 : : { SID_ATTR_PARA_ADJUST, SFX_ITEM_POOLABLE }, // RES_PARATR_ADJUST
320 : : { SID_ATTR_PARA_SPLIT, SFX_ITEM_POOLABLE }, // RES_PARATR_SPLIT
321 : : { SID_ATTR_PARA_ORPHANS, SFX_ITEM_POOLABLE }, // RES_PARATR_ORPHANS
322 : : { SID_ATTR_PARA_WIDOWS, SFX_ITEM_POOLABLE }, // RES_PARATR_WIDOWS
323 : : { SID_ATTR_TABSTOP, SFX_ITEM_POOLABLE }, // RES_PARATR_TABSTOP
324 : : { SID_ATTR_PARA_HYPHENZONE, SFX_ITEM_POOLABLE }, // RES_PARATR_HYPHENZONE
325 : : { FN_FORMAT_DROPCAPS, 0 }, // RES_PARATR_DROP
326 : : { SID_ATTR_PARA_REGISTER, SFX_ITEM_POOLABLE }, // RES_PARATR_REGISTER
327 : : { SID_ATTR_PARA_NUMRULE, SFX_ITEM_POOLABLE }, // RES_PARATR_NUMRULE
328 : : { SID_ATTR_PARA_SCRIPTSPACE, SFX_ITEM_POOLABLE }, // RES_PARATR_SCRIPTSPACE
329 : : { SID_ATTR_PARA_HANGPUNCTUATION, SFX_ITEM_POOLABLE },// RES_PARATR_HANGINGPUNCTUATION
330 : :
331 : : { SID_ATTR_PARA_FORBIDDEN_RULES, SFX_ITEM_POOLABLE },// RES_PARATR_FORBIDDEN_RULES
332 : : { SID_PARA_VERTALIGN, SFX_ITEM_POOLABLE }, // RES_PARATR_VERTALIGN
333 : : { SID_ATTR_PARA_SNAPTOGRID, SFX_ITEM_POOLABLE }, // RES_PARATR_SNAPTOGRID
334 : : { SID_ATTR_BORDER_CONNECT, SFX_ITEM_POOLABLE }, // RES_PARATR_CONNECT_BORDER
335 : :
336 : : { SID_ATTR_PARA_OUTLINE_LEVEL, SFX_ITEM_POOLABLE }, // RES_PARATR_OUTLINELEVEL //#outline level
337 : : { 0, SFX_ITEM_POOLABLE }, // RES_PARATR_RSID
338 : : { 0, SFX_ITEM_POOLABLE }, // RES_PARATR_LIST_ID
339 : : { 0, SFX_ITEM_POOLABLE }, // RES_PARATR_LIST_LEVEL
340 : : { 0, SFX_ITEM_POOLABLE }, // RES_PARATR_LIST_ISRESTART
341 : : { 0, SFX_ITEM_POOLABLE }, // RES_PARATR_LIST_RESTARTVALUE
342 : : { 0, SFX_ITEM_POOLABLE }, // RES_PARATR_LIST_ISCOUNTED
343 : :
344 : : { 0, SFX_ITEM_POOLABLE }, // RES_FILL_ORDER
345 : : { 0, SFX_ITEM_POOLABLE }, // RES_FRM_SIZE
346 : : { SID_ATTR_PAGE_PAPERBIN, SFX_ITEM_POOLABLE }, // RES_PAPER_BIN
347 : : { SID_ATTR_LRSPACE, SFX_ITEM_POOLABLE }, // RES_LR_SPACE
348 : : { SID_ATTR_ULSPACE, SFX_ITEM_POOLABLE }, // RES_UL_SPACE
349 : : { 0, 0 }, // RES_PAGEDESC
350 : : { SID_ATTR_PARA_PAGEBREAK, SFX_ITEM_POOLABLE }, // RES_BREAK
351 : : { 0, 0 }, // RES_CNTNT
352 : : { 0, SFX_ITEM_POOLABLE }, // RES_HEADER
353 : : { 0, SFX_ITEM_POOLABLE }, // RES_FOOTER
354 : : { 0, SFX_ITEM_POOLABLE }, // RES_PRINT
355 : : { FN_OPAQUE, SFX_ITEM_POOLABLE }, // RES_OPAQUE
356 : : { FN_SET_PROTECT, SFX_ITEM_POOLABLE }, // RES_PROTECT
357 : : { FN_SURROUND, SFX_ITEM_POOLABLE }, // RES_SURROUND
358 : : { FN_VERT_ORIENT, SFX_ITEM_POOLABLE }, // RES_VERT_ORIENT
359 : : { FN_HORI_ORIENT, SFX_ITEM_POOLABLE }, // RES_HORI_ORIENT
360 : : { 0, 0 }, // RES_ANCHOR
361 : : { SID_ATTR_BRUSH, SFX_ITEM_POOLABLE }, // RES_BACKGROUND
362 : : { SID_ATTR_BORDER_OUTER, SFX_ITEM_POOLABLE }, // RES_BOX
363 : : { SID_ATTR_BORDER_SHADOW, SFX_ITEM_POOLABLE }, // RES_SHADOW
364 : : { SID_ATTR_MACROITEM, SFX_ITEM_POOLABLE }, // RES_FRMMACRO
365 : : { FN_ATTR_COLUMNS, SFX_ITEM_POOLABLE }, // RES_COL
366 : : { SID_ATTR_PARA_KEEP, SFX_ITEM_POOLABLE }, // RES_KEEP
367 : : { 0, SFX_ITEM_POOLABLE }, // RES_URL
368 : : { 0, SFX_ITEM_POOLABLE }, // RES_EDIT_IN_READONLY
369 : :
370 : : { 0, SFX_ITEM_POOLABLE }, // RES_LAYOUT_SPLIT
371 : : { 0, 0 }, // RES_CHAIN
372 : : { 0, SFX_ITEM_POOLABLE }, // RES_TEXTGRID
373 : : { FN_FORMAT_LINENUMBER, SFX_ITEM_POOLABLE }, // RES_LINENUMBER
374 : : { 0, SFX_ITEM_POOLABLE }, // RES_FTN_AT_TXTEND
375 : : { 0, SFX_ITEM_POOLABLE }, // RES_END_AT_TXTEND
376 : : { 0, SFX_ITEM_POOLABLE }, // RES_COLUMNBALANCE
377 : :
378 : : { SID_ATTR_FRAMEDIRECTION, SFX_ITEM_POOLABLE }, // RES_FRAMEDIR
379 : :
380 : : { SID_ATTR_HDFT_DYNAMIC_SPACING, SFX_ITEM_POOLABLE },// RES_HEADER_FOOTER_EAT_SPACING
381 : : { FN_TABLE_ROW_SPLIT, SFX_ITEM_POOLABLE }, // RES_ROW_SPLIT
382 : : // #i18732# - use slot-id define in svx
383 : : { SID_SW_FOLLOW_TEXT_FLOW, SFX_ITEM_POOLABLE }, // RES_FOLLOW_TEXT_FLOW
384 : : // #i29550#
385 : : { SID_SW_COLLAPSING_BORDERS, SFX_ITEM_POOLABLE }, // RES_COLLAPSING_BORDERS
386 : : // #i28701#
387 : : { SID_SW_WRAP_INFLUENCE_ON_OBJPOS, SFX_ITEM_POOLABLE },// RES_WRAP_INFLUENCE_ON_OBJPOS
388 : : { 0, 0 }, // RES_AUTO_STYLE
389 : : { 0, SFX_ITEM_POOLABLE }, // RES_FRMATR_STYLE_NAME
390 : : { 0, SFX_ITEM_POOLABLE }, // RES_FRMATR_CONDITIONAL_STYLE_NAME
391 : :
392 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_MIRRORGRF
393 : : { SID_ATTR_GRAF_CROP, SFX_ITEM_POOLABLE }, // RES_GRFATR_CROPGRF
394 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_ROTATION,
395 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_LUMINANCE,
396 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_CONTRAST,
397 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_CHANNELR,
398 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_CHANNELG,
399 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_CHANNELB,
400 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_GAMMA,
401 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_INVERT,
402 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_TRANSPARENCY,
403 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_DUMMY1,
404 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_DUMMY2,
405 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_DUMMY3,
406 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_DUMMY4,
407 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_DUMMY5,
408 : : { 0, SFX_ITEM_POOLABLE }, // RES_GRFATR_DUMMY6,
409 : :
410 : : { 0, SFX_ITEM_POOLABLE }, // RES_BOXATR_FORMAT
411 : : { 0, 0 }, // RES_BOXATR_FORMULA,
412 : : { 0, SFX_ITEM_POOLABLE }, // RES_BOXATR_VALUE
413 : :
414 : : { 0, SFX_ITEM_POOLABLE } // RES_UNKNOWNATR_CONTAINER
415 : : };
416 : :
417 : :
418 : : sal_uInt16* SwAttrPool::pVersionMap1 = 0;
419 : : sal_uInt16* SwAttrPool::pVersionMap2 = 0;
420 : : sal_uInt16* SwAttrPool::pVersionMap3 = 0;
421 : : sal_uInt16* SwAttrPool::pVersionMap4 = 0;
422 : : // #i18732#
423 : : sal_uInt16* SwAttrPool::pVersionMap5 = 0;
424 : : sal_uInt16* SwAttrPool::pVersionMap6 = 0;
425 : :
426 : : const sal_Char* pMarkToTable = "table";
427 : : const sal_Char* pMarkToFrame = "frame";
428 : : const sal_Char* pMarkToRegion = "region";
429 : : const sal_Char* pMarkToText = "text";
430 : : const sal_Char* pMarkToOutline = "outline";
431 : : const sal_Char* pMarkToGraphic = "graphic";
432 : : const sal_Char* pMarkToOLE = "ole";
433 : :
434 : : std::vector<SvGlobalName*> *pGlobalOLEExcludeList = 0;
435 : :
436 : : SwAutoCompleteWord* SwDoc::pACmpltWords = 0;
437 : :
438 : : SwCheckIt* pCheckIt = 0;
439 : : CharClass* pAppCharClass = 0;
440 : :
441 : : CollatorWrapper* pCollator = 0,
442 : : *pCaseCollator = 0;
443 : :
444 : 0 : salhelper::SingletonRef<SwCalendarWrapper>* s_getCalendarWrapper()
445 : : {
446 [ # # ][ # # ]: 0 : static salhelper::SingletonRef<SwCalendarWrapper> aCalendarWrapper;
[ # # ][ # # ]
447 : 0 : return &aCalendarWrapper;
448 : : }
449 : :
450 : 73 : void _InitCore()
451 : : {
452 : : SfxPoolItem* pItem;
453 : :
454 : : // first initialize all attribute pointers with 0
455 : 73 : memset( aAttrTab, 0, (POOLATTR_END - POOLATTR_BEGIN) * sizeof( SfxPoolItem* ) );
456 : :
457 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CASEMAP- POOLATTR_BEGIN ] = new SvxCaseMapItem( SVX_CASEMAP_NOT_MAPPED, RES_CHRATR_CASEMAP);
458 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CHARSETCOLOR- POOLATTR_BEGIN ] = new SvxCharSetColorItem(RES_CHRATR_CHARSETCOLOR);
459 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_COLOR- POOLATTR_BEGIN ] = new SvxColorItem(RES_CHRATR_COLOR);
460 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CONTOUR- POOLATTR_BEGIN ] = new SvxContourItem( sal_False, RES_CHRATR_CONTOUR );
461 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CROSSEDOUT- POOLATTR_BEGIN ] = new SvxCrossedOutItem( STRIKEOUT_NONE, RES_CHRATR_CROSSEDOUT );
462 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_ESCAPEMENT- POOLATTR_BEGIN ] = new SvxEscapementItem( RES_CHRATR_ESCAPEMENT );
463 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_FONT- POOLATTR_BEGIN ] = new SvxFontItem( RES_CHRATR_FONT );
464 : :
465 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_FONTSIZE- POOLATTR_BEGIN ] = new SvxFontHeightItem( 240, 100, RES_CHRATR_FONTSIZE );
466 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_KERNING- POOLATTR_BEGIN ] = new SvxKerningItem( 0, RES_CHRATR_KERNING );
467 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_LANGUAGE- POOLATTR_BEGIN ] = new SvxLanguageItem(LANGUAGE_DONTKNOW, RES_CHRATR_LANGUAGE );
468 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_POSTURE- POOLATTR_BEGIN ] = new SvxPostureItem( ITALIC_NONE, RES_CHRATR_POSTURE );
469 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_PROPORTIONALFONTSIZE- POOLATTR_BEGIN ] = new SvxPropSizeItem( 100, RES_CHRATR_PROPORTIONALFONTSIZE );
470 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_SHADOWED- POOLATTR_BEGIN ] = new SvxShadowedItem( sal_False, RES_CHRATR_SHADOWED );
471 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_UNDERLINE- POOLATTR_BEGIN ] = new SvxUnderlineItem( UNDERLINE_NONE, RES_CHRATR_UNDERLINE );
472 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_WEIGHT- POOLATTR_BEGIN ] = new SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_WEIGHT );
473 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_RSID - POOLATTR_BEGIN ] = new SvxRsidItem( 0, RES_CHRATR_RSID );
474 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_WORDLINEMODE- POOLATTR_BEGIN ] = new SvxWordLineModeItem( sal_False, RES_CHRATR_WORDLINEMODE );
475 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_AUTOKERN- POOLATTR_BEGIN ] = new SvxAutoKernItem( sal_False, RES_CHRATR_AUTOKERN );
476 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_BLINK - POOLATTR_BEGIN ] = new SvxBlinkItem( sal_False, RES_CHRATR_BLINK );
477 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_NOHYPHEN - POOLATTR_BEGIN ] = new SvxNoHyphenItem( sal_True, RES_CHRATR_NOHYPHEN );
478 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_NOLINEBREAK- POOLATTR_BEGIN ] = new SvxNoLinebreakItem( sal_True, RES_CHRATR_NOLINEBREAK );
479 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_BACKGROUND - POOLATTR_BEGIN ] = new SvxBrushItem( RES_CHRATR_BACKGROUND );
480 : :
481 : : // CJK-Attributes
482 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CJK_FONT - POOLATTR_BEGIN ] = new SvxFontItem( RES_CHRATR_CJK_FONT );
483 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CJK_FONTSIZE - POOLATTR_BEGIN ] = new SvxFontHeightItem( 240, 100, RES_CHRATR_CJK_FONTSIZE );
484 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CJK_LANGUAGE - POOLATTR_BEGIN ] = new SvxLanguageItem(LANGUAGE_DONTKNOW, RES_CHRATR_CJK_LANGUAGE);
485 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CJK_POSTURE - POOLATTR_BEGIN ] = new SvxPostureItem(ITALIC_NONE, RES_CHRATR_CJK_POSTURE );
486 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CJK_WEIGHT - POOLATTR_BEGIN ] = new SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_CJK_WEIGHT );
487 : :
488 : : // CTL-Attributes
489 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CTL_FONT - POOLATTR_BEGIN ] = new SvxFontItem( RES_CHRATR_CTL_FONT );
490 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CTL_FONTSIZE - POOLATTR_BEGIN ] = new SvxFontHeightItem( 240, 100, RES_CHRATR_CTL_FONTSIZE );
491 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CTL_LANGUAGE - POOLATTR_BEGIN ] = new SvxLanguageItem(LANGUAGE_DONTKNOW, RES_CHRATR_CTL_LANGUAGE);
492 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CTL_POSTURE - POOLATTR_BEGIN ] = new SvxPostureItem(ITALIC_NONE, RES_CHRATR_CTL_POSTURE );
493 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_CTL_WEIGHT - POOLATTR_BEGIN ] = new SvxWeightItem( WEIGHT_NORMAL, RES_CHRATR_CTL_WEIGHT );
494 : :
495 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_ROTATE - POOLATTR_BEGIN ] = new SvxCharRotateItem( 0, sal_False, RES_CHRATR_ROTATE );
496 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_EMPHASIS_MARK - POOLATTR_BEGIN ] = new SvxEmphasisMarkItem( EMPHASISMARK_NONE, RES_CHRATR_EMPHASIS_MARK );
497 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_TWO_LINES - POOLATTR_BEGIN ] = new SvxTwoLinesItem( sal_False, 0, 0, RES_CHRATR_TWO_LINES );
498 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_SCALEW - POOLATTR_BEGIN ] = new SvxCharScaleWidthItem( 100, RES_CHRATR_SCALEW );
499 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_RELIEF - POOLATTR_BEGIN ] = new SvxCharReliefItem( RELIEF_NONE, RES_CHRATR_RELIEF );
500 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_HIDDEN - POOLATTR_BEGIN ] = new SvxCharHiddenItem( sal_False, RES_CHRATR_HIDDEN );
501 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_OVERLINE- POOLATTR_BEGIN ] = new SvxOverlineItem( UNDERLINE_NONE, RES_CHRATR_OVERLINE );
502 : :
503 : : // CharakterAttr - Dummies
504 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHRATR_DUMMY1 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_CHRATR_DUMMY1 );
505 : :
506 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_AUTOFMT- POOLATTR_BEGIN ] = new SwFmtAutoFmt;
507 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_INETFMT - POOLATTR_BEGIN ] = new SwFmtINetFmt( aEmptyStr, aEmptyStr );
508 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_REFMARK - POOLATTR_BEGIN ] = new SwFmtRefMark( aEmptyStr );
509 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_TOXMARK - POOLATTR_BEGIN ] = new SwTOXMark;
510 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_CHARFMT- POOLATTR_BEGIN ] = new SwFmtCharFmt( 0 );
511 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_CJK_RUBY - POOLATTR_BEGIN ] = new SwFmtRuby( aEmptyStr );
512 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_UNKNOWN_CONTAINER - POOLATTR_BEGIN ] = new SvXMLAttrContainerItem( RES_TXTATR_UNKNOWN_CONTAINER );
513 [ + - ]: 73 : aAttrTab[ RES_TXTATR_META - POOLATTR_BEGIN ] = SwFmtMeta::CreatePoolDefault(RES_TXTATR_META);
514 [ + - ]: 73 : aAttrTab[ RES_TXTATR_METAFIELD - POOLATTR_BEGIN ] = SwFmtMeta::CreatePoolDefault(RES_TXTATR_METAFIELD);
515 : :
516 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_FIELD- POOLATTR_BEGIN ] = new SwFmtFld;
517 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_FLYCNT - POOLATTR_BEGIN ] = new SwFmtFlyCnt( 0 );
518 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_FTN - POOLATTR_BEGIN ] = new SwFmtFtn;
519 : :
520 : : // TextAttr - Dummies
521 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_DUMMY1 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY1 );
522 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_DUMMY2 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY2 );
523 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_DUMMY3 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY3 );
524 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_DUMMY4 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY4 );
525 [ + - ][ + - ]: 73 : aAttrTab[ RES_TXTATR_DUMMY5 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_TXTATR_DUMMY5 );
526 : :
527 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_LINESPACING- POOLATTR_BEGIN ] = new SvxLineSpacingItem( LINE_SPACE_DEFAULT_HEIGHT, RES_PARATR_LINESPACING );
528 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_ADJUST- POOLATTR_BEGIN ] = new SvxAdjustItem( SVX_ADJUST_LEFT, RES_PARATR_ADJUST );
529 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_SPLIT- POOLATTR_BEGIN ] = new SvxFmtSplitItem( sal_True, RES_PARATR_SPLIT );
530 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_WIDOWS- POOLATTR_BEGIN ] = new SvxWidowsItem( 0, RES_PARATR_WIDOWS );
531 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_ORPHANS- POOLATTR_BEGIN ] = new SvxOrphansItem( 0, RES_PARATR_ORPHANS );
532 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_TABSTOP- POOLATTR_BEGIN ] = new SvxTabStopItem( 1, SVX_TAB_DEFDIST, SVX_TAB_ADJUST_DEFAULT, RES_PARATR_TABSTOP );
533 : :
534 [ + - ][ + - ]: 73 : pItem = new SvxHyphenZoneItem( sal_False, RES_PARATR_HYPHENZONE );
535 : 73 : ((SvxHyphenZoneItem*)pItem)->GetMaxHyphens() = 0; // Default: 0
536 : 73 : aAttrTab[ RES_PARATR_HYPHENZONE- POOLATTR_BEGIN ] = pItem;
537 : :
538 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_DROP- POOLATTR_BEGIN ] = new SwFmtDrop;
539 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_REGISTER - POOLATTR_BEGIN ] = new SwRegisterItem( sal_False );
540 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_NUMRULE - POOLATTR_BEGIN ] = new SwNumRuleItem( aEmptyStr );
541 : :
542 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_SCRIPTSPACE - POOLATTR_BEGIN ] = new SvxScriptSpaceItem( sal_True, RES_PARATR_SCRIPTSPACE );
543 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_HANGINGPUNCTUATION - POOLATTR_BEGIN ] = new SvxHangingPunctuationItem( sal_True, RES_PARATR_HANGINGPUNCTUATION );
544 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_FORBIDDEN_RULES - POOLATTR_BEGIN ] = new SvxForbiddenRuleItem( sal_True, RES_PARATR_FORBIDDEN_RULES );
545 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_VERTALIGN - POOLATTR_BEGIN ] = new SvxParaVertAlignItem( 0, RES_PARATR_VERTALIGN );
546 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_SNAPTOGRID - POOLATTR_BEGIN ] = new SvxParaGridItem( sal_True, RES_PARATR_SNAPTOGRID );
547 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_CONNECT_BORDER - POOLATTR_BEGIN ] = new SwParaConnectBorderItem;
548 : :
549 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_OUTLINELEVEL - POOLATTR_BEGIN ] = new SfxUInt16Item( RES_PARATR_OUTLINELEVEL, 0 );
550 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_RSID - POOLATTR_BEGIN ] = new SvxRsidItem( 0, RES_PARATR_RSID );
551 : :
552 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_LIST_ID - POOLATTR_BEGIN ] = new SfxStringItem( RES_PARATR_LIST_ID, aEmptyStr );
553 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_LIST_LEVEL - POOLATTR_BEGIN ] = new SfxInt16Item( RES_PARATR_LIST_LEVEL, 0 );
554 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_LIST_ISRESTART - POOLATTR_BEGIN ] = new SfxBoolItem( RES_PARATR_LIST_ISRESTART, sal_False );
555 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_LIST_RESTARTVALUE - POOLATTR_BEGIN ] = new SfxInt16Item( RES_PARATR_LIST_RESTARTVALUE, 1 );
556 [ + - ][ + - ]: 73 : aAttrTab[ RES_PARATR_LIST_ISCOUNTED - POOLATTR_BEGIN ] = new SfxBoolItem( RES_PARATR_LIST_ISCOUNTED, sal_True );
557 : :
558 [ + - ][ + - ]: 73 : aAttrTab[ RES_FILL_ORDER- POOLATTR_BEGIN ] = new SwFmtFillOrder;
559 [ + - ][ + - ]: 73 : aAttrTab[ RES_FRM_SIZE- POOLATTR_BEGIN ] = new SwFmtFrmSize;
560 [ + - ][ + - ]: 73 : aAttrTab[ RES_PAPER_BIN- POOLATTR_BEGIN ] = new SvxPaperBinItem( RES_PAPER_BIN );
561 [ + - ][ + - ]: 73 : aAttrTab[ RES_LR_SPACE- POOLATTR_BEGIN ] = new SvxLRSpaceItem( RES_LR_SPACE );
562 [ + - ][ + - ]: 73 : aAttrTab[ RES_UL_SPACE- POOLATTR_BEGIN ] = new SvxULSpaceItem( RES_UL_SPACE );
563 [ + - ][ + - ]: 73 : aAttrTab[ RES_PAGEDESC- POOLATTR_BEGIN ] = new SwFmtPageDesc;
564 [ + - ][ + - ]: 73 : aAttrTab[ RES_BREAK- POOLATTR_BEGIN ] = new SvxFmtBreakItem( SVX_BREAK_NONE, RES_BREAK);
565 [ + - ][ + - ]: 73 : aAttrTab[ RES_CNTNT- POOLATTR_BEGIN ] = new SwFmtCntnt;
566 [ + - ][ + - ]: 73 : aAttrTab[ RES_HEADER- POOLATTR_BEGIN ] = new SwFmtHeader;
567 [ + - ][ + - ]: 73 : aAttrTab[ RES_FOOTER- POOLATTR_BEGIN ] = new SwFmtFooter;
568 [ + - ][ + - ]: 73 : aAttrTab[ RES_PRINT- POOLATTR_BEGIN ] = new SvxPrintItem( RES_PRINT );
569 [ + - ][ + - ]: 73 : aAttrTab[ RES_OPAQUE- POOLATTR_BEGIN ] = new SvxOpaqueItem( RES_OPAQUE );
570 [ + - ][ + - ]: 73 : aAttrTab[ RES_PROTECT- POOLATTR_BEGIN ] = new SvxProtectItem( RES_PROTECT );
571 [ + - ][ + - ]: 73 : aAttrTab[ RES_SURROUND- POOLATTR_BEGIN ] = new SwFmtSurround;
572 [ + - ][ + - ]: 73 : aAttrTab[ RES_VERT_ORIENT- POOLATTR_BEGIN ] = new SwFmtVertOrient;
573 [ + - ][ + - ]: 73 : aAttrTab[ RES_HORI_ORIENT- POOLATTR_BEGIN ] = new SwFmtHoriOrient;
574 [ + - ][ + - ]: 73 : aAttrTab[ RES_ANCHOR- POOLATTR_BEGIN ] = new SwFmtAnchor;
575 [ + - ][ + - ]: 73 : aAttrTab[ RES_BACKGROUND- POOLATTR_BEGIN ] = new SvxBrushItem( RES_BACKGROUND );
576 [ + - ][ + - ]: 73 : aAttrTab[ RES_BOX- POOLATTR_BEGIN ] = new SvxBoxItem( RES_BOX );
577 [ + - ][ + - ]: 73 : aAttrTab[ RES_SHADOW- POOLATTR_BEGIN ] = new SvxShadowItem( RES_SHADOW );
578 [ + - ][ + - ]: 73 : aAttrTab[ RES_FRMMACRO- POOLATTR_BEGIN ] = new SvxMacroItem( RES_FRMMACRO );
579 [ + - ][ + - ]: 73 : aAttrTab[ RES_COL- POOLATTR_BEGIN ] = new SwFmtCol;
580 [ + - ][ + - ]: 73 : aAttrTab[ RES_KEEP - POOLATTR_BEGIN ] = new SvxFmtKeepItem( sal_False, RES_KEEP );
581 [ + - ][ + - ]: 73 : aAttrTab[ RES_URL - POOLATTR_BEGIN ] = new SwFmtURL();
582 [ + - ][ + - ]: 73 : aAttrTab[ RES_EDIT_IN_READONLY - POOLATTR_BEGIN ] = new SwFmtEditInReadonly;
583 [ + - ][ + - ]: 73 : aAttrTab[ RES_LAYOUT_SPLIT - POOLATTR_BEGIN ] = new SwFmtLayoutSplit;
584 [ + - ][ + - ]: 73 : aAttrTab[ RES_CHAIN - POOLATTR_BEGIN ] = new SwFmtChain;
585 [ + - ][ + - ]: 73 : aAttrTab[ RES_TEXTGRID - POOLATTR_BEGIN ] = new SwTextGridItem;
586 [ + - ][ + - ]: 73 : aAttrTab[ RES_HEADER_FOOTER_EAT_SPACING - POOLATTR_BEGIN ] = new SwHeaderAndFooterEatSpacingItem;
587 [ + - ][ + - ]: 73 : aAttrTab[ RES_LINENUMBER - POOLATTR_BEGIN ] = new SwFmtLineNumber;
588 [ + - ][ + - ]: 73 : aAttrTab[ RES_FTN_AT_TXTEND - POOLATTR_BEGIN ] = new SwFmtFtnAtTxtEnd;
589 [ + - ][ + - ]: 73 : aAttrTab[ RES_END_AT_TXTEND - POOLATTR_BEGIN ] = new SwFmtEndAtTxtEnd;
590 [ + - ][ + - ]: 73 : aAttrTab[ RES_COLUMNBALANCE - POOLATTR_BEGIN ] = new SwFmtNoBalancedColumns;
591 [ + - ][ + - ]: 73 : aAttrTab[ RES_FRAMEDIR - POOLATTR_BEGIN ] = new SvxFrameDirectionItem( FRMDIR_ENVIRONMENT, RES_FRAMEDIR );
592 [ + - ][ + - ]: 73 : aAttrTab[ RES_ROW_SPLIT - POOLATTR_BEGIN ] = new SwFmtRowSplit;
593 : :
594 : : // #i18732#
595 [ + - ][ + - ]: 73 : aAttrTab[ RES_FOLLOW_TEXT_FLOW - POOLATTR_BEGIN ] = new SwFmtFollowTextFlow( sal_True );
596 : : // collapsing borders #i29550#
597 [ + - ][ + - ]: 73 : aAttrTab[ RES_COLLAPSING_BORDERS - POOLATTR_BEGIN ] = new SfxBoolItem( RES_COLLAPSING_BORDERS, sal_False );
598 : : // #i28701#
599 : : // #i35017# - constant name has changed
600 : : aAttrTab[ RES_WRAP_INFLUENCE_ON_OBJPOS - POOLATTR_BEGIN ] =
601 [ + - ][ + - ]: 73 : new SwFmtWrapInfluenceOnObjPos( text::WrapInfluenceOnPosition::ONCE_CONCURRENT );
602 : :
603 [ + - ][ + - ]: 73 : aAttrTab[ RES_AUTO_STYLE - POOLATTR_BEGIN ] = new SwFmtAutoFmt( RES_AUTO_STYLE );
604 [ + - ][ + - ]: 73 : aAttrTab[ RES_FRMATR_STYLE_NAME - POOLATTR_BEGIN ] = new SfxStringItem( RES_FRMATR_STYLE_NAME, aEmptyStr );
605 [ + - ][ + - ]: 73 : aAttrTab[ RES_FRMATR_CONDITIONAL_STYLE_NAME - POOLATTR_BEGIN ] = new SfxStringItem( RES_FRMATR_CONDITIONAL_STYLE_NAME, aEmptyStr );
606 : :
607 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_MIRRORGRF- POOLATTR_BEGIN ] = new SwMirrorGrf;
608 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_CROPGRF- POOLATTR_BEGIN ] = new SwCropGrf;
609 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_ROTATION - POOLATTR_BEGIN ] = new SwRotationGrf;
610 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_LUMINANCE - POOLATTR_BEGIN ] = new SwLuminanceGrf;
611 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_CONTRAST - POOLATTR_BEGIN ] = new SwContrastGrf;
612 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_CHANNELR - POOLATTR_BEGIN ] = new SwChannelRGrf;
613 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_CHANNELG - POOLATTR_BEGIN ] = new SwChannelGGrf;
614 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_CHANNELB - POOLATTR_BEGIN ] = new SwChannelBGrf;
615 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_GAMMA - POOLATTR_BEGIN ] = new SwGammaGrf;
616 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_INVERT - POOLATTR_BEGIN ] = new SwInvertGrf;
617 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_TRANSPARENCY - POOLATTR_BEGIN ] = new SwTransparencyGrf;
618 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_DRAWMODE - POOLATTR_BEGIN ] = new SwDrawModeGrf;
619 : :
620 : : // GraphicAttr - Dummies
621 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_DUMMY1 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_GRFATR_DUMMY1 );
622 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_DUMMY2 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_GRFATR_DUMMY2 );
623 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_DUMMY3 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_GRFATR_DUMMY3 );
624 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_DUMMY4 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_GRFATR_DUMMY4 );
625 [ + - ][ + - ]: 73 : aAttrTab[ RES_GRFATR_DUMMY5 - POOLATTR_BEGIN ] = new SfxBoolItem( RES_GRFATR_DUMMY5 );
626 : :
627 [ + - ][ + - ]: 73 : aAttrTab[ RES_BOXATR_FORMAT- POOLATTR_BEGIN ] = new SwTblBoxNumFormat;
628 [ + - ][ + - ]: 73 : aAttrTab[ RES_BOXATR_FORMULA- POOLATTR_BEGIN ] = new SwTblBoxFormula( aEmptyStr );
629 [ + - ][ + - ]: 73 : aAttrTab[ RES_BOXATR_VALUE- POOLATTR_BEGIN ] = new SwTblBoxValue;
630 : :
631 : : aAttrTab[ RES_UNKNOWNATR_CONTAINER- POOLATTR_BEGIN ] =
632 [ + - ][ + - ]: 73 : new SvXMLAttrContainerItem( RES_UNKNOWNATR_CONTAINER );
633 : :
634 : : // get the correct fonts:
635 : 73 : ::GetDefaultFonts( *(SvxFontItem*)aAttrTab[ RES_CHRATR_FONT- POOLATTR_BEGIN ],
636 : 73 : *(SvxFontItem*)aAttrTab[ RES_CHRATR_CJK_FONT - POOLATTR_BEGIN ],
637 [ + - ]: 73 : *(SvxFontItem*)aAttrTab[ RES_CHRATR_CTL_FONT - POOLATTR_BEGIN ] );
638 : :
639 : : // 1. version - new attributes:
640 : : // - RES_CHRATR_BLINK
641 : : // - RES_CHRATR_NOHYPHEN
642 : : // - RES_CHRATR_NOLINEBREAK
643 : : // - RES_PARATR_REGISTER
644 : : // + 2 dummies for the "ranges"
645 [ + - ]: 73 : SwAttrPool::pVersionMap1 = new sal_uInt16[ 60 ];
646 : : sal_uInt16 i;
647 [ + + ]: 1314 : for( i = 1; i <= 17; i++ )
648 : 1241 : SwAttrPool::pVersionMap1[ i-1 ] = i;
649 [ + + ]: 803 : for ( i = 18; i <= 27; ++i )
650 : 730 : SwAttrPool::pVersionMap1[ i-1 ] = i + 5;
651 [ + + ]: 657 : for ( i = 28; i <= 35; ++i )
652 : 584 : SwAttrPool::pVersionMap1[ i-1 ] = i + 7;
653 [ + + ]: 1752 : for ( i = 36; i <= 58; ++i )
654 : 1679 : SwAttrPool::pVersionMap1[ i-1 ] = i + 10;
655 [ + + ]: 219 : for ( i = 59; i <= 60; ++i )
656 : 146 : SwAttrPool::pVersionMap1[ i-1 ] = i + 12;
657 : :
658 : : // 2. version - new attributes:
659 : : // 10 dummies for the frame "range"
660 [ + - ]: 73 : SwAttrPool::pVersionMap2 = new sal_uInt16[ 75 ];
661 [ + + ]: 5183 : for( i = 1; i <= 70; i++ )
662 : 5110 : SwAttrPool::pVersionMap2[ i-1 ] = i;
663 [ + + ]: 438 : for ( i = 71; i <= 75; ++i )
664 : 365 : SwAttrPool::pVersionMap2[ i-1 ] = i + 10;
665 : :
666 : : // 3. version:
667 : : // new attributes and dummies for the CJK version and
668 : : // new graphics attributes
669 [ + - ]: 73 : SwAttrPool::pVersionMap3 = new sal_uInt16[ 86 ];
670 [ + + ]: 1606 : for( i = 1; i <= 21; i++ )
671 : 1533 : SwAttrPool::pVersionMap3[ i-1 ] = i;
672 [ + + ]: 511 : for ( i = 22; i <= 27; ++i )
673 : 438 : SwAttrPool::pVersionMap3[ i-1 ] = i + 15;
674 [ + + ]: 4088 : for ( i = 28; i <= 82; ++i )
675 : 4015 : SwAttrPool::pVersionMap3[ i-1 ] = i + 20;
676 [ + + ]: 365 : for ( i = 83; i <= 86; ++i )
677 : 292 : SwAttrPool::pVersionMap3[ i-1 ] = i + 35;
678 : :
679 : : // 4. version:
680 : : // new paragraph attributes for CJK version
681 [ + - ]: 73 : SwAttrPool::pVersionMap4 = new sal_uInt16[ 121 ];
682 [ + + ]: 4818 : for( i = 1; i <= 65; i++ )
683 : 4745 : SwAttrPool::pVersionMap4[ i-1 ] = i;
684 [ + + ]: 4161 : for ( i = 66; i <= 121; ++i )
685 : 4088 : SwAttrPool::pVersionMap4[ i-1 ] = i + 9;
686 : :
687 : : // 5. version
688 : : // #i18732# - setup new version map due to extension of
689 : : // the frame attributes (RES_FRMATR_*) for binary filters.
690 [ + - ]: 73 : SwAttrPool::pVersionMap5 = new sal_uInt16[ 130 ];
691 [ + + ]: 8030 : for( i = 1; i <= 109; i++ )
692 : 7957 : SwAttrPool::pVersionMap5[ i-1 ] = i;
693 [ + + ]: 1606 : for ( i = 110; i <= 130; ++i )
694 : 1533 : SwAttrPool::pVersionMap5[ i-1 ] = i + 6;
695 : :
696 : : // 6. version:
697 : : // new character attribute for overlining plus 2 dummies
698 [ + - ]: 73 : SwAttrPool::pVersionMap6 = new sal_uInt16[ 136 ];
699 [ + + ]: 2774 : for( i = 1; i <= 37; i++ )
700 : 2701 : SwAttrPool::pVersionMap6[ i-1 ] = i;
701 [ + + ]: 7300 : for ( i = 38; i <= 136; ++i )
702 : 7227 : SwAttrPool::pVersionMap6[ i-1 ] = i + 3;
703 : :
704 [ + - ]: 73 : uno::Reference< lang::XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
705 : :
706 [ + - ]: 73 : SwBreakIt::_Create( xMSF );
707 : 73 : pCheckIt = NULL;
708 : :
709 [ + - ]: 73 : _FrmInit();
710 [ + - ]: 73 : _TextInit();
711 : :
712 [ + - ][ + - ]: 73 : SwSelPaintRects::pMapMode = new MapMode;
713 [ + - ][ + - ]: 73 : SwFntObj::pPixMap = new MapMode;
714 : :
715 [ + - ][ + - ]: 73 : pGlobalOLEExcludeList = new std::vector<SvGlobalName*>;
716 : :
717 [ + - ]: 73 : const SvxSwAutoFmtFlags& rAFlags = SvxAutoCorrCfg::Get().GetAutoCorrect()->GetSwFlags();
718 : : SwDoc::pACmpltWords = new SwAutoCompleteWord( rAFlags.nAutoCmpltListLen,
719 [ + - ][ + - ]: 73 : rAFlags.nAutoCmpltWordLen );
720 : 73 : }
721 : :
722 : 73 : void _FinitCore()
723 : : {
724 : 73 : _FrmFinit();
725 : 73 : _TextFinit();
726 : :
727 : 73 : SwBreakIt::_Delete();
728 [ - + ]: 73 : delete pCheckIt;
729 [ + + ]: 73 : delete pAppCharClass;
730 [ + + ]: 73 : delete pCollator;
731 [ - + ]: 73 : delete pCaseCollator;
732 : :
733 : : // destroy default TableAutoFormat
734 [ - + ]: 73 : delete SwTableAutoFmt::pDfltBoxAutoFmt;
735 : :
736 [ + - ]: 73 : delete SwSelPaintRects::pMapMode;
737 [ + - ]: 73 : delete SwFntObj::pPixMap;
738 : :
739 [ + - ]: 73 : delete SwEditShell::pAutoFmtFlags;
740 : :
741 : : #if OSL_DEBUG_LEVEL > 0
742 : : // free defaults to prevent assertions
743 : : if ( aAttrTab[0]->GetRefCount() )
744 : : SfxItemPool::ReleaseDefaults( aAttrTab, POOLATTR_END-POOLATTR_BEGIN, sal_False);
745 : : #endif
746 [ + - ]: 73 : delete SwDoc::pACmpltWords;
747 : :
748 [ + + ]: 73 : delete SwStyleNameMapper::pTextUINameArray;
749 [ + + ]: 73 : delete SwStyleNameMapper::pListsUINameArray;
750 [ + + ]: 73 : delete SwStyleNameMapper::pExtraUINameArray;
751 [ + + ]: 73 : delete SwStyleNameMapper::pRegisterUINameArray;
752 [ + + ]: 73 : delete SwStyleNameMapper::pDocUINameArray;
753 [ + + ]: 73 : delete SwStyleNameMapper::pHTMLUINameArray;
754 [ + + ]: 73 : delete SwStyleNameMapper::pFrmFmtUINameArray;
755 [ + + ]: 73 : delete SwStyleNameMapper::pChrFmtUINameArray;
756 [ + + ]: 73 : delete SwStyleNameMapper::pHTMLChrFmtUINameArray;
757 [ + + ]: 73 : delete SwStyleNameMapper::pPageDescUINameArray;
758 [ + + ]: 73 : delete SwStyleNameMapper::pNumRuleUINameArray;
759 : :
760 : : // Delete programmatic name arrays also
761 [ + + ]: 73 : delete SwStyleNameMapper::pTextProgNameArray;
762 [ + + ]: 73 : delete SwStyleNameMapper::pListsProgNameArray;
763 [ + + ]: 73 : delete SwStyleNameMapper::pExtraProgNameArray;
764 [ + + ]: 73 : delete SwStyleNameMapper::pRegisterProgNameArray;
765 [ + + ]: 73 : delete SwStyleNameMapper::pDocProgNameArray;
766 [ + + ]: 73 : delete SwStyleNameMapper::pHTMLProgNameArray;
767 [ + + ]: 73 : delete SwStyleNameMapper::pFrmFmtProgNameArray;
768 [ + + ]: 73 : delete SwStyleNameMapper::pChrFmtProgNameArray;
769 [ + + ]: 73 : delete SwStyleNameMapper::pHTMLChrFmtProgNameArray;
770 [ + + ]: 73 : delete SwStyleNameMapper::pPageDescProgNameArray;
771 [ + + ]: 73 : delete SwStyleNameMapper::pNumRuleProgNameArray;
772 : :
773 : : // And finally, any hash tables that we used
774 [ + + ]: 73 : delete SwStyleNameMapper::pParaUIMap;
775 [ + + ]: 73 : delete SwStyleNameMapper::pCharUIMap;
776 [ + + ]: 73 : delete SwStyleNameMapper::pPageUIMap;
777 [ + + ]: 73 : delete SwStyleNameMapper::pFrameUIMap;
778 [ + + ]: 73 : delete SwStyleNameMapper::pNumRuleUIMap;
779 : :
780 [ + + ]: 73 : delete SwStyleNameMapper::pParaProgMap;
781 [ + + ]: 73 : delete SwStyleNameMapper::pCharProgMap;
782 [ + + ]: 73 : delete SwStyleNameMapper::pPageProgMap;
783 [ + + ]: 73 : delete SwStyleNameMapper::pFrameProgMap;
784 [ + + ]: 73 : delete SwStyleNameMapper::pNumRuleProgMap;
785 : :
786 : :
787 : : // delete all default attributes
788 : : SfxPoolItem* pHt;
789 [ + + ]: 10439 : for( sal_uInt16 n = 0; n < POOLATTR_END - POOLATTR_BEGIN; n++ )
790 [ + - ]: 10366 : if( 0 != ( pHt = aAttrTab[n] ))
791 [ + - ]: 10366 : delete pHt;
792 : :
793 : 73 : ::ClearFEShellTabCols();
794 : :
795 [ + - ]: 73 : delete[] SwAttrPool::pVersionMap1;
796 [ + - ]: 73 : delete[] SwAttrPool::pVersionMap2;
797 [ + - ]: 73 : delete[] SwAttrPool::pVersionMap3;
798 [ + - ]: 73 : delete[] SwAttrPool::pVersionMap4;
799 : : // #i18732#
800 [ + - ]: 73 : delete[] SwAttrPool::pVersionMap5;
801 [ + - ]: 73 : delete[] SwAttrPool::pVersionMap6;
802 : :
803 [ - + ]: 73 : for ( sal_uInt16 i = 0; i < pGlobalOLEExcludeList->size(); ++i )
804 [ # # ]: 0 : delete (*pGlobalOLEExcludeList)[i];
805 [ + - ]: 73 : delete pGlobalOLEExcludeList;
806 : 73 : }
807 : :
808 : : // returns the APP - CharClass instance - used for all ToUpper/ToLower/...
809 : 147685 : CharClass& GetAppCharClass()
810 : : {
811 [ + + ]: 147685 : if ( !pAppCharClass )
812 : : {
813 [ + - ]: 55 : uno::Reference< lang::XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
814 : : pAppCharClass = new CharClass(
815 [ + - ][ + - ]: 55 : xMSF, SwBreakIt::Get()->GetLocale( (LanguageType)GetAppLanguage() ));
[ + - ][ + - ]
[ + - ]
816 : : }
817 : 147685 : return *pAppCharClass;
818 : : }
819 : :
820 : 0 : void SwCalendarWrapper::LoadDefaultCalendar( sal_uInt16 eLang )
821 : : {
822 : 0 : sUniqueId.Erase();
823 [ # # ]: 0 : if( eLang != nLang )
824 [ # # ]: 0 : loadDefaultCalendar( SvxCreateLocale( nLang = eLang ));
825 : 0 : }
826 : :
827 : 38116 : LanguageType GetAppLanguage()
828 : : {
829 : 38116 : return Application::GetSettings().GetLanguage();
830 : : }
831 : :
832 : 4 : CollatorWrapper& GetAppCollator()
833 : : {
834 [ + + ]: 4 : if( !pCollator )
835 : : {
836 : : const lang::Locale& rLcl = pBreakIt->GetLocale(
837 [ + - ][ + - ]: 2 : (LanguageType)GetAppLanguage() );
838 [ + - ]: 2 : uno::Reference< lang::XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
839 : :
840 [ + - ][ + - ]: 2 : pCollator = new CollatorWrapper( xMSF );
841 [ + - ]: 2 : pCollator->loadDefaultCollator( rLcl, SW_COLLATOR_IGNORES );
842 : : }
843 : 4 : return *pCollator;
844 : : }
845 : 0 : CollatorWrapper& GetAppCaseCollator()
846 : : {
847 [ # # ]: 0 : if( !pCaseCollator )
848 : : {
849 : : const lang::Locale& rLcl = pBreakIt->GetLocale(
850 [ # # ][ # # ]: 0 : (LanguageType)GetAppLanguage() );
851 [ # # ]: 0 : uno::Reference< lang::XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
852 : :
853 [ # # ][ # # ]: 0 : pCaseCollator = new CollatorWrapper( xMSF );
854 [ # # ]: 0 : pCaseCollator->loadDefaultCollator( rLcl, 0 );
855 : : }
856 : 0 : return *pCaseCollator;
857 : : }
858 : :
859 : : namespace
860 : : {
861 : 67 : class TransWrp
862 : : {
863 : : private:
864 : : boost::scoped_ptr< ::utl::TransliterationWrapper > xTransWrp;
865 : : public:
866 : 67 : TransWrp()
867 : 67 : {
868 [ + - ]: 67 : uno::Reference< lang::XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
869 : :
870 : : xTransWrp.reset(new ::utl::TransliterationWrapper( xMSF,
871 : : i18n::TransliterationModules_IGNORE_CASE |
872 : : i18n::TransliterationModules_IGNORE_KANA |
873 [ + - ][ + - ]: 67 : i18n::TransliterationModules_IGNORE_WIDTH ));
[ + - ]
874 : :
875 [ + - ][ + - ]: 67 : xTransWrp->loadModuleIfNeeded( static_cast<sal_uInt16>(GetAppLanguage()) );
876 : 67 : }
877 : 2277 : const ::utl::TransliterationWrapper& getTransliterationWrapper() const
878 : : {
879 : 2277 : return *xTransWrp;
880 : : }
881 : : };
882 : :
883 : : class theTransWrp : public rtl::Static<TransWrp, theTransWrp> {};
884 : : }
885 : :
886 : 2277 : const ::utl::TransliterationWrapper& GetAppCmpStrIgnore()
887 : : {
888 : 2277 : return theTransWrp::get().getTransliterationWrapper();
889 : : }
890 : :
891 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|