Files
libreoffice/xmloff/source/text/XMLTextNumRuleInfo.hxx
Rüdiger Timm ac6fa80998 INTEGRATION: CWS changefileheader (1.6.290); FILE MERGED
2008/04/01 16:10:11 thb 1.6.290.3: #i85898# Stripping all external header guards
2008/04/01 13:05:32 thb 1.6.290.2: #i85898# Stripping all external header guards
2008/03/31 16:28:38 rt 1.6.290.1: #i87441# Change license header to LPGL v3.
2008-04-10 22:24:51 +00:00

138 lines
4.5 KiB
C++

/*************************************************************************
*
* 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.7 $
*
* 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 XMLTextNumRuleInfo
{
const ::rtl::OUString sNumberingRules;
const ::rtl::OUString sNumberingLevel;
const ::rtl::OUString sNumberingStartValue;
const ::rtl::OUString sParaIsNumberingRestart;
const ::rtl::OUString sNumberingType;
const ::rtl::OUString sIsNumbering;
const ::rtl::OUString sNumberingIsNumber;
const ::rtl::OUString sNumberingIsOutline;
::com::sun::star::uno::Reference <
::com::sun::star::container::XIndexReplace > xNumRules;
::rtl::OUString sName;
sal_Int16 nStartValue;
sal_Int16 nLevel;
sal_Bool bIsNumbered : 1;
sal_Bool bIsOrdered : 1;
sal_Bool bIsRestart : 1;
sal_Bool bIsNamed : 1;
// --> OD 2006-09-27 #i69627#
sal_Bool mbOutlineStyleAsNormalListStyle : 1;
// <--
public:
XMLTextNumRuleInfo();
inline XMLTextNumRuleInfo& operator=( const XMLTextNumRuleInfo& rInfo );
// --> OD 2006-09-27 #i69627#
void Set( const ::com::sun::star::uno::Reference <
::com::sun::star::text::XTextContent > & rTextContnt,
const sal_Bool bOutlineStyleAsNormalListStyle );
// <--
inline void Reset();
const ::rtl::OUString& GetName() const { return sName; }
const ::com::sun::star::uno::Reference <
::com::sun::star::container::XIndexReplace >& GetNumRules() const
{ return xNumRules; }
sal_Int16 GetLevel() const { return nLevel; }
sal_Bool HasStartValue() const { return nStartValue != -1; }
sal_uInt32 GetStartValue() const { return nStartValue; }
sal_Bool IsNumbered() const { return bIsNumbered; }
sal_Bool IsOrdered() const { return bIsOrdered; }
sal_Bool IsRestart() const { return bIsRestart; }
sal_Bool IsNamed() const { return bIsNamed; }
inline sal_Bool HasSameNumRules( const XMLTextNumRuleInfo& rCmp ) const;
};
inline XMLTextNumRuleInfo& XMLTextNumRuleInfo::operator=(
const XMLTextNumRuleInfo& rInfo )
{
sName = rInfo.sName;
xNumRules = rInfo.xNumRules;
nStartValue = rInfo.nStartValue;
nLevel = rInfo.nLevel;
bIsNumbered = rInfo.bIsNumbered;
bIsOrdered = rInfo.bIsOrdered;
bIsRestart = rInfo.bIsRestart;
bIsNamed = rInfo.bIsNamed;
// --> OD 2006-09-27 #i69627#
mbOutlineStyleAsNormalListStyle = rInfo.mbOutlineStyleAsNormalListStyle;
// <--
return *this;
}
inline void XMLTextNumRuleInfo::Reset()
{
sName = ::rtl::OUString();
xNumRules = 0;
nStartValue = -1;
nLevel = 0;
// --> OD 2006-09-27 #i69627#
// bIsNumbered = bIsOrdered = bIsRestart = bIsNamed = sal_False;
bIsNumbered = bIsOrdered = bIsRestart = bIsNamed =
mbOutlineStyleAsNormalListStyle = sal_False;
// <--
}
inline sal_Bool XMLTextNumRuleInfo::HasSameNumRules(
const XMLTextNumRuleInfo& rCmp ) const
{
return (bIsNamed && rCmp.bIsNamed) ? (rCmp.sName == sName)
: (rCmp.xNumRules == xNumRules);
}
#endif // _XMLOFF_XMLTEXTNUMRULEINFO_HXX