diff options
Diffstat (limited to 'editeng/inc/editeng/udlnitem.hxx')
-rw-r--r-- | editeng/inc/editeng/udlnitem.hxx | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/editeng/inc/editeng/udlnitem.hxx b/editeng/inc/editeng/udlnitem.hxx new file mode 100644 index 000000000000..6d4601ab4d20 --- /dev/null +++ b/editeng/inc/editeng/udlnitem.hxx @@ -0,0 +1,133 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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 _SVX_UDLNITEM_HXX +#define _SVX_UDLNITEM_HXX + +// include --------------------------------------------------------------- + +#include <svl/eitem.hxx> +#include <vcl/vclenum.hxx> +#include <tools/color.hxx> +#include <editeng/editengdllapi.h> + +class SvXMLUnitConverter; +namespace rtl +{ + class OUString; +} + +// class SvxTextLineItem ------------------------------------------------ + +/* Value container for underline and overline font effects */ + +class EDITENG_DLLPUBLIC SvxTextLineItem : public SfxEnumItem +{ + Color mColor; +public: + TYPEINFO(); + + SvxTextLineItem( const FontUnderline eSt, + const USHORT nId ); + + // "pure virtual Methoden" vom SfxPoolItem + virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres, + SfxMapUnit eCoreMetric, + SfxMapUnit ePresMetric, + String &rText, const IntlWrapper * = 0 ) const; + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual SfxPoolItem* Create(SvStream &, USHORT) const; + virtual SvStream& Store(SvStream &, USHORT nItemVersion) const; + virtual String GetValueTextByPos( USHORT nPos ) const; + virtual USHORT GetValueCount() const; + + virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, + BYTE nMemberId = 0 ) const; + virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, + BYTE nMemberId = 0 ); + + // MS VC4.0 kommt durcheinander + void SetValue( USHORT nNewVal ) + {SfxEnumItem::SetValue(nNewVal); } + virtual int HasBoolValue() const; + virtual BOOL GetBoolValue() const; + virtual void SetBoolValue( BOOL bVal ); + + virtual int operator==( const SfxPoolItem& ) const; + + inline SvxTextLineItem& operator=(const SvxTextLineItem& rTextLine) + { + SetValue( rTextLine.GetValue() ); + SetColor( rTextLine.GetColor() ); + return *this; + } + + // enum cast + FontUnderline GetLineStyle() const + { return (FontUnderline)GetValue(); } + void SetLineStyle( FontUnderline eNew ) + { SetValue((USHORT) eNew); } + + const Color& GetColor() const { return mColor; } + void SetColor( const Color& rCol ) { mColor = rCol; } +}; + +// class SvxUnderlineItem ------------------------------------------------ + +/* Value container for underline font effects */ + +class EDITENG_DLLPUBLIC SvxUnderlineItem : public SvxTextLineItem +{ +public: + TYPEINFO(); + + SvxUnderlineItem( const FontUnderline eSt, + const USHORT nId ); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual SfxPoolItem* Create(SvStream &, USHORT) const; + virtual String GetValueTextByPos( USHORT nPos ) const; +}; + +// class SvxOverlineItem ------------------------------------------------ + +/* Value container for overline font effects */ + +class EDITENG_DLLPUBLIC SvxOverlineItem : public SvxTextLineItem +{ +public: + TYPEINFO(); + + SvxOverlineItem( const FontUnderline eSt, + const USHORT nId ); + + virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; + virtual SfxPoolItem* Create(SvStream &, USHORT) const; + virtual String GetValueTextByPos( USHORT nPos ) const; +}; + +#endif // #ifndef _SVX_UDLNITEM_HXX |