1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_sw.hxx" 26 27 28 #include <editeng/memberids.hrc> 29 #include <hintids.hxx> 30 #include <svx/unomid.hxx> 31 #include <xmloff/xmlnmspe.hxx> 32 #include "xmlitmap.hxx" 33 #include <xmloff/xmltoken.hxx> 34 35 #ifndef _UNOMID_H 36 #include <unomid.h> 37 #endif 38 39 using namespace ::xmloff::token; 40 41 #define MAP_ENTRY( p, l, w, m ) \ 42 { XML_NAMESPACE_##p, XML_##l, w, m } 43 #define M_E_SI( p, l, w, m ) \ 44 { XML_NAMESPACE_##p, XML_##l, w, MID_SW_FLAG_SPECIAL_ITEM_IMPORT|m } 45 #define M_E_SE( p, l, w, m ) \ 46 { XML_NAMESPACE_##p, XML_##l, w, MID_SW_FLAG_SPECIAL_ITEM_EXPORT|m } 47 #define M_E_SIE( p, l, w, m ) \ 48 { XML_NAMESPACE_##p, XML_##l, w, MID_SW_FLAG_SPECIAL_ITEM_EXPORT|MID_SW_FLAG_SPECIAL_ITEM_IMPORT|m } 49 50 #define M_END { 0, XML_TOKEN_INVALID, 0, 0 } 51 52 SvXMLItemMapEntry aXMLTableItemMap[] = 53 { 54 // RES_FILL_ORDER 55 // not required 56 // RES_FRM_SIZE 57 M_E_SE( STYLE, WIDTH, RES_FRM_SIZE, MID_FRMSIZE_WIDTH ), 58 M_E_SE( STYLE, REL_WIDTH, RES_FRM_SIZE, MID_FRMSIZE_REL_WIDTH ), 59 // RES_PAPER_BIN 60 // not required 61 // TODO: RES_LR_SPACE 62 M_E_SE( FO, MARGIN, 0xFFFF/*invalid*/, MID_SW_FLAG_NO_ITEM_IMPORT), 63 M_E_SIE( FO, MARGIN_LEFT, RES_LR_SPACE, MID_L_MARGIN ), 64 M_E_SIE( FO, MARGIN_RIGHT, RES_LR_SPACE, MID_R_MARGIN ), 65 // RES_UL_SPACE 66 M_E_SI( FO, MARGIN_TOP, RES_UL_SPACE, MID_UP_MARGIN ), 67 M_E_SI( FO, MARGIN_BOTTOM, RES_UL_SPACE, MID_LO_MARGIN ), 68 // RES_PAGEDESC 69 MAP_ENTRY( STYLE, PAGE_NUMBER, RES_PAGEDESC, MID_PAGEDESC_PAGENUMOFFSET), 70 // RES_BREAK 71 MAP_ENTRY( FO, BREAK_BEFORE, RES_BREAK, MID_BREAK_BEFORE ), 72 MAP_ENTRY( FO, BREAK_AFTER, RES_BREAK, MID_BREAK_AFTER ), 73 // RES_CNTNT 74 // not required 75 // RES_HEADER 76 // not required 77 // RES_FOOTER 78 // not required 79 // RES_PRINT 80 // not required 81 // RES_OPAQUE 82 // not required 83 // RES_PROTECT 84 // not required 85 // RES_SURROUND 86 // not required 87 // RES_VERT_ORIENT 88 // not required 89 // RES_HORI_ORIENT 90 MAP_ENTRY( TABLE, ALIGN, RES_HORI_ORIENT, 0 ), 91 // RES_ANCHOR 92 // not required 93 // RES_BACKGROUND 94 MAP_ENTRY( FO, BACKGROUND_COLOR, RES_BACKGROUND, MID_BACK_COLOR ), 95 MAP_ENTRY( STYLE, BACKGROUND_IMAGE, RES_BACKGROUND, MID_SW_FLAG_ELEMENT_ITEM ), 96 // RES_BOX 97 // not required 98 // RES_SHADOW 99 MAP_ENTRY( STYLE, SHADOW, RES_SHADOW, 0 ), 100 // RES_FRMMACRO 101 // not required 102 // RES_COL 103 // not required 104 // RES_KEEP 105 MAP_ENTRY( FO, KEEP_WITH_NEXT, RES_KEEP, 0 ), 106 // RES_URL 107 // not required 108 // RES_EDIT_IN_READONLY 109 // not required 110 // RES_LAYOUT_SPLIT 111 MAP_ENTRY( STYLE, MAY_BREAK_BETWEEN_ROWS, RES_LAYOUT_SPLIT, 0 ), 112 // RES_CHAIN 113 // not required 114 // RES_LINENUMBER 115 // not required 116 // RES_FTN_AT_TXTEND 117 // not required 118 // RES_END_AT_TXTEND 119 // not required 120 // RES_UNKNOWNATR_CONTAINER 121 M_E_SE( TEXT, XMLNS, RES_UNKNOWNATR_CONTAINER, 0 ), 122 123 // RES_FRAMEDIR 124 MAP_ENTRY( STYLE, WRITING_MODE, RES_FRAMEDIR, 0 ), 125 126 // RES_COLLAPSING_BORDERS 127 MAP_ENTRY( TABLE, BORDER_MODEL, RES_COLLAPSING_BORDERS, 0 ), 128 129 M_END 130 }; 131 132 SvXMLItemMapEntry aXMLTableColItemMap[] = 133 { 134 M_E_SI( STYLE, COLUMN_WIDTH, RES_FRM_SIZE, MID_FRMSIZE_COL_WIDTH ), 135 MAP_ENTRY( STYLE, REL_COLUMN_WIDTH, RES_FRM_SIZE, MID_FRMSIZE_REL_COL_WIDTH ), 136 M_END 137 }; 138 139 SvXMLItemMapEntry aXMLTableRowItemMap[] = 140 { 141 // RES_FILL_ORDER 142 // not required 143 // RES_FRM_SIZE 144 MAP_ENTRY( STYLE, ROW_HEIGHT, RES_FRM_SIZE, MID_FRMSIZE_FIX_HEIGHT ), 145 MAP_ENTRY( STYLE, MIN_ROW_HEIGHT, RES_FRM_SIZE, MID_FRMSIZE_MIN_HEIGHT ), 146 // RES_PAPER_BIN 147 // not required 148 // RES_LR_SPACE 149 // not required 150 // RES_UL_SPACE 151 // not required 152 // RES_PAGEDESC 153 // not required 154 // RES_BREAK 155 // not required 156 // RES_CNTNT 157 // not required 158 // RES_HEADER 159 // not required 160 // RES_FOOTER 161 // not required 162 // RES_PRINT 163 // not required 164 // RES_OPAQUE 165 // not required 166 // RES_PROTECT 167 // not required 168 // RES_SURROUND 169 // not required 170 // RES_VERT_ORIENT 171 // not required 172 // RES_HORI_ORIENT 173 // not required 174 // RES_ANCHOR 175 // not required 176 // RES_BACKGROUND 177 MAP_ENTRY( FO, BACKGROUND_COLOR, RES_BACKGROUND, MID_BACK_COLOR ), 178 MAP_ENTRY( STYLE, BACKGROUND_IMAGE, RES_BACKGROUND, MID_SW_FLAG_ELEMENT_ITEM ), 179 // RES_BOX 180 // not required 181 // RES_ANCHOR 182 // not required 183 // RES_SHADOW 184 // not required 185 // RES_FRMMACRO 186 // not required 187 // RES_COL 188 // not required 189 // RES_KEEP 190 // not required 191 // RES_URL 192 // not required 193 // RES_EDIT_IN_READONLY 194 // not required 195 // RES_LAYOUT_SPLIT 196 M_E_SE( STYLE, KEEP_TOGETHER, RES_ROW_SPLIT, 0 ), 197 M_E_SE( FO, KEEP_TOGETHER, RES_ROW_SPLIT, 0 ), 198 // RES_CHAIN 199 // not required 200 // RES_LINENUMBER 201 // not required 202 // RES_FTN_AT_TXTEND 203 // not required 204 // RES_END_AT_TXTEND 205 // not required 206 // RES_UNKNOWNATR_CONTAINER 207 M_E_SE( TEXT, XMLNS, RES_UNKNOWNATR_CONTAINER, 0 ), 208 M_END 209 }; 210 211 SvXMLItemMapEntry aXMLTableCellItemMap[] = 212 { 213 // RES_FILL_ORDER 214 // not required 215 // RES_FRM_SIZE 216 // not required 217 // RES_PAPER_BIN 218 // not required 219 // RES_LR_SPACE 220 // not required 221 // RES_UL_SPACE 222 // not required 223 // RES_PAGEDESC 224 // not required 225 // RES_BREAK 226 // not required 227 // RES_CNTNT 228 // not required 229 // RES_HEADER 230 // not required 231 // RES_FOOTER 232 // not required 233 // RES_PRINT 234 // not required 235 // RES_OPAQUE 236 // not required 237 // RES_PROTECT 238 // not required 239 // RES_SURROUND 240 // not required 241 // RES_VERT_ORIENT 242 MAP_ENTRY( STYLE, VERTICAL_ALIGN, RES_VERT_ORIENT, 0 ), 243 // RES_HORI_ORIENT 244 // not required 245 // RES_ANCHOR 246 // not required 247 // RES_BACKGROUND 248 MAP_ENTRY( FO, BACKGROUND_COLOR, RES_BACKGROUND, MID_BACK_COLOR ), 249 MAP_ENTRY( STYLE, BACKGROUND_IMAGE, RES_BACKGROUND, MID_SW_FLAG_ELEMENT_ITEM ), 250 // RES_BOX 251 MAP_ENTRY( STYLE, BORDER_LINE_WIDTH, RES_BOX, ALL_BORDER_LINE_WIDTH ), 252 MAP_ENTRY( STYLE, BORDER_LINE_WIDTH_LEFT, RES_BOX, LEFT_BORDER_LINE_WIDTH ), 253 MAP_ENTRY( STYLE, BORDER_LINE_WIDTH_RIGHT, RES_BOX, RIGHT_BORDER_LINE_WIDTH ), 254 MAP_ENTRY( STYLE, BORDER_LINE_WIDTH_TOP, RES_BOX, TOP_BORDER_LINE_WIDTH ), 255 MAP_ENTRY( STYLE, BORDER_LINE_WIDTH_BOTTOM, RES_BOX, BOTTOM_BORDER_LINE_WIDTH ), 256 MAP_ENTRY( FO, PADDING, RES_BOX, ALL_BORDER_PADDING ), 257 MAP_ENTRY( FO, PADDING_LEFT, RES_BOX, LEFT_BORDER_PADDING ), 258 MAP_ENTRY( FO, PADDING_RIGHT, RES_BOX, RIGHT_BORDER_PADDING ), 259 MAP_ENTRY( FO, PADDING_TOP, RES_BOX, TOP_BORDER_PADDING ), 260 MAP_ENTRY( FO, PADDING_BOTTOM, RES_BOX, BOTTOM_BORDER_PADDING ), 261 MAP_ENTRY( FO, BORDER, RES_BOX, ALL_BORDER ), 262 MAP_ENTRY( FO, BORDER_LEFT, RES_BOX, LEFT_BORDER ), 263 MAP_ENTRY( FO, BORDER_RIGHT, RES_BOX, RIGHT_BORDER ), 264 MAP_ENTRY( FO, BORDER_TOP, RES_BOX, TOP_BORDER ), 265 MAP_ENTRY( FO, BORDER_BOTTOM, RES_BOX, BOTTOM_BORDER ), 266 // RES_SHADOW 267 // not required 268 // RES_FRMMACRO 269 // not required 270 // RES_COL 271 // not required 272 // RES_KEEP 273 // not required 274 // RES_URL 275 // not required 276 // RES_EDIT_IN_READONLY 277 // not required 278 // RES_LAYOUT_SPLIT 279 // not required 280 // RES_CHAIN 281 // not required 282 // RES_LINENUMBER 283 // not required 284 // RES_FTN_AT_TXTEND 285 // not required 286 // RES_END_AT_TXTEND 287 // not required 288 // RES_UNKNOWNATR_CONTAINER 289 M_E_SE( TEXT, XMLNS, RES_UNKNOWNATR_CONTAINER, 0 ), 290 291 // RES_FRAMEDIR 292 MAP_ENTRY( STYLE, WRITING_MODE, RES_FRAMEDIR, 0 ), 293 294 M_END 295 }; 296