1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski #ifndef CHART_DIAGRAM_HXX 24*b1cdbd2cSJim Jagielski #define CHART_DIAGRAM_HXX 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski #include "OPropertySet.hxx" 27*b1cdbd2cSJim Jagielski #include "MutexContainer.hxx" 28*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase8.hxx> 29*b1cdbd2cSJim Jagielski #include <comphelper/uno3.hxx> 30*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/PropertyValue.hpp> 31*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/data/XDataSource.hpp> 32*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/XDiagram.hpp> 33*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/XCoordinateSystemContainer.hpp> 34*b1cdbd2cSJim Jagielski #include <com/sun/star/chart2/XTitled.hpp> 35*b1cdbd2cSJim Jagielski #include <com/sun/star/chart/X3DDefaultSetter.hpp> 36*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XServiceInfo.hpp> 37*b1cdbd2cSJim Jagielski #include <com/sun/star/uno/XComponentContext.hpp> 38*b1cdbd2cSJim Jagielski #include <com/sun/star/util/XCloneable.hpp> 39*b1cdbd2cSJim Jagielski #include <com/sun/star/util/XModifyBroadcaster.hpp> 40*b1cdbd2cSJim Jagielski #include <com/sun/star/util/XModifyListener.hpp> 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski #include "ServiceMacros.hxx" 43*b1cdbd2cSJim Jagielski 44*b1cdbd2cSJim Jagielski #include <map> 45*b1cdbd2cSJim Jagielski #include <vector> 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski namespace chart 48*b1cdbd2cSJim Jagielski { 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski namespace impl 51*b1cdbd2cSJim Jagielski { 52*b1cdbd2cSJim Jagielski typedef ::cppu::WeakImplHelper8< 53*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XDiagram, 54*b1cdbd2cSJim Jagielski ::com::sun::star::lang::XServiceInfo, 55*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XCoordinateSystemContainer, 56*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XTitled, 57*b1cdbd2cSJim Jagielski ::com::sun::star::chart::X3DDefaultSetter, 58*b1cdbd2cSJim Jagielski ::com::sun::star::util::XModifyBroadcaster, 59*b1cdbd2cSJim Jagielski ::com::sun::star::util::XModifyListener, 60*b1cdbd2cSJim Jagielski ::com::sun::star::util::XCloneable > 61*b1cdbd2cSJim Jagielski Diagram_Base; 62*b1cdbd2cSJim Jagielski } 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski class Diagram : 65*b1cdbd2cSJim Jagielski public MutexContainer, 66*b1cdbd2cSJim Jagielski public impl::Diagram_Base, 67*b1cdbd2cSJim Jagielski public ::property::OPropertySet 68*b1cdbd2cSJim Jagielski { 69*b1cdbd2cSJim Jagielski public: 70*b1cdbd2cSJim Jagielski Diagram( ::com::sun::star::uno::Reference< 71*b1cdbd2cSJim Jagielski ::com::sun::star::uno::XComponentContext > const & xContext ); 72*b1cdbd2cSJim Jagielski virtual ~Diagram(); 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski /// establish methods for factory instatiation 75*b1cdbd2cSJim Jagielski APPHELPER_SERVICE_FACTORY_HELPER( Diagram ) 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim Jagielski /// XServiceInfo declarations 78*b1cdbd2cSJim Jagielski APPHELPER_XSERVICEINFO_DECL() 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski /// merge XInterface implementations 81*b1cdbd2cSJim Jagielski DECLARE_XINTERFACE() 82*b1cdbd2cSJim Jagielski /// merge XTypeProvider implementations 83*b1cdbd2cSJim Jagielski DECLARE_XTYPEPROVIDER() 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski protected: 86*b1cdbd2cSJim Jagielski explicit Diagram( const Diagram & rOther ); 87*b1cdbd2cSJim Jagielski 88*b1cdbd2cSJim Jagielski // ____ OPropertySet ____ 89*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Any GetDefaultValue( sal_Int32 nHandle ) const 90*b1cdbd2cSJim Jagielski throw(::com::sun::star::beans::UnknownPropertyException); 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski // ____ OPropertySet ____ 93*b1cdbd2cSJim Jagielski virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper(); 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski // ____ XPropertySet ____ 96*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL 97*b1cdbd2cSJim Jagielski getPropertySetInfo() 98*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 99*b1cdbd2cSJim Jagielski 100*b1cdbd2cSJim Jagielski // ____ XFastPropertySet ____ 101*b1cdbd2cSJim Jagielski virtual void SAL_CALL setFastPropertyValue( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue ) 102*b1cdbd2cSJim Jagielski 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); 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski /// make original interface function visible again 105*b1cdbd2cSJim Jagielski using ::com::sun::star::beans::XFastPropertySet::getFastPropertyValue; 106*b1cdbd2cSJim Jagielski 107*b1cdbd2cSJim Jagielski virtual void SAL_CALL getFastPropertyValue( 108*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const; 109*b1cdbd2cSJim Jagielski 110*b1cdbd2cSJim Jagielski // virtual sal_Bool SAL_CALL convertFastPropertyValue 111*b1cdbd2cSJim Jagielski // ( ::com::sun::star::uno::Any & rConvertedValue, 112*b1cdbd2cSJim Jagielski // ::com::sun::star::uno::Any & rOldValue, 113*b1cdbd2cSJim Jagielski // sal_Int32 nHandle, 114*b1cdbd2cSJim Jagielski // const ::com::sun::star::uno::Any& rValue ) 115*b1cdbd2cSJim Jagielski // throw (::com::sun::star::lang::IllegalArgumentException); 116*b1cdbd2cSJim Jagielski 117*b1cdbd2cSJim Jagielski // ____ XDiagram ____ 118*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< 119*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > SAL_CALL getWall() 120*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 121*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< 122*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > SAL_CALL getFloor() 123*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 124*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< 125*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XLegend > SAL_CALL getLegend() 126*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 127*b1cdbd2cSJim Jagielski virtual void SAL_CALL setLegend( const ::com::sun::star::uno::Reference< 128*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XLegend >& xLegend ) 129*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 130*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XColorScheme > SAL_CALL getDefaultColorScheme() 131*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 132*b1cdbd2cSJim Jagielski virtual void SAL_CALL setDefaultColorScheme( 133*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XColorScheme >& xColorScheme ) 134*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 135*b1cdbd2cSJim Jagielski virtual void SAL_CALL setDiagramData( 136*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataSource >& xDataSource, 137*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArguments ) 138*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 139*b1cdbd2cSJim Jagielski 140*b1cdbd2cSJim Jagielski // ____ XCoordinateSystemContainer ____ 141*b1cdbd2cSJim Jagielski virtual void SAL_CALL addCoordinateSystem( 142*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< 143*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XCoordinateSystem >& aCoordSys ) 144*b1cdbd2cSJim Jagielski throw (::com::sun::star::lang::IllegalArgumentException, 145*b1cdbd2cSJim Jagielski ::com::sun::star::uno::RuntimeException); 146*b1cdbd2cSJim Jagielski virtual void SAL_CALL removeCoordinateSystem( 147*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< 148*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XCoordinateSystem >& aCoordSys ) 149*b1cdbd2cSJim Jagielski throw (::com::sun::star::container::NoSuchElementException, 150*b1cdbd2cSJim Jagielski ::com::sun::star::uno::RuntimeException); 151*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence< 152*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 153*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XCoordinateSystem > > SAL_CALL getCoordinateSystems() 154*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 155*b1cdbd2cSJim Jagielski virtual void SAL_CALL setCoordinateSystems( 156*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Sequence< 157*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 158*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XCoordinateSystem > >& aCoordinateSystems ) 159*b1cdbd2cSJim Jagielski throw (::com::sun::star::lang::IllegalArgumentException, 160*b1cdbd2cSJim Jagielski ::com::sun::star::uno::RuntimeException); 161*b1cdbd2cSJim Jagielski 162*b1cdbd2cSJim Jagielski // ____ XTitled ____ 163*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< 164*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XTitle > SAL_CALL getTitleObject() 165*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 166*b1cdbd2cSJim Jagielski virtual void SAL_CALL setTitleObject( const ::com::sun::star::uno::Reference< 167*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XTitle >& Title ) 168*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 169*b1cdbd2cSJim Jagielski 170*b1cdbd2cSJim Jagielski // ____ X3DDefaultSetter ____ 171*b1cdbd2cSJim Jagielski virtual void SAL_CALL set3DSettingsToDefault() throw (::com::sun::star::uno::RuntimeException); 172*b1cdbd2cSJim Jagielski virtual void SAL_CALL setDefaultRotation() throw (::com::sun::star::uno::RuntimeException); 173*b1cdbd2cSJim Jagielski virtual void SAL_CALL setDefaultIllumination() throw (::com::sun::star::uno::RuntimeException); 174*b1cdbd2cSJim Jagielski 175*b1cdbd2cSJim Jagielski // ____ XCloneable ____ 176*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone() 177*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 178*b1cdbd2cSJim Jagielski 179*b1cdbd2cSJim Jagielski // ____ XModifyBroadcaster ____ 180*b1cdbd2cSJim Jagielski virtual void SAL_CALL addModifyListener( 181*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) 182*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 183*b1cdbd2cSJim Jagielski virtual void SAL_CALL removeModifyListener( 184*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) 185*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 186*b1cdbd2cSJim Jagielski 187*b1cdbd2cSJim Jagielski // ____ XModifyListener ____ 188*b1cdbd2cSJim Jagielski virtual void SAL_CALL modified( 189*b1cdbd2cSJim Jagielski const ::com::sun::star::lang::EventObject& aEvent ) 190*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 191*b1cdbd2cSJim Jagielski 192*b1cdbd2cSJim Jagielski // ____ XEventListener (base of XModifyListener) ____ 193*b1cdbd2cSJim Jagielski virtual void SAL_CALL disposing( 194*b1cdbd2cSJim Jagielski const ::com::sun::star::lang::EventObject& Source ) 195*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 196*b1cdbd2cSJim Jagielski 197*b1cdbd2cSJim Jagielski // ____ OPropertySet ____ 198*b1cdbd2cSJim Jagielski virtual void firePropertyChangeEvent(); 199*b1cdbd2cSJim Jagielski using OPropertySet::disposing; 200*b1cdbd2cSJim Jagielski 201*b1cdbd2cSJim Jagielski void fireModifyEvent(); 202*b1cdbd2cSJim Jagielski 203*b1cdbd2cSJim Jagielski private: 204*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 205*b1cdbd2cSJim Jagielski ::com::sun::star::uno::XComponentContext > m_xContext; 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski typedef 208*b1cdbd2cSJim Jagielski ::std::vector< ::com::sun::star::uno::Reference< 209*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XCoordinateSystem > > 210*b1cdbd2cSJim Jagielski tCoordinateSystemContainerType; 211*b1cdbd2cSJim Jagielski 212*b1cdbd2cSJim Jagielski tCoordinateSystemContainerType m_aCoordSystems; 213*b1cdbd2cSJim Jagielski 214*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 215*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > 216*b1cdbd2cSJim Jagielski m_xWall; 217*b1cdbd2cSJim Jagielski 218*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 219*b1cdbd2cSJim Jagielski ::com::sun::star::beans::XPropertySet > 220*b1cdbd2cSJim Jagielski m_xFloor; 221*b1cdbd2cSJim Jagielski 222*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 223*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XTitle > 224*b1cdbd2cSJim Jagielski m_xTitle; 225*b1cdbd2cSJim Jagielski 226*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 227*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XLegend > 228*b1cdbd2cSJim Jagielski m_xLegend; 229*b1cdbd2cSJim Jagielski 230*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 231*b1cdbd2cSJim Jagielski ::com::sun::star::chart2::XColorScheme > 232*b1cdbd2cSJim Jagielski m_xColorScheme; 233*b1cdbd2cSJim Jagielski 234*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener > m_xModifyEventForwarder; 235*b1cdbd2cSJim Jagielski }; 236*b1cdbd2cSJim Jagielski 237*b1cdbd2cSJim Jagielski } // namespace chart 238*b1cdbd2cSJim Jagielski 239*b1cdbd2cSJim Jagielski // CHART_DIAGRAM_HXX 240*b1cdbd2cSJim Jagielski #endif 241