Static Overrides: hide/deactivate all but 'REPLACE' operation.

Others remain in code for now, just not exposed to user.
This commit is contained in:
2018-04-23 15:14:51 +02:00
parent 054d7038cc
commit a7960db471
3 changed files with 12 additions and 6 deletions

View File

@@ -6777,6 +6777,7 @@ static bool ui_but_menu(bContext *C, uiBut *but)
if (but->flag & UI_BUT_OVERRIDEN) {
if (is_array_component) {
#if 0 /* Disabled for now. */
ot = WM_operatortype_find("UI_OT_override_type_set_button", false);
uiItemFullO_ptr(layout, ot, "Overrides Type", ICON_NONE,
NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
@@ -6784,17 +6785,18 @@ static bool ui_but_menu(bContext *C, uiBut *but)
uiItemFullO_ptr(layout, ot, "Single Override Type", ICON_NONE,
NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
RNA_boolean_set(&op_ptr, "all", false);
#endif
uiItemBooleanO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Remove Overrides"),
ICON_X, "UI_OT_override_remove_button", "all", true);
uiItemBooleanO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Remove Single Override"),
ICON_X, "UI_OT_override_remove_button", "all", false);
}
else {
#if 0 /* Disabled for now. */
uiItemFullO(layout, "UI_OT_override_type_set_button", "Override Type", ICON_NONE,
NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
RNA_boolean_set(&op_ptr, "all", false);
#endif
uiItemBooleanO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Remove Override"),
ICON_X, "UI_OT_override_remove_button", "all", true);
}

View File

@@ -540,7 +540,12 @@ static int override_type_set_button_exec(bContext *C, wmOperator *op)
static int override_type_set_button_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
{
#if 0 /* Disabled for now */
return WM_menu_invoke_ex(C, op, WM_OP_INVOKE_DEFAULT);
#else
RNA_enum_set(op->ptr, "type", IDOVERRIDESTATIC_OP_REPLACE);
return override_type_set_button_exec(C, op);
#endif
}
static void UI_OT_override_type_set_button(wmOperatorType *ot)
@@ -562,7 +567,7 @@ static void UI_OT_override_type_set_button(wmOperatorType *ot)
RNA_def_boolean(ot->srna, "all", 1, "All", "Reset to default values all elements of the array");
ot->prop = RNA_def_enum(ot->srna, "type", override_type_items, UIOverride_Type_Replace,
"Type", "Type of override operation");
/* TODO: add itemf callback, not all aoptions are available for all data types... */
/* TODO: add itemf callback, not all options are available for all data types... */
}

View File

@@ -1300,7 +1300,6 @@ int rna_property_override_diff_default(PointerRNA *ptr_a, PointerRNA *ptr_b,
case PROP_FLOAT:
{
const bool is_proportional = (prop_a->flag & PROP_PROPORTIONAL) != 0;
if (len_a) {
float array_stack_a[RNA_STACK_ARRAY], array_stack_b[RNA_STACK_ARRAY];
float *array_a, *array_b;
@@ -1320,7 +1319,7 @@ int rna_property_override_diff_default(PointerRNA *ptr_a, PointerRNA *ptr_b,
if (op != NULL && created) {
BKE_override_static_property_operation_get(
op, is_proportional ? IDOVERRIDESTATIC_OP_MULTIPLY : IDOVERRIDESTATIC_OP_REPLACE,
op, IDOVERRIDESTATIC_OP_REPLACE,
NULL, NULL, -1, -1, true, NULL, NULL);
if (r_override_changed) {
*r_override_changed = created;
@@ -1347,7 +1346,7 @@ int rna_property_override_diff_default(PointerRNA *ptr_a, PointerRNA *ptr_b,
if (op != NULL && created) { /* If not yet overridden... */
BKE_override_static_property_operation_get(
op, is_proportional ? IDOVERRIDESTATIC_OP_MULTIPLY : IDOVERRIDESTATIC_OP_REPLACE,
op, IDOVERRIDESTATIC_OP_REPLACE,
NULL, NULL, -1, -1, true, NULL, NULL);
if (r_override_changed) {
*r_override_changed = created;