blob: ba8207c9032fcefa7d885f93e4a44a9ad6d3a24a [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svl.hxx"
#include <svl/visitem.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <tools/stream.hxx>
//============================================================================
//
// class SfxVisibilityItem
//
//============================================================================
DBG_NAME(SfxVisibilityItem)
//============================================================================
TYPEINIT1_AUTOFACTORY(SfxVisibilityItem, SfxPoolItem);
//============================================================================
SfxVisibilityItem::SfxVisibilityItem(sal_uInt16 which, SvStream & rStream):
SfxPoolItem(which)
{
DBG_CTOR(SfxVisibilityItem, 0);
sal_Bool bValue = 0;
rStream >> bValue;
m_nValue.bVisible = bValue;
}
//============================================================================
// virtual
int SfxVisibilityItem::operator ==(const SfxPoolItem & rItem) const
{
DBG_CHKTHIS(SfxVisibilityItem, 0);
DBG_ASSERT(SfxPoolItem::operator ==(rItem), "unequal type");
return m_nValue.bVisible == SAL_STATIC_CAST(const SfxVisibilityItem *, &rItem)->
m_nValue.bVisible;
}
//============================================================================
// virtual
int SfxVisibilityItem::Compare(const SfxPoolItem & rWith) const
{
DBG_ASSERT(rWith.ISA(SfxVisibilityItem), "SfxVisibilityItem::Compare(): Bad type");
return m_nValue.bVisible == static_cast< SfxVisibilityItem const * >(&rWith)->m_nValue.bVisible ?
0 : m_nValue.bVisible ? -1 : 1;
}
//============================================================================
// virtual
SfxItemPresentation SfxVisibilityItem::GetPresentation(SfxItemPresentation,
SfxMapUnit, SfxMapUnit,
XubString & rText,
const IntlWrapper *) const
{
rText = GetValueTextByVal(m_nValue.bVisible);
return SFX_ITEM_PRESENTATION_NAMELESS;
}
//============================================================================
// virtual
sal_Bool SfxVisibilityItem::QueryValue(com::sun::star::uno::Any& rVal,sal_uInt8) const
{
rVal <<= m_nValue;
return sal_True;
}
//============================================================================
// virtual
sal_Bool SfxVisibilityItem::PutValue(const com::sun::star::uno::Any& rVal,sal_uInt8)
{
if (rVal >>= m_nValue)
return sal_True;
DBG_ERROR( "SfxInt16Item::PutValue - Wrong type!" );
return sal_False;
}
//============================================================================
// virtual
SfxPoolItem * SfxVisibilityItem::Create(SvStream & rStream, sal_uInt16) const
{
DBG_CHKTHIS(SfxVisibilityItem, 0);
return new SfxVisibilityItem(Which(), rStream);
}
//============================================================================
// virtual
SvStream & SfxVisibilityItem::Store(SvStream & rStream, sal_uInt16) const
{
DBG_CHKTHIS(SfxVisibilityItem, 0);
rStream << m_nValue.bVisible;
return rStream;
}
//============================================================================
// virtual
SfxPoolItem * SfxVisibilityItem::Clone(SfxItemPool *) const
{
DBG_CHKTHIS(SfxVisibilityItem, 0);
return new SfxVisibilityItem(*this);
}
//============================================================================
// virtual
sal_uInt16 SfxVisibilityItem::GetValueCount() const
{
return 2;
}
//============================================================================
// virtual
UniString SfxVisibilityItem::GetValueTextByVal(sal_Bool bTheValue) const
{
return
bTheValue ?
UniString::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("sal_True")) :
UniString::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("sal_False"));
}