Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #include <svl/visitem.hxx>
21 : #include <com/sun/star/uno/Any.hxx>
22 : #include <tools/stream.hxx>
23 :
24 : //============================================================================
25 : //
26 : // class SfxVisibilityItem
27 : //
28 : //============================================================================
29 :
30 : DBG_NAME(SfxVisibilityItem)
31 :
32 : //============================================================================
33 922 : TYPEINIT1_AUTOFACTORY(SfxVisibilityItem, SfxPoolItem);
34 :
35 : //============================================================================
36 0 : SfxVisibilityItem::SfxVisibilityItem(sal_uInt16 which, SvStream & rStream):
37 0 : SfxPoolItem(which)
38 : {
39 : DBG_CTOR(SfxVisibilityItem, 0);
40 0 : sal_Bool bValue = 0;
41 0 : rStream >> bValue;
42 0 : m_nValue.bVisible = bValue;
43 0 : }
44 :
45 : //============================================================================
46 : // virtual
47 0 : int SfxVisibilityItem::operator ==(const SfxPoolItem & rItem) const
48 : {
49 : DBG_CHKTHIS(SfxVisibilityItem, 0);
50 : DBG_ASSERT(SfxPoolItem::operator ==(rItem), "unequal type");
51 : return m_nValue.bVisible == (static_cast< const SfxVisibilityItem * >(&rItem))->
52 0 : m_nValue.bVisible;
53 : }
54 :
55 : //============================================================================
56 : // virtual
57 0 : int SfxVisibilityItem::Compare(const SfxPoolItem & rWith) const
58 : {
59 : DBG_ASSERT(rWith.ISA(SfxVisibilityItem), "SfxVisibilityItem::Compare(): Bad type");
60 : return m_nValue.bVisible == static_cast< SfxVisibilityItem const * >(&rWith)->m_nValue.bVisible ?
61 0 : 0 : m_nValue.bVisible ? -1 : 1;
62 : }
63 :
64 : //============================================================================
65 : // virtual
66 0 : SfxItemPresentation SfxVisibilityItem::GetPresentation(SfxItemPresentation,
67 : SfxMapUnit, SfxMapUnit,
68 : XubString & rText,
69 : const IntlWrapper *) const
70 : {
71 0 : rText = GetValueTextByVal(m_nValue.bVisible);
72 0 : return SFX_ITEM_PRESENTATION_NAMELESS;
73 : }
74 :
75 :
76 : //============================================================================
77 : // virtual
78 0 : bool SfxVisibilityItem::QueryValue(com::sun::star::uno::Any& rVal, sal_uInt8) const
79 : {
80 0 : rVal <<= m_nValue;
81 0 : return true;
82 : }
83 :
84 : //============================================================================
85 : // virtual
86 0 : bool SfxVisibilityItem::PutValue(const com::sun::star::uno::Any& rVal, sal_uInt8)
87 : {
88 0 : if (rVal >>= m_nValue)
89 0 : return true;
90 :
91 : OSL_FAIL( "SfxInt16Item::PutValue - Wrong type!" );
92 0 : return false;
93 : }
94 :
95 : //============================================================================
96 : // virtual
97 0 : SfxPoolItem * SfxVisibilityItem::Create(SvStream & rStream, sal_uInt16) const
98 : {
99 : DBG_CHKTHIS(SfxVisibilityItem, 0);
100 0 : return new SfxVisibilityItem(Which(), rStream);
101 : }
102 :
103 : //============================================================================
104 : // virtual
105 0 : SvStream & SfxVisibilityItem::Store(SvStream & rStream, sal_uInt16) const
106 : {
107 : DBG_CHKTHIS(SfxVisibilityItem, 0);
108 0 : rStream << m_nValue.bVisible;
109 0 : return rStream;
110 : }
111 :
112 : //============================================================================
113 : // virtual
114 0 : SfxPoolItem * SfxVisibilityItem::Clone(SfxItemPool *) const
115 : {
116 : DBG_CHKTHIS(SfxVisibilityItem, 0);
117 0 : return new SfxVisibilityItem(*this);
118 : }
119 :
120 : //============================================================================
121 : // virtual
122 0 : sal_uInt16 SfxVisibilityItem::GetValueCount() const
123 : {
124 0 : return 2;
125 : }
126 :
127 : //============================================================================
128 : // virtual
129 0 : rtl::OUString SfxVisibilityItem::GetValueTextByVal(sal_Bool bTheValue) const
130 : {
131 0 : return bTheValue ? rtl::OUString("TRUE") : rtl::OUString("FALSE");
132 : }
133 :
134 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|