summaryrefslogtreecommitdiff
path: root/include/xmloff/controlpropertyhdl.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/xmloff/controlpropertyhdl.hxx')
-rw-r--r--include/xmloff/controlpropertyhdl.hxx136
1 files changed, 136 insertions, 0 deletions
diff --git a/include/xmloff/controlpropertyhdl.hxx b/include/xmloff/controlpropertyhdl.hxx
new file mode 100644
index 000000000000..3e2cbfd51e23
--- /dev/null
+++ b/include/xmloff/controlpropertyhdl.hxx
@@ -0,0 +1,136 @@
+/* -*- 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 _XMLOFF_FORMS_CONTROLPROPERTYHDL_HXX_
+#define _XMLOFF_FORMS_CONTROLPROPERTYHDL_HXX_
+
+#include "sal/config.h"
+#include "xmloff/dllapi.h"
+#include <xmloff/prhdlfac.hxx>
+#include <rtl/ref.hxx>
+#include <rtl/ustring.hxx>
+#include <xmloff/xmlexppr.hxx>
+#include <xmloff/XMLConstantsPropertyHandler.hxx>
+
+struct SvXMLEnumMapEntry;
+class Color;
+//.........................................................................
+namespace xmloff
+{
+//.........................................................................
+
+ class IFormsExportContext;
+ class OFormLayerXMLImport_Impl;
+
+ //=====================================================================
+ //= ORotationAngleHandler
+ //=====================================================================
+ class ORotationAngleHandler : public XMLPropertyHandler
+ {
+ public:
+ ORotationAngleHandler();
+
+ virtual sal_Bool importXML( const OUString& _rStrImpValue, ::com::sun::star::uno::Any& _rValue, const SvXMLUnitConverter& _rUnitConverter ) const;
+ virtual sal_Bool exportXML( OUString& _rStrExpValue, const ::com::sun::star::uno::Any& _rValue, const SvXMLUnitConverter& _rUnitConverter ) const;
+ };
+
+ //=====================================================================
+ //= OFontWidthHandler
+ //=====================================================================
+ class OFontWidthHandler : public XMLPropertyHandler
+ {
+ public:
+ OFontWidthHandler();
+
+ virtual sal_Bool importXML( const OUString& _rStrImpValue, ::com::sun::star::uno::Any& _rValue, const SvXMLUnitConverter& _rUnitConverter ) const;
+ virtual sal_Bool exportXML( OUString& _rStrExpValue, const ::com::sun::star::uno::Any& _rValue, const SvXMLUnitConverter& _rUnitConverter ) const;
+ };
+
+ //=====================================================================
+ //= OControlBorderHandlerBase
+ //=====================================================================
+ class OControlBorderHandler : public XMLPropertyHandler
+ {
+ public:
+ enum BorderFacet
+ {
+ STYLE,
+ COLOR
+ };
+
+ OControlBorderHandler( const BorderFacet _eFacet );
+
+ virtual sal_Bool importXML( const OUString& _rStrImpValue, ::com::sun::star::uno::Any& _rValue, const SvXMLUnitConverter& _rUnitConverter ) const;
+ virtual sal_Bool exportXML( OUString& _rStrExpValue, const ::com::sun::star::uno::Any& _rValue, const SvXMLUnitConverter& _rUnitConverter ) const;
+
+ private:
+ BorderFacet m_eFacet;
+ };
+
+ //=====================================================================
+ //= OControlTextEmphasisHandler
+ //=====================================================================
+ class OControlTextEmphasisHandler : public XMLPropertyHandler
+ {
+ public:
+ OControlTextEmphasisHandler();
+
+ virtual sal_Bool importXML( const OUString& _rStrImpValue, ::com::sun::star::uno::Any& _rValue, const SvXMLUnitConverter& _rUnitConverter ) const;
+ virtual sal_Bool exportXML( OUString& _rStrExpValue, const ::com::sun::star::uno::Any& _rValue, const SvXMLUnitConverter& _rUnitConverter ) const;
+ };
+
+ //=====================================================================
+ //= ImageScaleModeHandler
+ //=====================================================================
+ class XMLOFF_DLLPUBLIC ImageScaleModeHandler : public XMLConstantsPropertyHandler
+ {
+ public:
+ ImageScaleModeHandler();
+ };
+
+ //=====================================================================
+ //= OControlPropertyHandlerFactory
+ //=====================================================================
+ class XMLOFF_DLLPUBLIC OControlPropertyHandlerFactory : public XMLPropertyHandlerFactory
+ {
+ protected:
+ mutable XMLConstantsPropertyHandler* m_pTextAlignHandler;
+ mutable OControlBorderHandler* m_pControlBorderStyleHandler;
+ mutable OControlBorderHandler* m_pControlBorderColorHandler;
+ mutable ORotationAngleHandler* m_pRotationAngleHandler;
+ mutable OFontWidthHandler* m_pFontWidthHandler;
+ mutable XMLConstantsPropertyHandler* m_pFontEmphasisHandler;
+ mutable XMLConstantsPropertyHandler* m_pFontReliefHandler;
+
+ protected:
+ virtual ~OControlPropertyHandlerFactory();
+
+ public:
+ OControlPropertyHandlerFactory();
+
+ virtual const XMLPropertyHandler* GetPropertyHandler(sal_Int32 _nType) const;
+ };
+
+//.........................................................................
+} // namespace xmloff
+//.........................................................................
+
+#endif // _XMLOFF_FORMS_CONTROLPROPERTYHDL_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */