本文整理汇总了C++中HTMLOptGroupElement类的典型用法代码示例。如果您正苦于以下问题:C++ HTMLOptGroupElement类的具体用法?C++ HTMLOptGroupElement怎么用?C++ HTMLOptGroupElement使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了HTMLOptGroupElement类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: disabledAttrGetter
static v8::Handle<v8::Value> disabledAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
INC_STATS("DOM.HTMLOptGroupElement.disabled._get");
HTMLOptGroupElement* imp = V8HTMLOptGroupElement::toNative(info.Holder());
if (!R_check(imp)) return v8::Handle<v8::Value>(v8::Undefined());
return v8Boolean(imp->hasAttribute(WebCore::HTMLNames::disabledAttr));
}
示例2: switch
void JSHTMLOptGroupElement::putValueProperty(ExecState* exec, int token, JSValue* value)
{
switch (token) {
case DisabledAttrNum: {
HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(impl());
imp->setDisabled(value->toBoolean(exec));
break;
}
case LabelAttrNum: {
HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(impl());
imp->setLabel(valueToStringWithNullCheck(exec, value));
break;
}
}
}
示例3: addProperty
void PopupMenuImpl::addOptGroup(HTMLOptGroupElement& element, bool enableExtraStyling, SharedBuffer* data)
{
PagePopupClient::addString("{\n", data);
PagePopupClient::addString("type: \"optgroup\",\n", data);
addProperty("label", element.groupLabelText(), data);
addProperty("title", element.title(), data);
addProperty("ariaLabel", element.fastGetAttribute(HTMLNames::aria_labelAttr), data);
addProperty("disabled", element.isDisabledFormControl(), data);
addElementStyle(element, enableExtraStyling, data);
PagePopupClient::addString("children: [", data);
for (HTMLElement& child : Traversal<HTMLElement>::childrenOf(element)) {
if (isHTMLOptionElement(child))
addOption(toHTMLOptionElement(child), enableExtraStyling, data);
if (isHTMLOptGroupElement(child))
addOptGroup(toHTMLOptGroupElement(child), enableExtraStyling, data);
if (isHTMLHRElement(child))
addSeparator(toHTMLHRElement(child), enableExtraStyling, data);
}
PagePopupClient::addString("],\n", data);
PagePopupClient::addString("},\n", data);
}
示例4: addProperty
void PopupMenuImpl::addOptGroup(ItemIterationContext& context, HTMLOptGroupElement& element)
{
SharedBuffer* data = context.m_buffer;
++context.m_listIndex;
PagePopupClient::addString("{\n", data);
PagePopupClient::addString("type: \"optgroup\",\n", data);
addProperty("label", element.groupLabelText(), data);
addProperty("title", element.title(), data);
addProperty("ariaLabel", element.fastGetAttribute(HTMLNames::aria_labelAttr), data);
addProperty("disabled", element.isDisabledFormControl(), data);
addElementStyle(context, element);
PagePopupClient::addString("children: [", data);
for (HTMLElement& child : Traversal<HTMLElement>::childrenOf(element)) {
if (isHTMLOptionElement(child))
addOption(context, toHTMLOptionElement(child));
// TODO(tkent): Ignore nested OPTGROUP. crbug.com/502101.
if (isHTMLOptGroupElement(child))
addOptGroup(context, toHTMLOptGroupElement(child));
if (isHTMLHRElement(child))
addSeparator(context, toHTMLHRElement(child));
}
PagePopupClient::addString("],\n", data);
PagePopupClient::addString("},\n", data);
}
示例5: HTMLOptGroupElement
HTMLOptGroupElement* HTMLOptGroupElement::create(Document& document) {
HTMLOptGroupElement* optGroupElement = new HTMLOptGroupElement(document);
optGroupElement->ensureUserAgentShadowRoot();
return optGroupElement;
}
示例6: updateFromElement
void DeprecatedRenderSelect::updateFromElement()
{
m_ignoreSelectEvents = true;
// change widget type
bool oldMultiple = m_multiple;
m_multiple = static_cast<HTMLSelectElement*>(node())->multiple();
if (oldMultiple != m_multiple) {
static_cast<ListBox*>(m_widget)->setSelectionMode(m_multiple ? ListBox::Extended : ListBox::Single);
m_selectionChanged = true;
m_optionsChanged = true;
}
// update contents listbox/combobox based on options in m_element
if (m_optionsChanged) {
static_cast<HTMLSelectElement*>(node())->recalcListItems();
const Vector<HTMLElement*>& listItems = static_cast<HTMLSelectElement*>(node())->listItems();
int listIndex;
static_cast<ListBox*>(m_widget)->clear();
bool groupEnabled = true;
for (listIndex = 0; listIndex < int(listItems.size()); listIndex++) {
if (listItems[listIndex]->hasTagName(optgroupTag)) {
HTMLOptGroupElement* optgroupElement = static_cast<HTMLOptGroupElement*>(listItems[listIndex]);
DeprecatedString label = optgroupElement->getAttribute(labelAttr).deprecatedString();
label.replace('\\', backslashAsCurrencySymbol());
// In WinIE, an optgroup can't start or end with whitespace (other than the indent
// we give it). We match this behavior.
label = label.stripWhiteSpace();
// We want to collapse our whitespace too. This will match other browsers.
label = label.simplifyWhiteSpace();
groupEnabled = optgroupElement->isEnabled();
static_cast<ListBox*>(m_widget)->appendGroupLabel(label, groupEnabled);
} else if (listItems[listIndex]->hasTagName(optionTag)) {
HTMLOptionElement* optionElement = static_cast<HTMLOptionElement*>(listItems[listIndex]);
DeprecatedString itemText = optionElement->text().deprecatedString();
if (itemText.isEmpty())
itemText = optionElement->getAttribute(labelAttr).deprecatedString();
itemText.replace('\\', backslashAsCurrencySymbol());
// In WinIE, leading and trailing whitespace is ignored in options. We match this behavior.
itemText = itemText.stripWhiteSpace();
// We want to collapse our whitespace too. This will match other browsers.
itemText = itemText.simplifyWhiteSpace();
if (listItems[listIndex]->parentNode()->hasTagName(optgroupTag))
itemText.prepend(" ");
static_cast<ListBox*>(m_widget)->appendItem(itemText, groupEnabled && optionElement->isEnabled());
} else
ASSERT(false);
m_selectionChanged = true;
}
static_cast<ListBox*>(m_widget)->doneAppendingItems();
setNeedsLayoutAndMinMaxRecalc();
m_optionsChanged = false;
}
// update selection
if (m_selectionChanged)
updateSelection();
m_ignoreSelectEvents = false;
RenderFormElement::updateFromElement();
}
示例7: setJSHTMLOptGroupElementLabel
void setJSHTMLOptGroupElementLabel(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(static_cast<JSHTMLOptGroupElement*>(thisObject)->impl());
imp->setLabel(valueToStringWithNullCheck(exec, value));
}
示例8: setJSHTMLOptGroupElementDisabled
void setJSHTMLOptGroupElementDisabled(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(static_cast<JSHTMLOptGroupElement*>(thisObject)->impl());
imp->setDisabled(value.toBoolean(exec));
}