Skip to content

signal: existing signal not discovered when some inheritance exists. #75

Description

@poautran

In GitLab by @payno on Dec 16, 2025, 15:18 GMT+1:

when defining Inputs from a mother class it seems they are discovered by _get_signal_ewoks_dict

class MyWidget(TomwerWidgetDataInputOneThreadPerRun, ewokstaskclass=...):

    class Inputs:
        # redefine the input to allow multiple and default
        data = Input(name="data", type=...)
    ...
    @Inputs.data
    def _setData(self, ...):
        ...

works as expected -> the signal will not be overwritten and the @Inputs.data will be triggered when a new value is emitted.

But when we add one level of inheritance _setData is never triggered and the signal is overwritten by ewoksorange.

class InputMixIn:
    class Inputs:
        # redefine the input to allow multiple and default
        data = Input(name="data", type=...)
    ...
    @Inputs.data
    def _setData(self, ...):
        ...

class MyWidget(TomwerWidgetDataInputOneThreadPerRun, InputMixIn, ewokstaskclass=...):

Assignees: @payno

Migrated from GitLab: https://gitlab.esrf.fr/workflow/ewoks/ewoksorange/-/issues/75

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions