diff options
Diffstat (limited to 'svx/inc/svx/sdr/properties')
22 files changed, 1944 insertions, 0 deletions
diff --git a/svx/inc/svx/sdr/properties/attributeproperties.hxx b/svx/inc/svx/sdr/properties/attributeproperties.hxx new file mode 100644 index 000000000000..a8df62b52a67 --- /dev/null +++ b/svx/inc/svx/sdr/properties/attributeproperties.hxx @@ -0,0 +1,101 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_ATTRIBUTEPROPERTIES_HXX +#define _SDR_PROPERTIES_ATTRIBUTEPROPERTIES_HXX + +#include <svl/lstner.hxx> +#include <svx/sdr/properties/defaultproperties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC AttributeProperties : public DefaultProperties, public SfxListener + { + // add style sheet, do all the necessary handling + void ImpAddStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // remove StyleSheet, do all the necessary handling + void ImpRemoveStyleSheet(); + + protected: + // the SytleSheet of this object + SfxStyleSheet* mpStyleSheet; + + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& pPool); + + // Do the ItemChange, may do special handling + virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + AttributeProperties(SdrObject& rObj); + + // constructor for copying, but using new object + AttributeProperties(const AttributeProperties& rProps, SdrObject& rObj); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // destructor + virtual ~AttributeProperties(); + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // get the installed StyleSheet + virtual SfxStyleSheet* GetStyleSheet() const; + + // Move properties to a new ItemPool. + virtual void MoveToItemPool(SfxItemPool* pSrcPool, SfxItemPool* pDestPool, SdrModel* pNewModel = 0L); + + // Set new model. + virtual void SetModel(SdrModel* pOldModel, SdrModel* pNewModel); + + // force all attributes which come from styles to hard attributes + // to be able to live without the style. + virtual void ForceStyleToHardAttributes(); + + // This is the Notify(...) from 2nd base class SfxListener + virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_ATTRIBUTEPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/captionproperties.hxx b/svx/inc/svx/sdr/properties/captionproperties.hxx new file mode 100644 index 000000000000..124bc19b67f1 --- /dev/null +++ b/svx/inc/svx/sdr/properties/captionproperties.hxx @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_CAPTIONPROPERTIES_HXX +#define _SDR_PROPERTIES_CAPTIONPROPERTIES_HXX + +#include <svx/sdr/properties/rectangleproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class CaptionProperties : public RectangleProperties + { + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + CaptionProperties(SdrObject& rObj); + + // constructor for copying, but using new object + CaptionProperties(const CaptionProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~CaptionProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created + virtual void ForceDefaultAttributes(); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_PROPERTIES_CAPTIONPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/circleproperties.hxx b/svx/inc/svx/sdr/properties/circleproperties.hxx new file mode 100644 index 000000000000..57efd50b0e01 --- /dev/null +++ b/svx/inc/svx/sdr/properties/circleproperties.hxx @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_CIRCLEPROPERTIES_HXX +#define _SDR_PROPERTIES_CIRCLEPROPERTIES_HXX + +#include <svx/sdr/properties/rectangleproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class CircleProperties : public RectangleProperties + { + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + CircleProperties(SdrObject& rObj); + + // constructor for copying, but using new object + CircleProperties(const CircleProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~CircleProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created + virtual void ForceDefaultAttributes(); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_CIRCLEPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/connectorproperties.hxx b/svx/inc/svx/sdr/properties/connectorproperties.hxx new file mode 100644 index 000000000000..30752f149200 --- /dev/null +++ b/svx/inc/svx/sdr/properties/connectorproperties.hxx @@ -0,0 +1,71 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_CONNECTORPROPERTIES_HXX +#define _SDR_PROPERTIES_CONNECTORPROPERTIES_HXX + +#include <svx/sdr/properties/textproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class ConnectorProperties : public TextProperties + { + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + ConnectorProperties(SdrObject& rObj); + + // constructor for copying, but using new object + ConnectorProperties(const ConnectorProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~ConnectorProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_CONNECTORPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/customshapeproperties.hxx b/svx/inc/svx/sdr/properties/customshapeproperties.hxx new file mode 100644 index 000000000000..8adbf10107d9 --- /dev/null +++ b/svx/inc/svx/sdr/properties/customshapeproperties.hxx @@ -0,0 +1,94 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_CUSTOMSHAPEPROPERTIES_HXX +#define _SDR_PROPERTIES_CUSTOMSHAPEPROPERTIES_HXX + +#include <svx/sdr/properties/textproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class CustomShapeProperties : public TextProperties + { + void UpdateTextFrameStatus(); + + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // test changeability for a single item + virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const; + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + // react on Item change + virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem); + + // clear single item + virtual void ClearObjectItem(const sal_uInt16 nWhich = 0); + + // clear single item direct, do not do any notifies or things like that. + // Also supports complete deleteion of items when default parameter 0 is used. + virtual void ClearObjectItemDirect(const sal_uInt16 nWhich = 0); + + public: + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created + virtual void ForceDefaultAttributes(); + + // basic constructor + CustomShapeProperties(SdrObject& rObj); + + // constructor for copying, but using new object + CustomShapeProperties(const CustomShapeProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~CustomShapeProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // This is the notifyer from SfxListener + virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_CUSTOMSHAPEPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/defaultproperties.hxx b/svx/inc/svx/sdr/properties/defaultproperties.hxx new file mode 100644 index 000000000000..58aceccadf1a --- /dev/null +++ b/svx/inc/svx/sdr/properties/defaultproperties.hxx @@ -0,0 +1,112 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_DEFAULTPROPERTIES_HXX +#define _SDR_PROPERTIES_DEFAULTPROPERTIES_HXX + +#include <svx/sdr/properties/properties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC DefaultProperties : public BaseProperties + { + protected: + // the to be used ItemSet + SfxItemSet* mpItemSet; + + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // test changeability for a single item + virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const; + + // Do the ItemChange, may do special handling + virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0); + + // Called after ItemChange() is done for all items. + virtual void PostItemChange(const sal_uInt16 nWhich); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + DefaultProperties(SdrObject& rObj); + + // constructor for copying, but using new object + DefaultProperties(const DefaultProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~DefaultProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // get itemset + virtual const SfxItemSet& GetObjectItemSet() const; + + // set single item + virtual void SetObjectItem(const SfxPoolItem& rItem); + + // set single item direct, do not do any notifies or things like that + virtual void SetObjectItemDirect(const SfxPoolItem& rItem); + + // clear single item + virtual void ClearObjectItem(const sal_uInt16 nWhich = 0); + + // clear single item direct, do not do any notifies or things like that. + // Also supports complete deleteion of items when default parameter 0 is used. + virtual void ClearObjectItemDirect(const sal_uInt16 nWhich = 0); + + // set complete item set + virtual void SetObjectItemSet(const SfxItemSet& rSet); + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // get the installed StyleSheet + virtual SfxStyleSheet* GetStyleSheet() const; + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created. + // Default implementation does nothing. + virtual void ForceDefaultAttributes(); + + // Scale the included ItemSet. + virtual void Scale(const Fraction& rScale); + }; + } // end of namespace properties +} // end of namespace sdr + +#endif //_SDR_PROPERTIES_DEFAULTPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/e3dcompoundproperties.hxx b/svx/inc/svx/sdr/properties/e3dcompoundproperties.hxx new file mode 100644 index 000000000000..085da6720382 --- /dev/null +++ b/svx/inc/svx/sdr/properties/e3dcompoundproperties.hxx @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_E3DCOMPOUNDPROPERTIES_HXX +#define _SDR_PROPERTIES_E3DCOMPOUNDPROPERTIES_HXX + +#include <svx/sdr/properties/e3dproperties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC E3dCompoundProperties : public E3dProperties + { + protected: + // Called after ItemChange() is done for all items. + virtual void PostItemChange(const sal_uInt16 nWhich); + + public: + // basic constructor + E3dCompoundProperties(SdrObject& rObj); + + // constructor for copying, but using new object + E3dCompoundProperties(const E3dCompoundProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~E3dCompoundProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // get itemset + virtual const SfxItemSet& GetObjectItemSet() const; + + // Get merged ItemSet. Normally, this maps directly to GetObjectItemSet(), but may + // be overloaded e.g for group objects to return a merged ItemSet of the object. + // When using this method the returned ItemSet may contain items in the state + // SFX_ITEM_DONTCARE which means there were several such items with different + // values. + virtual const SfxItemSet& GetMergedItemSet() const; + + // Set merged ItemSet. Normally, this maps to SetObjectItemSet(). + virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_PROPERTIES_E3DCOMPOUNDPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/e3dextrudeproperties.hxx b/svx/inc/svx/sdr/properties/e3dextrudeproperties.hxx new file mode 100644 index 000000000000..f6baf589d642 --- /dev/null +++ b/svx/inc/svx/sdr/properties/e3dextrudeproperties.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_E3DEXTRUDEPROPERTIES_HXX +#define _SDR_PROPERTIES_E3DEXTRUDEPROPERTIES_HXX + +#include <svx/sdr/properties/e3dcompoundproperties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC E3dExtrudeProperties : public E3dCompoundProperties + { + protected: + // Called after ItemChange() is done for all items. + virtual void PostItemChange(const sal_uInt16 nWhich); + + public: + // basic constructor + E3dExtrudeProperties(SdrObject& rObj); + + // constructor for copying, but using new object + E3dExtrudeProperties(const E3dExtrudeProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~E3dExtrudeProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_PROPERTIES_E3DEXTRUDEPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/e3dlatheproperties.hxx b/svx/inc/svx/sdr/properties/e3dlatheproperties.hxx new file mode 100644 index 000000000000..37810b36de0e --- /dev/null +++ b/svx/inc/svx/sdr/properties/e3dlatheproperties.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_E3DLATHEPROPERTIES_HXX +#define _SDR_PROPERTIES_E3DLATHEPROPERTIES_HXX + +#include <svx/sdr/properties/e3dcompoundproperties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC E3dLatheProperties : public E3dCompoundProperties + { + protected: + // Called after ItemChange() is done for all items. + virtual void PostItemChange(const sal_uInt16 nWhich); + + public: + // basic constructor + E3dLatheProperties(SdrObject& rObj); + + // constructor for copying, but using new object + E3dLatheProperties(const E3dLatheProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~E3dLatheProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_PROPERTIES_E3DLATHEPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/e3dproperties.hxx b/svx/inc/svx/sdr/properties/e3dproperties.hxx new file mode 100644 index 000000000000..957e37cac0b6 --- /dev/null +++ b/svx/inc/svx/sdr/properties/e3dproperties.hxx @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_E3DPROPERTIES_HXX +#define _SDR_PROPERTIES_E3DPROPERTIES_HXX + +#include <svx/sdr/properties/attributeproperties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC E3dProperties : public AttributeProperties + { + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + E3dProperties(SdrObject& rObj); + + // constructor for copying, but using new object + E3dProperties(const E3dProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~E3dProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_PROPERTIES_E3DPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx b/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx new file mode 100644 index 000000000000..0ef471999fb6 --- /dev/null +++ b/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx @@ -0,0 +1,96 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_E3DSCENEPROPERTIES_HXX +#define _SDR_PROPERTIES_E3DSCENEPROPERTIES_HXX + +#include <svx/sdr/properties/e3dproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class E3dSceneProperties : public E3dProperties + { + protected: + // Called after ItemChange() is done for all items. + virtual void PostItemChange(const sal_uInt16 nWhich); + + public: + // basic constructor + E3dSceneProperties(SdrObject& rObj); + + // constructor for copying, but using new object + E3dSceneProperties(const E3dSceneProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~E3dSceneProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // get itemset + virtual const SfxItemSet& GetObjectItemSet() const; + + // get merged ItemSet. Normappl, this maps directly to GetObjectItemSet(), but may + // be overloaded e.g for group objects to return a merged ItemSet of the object. + // When using this method the returned ItemSet may contain items in the state + // SFX_ITEM_DONTCARE which means there were several such items with different + // values. + virtual const SfxItemSet& GetMergedItemSet() const; + + // Set merged ItemSet. Normally, this maps to SetObjectItemSet(). + virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False); + + // Set a single item, iterate over hierarchies if necessary. + virtual void SetMergedItem(const SfxPoolItem& rItem); + + // Clear a single item, iterate over hierarchies if necessary. + virtual void ClearMergedItem(const sal_uInt16 nWhich = 0); + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // get the installed StyleSheet + virtual SfxStyleSheet* GetStyleSheet() const; + + // Move properties to a new ItemPool. Default implementation does nothing. + virtual void MoveToItemPool(SfxItemPool* pSrcPool, SfxItemPool* pDestPool, SdrModel* pNewModel = 0L); + + // Special for scene: + void SetSceneItemsFromCamera(); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_PROPERTIES_E3DSCENEPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/e3dsphereproperties.hxx b/svx/inc/svx/sdr/properties/e3dsphereproperties.hxx new file mode 100644 index 000000000000..73b68b04e418 --- /dev/null +++ b/svx/inc/svx/sdr/properties/e3dsphereproperties.hxx @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_E3DSPHEREPROPERTIES_HXX +#define _SDR_PROPERTIES_E3DSPHEREPROPERTIES_HXX + +#include <svx/sdr/properties/e3dcompoundproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class E3dSphereProperties : public E3dCompoundProperties + { + protected: + // Called after ItemChange() is done for all items. + virtual void PostItemChange(const sal_uInt16 nWhich); + + public: + // basic constructor + E3dSphereProperties(SdrObject& rObj); + + // constructor for copying, but using new object + E3dSphereProperties(const E3dSphereProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~E3dSphereProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif // _SDR_PROPERTIES_E3DSPHEREPROPERTIES_HXX + +// eof + diff --git a/svx/inc/svx/sdr/properties/emptyproperties.hxx b/svx/inc/svx/sdr/properties/emptyproperties.hxx new file mode 100644 index 000000000000..8cab0b03ca41 --- /dev/null +++ b/svx/inc/svx/sdr/properties/emptyproperties.hxx @@ -0,0 +1,104 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_EMPTYPROPERTIES_HXX +#define _SDR_PROPERTIES_EMPTYPROPERTIES_HXX + +#include <svx/sdr/properties/properties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC EmptyProperties : public BaseProperties + { + protected: + // the to be used ItemSet + SfxItemSet* mpEmptyItemSet; + + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // test changeability for a single item + virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const; + + // Do the ItemChange, may do special handling + virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0); + + // Called after ItemChange() is done for all items. + virtual void PostItemChange(const sal_uInt16 nWhich); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + EmptyProperties(SdrObject& rObj); + + // constructor for copying, but using new object + EmptyProperties(const EmptyProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~EmptyProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // get itemset + virtual const SfxItemSet& GetObjectItemSet() const; + + // set single item + virtual void SetObjectItem(const SfxPoolItem& rItem); + + // set single item direct, do not do any notifies or things like that + virtual void SetObjectItemDirect(const SfxPoolItem& rItem); + + // clear single item + virtual void ClearObjectItem(const sal_uInt16 nWhich = 0); + + // clear single item direct, do not do any notifies or things like that. + // Also supports complete deleteion of items when default parameter 0 is used. + virtual void ClearObjectItemDirect(const sal_uInt16 nWhich = 0); + + // set complete item set + virtual void SetObjectItemSet(const SfxItemSet& rSet); + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // get the installed StyleSheet + virtual SfxStyleSheet* GetStyleSheet() const; + }; + } // end of namespace properties +} // end of namespace sdr + +#endif //_SDR_PROPERTIES_EMPTYPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/graphicproperties.hxx b/svx/inc/svx/sdr/properties/graphicproperties.hxx new file mode 100644 index 000000000000..b3e04a67da55 --- /dev/null +++ b/svx/inc/svx/sdr/properties/graphicproperties.hxx @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_GRAPHICPROPERTIES_HXX +#define _SDR_PROPERTIES_GRAPHICPROPERTIES_HXX + +#include <svx/sdr/properties/rectangleproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class GraphicProperties : public RectangleProperties + { + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + GraphicProperties(SdrObject& rObj); + + // constructor for copying, but using new object + GraphicProperties(const GraphicProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~GraphicProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created + virtual void ForceDefaultAttributes(); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_GRAPHICPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/groupproperties.hxx b/svx/inc/svx/sdr/properties/groupproperties.hxx new file mode 100644 index 000000000000..f91f91db42d4 --- /dev/null +++ b/svx/inc/svx/sdr/properties/groupproperties.hxx @@ -0,0 +1,129 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_GROUPPROPERTIES_HXX +#define _SDR_PROPERTIES_GROUPPROPERTIES_HXX + +#include <svx/sdr/properties/defaultproperties.hxx> + +///////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class GroupProperties : public DefaultProperties + { + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // test changeability for a single item + virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const; + + // Do the ItemChange, may do special handling + virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0); + + // Called after ItemChange() is done for all items. + virtual void PostItemChange(const sal_uInt16 nWhich); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + GroupProperties(SdrObject& rObj); + + // copy constructor + GroupProperties(const GroupProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~GroupProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // get itemset + virtual const SfxItemSet& GetObjectItemSet() const; + + // get merged ItemSet. Normally, this maps directly to GetObjectItemSet(), but may + // be overloaded e.g for group objects to return a merged ItemSet of the object. + // When using this method the returned ItemSet may contain items in the state + // SFX_ITEM_DONTCARE which means there were several such items with different + // values. + virtual const SfxItemSet& GetMergedItemSet() const; + + // Set merged ItemSet. Normally, this maps to SetObjectItemSet(). + virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False); + + // set single item + virtual void SetObjectItem(const SfxPoolItem& rItem); + + // set single item direct, do not do any notifies or things like that + virtual void SetObjectItemDirect(const SfxPoolItem& rItem); + + // clear single item + virtual void ClearObjectItem(const sal_uInt16 nWhich = 0); + + // clear single item direct, do not do any notifies or things like that. + // Also supports complete deleteion of items when default parameter 0 is used. + virtual void ClearObjectItemDirect(const sal_uInt16 nWhich = 0); + + // Set a single item, iterate over hierarchies if necessary. + virtual void SetMergedItem(const SfxPoolItem& rItem); + + // Clear a single item, iterate over hierarchies if necessary. + virtual void ClearMergedItem(const sal_uInt16 nWhich = 0); + + // set complete item set + virtual void SetObjectItemSet(const SfxItemSet& rSet); + + // set a new StyleSheet + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // get the local StyleSheet + virtual SfxStyleSheet* GetStyleSheet() const; + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created + virtual void ForceDefaultAttributes(); + + // Move properties to a new ItemPool. + virtual void MoveToItemPool(SfxItemPool* pSrcPool, SfxItemPool* pDestPool, SdrModel* pNewModel = 0L); + + // force all attributes which come from styles to hard attributes + // to be able to live without the style. + virtual void ForceStyleToHardAttributes(); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_GROUPPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/itemsettools.hxx b/svx/inc/svx/sdr/properties/itemsettools.hxx new file mode 100644 index 000000000000..d52189ae93cc --- /dev/null +++ b/svx/inc/svx/sdr/properties/itemsettools.hxx @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_ITEMSETTOOLS_HXX +#define _SDR_PROPERTIES_ITEMSETTOOLS_HXX + +#include <sal/types.h> + +////////////////////////////////////////////////////////////////////////////// +// predeclarations + +class SdrObject; +class SfxItemSet; +class Rectangle; +class Fraction; + +////////////////////////////////////////////////////////////////////////////// +// class to remember broadcast start positions +namespace sdr +{ + namespace properties + { + class ItemChangeBroadcaster + { + sal_uInt32 mnCount; + void* mpData; + + public: + ItemChangeBroadcaster(const SdrObject& rObj); + ~ItemChangeBroadcaster(); + + sal_uInt32 GetRectangleCount() const; + const Rectangle& GetRectangle(sal_uInt32 nIndex) const; + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + void ScaleItemSet(SfxItemSet& rSet, const Fraction& rScale); + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_ITEMSETTOOLS_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/measureproperties.hxx b/svx/inc/svx/sdr/properties/measureproperties.hxx new file mode 100644 index 000000000000..a204ebfe9949 --- /dev/null +++ b/svx/inc/svx/sdr/properties/measureproperties.hxx @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_MEASUREPROPERTIES_HXX +#define _SDR_PROPERTIES_MEASUREPROPERTIES_HXX + +#include <svx/sdr/properties/textproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class MeasureProperties : public TextProperties + { + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + MeasureProperties(SdrObject& rObj); + + // constructor for copying, but using new object + MeasureProperties(const MeasureProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~MeasureProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created + virtual void ForceDefaultAttributes(); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_MEASUREPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/oleproperties.hxx b/svx/inc/svx/sdr/properties/oleproperties.hxx new file mode 100644 index 000000000000..009c375dff99 --- /dev/null +++ b/svx/inc/svx/sdr/properties/oleproperties.hxx @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: graphicproperties.hxx,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_OLEPROPERTIES_HXX +#define _SDR_PROPERTIES_OLEPROPERTIES_HXX + +#include <svx/sdr/properties/rectangleproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class OleProperties : public RectangleProperties + { + protected: + public: + // basic constructor + OleProperties(SdrObject& rObj); + + // constructor for copying, but using new object + OleProperties(const OleProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~OleProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created + virtual void ForceDefaultAttributes(); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_OLEPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/pageproperties.hxx b/svx/inc/svx/sdr/properties/pageproperties.hxx new file mode 100644 index 000000000000..d85686b3bc5b --- /dev/null +++ b/svx/inc/svx/sdr/properties/pageproperties.hxx @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_PAGEPROPERTIES_HXX +#define _SDR_PROPERTIES_PAGEPROPERTIES_HXX + +#include <svx/sdr/properties/emptyproperties.hxx> + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class PageProperties : public EmptyProperties + { + protected: + // create a new object specific itemset with object specific ranges. + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& pPool); + + // Do the ItemChange, may do special handling + virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0); + + public: + // basic constructor + PageProperties(SdrObject& rObj); + + // constructor for copying, but using new object + PageProperties(const PageProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~PageProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // get itemset. Overloaded here to allow creating the empty itemset + // without asserting + virtual const SfxItemSet& GetObjectItemSet() const; + + // get the installed StyleSheet + virtual SfxStyleSheet* GetStyleSheet() const; + + // clear single item + virtual void ClearObjectItem(const sal_uInt16 nWhich = 0); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_PAGEPROPERTIES_HXX + +// eof + + diff --git a/svx/inc/svx/sdr/properties/properties.hxx b/svx/inc/svx/sdr/properties/properties.hxx new file mode 100644 index 000000000000..311c2ccfd1a5 --- /dev/null +++ b/svx/inc/svx/sdr/properties/properties.hxx @@ -0,0 +1,197 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_PROPERTIES_HXX +#define _SDR_PROPERTIES_PROPERTIES_HXX + +#include <sal/types.h> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// +// predeclarations + +class SdrObject; +class SfxItemSet; +class SfxPoolItem; +class SfxStyleSheet; +class Fraction; +class SfxItemPool; +class SdrModel; + +namespace sdr +{ + namespace properties + { + class ItemChangeBroadcaster; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC BaseProperties + { + protected: + // the owner of this Properties. Set from constructor and not + // to be changed in any way. + SdrObject& mrObject; + + // create a new object specific itemset with object specific ranges. + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& pPool) = 0; + + // internal access to SdrObject + SdrObject& GetSdrObject() const + { + return mrObject; + } + + // Test changeability for a single item. If a implementation wants to prevent + // changing an item this method may be overloaded. + virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const = 0; + + // Do the internal ItemChange. If only nWhich is given, the item needs to be cleared. + // Also needs to handle if nWhich and pNewItem is 0, which means to clear all items. + virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) = 0; + + // Called after ItemChange() is done for all items. Allows local reactions on + // specific item changes + virtual void PostItemChange(const sal_uInt16 nWhich) = 0; + + // Internally react on ItemSet changes. The given ItemSet contains all changed items, the new ones. + virtual void ItemSetChanged(const SfxItemSet& rSet) = 0; + + public: + // basic constructor, used from SdrObject. + BaseProperties(SdrObject& rObj); + + // constructor for copying, but using new object. Used from the Clone() + // method. + BaseProperties(const BaseProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~BaseProperties(); + + // Clone() operator, normally just calls the local copy constructor, + // see above. + virtual BaseProperties& Clone(SdrObject& rObj) const = 0; + + // Get the local ItemSet. This directly returns the local ItemSet of the object. No + // merging of ItemSets is done for e.g. Group objects. + virtual const SfxItemSet& GetObjectItemSet() const = 0; + + // get merged ItemSet. Normappl, this maps directly to GetObjectItemSet(), but may + // be overloaded e.g for group objects to return a merged ItemSet of the object. + // When using this method the returned ItemSet may contain items in the state + // SFX_ITEM_DONTCARE which means there were several such items with different + // values. + virtual const SfxItemSet& GetMergedItemSet() const; + + // Sets all items which are on state SFX_ITEM_SET in rSet at the local ItemSet. + // Uses AllowItemChange(), ItemChange(), PostItemChange() and ItemSetChanged() calls. + virtual void SetObjectItemSet(const SfxItemSet& rSet) = 0; + + // Set merged ItemSet. Normally, this maps to SetObjectItemSet(). + virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False); + + // Set single item at the local ItemSet. Uses AllowItemChange(), + // ItemChange(), PostItemChange() and ItemSetChanged() calls. + virtual void SetObjectItem(const SfxPoolItem& rItem) = 0; + + // Set a single item direct. Only uses AllowItemChange() and ItemChange(), + // but not PostItemChange() and ItemSetChanged() calls. + virtual void SetObjectItemDirect(const SfxPoolItem& rItem) = 0; + + // Clear a single local item. Uses AllowItemChange(), + // ItemChange(), PostItemChange() and ItemSetChanged() calls. + virtual void ClearObjectItem(const sal_uInt16 nWhich = 0) = 0; + + // Set a single item, iterate over hierarchies if necessary. Default + // Implementation falls back to ClearObjectItem(). + virtual void SetMergedItem(const SfxPoolItem& rItem); + + // Clear a single item, iterate over hierarchies if necessary. Default + // Implementation falls back to ClearObjectItem(). + virtual void ClearMergedItem(const sal_uInt16 nWhich = 0); + + // Clear single item direct. Only uses AllowItemChange() and ItemChange(), + // but not PostItemChange() and ItemSetChanged() calls. + // Also supports complete deletion of items when default parameter 0 is used. + virtual void ClearObjectItemDirect(const sal_uInt16 nWhich = 0) = 0; + + // Set a new StyleSheet. Registers as listener at the StyleSheet to get knowledge + // of StyleSheet changes. + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr) = 0; + + // Get the installed StyleSheet. + virtual SfxStyleSheet* GetStyleSheet() const = 0; + + // Scale the local ItemSet as far as it contains metric items. This needs to be + // overloaded to do it for hierarchical objects like e.g. groups. + virtual void Scale(const Fraction& rScale); + + // Move local items to a new ItemPool. This needs to be + // overloaded to do it for hierarchical objects like e.g. groups. + virtual void MoveToItemPool(SfxItemPool* pSrcPool, SfxItemPool* pDestPool, SdrModel* pNewModel = 0L); + + // Set new model. + virtual void SetModel(SdrModel* pOldModel, SdrModel* pNewModel); + + // force all attributes which come from styles to hard attributes + // to be able to live without the style. + virtual void ForceStyleToHardAttributes(); + + // syntactical sugar for ItemSet accesses. Broadcasts before and after the changes + // to invalidate views in old and new BoundRects. As soon as the repaint mechanism + // will be changed these broadcasts will no longer be needed. + //void SetItemAndBroadcast(const SfxPoolItem& rItem); + //void ClearItemAndBroadcast(const sal_uInt16 nWhich = 0); + void SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False); + + // Just a convenient shortcut for GetObjectItemSet().Get(nWhich). + const SfxPoolItem& GetItem(const sal_uInt16 nWhich) const; + + // support for convenient broadcasting. Used from SetMergedItemAndBroadcast(), + // ClearItemAndBroadcast() and SetItemSetAndBroadcast(), see above. + // But also from inside SdrObjects. + void BroadcastItemChange(const ItemChangeBroadcaster& rChange); + + // #i101556# add versioning mechanism; used from e.g. text attribute set to + // allow detection of e.g. style sheet or single text attribute changes. The + // default implementation returns 0 (zero) + virtual sal_uInt32 getVersion() const; + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_PROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/rectangleproperties.hxx b/svx/inc/svx/sdr/properties/rectangleproperties.hxx new file mode 100644 index 000000000000..ea61a3bdf1b2 --- /dev/null +++ b/svx/inc/svx/sdr/properties/rectangleproperties.hxx @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_RECTANGLEPROPERTIES_HXX +#define _SDR_PROPERTIES_RECTANGLEPROPERTIES_HXX + +#include <svx/sdr/properties/textproperties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC RectangleProperties : public TextProperties + { + protected: + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + RectangleProperties(SdrObject& rObj); + + // constructor for copying, but using new object + RectangleProperties(const RectangleProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~RectangleProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_RECTANGLEPROPERTIES_HXX + +// eof diff --git a/svx/inc/svx/sdr/properties/textproperties.hxx b/svx/inc/svx/sdr/properties/textproperties.hxx new file mode 100644 index 000000000000..9a891f424461 --- /dev/null +++ b/svx/inc/svx/sdr/properties/textproperties.hxx @@ -0,0 +1,97 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _SDR_PROPERTIES_TEXTPROPERTIES_HXX +#define _SDR_PROPERTIES_TEXTPROPERTIES_HXX + +#include <svx/sdr/properties/attributeproperties.hxx> +#include "svx/svxdllapi.h" + +////////////////////////////////////////////////////////////////////////////// + +namespace sdr +{ + namespace properties + { + class SVX_DLLPUBLIC TextProperties : public AttributeProperties + { + private: + // #i101556# versioning support + sal_uInt32 maVersion; + + protected: + // create a new itemset + virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool); + + // Do the ItemChange, may do special handling + virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0); + + // react on ItemSet changes + virtual void ItemSetChanged(const SfxItemSet& rSet); + + public: + // basic constructor + TextProperties(SdrObject& rObj); + + // constructor for copying, but using new object + TextProperties(const TextProperties& rProps, SdrObject& rObj); + + // destructor + virtual ~TextProperties(); + + // Clone() operator, normally just calls the local copy constructor + virtual BaseProperties& Clone(SdrObject& rObj) const; + + // set a new StyleSheet and broadcast + virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, sal_Bool bDontRemoveHardAttr); + + // force default attributes for a specific object type, called from + // DefaultProperties::GetObjectItemSet() if a new ItemSet is created + virtual void ForceDefaultAttributes(); + + // force all attributes which come from styles to hard attributes + // to be able to live without the style. + virtual void ForceStyleToHardAttributes(); + + // This is the notifyer from SfxListener + virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint); + + // Set single item at the local ItemSet. *Does not use* AllowItemChange(), + // ItemChange(), PostItemChange() and ItemSetChanged() calls. + void SetObjectItemNoBroadcast(const SfxPoolItem& rItem); + + // #i101556# versioning support + virtual sal_uInt32 getVersion() const; + }; + } // end of namespace properties +} // end of namespace sdr + +////////////////////////////////////////////////////////////////////////////// + +#endif //_SDR_PROPERTIES_TEXTPROPERTIES_HXX + +// eof |