1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef ACC_ACCESSIBLETOOLPANELDECKTABBARITEM_HXX
25 #define ACC_ACCESSIBLETOOLPANELDECKTABBARITEM_HXX
26 
27 /** === begin UNO includes === **/
28 /** === end UNO includes === **/
29 
30 #include <comphelper/accessiblecomponenthelper.hxx>
31 #include <cppuhelper/implbase1.hxx>
32 
33 #include <boost/scoped_ptr.hpp>
34 
35 namespace svt
36 {
37     class IToolPanelDeck;
38     class PanelTabBar;
39 }
40 
41 //......................................................................................................................
42 namespace accessibility
43 {
44 //......................................................................................................................
45 
46 	//==================================================================================================================
47 	//= AccessibleToolPanelDeckTabBarItem
48 	//==================================================================================================================
49     class AccessibleToolPanelDeckTabBarItem_Impl;
50     typedef ::comphelper::OAccessibleExtendedComponentHelper AccessibleToolPanelDeckTabBarItem_Base;
51     class AccessibleToolPanelDeckTabBarItem : public AccessibleToolPanelDeckTabBarItem_Base
52 	{
53     public:
54         AccessibleToolPanelDeckTabBarItem(
55             const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& i_rAccessibleParent,
56             ::svt::IToolPanelDeck& i_rPanelDeck,
57             ::svt::PanelTabBar& i_rTabBar,
58             const size_t i_nItemPos
59         );
60 
61         using AccessibleToolPanelDeckTabBarItem_Base::NotifyAccessibleEvent;
62         using AccessibleToolPanelDeckTabBarItem_Base::lateInit;
63 
64     protected:
65         virtual ~AccessibleToolPanelDeckTabBarItem();
66 
67     public:
68         // XAccessibleContext
69 		virtual sal_Int32 SAL_CALL getAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
70 		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);
71 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent(  ) throw (::com::sun::star::uno::RuntimeException);
72 		virtual sal_Int16 SAL_CALL getAccessibleRole(  ) throw (::com::sun::star::uno::RuntimeException);
73 		virtual ::rtl::OUString SAL_CALL getAccessibleDescription(  ) throw (::com::sun::star::uno::RuntimeException);
74 		virtual ::rtl::OUString SAL_CALL getAccessibleName(  ) throw (::com::sun::star::uno::RuntimeException);
75 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet(  ) throw (::com::sun::star::uno::RuntimeException);
76 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet(  ) throw (::com::sun::star::uno::RuntimeException);
77 
78         // XAccessibleComponent
79         virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
80         virtual void SAL_CALL grabFocus(  ) throw (::com::sun::star::uno::RuntimeException);
81         virtual ::sal_Int32 SAL_CALL getForeground(  ) throw (::com::sun::star::uno::RuntimeException);
82         virtual ::sal_Int32 SAL_CALL getBackground(  ) throw (::com::sun::star::uno::RuntimeException);
83 
84         // XAccessibleExtendedComponent
85         virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFont > SAL_CALL getFont(  ) throw (::com::sun::star::uno::RuntimeException);
86         virtual ::rtl::OUString SAL_CALL getTitledBorderText(  ) throw (::com::sun::star::uno::RuntimeException);
87         virtual ::rtl::OUString SAL_CALL getToolTipText(  ) throw (::com::sun::star::uno::RuntimeException);
88 
89     protected:
90         // OCommonAccessibleComponent
91 		virtual ::com::sun::star::awt::Rectangle SAL_CALL implGetBounds(  ) throw (::com::sun::star::uno::RuntimeException);
92 
93         // OComponentHelper
94         virtual void SAL_CALL disposing();
95 
96     protected:
97         ::boost::scoped_ptr< AccessibleToolPanelDeckTabBarItem_Impl >   m_pImpl;
98 	};
99 
100 //......................................................................................................................
101 } // namespace accessibility
102 //......................................................................................................................
103 
104 #endif // ACC_ACCESSIBLETOOLPANELDECKTABBARITEM_HXX
105