diff options
Diffstat (limited to 'sw/inc/unomap.hxx')
-rw-r--r-- | sw/inc/unomap.hxx | 383 |
1 files changed, 383 insertions, 0 deletions
diff --git a/sw/inc/unomap.hxx b/sw/inc/unomap.hxx new file mode 100644 index 0000000000..c4299ea2ff --- /dev/null +++ b/sw/inc/unomap.hxx @@ -0,0 +1,383 @@ +/* -*- 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 + +// 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: */ |