本文整理汇总了C++中core::Element::SetProperty方法的典型用法代码示例。如果您正苦于以下问题:C++ Element::SetProperty方法的具体用法?C++ Element::SetProperty怎么用?C++ Element::SetProperty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类core::Element
的用法示例。
在下文中一共展示了Element::SetProperty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddOption
// Adds a new option to the select control.
int WidgetDropDown::AddOption(const Rocket::Core::String& rml, const Rocket::Core::String& value, int before, bool select, bool selectable)
{
// Instance a new element for the option.
Core::Element* element = Core::Factory::InstanceElement(selection_element, "*", "option", Rocket::Core::XMLAttributes());
// Force to block display and inject the RML. Register a click handler so we can be notified of selection.
element->SetProperty("display", "block");
element->SetProperty("clip", "auto");
element->SetInnerRML(rml);
element->AddEventListener("click", this);
int option_index;
if (before < 0 ||
before >= (int) options.size())
{
selection_element->AppendChild(element);
options.push_back(SelectOption(element, value, selectable));
option_index = (int) options.size() - 1;
}
else
{
selection_element->InsertBefore(element, selection_element->GetChild(before));
options.insert(options.begin() + before, SelectOption(element, value, selectable));
option_index = before;
}
element->RemoveReference();
// Select the option if appropriate.
if (select)
SetSelection(option_index);
box_layout_dirty = true;
return option_index;
}
示例2: ProcessEvent
void ElementInfo::ProcessEvent(Core::Event& event)
{
Core::ElementDocument::ProcessEvent(event);
// Only process events if we're visible
if (IsVisible())
{
if (event == "click")
{
Core::Element* target_element = event.GetTargetElement();
// Deal with clicks on our own elements differently.
if (target_element->GetOwnerDocument() == this)
{
// If it's a pane title, then we need to toggle the visibility of its sibling (the contents pane underneath it).
if (target_element->GetTagName() == "h2")
{
Core::Element* panel = target_element->GetNextSibling();
if (panel->IsVisible())
panel->SetProperty("display", "none");
else
panel->SetProperty("display", "block");
event.StopPropagation();
}
else if (event.GetTargetElement()->GetId() == "close_button")
{
if (IsVisible())
SetProperty("visibility", "hidden");
}
// Check if the id is in the form "a %d" or "c %d" - these are the ancestor or child labels.
else
{
int element_index;
if (sscanf(target_element->GetId().CString(), "a %d", &element_index) == 1)
{
Core::Element* new_source_element = source_element;
for (int i = 0; i < element_index; i++)
{
if (new_source_element != NULL)
new_source_element = new_source_element->GetParentNode();
}
SetSourceElement(new_source_element);
}
else if (sscanf(target_element->GetId().CString(), "c %d", &element_index) == 1)
{
if (source_element != NULL)
SetSourceElement(source_element->GetChild(element_index));
}
event.StopPropagation();
}
}
// Otherwise we just want to focus on the clicked element (unless it's on a debug element)
else if (target_element->GetOwnerDocument() != NULL && !IsDebuggerElement(target_element))
{
Core::Element* new_source_element = target_element;
if (new_source_element != source_element)
{
SetSourceElement(new_source_element);
event.StopPropagation();
}
}
}
else if (event == "mouseover")
{
Core::Element* target_element = event.GetTargetElement();
// Deal with clicks on our own elements differently.
Core::ElementDocument* owner_document = target_element->GetOwnerDocument();
if (owner_document == this)
{
// Check if the id is in the form "a %d" or "c %d" - these are the ancestor or child labels.
int element_index;
if (sscanf(target_element->GetId().CString(), "a %d", &element_index) == 1)
{
hover_element = source_element;
for (int i = 0; i < element_index; i++)
{
if (hover_element != NULL)
hover_element = hover_element->GetParentNode();
}
}
else if (sscanf(target_element->GetId().CString(), "c %d", &element_index) == 1)
{
if (source_element != NULL)
hover_element = source_element->GetChild(element_index);
}
}
// Otherwise we just want to focus on the clicked element (unless it's on a debug element)
else if (owner_document != NULL && owner_document->GetId().Find("rkt-debug-") != 0)
{
hover_element = target_element;
}
}
}
}