1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef _SDR_PROPERTIES_E3DCOMPOUNDPROPERTIES_HXX
29 #define _SDR_PROPERTIES_E3DCOMPOUNDPROPERTIES_HXX
30 
31 #include <svx/sdr/properties/e3dproperties.hxx>
32 #include "svx/svxdllapi.h"
33 
34 //////////////////////////////////////////////////////////////////////////////
35 
36 namespace sdr
37 {
38 	namespace properties
39 	{
40 		class SVX_DLLPUBLIC E3dCompoundProperties : public E3dProperties
41 		{
42 		protected:
43 			// Called after ItemChange() is done for all items.
44 			virtual void PostItemChange(const sal_uInt16 nWhich);
45 
46 		public:
47 			// basic constructor
48 			E3dCompoundProperties(SdrObject& rObj);
49 
50 			// constructor for copying, but using new object
51 			E3dCompoundProperties(const E3dCompoundProperties& rProps, SdrObject& rObj);
52 
53 			// destructor
54 			virtual ~E3dCompoundProperties();
55 
56 			// Clone() operator, normally just calls the local copy constructor
57 			virtual BaseProperties& Clone(SdrObject& rObj) const;
58 
59 			// get itemset
60 			virtual const SfxItemSet& GetObjectItemSet() const;
61 
62 			// Get merged ItemSet. Normally, this maps directly to GetObjectItemSet(), but may
63 			// be overloaded e.g for group objects to return a merged ItemSet of the object.
64 			// When using this method the returned ItemSet may contain items in the state
65 			// SFX_ITEM_DONTCARE which means there were several such items with different
66 			// values.
67 			virtual const SfxItemSet& GetMergedItemSet() const;
68 
69 			// Set merged ItemSet. Normally, this maps to SetObjectItemSet().
70 			virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False);
71 		};
72 	} // end of namespace properties
73 } // end of namespace sdr
74 
75 //////////////////////////////////////////////////////////////////////////////
76 
77 #endif // _SDR_PROPERTIES_E3DCOMPOUNDPROPERTIES_HXX
78 
79 // eof
80