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