本文整理汇总了C++中BrowserNode::takeItem方法的典型用法代码示例。如果您正苦于以下问题:C++ BrowserNode::takeItem方法的具体用法?C++ BrowserNode::takeItem怎么用?C++ BrowserNode::takeItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BrowserNode
的用法示例。
在下文中一共展示了BrowserNode::takeItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: tool_cmd
//.........这里部分代码省略.........
get_data()->modified();
}
}
com->write_ack(TRUE);
}
break;
case setOpenCmd:
BrowserView::select(this);
setOpen(*args);
com->write_ack(TRUE);
break;
case setMarkedCmd:
if (*args) {
if (this == BrowserView::get_project())
com->write_ack(FALSE);
else {
if (!is_marked)
toggle_mark();
com->write_ack(TRUE);
}
}
else {
if (is_marked)
toggle_mark();
com->write_ack(TRUE);
}
break;
case moveAfterCmd:
if (is_read_only && !root_permission())
com->write_ack(FALSE);
else {
BrowserNode * p = (BrowserNode *) parent();
BrowserNode * after = (BrowserNode *) com->get_id(args);
if (after == 0) {
if (p == 0)
com->write_ack(FALSE);
else {
p->takeItem(this);
p->insertItem(this);
com->write_ack(TRUE);
p->package_modified();
}
}
else if ((after->parent() != p) ||
(after == this)) {
com->write_ack(FALSE);
}
else {
moveItem(after);
com->write_ack(TRUE);
p->package_modified();
}
}
break;
case moveInCmd:
// plug-out upgrade, limited checks
if (is_read_only && !root_permission())
com->write_ack(FALSE);
else {
BrowserNode * newparent = (BrowserNode *) com->get_id(args);
BrowserNode * oldparent = (BrowserNode *) parent();
if ((newparent == oldparent) || (newparent == this)) {
com->write_ack(FALSE);
}
else {
oldparent->takeItem(this);
newparent->insertItem(this);
com->write_ack(TRUE);
oldparent->package_modified();
newparent->package_modified();
}
}
break;
case old_deleteCmd:
case deleteCmd:
if (is_read_only && !root_permission())
com->write_ack(FALSE);
else {
delete_it();
((BrowserNode *) parent())->get_data()->modified();
package_modified();
com->write_ack(TRUE);
}
break;
case applyStereotypeCmd:
if (is_read_only && !root_permission())
com->write_ack(FALSE);
else {
ProfiledStereotypes::applyStereotype(this); // call package_modified() if needed
com->write_ack(TRUE);
}
break;
default:
return FALSE;
}
return TRUE;
}