-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Focus
Implement an "overview" that displays all major elements of the simulation, as well as a summary of each, in some diagrammatic way. Initially, this could be a simple hierarchy of "blocks". The idea is that this can replace the current usage of tabs, by being able to view and edit a specific element (e.g. a species) by double-clicking on it. Alongside this, we can move away from using Layers and instead define Tasks, which each execute a Procedure (which could include RunModule/RunModuleList nodes, as well as running other Tasks). With a Master Task that is executed in-place of the current simulation loop - this task could expose certain information, such as Configurations, to its child tasks through a context, rather than giving every task access to the entirety of CoreData. These Tasks would also be displayed in the Overview, along with the modules that they run. The GUI side of things should be done using QML.
Tasks
Basic Overview
Implement an Overview tab with the necessary QML "Dissolve" model, and which offers basic navigation capabilities to existing tabbed data.
- Overview Tab #1639
- (Lower priority) Beautify QML
- (Lower priority) Show relationships between elements of the simulation, i.e. draw a line between a
Speciesand eachConfigurationthat it is present in. - Drop Master Term / AtomType count properties in DissolveModel #1655
- Registering QML Types #1656
Dialog-ise Tabs
Convert the MainTab derived classes to instead derive from QDialog, which is then popped-up when the corresponding item in the overview is clicked. Feasibility of this will be proven by first dialogising the Species tab.
- Convert
SpeciesTabto enable display in a dialog as well as a tab - Convert
ConfigurationTab - Convert
ForcefieldTab
Layer Display
Although we want to move away from Layers, it would be a useful exercise to include them, along with their Modules, in the Overview - this code would likely be reusable when it comes to Tasks. Since users typically want to quickly flick between the information of multiple modules, it would be more suitable to provide a tab-like view. When a Module is double-clicked in the Overview, we could show it in a separate tab. Single-clicking / selecting a Module could just display its full options in a side-pane to allow setup, but not necessarily show any output data.
- Display existing
ModuleLayers in the QML overview (Overview Tab - Layers #1659) - Allow summary information for each module to be displayed on its QML entity
- Allow modules to be "popped out" to separate tabs for easier interrogation
Task Implementation
Introduce the new Task-based workflow.
-
TaskandTaskContextclasses. - Swap simulation loop for single master
Taskdefined inDissolve. - Display defined
Tasksin the Overview.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status