Files
libreoffice/chart2/source/controller/chartapiwrapper/TitleWrapper.hxx

199 lines
6.7 KiB
C++
Raw Normal View History

2003-12-18 12:50:56 +00:00
/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
2003-12-18 12:50:56 +00:00
*
* $RCSfile: TitleWrapper.hxx,v $
2003-12-18 12:50:56 +00:00
*
* $Revision: 1.3 $
2003-12-18 12:50:56 +00:00
*
* last change: $Author: rt $ $Date: 2005-09-08 00:02:37 $
2003-12-18 12:50:56 +00:00
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
2003-12-18 12:50:56 +00:00
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
2003-12-18 12:50:56 +00:00
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
2003-12-18 12:50:56 +00:00
*
* This library 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 for more details.
2003-12-18 12:50:56 +00:00
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
2003-12-18 12:50:56 +00:00
*
************************************************************************/
#ifndef CHART_TITLEWRAPPER_HXX
#define CHART_TITLEWRAPPER_HXX
#include "OPropertySet.hxx"
#include "ServiceMacros.hxx"
#ifndef _CPPUHELPER_IMPLBASE3_HXX_
#include <cppuhelper/implbase3.hxx>
#endif
#ifndef _COMPHELPER_UNO3_HXX_
#include <comphelper/uno3.hxx>
#endif
#ifndef _CPPUHELPER_INTERFACECONTAINER_HXX_
#include <cppuhelper/interfacecontainer.hxx>
#endif
#ifndef _COM_SUN_STAR_DRAWING_XSHAPE_HPP_
#include <com/sun/star/drawing/XShape.hpp>
#endif
#ifndef _COM_SUN_STAR_LANG_XCOMPONENT_HPP_
#include <com/sun/star/lang/XComponent.hpp>
#endif
#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
#include <com/sun/star/lang/XServiceInfo.hpp>
#endif
#ifndef _COM_SUN_STAR_CHART2_XTITLE_HPP_
#include <com/sun/star/chart2/XTitle.hpp>
2003-12-18 12:50:56 +00:00
#endif
#ifndef _COM_SUN_STAR_UNO_XCOMPONENTCONTEXT_HPP_
#include <com/sun/star/uno/XComponentContext.hpp>
#endif
namespace com { namespace sun { namespace star {
namespace chart2
{
class XTitle;
}
}}}
namespace chart
{
namespace wrapper
{
namespace impl
{
typedef ::cppu::WeakImplHelper3<
com::sun::star::drawing::XShape,
com::sun::star::lang::XComponent,
com::sun::star::lang::XServiceInfo >
TitleWrapper_Base;
}
class TitleWrapper :
public impl::TitleWrapper_Base,
public ::property::OPropertySet
{
public:
TitleWrapper( const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XTitle > & xTitle,
2003-12-18 12:50:56 +00:00
const ::com::sun::star::uno::Reference<
::com::sun::star::uno::XComponentContext > & xContext,
::osl::Mutex & _rMutex );
virtual ~TitleWrapper();
::osl::Mutex & GetMutex() const;
/// XServiceInfo declarations
APPHELPER_XSERVICEINFO_DECL()
/// merge XInterface implementations
DECLARE_XINTERFACE()
/// merge XTypeProvider implementations
DECLARE_XTYPEPROVIDER()
protected:
// ____ OPropertySet ____
virtual ::com::sun::star::uno::Any GetDefaultValue( sal_Int32 nHandle ) const
throw(::com::sun::star::beans::UnknownPropertyException);
// ____ OPropertySet ____
virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper();
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);
virtual void SAL_CALL setFastPropertyValue_NoBroadcast
( sal_Int32 nHandle,
const ::com::sun::star::uno::Any& rValue )
throw (::com::sun::star::uno::Exception);
virtual void SAL_CALL getFastPropertyValue
( ::com::sun::star::uno::Any& rValue,
sal_Int32 nHandle ) const;
// ____ XPropertySet ____
virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL
getPropertySetInfo()
throw (::com::sun::star::uno::RuntimeException);
// ____ XShape ____
virtual ::com::sun::star::awt::Point SAL_CALL getPosition()
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition )
throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::awt::Size SAL_CALL getSize()
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize )
throw (::com::sun::star::beans::PropertyVetoException,
::com::sun::star::uno::RuntimeException);
// ____ XShapeDescriptor (base of XShape) ____
virtual ::rtl::OUString SAL_CALL getShapeType()
throw (::com::sun::star::uno::RuntimeException);
// ____ XComponent ____
virtual void SAL_CALL dispose()
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference<
::com::sun::star::lang::XEventListener >& xListener )
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference<
::com::sun::star::lang::XEventListener >& aListener )
throw (::com::sun::star::uno::RuntimeException);
// character properties have to be handled differently (via the XFormattedString elements)
void getFastCharacterPropertyValue( ::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const;
void setFastCharacterPropertyValue(
sal_Int32 nHandle,
const ::com::sun::star::uno::Any& rValue )
throw (::com::sun::star::uno::Exception);
private:
mutable ::osl::Mutex & m_rMutex;
::com::sun::star::uno::Reference<
::com::sun::star::uno::XComponentContext >
m_xContext;
::cppu::OInterfaceContainerHelper
m_aEventListenerContainer;
::com::sun::star::uno::Reference<
::com::sun::star::chart2::XTitle >
2003-12-18 12:50:56 +00:00
m_xTitle;
::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet >
m_xTitleProp;
::com::sun::star::uno::Reference<
::com::sun::star::beans::XFastPropertySet >
m_xTitleFastProp;
};
} // namespace wrapper
} // namespace chart
// CHART_TITLEWRAPPER_HXX
#endif