Bumping manifests a=b2g-bump
[gecko.git] / accessible / xul / XULMenuAccessible.h
blob6b06bbbe8d916e2e04ce471cbf61aad209f6fa70
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef mozilla_a11y_XULMenuAccessible_h__
7 #define mozilla_a11y_XULMenuAccessible_h__
9 #include "AccessibleWrap.h"
10 #include "nsIDOMXULSelectCntrlEl.h"
11 #include "XULSelectControlAccessible.h"
13 namespace mozilla {
14 namespace a11y {
16 /**
17 * Used for XUL menu, menuitem elements.
19 class XULMenuitemAccessible : public AccessibleWrap
21 public:
22 enum { eAction_Click = 0 };
24 XULMenuitemAccessible(nsIContent* aContent, DocAccessible* aDoc);
26 // Accessible
27 virtual void Description(nsString& aDescription) MOZ_OVERRIDE;
28 virtual a11y::role NativeRole() MOZ_OVERRIDE;
29 virtual uint64_t NativeState() MOZ_OVERRIDE;
30 virtual uint64_t NativeInteractiveState() const MOZ_OVERRIDE;
31 virtual int32_t GetLevelInternal() MOZ_OVERRIDE;
33 virtual bool CanHaveAnonChildren() MOZ_OVERRIDE;
35 // ActionAccessible
36 virtual uint8_t ActionCount() MOZ_OVERRIDE;
37 virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) MOZ_OVERRIDE;
38 virtual bool DoAction(uint8_t aIndex) MOZ_OVERRIDE;
39 virtual KeyBinding AccessKey() const MOZ_OVERRIDE;
40 virtual KeyBinding KeyboardShortcut() const MOZ_OVERRIDE;
42 // Widgets
43 virtual bool IsActiveWidget() const MOZ_OVERRIDE;
44 virtual bool AreItemsOperable() const MOZ_OVERRIDE;
45 virtual Accessible* ContainerWidget() const MOZ_OVERRIDE;
47 protected:
48 // Accessible
49 virtual ENameValueFlag NativeName(nsString& aName) MOZ_OVERRIDE;
52 /**
53 * Used for XUL menuseparator element.
55 class XULMenuSeparatorAccessible : public XULMenuitemAccessible
57 public:
58 XULMenuSeparatorAccessible(nsIContent* aContent, DocAccessible* aDoc);
60 // Accessible
61 virtual a11y::role NativeRole() MOZ_OVERRIDE;
62 virtual uint64_t NativeState() MOZ_OVERRIDE;
64 // ActionAccessible
65 virtual uint8_t ActionCount() MOZ_OVERRIDE;
66 virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) MOZ_OVERRIDE;
67 virtual bool DoAction(uint8_t aIndex) MOZ_OVERRIDE;
69 protected:
70 // Accessible
71 virtual ENameValueFlag NativeName(nsString& aName) MOZ_OVERRIDE;
75 /**
76 * Used for XUL menupopup and panel.
78 class XULMenupopupAccessible : public XULSelectControlAccessible
80 public:
81 XULMenupopupAccessible(nsIContent* aContent, DocAccessible* aDoc);
83 // Accessible
84 virtual a11y::role NativeRole() MOZ_OVERRIDE;
85 virtual uint64_t NativeState() MOZ_OVERRIDE;
87 // Widgets
88 virtual bool IsWidget() const MOZ_OVERRIDE;
89 virtual bool IsActiveWidget() const MOZ_OVERRIDE;
90 virtual bool AreItemsOperable() const MOZ_OVERRIDE;
92 virtual Accessible* ContainerWidget() const MOZ_OVERRIDE;
94 protected:
95 // Accessible
96 virtual ENameValueFlag NativeName(nsString& aName) MOZ_OVERRIDE;
99 /**
100 * Used for XUL menubar element.
102 class XULMenubarAccessible : public AccessibleWrap
104 public:
105 XULMenubarAccessible(nsIContent* aContent, DocAccessible* aDoc);
107 // Accessible
108 virtual a11y::role NativeRole() MOZ_OVERRIDE;
110 // Widget
111 virtual bool IsActiveWidget() const MOZ_OVERRIDE;
112 virtual bool AreItemsOperable() const MOZ_OVERRIDE;
113 virtual Accessible* CurrentItem() MOZ_OVERRIDE;
114 virtual void SetCurrentItem(Accessible* aItem) MOZ_OVERRIDE;
116 protected:
117 // Accessible
118 virtual ENameValueFlag NativeName(nsString& aName) MOZ_OVERRIDE;
121 } // namespace a11y
122 } // namespace mozilla
124 #endif