Cleanup: use a typed enum for operator & gizmo callbacks

Callbacks: exec invoke & modal now use a typed enum wmOperatorStatus.

This helps avoid mistakes returning incompatible booleans or other
values which don't make sense for operators to return.

It also makes it more obvious functions in the WM API are intended
to be used to calculate return values for operator callbacks.

Operator enums have been moved into DNA_windowmanager_enums.h
so this can be used in other headers without loading other includes
indirectly.

No functional changes expected.

Ref !136227
This commit is contained in:
Campbell Barton
2025-03-20 21:11:06 +00:00
parent 22ad0b9faf
commit 10233e95dd
333 changed files with 4175 additions and 3372 deletions

View File

@@ -396,7 +396,7 @@ static void try_convert_single_object(Object &curves_ob,
DEG_id_tag_update(&settings.id, ID_RECALC_SYNC_TO_EVAL);
}
static int curves_convert_to_particle_system_exec(bContext *C, wmOperator *op)
static wmOperatorStatus curves_convert_to_particle_system_exec(bContext *C, wmOperator *op)
{
Main &bmain = *CTX_data_main(C);
Scene &scene = *CTX_data_scene(C);
@@ -515,7 +515,7 @@ static bke::CurvesGeometry particles_to_curves(Object &object, ParticleSystem &p
return curves;
}
static int curves_convert_from_particle_system_exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus curves_convert_from_particle_system_exec(bContext *C, wmOperator * /*op*/)
{
Main &bmain = *CTX_data_main(C);
Scene &scene = *CTX_data_scene(C);
@@ -699,7 +699,7 @@ static void snap_curves_to_surface_exec_object(Object &curves_ob,
DEG_id_tag_update(&curves_id.id, ID_RECALC_GEOMETRY);
}
static int snap_curves_to_surface_exec(bContext *C, wmOperator *op)
static wmOperatorStatus snap_curves_to_surface_exec(bContext *C, wmOperator *op)
{
const AttachMode attach_mode = static_cast<AttachMode>(RNA_enum_get(op->ptr, "attach_mode"));
@@ -778,7 +778,7 @@ static void CURVES_OT_snap_curves_to_surface(wmOperatorType *ot)
namespace set_selection_domain {
static int curves_set_selection_domain_exec(bContext *C, wmOperator *op)
static wmOperatorStatus curves_set_selection_domain_exec(bContext *C, wmOperator *op)
{
const bke::AttrDomain domain = bke::AttrDomain(RNA_enum_get(op->ptr, "domain"));
@@ -864,7 +864,7 @@ static bool has_anything_selected(const Span<Curves *> curves_ids)
});
}
static int select_all_exec(bContext *C, wmOperator *op)
static wmOperatorStatus select_all_exec(bContext *C, wmOperator *op)
{
int action = RNA_enum_get(op->ptr, "action");
@@ -901,7 +901,7 @@ static void CURVES_OT_select_all(wmOperatorType *ot)
WM_operator_properties_select_all(ot);
}
static int select_random_exec(bContext *C, wmOperator *op)
static wmOperatorStatus select_random_exec(bContext *C, wmOperator *op)
{
VectorSet<Curves *> unique_curves = curves::get_unique_editable_curves(*C);
@@ -975,7 +975,7 @@ static void CURVES_OT_select_random(wmOperatorType *ot)
1.0f);
}
static int select_ends_exec(bContext *C, wmOperator *op)
static wmOperatorStatus select_ends_exec(bContext *C, wmOperator *op)
{
VectorSet<Curves *> unique_curves = curves::get_unique_editable_curves(*C);
const int amount_start = RNA_int_get(op->ptr, "amount_start");
@@ -1056,7 +1056,7 @@ static void CURVES_OT_select_ends(wmOperatorType *ot)
INT32_MAX);
}
static int select_linked_exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus select_linked_exec(bContext *C, wmOperator * /*op*/)
{
VectorSet<Curves *> unique_curves = get_unique_editable_curves(*C);
for (Curves *curves_id : unique_curves) {
@@ -1083,7 +1083,7 @@ static void CURVES_OT_select_linked(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
static int select_more_exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus select_more_exec(bContext *C, wmOperator * /*op*/)
{
VectorSet<Curves *> unique_curves = get_unique_editable_curves(*C);
for (Curves *curves_id : unique_curves) {
@@ -1110,7 +1110,7 @@ static void CURVES_OT_select_more(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
static int select_less_exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus select_less_exec(bContext *C, wmOperator * /*op*/)
{
VectorSet<Curves *> unique_curves = get_unique_editable_curves(*C);
for (Curves *curves_id : unique_curves) {
@@ -1139,7 +1139,7 @@ static void CURVES_OT_select_less(wmOperatorType *ot)
namespace split {
static int split_exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus split_exec(bContext *C, wmOperator * /*op*/)
{
VectorSet<Curves *> unique_curves = get_unique_editable_curves(*C);
for (Curves *curves_id : unique_curves) {
@@ -1188,7 +1188,7 @@ static bool surface_set_poll(bContext *C)
return true;
}
static int surface_set_exec(bContext *C, wmOperator *op)
static wmOperatorStatus surface_set_exec(bContext *C, wmOperator *op)
{
Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
@@ -1266,7 +1266,7 @@ static void CURVES_OT_surface_set(wmOperatorType *ot)
namespace curves_delete {
static int delete_exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus delete_exec(bContext *C, wmOperator * /*op*/)
{
for (Curves *curves_id : get_unique_editable_curves(*C)) {
bke::CurvesGeometry &curves = curves_id->geometry.wrap();
@@ -1295,7 +1295,7 @@ static void CURVES_OT_delete(wmOperatorType *ot)
namespace curves_duplicate {
static int duplicate_exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus duplicate_exec(bContext *C, wmOperator * /*op*/)
{
for (Curves *curves_id : get_unique_editable_curves(*C)) {
bke::CurvesGeometry &curves = curves_id->geometry.wrap();
@@ -1333,7 +1333,7 @@ static void CURVES_OT_duplicate(wmOperatorType *ot)
namespace clear_tilt {
static int exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus exec(bContext *C, wmOperator * /*op*/)
{
for (Curves *curves_id : get_unique_editable_curves(*C)) {
bke::CurvesGeometry &curves = curves_id->geometry.wrap();
@@ -1373,7 +1373,7 @@ static void CURVES_OT_tilt_clear(wmOperatorType *ot)
namespace cyclic_toggle {
static int exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus exec(bContext *C, wmOperator * /*op*/)
{
for (Curves *curves_id : get_unique_editable_curves(*C)) {
bke::CurvesGeometry &curves = curves_id->geometry.wrap();
@@ -1419,7 +1419,7 @@ static void CURVES_OT_cyclic_toggle(wmOperatorType *ot)
namespace curve_type_set {
static int exec(bContext *C, wmOperator *op)
static wmOperatorStatus exec(bContext *C, wmOperator *op)
{
const CurveType dst_type = CurveType(RNA_enum_get(op->ptr, "type"));
const bool use_handles = RNA_boolean_get(op->ptr, "use_handles");
@@ -1471,7 +1471,7 @@ static void CURVES_OT_curve_type_set(wmOperatorType *ot)
namespace switch_direction {
static int exec(bContext *C, wmOperator * /*op*/)
static wmOperatorStatus exec(bContext *C, wmOperator * /*op*/)
{
for (Curves *curves_id : get_unique_editable_curves(*C)) {
bke::CurvesGeometry &curves = curves_id->geometry.wrap();
@@ -1505,7 +1505,7 @@ static void CURVES_OT_switch_direction(wmOperatorType *ot)
namespace subdivide {
static int exec(bContext *C, wmOperator *op)
static wmOperatorStatus exec(bContext *C, wmOperator *op)
{
const int number_cuts = RNA_int_get(op->ptr, "number_cuts");
@@ -1643,7 +1643,7 @@ static CurvesGeometry generate_circle_primitive(const float radius)
return curves;
}
static int exec(bContext *C, wmOperator *op)
static wmOperatorStatus exec(bContext *C, wmOperator *op)
{
Object *object = CTX_data_edit_object(C);
Curves *active_curves_id = static_cast<Curves *>(object->data);
@@ -1703,7 +1703,7 @@ static CurvesGeometry generate_bezier_primitive(const float radius)
return curves;
}
static int exec(bContext *C, wmOperator *op)
static wmOperatorStatus exec(bContext *C, wmOperator *op)
{
Object *object = CTX_data_edit_object(C);
Curves *active_curves_id = static_cast<Curves *>(object->data);
@@ -1735,7 +1735,7 @@ static void CURVES_OT_add_bezier(wmOperatorType *ot)
namespace set_handle_type {
static int exec(bContext *C, wmOperator *op)
static wmOperatorStatus exec(bContext *C, wmOperator *op)
{
const HandleType dst_handle_type = HandleType(RNA_enum_get(op->ptr, "type"));