xpcAccessibleSelectable.h (1568B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 5 * You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef mozilla_a11y_xpcAccessibleSelectable_h_ 8 #define mozilla_a11y_xpcAccessibleSelectable_h_ 9 10 #include "nsIAccessibleSelectable.h" 11 12 class nsIAccessible; 13 class nsIArray; 14 15 namespace mozilla { 16 namespace a11y { 17 18 class Accessible; 19 20 /** 21 * XPCOM nsIAccessibleSelectable inteface implementation, used by 22 * xpcAccessibleGeneric class. 23 */ 24 class xpcAccessibleSelectable : public nsIAccessibleSelectable { 25 public: 26 // nsIAccessibleSelectable 27 NS_IMETHOD GetSelectedItems(nsIArray** aSelectedItems) final; 28 NS_IMETHOD GetSelectedItemCount(uint32_t* aSelectedItemCount) final; 29 NS_IMETHOD GetSelectedItemAt(uint32_t aIndex, nsIAccessible** aItem) final; 30 NS_IMETHOD IsItemSelected(uint32_t aIndex, bool* aIsSelected) final; 31 NS_IMETHOD AddItemToSelection(uint32_t aIndex) final; 32 NS_IMETHOD RemoveItemFromSelection(uint32_t aIndex) final; 33 NS_IMETHOD SelectAll(bool* aIsMultiSelect) final; 34 NS_IMETHOD UnselectAll() final; 35 36 protected: 37 xpcAccessibleSelectable() {} 38 virtual ~xpcAccessibleSelectable() {} 39 40 private: 41 xpcAccessibleSelectable(const xpcAccessibleSelectable&) = delete; 42 xpcAccessibleSelectable& operator=(const xpcAccessibleSelectable&) = delete; 43 44 Accessible* Intl(); 45 }; 46 47 } // namespace a11y 48 } // namespace mozilla 49 50 #endif