* Renaming some Keying Sets API functions to make the terminology more consistent in the UI

* Fixed bug with hotkeys for adding properties to Keying Sets using the KKEY over the relevant buttons. Was calling the remove callback instead.
This commit is contained in:
2010-02-27 02:03:33 +00:00
parent 15db857628
commit be44ac7490
9 changed files with 24 additions and 41 deletions

View File

@@ -70,11 +70,11 @@ void BKE_animdata_make_local(struct AnimData *adt);
/* Used to create a new 'custom' KeyingSet for the user, that will be automatically added to the stack */ /* Used to create a new 'custom' KeyingSet for the user, that will be automatically added to the stack */
struct KeyingSet *BKE_keyingset_add(struct ListBase *list, const char name[], short flag, short keyingflag); struct KeyingSet *BKE_keyingset_add(struct ListBase *list, const char name[], short flag, short keyingflag);
/* Add a destination to a KeyingSet */ /* Add a path to a KeyingSet */
void BKE_keyingset_add_destination(struct KeyingSet *ks, struct ID *id, const char group_name[], const char rna_path[], int array_index, short flag, short groupmode); void BKE_keyingset_add_path(struct KeyingSet *ks, struct ID *id, const char group_name[], const char rna_path[], int array_index, short flag, short groupmode);
/* Find the destination matching the criteria given */ /* Find the destination matching the criteria given */
struct KS_Path *BKE_keyingset_find_destination(struct KeyingSet *ks, struct ID *id, const char group_name[], const char rna_path[], int array_index, int group_mode); struct KS_Path *BKE_keyingset_find_path(struct KeyingSet *ks, struct ID *id, const char group_name[], const char rna_path[], int array_index, int group_mode);
/* Copy all KeyingSets in the given list */ /* Copy all KeyingSets in the given list */
void BKE_keyingsets_copy(struct ListBase *newlist, struct ListBase *list); void BKE_keyingsets_copy(struct ListBase *newlist, struct ListBase *list);

View File

@@ -547,7 +547,7 @@ void BKE_all_animdata_fix_paths_rename (char *prefix, char *oldName, char *newNa
/* Find the first path that matches the given criteria */ /* Find the first path that matches the given criteria */
// TODO: do we want some method to perform partial matches too? // TODO: do we want some method to perform partial matches too?
KS_Path *BKE_keyingset_find_destination (KeyingSet *ks, ID *id, const char group_name[], const char rna_path[], int array_index, int group_mode) KS_Path *BKE_keyingset_find_path (KeyingSet *ks, ID *id, const char group_name[], const char rna_path[], int array_index, int group_mode)
{ {
KS_Path *ksp; KS_Path *ksp;
@@ -624,7 +624,7 @@ KeyingSet *BKE_keyingset_add (ListBase *list, const char name[], short flag, sho
/* Add a destination to a KeyingSet. Nothing is returned for now... /* Add a destination to a KeyingSet. Nothing is returned for now...
* Checks are performed to ensure that destination is appropriate for the KeyingSet in question * Checks are performed to ensure that destination is appropriate for the KeyingSet in question
*/ */
void BKE_keyingset_add_destination (KeyingSet *ks, ID *id, const char group_name[], const char rna_path[], int array_index, short flag, short groupmode) void BKE_keyingset_add_path (KeyingSet *ks, ID *id, const char group_name[], const char rna_path[], int array_index, short flag, short groupmode)
{ {
KS_Path *ksp; KS_Path *ksp;
@@ -643,7 +643,7 @@ void BKE_keyingset_add_destination (KeyingSet *ks, ID *id, const char group_name
} }
/* don't add if there is already a matching KS_Path in the KeyingSet */ /* don't add if there is already a matching KS_Path in the KeyingSet */
if (BKE_keyingset_find_destination(ks, id, group_name, rna_path, array_index, groupmode)) { if (BKE_keyingset_find_path(ks, id, group_name, rna_path, array_index, groupmode)) {
if (G.f & G_DEBUG) if (G.f & G_DEBUG)
printf("ERROR: destination already exists in Keying Set \n"); printf("ERROR: destination already exists in Keying Set \n");
return; return;

View File

@@ -831,7 +831,7 @@ static float dtar_get_prop_val (ChannelDriver *driver, DriverTarget *dtar)
driver->flag |= DRIVER_FLAG_INVALID; driver->flag |= DRIVER_FLAG_INVALID;
return 0.0f; return 0.0f;
} }
/* get RNA-pointer for the ID-block given in target */ /* get RNA-pointer for the ID-block given in target */
RNA_id_pointer_create(id, &id_ptr); RNA_id_pointer_create(id, &id_ptr);
@@ -887,7 +887,7 @@ static bPoseChannel *dtar_get_pchan_ptr (ChannelDriver *driver, DriverTarget *dt
/* check if the ID here is a valid object */ /* check if the ID here is a valid object */
if (id && GS(id->name)) { if (id && GS(id->name)) {
Object *ob= (Object *)id; Object *ob= (Object *)id;
/* get pose, and subsequently, posechannel */ /* get pose, and subsequently, posechannel */
return get_pose_channel(ob->pose, dtar->pchan_name); return get_pose_channel(ob->pose, dtar->pchan_name);
} }

View File

@@ -355,7 +355,7 @@ static int add_keyingset_button_exec (bContext *C, wmOperator *op)
} }
/* add path to this setting */ /* add path to this setting */
BKE_keyingset_add_destination(ks, ptr.id.data, NULL, path, index, pflag, KSP_GROUP_KSNAME); BKE_keyingset_add_path(ks, ptr.id.data, NULL, path, index, pflag, KSP_GROUP_KSNAME);
ks->active_path= BLI_countlist(&ks->paths); ks->active_path= BLI_countlist(&ks->paths);
success= 1; success= 1;
@@ -426,7 +426,7 @@ static int remove_keyingset_button_exec (bContext *C, wmOperator *op)
KS_Path *ksp; KS_Path *ksp;
/* try to find a path matching this description */ /* try to find a path matching this description */
ksp= BKE_keyingset_find_destination(ks, ptr.id.data, ks->name, path, index, KSP_GROUP_KSNAME); ksp= BKE_keyingset_find_path(ks, ptr.id.data, ks->name, path, index, KSP_GROUP_KSNAME);
if (ksp) { if (ksp) {
/* just free it... */ /* just free it... */
@@ -1162,31 +1162,13 @@ static int keyingset_relative_get_templates (KeyingSet *ks)
return templates; return templates;
} }
/* Check if context data is suitable for the given absolute Keying Set */ /* Check if context data is suitable for the given Keying Set */
short keyingset_context_ok_poll (bContext *C, KeyingSet *ks) short keyingset_context_ok_poll (bContext *C, KeyingSet *ks)
{ {
ScrArea *sa= CTX_wm_area(C); // TODO:
// For 'relative' keyingsets (i.e. py-keyingsets), add a call here
/* data retrieved from context depends on active editor */ // which basically gets a listing of all the paths to be used for this
if (sa == NULL) return 0; // set.
switch (sa->spacetype) {
case SPACE_VIEW3D:
{
Object *obact= CTX_data_active_object(C);
/* if in posemode, check if 'pose-channels' requested for in KeyingSet */
if ((obact && obact->pose) && (obact->mode & OB_MODE_POSE)) {
/* check for posechannels */
}
else {
/* check for selected object */
}
}
break;
}
return 1; return 1;

View File

@@ -4015,7 +4015,7 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, wmEvent *event)
if(event->alt) if(event->alt)
ui_but_anim_remove_keyingset(C); ui_but_anim_remove_keyingset(C);
else else
ui_but_anim_remove_keyingset(C); ui_but_anim_add_keyingset(C);
ED_region_tag_redraw(CTX_wm_region(C)); ED_region_tag_redraw(CTX_wm_region(C));

View File

@@ -3977,14 +3977,14 @@ static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBa
{ {
/* add a new path with the information obtained (only if valid) */ /* add a new path with the information obtained (only if valid) */
// TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name // TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name
BKE_keyingset_add_destination(ks, id, NULL, path, array_index, flag, groupmode); BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode);
ks->active_path= BLI_countlist(&ks->paths); ks->active_path= BLI_countlist(&ks->paths);
} }
break; break;
case KEYINGSET_EDITMODE_REMOVE: case KEYINGSET_EDITMODE_REMOVE:
{ {
/* find the relevant path, then remove it from the KeyingSet */ /* find the relevant path, then remove it from the KeyingSet */
KS_Path *ksp= BKE_keyingset_find_destination(ks, id, NULL, path, array_index, groupmode); KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode);
if (ksp) { if (ksp) {
/* free path's data */ /* free path's data */

View File

@@ -4718,7 +4718,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
Object *ob; Object *ob;
// short redrawipo=0, resetslowpar=1; // short redrawipo=0, resetslowpar=1;
int cancelled= (t->state == TRANS_CANCEL); int cancelled= (t->state == TRANS_CANCEL);
short duplicate= (t->undostr && strstr(t->undostr, "Duplicate")) ? 1 : 0; short duplicate= (t->undostr && strstr(t->undostr, "Duplicate")) ? 1 : 0; /* see bugreport #21229 for reasons for this data */
/* early out when nothing happened */ /* early out when nothing happened */
if (t->total == 0 || t->mode == TFM_DUMMY) if (t->total == 0 || t->mode == TFM_DUMMY)

View File

@@ -249,6 +249,7 @@ static void rna_def_keyingset(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Active Path Index", "Current Keying Set index"); RNA_def_property_ui_text(prop, "Active Path Index", "Current Keying Set index");
/* Flags */ /* Flags */
// XXX: depreceated
prop= RNA_def_property(srna, "builtin", PROP_BOOLEAN, PROP_NONE); prop= RNA_def_property(srna, "builtin", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", KEYINGSET_BUILTIN); RNA_def_property_boolean_sdna(prop, NULL, "flag", KEYINGSET_BUILTIN);

View File

@@ -41,7 +41,7 @@
#include "BKE_animsys.h" #include "BKE_animsys.h"
static void rna_KeyingSet_add_destination(KeyingSet *keyingset, ReportList *reports, static void rna_KeyingSet_add_path(KeyingSet *keyingset, ReportList *reports,
ID *id, char rna_path[], int array_index, int entire_array, ID *id, char rna_path[], int array_index, int entire_array,
int grouping_method, char group_name[]) int grouping_method, char group_name[])
{ {
@@ -53,11 +53,11 @@ static void rna_KeyingSet_add_destination(KeyingSet *keyingset, ReportList *repo
/* if data is valid, call the API function for this */ /* if data is valid, call the API function for this */
if (keyingset) { if (keyingset) {
BKE_keyingset_add_destination(keyingset, id, group_name, rna_path, array_index, flag, grouping_method); BKE_keyingset_add_path(keyingset, id, group_name, rna_path, array_index, flag, grouping_method);
keyingset->active_path= BLI_countlist(&keyingset->paths); keyingset->active_path= BLI_countlist(&keyingset->paths);
} }
else { else {
BKE_report(reports, RPT_ERROR, "Keying Set Destination could not be added."); BKE_report(reports, RPT_ERROR, "Keying Set Path could not be added.");
} }
} }
@@ -69,7 +69,7 @@ void RNA_api_keyingset(StructRNA *srna)
PropertyRNA *parm; PropertyRNA *parm;
/* Add Destination */ /* Add Destination */
func= RNA_def_function(srna, "add_destination", "rna_KeyingSet_add_destination"); func= RNA_def_function(srna, "add_destination", "rna_KeyingSet_add_path");
RNA_def_function_ui_description(func, "Add a new destination for the Keying Set."); RNA_def_function_ui_description(func, "Add a new destination for the Keying Set.");
RNA_def_function_flag(func, FUNC_USE_REPORTS); RNA_def_function_flag(func, FUNC_USE_REPORTS);
/* ID-block for target */ /* ID-block for target */