diff options
Diffstat (limited to 'xmloff/source/text/XMLTextNumRuleInfo.hxx')
-rw-r--r-- | xmloff/source/text/XMLTextNumRuleInfo.hxx | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/xmloff/source/text/XMLTextNumRuleInfo.hxx b/xmloff/source/text/XMLTextNumRuleInfo.hxx new file mode 100644 index 000000000000..2f90aad14a07 --- /dev/null +++ b/xmloff/source/text/XMLTextNumRuleInfo.hxx @@ -0,0 +1,203 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XMLTextNumRuleInfo.hxx,v $ + * $Revision: 1.10.64.1 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _XMLOFF_XMLTEXTNUMRULEINFO_HXX +#define _XMLOFF_XMLTEXTNUMRULEINFO_HXX + +#include <com/sun/star/uno/Reference.hxx> +#include <com/sun/star/container/XIndexReplace.hpp> + +namespace com { namespace sun { namespace star { + namespace text { class XTextContent; } +} } } +#include <sal/types.h> + +class XMLTextListAutoStylePool; + +/** information about list and list style for a certain paragraph + + OD 2008-04-24 #refactorlists# + Complete refactoring of the class and enhancement of the class for lists. + These changes are considered by method <XMLTextParagraphExport::exportListChange(..)> +*/ +class XMLTextNumRuleInfo +{ + const ::rtl::OUString msNumberingRules; + const ::rtl::OUString msNumberingLevel; + const ::rtl::OUString msNumberingStartValue; + const ::rtl::OUString msParaIsNumberingRestart; + const ::rtl::OUString msNumberingIsNumber; + const ::rtl::OUString msNumberingIsOutline; + const ::rtl::OUString msPropNameListId; + const ::rtl::OUString msPropNameStartWith; + // --> OD 2008-11-26 #158694# + const ::rtl::OUString msContinueingPreviousSubTree; + const ::rtl::OUString msListLabelStringProp; + // <-- + + // numbering rules instance and its name + ::com::sun::star::uno::Reference < + ::com::sun::star::container::XIndexReplace > mxNumRules; + ::rtl::OUString msNumRulesName; + + // paragraph's list attributes + ::rtl::OUString msListId; + sal_Int16 mnListStartValue; + sal_Int16 mnListLevel; + sal_Bool mbIsNumbered; + sal_Bool mbIsRestart; + + // numbering rules' attributes + // --> OD 2008-05-07 #refactorlists# + sal_Int16 mnListLevelStartValue; + // <-- + + // --> OD 2006-09-27 #i69627# + sal_Bool mbOutlineStyleAsNormalListStyle; + // <-- + + // --> OD 2008-11-26 #158694# + sal_Bool mbContinueingPreviousSubTree; + ::rtl::OUString msListLabelString; + // <-- +public: + + XMLTextNumRuleInfo(); + + inline XMLTextNumRuleInfo& operator=( const XMLTextNumRuleInfo& rInfo ); + + // --> OD 2008-11-26 #158694# + void Set( const ::com::sun::star::uno::Reference < + ::com::sun::star::text::XTextContent > & rTextContnt, + const sal_Bool bOutlineStyleAsNormalListStyle, + const XMLTextListAutoStylePool& rListAutoPool, + const sal_Bool bExportTextNumberElement ); + // <-- + inline void Reset(); + + inline const ::rtl::OUString& GetNumRulesName() const + { + return msNumRulesName; + } + inline const ::com::sun::star::uno::Reference < + ::com::sun::star::container::XIndexReplace >& GetNumRules() const + { + return mxNumRules; + } + inline sal_Int16 GetListLevelStartValue() const + { + return mnListLevelStartValue; + } + + inline const ::rtl::OUString& GetListId() const + { + return msListId; + } + + inline sal_Int16 GetLevel() const + { + return mnListLevel; + } + + inline sal_Bool HasStartValue() const + { + return mnListStartValue != -1; + } + inline sal_uInt32 GetStartValue() const + { + return mnListStartValue; + } + + inline sal_Bool IsNumbered() const + { + return mbIsNumbered; + } + inline sal_Bool IsRestart() const + { + return mbIsRestart; + } + + sal_Bool BelongsToSameList( const XMLTextNumRuleInfo& rCmp ) const; + + inline sal_Bool HasSameNumRules( const XMLTextNumRuleInfo& rCmp ) const + { + return rCmp.msNumRulesName == msNumRulesName; + } + + // --> OD 2008-11-26 #158694# + inline sal_Bool IsContinueingPreviousSubTree() const + { + return mbContinueingPreviousSubTree; + } + inline const ::rtl::OUString& ListLabelString() const + { + return msListLabelString; + } + // <-- +}; + +inline XMLTextNumRuleInfo& XMLTextNumRuleInfo::operator=( + const XMLTextNumRuleInfo& rInfo ) +{ + msNumRulesName = rInfo.msNumRulesName; + mxNumRules = rInfo.mxNumRules; + msListId = rInfo.msListId; + mnListStartValue = rInfo.mnListStartValue; + mnListLevel = rInfo.mnListLevel; + mbIsNumbered = rInfo.mbIsNumbered; + mbIsRestart = rInfo.mbIsRestart; + // --> OD 2006-09-27 #i69627# + mbOutlineStyleAsNormalListStyle = rInfo.mbOutlineStyleAsNormalListStyle; + // <-- + // --> OD 2008-11-26 #158694# + mbContinueingPreviousSubTree = rInfo.mbContinueingPreviousSubTree; + msListLabelString = rInfo.msListLabelString; + // <-- + + return *this; +} + +inline void XMLTextNumRuleInfo::Reset() +{ + mxNumRules = 0; + msNumRulesName = ::rtl::OUString(); + msListId = ::rtl::OUString(); + mnListStartValue = -1; + mnListLevel = 0; + // --> OD 2006-09-27 #i69627# + mbIsNumbered = mbIsRestart = + mbOutlineStyleAsNormalListStyle = sal_False; + // <-- + // --> OD 2008-11-26 #158694# + mbContinueingPreviousSubTree = sal_False; + msListLabelString = ::rtl::OUString(); + // <-- +} +#endif // _XMLOFF_XMLTEXTNUMRULEINFO_HXX |