本文整理汇总了C++中DomString类的典型用法代码示例。如果您正苦于以下问题:C++ DomString类的具体用法?C++ DomString怎么用?C++ DomString使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DomString类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: xmlFromWidgetBox
// Get XML for a new form from the widget box. Change objectName/geometry
// properties to be suitable for new forms
static QString xmlFromWidgetBox(const QDesignerFormEditorInterface *core, const QString &className, const QString &objectName)
{
typedef QList<DomProperty*> PropertyList;
QDesignerWidgetBoxInterface::Widget widget;
const bool found = QDesignerWidgetBox::findWidget(core->widgetBox(), className, QString(), &widget);
if (!found)
return QString();
QScopedPointer<DomUI> domUI(QDesignerWidgetBox::xmlToUi(className, widget.domXml(), false));
if (domUI.isNull())
return QString();
domUI->setAttributeVersion(QLatin1String("4.0"));
DomWidget *domWidget = domUI->elementWidget();
if (!domWidget)
return QString();
// Properties: Remove the "objectName" property in favour of the name attribute and check geometry.
domWidget->setAttributeName(objectName);
const QString geometryProperty = QLatin1String("geometry");
const QString objectNameProperty = QLatin1String("objectName");
PropertyList properties = domWidget->elementProperty();
for (PropertyList::iterator it = properties.begin(); it != properties.end(); ) {
DomProperty *property = *it;
if (property->attributeName() == objectNameProperty) { // remove "objectName"
it = properties.erase(it);
delete property;
} else {
if (property->attributeName() == geometryProperty) { // Make sure form is at least 400, 300
if (DomRect *geom = property->elementRect()) {
if (geom->elementWidth() < NewFormWidth)
geom->setElementWidth(NewFormWidth);
if (geom->elementHeight() < NewFormHeight)
geom->setElementHeight(NewFormHeight);
}
}
++it;
}
}
// Add a window title property
DomString *windowTitleString = new DomString;
windowTitleString->setText(objectName);
DomProperty *windowTitleProperty = new DomProperty;
windowTitleProperty->setAttributeName(QLatin1String("windowTitle"));
windowTitleProperty->setElementString(windowTitleString);
properties.push_back(windowTitleProperty);
// ------
domWidget->setElementProperty(properties);
// Embed in in DomUI and get string. Omit the version number.
domUI->setElementClass(objectName);
QString rc;
{ // Serialize domUI
QXmlStreamWriter writer(&rc);
writer.setAutoFormatting(true);
writer.setAutoFormattingIndent(1);
writer.writeStartDocument();
domUI->write(writer);
writer.writeEndDocument();
}
return rc;
}
示例2: Q_ASSERT
bool Q3ListBoxExtraInfo::saveWidgetExtraInfo(DomWidget *ui_widget)
{
Q3ListBox *listBox = qobject_cast<Q3ListBox*>(widget());
Q_ASSERT(listBox != 0);
QList<DomItem *> items;
const int childCount = listBox->count();
for (int i = 0; i < childCount; ++i) {
DomItem *item = new DomItem();
QList<DomProperty*> properties;
DomString *str = new DomString();
str->setText(listBox->text(i));
DomProperty *ptext = new DomProperty();
ptext->setAttributeName(QLatin1String("text"));
ptext->setElementString(str);
properties.append(ptext);
item->setElementProperty(properties);
items.append(item);
}
ui_widget->setElementItem(items);
return true;
}
示例3: set_child_string_ns
void DomElement::set_child_string_ns(const DomString &namespace_uri, const DomString &qualified_name, const DomString &value)
{
DomString local_name;
DomString::size_type pos = qualified_name.find(L':');
if (pos != DomString::npos)
local_name = qualified_name.substr(pos + 1);
else
local_name = qualified_name;
DomElement element = named_item_ns(namespace_uri, local_name).to_element();
if (element.is_null())
{
element = get_owner_document().create_element_ns(namespace_uri, qualified_name);
append_child(element);
}
DomText dom_text = get_owner_document().create_text_node(value);
if (element.get_first_child().is_text())
{
DomNode temp_domnode = element.get_first_child();
replace_child(dom_text, temp_domnode);
}
else
{
element.append_child(dom_text);
}
}
示例4: DomItem
DomItem *Q3ListViewExtraInfo::saveQ3ListViewItem(Q3ListViewItem *item) const
{
DomItem *pitem = new DomItem();
QList<DomProperty *> properties;
const int columnCount = static_cast<Q3ListView*>(widget())->columns();
for (int i = 0; i < columnCount; ++i) {
DomString *str = new DomString();
str->setText(item->text(i));
DomProperty *ptext = new DomProperty();
ptext->setAttributeName(QLatin1String("text"));
ptext->setElementString(str);
properties.append(ptext);
}
pitem->setElementProperty(properties);
QList<DomItem *> items;
Q3ListViewItem *child = item->firstChild();
while (child) {
items.append(saveQ3ListViewItem(child));
child = child->nextSibling();
}
pitem->setElementItem(items);
return pitem;
}
示例5: get_child_string_ns
int DomElement::get_child_int_ns(const DomString &namespace_uri, const DomString &local_name, int default_value) const
{
DomString value = get_child_string_ns(namespace_uri, local_name);
if (!value.empty())
return StringHelp::text_to_int(value);
else
return default_value;
}
示例6: get_attribute_ns
float DomElement::get_attribute_float_ns(const DomString &namespace_uri, const DomString &local_name, float default_value) const
{
DomString value = get_attribute_ns(namespace_uri, local_name);
if (!value.empty())
return StringHelp::text_to_float(value);
else
return default_value;
}
示例7: get_attribute
float DomElement::get_attribute_float(const DomString &name, float default_value) const
{
DomString value = get_attribute(name);
if (!value.empty())
return StringHelp::text_to_float(value);
else
return default_value;
}
示例8: get_child_string
int DomElement::get_child_int(const DomString &name, int default_value) const
{
DomString value = get_child_string(name);
if (!value.empty())
return StringHelp::text_to_int(value);
else
return default_value;
}
示例9: insert_data
void DomCharacterData::insert_data(unsigned long offset, const DomString &arg)
{
if (impl)
{
DomString value = impl->get_tree_node()->get_node_value();
if (offset > value.length())
offset = value.length();
impl->get_tree_node()->node_value = value.substr(0, offset) + arg + value.substr(offset);
}
}
示例10: has_feature
bool DomImplementation::has_feature(
const DomString &feature,
const DomString &version)
{
if (StringHelp::compare(feature, "xml") == 0 && (version == "1.0" || version.empty()))
return true;
if (StringHelp::compare(feature, "xml") == 0 && (version == "2.0" || version.empty()))
return true;
return false;
}
示例11: Q_ASSERT
bool Q3ListViewExtraInfo::saveWidgetExtraInfo(DomWidget *ui_widget)
{
// ### finish me
Q3ListView *listView = qobject_cast<Q3ListView*>(widget());
Q_ASSERT(listView != 0);
QList<DomColumn*> columns;
Q3Header *header = listView->header();
for (int i=0; i<header->count(); ++i) {
DomColumn *c = new DomColumn();
QList<DomProperty*> properties;
DomString *str = new DomString();
str->setText(header->label(i));
DomProperty *ptext = new DomProperty();
ptext->setAttributeName(QLatin1String("text"));
ptext->setElementString(str);
DomProperty *pclickable = new DomProperty();
pclickable->setAttributeName(QLatin1String("clickable"));
pclickable->setElementBool(header->isClickEnabled(i) ? QLatin1String("true") : QLatin1String("false"));
DomProperty *presizable = new DomProperty();
presizable->setAttributeName(QLatin1String("resizable"));
presizable->setElementBool(header->isResizeEnabled(i) ? QLatin1String("true") : QLatin1String("false"));
properties.append(ptext);
properties.append(pclickable);
properties.append(presizable);
c->setElementProperty(properties);
columns.append(c);
}
ui_widget->setElementColumn(columns);
QList<DomItem *> items;
Q3ListViewItem *child = listView->firstChild();
while (child) {
items.append(saveQ3ListViewItem(child));
child = child->nextSibling();
}
ui_widget->setElementItem(items);
return true;
}
示例12: Q_ASSERT
bool Q3IconViewExtraInfo::saveWidgetExtraInfo(DomWidget *ui_widget)
{
// ### finish me
Q3IconView *iconView = qobject_cast<Q3IconView*>(widget());
Q_ASSERT(iconView != 0);
QList<DomItem*> ui_items;
Q3IconViewItem *__item = iconView->firstItem();
while (__item != 0) {
DomItem *ui_item = new DomItem();
QList<DomProperty*> properties;
// text property
DomProperty *ptext = new DomProperty();
DomString *str = new DomString();
str->setText(__item->text());
ptext->setAttributeName(QLatin1String("text"));
ptext->setElementString(str);
properties.append(ptext);
ui_item->setElementProperty(properties);
ui_items.append(ui_item);
if (__item->pixmap() != 0 && core()->iconCache()) {
QPixmap pix = *__item->pixmap();
QString filePath = core()->iconCache()->pixmapToFilePath(pix);
QString qrcPath = core()->iconCache()->pixmapToQrcPath(pix);
DomResourcePixmap *ui_pix = new DomResourcePixmap();
if (!qrcPath.isEmpty())
ui_pix->setAttributeResource(qrcPath);
ui_pix->setText(filePath);
DomProperty *ppix = new DomProperty();
ppix->setAttributeName(QLatin1String("pixmap"));
ppix->setElementPixmap(ui_pix);
properties.append(ppix);
}
__item = __item->nextItem();
}
ui_widget->setElementItem(ui_items);
return true;
}
示例13: xmlns_prefix
DomString DomNode::find_namespace_uri(const DomString &qualified_name) const
{
static DomString xmlns_prefix("xmlns:");
static DomString xmlns_xml("xml");
static DomString xmlns_xml_uri("http://www.w3.org/XML/1998/namespace");
static DomString xmlns_xmlns("xmlns");
static DomString xmlns_xmlns_uri("http://www.w3.org/2000/xmlns/");
DomString prefix;
DomString::size_type pos = qualified_name.find(':');
if (pos != DomString::npos)
prefix = qualified_name.substr(0, pos);
if (prefix == xmlns_xml)
return xmlns_xml;
else if (prefix == xmlns_xmlns || qualified_name == xmlns_xmlns)
return xmlns_xmlns;
DomDocument_Impl *doc_impl = (DomDocument_Impl *)impl->owner_document.lock().get();
const DomTreeNode *cur = impl->get_tree_node();
while (cur)
{
const DomTreeNode *cur_attr = cur->get_first_attribute(doc_impl);
while (cur_attr)
{
std::string node_name = cur_attr->get_node_name();
if (prefix.empty())
{
if (node_name == xmlns_xmlns)
return cur_attr->get_node_value();
}
else
{
if (node_name.substr(0, 6) == xmlns_prefix && node_name.substr(6) == prefix)
return cur_attr->get_node_value();
}
cur_attr = cur_attr->get_next_sibling(doc_impl);
}
cur = cur->get_parent(doc_impl);
}
return DomString();
}
示例14: is_supported
bool DomNode::is_supported(
const DomString &feature,
const DomString &version) const
{
if (StringHelp::compare(feature, "xml") == 0)
{
if (version.empty() || version == "1.0" || version == "2.0")
return true;
}
return false;
}
示例15: DomString
void DomCharacterData::delete_data(unsigned long offset, unsigned long count)
{
if (impl)
{
DomString value = impl->get_tree_node()->get_node_value();
if (offset > value.length())
offset = value.length();
if (offset + count > value.length())
count = value.length() - offset;
if (count == 0)
return;
if (count < value.length())
{
value = value.substr(0, offset) + value.substr(offset + count);
}
else
{
value = DomString();
}
impl->get_tree_node()->node_value = value;
}
}