コード例 #1
0
ファイル: navi.cpp プロジェクト: yborisovstc/fap2-studio-gtk
bool HierTreeMdl::iter_parent_vfunc(const iterator& child, iterator& iter) const
{
    bool res = false;
    bool valid = IsIterValid(child);
    if (valid) {
	Elem* comp = (Elem*) child.gobj()->user_data;
	if (comp->GetMan() != NULL) {
	    iter.set_stamp(iStamp);
	    iter.gobj()->user_data = comp->GetMan();
	    res = true;
	}
    }
    return res;
}
コード例 #2
0
ファイル: navi.cpp プロジェクト: yborisovstc/fap2-studio-gtk
Gtk::TreeModel::Path HierTreeMdl::get_path_vfunc(const iterator& iter) const
{
    Path path;
    Elem* mgr = NULL;
    Elem* comp = (Elem*) iter.gobj()->user_data;
    // By depth
    do {
	mgr = comp->GetMan();
	if (mgr == NULL) {
	    break;
	}
	int pos;
	for (pos = 0; pos < mgr->Comps().size(); pos++) {
	    if (mgr->Comps().at(pos) == comp) {
		break;
	    }
	}
	path.prepend_index(pos);
	comp = mgr;
    } while (comp != iRoot);
    return path;
}