Static Overrides: hide/deactivate all but 'REPLACE' operation.
Others remain in code for now, just not exposed to user.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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... */
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user