summaryrefslogtreecommitdiff
path: root/sw/inc/unomap.hxx
blob: 7c123f4895935c2009f8f5990cbde3da8dd439aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */
#ifndef INCLUDED_SW_INC_UNOMAP_HXX
#define INCLUDED_SW_INC_UNOMAP_HXX

#include <sal/config.h>

#include <span>

#include <sal/types.h>
#include <svl/itemprop.hxx>

class SfxItemPropertySet;

#define PROPERTY_MAP_TEXT_CURSOR            0
#define PROPERTY_MAP_CHAR_STYLE             1
#define PROPERTY_MAP_PARA_STYLE             2
#define PROPERTY_MAP_FRAME_STYLE            3
#define PROPERTY_MAP_PAGE_STYLE             4
#define PROPERTY_MAP_NUM_STYLE              5
#define PROPERTY_MAP_SECTION                6
#define PROPERTY_MAP_TEXT_TABLE             7
#define PROPERTY_MAP_TABLE_CELL             8
#define PROPERTY_MAP_TABLE_RANGE            9
#define PROPERTY_MAP_TEXT_SEARCH            10
#define PROPERTY_MAP_TEXT_FRAME             11
#define PROPERTY_MAP_TEXT_GRAPHIC           12
#define PROPERTY_MAP_TEXT_SHAPE             13
#define PROPERTY_MAP_INDEX_USER             14
#define PROPERTY_MAP_INDEX_CNTNT            15
#define PROPERTY_MAP_INDEX_IDX              16
#define PROPERTY_MAP_USER_MARK              17
#define PROPERTY_MAP_CNTIDX_MARK            18
#define PROPERTY_MAP_INDEX_MARK             19
#define PROPERTY_MAP_TEXT_TABLE_ROW         20
#define PROPERTY_MAP_TEXT_SHAPE_DESCRIPTOR  21
#define PROPERTY_MAP_TEXT_TABLE_CURSOR      22
#define PROPERTY_MAP_BOOKMARK               23
#define PROPERTY_MAP_PARAGRAPH_EXTENSIONS   24
#define PROPERTY_MAP_INDEX_ILLUSTRATIONS    25
#define PROPERTY_MAP_INDEX_OBJECTS          26
#define PROPERTY_MAP_INDEX_TABLES           27
#define PROPERTY_MAP_BIBLIOGRAPHY           28
#define PROPERTY_MAP_TEXT_DOCUMENT          29
#define PROPERTY_MAP_LINK_TARGET            30
#define PROPERTY_MAP_AUTO_TEXT_GROUP        31
#define PROPERTY_MAP_TEXTPORTION_EXTENSIONS 34
#define PROPERTY_MAP_FOOTNOTE               35
#define PROPERTY_MAP_PARAGRAPH              37
#define PROPERTY_MAP_EMBEDDED_OBJECT        38
#define PROPERTY_MAP_REDLINE                39
#define PROPERTY_MAP_TEXT_DEFAULT           40

#define PROPERTY_MAP_FLDTYP_DATETIME                    41
#define PROPERTY_MAP_FLDTYP_USER                        42
#define PROPERTY_MAP_FLDTYP_SET_EXP                     43
#define PROPERTY_MAP_FLDTYP_GET_EXP                     44
#define PROPERTY_MAP_FLDTYP_FILE_NAME                   45
#define PROPERTY_MAP_FLDTYP_PAGE_NUM                    46
#define PROPERTY_MAP_FLDTYP_AUTHOR                      47
#define PROPERTY_MAP_FLDTYP_CHAPTER                     48
#define PROPERTY_MAP_FLDTYP_GET_REFERENCE               49
#define PROPERTY_MAP_FLDTYP_CONDITIONED_TEXT            50
#define PROPERTY_MAP_FLDTYP_HIDDEN_TEXT                 51
#define PROPERTY_MAP_FLDTYP_ANNOTATION                  52
#define PROPERTY_MAP_FLDTYP_INPUT                       53
#define PROPERTY_MAP_FLDTYP_MACRO                       54
#define PROPERTY_MAP_FLDTYP_DDE                         55
#define PROPERTY_MAP_FLDTYP_HIDDEN_PARA                 56
#define PROPERTY_MAP_FLDTYP_DOC_INFO                    57
#define PROPERTY_MAP_FLDTYP_TEMPLATE_NAME               58
#define PROPERTY_MAP_FLDTYP_USER_EXT                    59
#define PROPERTY_MAP_FLDTYP_REF_PAGE_SET                60
#define PROPERTY_MAP_FLDTYP_REF_PAGE_GET                61
#define PROPERTY_MAP_FLDTYP_JUMP_EDIT                   62
#define PROPERTY_MAP_FLDTYP_SCRIPT                      63
#define PROPERTY_MAP_FLDTYP_DATABASE_NEXT_SET           64
#define PROPERTY_MAP_FLDTYP_DATABASE_NUM_SET            65
#define PROPERTY_MAP_FLDTYP_DATABASE_SET_NUM            66
#define PROPERTY_MAP_FLDTYP_DATABASE                    67
#define PROPERTY_MAP_FLDTYP_DATABASE_NAME               68
#define PROPERTY_MAP_FLDTYP_DOCSTAT                     69
#define PROPERTY_MAP_FLDTYP_DOCINFO_AUTHOR              70
#define PROPERTY_MAP_FLDTYP_DOCINFO_DATE_TIME           71
#define PROPERTY_MAP_FLDTYP_DOCINFO_CHANGE_DATE_TIME    72
#define PROPERTY_MAP_FLDTYP_DOCINFO_CREATE_DATE_TIME    73
#define PROPERTY_MAP_FLDTYP_DOCINFO_EDIT_TIME           74
#define PROPERTY_MAP_FLDTYP_DOCINFO_MISC                75
#define PROPERTY_MAP_FLDTYP_DOCINFO_REVISION            76
#define PROPERTY_MAP_FLDTYP_COMBINED_CHARACTERS         77
#define PROPERTY_MAP_FLDTYP_DUMMY_0                     78
#define PROPERTY_MAP_FLDTYP_TABLE_FORMULA               79
#define PROPERTY_MAP_FLDMSTR_USER                       80
#define PROPERTY_MAP_FLDMSTR_DDE                        81
#define PROPERTY_MAP_FLDMSTR_SET_EXP                    82
#define PROPERTY_MAP_FLDMSTR_DATABASE                   83
#define PROPERTY_MAP_FLDMSTR_DUMMY0                     84
#define PROPERTY_MAP_FLDTYP_BIBLIOGRAPHY                85
#define PROPERTY_MAP_FLDMSTR_BIBLIOGRAPHY               86
#define PROPERTY_MAP_TEXT                               87
#define PROPERTY_MAP_REDLINE_PORTION                    88
#define PROPERTY_MAP_MAILMERGE                          89
#define PROPERTY_MAP_FLDTYP_DROPDOWN                    90
#define PROPERTY_MAP_CHART2_DATA_SEQUENCE               91
#define PROPERTY_MAP_TEXT_VIEW                          92
#define PROPERTY_MAP_CONDITIONAL_PARA_STYLE             93
#define PROPERTY_MAP_CHAR_AUTO_STYLE                    94
#define PROPERTY_MAP_RUBY_AUTO_STYLE                    95
#define PROPERTY_MAP_PARA_AUTO_STYLE                    96
#define PROPERTY_MAP_FLDTYP_DOCINFO_CUSTOM              97
#define PROPERTY_MAP_METAFIELD                          98
#define PROPERTY_MAP_ACCESSIBILITY_TEXT_ATTRIBUTE       99
#define PROPERTY_MAP_TABLE_STYLE                        100
#define PROPERTY_MAP_CELL_STYLE                         101
#define PROPERTY_MAP_FIELDMARK                          102
#define PROPERTY_MAP_LINEBREAK                          103
#define PROPERTY_MAP_CONTENTCONTROL                     104
#define PROPERTY_MAP_TEXT_PAGE                          105
#define PROPERTY_MAP_END                                106

//S&E
#define WID_WORDS                0
#define WID_BACKWARDS            1
#define WID_REGULAR_EXPRESSION   2
#define WID_CASE_SENSITIVE       3
#define WID_IN_SELECTION         4
#define WID_STYLES               5
#define WID_SIMILARITY           6
#define WID_SIMILARITY_RELAX     7
#define WID_SIMILARITY_EXCHANGE  8
#define WID_SIMILARITY_ADD       9
#define WID_SIMILARITY_REMOVE    10
#define WID_SEARCH_ALL           11

//Sections
#define WID_SECT_CONDITION   8000
#define WID_SECT_DDE_TYPE    8001
#define WID_SECT_DDE_FILE    8002
#define WID_SECT_DDE_ELEMENT 8003
#define WID_SECT_LINK        8004
#define WID_SECT_VISIBLE     8005
#define WID_SECT_PROTECTED   8006
#define WID_SECT_REGION      8007
#define WID_SECT_DDE_AUTOUPDATE 8008
#define WID_SECT_DOCUMENT_INDEX 8009
#define WID_SECT_IS_GLOBAL_DOC_SECTION 8010
#define WID_SECT_PASSWORD    8011
#define WID_SECT_CURRENTLY_VISIBLE 8012
#define WID_SECT_EDIT_IN_READONLY 8013

// Indices/Tables of content
#define WID_PRIMARY_KEY                         1000
#define WID_SECONDARY_KEY                       1001
#define WID_ALT_TEXT                            1002
#define WID_IDX_TITLE                           1003
#define WID_LEVEL                               1004
#define WID_CREATE_FROM_MARKS                   1005
#define WID_CREATE_FROM_OUTLINE                 1006
#define WID_MAIN_ENTRY                          1007
#define WID_CREATE_FROM_CHAPTER                 1008
#define WID_CREATE_FROM_LABELS                  1009
#define WID_USE_ALPHABETICAL_SEPARATORS         1010
#define WID_USE_KEY_AS_ENTRY                    1011
#define WID_USE_COMBINED_ENTRIES                1012
#define WID_IS_CASE_SENSITIVE                   1013
#define WID_USE_P_P                             1014
#define WID_USE_DASH                            1015
#define WID_USE_UPPER_CASE                      1016
#define WID_LABEL_CATEGORY                      1018
#define WID_LABEL_DISPLAY_TYPE                  1019
#define WID_USE_LEVEL_FROM_SOURCE               1020
#define WID_LEVEL_FORMAT                        1021
#define WID_LEVEL_PARAGRAPH_STYLES              1022
#define WID_HIDE_TABLEADER_PAGENUMBERS          1023
#define WID_TAB_IN_TOC                          1024
#define WID_MAIN_ENTRY_CHARACTER_STYLE_NAME     1025
#define WID_CREATE_FROM_TABLES                  1026
#define WID_CREATE_FROM_TEXT_FRAMES             1027
#define WID_CREATE_FROM_GRAPHIC_OBJECTS         1028
#define WID_CREATE_FROM_EMBEDDED_OBJECTS        1029
#define WID_CREATE_FROM_STAR_MATH               1030
#define WID_PROTECTED                           1031

#define WID_CREATE_FROM_STAR_CHART              1032
#define WID_CREATE_FROM_STAR_CALC               1033
#define WID_CREATE_FROM_STAR_DRAW               1034
#define WID_CREATE_FROM_OTHER_EMBEDDED_OBJECTS  1035
#define WID_USER_IDX_NAME                       1036
#define WID_PARA_HEAD                           1037
#define WID_PARA_SEP                            1038
#define WID_PARA_LEV1                           1039
#define WID_PARA_LEV2                           1040
#define WID_PARA_LEV3                           1041
#define WID_PARA_LEV4                           1042
#define WID_PARA_LEV5                           1043
#define WID_PARA_LEV6                           1044
#define WID_PARA_LEV7                           1045
#define WID_PARA_LEV8                           1046
#define WID_PARA_LEV9                           1047
#define WID_PARA_LEV10                          1048
#define WID_IS_COMMA_SEPARATED                  1049
#define WID_INDEX_MARKS                         1050
#define WID_IS_RELATIVE_TABSTOPS                1051
#define WID_CREATE_FROM_PARAGRAPH_STYLES        1052
#define WID_IDX_CONTENT_SECTION                 1053
#define WID_IDX_HEADER_SECTION                  1054
#define WID_IDX_LOCALE                          1055
#define WID_IDX_SORT_ALGORITHM                  1056
#define WID_IDX_NAME                            1057

#define WID_TEXT_READING                        1058
#define WID_PRIMARY_KEY_READING                 1059
#define WID_SECONDARY_KEY_READING               1060
#define WID_TOC_BOOKMARK                        1061
#define WID_TOC_NEWLINE                         1062
#define WID_TOC_PARAGRAPH_OUTLINE_LEVEL         1063
#define WID_CREATE_FROM_PARAGRAPH_STYLE         1064

// Text document
#define WID_DOC_CHAR_COUNT                      1000
#define WID_DOC_PARA_COUNT                      1001
#define WID_DOC_WORD_COUNT                      1002
#define WID_DOC_WORD_SEPARATOR                  1003
#define WID_DOC_CHANGES_SHOW                    1004
#define WID_DOC_CHANGES_RECORD                  1005
#define WID_DOC_AUTO_MARK_URL                   1006
#define WID_DOC_HIDE_TIPS                       1007
#define WID_DOC_REDLINE_DISPLAY                 1008
#define WID_DOC_FORBIDDEN_CHARS                 1009
#define WID_DOC_CHANGES_PASSWORD                1010
#define WID_DOC_TWO_DIGIT_YEAR                  1011
#define WID_DOC_AUTOMATIC_CONTROL_FOCUS         1012
#define WID_DOC_APPLY_FORM_DESIGN_MODE          1013
#define WID_DOC_BASIC_LIBRARIES                 1014
#define WID_DOC_RUNTIME_UID                     1015
#define WID_DOC_LOCK_UPDATES                    1016
#define WID_DOC_HAS_VALID_SIGNATURES            1017
#define WID_DOC_INTEROP_GRAB_BAG                1018
#define WID_DOC_WRITERFILTER                    1019
#define WID_DOC_BUILDID                         1024
#define WID_DOC_ISTEMPLATEID                    1025
#define WID_DOC_DEFAULT_PAGE_MODE               1069

// MailMerge
#define WID_SELECTION                           1071
#define WID_RESULT_SET                          1072
#define WID_CONNECTION                          1073
#define WID_MODEL                               1074
#define WID_DATA_SOURCE_NAME                    1075
#define WID_DATA_COMMAND                        1076
#define WID_FILTER                              1077
#define WID_DOCUMENT_URL                        1078
#define WID_OUTPUT_URL                          1079
#define WID_DATA_COMMAND_TYPE                   1080
#define WID_OUTPUT_TYPE                         1081
#define WID_ESCAPE_PROCESSING                   1082
#define WID_SINGLE_PRINT_JOBS                   1083
#define WID_FILE_NAME_FROM_COLUMN               1084
#define WID_FILE_NAME_PREFIX                    1085
#define WID_MAIL_SUBJECT                        1086
#define WID_ADDRESS_FROM_COLUMN                 1087
#define WID_SEND_AS_HTML                        1088
#define WID_SEND_AS_ATTACHMENT                  1089
#define WID_MAIL_BODY                           1090
#define WID_ATTACHMENT_NAME                     1091
#define WID_ATTACHMENT_FILTER                   1092
#define WID_PRINT_OPTIONS                       1093
#define WID_SAVE_AS_SINGLE_FILE                 1094
#define WID_SAVE_FILTER                         1095
#define WID_COPIES_TO                           1096
#define WID_BLIND_COPIES_TO                     1097
#define WID_IN_SERVER_PASSWORD                  1098
#define WID_OUT_SERVER_PASSWORD                 1099
#define WID_SAVE_FILTER_OPTIONS                 1100
#define WID_SAVE_FILTER_DATA                    1101

#define WID_PAGE_COUNT                          1100
#define WID_LINE_COUNT                          1101
#define WID_IS_CONSTANT_SPELLCHECK              1102
#define WID_IS_HIDE_SPELL_MARKS                 1103    /* deprecated #i91949 */

#define WID_LAYOUT_SIZE                         1104
#define WID_DOC_DIALOG_LIBRARIES                1105
#define WID_DOC_VBA_DOCOBJ                      1106

#define WID_DOC_ALLOW_LINK_UPDATE               1107

// AutoText
#define WID_GROUP_PATH                          0
#define WID_GROUP_TITLE                         1

// NumberingRules
#define WID_IS_AUTOMATIC                0
#define WID_CONTINUOUS                  1
#define WID_RULE_NAME                   2
#define WID_IS_ABS_MARGINS              3
#define WID_IS_OUTLINE                  4
#define WID_DEFAULT_LIST_ID             5

#define WID_PAGE_BOTTOM 0
#define WID_PAGE_LEFT   1
#define WID_PAGE_RIGHT  2
#define WID_PAGE_TOP    3
#define WID_PAGE_WIDTH  4
#define WID_PAGE_HEIGHT 5
#define WID_PAGE_NUMBER 6
#define WID_PAGE_ORIENT 7
#define WID_PAGE_USERATTRIBS 8
#define WID_PAGE_ISDARK 9
#define WID_NAVORDER 10
#define WID_PAGE_BACKFULL 11

#define WID_PAGE_THEME 12

// This define would need the include of <svx/unoshprp.hxx>, but this ends
// in a mess; there *are* double used symbols which are used in a #define in
// editengine and as an enum in sw; these will then collide and lead to severe
// problems which will be hard to detect at all (e.g. look for UNO_NAME_CHAR_COLOR).
// More of these are likely, so better use a local define here, but at least the same
// as in svx/inc/unoshprp.hxx
#define OWN_ATTR_FILLBMP_MODE   (OWN_ATTR_VALUE_START+45)

class SwUnoPropertyMapProvider
{
    std::span<SfxItemPropertyMapEntry const> m_aMapEntriesArr[PROPERTY_MAP_END];
    SfxItemPropertySet*             m_aPropertySetArr[PROPERTY_MAP_END];

public:
    SwUnoPropertyMapProvider();

    std::span<const SfxItemPropertyMapEntry> GetPropertyMapEntries(sal_uInt16 PropertyId);
    const SfxItemPropertySet*       GetPropertySet( sal_uInt16 PropertyId );

private:
    static std::span<const SfxItemPropertyMapEntry>  GetTextCursorPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetAccessibilityTextAttrPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetParagraphPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetAutoParaStylePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetCharStylePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetAutoCharStylePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetParaStylePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetConditionalParaStylePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetFrameStylePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetPageStylePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetTablePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetRangePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetSectionPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetFramePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetGraphicPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetEmbeddedPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetIndexMarkPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetContentMarkPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetUserMarkPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetTextTableCursorPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetBookmarkPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetParagraphExtensionsPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetTextPortionExtensionPropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetFootnotePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetRedlinePropertyMap();
    static std::span<const SfxItemPropertyMapEntry>  GetRedlinePortionPropertyMap();
    static std::span<SfxItemPropertyMapEntry>  GetTextDefaultPropertyMap();
    static std::span<const SfxItemPropertyMapEntry> GetLineBreakPropertyMap();
    static std::span<const SfxItemPropertyMapEntry> GetContentControlPropertyMap();
};

extern SwUnoPropertyMapProvider aSwMapProvider;
#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */