Bump for 3.6-28
[LibreOffice.git] / chart2 / source / tools / WrappedDefaultProperty.cxx
blob42d85266c145392791e0bbb9cc8fe1956e0926f4
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
30 #include "WrappedDefaultProperty.hxx"
31 #include "macros.hxx"
33 using namespace ::com::sun::star;
35 using ::com::sun::star::uno::Reference;
36 using ::com::sun::star::uno::Sequence;
37 using ::rtl::OUString;
39 namespace chart
42 WrappedDefaultProperty::WrappedDefaultProperty(
43 const OUString& rOuterName, const OUString& rInnerName,
44 const uno::Any& rNewOuterDefault ) :
45 WrappedProperty( rOuterName, rInnerName ),
46 m_aOuterDefaultValue( rNewOuterDefault )
49 WrappedDefaultProperty::~WrappedDefaultProperty()
52 void WrappedDefaultProperty::setPropertyToDefault(
53 const Reference< beans::XPropertyState >& xInnerPropertyState ) const
54 throw (beans::UnknownPropertyException,
55 uno::RuntimeException)
57 Reference< beans::XPropertySet > xInnerPropSet( xInnerPropertyState, uno::UNO_QUERY );
58 if( xInnerPropSet.is())
59 this->setPropertyValue( m_aOuterDefaultValue, xInnerPropSet );
62 uno::Any WrappedDefaultProperty::getPropertyDefault(
63 const Reference< beans::XPropertyState >& /* xInnerPropertyState */ ) const
64 throw (beans::UnknownPropertyException,
65 lang::WrappedTargetException,
66 uno::RuntimeException)
68 return m_aOuterDefaultValue;
71 beans::PropertyState WrappedDefaultProperty::getPropertyState(
72 const Reference< beans::XPropertyState >& xInnerPropertyState ) const
73 throw (beans::UnknownPropertyException,
74 uno::RuntimeException)
76 beans::PropertyState aState = beans::PropertyState_DIRECT_VALUE;
77 try
79 Reference< beans::XPropertySet > xInnerProp( xInnerPropertyState, uno::UNO_QUERY_THROW );
80 uno::Any aValue = this->getPropertyValue( xInnerProp );
81 if( m_aOuterDefaultValue == this->convertInnerToOuterValue( aValue ))
82 aState = beans::PropertyState_DEFAULT_VALUE;
84 catch( const beans::UnknownPropertyException& ex )
86 ASSERT_EXCEPTION( ex );
88 return aState;
91 } // namespace chart
93 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */