Cleanup: use explicit 'select_and_set_active' API name

Selection should be separated from active state and handled by higher
level code (operators/editors) instead of happening automatically.
This commit is contained in:
Campbell Barton 2018-11-08 08:15:22 +11:00
parent bdd44564c9
commit c121bc6219
7 changed files with 20 additions and 10 deletions

View File

@ -815,7 +815,8 @@ static void import_endjob(void *user_data)
BKE_collection_object_add(data->bmain, lc->collection, ob);
base = BKE_view_layer_base_find(view_layer, ob);
BKE_view_layer_base_select(view_layer, base);
/* TODO: is setting active needed? */
BKE_view_layer_base_select_and_set_active(view_layer, base);
DEG_id_tag_update(&lc->collection->id, DEG_TAG_COPY_ON_WRITE);
DEG_id_tag_update_ex(data->bmain, &ob->id,

View File

@ -73,7 +73,9 @@ struct Object *BKE_view_layer_camera_find(struct ViewLayer *view_layer);
struct ViewLayer *BKE_view_layer_find_from_collection(const struct Scene *scene, struct LayerCollection *lc);
struct Base *BKE_view_layer_base_find(struct ViewLayer *view_layer, struct Object *ob);
void BKE_view_layer_base_deselect_all(struct ViewLayer *view_layer);
void BKE_view_layer_base_select(struct ViewLayer *view_layer, struct Base *selbase);
void BKE_view_layer_base_select(struct Base *selbase);
void BKE_view_layer_base_select_and_set_active(struct ViewLayer *view_layer, struct Base *selbase);
void BKE_view_layer_copy_data(
struct Scene *scene_dst, const struct Scene *scene_src,

View File

@ -340,14 +340,19 @@ void BKE_view_layer_base_deselect_all(ViewLayer *view_layer)
}
}
void BKE_view_layer_base_select(struct ViewLayer *view_layer, Base *selbase)
void BKE_view_layer_base_select(Base *selbase)
{
view_layer->basact = selbase;
if ((selbase->flag & BASE_SELECTABLE) != 0) {
selbase->flag |= BASE_SELECTED;
}
}
void BKE_view_layer_base_select_and_set_active(struct ViewLayer *view_layer, Base *selbase)
{
view_layer->basact = selbase;
BKE_view_layer_base_select(selbase);
}
/**************************** Copy View Layer and Layer Collections ***********************/
static void layer_collections_copy_data(

View File

@ -924,7 +924,7 @@ Object *BKE_object_add(
BKE_collection_object_add(bmain, layer_collection->collection, ob);
base = BKE_view_layer_base_find(view_layer, ob);
BKE_view_layer_base_select(view_layer, base);
BKE_view_layer_base_select_and_set_active(view_layer, base);
return ob;
}
@ -945,7 +945,7 @@ Object *BKE_object_add_from(
BKE_collection_object_add_from(bmain, scene, ob_src, ob);
base = BKE_view_layer_base_find(view_layer, ob);
BKE_view_layer_base_select(view_layer, base);
BKE_view_layer_base_select_and_set_active(view_layer, base);
return ob;
}
@ -979,7 +979,7 @@ Object *BKE_object_add_for_data(
BKE_collection_object_add(bmain, layer_collection->collection, ob);
base = BKE_view_layer_base_find(view_layer, ob);
BKE_view_layer_base_select(view_layer, base);
BKE_view_layer_base_select_and_set_active(view_layer, base);
return ob;
}

View File

@ -154,7 +154,8 @@ Object *bc_add_object(Main *bmain, Scene *scene, ViewLayer *view_layer, int type
BKE_collection_object_add(bmain, layer_collection->collection, ob);
Base *base = BKE_view_layer_base_find(view_layer, ob);
BKE_view_layer_base_select(view_layer, base);
/* TODO: is setting active needed? */
BKE_view_layer_base_select_and_set_active(view_layer, base);
return ob;
}

View File

@ -2347,7 +2347,8 @@ static int make_override_static_exec(bContext *C, wmOperator *op)
new_ob->parent = obcollection;
}
if (new_ob == (Object *)obact->id.newid) {
BKE_view_layer_base_select(view_layer, base);
/* TODO: is setting active needed? */
BKE_view_layer_base_select_and_set_active(view_layer, base);
}
else {
/* Disable auto-override tags for non-active objects, will help with performaces... */

View File

@ -117,7 +117,7 @@ static void rna_Object_select_set(Object *ob, bContext *C, ReportList *reports,
break;
case 0: /* SELECT */
default:
BKE_view_layer_base_select(view_layer, base);
BKE_view_layer_base_select_and_set_active(view_layer, base);
break;
}