Skip to content

Commit aad9fad

Browse files
authored
Merge 50f88e5 into 0d98162
2 parents 0d98162 + 50f88e5 commit aad9fad

8 files changed

Lines changed: 1257 additions & 869 deletions

File tree

source/controlTypes.py

Lines changed: 0 additions & 869 deletions
This file was deleted.

source/controlTypes/__init__.py

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
# A part of NonVisual Desktop Access (NVDA)
2+
# This file is covered by the GNU General Public License.
3+
# See the file COPYING for more details.
4+
# Copyright (C) 2007-2021 NV Access Limited, Babbage B.V.
5+
6+
from buildVersion import version_year
7+
8+
# imports used in __all__
9+
from .isCurrent import IsCurrent
10+
from .processing import OutputReason, processAndLabelStates, processNegativeStates, processPositiveStates
11+
from .role import Role, silentRolesOnFocus, silentValuesForRoles, _roleLabels
12+
from .state import State, STATES_SORTED, negativeStateLabels, _stateLabels
13+
14+
15+
__all__ = [
16+
"IsCurrent",
17+
"OutputReason",
18+
"processAndLabelStates",
19+
"processNegativeStates",
20+
"processPositiveStates",
21+
"Role",
22+
"silentRolesOnFocus",
23+
"silentValuesForRoles",
24+
"State",
25+
"STATES_SORTED",
26+
"negativeStateLabels",
27+
]
28+
29+
30+
# Added to maintain backwards compatibility, marked for deprecation to be removed in 2022.1
31+
# usages to be replaced by Role.*.displayString and State.*.displayString
32+
if version_year < 2022:
33+
roleLabels = _roleLabels
34+
stateLabels = _stateLabels
35+
36+
37+
# Added to maintain backwards compatibility, marked for deprecation to be removed in 2022.1
38+
if version_year < 2022:
39+
ROLE_UNKNOWN = Role.UNKNOWN
40+
ROLE_WINDOW = Role.WINDOW
41+
ROLE_TITLEBAR = Role.TITLEBAR
42+
ROLE_PANE = Role.PANE
43+
ROLE_DIALOG = Role.DIALOG
44+
ROLE_CHECKBOX = Role.CHECKBOX
45+
ROLE_RADIOBUTTON = Role.RADIOBUTTON
46+
ROLE_STATICTEXT = Role.STATICTEXT
47+
ROLE_EDITABLETEXT = Role.EDITABLETEXT
48+
ROLE_BUTTON = Role.BUTTON
49+
ROLE_MENUBAR = Role.MENUBAR
50+
ROLE_MENUITEM = Role.MENUITEM
51+
ROLE_POPUPMENU = Role.POPUPMENU
52+
ROLE_COMBOBOX = Role.COMBOBOX
53+
ROLE_LIST = Role.LIST
54+
ROLE_LISTITEM = Role.LISTITEM
55+
ROLE_GRAPHIC = Role.GRAPHIC
56+
ROLE_HELPBALLOON = Role.HELPBALLOON
57+
ROLE_TOOLTIP = Role.TOOLTIP
58+
ROLE_LINK = Role.LINK
59+
ROLE_TREEVIEW = Role.TREEVIEW
60+
ROLE_TREEVIEWITEM = Role.TREEVIEWITEM
61+
ROLE_TAB = Role.TAB
62+
ROLE_TABCONTROL = Role.TABCONTROL
63+
ROLE_SLIDER = Role.SLIDER
64+
ROLE_PROGRESSBAR = Role.PROGRESSBAR
65+
ROLE_SCROLLBAR = Role.SCROLLBAR
66+
ROLE_STATUSBAR = Role.STATUSBAR
67+
ROLE_TABLE = Role.TABLE
68+
ROLE_TABLECELL = Role.TABLECELL
69+
ROLE_TABLECOLUMN = Role.TABLECOLUMN
70+
ROLE_TABLEROW = Role.TABLEROW
71+
ROLE_TABLECOLUMNHEADER = Role.TABLECOLUMNHEADER
72+
ROLE_TABLEROWHEADER = Role.TABLEROWHEADER
73+
ROLE_FRAME = Role.FRAME
74+
ROLE_TOOLBAR = Role.TOOLBAR
75+
ROLE_DROPDOWNBUTTON = Role.DROPDOWNBUTTON
76+
ROLE_CLOCK = Role.CLOCK
77+
ROLE_SEPARATOR = Role.SEPARATOR
78+
ROLE_FORM = Role.FORM
79+
ROLE_HEADING = Role.HEADING
80+
ROLE_HEADING1 = Role.HEADING1
81+
ROLE_HEADING2 = Role.HEADING2
82+
ROLE_HEADING3 = Role.HEADING3
83+
ROLE_HEADING4 = Role.HEADING4
84+
ROLE_HEADING5 = Role.HEADING5
85+
ROLE_HEADING6 = Role.HEADING6
86+
ROLE_PARAGRAPH = Role.PARAGRAPH
87+
ROLE_BLOCKQUOTE = Role.BLOCKQUOTE
88+
ROLE_TABLEHEADER = Role.TABLEHEADER
89+
ROLE_TABLEBODY = Role.TABLEBODY
90+
ROLE_TABLEFOOTER = Role.TABLEFOOTER
91+
ROLE_DOCUMENT = Role.DOCUMENT
92+
ROLE_ANIMATION = Role.ANIMATION
93+
ROLE_APPLICATION = Role.APPLICATION
94+
ROLE_BOX = Role.BOX
95+
ROLE_GROUPING = Role.GROUPING
96+
ROLE_PROPERTYPAGE = Role.PROPERTYPAGE
97+
ROLE_CANVAS = Role.CANVAS
98+
ROLE_CAPTION = Role.CAPTION
99+
ROLE_CHECKMENUITEM = Role.CHECKMENUITEM
100+
ROLE_DATEEDITOR = Role.DATEEDITOR
101+
ROLE_ICON = Role.ICON
102+
ROLE_DIRECTORYPANE = Role.DIRECTORYPANE
103+
ROLE_EMBEDDEDOBJECT = Role.EMBEDDEDOBJECT
104+
ROLE_ENDNOTE = Role.ENDNOTE
105+
ROLE_FOOTER = Role.FOOTER
106+
ROLE_FOOTNOTE = Role.FOOTNOTE
107+
ROLE_GLASSPANE = Role.GLASSPANE
108+
ROLE_HEADER = Role.HEADER
109+
ROLE_IMAGEMAP = Role.IMAGEMAP
110+
ROLE_INPUTWINDOW = Role.INPUTWINDOW
111+
ROLE_LABEL = Role.LABEL
112+
ROLE_NOTE = Role.NOTE
113+
ROLE_PAGE = Role.PAGE
114+
ROLE_RADIOMENUITEM = Role.RADIOMENUITEM
115+
ROLE_LAYEREDPANE = Role.LAYEREDPANE
116+
ROLE_REDUNDANTOBJECT = Role.REDUNDANTOBJECT
117+
ROLE_ROOTPANE = Role.ROOTPANE
118+
ROLE_EDITBAR = Role.EDITBAR
119+
ROLE_TERMINAL = Role.TERMINAL
120+
ROLE_RICHEDIT = Role.RICHEDIT
121+
ROLE_RULER = Role.RULER
122+
ROLE_SCROLLPANE = Role.SCROLLPANE
123+
ROLE_SECTION = Role.SECTION
124+
ROLE_SHAPE = Role.SHAPE
125+
ROLE_SPLITPANE = Role.SPLITPANE
126+
ROLE_VIEWPORT = Role.VIEWPORT
127+
ROLE_TEAROFFMENU = Role.TEAROFFMENU
128+
ROLE_TEXTFRAME = Role.TEXTFRAME
129+
ROLE_TOGGLEBUTTON = Role.TOGGLEBUTTON
130+
ROLE_BORDER = Role.BORDER
131+
ROLE_CARET = Role.CARET
132+
ROLE_CHARACTER = Role.CHARACTER
133+
ROLE_CHART = Role.CHART
134+
ROLE_CURSOR = Role.CURSOR
135+
ROLE_DIAGRAM = Role.DIAGRAM
136+
ROLE_DIAL = Role.DIAL
137+
ROLE_DROPLIST = Role.DROPLIST
138+
ROLE_SPLITBUTTON = Role.SPLITBUTTON
139+
ROLE_MENUBUTTON = Role.MENUBUTTON
140+
ROLE_DROPDOWNBUTTONGRID = Role.DROPDOWNBUTTONGRID
141+
ROLE_MATH = Role.MATH
142+
ROLE_GRIP = Role.GRIP
143+
ROLE_HOTKEYFIELD = Role.HOTKEYFIELD
144+
ROLE_INDICATOR = Role.INDICATOR
145+
ROLE_SPINBUTTON = Role.SPINBUTTON
146+
ROLE_SOUND = Role.SOUND
147+
ROLE_WHITESPACE = Role.WHITESPACE
148+
ROLE_TREEVIEWBUTTON = Role.TREEVIEWBUTTON
149+
ROLE_IPADDRESS = Role.IPADDRESS
150+
ROLE_DESKTOPICON = Role.DESKTOPICON
151+
ROLE_INTERNALFRAME = Role.INTERNALFRAME
152+
ROLE_DESKTOPPANE = Role.DESKTOPPANE
153+
ROLE_OPTIONPANE = Role.OPTIONPANE
154+
ROLE_COLORCHOOSER = Role.COLORCHOOSER
155+
ROLE_FILECHOOSER = Role.FILECHOOSER
156+
ROLE_FILLER = Role.FILLER
157+
ROLE_MENU = Role.MENU
158+
ROLE_PANEL = Role.PANEL
159+
ROLE_PASSWORDEDIT = Role.PASSWORDEDIT
160+
ROLE_FONTCHOOSER = Role.FONTCHOOSER
161+
ROLE_LINE = Role.LINE
162+
ROLE_FONTNAME = Role.FONTNAME
163+
ROLE_FONTSIZE = Role.FONTSIZE
164+
ROLE_BOLD = Role.BOLD
165+
ROLE_ITALIC = Role.ITALIC
166+
ROLE_UNDERLINE = Role.UNDERLINE
167+
ROLE_FGCOLOR = Role.FGCOLOR
168+
ROLE_BGCOLOR = Role.BGCOLOR
169+
ROLE_SUPERSCRIPT = Role.SUPERSCRIPT
170+
ROLE_SUBSCRIPT = Role.SUBSCRIPT
171+
ROLE_STYLE = Role.STYLE
172+
ROLE_INDENT = Role.INDENT
173+
ROLE_ALIGNMENT = Role.ALIGNMENT
174+
ROLE_ALERT = Role.ALERT
175+
ROLE_DATAGRID = Role.DATAGRID
176+
ROLE_DATAITEM = Role.DATAITEM
177+
ROLE_HEADERITEM = Role.HEADERITEM
178+
ROLE_THUMB = Role.THUMB
179+
ROLE_CALENDAR = Role.CALENDAR
180+
ROLE_VIDEO = Role.VIDEO
181+
ROLE_AUDIO = Role.AUDIO
182+
ROLE_CHARTELEMENT = Role.CHARTELEMENT
183+
ROLE_DELETED_CONTENT = Role.DELETED_CONTENT
184+
ROLE_INSERTED_CONTENT = Role.INSERTED_CONTENT
185+
ROLE_LANDMARK = Role.LANDMARK
186+
ROLE_ARTICLE = Role.ARTICLE
187+
ROLE_REGION = Role.REGION
188+
ROLE_FIGURE = Role.FIGURE
189+
ROLE_MARKED_CONTENT = Role.MARKED_CONTENT
190+
191+
192+
# Added to maintain backwards compatibility, marked for deprecation to be removed in 2022.1
193+
if version_year < 2022:
194+
STATE_UNAVAILABLE = State.UNAVAILABLE
195+
STATE_FOCUSED = State.FOCUSED
196+
STATE_SELECTED = State.SELECTED
197+
STATE_BUSY = State.BUSY
198+
STATE_PRESSED = State.PRESSED
199+
STATE_CHECKED = State.CHECKED
200+
STATE_HALFCHECKED = State.HALFCHECKED
201+
STATE_READONLY = State.READONLY
202+
STATE_EXPANDED = State.EXPANDED
203+
STATE_COLLAPSED = State.COLLAPSED
204+
STATE_INVISIBLE = State.INVISIBLE
205+
STATE_VISITED = State.VISITED
206+
STATE_LINKED = State.LINKED
207+
STATE_HASPOPUP = State.HASPOPUP
208+
STATE_PROTECTED = State.PROTECTED
209+
STATE_REQUIRED = State.REQUIRED
210+
STATE_DEFUNCT = State.DEFUNCT
211+
STATE_INVALID_ENTRY = State.INVALID_ENTRY
212+
STATE_MODAL = State.MODAL
213+
STATE_AUTOCOMPLETE = State.AUTOCOMPLETE
214+
STATE_MULTILINE = State.MULTILINE
215+
STATE_ICONIFIED = State.ICONIFIED
216+
STATE_OFFSCREEN = State.OFFSCREEN
217+
STATE_SELECTABLE = State.SELECTABLE
218+
STATE_FOCUSABLE = State.FOCUSABLE
219+
STATE_CLICKABLE = State.CLICKABLE
220+
STATE_EDITABLE = State.EDITABLE
221+
STATE_CHECKABLE = State.CHECKABLE
222+
STATE_DRAGGABLE = State.DRAGGABLE
223+
STATE_DRAGGING = State.DRAGGING
224+
STATE_DROPTARGET = State.DROPTARGET
225+
STATE_SORTED = State.SORTED
226+
STATE_SORTED_ASCENDING = State.SORTED_ASCENDING
227+
STATE_SORTED_DESCENDING = State.SORTED_DESCENDING
228+
STATE_HASLONGDESC = State.HASLONGDESC
229+
STATE_PINNED = State.PINNED
230+
STATE_HASFORMULA = State.HASFORMULA
231+
STATE_HASCOMMENT = State.HASCOMMENT
232+
STATE_OBSCURED = State.OBSCURED
233+
STATE_CROPPED = State.CROPPED
234+
STATE_OVERFLOWING = State.OVERFLOWING
235+
STATE_UNLOCKED = State.UNLOCKED
236+
STATE_HAS_ARIA_DETAILS = State.HAS_ARIA_DETAILS

source/controlTypes/isCurrent.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# A part of NonVisual Desktop Access (NVDA)
2+
# This file is covered by the GNU General Public License.
3+
# See the file COPYING for more details.
4+
# Copyright (C) 2007-2021 NV Access Limited, Babbage B.V.
5+
6+
from enum import Enum
7+
from typing import Dict
8+
9+
from utils.mixins import DisplayStringEnumMixin, DisplayStringEnumMixinMeta
10+
11+
12+
class IsCurrent(DisplayStringEnumMixin, str, Enum, metaclass=DisplayStringEnumMixinMeta):
13+
"""Values to use within NVDA to denote 'current' values.
14+
These describe if an item is the current item within a particular kind of selection.
15+
EG aria-current
16+
"""
17+
NO = "false"
18+
YES = "true"
19+
PAGE = "page"
20+
STEP = "step"
21+
LOCATION = "location"
22+
DATE = "date"
23+
TIME = "time"
24+
25+
@property
26+
def _displayStringLabels(self):
27+
return _isCurrentLabels
28+
29+
@property
30+
def defaultValue(self):
31+
return self.YES
32+
33+
34+
#: Text to use for 'current' values. These describe if an item is the current item
35+
#: within a particular kind of selection. EG aria-current
36+
_isCurrentLabels: Dict[IsCurrent, str] = {
37+
IsCurrent.NO: "", # There is nothing extra to say for items that are not current.
38+
# Translators: Presented when an item is marked as current in a collection of items
39+
IsCurrent.YES: _("current"),
40+
# Translators: Presented when a page item is marked as current in a collection of page items
41+
IsCurrent.PAGE: _("current page"),
42+
# Translators: Presented when a step item is marked as current in a collection of step items
43+
IsCurrent.STEP: _("current step"),
44+
# Translators: Presented when a location item is marked as current in a collection of location items
45+
IsCurrent.LOCATION: _("current location"),
46+
# Translators: Presented when a date item is marked as current in a collection of date items
47+
IsCurrent.DATE: _("current date"),
48+
# Translators: Presented when a time item is marked as current in a collection of time items
49+
IsCurrent.TIME: _("current time"),
50+
}

0 commit comments

Comments
 (0)