本文整理汇总了C++中HTMLOptionElement::mutableComputedStyle方法的典型用法代码示例。如果您正苦于以下问题:C++ HTMLOptionElement::mutableComputedStyle方法的具体用法?C++ HTMLOptionElement::mutableComputedStyle怎么用?C++ HTMLOptionElement::mutableComputedStyle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTMLOptionElement
的用法示例。
在下文中一共展示了HTMLOptionElement::mutableComputedStyle方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setTextFromOption
void LayoutMenuList::setTextFromOption(int optionIndex)
{
HTMLSelectElement* select = selectElement();
const HeapVector<Member<HTMLElement>>& listItems = select->listItems();
const int size = listItems.size();
String text = emptyString();
m_optionStyle.clear();
if (selectElement()->multiple()) {
unsigned selectedCount = 0;
int firstSelectedIndex = -1;
for (int i = 0; i < size; ++i) {
Element* element = listItems[i];
if (!isHTMLOptionElement(*element))
continue;
if (toHTMLOptionElement(element)->selected()) {
if (++selectedCount == 1)
firstSelectedIndex = i;
}
}
if (selectedCount == 1) {
ASSERT(0 <= firstSelectedIndex);
ASSERT(firstSelectedIndex < size);
HTMLOptionElement* selectedOptionElement = toHTMLOptionElement(listItems[firstSelectedIndex]);
ASSERT(selectedOptionElement->selected());
text = selectedOptionElement->textIndentedToRespectGroupLabel();
m_optionStyle = selectedOptionElement->mutableComputedStyle();
} else {
Locale& locale = select->locale();
String localizedNumberString = locale.convertToLocalizedNumber(String::number(selectedCount));
text = locale.queryString(WebLocalizedString::SelectMenuListText, localizedNumberString);
ASSERT(!m_optionStyle);
}
} else {
const int i = select->optionToListIndex(optionIndex);
if (i >= 0 && i < size) {
Element* element = listItems[i];
if (isHTMLOptionElement(*element)) {
text = toHTMLOptionElement(element)->textIndentedToRespectGroupLabel();
m_optionStyle = element->mutableComputedStyle();
}
}
}
setText(text.stripWhiteSpace());
didUpdateActiveOption(optionIndex);
}
示例2: updateFromElement
void LayoutMenuList::updateFromElement() {
HTMLSelectElement* select = selectElement();
HTMLOptionElement* option = select->optionToBeShown();
String text = emptyString();
m_optionStyle.clear();
if (select->isMultiple()) {
unsigned selectedCount = 0;
HTMLOptionElement* selectedOptionElement = nullptr;
for (const auto& option : select->optionList()) {
if (option->selected()) {
if (++selectedCount == 1)
selectedOptionElement = option;
}
}
if (selectedCount == 1) {
text = selectedOptionElement->textIndentedToRespectGroupLabel();
m_optionStyle = selectedOptionElement->mutableComputedStyle();
} else {
Locale& locale = select->locale();
String localizedNumberString =
locale.convertToLocalizedNumber(String::number(selectedCount));
text = locale.queryString(WebLocalizedString::SelectMenuListText,
localizedNumberString);
ASSERT(!m_optionStyle);
}
} else {
if (option) {
text = option->textIndentedToRespectGroupLabel();
m_optionStyle = option->mutableComputedStyle();
}
}
setText(text.stripWhiteSpace());
didUpdateActiveOption(option);
}