diff options
Diffstat (limited to 'sw/inc/paratr.hxx')
-rw-r--r-- | sw/inc/paratr.hxx | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/sw/inc/paratr.hxx b/sw/inc/paratr.hxx new file mode 100644 index 000000000000..e1b2ced1b513 --- /dev/null +++ b/sw/inc/paratr.hxx @@ -0,0 +1,281 @@ +/************************************************************************* + * + * 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: paratr.hxx,v $ + * $Revision: 1.16 $ + * + * 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 _PARATR_HXX +#define _PARATR_HXX +#include <svl/eitem.hxx> +#include <svl/stritem.hxx> +#include "swdllapi.h" +#include <hintids.hxx> +#include <calbck.hxx> +#include <swatrset.hxx> +#include <format.hxx> +#include <swtypes.hxx> + +class SwCharFmt; +class IntlWrapper; + +/************************************************************************* +|* class SwFmtDrop +*************************************************************************/ + +#define DROP_WHOLEWORD ((USHORT)0x0001) + +//Wenn ein SwFmtDrop Client ist, so ist dies das CharFmt welches den Font fuer +//die DropCaps beschreibt. Ist es kein Client, so wird von der Formatierung +//das CharFmt des Absatzes benutzt. +//Wird das CharFmt verandert, so wird diese Aenderung ueber das Modify des +//SwFmtDrop an die Absatze propagiert. +class SW_DLLPUBLIC SwFmtDrop: public SfxPoolItem, public SwClient +{ + SwModify* pDefinedIn; // Modify-Object, in dem der DropCaps steht + // kann nur TxtFmtCollection/TxtNode sein + USHORT nDistance; // Abstand zum Textbeginn + USHORT nReadFmt; // fuer den Sw3-Reader: CharFormat-Id (Pool laden!) + BYTE nLines; // Anzahl der Zeilen + BYTE nChars; // Anzahl der Zeichen + BOOL bWholeWord; // Erstes Wort als Initialen +public: + TYPEINFO(); //Bereits in der Basisklasse SwClient + + SwFmtDrop(); + virtual ~SwFmtDrop(); + + // @@@ public copy ctor, but no copy assignment? + SwFmtDrop( const SwFmtDrop & ); +private: + // @@@ public copy ctor, but no copy assignment? + SwFmtDrop & operator= (const SwFmtDrop &); +public: + + // "pure virtual Methoden" vom SfxPoolItem + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const; + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresMetric, + String &rText, + const IntlWrapper* pIntl = 0) const; + virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const; + virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ); + + inline BYTE GetLines() const { return nLines; } + inline BYTE &GetLines() { return nLines; } + + inline BYTE GetChars() const { return nChars; } + inline BYTE &GetChars() { return nChars; } + + inline BOOL GetWholeWord() const { return bWholeWord; } + inline BYTE &GetWholeWord() { return bWholeWord; } + + inline USHORT GetDistance() const { return nDistance; } + inline USHORT &GetDistance() { return nDistance; } + + inline const SwCharFmt *GetCharFmt() const { return (SwCharFmt*)pRegisteredIn; } + inline SwCharFmt *GetCharFmt() { return (SwCharFmt*)pRegisteredIn; } + void SetCharFmt( SwCharFmt *pNew ); + virtual void Modify( SfxPoolItem*, SfxPoolItem* ); + // erfrage vom Client Informationen + virtual BOOL GetInfo( SfxPoolItem& ) const; + + // erfrage und setze den Modify-Pointer + inline const SwModify* GetDefinedIn() const { return pDefinedIn; } + inline void ChgDefinedIn( const SwModify* pNew ) + { pDefinedIn = (SwModify*)pNew; } +}; + +class SwRegisterItem : public SfxBoolItem +{ +public: + TYPEINFO(); + + inline SwRegisterItem( const BOOL bRegister = FALSE ); + + // @@@ public copy assignment, but no copy ctor? + inline SwRegisterItem& operator=( const SwRegisterItem& rRegister ); + + // "pure virtual Methoden" vom SfxPoolItem + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresMetric, + String &rText, + const IntlWrapper* pIntl = 0 ) const; +}; + +inline SwRegisterItem::SwRegisterItem( const BOOL bRegister ) : + SfxBoolItem( RES_PARATR_REGISTER, bRegister ) +{} + +inline SwRegisterItem& SwRegisterItem::operator=( + const SwRegisterItem& rRegister ) +{ + SetValue( rRegister.GetValue() ); + return *this; +} + +class SW_DLLPUBLIC SwNumRuleItem : public SfxStringItem +{ +public: + TYPEINFO(); + + // --> OD 2008-03-04 #refactorlists# - removed <pDefinedIn> + SwNumRuleItem() + : SfxStringItem( RES_PARATR_NUMRULE, aEmptyStr ) {} + + SwNumRuleItem( const String& rRuleName ) + : SfxStringItem( RES_PARATR_NUMRULE, rRuleName ) {} + + SwNumRuleItem( const SwNumRuleItem& rCpy ) + : SfxStringItem( RES_PARATR_NUMRULE, rCpy.GetValue() ) {} + + SwNumRuleItem& operator=( const SwNumRuleItem& rCpy ) + { SetValue( rCpy.GetValue() ); return *this; } + // <-- + + // "pure virtual Methoden" vom SfxPoolItem + virtual int operator==( const SfxPoolItem& ) const; + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresMetric, + String &rText, + const IntlWrapper* pIntl = 0 ) const; + + virtual BOOL QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId ) const; + virtual BOOL PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId ); +}; + +class SwParaConnectBorderItem : public SfxBoolItem +{ +public: + TYPEINFO(); + + inline SwParaConnectBorderItem( const BOOL bConnect = TRUE ); + + // @@@ public copy assignment, but no copy ctor? + inline SwParaConnectBorderItem& operator=( const SwParaConnectBorderItem& rConnect ); + + // "pure virtual Methoden" vom SfxPoolItem + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresMetric, + String &rText, + const IntlWrapper* pIntl = 0 ) const; +}; + +inline SwParaConnectBorderItem::SwParaConnectBorderItem( const BOOL bConnect ) : + SfxBoolItem( RES_PARATR_CONNECT_BORDER, bConnect ) +{} + +inline SwParaConnectBorderItem& SwParaConnectBorderItem::operator=( + const SwParaConnectBorderItem& rConnect ) +{ + SetValue( rConnect.GetValue() ); + return *this; +} + + + +/****************************************************************************** + * Implementierung der Paragraph-Attribut Methoden vom SwAttrSet + ******************************************************************************/ + +inline const SvxLineSpacingItem &SwAttrSet::GetLineSpacing(BOOL bInP) const + { return (const SvxLineSpacingItem&)Get( RES_PARATR_LINESPACING,bInP); } +inline const SvxAdjustItem &SwAttrSet::GetAdjust(BOOL bInP) const + { return (const SvxAdjustItem&)Get( RES_PARATR_ADJUST,bInP); } +inline const SvxFmtSplitItem &SwAttrSet::GetSplit(BOOL bInP) const + { return (const SvxFmtSplitItem&)Get( RES_PARATR_SPLIT,bInP); } +inline const SwRegisterItem &SwAttrSet::GetRegister(BOOL bInP) const + { return (const SwRegisterItem&)Get( RES_PARATR_REGISTER,bInP); } +inline const SvxWidowsItem &SwAttrSet::GetWidows(BOOL bInP) const + { return (const SvxWidowsItem&)Get( RES_PARATR_WIDOWS,bInP); } +inline const SvxOrphansItem &SwAttrSet::GetOrphans(BOOL bInP) const + { return (const SvxOrphansItem&)Get( RES_PARATR_ORPHANS,bInP); } +inline const SvxTabStopItem &SwAttrSet::GetTabStops(BOOL bInP) const + { return (const SvxTabStopItem&)Get( RES_PARATR_TABSTOP,bInP); } +inline const SvxHyphenZoneItem &SwAttrSet::GetHyphenZone(BOOL bInP) const + { return (const SvxHyphenZoneItem&)Get(RES_PARATR_HYPHENZONE,bInP); } +inline const SwFmtDrop &SwAttrSet::GetDrop(BOOL bInP) const + { return (const SwFmtDrop&)Get(RES_PARATR_DROP,bInP); } +inline const SwNumRuleItem &SwAttrSet::GetNumRule(BOOL bInP) const + { return (const SwNumRuleItem&)Get(RES_PARATR_NUMRULE,bInP); } +inline const SvxScriptSpaceItem& SwAttrSet::GetScriptSpace(BOOL bInP) const + { return (const SvxScriptSpaceItem&)Get(RES_PARATR_SCRIPTSPACE,bInP); } +inline const SvxHangingPunctuationItem &SwAttrSet::GetHangingPunctuation(BOOL bInP) const + { return (const SvxHangingPunctuationItem&)Get(RES_PARATR_HANGINGPUNCTUATION,bInP); } +inline const SvxForbiddenRuleItem &SwAttrSet::GetForbiddenRule(BOOL bInP) const + { return (const SvxForbiddenRuleItem&)Get(RES_PARATR_FORBIDDEN_RULES, bInP); } +inline const SvxParaVertAlignItem &SwAttrSet::GetParaVertAlign(BOOL bInP) const + { return (const SvxParaVertAlignItem&)Get( RES_PARATR_VERTALIGN, bInP ); } +inline const SvxParaGridItem &SwAttrSet::GetParaGrid(BOOL bInP) const + { return (const SvxParaGridItem&)Get( RES_PARATR_SNAPTOGRID, bInP ); } +inline const SwParaConnectBorderItem &SwAttrSet::GetParaConnectBorder(BOOL bInP) const + { return (const SwParaConnectBorderItem&)Get( RES_PARATR_CONNECT_BORDER, bInP ); } + +/****************************************************************************** + * Implementierung der Paragraph-Attribut Methoden vom SwFmt + ******************************************************************************/ + +inline const SvxLineSpacingItem &SwFmt::GetLineSpacing(BOOL bInP) const + { return aSet.GetLineSpacing(bInP); } +inline const SvxAdjustItem &SwFmt::GetAdjust(BOOL bInP) const + { return aSet.GetAdjust(bInP); } +inline const SvxFmtSplitItem &SwFmt::GetSplit(BOOL bInP) const + { return aSet.GetSplit(bInP); } +inline const SwRegisterItem &SwFmt::GetRegister(BOOL bInP) const + { return aSet.GetRegister(bInP); } +inline const SvxWidowsItem &SwFmt::GetWidows(BOOL bInP) const + { return aSet.GetWidows(bInP); } +inline const SvxOrphansItem &SwFmt::GetOrphans(BOOL bInP) const + { return aSet.GetOrphans(bInP); } +inline const SvxTabStopItem &SwFmt::GetTabStops(BOOL bInP) const + { return aSet.GetTabStops(bInP); } +inline const SvxHyphenZoneItem &SwFmt::GetHyphenZone(BOOL bInP) const + { return aSet.GetHyphenZone(bInP); } +inline const SwFmtDrop &SwFmt::GetDrop(BOOL bInP) const + { return aSet.GetDrop(bInP); } +inline const SwNumRuleItem &SwFmt::GetNumRule(BOOL bInP) const + { return aSet.GetNumRule(bInP); } +inline const SvxScriptSpaceItem& SwFmt::GetScriptSpace(BOOL bInP) const + { return aSet.GetScriptSpace(bInP) ; } +inline const SvxHangingPunctuationItem &SwFmt::GetHangingPunctuation(BOOL bInP) const + { return aSet.GetHangingPunctuation(bInP) ; } +inline const SvxForbiddenRuleItem &SwFmt::GetForbiddenRule(BOOL bInP) const + { return (const SvxForbiddenRuleItem&)aSet.Get(RES_PARATR_FORBIDDEN_RULES, bInP); } +inline const SvxParaVertAlignItem &SwFmt::GetParaVertAlign(BOOL bInP) const + { return (const SvxParaVertAlignItem&)aSet.Get( RES_PARATR_VERTALIGN, bInP ); } +inline const SvxParaGridItem &SwFmt::GetParaGrid(BOOL bInP) const + { return (const SvxParaGridItem&)aSet.Get( RES_PARATR_SNAPTOGRID, bInP ); } +inline const SwParaConnectBorderItem &SwFmt::GetParaConnectBorder(BOOL bInP) const + { return (const SwParaConnectBorderItem&)aSet.Get( RES_PARATR_CONNECT_BORDER, bInP ); } + +#endif |