1ecfe53c5SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3ecfe53c5SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4ecfe53c5SAndrew Rist * or more contributor license agreements. See the NOTICE file 5ecfe53c5SAndrew Rist * distributed with this work for additional information 6ecfe53c5SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7ecfe53c5SAndrew Rist * to you under the Apache License, Version 2.0 (the 8ecfe53c5SAndrew Rist * "License"); you may not use this file except in compliance 9ecfe53c5SAndrew Rist * with the License. You may obtain a copy of the License at 10ecfe53c5SAndrew Rist * 11ecfe53c5SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12ecfe53c5SAndrew Rist * 13ecfe53c5SAndrew Rist * Unless required by applicable law or agreed to in writing, 14ecfe53c5SAndrew Rist * software distributed under the License is distributed on an 15ecfe53c5SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16ecfe53c5SAndrew Rist * KIND, either express or implied. See the License for the 17ecfe53c5SAndrew Rist * specific language governing permissions and limitations 18ecfe53c5SAndrew Rist * under the License. 19ecfe53c5SAndrew Rist * 20ecfe53c5SAndrew Rist *************************************************************/ 21ecfe53c5SAndrew Rist 22ecfe53c5SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _XMLTEXTFRAMECONTEXT_HXX 25cdf0e10cSrcweir #define _XMLTEXTFRAMECONTEXT_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #ifndef _COM_SUN_STAR_TEXT_TEXTCONTENTANCHORTYPE_HPP 28cdf0e10cSrcweir #include <com/sun/star/text/TextContentAnchorType.hpp> 29cdf0e10cSrcweir #endif 30cdf0e10cSrcweir #include <xmloff/xmlictxt.hxx> 31*ddde725dSArmin Le Grand #include <xmloff/xmlmultiimagehelper.hxx> 32cdf0e10cSrcweir 33cdf0e10cSrcweir namespace com { namespace sun { namespace star { 34cdf0e10cSrcweir namespace text { class XTextCursor; class XTextContent; } 35cdf0e10cSrcweir } } } 36cdf0e10cSrcweir 37cdf0e10cSrcweir class SvXMLAttributeList; 38cdf0e10cSrcweir class XMLTextFrameContextHyperlink_Impl; 39cdf0e10cSrcweir 40*ddde725dSArmin Le Grand class XMLTextFrameContext : public SvXMLImportContext, public multiImageImportHelper 41cdf0e10cSrcweir { 42cdf0e10cSrcweir ::com::sun::star::uno::Reference< 43cdf0e10cSrcweir ::com::sun::star::xml::sax::XAttributeList > m_xAttrList; 44cdf0e10cSrcweir 45cdf0e10cSrcweir SvXMLImportContextRef m_xImplContext; 46cdf0e10cSrcweir SvXMLImportContextRef m_xReplImplContext; 47cdf0e10cSrcweir SvXMLAttributeList *m_pAttrList; 48cdf0e10cSrcweir 49cdf0e10cSrcweir XMLTextFrameContextHyperlink_Impl *m_pHyperlink; 50cdf0e10cSrcweir // --> OD 2009-07-22 #i73249# 51cdf0e10cSrcweir ::rtl::OUString m_sTitle; 52cdf0e10cSrcweir // <-- 53cdf0e10cSrcweir ::rtl::OUString m_sDesc; 54cdf0e10cSrcweir 55cdf0e10cSrcweir ::com::sun::star::text::TextContentAnchorType m_eDefaultAnchorType; 56cdf0e10cSrcweir 57cdf0e10cSrcweir // --> OD 2006-03-10 #i51726# 58cdf0e10cSrcweir // The <draw:name> can longer be used to distinguish Writer graphic/text box 59cdf0e10cSrcweir // objects and Draw graphic/text box objects. 60cdf0e10cSrcweir // The new distinguish attribute is the parent style of the automatic style 61cdf0e10cSrcweir // of the object. All Draw objects have an automatic style without a parent style. 62cdf0e10cSrcweir sal_Bool m_HasAutomaticStyleWithoutParentStyle; 63cdf0e10cSrcweir // <-- 64cdf0e10cSrcweir sal_Bool m_bSupportsReplacement; 65cdf0e10cSrcweir 66cdf0e10cSrcweir sal_Bool CreateIfNotThere(); 67cdf0e10cSrcweir sal_Bool CreateIfNotThere( ::com::sun::star::uno::Reference < 68cdf0e10cSrcweir ::com::sun::star::beans::XPropertySet >& rPropSet ); 69cdf0e10cSrcweir 70*ddde725dSArmin Le Grand protected: 71*ddde725dSArmin Le Grand /// helper to get the created xShape instance, needs to be overloaded 72*ddde725dSArmin Le Grand virtual rtl::OUString getGraphicURLFromImportContext(const SvXMLImportContext& rContext) const; 73*ddde725dSArmin Le Grand virtual void removeGraphicFromImportContext(const SvXMLImportContext& rContext) const; 74*ddde725dSArmin Le Grand 75cdf0e10cSrcweir public: 76cdf0e10cSrcweir 77cdf0e10cSrcweir TYPEINFO(); 78cdf0e10cSrcweir 79cdf0e10cSrcweir XMLTextFrameContext( SvXMLImport& rImport, 80cdf0e10cSrcweir sal_uInt16 nPrfx, 81cdf0e10cSrcweir const ::rtl::OUString& rLName, 82cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 83cdf0e10cSrcweir ::com::sun::star::xml::sax::XAttributeList > & xAttrList, 84cdf0e10cSrcweir ::com::sun::star::text::TextContentAnchorType eDfltAnchorType ); 85cdf0e10cSrcweir virtual ~XMLTextFrameContext(); 86cdf0e10cSrcweir 87cdf0e10cSrcweir virtual void EndElement(); 88cdf0e10cSrcweir 89cdf0e10cSrcweir SvXMLImportContext *CreateChildContext( sal_uInt16 nPrefix, 90cdf0e10cSrcweir const ::rtl::OUString& rLocalName, 91cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 92cdf0e10cSrcweir ::com::sun::star::xml::sax::XAttributeList > & xAttrList ); 93cdf0e10cSrcweir 94cdf0e10cSrcweir void SetHyperlink( const ::rtl::OUString& rHRef, 95cdf0e10cSrcweir const ::rtl::OUString& rName, 96cdf0e10cSrcweir const ::rtl::OUString& rTargetFrameName, 97cdf0e10cSrcweir sal_Bool bMap ); 98cdf0e10cSrcweir 99cdf0e10cSrcweir ::com::sun::star::text::TextContentAnchorType GetAnchorType() const; 100cdf0e10cSrcweir 101cdf0e10cSrcweir ::com::sun::star::uno::Reference < 102cdf0e10cSrcweir ::com::sun::star::text::XTextContent > GetTextContent() const; 103cdf0e10cSrcweir // --> OD 2004-08-24 #i33242# 104cdf0e10cSrcweir ::com::sun::star::uno::Reference < 105cdf0e10cSrcweir ::com::sun::star::drawing::XShape > GetShape() const; 106cdf0e10cSrcweir // <-- 107cdf0e10cSrcweir }; 108cdf0e10cSrcweir 109cdf0e10cSrcweir 110cdf0e10cSrcweir #endif 111