office-gobmx/chart2/source/inc/OPropertySet.hxx
Kurt Zenker a3acf41195 CWS-TOOLING: integrate CWS chart37
2009-05-22 09:10:36 +0200 iha  r272170 : #i102130# color of pies is not loaded correctly
2009-04-27 17:16:20 +0200 iha  r271294 : #i24203# compiler problem
2009-04-27 16:43:21 +0200 iha  r271292 : #i101281# missing API documentation for secondary axis title properties
2009-04-27 15:26:05 +0200 hde  r271276 : #i100987
2009-04-27 15:24:42 +0200 hde  r271273 : #i100987
2009-04-24 15:08:33 +0200 iha  r271214 : #i100995# crash with some logarithmic scalings
2009-04-22 18:50:56 +0200 dr  r271134 : #i82177# write out deleted point labels
2009-04-22 18:40:48 +0200 iha  r271133 : #i101281# missing API documentation for secondary axis title properties
2009-04-22 16:39:42 +0200 dr  r271128 : #i82177# extensions for bubble charts
2009-04-22 14:37:00 +0200 dr  r271114 : #i82177# import/export data label type and separator
2009-04-22 14:36:24 +0200 dr  r271113 : #i82177# import/export data label type and separator
2009-04-21 15:25:26 +0200 dr  r271038 : #i82177# import data label type and separator from BIFF8 CHFR records
2009-04-21 14:37:16 +0200 dr  r271037 : #i82177# dump BIFF8 chart future records
2009-04-20 17:44:27 +0200 iha  r271002 : #i96898# reduce library exports
2009-04-20 13:01:13 +0200 iha  r270975 : #i24203# rotate data labels - help ids
2009-04-20 11:40:33 +0200 dr  r270969 : #i96600# export of axis scaling/positioning properties
2009-04-16 16:02:31 +0200 dr  r270892 : #i69599# keep Y axis left in 3d charts
2009-04-15 18:16:46 +0200 dr  r270859 : #i69599# import of axis position settings
2009-04-15 18:16:01 +0200 dr  r270858 : #i69599# correct handling of logarithmic crossing axes
2009-04-14 16:27:48 +0200 dr  r270794 : #i96599# handle auto axis position on logarithmic axes
2009-04-09 19:59:51 +0200 dr  r270722 : #i96599# import axis crossing settings, fix import of logarithmic scaling settings
2009-04-09 18:26:00 +0200 iha  r270720 : #i96898# reduce library exports
2009-04-09 15:17:04 +0200 iha  r270710 : #i96898# reduce library exports
2009-04-09 10:50:14 +0200 dr  r270682 : #i24203# import/export of data label rotation, fixed some other broken stuff too
2009-04-08 16:54:54 +0200 dr  r270657 : #i24203# import rotation for data point labels
2009-04-06 18:19:17 +0200 iha  r270571 : #i100876# Axis scaling settings dialog wrong after API usage (anys different from double type)
2009-04-06 15:57:05 +0200 iha  r270567 : #i100105# #i58585# leftover  -> 
2009-04-06 15:55:48 +0200 iha  r270564 : #i58585# leftover  -> 
2009-04-02 16:41:07 +0200 iha  r270422 : #i99721# remove unused code
2009-04-02 14:29:03 +0200 iha  r270407 : #i99721# remove unused code
2009-03-26 10:58:23 +0100 iha  r270059 : #i96898# reduce library exports
2009-03-26 10:13:49 +0100 iha  r270055 : #i96898# reduce library exports
2009-03-25 09:39:13 +0100 iha  r269998 : CWS-TOOLING: rebase CWS chart37 to trunk@269781 (milestone: DEV300:m44)
2009-03-24 17:56:56 +0100 iha  r269986 : #i96898# reduce library exports
2009-03-24 16:56:44 +0100 iha  r269974 : #i99721# remove unused code
2009-03-24 16:48:48 +0100 iha  r269970 : #i89731# remove unused string
2009-03-24 15:44:04 +0100 iha  r269961 : remove unused code
2009-03-24 15:22:45 +0100 iha  r269959 : remove unused code
2009-03-24 15:17:17 +0100 iha  r269957 : remove unused code
2009-03-24 11:14:53 +0100 iha  r269923 : #i24203# rotate data labels
2009-03-09 12:10:25 +0100 hde  r269076 : #i99300#
2009-03-06 15:56:26 +0100 iha  r269011 : #i93953# Source Format for secondary axis without data
2009-02-17 15:59:05 +0100 iha  r268177 : avoid warning during build
2009-02-17 15:01:59 +0100 iha  r268173 : avoid warning during build
2009-02-13 09:39:03 +0100 ufi  r267693 : i96999
2009-02-11 15:12:35 +0100 iha  r267604 : removed unused string
2009-02-11 14:00:29 +0100 iha  r267600 : #i96999# Corrected wording from 'correlation coefficient' to 'coefficient of determination'
2009-02-11 10:56:45 +0100 iha  r267584 : #i89731# typo in resource string
2009-02-11 10:01:29 +0100 iha  r267582 : #i89031# compile error on asian windows systems
2009-02-10 16:15:16 +0100 iha  r267552 : #i24203# rotate data labels
2009-02-04 18:00:33 +0100 iha  r267395 : #i98893# don't export defaults to file
2009-02-04 15:48:15 +0100 iha  r267390 : #i92128# asian typography for chart elements
2009-02-04 15:17:41 +0100 iha  r267386 : #i92128# asian typography for chart elements
2009-01-30 14:41:10 +0100 iha  r267197 : CWS-TOOLING: rebase CWS chart37 to trunk@267171 (milestone: DEV300:m41)
2009-06-04 09:41:18 +00:00

322 lines
13 KiB
C++

/*************************************************************************
*
* 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: OPropertySet.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 CHART_OPROPERTYSET_HXX
#define CHART_OPROPERTYSET_HXX
// helper classes
#include <cppuhelper/propshlp.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <cppuhelper/weak.hxx>
// interfaces and types
// #ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
// #include <com/sun/star/lang/XServiceInfo.hpp>
// #endif
#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
#include <com/sun/star/beans/XMultiPropertyStates.hpp>
#include <com/sun/star/beans/Property.hpp>
#include <com/sun/star/style/XStyleSupplier.hpp>
// #ifndef _COM_SUN_STAR_BEANS_XFASTPROPERTYSTATE_HPP_
// #include <com/sun/star/beans/XFastPropertyState.hpp>
// #endif
#include <osl/mutex.hxx>
#include "charttoolsdllapi.hxx"
#include <memory>
namespace property
{
namespace impl
{ class ImplOPropertySet; }
class OOO_DLLPUBLIC_CHARTTOOLS OPropertySet :
public ::cppu::OBroadcastHelper,
// includes beans::XPropertySet, XMultiPropertySet and XFastPropertySet
public ::cppu::OPropertySetHelper,
// includes uno::XWeak (and XInterface, esp. ref-counting)
// public virtual ::cppu::OWeakObject,
// public virtual ::com::sun::star::lang::XServiceInfo,
public ::com::sun::star::lang::XTypeProvider,
public ::com::sun::star::beans::XPropertyState,
public ::com::sun::star::beans::XMultiPropertyStates,
public ::com::sun::star::style::XStyleSupplier
// public ::com::sun::star::beans::XFastPropertyState
{
public:
OPropertySet( ::osl::Mutex & rMutex );
virtual ~OPropertySet();
protected:
explicit OPropertySet( const OPropertySet & rOther, ::osl::Mutex & rMutex );
void SetNewValuesExplicitlyEvenIfTheyEqualDefault();
/** implement this method to provide default values for all properties
supporting defaults. If a property does not have a default value, you
may throw an UnknownPropertyException.
*/
virtual ::com::sun::star::uno::Any GetDefaultValue( sal_Int32 nHandle ) const
throw(::com::sun::star::beans::UnknownPropertyException) = 0;
/** The InfoHelper table contains all property names and types of
this object.
@return the object that provides information for the
PropertySetInfo
@see ::cppu::OPropertySetHelper
*/
virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper() = 0;
// ____ XPropertySet ____
/** sample implementation using the InfoHelper:
<pre>
uno::Reference&lt; beans::XPropertySetInfo &gt; SAL_CALL
OPropertySet::getPropertySetInfo()
throw (uno::RuntimeException)
{
static uno::Reference&lt; beans::XPropertySetInfo &gt; xInfo;
// /--
::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
if( !xInfo.is())
{
xInfo = ::cppu::OPropertySetHelper::createPropertySetInfo(
getInfoHelper());
}
return xInfo;
// \--
}
</pre>
<p>(The reason why this isn't implemented here is, that the static
object is only valid per concrete PropertySet. Otherwise all
PropertySets derived from this base calss would have the same
properties.)</p>
@see ::cppu::OPropertySetHelper
*/
// virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL
// getPropertySetInfo()
// throw (::com::sun::star::uno::RuntimeException) = 0;
/** Try to convert the value <code>rValue</code> to the type required by the
property associated with <code>nHandle</code>.
Overload this method to take influence in modification of properties.
If the conversion changed , </TRUE> is returned and the converted value
is in <code>rConvertedValue</code>. The former value is contained in
<code>rOldValue</code>.
After this call returns successfully, the vetoable listeners are
notified.
@throws IllegalArgumentException, if the conversion was not successful,
or if there is no corresponding property to the given handle.
@param rConvertedValue the converted value. Only set if return is true.
@param rOldValue the old value. Only set if return is true.
@param nHandle the handle of the property.
@return true, if the conversion was successful and converted value
differs from the old value.
@see ::cppu::OPropertySetHelper
*/
virtual sal_Bool SAL_CALL convertFastPropertyValue
( ::com::sun::star::uno::Any & rConvertedValue,
::com::sun::star::uno::Any & rOldValue,
sal_Int32 nHandle,
const ::com::sun::star::uno::Any& rValue )
throw (::com::sun::star::lang::IllegalArgumentException);
/** The same as setFastProperyValue; nHandle is always valid.
The changes must not be broadcasted in this method.
@attention
Although you are permitted to throw any UNO exception, only the following
are valid for usage:
-- ::com::sun::star::beans::UnknownPropertyException
-- ::com::sun::star::beans::PropertyVetoException
-- ::com::sun::star::lang::IllegalArgumentException
-- ::com::sun::star::lang::WrappedTargetException
-- ::com::sun::star::uno::RuntimeException
@param nHandle handle
@param rValue value
@see ::cppu::OPropertySetHelper
*/
virtual void SAL_CALL setFastPropertyValue_NoBroadcast
( sal_Int32 nHandle,
const ::com::sun::star::uno::Any& rValue )
throw (::com::sun::star::uno::Exception);
/**
The same as getFastProperyValue, but return the value through rValue and
nHandle is always valid.
@see ::cppu::OPropertySetHelper
*/
virtual void SAL_CALL getFastPropertyValue
( ::com::sun::star::uno::Any& rValue,
sal_Int32 nHandle ) const;
/// make original interface function visible again
using ::com::sun::star::beans::XFastPropertySet::getFastPropertyValue;
/** implement this method in derived classes to get called when properties
change.
*/
virtual void firePropertyChangeEvent();
/// call this when a derived component is disposed
virtual void disposePropertySet();
// ========================================
// Interfaces
// ========================================
// ____ XInterface ____
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
throw (::com::sun::star::uno::RuntimeException);
// virtual void SAL_CALL acquire() throw ();
// virtual void SAL_CALL release() throw ();
// ____ XServiceInfo ____
// virtual ::rtl::OUString SAL_CALL
// getImplementationName()
// throw (::com::sun::star::uno::RuntimeException);
// virtual sal_Bool SAL_CALL
// supportsService( const ::rtl::OUString& ServiceName )
// throw (::com::sun::star::uno::RuntimeException);
// virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
// getSupportedServiceNames()
// throw (::com::sun::star::uno::RuntimeException);
// ____ XTypeProvider ____
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL
getTypes()
throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL
getImplementationId()
throw (::com::sun::star::uno::RuntimeException);
// ____ XPropertyState ____
virtual ::com::sun::star::beans::PropertyState SAL_CALL
getPropertyState( const ::rtl::OUString& PropertyName )
throw (::com::sun::star::beans::UnknownPropertyException,
::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL
getPropertyStates( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName )
throw (::com::sun::star::beans::UnknownPropertyException,
::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL
setPropertyToDefault( const ::rtl::OUString& PropertyName )
throw (::com::sun::star::beans::UnknownPropertyException,
::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyDefault( const ::rtl::OUString& aPropertyName )
throw (::com::sun::star::beans::UnknownPropertyException,
::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
// ____ XMultiPropertyStates ____
// Note: getPropertyStates() is already implemented in XPropertyState with the
// same signature
virtual void SAL_CALL
setAllPropertiesToDefault()
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL
setPropertiesToDefault( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames )
throw (::com::sun::star::beans::UnknownPropertyException,
::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL
getPropertyDefaults( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames )
throw (::com::sun::star::beans::UnknownPropertyException,
::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
// ____ XStyleSupplier ____
virtual ::com::sun::star::uno::Reference< ::com::sun::star::style::XStyle > SAL_CALL getStyle()
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setStyle( const ::com::sun::star::uno::Reference< ::com::sun::star::style::XStyle >& xStyle )
throw (::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::uno::RuntimeException);
// ____ XFastPropertyState ____
// virtual ::com::sun::star::beans::PropertyState SAL_CALL getFastPropertyState( sal_Int32 nHandle )
// throw (::com::sun::star::beans::UnknownPropertyException,
// ::com::sun::star::uno::RuntimeException);
// virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getFastPropertyStates( const ::com::sun::star::uno::Sequence< sal_Int32 >& aHandles )
// throw (::com::sun::star::beans::UnknownPropertyException,
// ::com::sun::star::uno::RuntimeException);
// virtual void SAL_CALL setFastPropertyToDefault( sal_Int32 nHandle )
// throw (::com::sun::star::beans::UnknownPropertyException,
// ::com::sun::star::uno::RuntimeException);
// virtual ::com::sun::star::uno::Any SAL_CALL getFastPropertyDefault( sal_Int32 nHandle )
// throw (::com::sun::star::beans::UnknownPropertyException,
// ::com::sun::star::lang::WrappedTargetException,
// ::com::sun::star::uno::RuntimeException);
// ____ XMultiPropertySet ____
virtual void SAL_CALL setPropertyValues(
const ::com::sun::star::uno::Sequence< ::rtl::OUString >& PropertyNames,
const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Values )
throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
// ____ XFastPropertySet ____
virtual void SAL_CALL setFastPropertyValue( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue )
throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
// Note: it is assumed that the base class implements setPropertyValue by
// using setFastPropertyValue
private:
/// reference to mutex of class deriving from here
::osl::Mutex & m_rMutex;
/// pImpl idiom implementation
::std::auto_ptr< impl::ImplOPropertySet > m_pImplProperties;
bool m_bSetNewValuesExplicitlyEvenIfTheyEqualDefault;
};
} // namespace property
// CHART_OPROPERTYSET_HXX
#endif