本文整理汇总了C++中Fl_Tree_Item::usericon方法的典型用法代码示例。如果您正苦于以下问题:C++ Fl_Tree_Item::usericon方法的具体用法?C++ Fl_Tree_Item::usericon怎么用?C++ Fl_Tree_Item::usericon使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fl_Tree_Item
的用法示例。
在下文中一共展示了Fl_Tree_Item::usericon方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assign_user_icons
void Fineline_File_System_Tree::assign_user_icons()
{
static const char *L_folder_xpm[] = {
"11 11 3 1",
". c None",
"x c #d8d833",
"@ c #808011",
"...........",
"[email protected]@@@..",
"[email protected]@.",
"@@@@@[email protected]@",
"@[email protected]",
"@[email protected]",
"@[email protected]",
"@[email protected]",
"@[email protected]",
"@[email protected]",
"@@@@@@@@@@@"};
static Fl_Pixmap L_folderpixmap(L_folder_xpm);
static const char *L_document_xpm[] = {
"11 11 3 1",
". c None",
"x c #d8d8f8",
"@ c #202060",
"[email protected]@@@@@@@@.",
"[email protected]@.",
"[email protected]@.",
"[email protected]@.",
"[email protected]@.",
"[email protected]@.",
"[email protected]@.",
"[email protected]@.",
"[email protected]@.",
"[email protected]@.",
"[email protected]@@@@@@@@."};
static Fl_Pixmap L_documentpixmap(L_document_xpm);
// Assign user icons to tree items
for ( Fl_Tree_Item *item = first(); item; item=item->next())
{
item->usericon(item->has_children() ? &L_folderpixmap : &L_documentpixmap);
}
}
开发者ID:sanyaade-g2g-repos,项目名称:fineline-computer-forensics-timeline-tools,代码行数:45,代码来源:Fineline_File_System_Tree.cpp
示例2: scan_object
static void scan_object(EdbusConnection *conn, EdbusMessage &msg, const char *service, const char *path, ObjectTree *self) {
EdbusMessage reply;
msg.create_method_call(service, path, INTROSPECTABLE_INTERFACE, INTROSPECTABLE_METHOD);
if(!conn->send_with_reply_and_block(msg, 1000, reply)) {
E_WARNING(E_STRLOC ": Did not get reply from service bus. Skipping introspection of '%s' service (object path: '%s')\n", service, path);
return;
}
/* reply must be single element and string, which is xml */
if(reply.size() != 1) {
E_WARNING(E_STRLOC ": Expected only one element, but got '%i'\n", reply.size());
return;
}
EdbusMessage::const_iterator it = reply.begin();
if(!it->is_string()) {
E_WARNING(E_STRLOC ": Expected string in reply, but got some junk\n");
return;
}
TiXmlDocument doc;
char buf[128];
Fl_Tree_Item *titem;
doc.Parse(it->to_string());
TiXmlNode *el = doc.FirstChild("node");
if(!el) return;
for(el = el->FirstChildElement(); el; el = el->NextSibling()) {
/* we have subobjects */
if(STR_CMP_VALUE(el, "node")) {
const char *name = el->ToElement()->Attribute("name");
if(!name) {
E_DEBUG(E_STRLOC ": <node> is expected to have 'name' attribute\n");
continue;
}
/* TODO: maybe use EdbusObjectPath? */
if(strcmp(path, "/") == 0)
snprintf(buf, sizeof(buf), "/%s", name);
else
snprintf(buf, sizeof(buf), "%s/%s", path, name);
titem = self->add(buf);
self->close(titem);
titem->usericon(&image_package);
/* recurse */
scan_object(conn, msg, service, buf, self);
} else if(STR_CMP_VALUE(el, "interface")) {
/* full interface: get methods and properties */
const char *interface_name, *name = el->ToElement()->Attribute("name");
/* remember it for Entity */
interface_name = name;
if(!name) {
E_DEBUG(E_STRLOC ": <interface> is expected to have 'name' attribute\n");
continue;
}
/* append interface to tree */
snprintf(buf, sizeof(buf), "%s/%s", path, name);
titem = self->add(buf);
self->close(titem);
titem->usericon(&image_interface);
/* append methods, signals and properties */
TiXmlNode *sel;
char buf2[256];
Fl_Pixmap *icon;
EntityType et;
for(sel = el->FirstChildElement(); sel; sel = sel->NextSibling()) {
if(STR_CMP_VALUE(sel, "method")) {
icon = &image_method;
et = ENTITY_METHOD;
} else if(STR_CMP_VALUE(sel, "signal")) {
icon = &image_signal;
et = ENTITY_SIGNAL;
} else if(STR_CMP_VALUE(sel, "property")) {
icon = &image_property;
et = ENTITY_PROPERTY;
} else {
E_WARNING(E_STRLOC ": Got unknown node '%s'. Skipping...\n", sel->Value());
continue;
}
/* everything else are common elements between different types */
name = sel->ToElement()->Attribute("name");
snprintf(buf2, sizeof(buf2), "%s/%s", buf, name);
titem = self->add(buf2);
titem->usericon(icon);
self->close(titem);
/* fill our metadata */
Entity *en = new Entity();
en->set_type(et);
en->set_name(name);
en->set_interface(interface_name);
en->set_path(path);
//.........这里部分代码省略.........