summaryrefslogtreecommitdiff
path: root/xmloff/source/forms/formenums.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xmloff/source/forms/formenums.cxx')
-rw-r--r--xmloff/source/forms/formenums.cxx348
1 files changed, 348 insertions, 0 deletions
diff --git a/xmloff/source/forms/formenums.cxx b/xmloff/source/forms/formenums.cxx
new file mode 100644
index 000000000000..aac623c79482
--- /dev/null
+++ b/xmloff/source/forms/formenums.cxx
@@ -0,0 +1,348 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 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
+//.........................................................................
+