summaryrefslogtreecommitdiff
path: root/sc/source/filter/xml/celltextparacontext.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-02-07 22:27:14 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-02-11 22:33:31 -0500
commit821521f757569c96ded6004bb2cb0d003481b55b (patch)
tree17b98a5a220f67cd8faf9535e036c02923d30099 /sc/source/filter/xml/celltextparacontext.hxx
parentfb61d3f82d127d9199ead8a3042d007d134eb937 (diff)
First cut on the re-work. Lots of things are still broken.
Change-Id: Iec54d5f04cef1e17375d7414a71bec64431905d5
Diffstat (limited to 'sc/source/filter/xml/celltextparacontext.hxx')
-rw-r--r--sc/source/filter/xml/celltextparacontext.hxx56
1 files changed, 56 insertions, 0 deletions
diff --git a/sc/source/filter/xml/celltextparacontext.hxx b/sc/source/filter/xml/celltextparacontext.hxx
new file mode 100644
index 000000000000..ecc68808f571
--- /dev/null
+++ b/sc/source/filter/xml/celltextparacontext.hxx
@@ -0,0 +1,56 @@
+/* -*- 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/.
+ */
+
+#ifndef __SC_XML_CELLTEXTPARACONTEXT_HXX__
+#define __SC_XML_CELLTEXTPARACONTEXT_HXX__
+
+#include "importcontext.hxx"
+
+class ScXMLImport;
+class ScXMLTableRowCellContext;
+
+/**
+ * This context handles <text:p> element inside <table:table-cell>.
+ */
+class ScXMLCellTextParaContext : public ScXMLImportContext
+{
+ ScXMLTableRowCellContext& mrParentCxt;
+ OUStringBuffer maContent;
+public:
+ ScXMLCellTextParaContext(ScXMLImport& rImport, sal_uInt16 nPrefix, const OUString& rLName, ScXMLTableRowCellContext& rParent);
+
+ virtual void StartElement(const com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList>& xAttrList);
+ virtual void EndElement();
+ virtual void Characters(const OUString& rChars);
+ virtual SvXMLImportContext* CreateChildContext(
+ sal_uInt16 nPrefix, const OUString& rLocalName, const com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList>& xAttrList);
+
+ void PushSpan(const OUString& rSpan);
+};
+
+/**
+ * This context handles <text:span> element inside <text:p>.
+ */
+class ScXMLCellTextSpanContext : public ScXMLImportContext
+{
+ ScXMLCellTextParaContext& mrParentCxt;
+ OUString maContent;
+public:
+ ScXMLCellTextSpanContext(ScXMLImport& rImport, sal_uInt16 nPrefix, const OUString& rLName, ScXMLCellTextParaContext& rParent);
+
+ virtual void StartElement(const com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList>& xAttrList);
+ virtual void EndElement();
+ virtual void Characters(const OUString& rChars);
+ virtual SvXMLImportContext* CreateChildContext(
+ sal_uInt16 nPrefix, const OUString& rLocalName, const com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList>& xAttrList);
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file