summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorThomas Arnhold <thomas@arnhold.org>2013-04-02 14:21:42 +0200
committerLuboš Luňák <l.lunak@suse.cz>2013-04-02 15:32:20 +0000
commit1416669670de6f93b40d8a2f8f001e92ec0bf101 (patch)
tree16da4cdc3242efc3c189660d7118663e3e9874e4 /svl
parent07f98c44311464fd7e5f94f569f847e43a0be4a2 (diff)
Revert "Revert "reduce some uglyness""
The header guard seems to solve the problem. This reverts commit df8c41cceeca27ae49e9fa6b5cd64c65c8feb218. Change-Id: I27869be9c70e79a366a547ce061e71a3743f87da Reviewed-on: https://gerrit.libreoffice.org/3171 Reviewed-by: Luboš Luňák <l.lunak@suse.cz> Tested-by: Luboš Luňák <l.lunak@suse.cz>
Diffstat (limited to 'svl')
-rw-r--r--svl/inc/svl/rngitem.hxx49
-rw-r--r--svl/source/items/rngitem.cxx190
-rw-r--r--svl/source/items/rngitem_inc.cxx212
3 files changed, 197 insertions, 254 deletions
diff --git a/svl/inc/svl/rngitem.hxx b/svl/inc/svl/rngitem.hxx
index 698641d51fb1..450e958ec179 100644
--- a/svl/inc/svl/rngitem.hxx
+++ b/svl/inc/svl/rngitem.hxx
@@ -18,20 +18,8 @@
*/
#ifndef _SFXRNGITEM_HXX
-
-#ifndef NUMTYPE
-
-#define NUMTYPE sal_uInt16
-#define SfxXRangeItem SfxRangeItem
-#define SfxXRangesItem SfxUShortRangesItem
-#include <svl/rngitem.hxx>
-#undef NUMTYPE
-#undef SfxXRangeItem
-#undef SfxXRangesItem
-
#define _SFXRNGITEM_HXX
-#else
#include "svl/svldllapi.h"
#include <svl/poolitem.hxx>
@@ -39,16 +27,16 @@ class SvStream;
// -----------------------------------------------------------------------
-class SVL_DLLPUBLIC SfxXRangeItem : public SfxPoolItem
+class SVL_DLLPUBLIC SfxRangeItem : public SfxPoolItem
{
private:
- NUMTYPE nFrom;
- NUMTYPE nTo;
+ sal_uInt16 nFrom;
+ sal_uInt16 nTo;
public:
TYPEINFO();
- SfxXRangeItem();
- SfxXRangeItem( sal_uInt16 nWID, NUMTYPE nFrom, NUMTYPE nTo );
- SfxXRangeItem( const SfxXRangeItem& rItem );
+ SfxRangeItem();
+ SfxRangeItem( sal_uInt16 nWID, sal_uInt16 nFrom, sal_uInt16 nTo );
+ SfxRangeItem( const SfxRangeItem& rItem );
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
SfxMapUnit eCoreMetric,
@@ -56,28 +44,28 @@ public:
OUString &rText,
const IntlWrapper * = 0 ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
- inline NUMTYPE& From() { return nFrom; }
- inline NUMTYPE From() const { return nFrom; }
- inline NUMTYPE& To() { return nTo; }
- inline NUMTYPE To() const { return nTo; }
- inline sal_Bool HasRange() const { return nTo>nFrom; }
+ inline sal_uInt16& From() { return nFrom; }
+ inline sal_uInt16 From() const { return nFrom; }
+ inline sal_uInt16& To() { return nTo; }
+ inline sal_uInt16 To() const { return nTo; }
+ inline sal_Bool HasRange() const { return nTo>nFrom; }
virtual SfxPoolItem* Create( SvStream &, sal_uInt16 nVersion ) const;
virtual SvStream& Store( SvStream &, sal_uInt16 nItemVersion ) const;
};
// -----------------------------------------------------------------------
-class SVL_DLLPUBLIC SfxXRangesItem : public SfxPoolItem
+class SVL_DLLPUBLIC SfxUShortRangesItem : public SfxPoolItem
{
private:
- NUMTYPE* _pRanges;
+ sal_uInt16* _pRanges;
public:
TYPEINFO();
- SfxXRangesItem();
- SfxXRangesItem( sal_uInt16 nWID, SvStream &rStream );
- SfxXRangesItem( const SfxXRangesItem& rItem );
- virtual ~SfxXRangesItem();
+ SfxUShortRangesItem();
+ SfxUShortRangesItem( sal_uInt16 nWID, SvStream &rStream );
+ SfxUShortRangesItem( const SfxUShortRangesItem& rItem );
+ virtual ~SfxUShortRangesItem();
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
SfxMapUnit eCoreMetric,
@@ -85,12 +73,11 @@ public:
OUString &rText,
const IntlWrapper * = 0 ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
- inline const NUMTYPE* GetRanges() const { return _pRanges; }
+ inline const sal_uInt16* GetRanges() const { return _pRanges; }
virtual SfxPoolItem* Create( SvStream &, sal_uInt16 nVersion ) const;
virtual SvStream& Store( SvStream &, sal_uInt16 nItemVersion ) const;
};
#endif
-#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svl/source/items/rngitem.cxx b/svl/source/items/rngitem.cxx
index 72f890d462aa..645c543230e2 100644
--- a/svl/source/items/rngitem.cxx
+++ b/svl/source/items/rngitem.cxx
@@ -18,22 +18,190 @@
*/
#include <tools/stream.hxx>
+#include <svl/rngitem.hxx>
-#ifndef NUMTYPE
+static inline sal_uInt16 Count_Impl(const sal_uInt16 * pRanges)
+{
+ sal_uInt16 nCount = 0;
+ for (; *pRanges; pRanges += 2) nCount += 2;
+ return nCount;
+}
-#define NUMTYPE sal_uInt16
-#define SfxXRangeItem SfxRangeItem
-#define SfxXRangesItem SfxUShortRangesItem
-#include <svl/rngitem.hxx>
-#include "rngitem_inc.cxx"
+// -----------------------------------------------------------------------
+
+TYPEINIT1_AUTOFACTORY(SfxRangeItem, SfxPoolItem);
+TYPEINIT1_AUTOFACTORY(SfxUShortRangesItem, SfxPoolItem);
+
+sal_uInt16 Count_Impl( const sal_uInt16 *pRanges );
+
+// -----------------------------------------------------------------------
+
+SfxRangeItem::SfxRangeItem()
+{
+ nFrom = 0;
+ nTo = 0;
+}
+
+// -----------------------------------------------------------------------
+
+SfxRangeItem::SfxRangeItem( sal_uInt16 which, sal_uInt16 from, sal_uInt16 to ):
+ SfxPoolItem( which ),
+ nFrom( from ),
+ nTo( to )
+{
+}
+
+// -----------------------------------------------------------------------
+
+SfxRangeItem::SfxRangeItem( const SfxRangeItem& rItem ) :
+ SfxPoolItem( rItem )
+{
+ nFrom = rItem.nFrom;
+ nTo = rItem.nTo;
+}
+
+// -----------------------------------------------------------------------
+
+SfxItemPresentation SfxRangeItem::GetPresentation
+(
+ SfxItemPresentation /*ePresentation*/,
+ SfxMapUnit /*eCoreMetric*/,
+ SfxMapUnit /*ePresentationMetric*/,
+ OUString& rText,
+ const IntlWrapper *
+) const
+{
+ rText = OUString::number(nFrom) + ":" + OUString::number(nTo);
+ return SFX_ITEM_PRESENTATION_NAMELESS;
+}
+
+// -----------------------------------------------------------------------
+
+int SfxRangeItem::operator==( const SfxPoolItem& rItem ) const
+{
+ DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
+ SfxRangeItem* pT = (SfxRangeItem*)&rItem;
+ if( nFrom==pT->nFrom && nTo==pT->nTo )
+ return 1;
+ return 0;
+}
+
+// -----------------------------------------------------------------------
+
+SfxPoolItem* SfxRangeItem::Clone(SfxItemPool *) const
+{
+ return new SfxRangeItem( Which(), nFrom, nTo );
+}
+
+// -----------------------------------------------------------------------
+
+SfxPoolItem* SfxRangeItem::Create(SvStream &rStream, sal_uInt16) const
+{
+ sal_uInt16 nVon(0), nBis(0);
+ rStream >> nVon;
+ rStream >> nBis;
+ return new SfxRangeItem( Which(), nVon, nBis );
+}
+
+// -----------------------------------------------------------------------
+
+SvStream& SfxRangeItem::Store(SvStream &rStream, sal_uInt16) const
+{
+ rStream << nFrom;
+ rStream << nTo;
+ return rStream;
+}
+
+//=========================================================================
+
+SfxUShortRangesItem::SfxUShortRangesItem()
+: _pRanges(0)
+{
+}
+
+//-------------------------------------------------------------------------
+
+SfxUShortRangesItem::SfxUShortRangesItem( sal_uInt16 nWID, SvStream &rStream )
+: SfxPoolItem( nWID )
+{
+ sal_uInt16 nCount(0);
+ rStream >> nCount;
+ _pRanges = new sal_uInt16[nCount + 1];
+ for ( sal_uInt16 n = 0; n < nCount; ++n )
+ rStream >> _pRanges[n];
+ _pRanges[nCount] = 0;
+}
+
+//-------------------------------------------------------------------------
+
+SfxUShortRangesItem::SfxUShortRangesItem( const SfxUShortRangesItem& rItem )
+: SfxPoolItem( rItem )
+{
+ sal_uInt16 nCount = Count_Impl(rItem._pRanges) + 1;
+ _pRanges = new sal_uInt16[nCount];
+ memcpy( _pRanges, rItem._pRanges, sizeof(sal_uInt16) * nCount );
+}
+
+//-------------------------------------------------------------------------
+
+SfxUShortRangesItem::~SfxUShortRangesItem()
+{
+ delete _pRanges;
+}
+
+//-------------------------------------------------------------------------
+
+int SfxUShortRangesItem::operator==( const SfxPoolItem &rItem ) const
+{
+ const SfxUShortRangesItem &rOther = (const SfxUShortRangesItem&) rItem;
+ if ( !_pRanges && !rOther._pRanges )
+ return sal_True;
+ if ( _pRanges || rOther._pRanges )
+ return sal_False;
+
+ sal_uInt16 n;
+ for ( n = 0; _pRanges[n] && rOther._pRanges[n]; ++n )
+ if ( *_pRanges != rOther._pRanges[n] )
+ return 0;
+
+ return !_pRanges[n] && !rOther._pRanges[n];
+}
+
+//-------------------------------------------------------------------------
+
+SfxItemPresentation SfxUShortRangesItem::GetPresentation( SfxItemPresentation /*ePres*/,
+ SfxMapUnit /*eCoreMetric*/,
+ SfxMapUnit /*ePresMetric*/,
+ OUString & /*rText*/,
+ const IntlWrapper * ) const
+{
+ // not implemented
+ return SFX_ITEM_PRESENTATION_NONE;
+}
+
+//-------------------------------------------------------------------------
+
+SfxPoolItem* SfxUShortRangesItem::Clone( SfxItemPool * ) const
+{
+ return new SfxUShortRangesItem( *this );
+}
-#else
+//-------------------------------------------------------------------------
-// We leave this condition just in case NUMTYPE has been defined externally to this
-// file and we are supposed to define the SfxXRangeItem based on that.
+SfxPoolItem* SfxUShortRangesItem::Create( SvStream &rStream, sal_uInt16 ) const
+{
+ return new SfxUShortRangesItem( Which(), rStream );
+}
-#include "rngitem_inc.cxx"
+//-------------------------------------------------------------------------
-#endif
+SvStream& SfxUShortRangesItem::Store( SvStream &rStream, sal_uInt16 ) const
+{
+ sal_uInt16 nCount = Count_Impl( _pRanges );
+ rStream >> nCount;
+ for ( sal_uInt16 n = 0; _pRanges[n]; ++n )
+ rStream >> _pRanges[n];
+ return rStream;
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svl/source/items/rngitem_inc.cxx b/svl/source/items/rngitem_inc.cxx
deleted file mode 100644
index 572c89ef5fff..000000000000
--- a/svl/source/items/rngitem_inc.cxx
+++ /dev/null
@@ -1,212 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-// This snippet of code is included by rngitem.cxx but not compiled directly.
-// Ugly hack, probably due to lack of templates in the 20th century.
-
-static inline NUMTYPE Count_Impl(const NUMTYPE * pRanges)
-{
- NUMTYPE nCount = 0;
- for (; *pRanges; pRanges += 2) nCount += 2;
- return nCount;
-}
-
-// -----------------------------------------------------------------------
-
-TYPEINIT1_AUTOFACTORY(SfxXRangeItem, SfxPoolItem);
-TYPEINIT1_AUTOFACTORY(SfxXRangesItem, SfxPoolItem);
-
-NUMTYPE Count_Impl( const NUMTYPE *pRanges );
-
-// -----------------------------------------------------------------------
-
-SfxXRangeItem::SfxXRangeItem()
-{
- nFrom = 0;
- nTo = 0;
-}
-
-// -----------------------------------------------------------------------
-
-SfxXRangeItem::SfxXRangeItem( sal_uInt16 which, NUMTYPE from, NUMTYPE to ):
- SfxPoolItem( which ),
- nFrom( from ),
- nTo( to )
-{
-}
-
-// -----------------------------------------------------------------------
-
-SfxXRangeItem::SfxXRangeItem( const SfxXRangeItem& rItem ) :
- SfxPoolItem( rItem )
-{
- nFrom = rItem.nFrom;
- nTo = rItem.nTo;
-}
-
-// -----------------------------------------------------------------------
-
-SfxItemPresentation SfxXRangeItem::GetPresentation
-(
- SfxItemPresentation /*ePresentation*/,
- SfxMapUnit /*eCoreMetric*/,
- SfxMapUnit /*ePresentationMetric*/,
- OUString& rText,
- const IntlWrapper *
-) const
-{
- rText = OUString::number(nFrom) + ":" + OUString::number(nTo);
- return SFX_ITEM_PRESENTATION_NAMELESS;
-}
-
-// -----------------------------------------------------------------------
-
-int SfxXRangeItem::operator==( const SfxPoolItem& rItem ) const
-{
- DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
- SfxXRangeItem* pT = (SfxXRangeItem*)&rItem;
- if( nFrom==pT->nFrom && nTo==pT->nTo )
- return 1;
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
-SfxPoolItem* SfxXRangeItem::Clone(SfxItemPool *) const
-{
- return new SfxXRangeItem( Which(), nFrom, nTo );
-}
-
-// -----------------------------------------------------------------------
-
-SfxPoolItem* SfxXRangeItem::Create(SvStream &rStream, sal_uInt16) const
-{
- NUMTYPE nVon(0), nBis(0);
- rStream >> nVon;
- rStream >> nBis;
- return new SfxXRangeItem( Which(), nVon, nBis );
-}
-
-// -----------------------------------------------------------------------
-
-SvStream& SfxXRangeItem::Store(SvStream &rStream, sal_uInt16) const
-{
- rStream << nFrom;
- rStream << nTo;
- return rStream;
-}
-
-//=========================================================================
-
-SfxXRangesItem::SfxXRangesItem()
-: _pRanges(0)
-{
-}
-
-//-------------------------------------------------------------------------
-
-SfxXRangesItem::SfxXRangesItem( sal_uInt16 nWID, SvStream &rStream )
-: SfxPoolItem( nWID )
-{
- NUMTYPE nCount(0);
- rStream >> nCount;
- _pRanges = new NUMTYPE[nCount + 1];
- for ( NUMTYPE n = 0; n < nCount; ++n )
- rStream >> _pRanges[n];
- _pRanges[nCount] = 0;
-}
-
-//-------------------------------------------------------------------------
-
-SfxXRangesItem::SfxXRangesItem( const SfxXRangesItem& rItem )
-: SfxPoolItem( rItem )
-{
- NUMTYPE nCount = Count_Impl(rItem._pRanges) + 1;
- _pRanges = new NUMTYPE[nCount];
- memcpy( _pRanges, rItem._pRanges, sizeof(NUMTYPE) * nCount );
-}
-
-//-------------------------------------------------------------------------
-
-SfxXRangesItem::~SfxXRangesItem()
-{
- delete _pRanges;
-}
-
-//-------------------------------------------------------------------------
-
-int SfxXRangesItem::operator==( const SfxPoolItem &rItem ) const
-{
- const SfxXRangesItem &rOther = (const SfxXRangesItem&) rItem;
- if ( !_pRanges && !rOther._pRanges )
- return sal_True;
- if ( _pRanges || rOther._pRanges )
- return sal_False;
-
- NUMTYPE n;
- for ( n = 0; _pRanges[n] && rOther._pRanges[n]; ++n )
- if ( *_pRanges != rOther._pRanges[n] )
- return 0;
-
- return !_pRanges[n] && !rOther._pRanges[n];
-}
-
-//-------------------------------------------------------------------------
-
-SfxItemPresentation SfxXRangesItem::GetPresentation( SfxItemPresentation /*ePres*/,
- SfxMapUnit /*eCoreMetric*/,
- SfxMapUnit /*ePresMetric*/,
- OUString & /*rText*/,
- const IntlWrapper * ) const
-{
- // not implemented
- return SFX_ITEM_PRESENTATION_NONE;
-}
-
-//-------------------------------------------------------------------------
-
-SfxPoolItem* SfxXRangesItem::Clone( SfxItemPool * ) const
-{
- return new SfxXRangesItem( *this );
-}
-
-//-------------------------------------------------------------------------
-
-SfxPoolItem* SfxXRangesItem::Create( SvStream &rStream, sal_uInt16 ) const
-{
- return new SfxXRangesItem( Which(), rStream );
-}
-
-//-------------------------------------------------------------------------
-
-SvStream& SfxXRangesItem::Store( SvStream &rStream, sal_uInt16 ) const
-{
- NUMTYPE nCount = Count_Impl( _pRanges );
- rStream >> nCount;
- for ( NUMTYPE n = 0; _pRanges[n]; ++n )
- rStream >> _pRanges[n];
- return rStream;
-}
-
-
-#undef NUMTYPE
-#undef SfxXRangeItem
-#undef SfxXRangesItem
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */