1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_SW_INC_UNOMAP_HXX
20 #define INCLUDED_SW_INC_UNOMAP_HXX
22 #include <sal/types.h>
23 #include <svl/itemprop.hxx>
24 #include <o3tl/span.hxx>
26 class SfxItemPropertySet
;
28 #define PROPERTY_MAP_TEXT_CURSOR 0
29 #define PROPERTY_MAP_CHAR_STYLE 1
30 #define PROPERTY_MAP_PARA_STYLE 2
31 #define PROPERTY_MAP_FRAME_STYLE 3
32 #define PROPERTY_MAP_PAGE_STYLE 4
33 #define PROPERTY_MAP_NUM_STYLE 5
34 #define PROPERTY_MAP_SECTION 6
35 #define PROPERTY_MAP_TEXT_TABLE 7
36 #define PROPERTY_MAP_TABLE_CELL 8
37 #define PROPERTY_MAP_TABLE_RANGE 9
38 #define PROPERTY_MAP_TEXT_SEARCH 10
39 #define PROPERTY_MAP_TEXT_FRAME 11
40 #define PROPERTY_MAP_TEXT_GRAPHIC 12
41 #define PROPERTY_MAP_TEXT_SHAPE 13
42 #define PROPERTY_MAP_INDEX_USER 14
43 #define PROPERTY_MAP_INDEX_CNTNT 15
44 #define PROPERTY_MAP_INDEX_IDX 16
45 #define PROPERTY_MAP_USER_MARK 17
46 #define PROPERTY_MAP_CNTIDX_MARK 18
47 #define PROPERTY_MAP_INDEX_MARK 19
48 #define PROPERTY_MAP_TEXT_TABLE_ROW 20
49 #define PROPERTY_MAP_TEXT_SHAPE_DESCRIPTOR 21
50 #define PROPERTY_MAP_TEXT_TABLE_CURSOR 22
51 #define PROPERTY_MAP_BOOKMARK 23
52 #define PROPERTY_MAP_PARAGRAPH_EXTENSIONS 24
53 #define PROPERTY_MAP_INDEX_ILLUSTRATIONS 25
54 #define PROPERTY_MAP_INDEX_OBJECTS 26
55 #define PROPERTY_MAP_INDEX_TABLES 27
56 #define PROPERTY_MAP_BIBLIOGRAPHY 28
57 #define PROPERTY_MAP_TEXT_DOCUMENT 29
58 #define PROPERTY_MAP_LINK_TARGET 30
59 #define PROPERTY_MAP_AUTO_TEXT_GROUP 31
60 #define PROPERTY_MAP_TEXTPORTION_EXTENSIONS 34
61 #define PROPERTY_MAP_FOOTNOTE 35
62 #define PROPERTY_MAP_PARAGRAPH 37
63 #define PROPERTY_MAP_EMBEDDED_OBJECT 38
64 #define PROPERTY_MAP_REDLINE 39
65 #define PROPERTY_MAP_TEXT_DEFAULT 40
67 #define PROPERTY_MAP_FLDTYP_DATETIME 41
68 #define PROPERTY_MAP_FLDTYP_USER 42
69 #define PROPERTY_MAP_FLDTYP_SET_EXP 43
70 #define PROPERTY_MAP_FLDTYP_GET_EXP 44
71 #define PROPERTY_MAP_FLDTYP_FILE_NAME 45
72 #define PROPERTY_MAP_FLDTYP_PAGE_NUM 46
73 #define PROPERTY_MAP_FLDTYP_AUTHOR 47
74 #define PROPERTY_MAP_FLDTYP_CHAPTER 48
75 #define PROPERTY_MAP_FLDTYP_GET_REFERENCE 49
76 #define PROPERTY_MAP_FLDTYP_CONDITIONED_TEXT 50
77 #define PROPERTY_MAP_FLDTYP_HIDDEN_TEXT 51
78 #define PROPERTY_MAP_FLDTYP_ANNOTATION 52
79 #define PROPERTY_MAP_FLDTYP_INPUT 53
80 #define PROPERTY_MAP_FLDTYP_MACRO 54
81 #define PROPERTY_MAP_FLDTYP_DDE 55
82 #define PROPERTY_MAP_FLDTYP_HIDDEN_PARA 56
83 #define PROPERTY_MAP_FLDTYP_DOC_INFO 57
84 #define PROPERTY_MAP_FLDTYP_TEMPLATE_NAME 58
85 #define PROPERTY_MAP_FLDTYP_USER_EXT 59
86 #define PROPERTY_MAP_FLDTYP_REF_PAGE_SET 60
87 #define PROPERTY_MAP_FLDTYP_REF_PAGE_GET 61
88 #define PROPERTY_MAP_FLDTYP_JUMP_EDIT 62
89 #define PROPERTY_MAP_FLDTYP_SCRIPT 63
90 #define PROPERTY_MAP_FLDTYP_DATABASE_NEXT_SET 64
91 #define PROPERTY_MAP_FLDTYP_DATABASE_NUM_SET 65
92 #define PROPERTY_MAP_FLDTYP_DATABASE_SET_NUM 66
93 #define PROPERTY_MAP_FLDTYP_DATABASE 67
94 #define PROPERTY_MAP_FLDTYP_DATABASE_NAME 68
95 #define PROPERTY_MAP_FLDTYP_DOCSTAT 69
96 #define PROPERTY_MAP_FLDTYP_DOCINFO_AUTHOR 70
97 #define PROPERTY_MAP_FLDTYP_DOCINFO_DATE_TIME 71
98 #define PROPERTY_MAP_FLDTYP_DOCINFO_CHANGE_DATE_TIME 72
99 #define PROPERTY_MAP_FLDTYP_DOCINFO_CREATE_DATE_TIME 73
100 #define PROPERTY_MAP_FLDTYP_DOCINFO_EDIT_TIME 74
101 #define PROPERTY_MAP_FLDTYP_DOCINFO_MISC 75
102 #define PROPERTY_MAP_FLDTYP_DOCINFO_REVISION 76
103 #define PROPERTY_MAP_FLDTYP_COMBINED_CHARACTERS 77
104 #define PROPERTY_MAP_FLDTYP_DUMMY_0 78
105 #define PROPERTY_MAP_FLDTYP_TABLE_FORMULA 79
106 #define PROPERTY_MAP_FLDMSTR_USER 80
107 #define PROPERTY_MAP_FLDMSTR_DDE 81
108 #define PROPERTY_MAP_FLDMSTR_SET_EXP 82
109 #define PROPERTY_MAP_FLDMSTR_DATABASE 83
110 #define PROPERTY_MAP_FLDMSTR_DUMMY0 84
111 #define PROPERTY_MAP_FLDTYP_BIBLIOGRAPHY 85
112 #define PROPERTY_MAP_FLDMSTR_BIBLIOGRAPHY 86
113 #define PROPERTY_MAP_TEXT 87
114 #define PROPERTY_MAP_REDLINE_PORTION 88
115 #define PROPERTY_MAP_MAILMERGE 89
116 #define PROPERTY_MAP_FLDTYP_DROPDOWN 90
117 #define PROPERTY_MAP_CHART2_DATA_SEQUENCE 91
118 #define PROPERTY_MAP_TEXT_VIEW 92
119 #define PROPERTY_MAP_CONDITIONAL_PARA_STYLE 93
120 #define PROPERTY_MAP_CHAR_AUTO_STYLE 94
121 #define PROPERTY_MAP_RUBY_AUTO_STYLE 95
122 #define PROPERTY_MAP_PARA_AUTO_STYLE 96
123 #define PROPERTY_MAP_FLDTYP_DOCINFO_CUSTOM 97
124 #define PROPERTY_MAP_METAFIELD 98
125 #define PROPERTY_MAP_ACCESSIBILITY_TEXT_ATTRIBUTE 99
126 #define PROPERTY_MAP_TABLE_STYLE 100
127 #define PROPERTY_MAP_CELL_STYLE 101
128 #define PROPERTY_MAP_FIELDMARK 102
129 #define PROPERTY_MAP_LINEBREAK 103
130 #define PROPERTY_MAP_CONTENTCONTROL 104
131 #define PROPERTY_MAP_TEXT_PAGE 105
132 #define PROPERTY_MAP_END 106
136 #define WID_BACKWARDS 1
137 #define WID_REGULAR_EXPRESSION 2
138 #define WID_CASE_SENSITIVE 3
139 #define WID_IN_SELECTION 4
141 #define WID_SIMILARITY 6
142 #define WID_SIMILARITY_RELAX 7
143 #define WID_SIMILARITY_EXCHANGE 8
144 #define WID_SIMILARITY_ADD 9
145 #define WID_SIMILARITY_REMOVE 10
146 #define WID_SEARCH_ALL 11
149 #define WID_SECT_CONDITION 8000
150 #define WID_SECT_DDE_TYPE 8001
151 #define WID_SECT_DDE_FILE 8002
152 #define WID_SECT_DDE_ELEMENT 8003
153 #define WID_SECT_LINK 8004
154 #define WID_SECT_VISIBLE 8005
155 #define WID_SECT_PROTECTED 8006
156 #define WID_SECT_REGION 8007
157 #define WID_SECT_DDE_AUTOUPDATE 8008
158 #define WID_SECT_DOCUMENT_INDEX 8009
159 #define WID_SECT_IS_GLOBAL_DOC_SECTION 8010
160 #define WID_SECT_PASSWORD 8011
161 #define WID_SECT_CURRENTLY_VISIBLE 8012
162 #define WID_SECT_EDIT_IN_READONLY 8013
164 // Indices/Tables of content
165 #define WID_PRIMARY_KEY 1000
166 #define WID_SECONDARY_KEY 1001
167 #define WID_ALT_TEXT 1002
168 #define WID_IDX_TITLE 1003
169 #define WID_LEVEL 1004
170 #define WID_CREATE_FROM_MARKS 1005
171 #define WID_CREATE_FROM_OUTLINE 1006
172 #define WID_MAIN_ENTRY 1007
173 #define WID_CREATE_FROM_CHAPTER 1008
174 #define WID_CREATE_FROM_LABELS 1009
175 #define WID_USE_ALPHABETICAL_SEPARATORS 1010
176 #define WID_USE_KEY_AS_ENTRY 1011
177 #define WID_USE_COMBINED_ENTRIES 1012
178 #define WID_IS_CASE_SENSITIVE 1013
179 #define WID_USE_P_P 1014
180 #define WID_USE_DASH 1015
181 #define WID_USE_UPPER_CASE 1016
182 #define WID_LABEL_CATEGORY 1018
183 #define WID_LABEL_DISPLAY_TYPE 1019
184 #define WID_USE_LEVEL_FROM_SOURCE 1020
185 #define WID_LEVEL_FORMAT 1021
186 #define WID_LEVEL_PARAGRAPH_STYLES 1022
187 #define WID_HIDE_TABLEADER_PAGENUMBERS 1023
188 #define WID_TAB_IN_TOC 1024
189 #define WID_MAIN_ENTRY_CHARACTER_STYLE_NAME 1025
190 #define WID_CREATE_FROM_TABLES 1026
191 #define WID_CREATE_FROM_TEXT_FRAMES 1027
192 #define WID_CREATE_FROM_GRAPHIC_OBJECTS 1028
193 #define WID_CREATE_FROM_EMBEDDED_OBJECTS 1029
194 #define WID_CREATE_FROM_STAR_MATH 1030
195 #define WID_PROTECTED 1031
197 #define WID_CREATE_FROM_STAR_CHART 1032
198 #define WID_CREATE_FROM_STAR_CALC 1033
199 #define WID_CREATE_FROM_STAR_DRAW 1034
200 #define WID_CREATE_FROM_OTHER_EMBEDDED_OBJECTS 1035
201 #define WID_USER_IDX_NAME 1036
202 #define WID_PARA_HEAD 1037
203 #define WID_PARA_SEP 1038
204 #define WID_PARA_LEV1 1039
205 #define WID_PARA_LEV2 1040
206 #define WID_PARA_LEV3 1041
207 #define WID_PARA_LEV4 1042
208 #define WID_PARA_LEV5 1043
209 #define WID_PARA_LEV6 1044
210 #define WID_PARA_LEV7 1045
211 #define WID_PARA_LEV8 1046
212 #define WID_PARA_LEV9 1047
213 #define WID_PARA_LEV10 1048
214 #define WID_IS_COMMA_SEPARATED 1049
215 #define WID_INDEX_MARKS 1050
216 #define WID_IS_RELATIVE_TABSTOPS 1051
217 #define WID_CREATE_FROM_PARAGRAPH_STYLES 1052
218 #define WID_IDX_CONTENT_SECTION 1053
219 #define WID_IDX_HEADER_SECTION 1054
220 #define WID_IDX_LOCALE 1055
221 #define WID_IDX_SORT_ALGORITHM 1056
222 #define WID_IDX_NAME 1057
224 #define WID_TEXT_READING 1058
225 #define WID_PRIMARY_KEY_READING 1059
226 #define WID_SECONDARY_KEY_READING 1060
227 #define WID_TOC_BOOKMARK 1061
228 #define WID_TOC_NEWLINE 1062
229 #define WID_TOC_PARAGRAPH_OUTLINE_LEVEL 1063
230 #define WID_CREATE_FROM_PARAGRAPH_STYLE 1064
233 #define WID_DOC_CHAR_COUNT 1000
234 #define WID_DOC_PARA_COUNT 1001
235 #define WID_DOC_WORD_COUNT 1002
236 #define WID_DOC_WORD_SEPARATOR 1003
237 #define WID_DOC_CHANGES_SHOW 1004
238 #define WID_DOC_CHANGES_RECORD 1005
239 #define WID_DOC_AUTO_MARK_URL 1006
240 #define WID_DOC_HIDE_TIPS 1007
241 #define WID_DOC_REDLINE_DISPLAY 1008
242 #define WID_DOC_FORBIDDEN_CHARS 1009
243 #define WID_DOC_CHANGES_PASSWORD 1010
244 #define WID_DOC_TWO_DIGIT_YEAR 1011
245 #define WID_DOC_AUTOMATIC_CONTROL_FOCUS 1012
246 #define WID_DOC_APPLY_FORM_DESIGN_MODE 1013
247 #define WID_DOC_BASIC_LIBRARIES 1014
248 #define WID_DOC_RUNTIME_UID 1015
249 #define WID_DOC_LOCK_UPDATES 1016
250 #define WID_DOC_HAS_VALID_SIGNATURES 1017
251 #define WID_DOC_INTEROP_GRAB_BAG 1018
252 #define WID_DOC_WRITERFILTER 1019
253 #define WID_DOC_BUILDID 1024
254 #define WID_DOC_ISTEMPLATEID 1025
255 #define WID_DOC_DEFAULT_PAGE_MODE 1069
258 #define WID_SELECTION 1071
259 #define WID_RESULT_SET 1072
260 #define WID_CONNECTION 1073
261 #define WID_MODEL 1074
262 #define WID_DATA_SOURCE_NAME 1075
263 #define WID_DATA_COMMAND 1076
264 #define WID_FILTER 1077
265 #define WID_DOCUMENT_URL 1078
266 #define WID_OUTPUT_URL 1079
267 #define WID_DATA_COMMAND_TYPE 1080
268 #define WID_OUTPUT_TYPE 1081
269 #define WID_ESCAPE_PROCESSING 1082
270 #define WID_SINGLE_PRINT_JOBS 1083
271 #define WID_FILE_NAME_FROM_COLUMN 1084
272 #define WID_FILE_NAME_PREFIX 1085
273 #define WID_MAIL_SUBJECT 1086
274 #define WID_ADDRESS_FROM_COLUMN 1087
275 #define WID_SEND_AS_HTML 1088
276 #define WID_SEND_AS_ATTACHMENT 1089
277 #define WID_MAIL_BODY 1090
278 #define WID_ATTACHMENT_NAME 1091
279 #define WID_ATTACHMENT_FILTER 1092
280 #define WID_PRINT_OPTIONS 1093
281 #define WID_SAVE_AS_SINGLE_FILE 1094
282 #define WID_SAVE_FILTER 1095
283 #define WID_COPIES_TO 1096
284 #define WID_BLIND_COPIES_TO 1097
285 #define WID_IN_SERVER_PASSWORD 1098
286 #define WID_OUT_SERVER_PASSWORD 1099
287 #define WID_SAVE_FILTER_OPTIONS 1100
288 #define WID_SAVE_FILTER_DATA 1101
290 #define WID_PAGE_COUNT 1100
291 #define WID_LINE_COUNT 1101
292 #define WID_IS_CONSTANT_SPELLCHECK 1102
293 #define WID_IS_HIDE_SPELL_MARKS 1103 /* deprecated #i91949 */
295 #define WID_LAYOUT_SIZE 1104
296 #define WID_DOC_DIALOG_LIBRARIES 1105
297 #define WID_DOC_VBA_DOCOBJ 1106
300 #define WID_GROUP_PATH 0
301 #define WID_GROUP_TITLE 1
304 #define WID_IS_AUTOMATIC 0
305 #define WID_CONTINUOUS 1
306 #define WID_RULE_NAME 2
307 #define WID_IS_ABS_MARGINS 3
308 #define WID_IS_OUTLINE 4
309 #define WID_DEFAULT_LIST_ID 5
311 #define WID_PAGE_BOTTOM 0
312 #define WID_PAGE_LEFT 1
313 #define WID_PAGE_RIGHT 2
314 #define WID_PAGE_TOP 3
315 #define WID_PAGE_WIDTH 4
316 #define WID_PAGE_HEIGHT 5
317 #define WID_PAGE_NUMBER 6
318 #define WID_PAGE_ORIENT 7
319 #define WID_PAGE_USERATTRIBS 8
320 #define WID_PAGE_ISDARK 9
321 #define WID_NAVORDER 10
322 #define WID_PAGE_BACKFULL 11
324 #define WID_PAGE_THEME 12
326 // This define would need the include of <svx/unoshprp.hxx>, but this ends
327 // in a mess; there *are* double used symbols which are used in a #define in
328 // editengine and as an enum in sw; these will then collide and lead to severe
329 // problems which will be hard to detect at all (e.g. look for UNO_NAME_CHAR_COLOR).
330 // More of these are likely, so better use a local define here, but at least the same
331 // as in svx/inc/unoshprp.hxx
332 #define OWN_ATTR_FILLBMP_MODE (OWN_ATTR_VALUE_START+45)
334 class SwUnoPropertyMapProvider
336 o3tl::span
<SfxItemPropertyMapEntry
const> m_aMapEntriesArr
[PROPERTY_MAP_END
];
337 SfxItemPropertySet
* m_aPropertySetArr
[PROPERTY_MAP_END
];
340 SwUnoPropertyMapProvider();
342 o3tl::span
<const SfxItemPropertyMapEntry
> GetPropertyMapEntries(sal_uInt16 PropertyId
);
343 const SfxItemPropertySet
* GetPropertySet( sal_uInt16 PropertyId
);
346 static o3tl::span
<const SfxItemPropertyMapEntry
> GetTextCursorPropertyMap();
347 static o3tl::span
<const SfxItemPropertyMapEntry
> GetAccessibilityTextAttrPropertyMap();
348 static o3tl::span
<const SfxItemPropertyMapEntry
> GetParagraphPropertyMap();
349 static o3tl::span
<const SfxItemPropertyMapEntry
> GetAutoParaStylePropertyMap();
350 static o3tl::span
<const SfxItemPropertyMapEntry
> GetCharStylePropertyMap();
351 static o3tl::span
<const SfxItemPropertyMapEntry
> GetAutoCharStylePropertyMap();
352 static o3tl::span
<const SfxItemPropertyMapEntry
> GetParaStylePropertyMap();
353 static o3tl::span
<const SfxItemPropertyMapEntry
> GetConditionalParaStylePropertyMap();
354 static o3tl::span
<const SfxItemPropertyMapEntry
> GetFrameStylePropertyMap();
355 static o3tl::span
<const SfxItemPropertyMapEntry
> GetPageStylePropertyMap();
356 static o3tl::span
<const SfxItemPropertyMapEntry
> GetTablePropertyMap();
357 static o3tl::span
<const SfxItemPropertyMapEntry
> GetRangePropertyMap();
358 static o3tl::span
<const SfxItemPropertyMapEntry
> GetSectionPropertyMap();
359 static o3tl::span
<const SfxItemPropertyMapEntry
> GetFramePropertyMap();
360 static o3tl::span
<const SfxItemPropertyMapEntry
> GetGraphicPropertyMap();
361 static o3tl::span
<const SfxItemPropertyMapEntry
> GetEmbeddedPropertyMap();
362 static o3tl::span
<const SfxItemPropertyMapEntry
> GetIndexMarkPropertyMap();
363 static o3tl::span
<const SfxItemPropertyMapEntry
> GetContentMarkPropertyMap();
364 static o3tl::span
<const SfxItemPropertyMapEntry
> GetUserMarkPropertyMap();
365 static o3tl::span
<const SfxItemPropertyMapEntry
> GetTextTableCursorPropertyMap();
366 static o3tl::span
<const SfxItemPropertyMapEntry
> GetBookmarkPropertyMap();
367 static o3tl::span
<const SfxItemPropertyMapEntry
> GetParagraphExtensionsPropertyMap();
368 static o3tl::span
<const SfxItemPropertyMapEntry
> GetTextPortionExtensionPropertyMap();
369 static o3tl::span
<const SfxItemPropertyMapEntry
> GetFootnotePropertyMap();
370 static o3tl::span
<const SfxItemPropertyMapEntry
> GetRedlinePropertyMap();
371 static o3tl::span
<const SfxItemPropertyMapEntry
> GetRedlinePortionPropertyMap();
372 static o3tl::span
<SfxItemPropertyMapEntry
> GetTextDefaultPropertyMap();
373 static o3tl::span
<const SfxItemPropertyMapEntry
> GetLineBreakPropertyMap();
374 static o3tl::span
<const SfxItemPropertyMapEntry
> GetContentControlPropertyMap();
377 extern SwUnoPropertyMapProvider aSwMapProvider
;
380 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */