Graph Editor tweaks:

Buttons for editing RNA paths/array index for F-Curves that aren't working are now actually functional. This means that when invalid paths are present, they can be manually fixed up.
This commit is contained in:
Joshua Leung 2010-09-07 12:03:09 +00:00
parent 51aa26db62
commit e53bbc7ab7
3 changed files with 7 additions and 2 deletions

@ -157,6 +157,9 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
/* icon for this should be the icon for the base ID */
// TODO: or should we just use the error icon?
icon= RNA_struct_ui_icon(id_ptr.type);
/* tag F-Curve as disabled - as not usable path */
fcu->flag |= FCURVE_DISABLED;
}
}

@ -184,7 +184,7 @@ static void graph_panel_properties(const bContext *C, Panel *pa)
/* RNA-Path Editing - only really should be enabled when things aren't working */
col= uiLayoutColumn(layout, 1);
uiLayoutSetEnabled(col, (fcu->flag & FCURVE_DISABLED));
uiLayoutSetEnabled(col, (fcu->flag & FCURVE_DISABLED)!=0);
uiItemR(col, &fcu_ptr, "data_path", 0, "", ICON_RNA);
uiItemR(col, &fcu_ptr, "array_index", 0, NULL, 0);

@ -324,8 +324,10 @@ static void rna_FCurve_RnaPath_set(PointerRNA *ptr, const char *value)
if (fcu->rna_path)
MEM_freeN(fcu->rna_path);
if (strlen(value))
if (strlen(value)) {
fcu->rna_path= BLI_strdup(value);
fcu->flag &= ~FCURVE_DISABLED;
}
else
fcu->rna_path= NULL;
}