| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_xmloff.hxx" |
| #include "formenums.hxx" |
| #include <osl/diagnose.h> |
| #include <com/sun/star/form/FormSubmitEncoding.hpp> |
| #include <com/sun/star/form/FormSubmitMethod.hpp> |
| #include <com/sun/star/sdb/CommandType.hpp> |
| #include <com/sun/star/form/NavigationBarMode.hpp> |
| #include <com/sun/star/form/TabulatorCycle.hpp> |
| #include <com/sun/star/form/FormButtonType.hpp> |
| #include <com/sun/star/form/ListSourceType.hpp> |
| #include <com/sun/star/awt/TextAlign.hpp> |
| #include <com/sun/star/awt/FontWidth.hpp> |
| #include <com/sun/star/awt/FontEmphasisMark.hpp> |
| #include <com/sun/star/awt/FontRelief.hpp> |
| #include <com/sun/star/awt/ScrollBarOrientation.hpp> |
| #include <com/sun/star/awt/VisualEffect.hpp> |
| #include <com/sun/star/awt/ImageScaleMode.hpp> |
| #include <tools/wintypes.hxx> // for check states |
| #include <xmloff/xmltoken.hxx> |
| |
| //......................................................................... |
| namespace xmloff |
| { |
| //......................................................................... |
| |
| using namespace ::com::sun::star::form; |
| using namespace ::com::sun::star::sdb; |
| using namespace ::com::sun::star::awt; |
| using namespace ::xmloff::token; |
| |
| const SvXMLEnumMapEntry* OEnumMapper::s_pEnumMap[OEnumMapper::KNOWN_ENUM_PROPERTIES] = |
| { |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL, |
| NULL |
| }; |
| |
| //--------------------------------------------------------------------- |
| const SvXMLEnumMapEntry* OEnumMapper::getEnumMap(EnumProperties _eProperty) |
| { |
| OSL_ENSURE(_eProperty < KNOWN_ENUM_PROPERTIES, "OEnumMapper::getEnumMap: invalid index (this will crash)!"); |
| |
| const SvXMLEnumMapEntry*& rReturn = s_pEnumMap[_eProperty]; |
| if (!rReturn) |
| { |
| // the map for this property is not initialized yet |
| switch (_eProperty) |
| { |
| // FormSubmitEncoding |
| case epSubmitEncoding: |
| { |
| static SvXMLEnumMapEntry aSubmitEncodingMap[] = |
| { |
| { XML_APPLICATION_X_WWW_FORM_URLENCODED, FormSubmitEncoding_URL }, |
| { XML_MULTIPART_FORMDATA, FormSubmitEncoding_MULTIPART }, |
| { XML_APPLICATION_TEXT, FormSubmitEncoding_TEXT }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aSubmitEncodingMap; |
| } |
| break; |
| // FormSubmitMethod |
| case epSubmitMethod: |
| { |
| static SvXMLEnumMapEntry aSubmitMethodMap[] = |
| { |
| { XML_GET, FormSubmitMethod_GET }, |
| { XML_POST, FormSubmitMethod_POST }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aSubmitMethodMap; |
| } |
| break; |
| // CommandType |
| case epCommandType: |
| { |
| static SvXMLEnumMapEntry aCommandTypeMap[] = |
| { |
| { XML_TABLE, CommandType::TABLE }, |
| { XML_QUERY, CommandType::QUERY }, |
| { XML_COMMAND, CommandType::COMMAND }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aCommandTypeMap; |
| } |
| break; |
| // NavigationBarMode |
| case epNavigationType: |
| { |
| static SvXMLEnumMapEntry aNavigationTypeMap[] = |
| { |
| { XML_NONE, NavigationBarMode_NONE }, |
| { XML_CURRENT, NavigationBarMode_CURRENT }, |
| { XML_PARENT, NavigationBarMode_PARENT }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aNavigationTypeMap; |
| }; |
| break; |
| // TabulatorCycle |
| case epTabCyle: |
| { |
| static SvXMLEnumMapEntry aTabulytorCycleMap[] = |
| { |
| { XML_RECORDS, TabulatorCycle_RECORDS }, |
| { XML_CURRENT, TabulatorCycle_CURRENT }, |
| { XML_PAGE, TabulatorCycle_PAGE }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aTabulytorCycleMap; |
| }; |
| break; |
| // FormButtonType |
| case epButtonType: |
| { |
| static SvXMLEnumMapEntry aFormButtonTypeMap[] = |
| { |
| { XML_PUSH, FormButtonType_PUSH }, |
| { XML_SUBMIT, FormButtonType_SUBMIT }, |
| { XML_RESET, FormButtonType_RESET }, |
| { XML_URL, FormButtonType_URL }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aFormButtonTypeMap; |
| }; |
| break; |
| // ListSourceType |
| case epListSourceType: |
| { |
| static SvXMLEnumMapEntry aListSourceTypeMap[] = |
| { |
| { XML_VALUE_LIST, ListSourceType_VALUELIST }, |
| { XML_TABLE, ListSourceType_TABLE }, |
| { XML_QUERY, ListSourceType_QUERY }, |
| { XML_SQL, ListSourceType_SQL }, |
| { XML_SQL_PASS_THROUGH, ListSourceType_SQLPASSTHROUGH }, |
| { XML_TABLE_FIELDS, ListSourceType_TABLEFIELDS }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aListSourceTypeMap; |
| }; |
| break; |
| // check state of a checkbox |
| case epCheckState: |
| { |
| static SvXMLEnumMapEntry aCheckStateMap[] = |
| { |
| { XML_UNCHECKED, STATE_NOCHECK }, |
| { XML_CHECKED, STATE_CHECK }, |
| { XML_UNKNOWN, STATE_DONTKNOW }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aCheckStateMap; |
| }; |
| break; |
| case epTextAlign: |
| { |
| static SvXMLEnumMapEntry aTextAlignMap[] = |
| { |
| { XML_START, TextAlign::LEFT }, |
| { XML_CENTER, TextAlign::CENTER }, |
| { XML_END, TextAlign::RIGHT }, |
| { XML_JUSTIFY, (sal_uInt16)-1 }, |
| { XML_JUSTIFIED, (sal_uInt16)-1 }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aTextAlignMap; |
| }; |
| break; |
| case epBorderWidth: |
| { |
| static SvXMLEnumMapEntry aBorderTypeMap[] = |
| { |
| { XML_NONE, 0 }, |
| { XML_HIDDEN, 0 }, |
| { XML_SOLID, 2 }, |
| { XML_DOUBLE, 2 }, |
| { XML_DOTTED, 2 }, |
| { XML_DASHED, 2 }, |
| { XML_GROOVE, 1 }, |
| { XML_RIDGE, 1 }, |
| { XML_INSET, 1 }, |
| { XML_OUTSET, 1 }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aBorderTypeMap; |
| }; |
| break; |
| |
| case epFontEmphasis: |
| { |
| static SvXMLEnumMapEntry aFontEmphasisMap[] = |
| { |
| { XML_NONE, FontEmphasisMark::NONE }, |
| { XML_DOT, FontEmphasisMark::DOT }, |
| { XML_CIRCLE, FontEmphasisMark::CIRCLE }, |
| { XML_DISC, FontEmphasisMark::DISC }, |
| { XML_ACCENT, FontEmphasisMark::ACCENT }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aFontEmphasisMap; |
| } |
| break; |
| |
| case epFontRelief: |
| { |
| static SvXMLEnumMapEntry aFontReliefMap[] = |
| { |
| { XML_NONE, FontRelief::NONE }, |
| { XML_ENGRAVED, FontRelief::ENGRAVED }, |
| { XML_EMBOSSED, FontRelief::EMBOSSED }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aFontReliefMap; |
| } |
| break; |
| |
| case epListLinkageType: |
| { |
| static SvXMLEnumMapEntry aListLinkageMap[] = |
| { |
| { XML_SELECTION, 0 }, |
| { XML_SELECTION_INDEXES, 1 }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aListLinkageMap; |
| } |
| break; |
| |
| case epOrientation: |
| { |
| static SvXMLEnumMapEntry aOrientationMap[] = |
| { |
| { XML_HORIZONTAL, ScrollBarOrientation::HORIZONTAL }, |
| { XML_VERTICAL, ScrollBarOrientation::VERTICAL }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aOrientationMap; |
| } |
| break; |
| |
| case epVisualEffect: |
| { |
| static SvXMLEnumMapEntry aVisualEffectMap[] = |
| { |
| { XML_NONE, VisualEffect::NONE }, |
| { XML_3D, VisualEffect::LOOK3D }, |
| { XML_FLAT, VisualEffect::FLAT }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aVisualEffectMap; |
| } |
| break; |
| |
| case epImagePosition: |
| { |
| static SvXMLEnumMapEntry aImagePositionMap[] = |
| { |
| { XML_START, 0 }, |
| { XML_END, 1 }, |
| { XML_TOP, 2 }, |
| { XML_BOTTOM, 3 }, |
| { XML_CENTER, (sal_uInt16)-1 }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aImagePositionMap; |
| } |
| break; |
| |
| case epImageAlign: |
| { |
| static SvXMLEnumMapEntry aImageAlignMap[] = |
| { |
| { XML_START, 0 }, |
| { XML_CENTER, 1 }, |
| { XML_END, 2 }, |
| { XML_TOKEN_INVALID, 0 } |
| }; |
| rReturn = aImageAlignMap; |
| } |
| break; |
| |
| case epImageScaleMode: |
| { |
| static const SvXMLEnumMapEntry aScaleModeMap[] = |
| { |
| { XML_BACKGROUND_NO_REPEAT, ImageScaleMode::NONE }, |
| { XML_REPEAT, ImageScaleMode::NONE }, // repeating the image is not supported |
| { XML_STRETCH, ImageScaleMode::ANISOTROPIC }, |
| { XML_SCALE, ImageScaleMode::ISOTROPIC }, |
| { XML_TOKEN_INVALID, ImageScaleMode::NONE } |
| }; |
| rReturn = aScaleModeMap; |
| } |
| break; |
| |
| case KNOWN_ENUM_PROPERTIES: |
| break; |
| } |
| } |
| |
| return rReturn; |
| } |
| |
| //......................................................................... |
| } // namespace xmloff |
| //......................................................................... |
| |