OpenCoverage

qaccessiblemenu.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/widgets/accessible/qaccessiblemenu.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9QString qt_accStripAmp(const QString &text);-
10QString qt_accHotKey(const QString &text);-
11-
12QAccessibleInterface *getOrCreateMenu(QWidget *menu, QAction *action)-
13{-
14 QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(action);-
15 if (!iface
!ifaceDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
16 iface = new QAccessibleMenuItem(menu, action);-
17 QAccessible::registerAccessibleInterface(iface);-
18 }
never executed: end of block
0
19 return
never executed: return iface;
iface;
never executed: return iface;
0
20}-
21-
22QAccessibleMenu::QAccessibleMenu(QWidget *w)-
23: QAccessibleWidget(w)-
24{-
25 ((!(menu())) ? qt_assert("menu()",__FILE__,69) : qt_noop());-
26}
never executed: end of block
0
27-
28QMenu *QAccessibleMenu::menu() const-
29{-
30 return
never executed: return qobject_cast<QMenu*>(object());
qobject_cast<QMenu*>(object());
never executed: return qobject_cast<QMenu*>(object());
0
31}-
32-
33int QAccessibleMenu::childCount() const-
34{-
35 return
never executed: return menu()->actions().count();
menu()->actions().count();
never executed: return menu()->actions().count();
0
36}-
37-
38QAccessibleInterface *QAccessibleMenu::childAt(int x, int y) const-
39{-
40 QAction *act = menu()->actionAt(menu()->mapFromGlobal(QPoint(x,y)));-
41 if(act
actDescription
TRUEnever evaluated
FALSEnever evaluated
&& act->isSeparator()
act->isSeparator()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
42 act = 0;
never executed: act = 0;
0
43 return
never executed: return act ? getOrCreateMenu(menu(), act) : 0;
act ? getOrCreateMenu(menu(), act) : 0;
never executed: return act ? getOrCreateMenu(menu(), act) : 0;
0
44}-
45-
46QString QAccessibleMenu::text(QAccessible::Text t) const-
47{-
48 QString tx = QAccessibleWidget::text(t);-
49 if (!tx.isEmpty()
!tx.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
50 return
never executed: return tx;
tx;
never executed: return tx;
0
51-
52 if (t == QAccessible::Name
t == QAccessible::NameDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
53 return
never executed: return menu()->windowTitle();
menu()->windowTitle();
never executed: return menu()->windowTitle();
0
54 return
never executed: return tx;
tx;
never executed: return tx;
0
55}-
56-
57QAccessible::Role QAccessibleMenu::role() const-
58{-
59 return
never executed: return QAccessible::PopupMenu;
QAccessible::PopupMenu;
never executed: return QAccessible::PopupMenu;
0
60}-
61-
62QAccessibleInterface *QAccessibleMenu::child(int index) const-
63{-
64 if (index < childCount()
index < childCount()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
65 return
never executed: return getOrCreateMenu(menu(), menu()->actions().at(index));
getOrCreateMenu(menu(), menu()->actions().at(index));
never executed: return getOrCreateMenu(menu(), menu()->actions().at(index));
0
66 return
never executed: return 0;
0;
never executed: return 0;
0
67}-
68-
69QAccessibleInterface *QAccessibleMenu::parent() const-
70{-
71 if (QAction *menuAction = menu()->menuAction()
QAction *menuA...->menuAction()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
72 QList<QWidget *> parentCandidates;-
73 parentCandidates << menu()->parentWidget();-
74 parentCandidates << menuAction->associatedWidgets();-
75 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(parentCandidates)>::type> _container_((parentCandidates)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QWidget *w = *_container_.i; _container_.control; _container_.control = 0) {-
76 if (qobject_cast<QMenu*>(w)
qobject_cast<QMenu*>(w)Description
TRUEnever evaluated
FALSEnever evaluated
|| qobject_cast<QMenuBar*>(w)
qobject_cast<QMenuBar*>(w)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
77 if (w->actions().indexOf(menuAction) != -1
w->actions().i...uAction) != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
78 return
never executed: return getOrCreateMenu(w, menuAction);
getOrCreateMenu(w, menuAction);
never executed: return getOrCreateMenu(w, menuAction);
0
79 }
never executed: end of block
0
80 }
never executed: end of block
0
81 }
never executed: end of block
0
82 return
never executed: return QAccessibleWidget::parent();
QAccessibleWidget::parent();
never executed: return QAccessibleWidget::parent();
0
83}-
84-
85int QAccessibleMenu::indexOfChild( const QAccessibleInterface *child) const-
86{-
87 QAccessible::Role r = child->role();-
88 if ((r == QAccessible::MenuItem
r == QAccessible::MenuItemDescription
TRUEnever evaluated
FALSEnever evaluated
|| r == QAccessible::Separator
r == QAccessible::SeparatorDescription
TRUEnever evaluated
FALSEnever evaluated
) && menu()
menu()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
89 return
never executed: return menu()->actions().indexOf(qobject_cast<QAction*>(child->object()));
menu()->actions().indexOf(qobject_cast<QAction*>(child->object()));
never executed: return menu()->actions().indexOf(qobject_cast<QAction*>(child->object()));
0
90 }-
91 return
never executed: return -1;
-1;
never executed: return -1;
0
92}-
93-
94-
95QAccessibleMenuBar::QAccessibleMenuBar(QWidget *w)-
96 : QAccessibleWidget(w, QAccessible::MenuBar)-
97{-
98 ((!(menuBar())) ? qt_assert("menuBar()",__FILE__,142) : qt_noop());-
99}
never executed: end of block
0
100-
101QMenuBar *QAccessibleMenuBar::menuBar() const-
102{-
103 return
never executed: return qobject_cast<QMenuBar*>(object());
qobject_cast<QMenuBar*>(object());
never executed: return qobject_cast<QMenuBar*>(object());
0
104}-
105-
106int QAccessibleMenuBar::childCount() const-
107{-
108 return
never executed: return menuBar()->actions().count();
menuBar()->actions().count();
never executed: return menuBar()->actions().count();
0
109}-
110-
111QAccessibleInterface *QAccessibleMenuBar::child(int index) const-
112{-
113 if (index < childCount()
index < childCount()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
114 return
never executed: return getOrCreateMenu(menuBar(), menuBar()->actions().at(index));
getOrCreateMenu(menuBar(), menuBar()->actions().at(index));
never executed: return getOrCreateMenu(menuBar(), menuBar()->actions().at(index));
0
115 }-
116 return
never executed: return 0;
0;
never executed: return 0;
0
117}-
118-
119int QAccessibleMenuBar::indexOfChild(const QAccessibleInterface *child) const-
120{-
121 QAccessible::Role r = child->role();-
122 if ((r == QAccessible::MenuItem
r == QAccessible::MenuItemDescription
TRUEnever evaluated
FALSEnever evaluated
|| r == QAccessible::Separator
r == QAccessible::SeparatorDescription
TRUEnever evaluated
FALSEnever evaluated
) && menuBar()
menuBar()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
123 return
never executed: return menuBar()->actions().indexOf(qobject_cast<QAction*>(child->object()));
menuBar()->actions().indexOf(qobject_cast<QAction*>(child->object()));
never executed: return menuBar()->actions().indexOf(qobject_cast<QAction*>(child->object()));
0
124 }-
125 return
never executed: return -1;
-1;
never executed: return -1;
0
126}-
127-
128-
129-
130QAccessibleMenuItem::QAccessibleMenuItem(QWidget *owner, QAction *action)-
131: m_action(action), m_owner(owner)-
132{-
133}
never executed: end of block
0
134-
135QAccessibleMenuItem::~QAccessibleMenuItem()-
136{}-
137-
138QAccessibleInterface *QAccessibleMenuItem::childAt(int x, int y ) const-
139{-
140 for (int i = childCount() - 1; i >= 0
i >= 0Description
TRUEnever evaluated
FALSEnever evaluated
; --i) {
0
141 QAccessibleInterface *childInterface = child(i);-
142 if (childInterface->rect().contains(x,y)
childInterface....contains(x,y)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
143 return
never executed: return childInterface;
childInterface;
never executed: return childInterface;
0
144 }-
145 }
never executed: end of block
0
146 return
never executed: return 0;
0;
never executed: return 0;
0
147}-
148-
149int QAccessibleMenuItem::childCount() const-
150{-
151 return
never executed: return m_action->menu() ? 1 : 0;
m_action->menu() ? 1 : 0;
never executed: return m_action->menu() ? 1 : 0;
0
152}-
153-
154int QAccessibleMenuItem::indexOfChild(const QAccessibleInterface * child) const-
155{-
156 if (child
childDescription
TRUEnever evaluated
FALSEnever evaluated
&& child->role() == QAccessible::PopupMenu
child->role() ...ble::PopupMenuDescription
TRUEnever evaluated
FALSEnever evaluated
&& child->object() == m_action->menu()
child->object(...action->menu()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
157 return
never executed: return 0;
0;
never executed: return 0;
0
158 return
never executed: return -1;
-1;
never executed: return -1;
0
159}-
160-
161bool QAccessibleMenuItem::isValid() const-
162{-
163 return
never executed: return m_action && m_owner;
m_action && m_owner;
never executed: return m_action && m_owner;
0
164}-
165-
166QAccessibleInterface *QAccessibleMenuItem::parent() const-
167{-
168 return
never executed: return QAccessible::queryAccessibleInterface(owner());
QAccessible::queryAccessibleInterface(owner());
never executed: return QAccessible::queryAccessibleInterface(owner());
0
169}-
170-
171QAccessibleInterface *QAccessibleMenuItem::child(int index) const-
172{-
173 if (index == 0
index == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& action()->menu()
action()->menu()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
174 return
never executed: return QAccessible::queryAccessibleInterface(action()->menu());
QAccessible::queryAccessibleInterface(action()->menu());
never executed: return QAccessible::queryAccessibleInterface(action()->menu());
0
175 return
never executed: return 0;
0;
never executed: return 0;
0
176}-
177-
178void *QAccessibleMenuItem::interface_cast(QAccessible::InterfaceType t)-
179{-
180 if (t == QAccessible::ActionInterface
t == QAccessib...ctionInterfaceDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
181 return
never executed: return static_cast<QAccessibleActionInterface*>(this);
static_cast<QAccessibleActionInterface*>(this);
never executed: return static_cast<QAccessibleActionInterface*>(this);
0
182 return
never executed: return 0;
0;
never executed: return 0;
0
183}-
184-
185QObject *QAccessibleMenuItem::object() const-
186{-
187 return
never executed: return m_action;
m_action;
never executed: return m_action;
0
188}-
189-
190-
191QWindow *QAccessibleMenuItem::window() const-
192{-
193 QWindow *result = nullptr;-
194 if (!m_owner.isNull()
!m_owner.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
195 result = m_owner->windowHandle();-
196 if (!result
!resultDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
197 if (const
const QWidget ...ParentWidget()Description
TRUEnever evaluated
FALSEnever evaluated
QWidget *nativeParent = m_owner->nativeParentWidget()
const QWidget ...ParentWidget()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
198 result = nativeParent->windowHandle();
never executed: result = nativeParent->windowHandle();
0
199 }
never executed: end of block
0
200 }
never executed: end of block
0
201 return
never executed: return result;
result;
never executed: return result;
0
202}-
203-
204QRect QAccessibleMenuItem::rect() const-
205{-
206 QRect rect;-
207 QWidget *own = owner();-
208-
209 if (QMenuBar *menuBar = qobject_cast<QMenuBar*>(own)
QMenuBar *menu...MenuBar*>(own)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
210 rect = menuBar->actionGeometry(m_action);-
211 QPoint globalPos = menuBar->mapToGlobal(QPoint(0,0));-
212 rect = rect.translated(globalPos);-
213 }
never executed: end of block
else
0
214-
215 if (QMenu *menu = qobject_cast<QMenu*>(own)
QMenu *menu = ...t<QMenu*>(own)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
216 rect = menu->actionGeometry(m_action);-
217 QPoint globalPos = menu->mapToGlobal(QPoint(0,0));-
218 rect = rect.translated(globalPos);-
219 }
never executed: end of block
0
220 return
never executed: return rect;
rect;
never executed: return rect;
0
221}-
222-
223QAccessible::Role QAccessibleMenuItem::role() const-
224{-
225 return
never executed: return m_action->isSeparator() ? QAccessible::Separator : QAccessible::MenuItem;
m_action->isSeparator() ? QAccessible::Separator : QAccessible::MenuItem;
never executed: return m_action->isSeparator() ? QAccessible::Separator : QAccessible::MenuItem;
0
226}-
227-
228void QAccessibleMenuItem::setText(QAccessible::Text , const QString & )-
229{-
230}-
231-
232QAccessible::State QAccessibleMenuItem::state() const-
233{-
234 QAccessible::State s;-
235 QWidget *own = owner();-
236-
237 if (own
ownDescription
TRUEnever evaluated
FALSEnever evaluated
&& (own->testAttribute(Qt::WA_WState_Visible) == false
own->testAttri...ible) == falseDescription
TRUEnever evaluated
FALSEnever evaluated
|| m_action->isVisible() == false
m_action->isVisible() == falseDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
238 s.invisible = true;-
239 }
never executed: end of block
0
240-
241 if (QMenu *menu = qobject_cast<QMenu*>(own)
QMenu *menu = ...t<QMenu*>(own)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
242 if (menu->activeAction() == m_action
menu->activeAc...() == m_actionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
243 s.focused = true;
never executed: s.focused = true;
0
244-
245 }
never executed: end of block
else if (QMenuBar *menuBar = qobject_cast<QMenuBar*>(own)
QMenuBar *menu...MenuBar*>(own)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
246 if (menuBar->activeAction() == m_action
menuBar->activ...() == m_actionDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
247 s.focused = true;
never executed: s.focused = true;
0
248-
249 }
never executed: end of block
0
250 if (own
ownDescription
TRUEnever evaluated
FALSEnever evaluated
&& own->style()->styleHint(QStyle::SH_Menu_MouseTracking)
own->style()->...MouseTracking)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
251 s.hotTracked = true;
never executed: s.hotTracked = true;
0
252 if (m_action->isSeparator()
m_action->isSeparator()Description
TRUEnever evaluated
FALSEnever evaluated
|| !m_action->isEnabled()
!m_action->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
253 s.disabled = true;
never executed: s.disabled = true;
0
254 if (m_action->isChecked()
m_action->isChecked()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
255 s.checked = true;
never executed: s.checked = true;
0
256-
257 return
never executed: return s;
s;
never executed: return s;
0
258}-
259-
260QString QAccessibleMenuItem::text(QAccessible::Text t) const-
261{-
262 QString str;-
263 switch (t) {-
264 case
never executed: case QAccessible::Name:
QAccessible::Name:
never executed: case QAccessible::Name:
0
265 str = qt_accStripAmp(m_action->text());-
266 break;
never executed: break;
0
267 case
never executed: case QAccessible::Accelerator:
QAccessible::Accelerator:
never executed: case QAccessible::Accelerator:
{
0
268-
269 QKeySequence key = m_action->shortcut();-
270 if (!key.isEmpty()
!key.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
271 str = key.toString();-
272 }
never executed: end of block
else
0
273-
274 {-
275 str = qt_accHotKey(m_action->text());-
276 }
never executed: end of block
0
277 break;
never executed: break;
0
278 }-
279 default
never executed: default:
:
never executed: default:
0
280 break;
never executed: break;
0
281 }-
282 return
never executed: return str;
str;
never executed: return str;
0
283}-
284-
285QStringList QAccessibleMenuItem::actionNames() const-
286{-
287 QStringList actions;-
288 if (!m_action
!m_actionDescription
TRUEnever evaluated
FALSEnever evaluated
|| m_action->isSeparator()
m_action->isSeparator()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
289 return
never executed: return actions;
actions;
never executed: return actions;
0
290-
291 if (m_action->menu()
m_action->menu()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
292 actions << showMenuAction();-
293 }
never executed: end of block
else {
0
294 actions << pressAction();-
295 }
never executed: end of block
0
296 return
never executed: return actions;
actions;
never executed: return actions;
0
297}-
298-
299void QAccessibleMenuItem::doAction(const QString &actionName)-
300{-
301 if (!m_action->isEnabled()
!m_action->isEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
302 return;
never executed: return;
0
303-
304 if (actionName == pressAction()
actionName == pressAction()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
305 m_action->trigger();-
306 }
never executed: end of block
else if (actionName == showMenuAction()
actionName == showMenuAction()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
307 if (QMenuBar *bar = qobject_cast<QMenuBar*>(owner())
QMenuBar *bar ...Bar*>(owner())Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
308 if (m_action->menu()
m_action->menu()Description
TRUEnever evaluated
FALSEnever evaluated
&& m_action->menu()->isVisible()
m_action->menu()->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
309 m_action->menu()->hide();-
310 }
never executed: end of block
else {
0
311 bar->setActiveAction(m_action);-
312 }
never executed: end of block
0
313 } else if (QMenu *menu = qobject_cast<QMenu*>(owner())
QMenu *menu = ...enu*>(owner())Description
TRUEnever evaluated
FALSEnever evaluated
){
0
314 if (m_action->menu()
m_action->menu()Description
TRUEnever evaluated
FALSEnever evaluated
&& m_action->menu()->isVisible()
m_action->menu()->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
315 m_action->menu()->hide();-
316 }
never executed: end of block
else {
0
317 menu->setActiveAction(m_action);-
318 }
never executed: end of block
0
319 }-
320 }
never executed: end of block
0
321}
never executed: end of block
0
322-
323QStringList QAccessibleMenuItem::keyBindingsForAction(const QString &) const-
324{-
325 return
never executed: return QStringList();
QStringList();
never executed: return QStringList();
0
326}-
327-
328-
329QAction *QAccessibleMenuItem::action() const-
330{-
331 return
never executed: return m_action;
m_action;
never executed: return m_action;
0
332}-
333-
334QWidget *QAccessibleMenuItem::owner() const-
335{-
336 return
never executed: return m_owner;
m_owner;
never executed: return m_owner;
0
337}-
338-
339-
340-
341-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9