accessible/src/generic/FormControlAccessible.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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_FormControlAccessible_H_
     7 #define MOZILLA_A11Y_FormControlAccessible_H_
     9 #include "BaseAccessibles.h"
    11 namespace mozilla {
    12 namespace a11y {
    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   }
    30   NS_DECL_ISUPPORTS_INHERITED
    32   // Accessible
    33   virtual void Value(nsString& aValue);
    34   virtual mozilla::a11y::role NativeRole();
    35   virtual uint64_t NativeState();
    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;
    44   // Widgets
    45   virtual bool IsWidget() const;
    46 };
    48 /**
    49   * Generic class used for radio buttons.
    50   */
    51 class RadioButtonAccessible : public LeafAccessible
    52 {
    54 public:
    55   RadioButtonAccessible(nsIContent* aContent, DocAccessible* aDoc);
    57   // nsIAccessible
    58   NS_IMETHOD GetActionName(uint8_t aIndex, nsAString& aName);
    59   NS_IMETHOD DoAction(uint8_t aIndex);
    61   // Accessible
    62   virtual mozilla::a11y::role NativeRole();
    64   // ActionAccessible
    65   virtual uint8_t ActionCount();
    67   enum { eAction_Click = 0 };
    69   // Widgets
    70   virtual bool IsWidget() const;
    71 };
    73 } // namespace a11y
    74 } // namespace mozilla
    76 #endif

mercurial