| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  | /*************************************************************************
 | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 19:30:12 +00:00
										 |  |  |  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 
					
						
							| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 19:30:12 +00:00
										 |  |  |  * Copyright 2008 by Sun Microsystems, Inc. | 
					
						
							| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 19:30:12 +00:00
										 |  |  |  * OpenOffice.org - a multi-platform office productivity suite | 
					
						
							| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 19:30:12 +00:00
										 |  |  |  * $RCSfile: AccessibleTextHelper.hxx,v $ | 
					
						
							|  |  |  |  * $Revision: 1.3 $ | 
					
						
							| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 19:30:12 +00:00
										 |  |  |  * This file is part of OpenOffice.org. | 
					
						
							| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 19:30:12 +00:00
										 |  |  |  * 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. | 
					
						
							| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 19:30:12 +00:00
										 |  |  |  * 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). | 
					
						
							| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-10 19:30:12 +00:00
										 |  |  |  * 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. | 
					
						
							| 
									
										
										
										
											2007-05-22 16:52:00 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  ************************************************************************/ | 
					
						
							|  |  |  | #ifndef CHART2_ACCESSIBLETEXTHELPER_HXX
 | 
					
						
							|  |  |  | #define CHART2_ACCESSIBLETEXTHELPER_HXX
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "MutexContainer.hxx"
 | 
					
						
							|  |  |  | #include <cppuhelper/compbase2.hxx>
 | 
					
						
							|  |  |  | #include <com/sun/star/lang/XInitialization.hpp>
 | 
					
						
							|  |  |  | #include <com/sun/star/accessibility/XAccessibleContext.hpp>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // forward declaration of helper class from svx
 | 
					
						
							|  |  |  | namespace accessibility | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | class AccessibleTextHelper; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace chart | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class DrawViewWrapper; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace impl | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | typedef ::cppu::WeakComponentImplHelper2< | 
					
						
							|  |  |  |         ::com::sun::star::lang::XInitialization, | 
					
						
							|  |  |  |         ::com::sun::star::accessibility::XAccessibleContext > | 
					
						
							|  |  |  |     AccessibleTextHelper_Base; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AccessibleTextHelper : | 
					
						
							|  |  |  |         public MutexContainer, | 
					
						
							|  |  |  |         public impl::AccessibleTextHelper_Base | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |     explicit AccessibleTextHelper( DrawViewWrapper * pDrawViewWrapper ); | 
					
						
							|  |  |  |     virtual ~AccessibleTextHelper(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // ____ XInitialization ____
 | 
					
						
							|  |  |  |     /** Must be called at least once for this helper class to work.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         mandatory parameter 0: type string. This is the CID that is used to find | 
					
						
							|  |  |  |             the corresponding drawing object that contains the text that should | 
					
						
							|  |  |  |             be handled by this helper class. | 
					
						
							|  |  |  | 1 | 
					
						
							|  |  |  |         mandatory parameter 1: type XAccessible.  Is used as EventSource for the | 
					
						
							|  |  |  |             ::accessibility::AccessibleTextHelper (svx) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         mandatory parameter 2: type awt::XWindow.  The Window that shows the | 
					
						
							|  |  |  |             text currently. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     virtual void SAL_CALL initialize( | 
					
						
							|  |  |  |         const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::Exception, | 
					
						
							|  |  |  |                ::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // ____ XAccessibleContext ____
 | 
					
						
							|  |  |  |     virtual ::sal_Int32 SAL_CALL getAccessibleChildCount() | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleChild( | 
					
						
							|  |  |  |         ::sal_Int32 i ) | 
					
						
							|  |  |  |         throw (::com::sun::star::lang::IndexOutOfBoundsException, | 
					
						
							|  |  |  |                ::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent() | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::sal_Int32 SAL_CALL getAccessibleIndexInParent() | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::sal_Int16 SAL_CALL getAccessibleRole() | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::rtl::OUString SAL_CALL getAccessibleDescription() | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::rtl::OUString SAL_CALL getAccessibleName() | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() | 
					
						
							|  |  |  |         throw (::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  |     virtual ::com::sun::star::lang::Locale SAL_CALL getLocale() | 
					
						
							|  |  |  |         throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, | 
					
						
							|  |  |  |                ::com::sun::star::uno::RuntimeException); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | private: | 
					
						
							|  |  |  |     ::accessibility::AccessibleTextHelper * m_pTextHelper; | 
					
						
							|  |  |  |     DrawViewWrapper *                       m_pDrawViewWrapper; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } //  namespace chart
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // CHART2_ACCESSIBLETEXTHELPER_HXX
 | 
					
						
							|  |  |  | #endif
 |