accessible/src/generic/FormControlAccessible.h

branch
TOR_BUG_9701
changeset 3
141e0f1194b1
equal deleted inserted replaced
-1:000000000000 0:96a90b33d4e4
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/. */
5
6 #ifndef MOZILLA_A11Y_FormControlAccessible_H_
7 #define MOZILLA_A11Y_FormControlAccessible_H_
8
9 #include "BaseAccessibles.h"
10
11 namespace mozilla {
12 namespace a11y {
13
14 /**
15 * Generic class used for progress meters.
16 */
17 template<int Max>
18 class ProgressMeterAccessible : public LeafAccessible
19 {
20 public:
21 ProgressMeterAccessible(nsIContent* aContent, DocAccessible* aDoc) :
22 LeafAccessible(aContent, aDoc)
23 {
24 // Ignore 'ValueChange' DOM event in lieu of @value attribute change
25 // notifications.
26 mStateFlags |= eHasNumericValue | eIgnoreDOMUIEvent;
27 mType = eProgressType;
28 }
29
30 NS_DECL_ISUPPORTS_INHERITED
31
32 // Accessible
33 virtual void Value(nsString& aValue);
34 virtual mozilla::a11y::role NativeRole();
35 virtual uint64_t NativeState();
36
37 // Value
38 virtual double MaxValue() const MOZ_OVERRIDE;
39 virtual double MinValue() const MOZ_OVERRIDE;
40 virtual double CurValue() const MOZ_OVERRIDE;
41 virtual double Step() const MOZ_OVERRIDE;
42 virtual bool SetCurValue(double aValue) MOZ_OVERRIDE;
43
44 // Widgets
45 virtual bool IsWidget() const;
46 };
47
48 /**
49 * Generic class used for radio buttons.
50 */
51 class RadioButtonAccessible : public LeafAccessible
52 {
53
54 public:
55 RadioButtonAccessible(nsIContent* aContent, DocAccessible* aDoc);
56
57 // nsIAccessible
58 NS_IMETHOD GetActionName(uint8_t aIndex, nsAString& aName);
59 NS_IMETHOD DoAction(uint8_t aIndex);
60
61 // Accessible
62 virtual mozilla::a11y::role NativeRole();
63
64 // ActionAccessible
65 virtual uint8_t ActionCount();
66
67 enum { eAction_Click = 0 };
68
69 // Widgets
70 virtual bool IsWidget() const;
71 };
72
73 } // namespace a11y
74 } // namespace mozilla
75
76 #endif
77

mercurial