xref: /AOO41X/main/accessibility/inc/accessibility/extended/accessibletabbarpage.hxx (revision a462bbb78c0111848099221503583b85b642c10e)
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 ACCESSIBILITY_EXT_ACCESSIBLETABBARPAGE_HXX_
25 #define ACCESSIBILITY_EXT_ACCESSIBLETABBARPAGE_HXX_
26 
27 #include <com/sun/star/accessibility/XAccessible.hpp>
28 #include <com/sun/star/lang/XServiceInfo.hpp>
29 #include <cppuhelper/implbase2.hxx>
30 #include "accessibility/extended/accessibletabbarbase.hxx"
31 
32 #include <vector>
33 
34 namespace utl {
35 class AccessibleStateSetHelper;
36 }
37 
38 //.........................................................................
39 namespace accessibility
40 {
41 //.........................................................................
42 
43     //  ----------------------------------------------------
44     //  class AccessibleTabBarPage
45     //  ----------------------------------------------------
46 
47     typedef ::cppu::ImplHelper2<
48         ::com::sun::star::accessibility::XAccessible,
49         ::com::sun::star::lang::XServiceInfo > AccessibleTabBarPage_BASE;
50 
51     class AccessibleTabBarPage :    public AccessibleTabBarBase,
52                                     public AccessibleTabBarPage_BASE
53     {
54         friend class AccessibleTabBarPageList;
55 
56     private:
57         sal_uInt16              m_nPageId;
58         sal_Bool                m_bEnabled;
59         sal_Bool                m_bShowing;
60         sal_Bool                m_bSelected;
61         ::rtl::OUString         m_sPageText;
62 
63         ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >        m_xParent;
64 
65     protected:
66         sal_Bool                IsEnabled();
67         sal_Bool                IsShowing();
68         sal_Bool                IsSelected();
69 
70         void                    SetEnabled( sal_Bool bEnabled );
71         void                    SetShowing( sal_Bool bShowing );
72         void                    SetSelected( sal_Bool bSelected );
73         void                    SetPageText( const ::rtl::OUString& sPageText );
74 
GetPageId() const75         sal_uInt16              GetPageId() const { return m_nPageId; }
76 
77         virtual void            FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet );
78 
79         // OCommonAccessibleComponent
80         virtual ::com::sun::star::awt::Rectangle SAL_CALL   implGetBounds(  ) throw (::com::sun::star::uno::RuntimeException);
81 
82         // XComponent
83         virtual void SAL_CALL   disposing();
84 
85     public:
86         AccessibleTabBarPage( TabBar* pTabBar, sal_uInt16 nPageId,
87                               const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent );
88         virtual ~AccessibleTabBarPage();
89 
90         // XInterface
91         DECLARE_XINTERFACE()
92 
93         // XTypeProvider
94         DECLARE_XTYPEPROVIDER()
95 
96         // XServiceInfo
97         virtual ::rtl::OUString SAL_CALL getImplementationName() throw (::com::sun::star::uno::RuntimeException);
98         virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& rServiceName ) throw (::com::sun::star::uno::RuntimeException);
99         virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw (::com::sun::star::uno::RuntimeException);
100 
101         // XAccessible
102         virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext(  ) throw (::com::sun::star::uno::RuntimeException);
103 
104         // XAccessibleContext
105         virtual sal_Int32 SAL_CALL getAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
106         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);
107         virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent(  ) throw (::com::sun::star::uno::RuntimeException);
108         virtual sal_Int32 SAL_CALL getAccessibleIndexInParent(  ) throw (::com::sun::star::uno::RuntimeException);
109         virtual sal_Int16 SAL_CALL getAccessibleRole(  ) throw (::com::sun::star::uno::RuntimeException);
110         virtual ::rtl::OUString SAL_CALL getAccessibleDescription(  ) throw (::com::sun::star::uno::RuntimeException);
111         virtual ::rtl::OUString SAL_CALL getAccessibleName(  ) throw (::com::sun::star::uno::RuntimeException);
112         virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet(  ) throw (::com::sun::star::uno::RuntimeException);
113         virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet(  ) throw (::com::sun::star::uno::RuntimeException);
114         virtual ::com::sun::star::lang::Locale SAL_CALL getLocale(  ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
115 
116         // XAccessibleComponent
117         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);
118         virtual void SAL_CALL grabFocus(  ) throw (::com::sun::star::uno::RuntimeException);
119         virtual sal_Int32 SAL_CALL getForeground(  ) throw (::com::sun::star::uno::RuntimeException);
120         virtual sal_Int32 SAL_CALL getBackground(  ) throw (::com::sun::star::uno::RuntimeException);
121 
122         // XAccessibleExtendedComponent
123         virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XFont > SAL_CALL getFont(  ) throw (::com::sun::star::uno::RuntimeException);
124         virtual ::rtl::OUString SAL_CALL getTitledBorderText(  ) throw (::com::sun::star::uno::RuntimeException);
125         virtual ::rtl::OUString SAL_CALL getToolTipText(  ) throw (::com::sun::star::uno::RuntimeException);
126     };
127 
128 //.........................................................................
129 }   // namespace accessibility
130 //.........................................................................
131 
132 #endif // ACCESSIBILITY_EXT_ACCESSIBLETABBARPAGE_HXX_
133 
134