/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * 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 * * for a copy of the LGPLv3 License. * ************************************************************************/ // include --------------------------------------------------------------- #include #include #include using namespace ::com::sun::star; TYPEINIT1_FACTORY( SvxColorListItem, SfxPoolItem , new SvxColorListItem ); TYPEINIT1_FACTORY( SvxGradientListItem, SfxPoolItem , new SvxGradientListItem ); TYPEINIT1_FACTORY( SvxHatchListItem, SfxPoolItem , new SvxHatchListItem ); TYPEINIT1_FACTORY( SvxBitmapListItem, SfxPoolItem , new SvxBitmapListItem ); TYPEINIT1_FACTORY( SvxDashListItem, SfxPoolItem , new SvxDashListItem ); TYPEINIT1_FACTORY( SvxLineEndListItem, SfxPoolItem , new SvxLineEndListItem ); //================================================================== // // SvxColorListItem // //================================================================== SvxColorListItem::SvxColorListItem() { } SvxColorListItem::SvxColorListItem( XColorListRef pTable, sal_uInt16 nW ) : SfxPoolItem( nW ), pColorList( pTable ) { } SvxColorListItem::SvxColorListItem( const SvxColorListItem& rItem ) : SfxPoolItem( rItem ), pColorList( rItem.pColorList ) { } SfxItemPresentation SvxColorListItem::GetPresentation ( SfxItemPresentation /*ePres*/, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/, XubString& rText, const IntlWrapper * ) const { rText.Erase(); return SFX_ITEM_PRESENTATION_NONE; } int SvxColorListItem::operator==( const SfxPoolItem& rItem ) const { DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" ); return ( ( SvxColorListItem& ) rItem).pColorList == pColorList; } SfxPoolItem* SvxColorListItem::Clone( SfxItemPool * ) const { return new SvxColorListItem( *this ); } // Should be a template class but ... #define QUERY_PUT_IMPL(svtype, xtype) \ bool svtype::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 ) const \ { \ rVal = uno::makeAny( uno::Reference< uno::XWeak >( p##xtype.get() ) ); \ return true; \ } \ \ bool svtype::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 ) \ { \ uno::Reference< uno::XWeak > xRef; \ if( rVal >>= xRef ) { \ p##xtype = X##xtype##Ref(dynamic_cast(xRef.get())); \ return true; \ } \ return false; \ } QUERY_PUT_IMPL( SvxColorListItem, ColorList ) //================================================================== // // SvxGradientListItem // //================================================================== SvxGradientListItem::SvxGradientListItem() { } SvxGradientListItem::SvxGradientListItem( XGradientListRef pList, sal_uInt16 nW ) : SfxPoolItem( nW ), pGradientList( pList ) { } SvxGradientListItem::SvxGradientListItem( const SvxGradientListItem& rItem ) : SfxPoolItem( rItem ), pGradientList( rItem.pGradientList ) { } //------------------------------------------------------------------------ SfxItemPresentation SvxGradientListItem::GetPresentation ( SfxItemPresentation /*ePres*/, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/, XubString& rText, const IntlWrapper * ) const { rText.Erase(); return SFX_ITEM_PRESENTATION_NONE; } int SvxGradientListItem::operator==( const SfxPoolItem& rItem ) const { DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" ); return ( ( SvxGradientListItem& ) rItem).pGradientList == pGradientList; } SfxPoolItem* SvxGradientListItem::Clone( SfxItemPool * ) const { return new SvxGradientListItem( *this ); } QUERY_PUT_IMPL( SvxGradientListItem, GradientList ) //================================================================== // // SvxHatchListItem // //================================================================== SvxHatchListItem::SvxHatchListItem() { } SvxHatchListItem::SvxHatchListItem( XHatchListRef pList, sal_uInt16 nW ) : SfxPoolItem( nW ), pHatchList( pList ) { } SvxHatchListItem::SvxHatchListItem( const SvxHatchListItem& rItem ) : SfxPoolItem( rItem ), pHatchList( rItem.pHatchList ) { } //------------------------------------------------------------------------ SfxItemPresentation SvxHatchListItem::GetPresentation ( SfxItemPresentation /*ePres*/, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/, XubString& rText, const IntlWrapper * ) const { rText.Erase(); return SFX_ITEM_PRESENTATION_NONE; } int SvxHatchListItem::operator==( const SfxPoolItem& rItem ) const { DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" ); return ( ( SvxHatchListItem& ) rItem).pHatchList == pHatchList; } SfxPoolItem* SvxHatchListItem::Clone( SfxItemPool * ) const { return new SvxHatchListItem( *this ); } QUERY_PUT_IMPL( SvxHatchListItem, HatchList ) //================================================================== // // SvxBitmapListItem // //================================================================== SvxBitmapListItem::SvxBitmapListItem() { } SvxBitmapListItem::SvxBitmapListItem( XBitmapListRef pList, sal_uInt16 nW ) : SfxPoolItem( nW ), pBitmapList( pList ) { } SvxBitmapListItem::SvxBitmapListItem( const SvxBitmapListItem& rItem ) : SfxPoolItem( rItem ), pBitmapList( rItem.pBitmapList ) { } SfxItemPresentation SvxBitmapListItem::GetPresentation ( SfxItemPresentation /*ePres*/, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/, XubString& rText, const IntlWrapper * ) const { rText.Erase(); return SFX_ITEM_PRESENTATION_NONE; } int SvxBitmapListItem::operator==( const SfxPoolItem& rItem ) const { DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" ); return ( ( SvxBitmapListItem& ) rItem).pBitmapList == pBitmapList; } SfxPoolItem* SvxBitmapListItem::Clone( SfxItemPool * ) const { return new SvxBitmapListItem( *this ); } QUERY_PUT_IMPL( SvxBitmapListItem, BitmapList ) //================================================================== // // SvxDashListItem // //================================================================== SvxDashListItem::SvxDashListItem() : pDashList( 0 ) { } SvxDashListItem::SvxDashListItem( XDashListRef pList, sal_uInt16 nW ) : SfxPoolItem( nW ), pDashList( pList ) { } SvxDashListItem::SvxDashListItem( const SvxDashListItem& rItem ) : SfxPoolItem( rItem ), pDashList( rItem.pDashList ) { } SfxItemPresentation SvxDashListItem::GetPresentation ( SfxItemPresentation /*ePres*/, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/, XubString& rText, const IntlWrapper * ) const { rText.Erase(); return SFX_ITEM_PRESENTATION_NONE; } int SvxDashListItem::operator==( const SfxPoolItem& rItem ) const { DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" ); return ( ( SvxDashListItem& ) rItem).pDashList == pDashList; } SfxPoolItem* SvxDashListItem::Clone( SfxItemPool * ) const { return new SvxDashListItem( *this ); } QUERY_PUT_IMPL( SvxDashListItem, DashList ) //================================================================== // // SvxLineEndListItem // //================================================================== SvxLineEndListItem::SvxLineEndListItem() { } SvxLineEndListItem::SvxLineEndListItem( XLineEndListRef pList, sal_uInt16 nW ) : SfxPoolItem( nW ), pLineEndList( pList ) { } SvxLineEndListItem::SvxLineEndListItem( const SvxLineEndListItem& rItem ) : SfxPoolItem( rItem ), pLineEndList( rItem.pLineEndList ) { } SfxItemPresentation SvxLineEndListItem::GetPresentation ( SfxItemPresentation /*ePres*/, SfxMapUnit /*eCoreUnit*/, SfxMapUnit /*ePresUnit*/, XubString& rText, const IntlWrapper * ) const { rText.Erase(); return SFX_ITEM_PRESENTATION_NONE; } int SvxLineEndListItem::operator==( const SfxPoolItem& rItem ) const { DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" ); return ( ( SvxLineEndListItem& ) rItem).pLineEndList == pLineEndList; } SfxPoolItem* SvxLineEndListItem::Clone( SfxItemPool * ) const { return new SvxLineEndListItem( *this ); } QUERY_PUT_IMPL( SvxLineEndListItem, LineEndList ) /* vim:set shiftwidth=4 softtabstop=4 expandtab: */