| /************************************************************** |
| * |
| * 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. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef _XIMPSTYLE_HXX |
| #define _XIMPSTYLE_HXX |
| |
| #include <xmloff/xmlictxt.hxx> |
| #include "sdxmlimp_impl.hxx" |
| #include "ximppage.hxx" |
| #include <xmloff/xmlstyle.hxx> |
| #include <com/sun/star/view/PaperOrientation.hpp> |
| |
| class SvNumberFormatter; |
| class SvXMLNumFmtHelper; |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // special style:style context inside style:page-master context |
| |
| class SdXMLPageMasterStyleContext: public SvXMLStyleContext |
| { |
| sal_Int32 mnBorderBottom; |
| sal_Int32 mnBorderLeft; |
| sal_Int32 mnBorderRight; |
| sal_Int32 mnBorderTop; |
| sal_Int32 mnWidth; |
| sal_Int32 mnHeight; |
| com::sun::star::view::PaperOrientation meOrientation; |
| |
| const SdXMLImport& GetSdImport() const { return (const SdXMLImport&)GetImport(); } |
| SdXMLImport& GetSdImport() { return (SdXMLImport&)GetImport(); } |
| |
| public: |
| TYPEINFO(); |
| |
| SdXMLPageMasterStyleContext( |
| SdXMLImport& rImport, |
| sal_uInt16 nPrfx, |
| const rtl::OUString& rLName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList); |
| virtual ~SdXMLPageMasterStyleContext(); |
| |
| sal_Int32 GetBorderBottom() const { return mnBorderBottom; } |
| sal_Int32 GetBorderLeft() const { return mnBorderLeft; } |
| sal_Int32 GetBorderRight() const { return mnBorderRight; } |
| sal_Int32 GetBorderTop() const { return mnBorderTop; } |
| sal_Int32 GetWidth() const { return mnWidth; } |
| sal_Int32 GetHeight() const { return mnHeight; } |
| com::sun::star::view::PaperOrientation GetOrientation() const { return meOrientation; } |
| }; |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // style:page-master context |
| |
| class SdXMLPageMasterContext: public SvXMLStyleContext |
| { |
| rtl::OUString msName; |
| SdXMLPageMasterStyleContext*mpPageMasterStyle; |
| |
| const SdXMLImport& GetSdImport() const { return (const SdXMLImport&)GetImport(); } |
| SdXMLImport& GetSdImport() { return (SdXMLImport&)GetImport(); } |
| |
| public: |
| TYPEINFO(); |
| |
| SdXMLPageMasterContext( |
| SdXMLImport& rImport, |
| sal_uInt16 nPrfx, |
| const rtl::OUString& rLName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList); |
| virtual ~SdXMLPageMasterContext(); |
| |
| virtual SvXMLImportContext *CreateChildContext( |
| sal_uInt16 nPrefix, const rtl::OUString& rLocalName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList ); |
| |
| const rtl::OUString& GetName() const { return msName; } |
| const SdXMLPageMasterStyleContext* GetPageMasterStyle() const { return mpPageMasterStyle; } |
| }; |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // style:masterpage context |
| |
| class SdXMLMasterPageContext: public SdXMLGenericPageContext |
| { |
| rtl::OUString msPageMasterName; |
| rtl::OUString msName; |
| rtl::OUString msDisplayName; |
| rtl::OUString msStyleName; |
| |
| public: |
| TYPEINFO(); |
| |
| SdXMLMasterPageContext( |
| SdXMLImport& rImport, |
| sal_uInt16 nPrfx, |
| const rtl::OUString& rLName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList, |
| com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes); |
| virtual ~SdXMLMasterPageContext(); |
| |
| virtual SvXMLImportContext *CreateChildContext( |
| sal_uInt16 nPrefix, const rtl::OUString& rLocalName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList ); |
| |
| virtual void EndElement(); |
| |
| const rtl::OUString& GetPageMasterName() const { return msPageMasterName; } |
| const rtl::OUString& GetEncodedName() const { return msName; } |
| const rtl::OUString& GetDisplayName() const { return msDisplayName; } |
| |
| }; |
| DECLARE_LIST(ImpMasterPageList, SdXMLMasterPageContext*) |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // presentation:placeholder context |
| |
| class SdXMLPresentationPlaceholderContext: public SvXMLImportContext |
| { |
| rtl::OUString msName; |
| sal_Int32 mnX; |
| sal_Int32 mnY; |
| sal_Int32 mnWidth; |
| sal_Int32 mnHeight; |
| |
| const SdXMLImport& GetSdImport() const { return (const SdXMLImport&)GetImport(); } |
| SdXMLImport& GetSdImport() { return (SdXMLImport&)GetImport(); } |
| |
| public: |
| SdXMLPresentationPlaceholderContext( |
| SdXMLImport& rImport, |
| sal_uInt16 nPrfx, |
| const rtl::OUString& rLName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList); |
| virtual ~SdXMLPresentationPlaceholderContext(); |
| |
| const rtl::OUString& GetName() const { return msName; } |
| sal_Int32 GetX() const { return mnX; } |
| sal_Int32 GetY() const { return mnY; } |
| sal_Int32 GetWidth() const { return mnWidth; } |
| sal_Int32 GetHeight() const { return mnHeight; } |
| }; |
| DECLARE_LIST(ImpPlaceholderList, SdXMLPresentationPlaceholderContext*) |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // style:presentation-page-layout context |
| |
| class SdXMLPresentationPageLayoutContext: public SvXMLStyleContext |
| { |
| rtl::OUString msName; |
| ImpPlaceholderList maList; |
| sal_uInt16 mnTypeId; |
| |
| const SdXMLImport& GetSdImport() const { return (const SdXMLImport&)GetImport(); } |
| SdXMLImport& GetSdImport() { return (SdXMLImport&)GetImport(); } |
| |
| public: |
| TYPEINFO(); |
| |
| SdXMLPresentationPageLayoutContext( |
| SdXMLImport& rImport, |
| sal_uInt16 nPrfx, |
| const rtl::OUString& rLName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList); |
| virtual ~SdXMLPresentationPageLayoutContext(); |
| |
| virtual SvXMLImportContext *CreateChildContext( |
| sal_uInt16 nPrefix, const rtl::OUString& rLocalName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList ); |
| |
| virtual void EndElement(); |
| sal_uInt16 GetTypeId() const { return mnTypeId; } |
| }; |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // office:styles context |
| |
| class SdXMLStylesContext : public SvXMLStylesContext |
| { |
| UniReference< SvXMLImportPropertyMapper > xPresImpPropMapper; |
| sal_Bool mbIsAutoStyle; |
| SvXMLNumFmtHelper* mpNumFmtHelper; |
| SvNumberFormatter* mpNumFormatter; |
| |
| const SdXMLImport& GetSdImport() const { return (const SdXMLImport&)GetImport(); } |
| SdXMLImport& GetSdImport() { return (SdXMLImport&)GetImport(); } |
| |
| void ImpSetGraphicStyles() const; |
| void ImpSetCellStyles() const; |
| void ImpSetGraphicStyles( com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >& xPageStyles, |
| sal_uInt16 nFamily, const UniString& rPrefix) const; |
| |
| protected: |
| virtual SvXMLStyleContext* CreateStyleChildContext( |
| sal_uInt16 nPrefix, |
| const rtl::OUString& rLocalName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList); |
| |
| virtual SvXMLStyleContext *CreateStyleStyleChildContext( |
| sal_uInt16 nFamily, |
| sal_uInt16 nPrefix, |
| const rtl::OUString& rLocalName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList); |
| |
| virtual SvXMLStyleContext *CreateDefaultStyleStyleChildContext( |
| sal_uInt16 nFamily, sal_uInt16 nPrefix, |
| const ::rtl::OUString& rLocalName, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::xml::sax::XAttributeList > & xAttrList ); |
| public: |
| TYPEINFO(); |
| |
| SdXMLStylesContext( |
| SdXMLImport& rImport, |
| sal_uInt16 nPrfx, |
| const rtl::OUString& rLName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList, |
| sal_Bool bIsAutoStyle); |
| virtual ~SdXMLStylesContext(); |
| |
| virtual sal_uInt16 GetFamily( const rtl::OUString& rFamily ) const; |
| virtual void EndElement(); |
| virtual UniReference< SvXMLImportPropertyMapper > GetImportPropertyMapper(sal_uInt16 nFamily) const; |
| |
| void SetMasterPageStyles(SdXMLMasterPageContext& rMaster) const; |
| |
| ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > getPageLayouts() const; |
| }; |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // office:master-styles context |
| // |
| class SdXMLMasterStylesContext : public SvXMLImportContext |
| { |
| ImpMasterPageList maMasterPageList; |
| |
| const SdXMLImport& GetSdImport() const { return (const SdXMLImport&)GetImport(); } |
| SdXMLImport& GetSdImport() { return (SdXMLImport&)GetImport(); } |
| |
| public: |
| TYPEINFO(); |
| |
| SdXMLMasterStylesContext( |
| SdXMLImport& rImport, |
| sal_uInt16 nPrfx, |
| const rtl::OUString& rLName); |
| virtual ~SdXMLMasterStylesContext(); |
| |
| virtual SvXMLImportContext* CreateChildContext( |
| sal_uInt16 nPrefix, |
| const rtl::OUString& rLocalName, |
| const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList ); |
| |
| const ImpMasterPageList& GetMasterPageList() const { return maMasterPageList; } |
| }; |
| |
| ////////////////////////////////////////////////////////////////////////////// |
| // <pres:header-decl>, <pres:footer-decl> and <pres:date-time-decl> |
| |
| class SdXMLHeaderFooterDeclContext : public SvXMLStyleContext |
| { |
| public: |
| SdXMLHeaderFooterDeclContext( SvXMLImport& rImport, sal_uInt16 nPrfx, |
| const ::rtl::OUString& rLName, |
| const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList ); |
| |
| virtual sal_Bool IsTransient() const; |
| virtual void EndElement(); |
| virtual void Characters( const ::rtl::OUString& rChars ); |
| |
| private: |
| ::rtl::OUString maStrName; |
| ::rtl::OUString maStrText; |
| ::rtl::OUString maStrDateTimeFormat; |
| sal_Bool mbFixed; |
| }; |
| |
| |
| #endif // _XIMPSTYLE_HXX |