/* /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */ 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() */
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; }
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) ; }