def link_field_to_neuron(entry_fields: dict, name: str, neuron: neurons.Neuron, notify_neuron: Callable): """Link the fields associated with a button to its neuron. Args: entry_fields: A mapping of field names to instances of EntryField. name: …of the field being mapped to the neuron. neuron: notify_neuron: """ entry_fields[name].textvariable.trace_add('write', notify_neuron) neuron.register_event(name)
def neuron_linker(self, internal_name: str, neuron: neurons.Neuron, neuron_callback: Callable, initial_state: bool = False): """Set a neuron callback which will be called whenever the field is changed by the user. Args: internal_name: Name of widget. The neuron will be notified whenever this widget is changed by the user. neuron: neuron_callback: This will be set as the trace_add method of the field's textvariable. initial_state: Returns: """ self.entry_fields[internal_name].textvariable.trace_add('write', neuron_callback(internal_name, neuron)) neuron.register_event(internal_name, initial_state)