/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
static int do_mat_livedb_item_rename(bContext *C, ARegion *ar, SpaceLDB *slivedb, LiveDbTreeElement *te, const float mval[2])
{	
    ReportList  *reports;
    int         CUR_UNIT_Y;

    if(TE_GET_TYPE(te->item->type) == MAT_LDB_TREE_ITEM_TYPE_CATEGORY)
        CUR_UNIT_Y = UI_UNIT_Y;
    else
        CUR_UNIT_Y = MAT_LIVEDB_UI_UNIT_Y;

    reports = CTX_wm_reports(C);
    
    if (mval[1] > te->ys && mval[1] < te->ys + CUR_UNIT_Y) {
        /* click on name */
        if (mval[0] > te->xs + UI_UNIT_X * 2 && mval[0] < te->xend) {
            do_item_rename(ar, te, reports);
            return 1;
        }
        return 0;
    }
    for (te = te->subtree.first; te; te = te->next) {
        if (do_mat_livedb_item_rename(C, ar, slivedb, te, mval)) return 1;
    }
    return 0;
} /* do_mat_livedb_item_rename() */
/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
void mat_livedb_item_rename_cb(bContext *C, LiveDbTreeElement *te)
{
    ARegion     *ar         = CTX_wm_region(C);
    ReportList  *reports    = CTX_wm_reports(C);

    if(*te->flag & TE_ACTIVE) {
        *te->flag &= ~TE_ACTIVE;
        do_item_rename(ar, te, reports);
    }
} /* mat_livedb_item_rename_cb() */
Esempio n. 3
0
static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2])
{	
	ReportList *reports= CTX_wm_reports(C); // XXX
	
	if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
		TreeStoreElem *tselem= TREESTORE(te);
		
		/* name and first icon */
		if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
			
			do_item_rename(ar, te, tselem, reports) ;
		}
		return 1;
	}
	
	for(te= te->subtree.first; te; te= te->next) {
		if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1;
	}
	return 0;
}
Esempio n. 4
0
void item_rename_cb(bContext *C, Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
{
	ARegion *ar= CTX_wm_region(C);
	ReportList *reports= CTX_wm_reports(C); // XXX
	do_item_rename(ar, te, tselem, reports) ;
}