本文整理汇总了C++中AccessibilityChildrenVector::isEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ AccessibilityChildrenVector::isEmpty方法的具体用法?C++ AccessibilityChildrenVector::isEmpty怎么用?C++ AccessibilityChildrenVector::isEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AccessibilityChildrenVector
的用法示例。
在下文中一共展示了AccessibilityChildrenVector::isEmpty方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: accessibleObjectsWithAccessibilitySearchPredicate
void AccessibilityObject::accessibleObjectsWithAccessibilitySearchPredicate(AccessibilitySearchPredicate* axSearchPredicate, AccessibilityChildrenVector& axResults)
{
ASSERT(AXObjectCache::accessibilityEnabled());
if (!axSearchPredicate)
return;
AccessibilityChildrenVector axChildren;
if (axSearchPredicate->axContainerObject)
axChildren.append(axSearchPredicate->axContainerObject);
bool isSearchDirectionNext = (axSearchPredicate->axSearchDirection == SearchDirectionNext);
bool didFindAXStartObject = (!axSearchPredicate->axStartObject);
// FIXME: Iterate the AccessibilityObject cache creating and adding objects if nessesary.
while (!axChildren.isEmpty() && axResults.size() < axSearchPredicate->resultsLimit) {
AccessibilityObject* axChild = axChildren.last().get();
axChildren.removeLast();
if (didFindAXStartObject) {
if (isAccessibilityObjectSearchMatch(axChild, axSearchPredicate)
&& isAccessibilityTextSearchMatch(axChild, axSearchPredicate))
axResults.append(axChild);
} else if (axChild == axSearchPredicate->axStartObject)
didFindAXStartObject = true;
AccessibilityChildrenVector axGrandchildren = axChild->children();
unsigned axGrandchildrenSize = axChild->children().size();
for (unsigned i = (isSearchDirectionNext) ? axGrandchildrenSize : 0; (isSearchDirectionNext) ? i > 0 : i < axGrandchildrenSize; (isSearchDirectionNext) ? i-- : i++)
// FIXME: Handle attachments.
axChildren.append(axGrandchildren.at((isSearchDirectionNext) ? i - 1 : i).get());
}
}
示例2: selectedChildren
void AccessibilityListBox::selectedChildren(AccessibilityChildrenVector& result)
{
ASSERT(result.isEmpty());
if (!hasChildren())
addChildren();
for (const auto& child : m_children) {
if (toAccessibilityListBoxOption(child.get())->isSelected())
result.append(child.get());
}
}
示例3: visibleChildren
void AccessibilityListBox::visibleChildren(AccessibilityChildrenVector& result)
{
ASSERT(result.isEmpty());
if (!hasChildren())
addChildren();
unsigned length = m_children.size();
for (unsigned i = 0; i < length; i++) {
if (toRenderListBox(m_renderer)->listIndexIsVisible(i))
result.append(m_children[i]);
}
}
示例4: selectedChildren
void AccessibilityListBox::selectedChildren(AccessibilityChildrenVector& result)
{
ASSERT(result.isEmpty());
if (!hasChildren())
addChildren();
unsigned length = m_children.size();
for (unsigned i = 0; i < length; i++) {
if (static_cast<AccessibilityListBoxOption*>(m_children[i].get())->isSelected())
result.append(m_children[i]);
}
}
示例5: findMatchingObjects
void AccessibilityObject::findMatchingObjects(AccessibilitySearchCriteria* criteria, AccessibilityChildrenVector& results)
{
ASSERT(criteria);
if (!criteria)
return;
AccessibilityObject* startObject = criteria->startObject;
AccessibilityChildrenVector searchStack;
searchStack.append(this);
bool isForward = criteria->searchDirection == SearchDirectionNext;
bool didFindStartObject = !criteria->startObject;
// FIXME: Iterate the AccessibilityObject cache creating and adding objects if nessesary.
while (!searchStack.isEmpty()) {
AccessibilityObject* searchObject = searchStack.last().get();
searchStack.removeLast();
if (didFindStartObject) {
if (isAccessibilityObjectSearchMatch(searchObject, criteria) && isAccessibilityTextSearchMatch(searchObject, criteria)) {
results.append(searchObject);
// Enough results were found to stop searching.
if (results.size() >= criteria->resultsLimit)
break;
}
} else if (searchObject == startObject)
didFindStartObject = true;
AccessibilityChildrenVector searchChildren = searchObject->children();
size_t childrenSize = searchChildren.size();
for (size_t i = isForward ? childrenSize : 0; isForward ? i > 0 : i < childrenSize; isForward ? i-- : i++) {
// FIXME: Handle attachments.
searchStack.append(searchChildren.at(isForward ? i - 1 : i).get());
}
}
}