beeware / beeware/toga

Implement ValueSource

Open
#3,012 11 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
5.4k
Forks
827
Avg merge
9h 45m
Merged PRs (30d)
58

Description

ValueSource itself is already implemented, documented and tested, but there's no way to link it to any other component.

This would be required to support the Invent datastore. There's a sketch of how that might work here:
* https://github.com/beeware/toga/pull/2494
* https://github.com/invent-framework/invent/pull/62

Any implementation of this feature is likely to involve replacing all the widget `@properties` with a custom class. Such a class could also be used to store metadata for an interactive GUI builder, such as:
* A list of possible choices for the property, to generate a drop-down menu
* An icon to represent the property

Related:
* https://github.com/beeware/toga/discussions/2977

Contributor guide

Open the contributing guide

Research direction

Review the existing ValueSource implementation, documentation, and tests first, then compare the proposed approach in toga PR 2494 and invent PR 62. Use the widget @properties and the linked discussion as scope references. Done means ValueSource can be linked to other components and the resulting property representation supports the stated GUI-builder metadata needs.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.