本文整理汇总了C++中dom::Element::setAttribute方法的典型用法代码示例。如果您正苦于以下问题:C++ Element::setAttribute方法的具体用法?C++ Element::setAttribute怎么用?C++ Element::setAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dom::Element
的用法示例。
在下文中一共展示了Element::setAttribute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setMove
void Textual::setMove(const Index& index, int turn, const DecoratedMove& move,
const QString& comment) {
//kDebug() << "i= " << index;
DOM::HTMLDocument document = htmlDocument();
QString istr = (QString)index;
DOM::Element this_mv = document.getElementById("mv_"+istr);
DOM::Element this_cm = document.getElementById("cm_"+istr);
if(!this_mv.isNull() && !this_cm.isNull()) {
clear_node(this_mv);
for(int i=0;i<move.size();i++) {
DOM::Text t = document.createTextNode(move[i].m_string);
this_mv.appendChild(t);
}
clear_node(this_cm);
if(!comment.isEmpty()) {
this_cm.appendChild(document.createTextNode(comment));
this_cm.appendChild(document.createTextNode(QString(" ")));
}
return;
}
DOM::Element parent;
DOM::Element prev_mv;
DOM::Element prev_cm;
if(index != Index(0)) {
prev_cm = document.getElementById("cm_"+index.prev());
prev_mv = document.getElementById("mv_"+index.prev());
if(prev_cm.isNull() || prev_mv.isNull()) {
kDebug() << " --> Error in Textual::setMove, no previous move!";
return;
}
}
int mv_num = 0;
int sub_mv_num = 0;
if(!prev_mv.isNull()) {
int prev_turn = prev_mv.getAttribute("turn").string().toInt();
int prev_mv_num = prev_mv.getAttribute("mvnum").string().toInt();
int prev_sub_mv_num = prev_mv.getAttribute("submvnum").string().toInt();
if(prev_turn != turn)
mv_num = prev_mv_num+1;
else {
mv_num = prev_mv_num;
sub_mv_num = prev_sub_mv_num+1;
}
}
if(!index.nested.size()) {
parent = document.body();
if(parent.isNull()) {
kDebug() << "QUEEEEEEEEE!!!!!!!";
return;
}
}
else if(index.atVariationStart()) {
QString var_id = "vc_" + istr;
DOM::Element add_before = prev_cm.nextSibling();
while(!add_before.isNull()) {
QString id = add_before.getAttribute("id").string();
if(id.startsWith("vc_") && id < var_id)
add_before = add_before.nextSibling();
else
break;
}
DOM::Element var_el = document.createElement("span");
var_el.setAttribute("id", var_id);
var_el.setAttribute("class", "variation");
var_el.appendChild(document.createTextNode("[ "));
parent = document.createElement("span");
parent.setAttribute("id", "vr_" + istr);
DOM::Element vk_el = document.createElement("span");
vk_el.setAttribute("id", "vk_" + istr);
vk_el.setAttribute("class", "comment");
//vk_el.setContentEditable(true);
parent.appendChild(vk_el);
var_el.appendChild(parent);
var_el.appendChild(document.createTextNode("] "));
prev_cm.parentNode().insertBefore(var_el, add_before);
if(!add_before.isNull() && add_before.getAttribute("id").string().startsWith("mv_")) {
int mv_num = add_before.getAttribute("mvnum").string().toInt();
int sub_mv_num = add_before.getAttribute("submvnum").string().toInt();
QString num_str;
if(m_layout_style == 0) {
if(mv_num%2)
num_str = QString("%1. ").arg((mv_num+1)/2);
else
num_str = QString("%1. ... ").arg((mv_num+2)/2);
}
else {
if(sub_mv_num==0)
//.........这里部分代码省略.........