-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
Scope: CodebaseRelated to source code management, build etc.Related to source code management, build etc.Type: EnhancementEnhancement for existing featureEnhancement for existing feature
Description
Describe the feature / issue
There are many reasons to use models for managing the viewing and editing of our data in the Dissolve GUI, however there is something of a disconnect in the way we manage data between the CLI "core" code and the Qt GUI.
Can we implement a custom "model" which sits alongside, e.g., a std::vector<CustomData>
and provides "row" addition and deletion, read/write access to data, much as a QtAbstractItemModel does, but without any of the Qt? A companion Qt class in the GUI could then be designed to directly use this non-Qt model to achieve the desired result in the GUI. Why bother doing this? I'm thinking this would allow:
- Parts of the core "CLI" code to edit data and automatically inform Qt (via, e.g., our GUI registering lambda callbacks to "signals" in our custom model) and hence update the GUI without any manual calling of update functions
- Implementing model/views for stuff in the GUI becomes coherent and simplified, and provides the reverse notification stream to the CLI core.
Metadata
Metadata
Assignees
Labels
Scope: CodebaseRelated to source code management, build etc.Related to source code management, build etc.Type: EnhancementEnhancement for existing featureEnhancement for existing feature
Type
Projects
Status
Codebase