本文整理汇总了C++中HTMLSelectElement::multiple方法的典型用法代码示例。如果您正苦于以下问题:C++ HTMLSelectElement::multiple方法的具体用法?C++ HTMLSelectElement::multiple怎么用?C++ HTMLSelectElement::multiple使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTMLSelectElement
的用法示例。
在下文中一共展示了HTMLSelectElement::multiple方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: autoscroll
void RenderListBox::autoscroll()
{
IntPoint pos = document()->frame()->view()->windowToContents(document()->frame()->eventHandler()->currentMousePosition());
int rx = 0;
int ry = 0;
absolutePosition(rx, ry);
int offsetX = pos.x() - rx;
int offsetY = pos.y() - ry;
int endIndex = -1;
int rows = numVisibleItems();
int offset = m_indexOffset;
if (offsetY < borderTop() + paddingTop() && scrollToRevealElementAtListIndex(offset - 1))
endIndex = offset - 1;
else if (offsetY > height() - paddingBottom() - borderBottom() && scrollToRevealElementAtListIndex(offset + rows))
endIndex = offset + rows - 1;
else
endIndex = listIndexAtOffset(offsetX, offsetY);
if (endIndex >= 0) {
HTMLSelectElement* select = static_cast<HTMLSelectElement*>(node());
m_inAutoscroll = true;
if (!select->multiple())
select->setActiveSelectionAnchorIndex(endIndex);
select->setActiveSelectionEndIndex(endIndex);
select->updateListBoxSelection(!select->multiple());
m_inAutoscroll = false;
}
}
示例2: multipleAttrGetter
static v8::Handle<v8::Value> multipleAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
INC_STATS("DOM.HTMLSelectElement.multiple._get");
HTMLSelectElement* imp = V8HTMLSelectElement::toNative(info.Holder());
if (!R_check(imp)) return v8::Handle<v8::Value>(v8::Undefined());
return v8Boolean(imp->multiple());
}
示例3: autoscroll
void RenderListBox::autoscroll()
{
IntPoint pos = frame()->view()->windowToContents(frame()->eventHandler()->currentMousePosition());
int endIndex = scrollToward(pos);
if (endIndex >= 0) {
HTMLSelectElement* select = toHTMLSelectElement(node());
m_inAutoscroll = true;
if (!select->multiple())
select->setActiveSelectionAnchorIndex(endIndex);
select->setActiveSelectionEndIndex(endIndex);
select->updateListBoxSelection(!select->multiple());
m_inAutoscroll = false;
}
}
示例4: jsHTMLSelectElementMultiple
JSValue jsHTMLSelectElementMultiple(ExecState* exec, JSValue slotBase, const Identifier&)
{
JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slotBase));
UNUSED_PARAM(exec);
HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
JSValue result = jsBoolean(imp->multiple());
return result;
}
示例5: panScroll
void RenderListBox::panScroll(const IntPoint& panStartMousePosition)
{
const int maxSpeed = 20;
const int iconRadius = 7;
const int speedReducer = 4;
// FIXME: This doesn't work correctly with transforms.
FloatPoint absOffset = localToAbsolute();
IntPoint currentMousePosition = roundedIntPoint(frame()->eventHandler()->currentMousePosition());
// We need to check if the current mouse position is out of the window. When the mouse is out of the window, the position is incoherent
static IntPoint previousMousePosition;
if (currentMousePosition.y() < 0)
currentMousePosition = previousMousePosition;
else
previousMousePosition = currentMousePosition;
int yDelta = currentMousePosition.y() - panStartMousePosition.y();
// If the point is too far from the center we limit the speed
yDelta = max<int>(min<int>(yDelta, maxSpeed), -maxSpeed);
if (abs(yDelta) < iconRadius) // at the center we let the space for the icon
return;
if (yDelta > 0)
//offsetY = view()->viewHeight();
absOffset.move(0, listHeight());
else if (yDelta < 0)
yDelta--;
// Let's attenuate the speed
yDelta /= speedReducer;
IntPoint scrollPoint(0, 0);
scrollPoint.setY(absOffset.y() + yDelta);
int newOffset = scrollToward(scrollPoint);
if (newOffset < 0)
return;
m_inAutoscroll = true;
HTMLSelectElement* select = toHTMLSelectElement(node());
select->updateListBoxSelection(!select->multiple());
m_inAutoscroll = false;
}
示例6: getPopupMenuInfo
void ExternalPopupMenu::getPopupMenuInfo(WebPopupMenuInfo& info, HTMLSelectElement& ownerElement)
{
const WillBeHeapVector<RawPtrWillBeMember<HTMLElement>>& listItems = ownerElement.listItems();
size_t itemCount = listItems.size();
size_t count = 0;
Vector<WebMenuItemInfo> items(itemCount);
for (size_t i = 0; i < itemCount; ++i) {
if (ownerElement.itemIsDisplayNone(*listItems[i]))
continue;
Element& itemElement = *listItems[i];
WebMenuItemInfo& popupItem = items[count++];
popupItem.label = ownerElement.itemText(itemElement);
popupItem.toolTip = itemElement.title();
popupItem.checked = false;
if (isHTMLHRElement(itemElement)) {
popupItem.type = WebMenuItemInfo::Separator;
} else if (isHTMLOptGroupElement(itemElement)) {
popupItem.type = WebMenuItemInfo::Group;
} else {
popupItem.type = WebMenuItemInfo::Option;
popupItem.checked = toHTMLOptionElement(itemElement).selected();
}
popupItem.enabled = !itemElement.isDisabledFormControl();
const ComputedStyle& style = *ownerElement.itemComputedStyle(itemElement);
popupItem.textDirection = toWebTextDirection(style.direction());
popupItem.hasTextDirectionOverride = isOverride(style.unicodeBidi());
}
const ComputedStyle& menuStyle = ownerElement.computedStyle() ? *ownerElement.computedStyle() : *ownerElement.ensureComputedStyle();
info.itemHeight = menuStyle.font().fontMetrics().height();
info.itemFontSize = static_cast<int>(menuStyle.font().fontDescription().computedSize());
info.selectedIndex = toExternalPopupMenuItemIndex(ownerElement.optionToListIndex(ownerElement.selectedIndex()), ownerElement);
info.rightAligned = menuStyle.direction() == RTL;
info.allowMultipleSelection = ownerElement.multiple();
if (count < itemCount)
items.shrink(count);
info.items = items;
}
示例7: determineAccessibilityRole
AccessibilityRole AccessibilityNodeObject::determineAccessibilityRole()
{
if (!node())
return UnknownRole;
m_ariaRole = determineAriaRoleAttribute();
AccessibilityRole ariaRole = ariaRoleAttribute();
if (ariaRole != UnknownRole)
return ariaRole;
if (node()->isLink())
return WebCoreLinkRole;
if (node()->isTextNode())
return StaticTextRole;
if (node()->hasTagName(buttonTag))
return buttonRoleType();
if (node()->hasTagName(inputTag)) {
HTMLInputElement* input = static_cast<HTMLInputElement*>(node());
if (input->isCheckbox())
return CheckBoxRole;
if (input->isRadioButton())
return RadioButtonRole;
if (input->isTextButton())
return buttonRoleType();
return TextFieldRole;
}
if (node()->hasTagName(selectTag)) {
HTMLSelectElement* selectElement = toHTMLSelectElement(node());
return selectElement->multiple() ? ListRole : PopUpButtonRole;
}
if (node()->isFocusable())
return GroupRole;
return UnknownRole;
}
示例8: checkMultiple
bool RenderThemeQtMobile::checkMultiple(RenderObject* o) const
{
HTMLSelectElement* select = o ? static_cast<HTMLSelectElement*>(o->node()) : 0;
return select ? select->multiple() : false;
}