1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #include <svx/sdr/properties/pageproperties.hxx>
21 #include <svl/itemset.hxx>
22 #include <svx/svdobj.hxx>
23 #include <svx/svdpool.hxx>
25 //////////////////////////////////////////////////////////////////////////////
31 // create a new itemset
32 SfxItemSet
& PageProperties::CreateObjectSpecificItemSet(SfxItemPool
& rPool
)
34 // overloaded to legally return a valid ItemSet
35 return *(new SfxItemSet(rPool
));
38 PageProperties::PageProperties(SdrObject
& rObj
)
39 : EmptyProperties(rObj
)
43 PageProperties::PageProperties(const PageProperties
& rProps
, SdrObject
& rObj
)
44 : EmptyProperties(rProps
, rObj
)
48 PageProperties::~PageProperties()
52 BaseProperties
& PageProperties::Clone(SdrObject
& rObj
) const
54 return *(new PageProperties(*this, rObj
));
57 // get itemset. Overloaded here to allow creating the empty itemset
59 const SfxItemSet
& PageProperties::GetObjectItemSet() const
63 ((PageProperties
*)this)->mpEmptyItemSet
= &(((PageProperties
*)this)->CreateObjectSpecificItemSet(*GetSdrObject().GetObjectItemPool()));
66 DBG_ASSERT(mpEmptyItemSet
, "Could not create an SfxItemSet(!)");
68 return *mpEmptyItemSet
;
71 void PageProperties::ItemChange(const sal_uInt16
/*nWhich*/, const SfxPoolItem
* /*pNewItem*/)
73 // #86481# simply ignore item setting on page objects
76 SfxStyleSheet
* PageProperties::GetStyleSheet() const
78 // overloaded to legally return a 0L pointer here
82 void PageProperties::PostItemChange(const sal_uInt16 nWhich
)
84 if( (nWhich
== XATTR_FILLSTYLE
) && (mpEmptyItemSet
!= NULL
) )
85 CleanupFillProperties(*mpEmptyItemSet
);
88 void PageProperties::ClearObjectItem(const sal_uInt16
/*nWhich*/)
90 // simply ignore item clearing on page objects
92 } // end of namespace properties
93 } // end of namespace sdr
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */