本文整理汇总了C++中dom::DOMString类的典型用法代码示例。如果您正苦于以下问题:C++ DOMString类的具体用法?C++ DOMString怎么用?C++ DOMString使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DOMString类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: recomputeNamespaceInfo
void CSSStyleSheetImpl::recomputeNamespaceInfo()
{
assert(!m_namespaces);
m_namespaces = new QList<CSSNamespaceRuleImpl *>;
m_defaultNamespace = NamespaceName::fromId(anyNamespace);
// Compute list of all the @namespace nodes, as well as the default one.
for (int i = 0; i < m_lstChildren->count(); ++i) {
StyleBaseImpl *b = m_lstChildren->at(i);
if (b->isRule() && static_cast<CSSRuleImpl *>(b)->type() == DOM::CSSRule::NAMESPACE_RULE) {
CSSNamespaceRuleImpl *nr = static_cast<CSSNamespaceRuleImpl *>(b);
DOM::DOMString prefix = nr->prefix();
DOM::DOMString uri = nr->namespaceURI();
if (uri.isNull()) {
continue;
}
if (nr->isDefault()) {
m_defaultNamespace = NamespaceName::fromString(uri);
}
m_namespaces->append(nr);
}
}
}
示例2: tryGet
Value DOMCSSStyleDeclaration::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMCSSStyleDeclaration::tryGet " << propertyName.qstring() << endl;
#endif
const HashEntry *entry = Lookup::findEntry(&DOMCSSStyleDeclarationTable, propertyName);
if(entry)
switch(entry->value)
{
case CssText:
return String(styleDecl.cssText());
case Length:
return Number(styleDecl.length());
case ParentRule:
return getDOMCSSRule(exec, styleDecl.parentRule());
default:
break;
}
// Look in the prototype (for functions) before assuming it's a name
Object proto = Object::dynamicCast(prototype());
if(proto.isValid() && proto.hasProperty(exec, propertyName))
return proto.get(exec, propertyName);
bool ok;
long unsigned int u = propertyName.toULong(&ok);
if(ok)
return String(DOM::CSSStyleDeclaration(styleDecl).item(u));
// pixelTop returns "CSS Top" as number value in unit pixels
// posTop returns "CSS top" as number value in unit pixels _if_ its a
// positioned element. if it is not a positioned element, return 0
// from MSIE documentation ### IMPLEMENT THAT (Dirk)
bool asNumber;
QString p = cssPropertyName(propertyName, asNumber);
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMCSSStyleDeclaration: converting to css property name: " << p << (asNumber ? "px" : "") << endl;
#endif
if(asNumber)
{
DOM::CSSValue v = styleDecl.getPropertyCSSValue(p);
if(!v.isNull() && v.cssValueType() == DOM::CSSValue::CSS_PRIMITIVE_VALUE)
return Number(static_cast< DOM::CSSPrimitiveValue >(v).getFloatValue(DOM::CSSPrimitiveValue::CSS_PX));
}
DOM::DOMString str = const_cast< DOM::CSSStyleDeclaration & >(styleDecl).getPropertyValue(p);
if(!str.isNull())
return String(str);
// see if we know this css property, return empty then
if(DOM::getPropertyID(p.latin1(), p.length()))
return String(DOM::DOMString(""));
return DOMObject::tryGet(exec, propertyName);
}
示例3: attach
UString::UString(const DOM::DOMString &d)
{
if (d.isNull()) {
attach(&Rep::null);
return;
}
unsigned int len = d.length();
UChar *dat = new UChar[len];
memcpy(dat, d.unicode(), len * sizeof(UChar));
rep = UString::Rep::create(dat, len);
}
示例4: addNamespace
void CSSStyleSheetImpl::addNamespace(CSSParser* p, const DOM::DOMString& prefix, const DOM::DOMString& uri)
{
if (uri.isEmpty())
return;
m_namespaces = new CSSNamespace(prefix, uri, m_namespaces);
if (prefix.isEmpty())
// Set the default namespace on the parser so that selectors that omit namespace info will
// be able to pick it up easily.
p->defaultNamespace = XmlNamespaceTable::getNamespaceID(uri, false);
}
示例5: setMediaText
void MediaListImpl::setMediaText(const DOM::DOMString &value)
{
m_lstMedia.clear();
QString val = value.string();
QStringList list = QStringList::split( ',', value.string() );
for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
{
DOMString medium = (*it).stripWhiteSpace();
if( medium != "" )
m_lstMedia.append( medium );
}
}
示例6: addNamespace
void CSSStyleSheetImpl::addNamespace(CSSParser* p, const DOM::DOMString& prefix, const DOM::DOMString& uri)
{
int exceptioncode = 0;
if (uri.isEmpty())
return;
m_namespaces = new CSSNamespace(prefix, uri, m_namespaces);
if (prefix.isEmpty()) {
Q_ASSERT(m_doc != 0);
m_defaultNamespace = m_doc->getId(NodeImpl::NamespaceId, uri.implementation(), false, false, &exceptioncode);
}
}
示例7: toggle
void MetabarFunctions::toggle(DOM::DOMString item)
{
DOM::HTMLDocument doc = m_html->htmlDocument();
DOM::HTMLElement node = static_cast<DOM::HTMLElement>(doc.getElementById(item));
if(!node.isNull()) {
DOM::NodeList children = node.childNodes();
DOM::CSSStyleDeclaration style = node.style();
DOM::DOMString expanded = node.getAttribute("expanded");
bool isExpanded = expanded == "true";
int height = 0;
if(!isExpanded) {
height = getHeight(node);
}
DOM::DOMString att = isExpanded ? "false" : "true";
node.setAttribute("expanded", att);
KConfig config("metabarrc");
config.setGroup("General");
if(config.readBoolEntry("AnimateResize", false)) {
resizeMap[item.string()] = height;
if(!timer->isActive()) {
timer->start(RESIZE_SPEED);
}
}
else {
style.setProperty("height", QString("%1px").arg(height), CSS_PRIORITY);
}
}
}
示例8: getString
KJSO KJS::getString(DOM::DOMString s)
{
if (s.isNull())
return Null();
else
return String(s);
}
示例9: attach
UString::UString(const DOM::DOMString &d)
{
if(d.isNull())
{
// we do a conversion here as null DOMStrings shouldn't cross
// the boundary to kjs. They should either be empty strings
// or explicitly converted to KJS::Null via getString().
attach(&Rep::empty);
return;
}
unsigned int len = d.length();
UChar *dat = new UChar[len];
memcpy(dat, d.unicode(), len * sizeof(UChar));
rep = UString::Rep::create(dat, len);
}
示例10: to_lower_case_ascii
inline void to_lower_case_ascii(dom::DOMString &s)
{
typedef dom::DOMString::const_iterator iter;
typedef dom::DOMString::value_type char_type;
typedef dom::DOMString::traits_type traits;
iter const b = s.begin();
iter const e = s.end();
iter i = b;
traits::int_type v;
for (;;) {
if (i == e) return; // Nothing needs to be done
v = traits::to_int_type(*i);
if (0x7F < v) {
s = dom::to_lower_case(s); // Full Unicode upper casing
return;
}
if (0x41 <= v && v <= 0x5A) break; // Detect upper case ASCII
++i;
}
dom::DOMString s2;
s2.reserve(s.size());
s2.append(b, i);
s2.append(1, traits::to_char_type(v + 0x20)); // Convert detected character
for (;;) {
if (++i == e) break;
char_type c = *i;
v = traits::to_int_type(c);
if (0x7F < v) {
s = dom::to_lower_case(s); // Full Unicode upper casing
return;
}
if (0x41 <= v && v <= 0x5A) c = traits::to_char_type(v + 0x20);
s2.append(1, c);
}
s = s2;
}
示例11: setMediaText
void MediaListImpl::setMediaText(const DOM::DOMString &value)
{
m_lstMedia.clear();
const QString val = value.string();
const QStringList list = QStringList::split( ',', val );
const QStringList::ConstIterator itEnd = list.end();
for ( QStringList::ConstIterator it = list.begin(); it != itEnd; ++it )
{
const DOMString medium = (*it).stripWhiteSpace();
if( !medium.isEmpty() )
m_lstMedia.append( medium );
}
}
示例12: initializeCSSInfoFromElement
void DOMTreeView::initializeCSSInfoFromElement(const DOM::Element &element)
{
DOM::Document doc = element.ownerDocument();
DOM::AbstractView view = doc.defaultView();
DOM::CSSStyleDeclaration styleDecl = view.getComputedStyle(element,
DOM::DOMString());
unsigned long l = styleDecl.length();
cssProperties->clear();
cssProperties->setEnabled(true);
QList<QTreeWidgetItem *> items;
for (unsigned long i = 0; i < l; ++i) {
DOM::DOMString name = styleDecl.item(i);
DOM::DOMString value = styleDecl.getPropertyValue(name);
QStringList values;
values.append(name.string());
values.append(value.string());
items.append(new QTreeWidgetItem(static_cast<QTreeWidget*>(0), values));
}
cssProperties->insertTopLevelItems(0, items);
cssProperties->resizeColumnToContents(0);
}
示例13: determineNamespace
void CSSStyleSheetImpl::determineNamespace(Q_UINT32& id, const DOM::DOMString& prefix)
{
// If the stylesheet has no namespaces we can just return. There won't be any need to ever check
// namespace values in selectors.
if (!m_namespaces)
return;
if (prefix.isEmpty())
id = makeId(noNamespace, localNamePart(id)); // No namespace. If an element/attribute has a namespace, we won't match it.
else if (prefix == "*")
id = makeId(anyNamespace, localNamePart(id)); // We'll match any namespace.
else {
CSSNamespace* ns = m_namespaces->namespaceForPrefix(prefix);
if (ns)
// Look up the id for this namespace URI.
id = makeId(XmlNamespaceTable::getNamespaceID(ns->uri(), false), localNamePart(id));
}
}
示例14: determineNamespace
void CSSStyleSheetImpl::determineNamespace(NamespaceName &namespacename, const DOM::DOMString &prefix)
{
if (prefix.isEmpty()) {
namespacename = NamespaceName::fromId(emptyNamespace); // No namespace. If an element/attribute has a namespace, we won't match it.
} else if (prefix == "*") {
namespacename = NamespaceName::fromId(anyNamespace); // We'll match any namespace.
} else {
if (!m_namespaces) {
recomputeNamespaceInfo();
}
// To lookup the name, we go backwards, so the latest one wins
for (int p = m_namespaces->count() - 1; p >= 0; --p) {
CSSNamespaceRuleImpl *ns = m_namespaces->at(p);
if (ns->prefix() == prefix) {
namespacename = NamespaceName::fromString(ns->namespaceURI());
return;
}
}
}
}
示例15: determineNamespace
void CSSStyleSheetImpl::determineNamespace(Q_UINT32& id, const DOM::DOMString& prefix)
{
// If the stylesheet has no namespaces we can just return. There won't be any need to ever check
// namespace values in selectors.
if (!m_namespaces)
return;
if (prefix.isEmpty())
id = makeId(emptyNamespace, localNamePart(id)); // No namespace. If an element/attribute has a namespace, we won't match it.
else if (prefix == "*")
id = makeId(anyNamespace, localNamePart(id)); // We'll match any namespace.
else {
int exceptioncode = 0;
CSSNamespace* ns = m_namespaces->namespaceForPrefix(prefix);
if (ns) {
Q_ASSERT(m_doc != 0);
// Look up the id for this namespace URI.
Q_UINT16 nsid = m_doc->getId(NodeImpl::NamespaceId, 0, 0, ns->uri().implementation(), false, false, &exceptioncode);
id = makeId(nsid, localNamePart(id));
}
}
}