| /************************************************************** |
| * |
| * 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 XMLOFF_TEXTIMP_HXX |
| #define XMLOFF_TEXTIMP_HXX |
| |
| #include "sal/config.h" |
| #include "xmloff/dllapi.h" |
| #include "sal/types.h" |
| #include <com/sun/star/uno/Reference.h> |
| |
| #include <map> |
| #include <memory> |
| #include <boost/utility.hpp> |
| #include <boost/shared_ptr.hpp> |
| |
| #include <tools/list.hxx> |
| #include <xmloff/xmltkmap.hxx> |
| |
| // xmloff/functional.hxx is obsolete and should be replaced by its comphelper |
| // counterpart |
| #include <comphelper/stl_types.hxx> |
| #include <xmloff/uniref.hxx> |
| |
| |
| // --> OD 2008-04-25 #refactorlists# |
| class XMLTextListsHelper; |
| // <-- |
| |
| class SvXMLImportContext; |
| class SvXMLTokenMap; |
| class SvXMLImportPropertyMapper; |
| class SvXMLNamespaceMap; |
| class SvXMLImport; |
| class SvXMLStylesContext; |
| class XMLTextListBlockContext; |
| class SvxXMLListStyleContext; |
| class XMLPropStyleContext; |
| class SvI18NMap; |
| class XMLSectionImportContext; |
| class XMLFontStylesContext; |
| template<class A> class XMLPropertyBackpatcher; |
| class XMLEventsImportContext; |
| |
| namespace xmloff { |
| struct ParsedRDFaAttributes; |
| } |
| |
| namespace com { namespace sun { namespace star { |
| namespace text { |
| class XText; |
| class XTextCursor; |
| class XTextRange; |
| class XTextContent; |
| class XFormField; |
| } |
| namespace frame { class XModel; } |
| namespace container { class XNameContainer; class XIndexReplace; class XNameAccess; } |
| namespace beans { class XPropertySet; } |
| namespace xml { namespace sax { class XAttributeList; } } |
| namespace util { struct DateTime; } |
| namespace lang { class XMultiServiceFactory; } |
| } } } |
| |
| enum SwXMLTextElemTokens |
| { |
| XML_TOK_TEXT_P, |
| XML_TOK_TEXT_H, |
| XML_TOK_TEXT_LIST, |
| XML_TOK_TEXT_FRAME_PAGE, |
| XML_TOK_TABLE_TABLE, |
| XML_TOK_TEXT_VARFIELD_DECLS, |
| XML_TOK_TEXT_USERFIELD_DECLS, |
| XML_TOK_TEXT_SEQUENCE_DECLS, |
| XML_TOK_TEXT_DDE_DECLS, |
| XML_TOK_DRAW_A_PAGE, |
| XML_TOK_TEXT_SECTION, |
| XML_TOK_TEXT_TOC, |
| XML_TOK_TEXT_OBJECT_INDEX, |
| XML_TOK_TEXT_TABLE_INDEX, |
| XML_TOK_TEXT_ILLUSTRATION_INDEX, |
| XML_TOK_TEXT_USER_INDEX, |
| XML_TOK_TEXT_ALPHABETICAL_INDEX, |
| XML_TOK_TEXT_BIBLIOGRAPHY_INDEX, |
| XML_TOK_TEXT_INDEX_TITLE, |
| XML_TOK_TEXT_TRACKED_CHANGES, |
| XML_TOK_TEXT_CHANGE_START, |
| XML_TOK_TEXT_CHANGE_END, |
| XML_TOK_TEXT_CHANGE, |
| XML_TOK_TEXT_FORMS, |
| XML_TOK_TEXT_CALCULATION_SETTINGS, |
| XML_TOK_TEXT_AUTOMARK, |
| XML_TOK_TEXT_NUMBERED_PARAGRAPH, |
| XML_TOK_TEXT_ELEM_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextPElemTokens |
| { |
| XML_TOK_TEXT_SPAN, |
| XML_TOK_TEXT_TAB_STOP, |
| XML_TOK_TEXT_LINE_BREAK, |
| XML_TOK_TEXT_SOFT_PAGE_BREAK, |
| XML_TOK_TEXT_S, |
| XML_TOK_TEXT_FRAME, |
| XML_TOK_TEXT_HYPERLINK, |
| XML_TOK_TEXT_RUBY, |
| |
| XML_TOK_TEXT_NOTE, |
| XML_TOK_TEXT_BOOKMARK, |
| XML_TOK_TEXT_BOOKMARK_START, |
| XML_TOK_TEXT_BOOKMARK_END, |
| XML_TOK_TEXT_REFERENCE, |
| XML_TOK_TEXT_REFERENCE_START, |
| XML_TOK_TEXT_REFERENCE_END, |
| |
| XML_TOK_TEXT_TOC_MARK, // index marks |
| XML_TOK_TEXT_TOC_MARK_START, |
| XML_TOK_TEXT_TOC_MARK_END, |
| XML_TOK_TEXT_USER_INDEX_MARK, |
| XML_TOK_TEXT_USER_INDEX_MARK_START, |
| XML_TOK_TEXT_USER_INDEX_MARK_END, |
| XML_TOK_TEXT_ALPHA_INDEX_MARK, |
| XML_TOK_TEXT_ALPHA_INDEX_MARK_START, |
| XML_TOK_TEXT_ALPHA_INDEX_MARK_END, |
| |
| XML_TOK_TEXT_SENDER_FIRSTNAME, // sender fields |
| XML_TOK_TEXT_SENDER_LASTNAME, |
| XML_TOK_TEXT_SENDER_INITIALS, |
| XML_TOK_TEXT_SENDER_TITLE, |
| XML_TOK_TEXT_SENDER_POSITION, |
| XML_TOK_TEXT_SENDER_EMAIL, |
| XML_TOK_TEXT_SENDER_PHONE_PRIVATE, |
| XML_TOK_TEXT_SENDER_FAX, |
| XML_TOK_TEXT_SENDER_COMPANY, |
| XML_TOK_TEXT_SENDER_PHONE_WORK, |
| XML_TOK_TEXT_SENDER_STREET, |
| XML_TOK_TEXT_SENDER_CITY, |
| XML_TOK_TEXT_SENDER_POSTAL_CODE, |
| XML_TOK_TEXT_SENDER_COUNTRY, |
| XML_TOK_TEXT_SENDER_STATE_OR_PROVINCE, |
| |
| XML_TOK_TEXT_AUTHOR_NAME, // author fields |
| XML_TOK_TEXT_AUTHOR_INITIALS, |
| |
| XML_TOK_TEXT_DATE, // date & time fields |
| XML_TOK_TEXT_TIME, |
| |
| XML_TOK_TEXT_PAGE_NUMBER, // page number fields |
| XML_TOK_TEXT_PAGE_CONTINUATION_STRING, |
| |
| XML_TOK_TEXT_VARIABLE_SET, // variable fields |
| XML_TOK_TEXT_VARIABLE_GET, |
| XML_TOK_TEXT_VARIABLE_INPUT, |
| XML_TOK_TEXT_USER_FIELD_GET, |
| XML_TOK_TEXT_USER_FIELD_INPUT, |
| XML_TOK_TEXT_SEQUENCE, |
| XML_TOK_TEXT_EXPRESSION, |
| XML_TOK_TEXT_TEXT_INPUT, |
| |
| XML_TOK_TEXT_DATABASE_DISPLAY, // database fields |
| XML_TOK_TEXT_DATABASE_NEXT, |
| XML_TOK_TEXT_DATABASE_SELECT, |
| XML_TOK_TEXT_DATABASE_ROW_NUMBER, |
| XML_TOK_TEXT_DATABASE_NAME, |
| |
| XML_TOK_TEXT_DOCUMENT_CREATION_AUTHOR, //document info fields |
| XML_TOK_TEXT_DOCUMENT_CREATION_DATE, |
| XML_TOK_TEXT_DOCUMENT_CREATION_TIME, |
| XML_TOK_TEXT_DOCUMENT_DESCRIPTION, |
| XML_TOK_TEXT_DOCUMENT_PRINT_AUTHOR, |
| XML_TOK_TEXT_DOCUMENT_PRINT_DATE, |
| XML_TOK_TEXT_DOCUMENT_PRINT_TIME, |
| XML_TOK_TEXT_DOCUMENT_TITLE, |
| XML_TOK_TEXT_DOCUMENT_SUBJECT, |
| XML_TOK_TEXT_DOCUMENT_KEYWORDS, |
| XML_TOK_TEXT_DOCUMENT_REVISION, |
| XML_TOK_TEXT_DOCUMENT_EDIT_DURATION, |
| XML_TOK_TEXT_DOCUMENT_SAVE_AUTHOR, |
| XML_TOK_TEXT_DOCUMENT_SAVE_DATE, |
| XML_TOK_TEXT_DOCUMENT_SAVE_TIME, |
| XML_TOK_TEXT_DOCUMENT_USER_DEFINED, |
| |
| XML_TOK_TEXT_PLACEHOLDER, // misc. fields |
| XML_TOK_TEXT_CONDITIONAL_TEXT, |
| XML_TOK_TEXT_HIDDEN_TEXT, |
| XML_TOK_TEXT_HIDDEN_PARAGRAPH, |
| XML_TOK_TEXT_FILENAME, |
| XML_TOK_TEXT_CHAPTER, |
| XML_TOK_TEXT_TEMPLATENAME, |
| XML_TOK_TEXT_WORD_COUNT, // statistics/count fields |
| XML_TOK_TEXT_PARAGRAPH_COUNT, |
| XML_TOK_TEXT_TABLE_COUNT, |
| XML_TOK_TEXT_CHARACTER_COUNT, |
| XML_TOK_TEXT_IMAGE_COUNT, |
| XML_TOK_TEXT_OBJECT_COUNT, |
| XML_TOK_TEXT_PAGE_COUNT, |
| XML_TOK_TEXT_GET_PAGE_VAR, |
| XML_TOK_TEXT_SET_PAGE_VAR, |
| XML_TOK_TEXT_MACRO, |
| XML_TOK_TEXT_DDE, |
| XML_TOK_TEXT_REFERENCE_REF, |
| XML_TOK_TEXT_BOOKMARK_REF, |
| XML_TOK_TEXT_SEQUENCE_REF, |
| XML_TOK_TEXT_NOTE_REF, |
| XML_TOK_TEXT_SHEET_NAME, |
| XML_TOK_TEXT_BIBLIOGRAPHY_MARK, |
| XML_TOK_TEXT_ANNOTATION, |
| XML_TOK_TEXT_ANNOTATION_END, |
| XML_TOK_TEXT_NAME, |
| XML_TOK_TEXT_SCRIPT, |
| XML_TOK_TEXT_TABLE_FORMULA, |
| XML_TOK_TEXT_DROPDOWN, |
| |
| // RDF metadata |
| XML_TOK_TEXT_META, |
| XML_TOK_TEXT_META_FIELD, |
| |
| // misc |
| XML_TOK_TEXTP_CHANGE_START, // TEXTP avoids clash with SwXMLTextElemTokens |
| XML_TOK_TEXTP_CHANGE_END, |
| XML_TOK_TEXTP_CHANGE, |
| XML_TOK_DRAW_A, |
| XML_TOK_TEXT_MEASURE, |
| |
| XML_TOK_DRAW_HEADER, |
| XML_TOK_DRAW_FOOTER, |
| XML_TOK_DRAW_DATE_TIME, |
| XML_TOK_TEXT_PAGE_CONTINUATION, |
| |
| XML_TOK_TEXT_FIELDMARK, |
| XML_TOK_TEXT_FIELDMARK_START, |
| XML_TOK_TEXT_FIELDMARK_END, |
| |
| XML_TOK_TEXT_P_ELEM_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextPAttrTokens |
| { |
| XML_TOK_TEXT_P_XMLID, |
| XML_TOK_TEXT_P_ABOUT, |
| XML_TOK_TEXT_P_PROPERTY, |
| XML_TOK_TEXT_P_CONTENT, |
| XML_TOK_TEXT_P_DATATYPE, |
| XML_TOK_TEXT_P_TEXTID, |
| XML_TOK_TEXT_P_STYLE_NAME, |
| XML_TOK_TEXT_P_COND_STYLE_NAME, |
| XML_TOK_TEXT_P_LEVEL, |
| XML_TOK_TEXT_P_CLASS_NAMES, |
| XML_TOK_TEXT_P_IS_LIST_HEADER, |
| XML_TOK_TEXT_P_RESTART_NUMBERING, |
| XML_TOK_TEXT_P_START_VALUE, |
| XML_TOK_TEXT_P_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextNumberedParagraphAttrTokens |
| { |
| XML_TOK_TEXT_NUMBERED_PARAGRAPH_XMLID, |
| XML_TOK_TEXT_NUMBERED_PARAGRAPH_LIST_ID, |
| XML_TOK_TEXT_NUMBERED_PARAGRAPH_LEVEL, |
| XML_TOK_TEXT_NUMBERED_PARAGRAPH_STYLE_NAME, |
| XML_TOK_TEXT_NUMBERED_PARAGRAPH_CONTINUE_NUMBERING, |
| XML_TOK_TEXT_NUMBERED_PARAGRAPH_START_VALUE, |
| XML_TOK_TEXT_NUMBERED_PARAGRAPH_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextListBlockAttrTokens |
| { |
| XML_TOK_TEXT_LIST_BLOCK_XMLID, |
| XML_TOK_TEXT_LIST_BLOCK_STYLE_NAME, |
| XML_TOK_TEXT_LIST_BLOCK_CONTINUE_NUMBERING, |
| // --> OD 2008-04-22 #refactorlists# |
| XML_TOK_TEXT_LIST_BLOCK_ID, |
| XML_TOK_TEXT_LIST_BLOCK_CONTINUE_LIST, |
| // <-- |
| XML_TOK_TEXT_LIST_BLOCK_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextListBlockElemTokens |
| { |
| XML_TOK_TEXT_LIST_HEADER, |
| XML_TOK_TEXT_LIST_ITEM, |
| XML_TOK_TEXT_LIST_BLOCK_ELEM_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextFrameAttrTokens |
| { |
| XML_TOK_TEXT_FRAME_STYLE_NAME, |
| XML_TOK_TEXT_FRAME_NAME, |
| XML_TOK_TEXT_FRAME_ANCHOR_TYPE, |
| XML_TOK_TEXT_FRAME_ANCHOR_PAGE_NUMBER, |
| XML_TOK_TEXT_FRAME_X, |
| XML_TOK_TEXT_FRAME_Y, |
| XML_TOK_TEXT_FRAME_WIDTH, |
| XML_TOK_TEXT_FRAME_REL_WIDTH, |
| XML_TOK_TEXT_FRAME_HEIGHT, |
| XML_TOK_TEXT_FRAME_MIN_HEIGHT, |
| XML_TOK_TEXT_FRAME_REL_HEIGHT, |
| XML_TOK_TEXT_FRAME_NEXT_CHAIN_NAME, |
| XML_TOK_TEXT_FRAME_HREF, |
| XML_TOK_TEXT_FRAME_FILTER_NAME, |
| XML_TOK_TEXT_FRAME_Z_INDEX, |
| XML_TOK_TEXT_FRAME_TRANSFORM, |
| XML_TOK_TEXT_FRAME_CLASS_ID, |
| XML_TOK_TEXT_FRAME_CODE, |
| XML_TOK_TEXT_FRAME_OBJECT, |
| XML_TOK_TEXT_FRAME_ARCHIVE, |
| XML_TOK_TEXT_FRAME_MAY_SCRIPT, |
| XML_TOK_TEXT_FRAME_MIME_TYPE, |
| XML_TOK_TEXT_FRAME_APPLET_NAME, |
| XML_TOK_TEXT_FRAME_FRAME_NAME, |
| XML_TOK_TEXT_FRAME_NOTIFY_ON_UPDATE, |
| XML_TOK_TEXT_FRAME_MIN_WIDTH, |
| XML_TOK_TEXT_FRAME_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextHyperlinkAttrTokens |
| { |
| XML_TOK_TEXT_HYPERLINK_HREF, |
| XML_TOK_TEXT_HYPERLINK_NAME, |
| XML_TOK_TEXT_HYPERLINK_TARGET_FRAME, |
| XML_TOK_TEXT_HYPERLINK_SHOW, |
| XML_TOK_TEXT_HYPERLINK_STYLE_NAME, |
| XML_TOK_TEXT_HYPERLINK_VIS_STYLE_NAME, |
| XML_TOK_TEXT_HYPERLINK_SERVER_MAP, |
| XML_TOK_TEXT_HYPERLINK_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextPageMasterElemTokens |
| { |
| XML_TOK_TEXT_MP_HEADER, |
| XML_TOK_TEXT_MP_FOOTER, |
| XML_TOK_TEXT_MP_HEADER_LEFT, |
| XML_TOK_TEXT_MP_FOOTER_LEFT, |
| XML_TOK_TEXT_MP_END=XML_TOK_UNKNOWN |
| }; |
| |
| enum XMLTextContourAttrTokens |
| { |
| XML_TOK_TEXT_CONTOUR_WIDTH, |
| XML_TOK_TEXT_CONTOUR_HEIGHT, |
| XML_TOK_TEXT_CONTOUR_VIEWBOX, |
| XML_TOK_TEXT_CONTOUR_POINTS, |
| XML_TOK_TEXT_CONTOUR_D, |
| XML_TOK_TEXT_CONTOUR_AUTO, |
| XML_TOK_TEXT_CONTOUR_END=XML_TOK_UNKNOWN |
| }; |
| enum XMLTextType |
| { |
| XML_TEXT_TYPE_BODY, |
| XML_TEXT_TYPE_CELL, |
| XML_TEXT_TYPE_SHAPE, |
| XML_TEXT_TYPE_TEXTBOX, |
| XML_TEXT_TYPE_HEADER_FOOTER, |
| XML_TEXT_TYPE_SECTION, |
| XML_TEXT_TYPE_FOOTNOTE, |
| XML_TEXT_TYPE_CHANGED_REGION |
| }; |
| |
| #define XML_TEXT_RENAME_TYPE_FRAME 10 |
| #define XML_TEXT_RENAME_TYPE_TABLE 20 |
| |
| // create type for section list, XMLSectionList_Impl |
| DECLARE_LIST( XMLSectionList_Impl, XMLSectionImportContext* ) |
| |
| class XMLOFF_DLLPUBLIC XMLTextImportHelper : public UniRefBase, |
| private boost::noncopyable |
| { |
| private: |
| struct Impl; |
| ::std::auto_ptr<Impl> m_pImpl; |
| /// ugly, but implementation of this is in XMLPropertyBackpatcher.cxx |
| struct BackpatcherImpl; |
| ::boost::shared_ptr<BackpatcherImpl> m_pBackpatcherImpl; |
| ::boost::shared_ptr<BackpatcherImpl> MakeBackpatcherImpl(); |
| |
| protected: |
| virtual SvXMLImportContext *CreateTableChildContext( |
| SvXMLImport& rImport, |
| sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::xml::sax::XAttributeList > & xAttrList ); |
| |
| // access, lazy initialization and destruction of backpatchers |
| // Code is implemented in XMLPropertyBackpatcher.cxx |
| inline XMLPropertyBackpatcher<sal_Int16>& GetFootnoteBP(); |
| inline XMLPropertyBackpatcher<sal_Int16>& GetSequenceIdBP(); |
| inline XMLPropertyBackpatcher< ::rtl::OUString> & GetSequenceNameBP(); |
| |
| public: |
| |
| XMLTextImportHelper( |
| ::com::sun::star::uno::Reference < |
| ::com::sun::star::frame::XModel> const& rModel, |
| SvXMLImport& rImport, |
| bool const bInsertMode = false, bool const bStylesOnlyMode = false, |
| bool const bProgress = false, bool const bBlockMode = false, |
| bool const bOrganizerMode = false); |
| |
| ~XMLTextImportHelper(); |
| |
| void SetCursor( |
| const ::com::sun::star::uno::Reference < |
| ::com::sun::star::text::XTextCursor >& rCursor ); |
| void ResetCursor(); |
| |
| void SetAutoStyles( SvXMLStylesContext *pStyles ); |
| |
| void SetFontDecls( XMLFontStylesContext *pFontDecls ); |
| const XMLFontStylesContext *GetFontDecls() const; |
| |
| SvXMLImportContext *CreateTextChildContext( |
| SvXMLImport& rImport, |
| sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::xml::sax::XAttributeList > & xAttrList, |
| XMLTextType eType = XML_TEXT_TYPE_SHAPE ); |
| |
| SvXMLTokenMap const& GetTextElemTokenMap(); |
| SvXMLTokenMap const& GetTextPElemTokenMap(); |
| SvXMLTokenMap const& GetTextPAttrTokenMap(); |
| SvXMLTokenMap const& GetTextFrameAttrTokenMap(); |
| SvXMLTokenMap const& GetTextContourAttrTokenMap(); |
| SvXMLTokenMap const& GetTextHyperlinkAttrTokenMap(); |
| SvXMLTokenMap const& GetTextMasterPageElemTokenMap(); |
| |
| const SvXMLTokenMap& GetTextNumberedParagraphAttrTokenMap(); |
| const SvXMLTokenMap& GetTextListBlockAttrTokenMap(); |
| const SvXMLTokenMap& GetTextListBlockElemTokenMap(); |
| const SvXMLTokenMap& GetTextFieldAttrTokenMap(); // impl: txtfldi.cxx |
| |
| ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XText > & GetText(); |
| ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextCursor > & GetCursor(); |
| ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange > & GetCursorAsRange(); |
| |
| bool IsInsertMode() const; |
| bool IsStylesOnlyMode() const; |
| bool IsBlockMode() const; |
| bool IsOrganizerMode() const; |
| bool IsProgress() const; |
| |
| XMLSectionList_Impl & GetSectionList(); |
| |
| ::rtl::OUString ConvertStarFonts( const ::rtl::OUString& rChars, |
| const ::rtl::OUString& rStyleName, |
| sal_uInt8& rFlags, |
| sal_Bool bPara, |
| SvXMLImport& rImport ) const; |
| // insert a string without special whitespace processing enabled |
| void InsertString( const ::rtl::OUString& rChars ); |
| // insert a string with special whitespace processing enabled |
| void InsertString( const ::rtl::OUString& rChars, |
| sal_Bool& rIgnoreLeadingSpace ); |
| // Delete current paragraph |
| void DeleteParagraph(); |
| |
| void InsertControlCharacter( sal_Int16 nControl ); |
| void InsertTextContent( ::com::sun::star::uno::Reference < |
| ::com::sun::star::text::XTextContent > & xContent); |
| |
| // --> OD 2007-07-25 #i73509# - add parameter <bOutlineLevelAttrFound> |
| // --> OD 2007-08-17 #i80724# |
| // add parameter <bSetListAttrs> in order to suppress the handling of the list attributes |
| ::rtl::OUString SetStyleAndAttrs( |
| SvXMLImport& rImport, |
| const ::com::sun::star::uno::Reference < |
| ::com::sun::star::text::XTextCursor >& rCursor, |
| const ::rtl::OUString& rStyleName, |
| sal_Bool bPara, |
| sal_Bool bOutlineLevelAttrFound = sal_False, |
| sal_Int8 nOutlineLevel = -1, |
| sal_Bool bSetListAttrs = sal_True ); |
| // <-- |
| |
| /** Find a suitable name for the given outline level. |
| * If rStyleName is empty, change it to a previously used or default style |
| * name for that level. Otherwise, leave rStyleName unmodified. |
| */ |
| // --> OD 2006-10-12 #i69629# - adjust 2nd parameter |
| void FindOutlineStyleName( ::rtl::OUString& rStyleName, |
| sal_Int8 nOutlineLevel ); |
| // <-- |
| |
| // --> OD 2006-10-12 #i69629# |
| // change method name to reflect change of data structure |
| void AddOutlineStyleCandidate( const sal_Int8 nOutlineLevel, |
| const ::rtl::OUString& rStyleName ); |
| // <-- |
| void SetOutlineStyles( sal_Bool bSetEmpty ); |
| |
| void SetHyperlink( |
| SvXMLImport& rImport, |
| const ::com::sun::star::uno::Reference < |
| ::com::sun::star::text::XTextCursor >& rCursor, |
| const ::rtl::OUString& rHRef, |
| const ::rtl::OUString& rName, |
| const ::rtl::OUString& rTargetFrameName, |
| const ::rtl::OUString& rStyleName, |
| const ::rtl::OUString& rVisitedStyleName, |
| XMLEventsImportContext* pEvents = NULL); |
| void SetRuby( |
| SvXMLImport& rImport, |
| const ::com::sun::star::uno::Reference < |
| ::com::sun::star::text::XTextCursor >& rCursor, |
| const ::rtl::OUString& rStyleName, |
| const ::rtl::OUString& rTextStyleName, |
| const ::rtl::OUString& rText ); |
| |
| /// return key appropriate for use with NumberFormat property |
| /// return -1 if style is not found |
| /// (may return whether data style uses the system language) |
| sal_Int32 GetDataStyleKey( const ::rtl::OUString& sStyleName, |
| sal_Bool* pIsSystemLanguage = NULL ); |
| |
| const SvxXMLListStyleContext *FindAutoListStyle( |
| const ::rtl::OUString& rName ) const; |
| XMLPropStyleContext *FindAutoFrameStyle( |
| const ::rtl::OUString& rName ) const; |
| XMLPropStyleContext* FindSectionStyle( |
| const ::rtl::OUString& rName ) const; |
| XMLPropStyleContext* FindPageMaster( |
| const ::rtl::OUString& rName ) const; |
| |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::container::XNameContainer> & GetParaStyles() const; |
| |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::container::XNameContainer> & GetTextStyles() const; |
| |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::container::XNameContainer> & |
| GetNumberingStyles() const; |
| |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::container::XNameContainer> & GetFrameStyles() const; |
| |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::container::XNameContainer> & GetPageStyles() const; |
| |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::container::XIndexReplace > & |
| GetChapterNumbering() const; |
| |
| sal_Bool HasFrameByName( const ::rtl::OUString& rName ) const; |
| void ConnectFrameChains( const ::rtl::OUString& rFrmName, |
| const ::rtl::OUString& rNextFrmName, |
| const ::com::sun::star::uno::Reference < |
| ::com::sun::star::beans::XPropertySet >& rFrmPropSet ); |
| |
| UniReference< SvXMLImportPropertyMapper > const& |
| GetParaImportPropertySetMapper() const; |
| UniReference< SvXMLImportPropertyMapper > const& |
| GetTextImportPropertySetMapper() const; |
| UniReference< SvXMLImportPropertyMapper > const& |
| GetFrameImportPropertySetMapper() const; |
| UniReference< SvXMLImportPropertyMapper > const& |
| GetSectionImportPropertySetMapper() const; |
| UniReference< SvXMLImportPropertyMapper > const& |
| GetRubyImportPropertySetMapper() const; |
| |
| static SvXMLImportPropertyMapper *CreateShapeExtPropMapper(SvXMLImport&); |
| static SvXMLImportPropertyMapper *CreateCharExtPropMapper(SvXMLImport&, XMLFontStylesContext *pFontDecls = NULL); |
| static SvXMLImportPropertyMapper *CreateParaExtPropMapper(SvXMLImport&, XMLFontStylesContext *pFontDecls = NULL); |
| static SvXMLImportPropertyMapper* CreateParaDefaultExtPropMapper(SvXMLImport&, XMLFontStylesContext* pFontDecls = NULL); |
| static SvXMLImportPropertyMapper* CreateTableDefaultExtPropMapper(SvXMLImport&, XMLFontStylesContext* pFontDecls = NULL); |
| static SvXMLImportPropertyMapper* CreateTableRowDefaultExtPropMapper(SvXMLImport&, XMLFontStylesContext* pFontDecls = NULL); |
| |
| static sal_Bool HasDrawNameAttribute( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::xml::sax::XAttributeList > & xAttrList, |
| SvXMLNamespaceMap& rNamespaceMap ); |
| |
| SvI18NMap& GetRenameMap(); |
| |
| /// save the start of a range reference |
| void InsertBookmarkStartRange( |
| const ::rtl::OUString sName, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange> & rRange, |
| ::rtl::OUString const& i_rXmlId, |
| ::boost::shared_ptr< ::xmloff::ParsedRDFaAttributes > & |
| i_rpRDFaAttributes); |
| |
| /// process the start of a range reference |
| sal_Bool FindAndRemoveBookmarkStartRange( |
| const ::rtl::OUString sName, |
| ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextRange> & o_rRange, |
| ::rtl::OUString & o_rXmlId, |
| ::boost::shared_ptr< ::xmloff::ParsedRDFaAttributes > & |
| o_rpRDFaAttributes); |
| |
| ::rtl::OUString FindActiveBookmarkName(); |
| ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > GetRangeFor(::rtl::OUString &sName); |
| |
| void pushFieldCtx( ::rtl::OUString name, ::rtl::OUString type ); |
| void popFieldCtx(); |
| void addFieldParam( ::rtl::OUString name, ::rtl::OUString value ); |
| void setCurrentFieldParamsTo(::com::sun::star::uno::Reference< ::com::sun::star::text::XFormField> &xFormField); |
| ::rtl::OUString getCurrentFieldName(); |
| ::rtl::OUString getCurrentFieldType(); |
| bool hasCurrentFieldCtx(); |
| |
| |
| /// insert new footnote ID. |
| /// Also fixup open references from the backpatch list to this ID. |
| // Code is implemented in XMLPropertyBackpatcher.cxx |
| void InsertFootnoteID(const ::rtl::OUString& sXMLId, sal_Int16 nAPIId); |
| |
| /// set the proper footnote reference ID, |
| /// or put into backpatch list if ID is unknown |
| // Code is implemented in XMLPropertyBackpatcher.cxx |
| void ProcessFootnoteReference( |
| const ::rtl::OUString& sXMLId, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySet> & xPropSet); |
| |
| /// insert new sequence ID |
| /// Also fixup open references from backpatch list to this ID. |
| // Code is implemented in XMLPropertyBackpatcher.cxx |
| void InsertSequenceID(const ::rtl::OUString& sXMLId, |
| const ::rtl::OUString& sName, |
| sal_Int16 nAPIId); |
| |
| /// set sequence ID or insert into backpatch list |
| // Code is implemented in XMLPropertyBackpatcher.cxx |
| void ProcessSequenceReference( |
| const ::rtl::OUString& sXMLId, |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySet> & xPropSet); |
| |
| sal_Bool IsInFrame() const; |
| virtual sal_Bool IsInHeaderFooter() const; |
| |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySet> |
| createAndInsertOLEObject( SvXMLImport& rImport, |
| const ::rtl::OUString& rHRef, |
| const ::rtl::OUString &rStyleName, |
| const ::rtl::OUString &rTblName, |
| sal_Int32 nWidth, sal_Int32 nHeight ); |
| |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySet> |
| createAndInsertOOoLink( SvXMLImport& rImport, |
| const ::rtl::OUString& rHRef, |
| const ::rtl::OUString &rStyleName, |
| const ::rtl::OUString &rTblName, |
| sal_Int32 nWidth, sal_Int32 nHeight ); |
| |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySet> |
| createAndInsertApplet( |
| const ::rtl::OUString &rName, |
| const ::rtl::OUString &rCode, |
| sal_Bool bMayScript, |
| const ::rtl::OUString& rHRef, |
| sal_Int32 nWidth, sal_Int32 nHeight ); |
| |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySet> |
| createAndInsertPlugin( |
| const ::rtl::OUString &rMimeType, |
| const ::rtl::OUString& rHRef, |
| sal_Int32 nWidth, sal_Int32 nHeight ); |
| |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySet> |
| createAndInsertFloatingFrame( |
| const ::rtl::OUString &rName, |
| const ::rtl::OUString &rHRef, |
| const ::rtl::OUString &rStyleName, |
| sal_Int32 nWidth, sal_Int32 nHeight ); |
| |
| virtual void endAppletOrPlugin( |
| const com::sun::star::uno::Reference< |
| ::com::sun::star::beans::XPropertySet> &rPropSet, |
| ::std::map < const ::rtl::OUString, ::rtl::OUString, ::comphelper::UStringLess > &rParamMap ); |
| |
| // applet helper methods |
| // implemented in sw/filter/xml/txtparai.hxx |
| |
| // redlining helper methods |
| // (to be implemented in sw/filter/xml/txtparai.hxx) |
| |
| virtual void RedlineAdd( |
| const ::rtl::OUString& rType, /// redline type (insert, del,... ) |
| const ::rtl::OUString& rId, /// use to identify this redline |
| const ::rtl::OUString& rAuthor, /// name of the author |
| const ::rtl::OUString& rComment, /// redline comment |
| const ::com::sun::star::util::DateTime& rDateTime, /// date+time |
| sal_Bool bMergeLastParagraph); /// merge last paras |
| virtual ::com::sun::star::uno::Reference< |
| ::com::sun::star::text::XTextCursor> RedlineCreateText( |
| ::com::sun::star::uno::Reference< /// needed to get the document |
| ::com::sun::star::text::XTextCursor> & rOldCursor, |
| const ::rtl::OUString& rId); /// ID used to RedlineAdd() call |
| virtual void RedlineSetCursor( |
| const ::rtl::OUString& rId, /// ID used to RedlineAdd() call |
| sal_Bool bStart, /// start or end Cursor |
| sal_Bool bIsOutsideOfParagraph); /// range is not within <text:p> |
| virtual void RedlineAdjustStartNodeCursor( |
| sal_Bool bStart); |
| virtual void SetShowChanges( sal_Bool bShowChanges ); |
| virtual void SetRecordChanges( sal_Bool bRecordChanges ); |
| virtual void SetChangesProtectionKey( |
| const ::com::sun::star::uno::Sequence<sal_Int8> & rProtectionKey ); |
| |
| // access to the last open redline ID: |
| ::rtl::OUString GetOpenRedlineId(); |
| void SetOpenRedlineId( ::rtl::OUString& rId); |
| void ResetOpenRedlineId(); |
| |
| // #107848# |
| // Access methods to the inside_deleted_section flag (redlining) |
| void SetInsideDeleteContext(bool const bNew); |
| bool IsInsideDeleteContext() const; |
| |
| SvXMLImport & GetXMLImport(); |
| |
| // --> OD 2008-04-25 #refactorlists# |
| XMLTextListsHelper & GetTextListHelper(); |
| // <-- |
| |
| // forwards to TextListHelper; these are used in many places |
| /// push a list context on the list context stack |
| void PushListContext(XMLTextListBlockContext *i_pListBlock = 0); |
| /// pop the list context stack |
| void PopListContext(); |
| |
| void SetCellParaStyleDefault(::rtl::OUString const& rNewValue); |
| ::rtl::OUString const& GetCellParaStyleDefault(); |
| }; |
| |
| #endif |