summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-08-15 23:12:54 +0200
committerMichael Stahl <mstahl@redhat.com>2013-08-16 11:23:28 +0200
commit69f686774cfeb803fdd63ed1ef07ff70550930de (patch)
tree3b45125258a2d6ebfc41782a317378e8f3457f67
parent35223e5f19dc1f4e59c3694e98103444c82082b8 (diff)
SfxBoolItem: cut out the middle man
CntBoolItem adds no value at all. Change-Id: I41a22fc11cca270e792f2a2f81e3638b54dc1d24
-rw-r--r--include/svl/cenumitm.hxx48
-rw-r--r--include/svl/eitem.hxx61
-rw-r--r--svl/source/items/cenumitm.cxx56
-rw-r--r--svl/source/items/eitem.cxx7
4 files changed, 79 insertions, 93 deletions
diff --git a/include/svl/cenumitm.hxx b/include/svl/cenumitm.hxx
index 35024c3a6d44..dc61d30db179 100644
--- a/include/svl/cenumitm.hxx
+++ b/include/svl/cenumitm.hxx
@@ -117,54 +117,6 @@ inline void CntEnumItem::SetValue(sal_uInt16 nTheValue)
m_nValue = nTheValue;
}
-//============================================================================
-DBG_NAMEEX(CntBoolItem)
-
-class SVL_DLLPUBLIC CntBoolItem: public SfxPoolItem
-{
- sal_Bool m_bValue;
-
-public:
- TYPEINFO();
-
- explicit CntBoolItem(sal_uInt16 which = 0, sal_Bool bTheValue = sal_False):
- SfxPoolItem(which), m_bValue(bTheValue) {}
-
- CntBoolItem(sal_uInt16 nWhich, SvStream & rStream);
-
- CntBoolItem(const CntBoolItem & rItem):
- SfxPoolItem(rItem), m_bValue(rItem.m_bValue) {}
-
- virtual int operator ==(const SfxPoolItem & rItem) const;
-
- using SfxPoolItem::Compare;
- virtual int Compare(const SfxPoolItem & rWith) const;
-
- virtual SfxItemPresentation GetPresentation(SfxItemPresentation,
- SfxMapUnit, SfxMapUnit,
- OUString & rText,
- const IntlWrapper * = 0)
- const;
-
- virtual bool QueryValue(com::sun::star::uno::Any& rVal, sal_uInt8 = 0) const;
-
- virtual bool PutValue(const com::sun::star::uno::Any& rVal, sal_uInt8 = 0);
-
- virtual SfxPoolItem * Create(SvStream & rStream, sal_uInt16) const;
-
- virtual SvStream & Store(SvStream & rStream, sal_uInt16) const;
-
- virtual SfxPoolItem * Clone(SfxItemPool * = 0) const;
-
- virtual sal_uInt16 GetValueCount() const;
-
- virtual OUString GetValueTextByVal(sal_Bool bTheValue) const;
-
- sal_Bool GetValue() const { return m_bValue; }
-
- void SetValue(sal_Bool bTheValue) { m_bValue = bTheValue; }
-};
-
#endif // _SVTOOLS_CENUMITM_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svl/eitem.hxx b/include/svl/eitem.hxx
index c9c5e389132f..e035c618f0c5 100644
--- a/include/svl/eitem.hxx
+++ b/include/svl/eitem.hxx
@@ -17,8 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef _SFXENUMITEM_HXX
-#define _SFXENUMITEM_HXX
+#ifndef SFXENUMITEM_HXX
+#define SFXENUMITEM_HXX
#include "svl/svldllapi.h"
#include <svl/cenumitm.hxx>
@@ -39,24 +39,63 @@ public:
};
//============================================================================
-class SVL_DLLPUBLIC SfxBoolItem: public CntBoolItem
+
+class SVL_DLLPUBLIC SfxBoolItem
+ : public SfxPoolItem
{
+ bool m_bValue;
+
public:
TYPEINFO();
- explicit SfxBoolItem(sal_uInt16 which = 0, sal_Bool bValue = sal_False):
- CntBoolItem(which, bValue) {}
+ explicit SfxBoolItem(sal_uInt16 const nWhich = 0, bool const bValue = false)
+ : SfxPoolItem(nWhich)
+ , m_bValue(bValue)
+ { }
+
+ SfxBoolItem(SfxBoolItem const& rItem)
+ : SfxPoolItem(rItem)
+ , m_bValue(rItem.m_bValue)
+ { }
+
+ SfxBoolItem(sal_uInt16 nWhich, SvStream & rStream);
+
+ bool GetValue() const { return m_bValue; }
+
+ void SetValue(bool const bTheValue) { m_bValue = bTheValue; }
+
+ // SfxPoolItem
+ virtual int operator ==(const SfxPoolItem & rItem) const SAL_OVERRIDE;
+
+ using SfxPoolItem::Compare;
+ virtual int Compare(const SfxPoolItem & rWith) const SAL_OVERRIDE;
+
+ virtual SfxItemPresentation GetPresentation(SfxItemPresentation,
+ SfxMapUnit, SfxMapUnit,
+ OUString & rText,
+ const IntlWrapper * = 0)
+ const SAL_OVERRIDE;
+
+ virtual bool QueryValue(com::sun::star::uno::Any& rVal, sal_uInt8 = 0)
+ const SAL_OVERRIDE;
+
+ virtual bool PutValue(const com::sun::star::uno::Any& rVal, sal_uInt8 = 0)
+ SAL_OVERRIDE;
- SfxBoolItem(sal_uInt16 which, SvStream & rStream):
- CntBoolItem(which, rStream) {}
virtual SfxPoolItem * Create(SvStream & rStream, sal_uInt16) const
- { return new SfxBoolItem(Which(), rStream); }
+ SAL_OVERRIDE;
+
+ virtual SvStream & Store(SvStream & rStream, sal_uInt16) const SAL_OVERRIDE;
+
+ virtual SfxPoolItem * Clone(SfxItemPool * = 0) const SAL_OVERRIDE;
+
+ virtual sal_uInt16 GetValueCount() const;
+
+ virtual OUString GetValueTextByVal(sal_Bool bTheValue) const;
- virtual SfxPoolItem * Clone(SfxItemPool * = 0) const
- { return new SfxBoolItem(*this); }
};
-#endif // _SFXENUMITEM_HXX
+#endif // SFXENUMITEM_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svl/source/items/cenumitm.cxx b/svl/source/items/cenumitm.cxx
index c476a146acaa..42923fff766b 100644
--- a/svl/source/items/cenumitm.cxx
+++ b/svl/source/items/cenumitm.cxx
@@ -20,6 +20,7 @@
#include <com/sun/star/uno/Any.hxx>
#include <tools/stream.hxx>
#include <svl/cenumitm.hxx>
+#include <svl/eitem.hxx>
#include <whassert.hxx>
#include <comphelper/extract.hxx>
@@ -152,38 +153,39 @@ void CntEnumItem::SetEnumValue(sal_uInt16 nTheValue)
}
//
-// class CntBoolItem
+// class SfxBoolItem
//
-DBG_NAME(CntBoolItem)
+DBG_NAME(SfxBoolItem)
-TYPEINIT1_AUTOFACTORY(CntBoolItem, SfxPoolItem)
+TYPEINIT1_AUTOFACTORY(SfxBoolItem, SfxPoolItem);
-CntBoolItem::CntBoolItem(sal_uInt16 which, SvStream & rStream):
- SfxPoolItem(which)
+SfxBoolItem::SfxBoolItem(sal_uInt16 const nWhich, SvStream & rStream)
+ : SfxPoolItem(nWhich)
{
- m_bValue = false;
- rStream >> m_bValue;
+ sal_Bool tmp = false;
+ rStream >> tmp;
+ m_bValue = tmp;
}
// virtual
-int CntBoolItem::operator ==(const SfxPoolItem & rItem) const
+int SfxBoolItem::operator ==(const SfxPoolItem & rItem) const
{
- DBG_ASSERT(rItem.ISA(CntBoolItem),
- "CntBoolItem::operator ==(): Bad type");
- return m_bValue == static_cast< CntBoolItem const * >(&rItem)->m_bValue;
+ DBG_ASSERT(rItem.ISA(SfxBoolItem),
+ "SfxBoolItem::operator ==(): Bad type");
+ return m_bValue == static_cast< SfxBoolItem const * >(&rItem)->m_bValue;
}
// virtual
-int CntBoolItem::Compare(const SfxPoolItem & rWith) const
+int SfxBoolItem::Compare(const SfxPoolItem & rWith) const
{
- DBG_ASSERT(rWith.ISA(CntBoolItem), "CntBoolItem::Compare(): Bad type");
- return m_bValue == static_cast< CntBoolItem const * >(&rWith)->m_bValue ?
+ DBG_ASSERT(rWith.ISA(SfxBoolItem), "SfxBoolItem::Compare(): Bad type");
+ return (m_bValue == static_cast<SfxBoolItem const*>(&rWith)->m_bValue) ?
0 : m_bValue ? -1 : 1;
}
// virtual
-SfxItemPresentation CntBoolItem::GetPresentation(SfxItemPresentation,
+SfxItemPresentation SfxBoolItem::GetPresentation(SfxItemPresentation,
SfxMapUnit, SfxMapUnit,
OUString & rText,
const IntlWrapper *) const
@@ -193,14 +195,14 @@ SfxItemPresentation CntBoolItem::GetPresentation(SfxItemPresentation,
}
// virtual
-bool CntBoolItem::QueryValue(com::sun::star::uno::Any& rVal, sal_uInt8) const
+bool SfxBoolItem::QueryValue(com::sun::star::uno::Any& rVal, sal_uInt8) const
{
- rVal <<= sal_Bool(m_bValue);
+ rVal <<= m_bValue;
return true;
}
// virtual
-bool CntBoolItem::PutValue(const com::sun::star::uno::Any& rVal, sal_uInt8)
+bool SfxBoolItem::PutValue(const com::sun::star::uno::Any& rVal, sal_uInt8)
{
sal_Bool bTheValue = sal_Bool();
if (rVal >>= bTheValue)
@@ -208,37 +210,37 @@ bool CntBoolItem::PutValue(const com::sun::star::uno::Any& rVal, sal_uInt8)
m_bValue = bTheValue;
return true;
}
- OSL_FAIL("CntBoolItem::PutValue(): Wrong type");
+ OSL_FAIL("SfxBoolItem::PutValue(): Wrong type");
return false;
}
// virtual
-SfxPoolItem * CntBoolItem::Create(SvStream & rStream, sal_uInt16) const
+SfxPoolItem * SfxBoolItem::Create(SvStream & rStream, sal_uInt16) const
{
- return new CntBoolItem(Which(), rStream);
+ return new SfxBoolItem(Which(), rStream);
}
// virtual
-SvStream & CntBoolItem::Store(SvStream & rStream, sal_uInt16) const
+SvStream & SfxBoolItem::Store(SvStream & rStream, sal_uInt16) const
{
- rStream << m_bValue;
+ rStream << static_cast<sal_Bool>(m_bValue); // not bool for serialization!
return rStream;
}
// virtual
-SfxPoolItem * CntBoolItem::Clone(SfxItemPool *) const
+SfxPoolItem * SfxBoolItem::Clone(SfxItemPool *) const
{
- return new CntBoolItem(*this);
+ return new SfxBoolItem(*this);
}
// virtual
-sal_uInt16 CntBoolItem::GetValueCount() const
+sal_uInt16 SfxBoolItem::GetValueCount() const
{
return 2;
}
// virtual
-OUString CntBoolItem::GetValueTextByVal(sal_Bool bTheValue) const
+OUString SfxBoolItem::GetValueTextByVal(sal_Bool bTheValue) const
{
return bTheValue ? OUString("TRUE") : OUString("FALSE");
}
diff --git a/svl/source/items/eitem.cxx b/svl/source/items/eitem.cxx
index 0f84b67ef69d..0b37d072731e 100644
--- a/svl/source/items/eitem.cxx
+++ b/svl/source/items/eitem.cxx
@@ -24,11 +24,4 @@
TYPEINIT1(SfxEnumItem, CntEnumItem);
-//
-// class SfxBoolItem
-//
-
-TYPEINIT1_AUTOFACTORY(SfxBoolItem, CntBoolItem);
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */