xref: /AOO41X/main/svx/source/sdr/properties/emptyproperties.cxx (revision f6e50924346d0b8c0b07c91832a97665dd718b0c)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_svx.hxx"
26 #include <svx/sdr/properties/emptyproperties.hxx>
27 #include <tools/debug.hxx>
28 #include <svl/itemset.hxx>
29 #include <svx/svddef.hxx>
30 #include <svx/svdobj.hxx>
31 #include <svx/svdpool.hxx>
32 
33 //////////////////////////////////////////////////////////////////////////////
34 
35 namespace sdr
36 {
37     namespace properties
38     {
39         // create a new itemset
CreateObjectSpecificItemSet(SfxItemPool & rPool)40         SfxItemSet& EmptyProperties::CreateObjectSpecificItemSet(SfxItemPool& rPool)
41         {
42             // Basic implementation; Basic object has NO attributes
43             DBG_ASSERT(sal_False, "EmptyProperties::CreateObjectSpecificItemSet() should never be called");
44             return *(new SfxItemSet(rPool));
45         }
46 
EmptyProperties(SdrObject & rObj)47         EmptyProperties::EmptyProperties(SdrObject& rObj)
48         :   BaseProperties(rObj),
49             mpEmptyItemSet(0L)
50         {
51         }
52 
EmptyProperties(const EmptyProperties & rProps,SdrObject & rObj)53         EmptyProperties::EmptyProperties(const EmptyProperties& rProps, SdrObject& rObj)
54         :   BaseProperties(rProps, rObj),
55             mpEmptyItemSet(0L)
56         {
57             // #115593#
58             // do not gererate an assert, else derivations like PageProperties will generate an assert
59             // using the Clone() operator path.
60         }
61 
~EmptyProperties()62         EmptyProperties::~EmptyProperties()
63         {
64             if(mpEmptyItemSet)
65             {
66                 delete mpEmptyItemSet;
67                 mpEmptyItemSet = 0L;
68             }
69         }
70 
Clone(SdrObject & rObj) const71         BaseProperties& EmptyProperties::Clone(SdrObject& rObj) const
72         {
73             return *(new EmptyProperties(*this, rObj));
74         }
75 
GetObjectItemSet() const76         const SfxItemSet& EmptyProperties::GetObjectItemSet() const
77         {
78             if(!mpEmptyItemSet)
79             {
80                 ((EmptyProperties*)this)->mpEmptyItemSet = &(((EmptyProperties*)this)->CreateObjectSpecificItemSet(*GetSdrObject().GetObjectItemPool()));
81             }
82 
83             DBG_ASSERT(mpEmptyItemSet, "Could not create an SfxItemSet(!)");
84             DBG_ASSERT(sal_False, "EmptyProperties::GetObjectItemSet() should never be called (!)");
85 
86             return *mpEmptyItemSet;
87         }
88 
SetObjectItem(const SfxPoolItem &)89         void EmptyProperties::SetObjectItem(const SfxPoolItem& /*rItem*/)
90         {
91             DBG_ASSERT(sal_False, "EmptyProperties::SetObjectItem() should never be called (!)");
92         }
93 
SetObjectItemDirect(const SfxPoolItem &)94         void EmptyProperties::SetObjectItemDirect(const SfxPoolItem& /*rItem*/)
95         {
96             DBG_ASSERT(sal_False, "EmptyProperties::SetObjectItemDirect() should never be called (!)");
97         }
98 
ClearObjectItem(const sal_uInt16)99         void EmptyProperties::ClearObjectItem(const sal_uInt16 /*nWhich*/)
100         {
101             DBG_ASSERT(sal_False, "EmptyProperties::ClearObjectItem() should never be called (!)");
102         }
103 
ClearObjectItemDirect(const sal_uInt16)104         void EmptyProperties::ClearObjectItemDirect(const sal_uInt16 /*nWhich*/)
105         {
106             DBG_ASSERT(sal_False, "EmptyProperties::ClearObjectItemDirect() should never be called (!)");
107         }
108 
SetObjectItemSet(const SfxItemSet &)109         void EmptyProperties::SetObjectItemSet(const SfxItemSet& /*rSet*/)
110         {
111             DBG_ASSERT(sal_False, "EmptyProperties::SetObjectItemSet() should never be called (!)");
112         }
113 
ItemSetChanged(const SfxItemSet &)114         void EmptyProperties::ItemSetChanged(const SfxItemSet& /*rSet*/)
115         {
116             DBG_ASSERT(sal_False, "EmptyProperties::ItemSetChanged() should never be called (!)");
117         }
118 
AllowItemChange(const sal_uInt16,const SfxPoolItem *) const119         sal_Bool EmptyProperties::AllowItemChange(const sal_uInt16 /*nWhich*/, const SfxPoolItem* /*pNewItem*/) const
120         {
121             DBG_ASSERT(sal_False, "EmptyProperties::AllowItemChange() should never be called (!)");
122             return sal_True;
123         }
124 
ItemChange(const sal_uInt16,const SfxPoolItem *)125         void EmptyProperties::ItemChange(const sal_uInt16 /*nWhich*/, const SfxPoolItem* /*pNewItem*/)
126         {
127             DBG_ASSERT(sal_False, "EmptyProperties::ItemChange() should never be called (!)");
128         }
129 
PostItemChange(const sal_uInt16)130         void EmptyProperties::PostItemChange(const sal_uInt16 /*nWhich*/)
131         {
132             DBG_ASSERT(sal_False, "EmptyProperties::PostItemChange() should never be called (!)");
133         }
134 
SetStyleSheet(SfxStyleSheet *,sal_Bool)135         void EmptyProperties::SetStyleSheet(SfxStyleSheet* /*pNewStyleSheet*/, sal_Bool /*bDontRemoveHardAttr*/)
136         {
137             DBG_ASSERT(sal_False, "EmptyProperties::SetStyleSheet() should never be called (!)");
138         }
139 
GetStyleSheet() const140         SfxStyleSheet* EmptyProperties::GetStyleSheet() const
141         {
142             DBG_ASSERT(sal_False, "EmptyProperties::GetStyleSheet() should never be called (!)");
143             return 0L;
144         }
145     } // end of namespace properties
146 } // end of namespace sdr
147 
148 //////////////////////////////////////////////////////////////////////////////
149 // eof
150