Background
I have limited experience in GUI design, but I have to produce a desktop application (Qt) meant for expert users (our own staff mostly). Its purpose is to read/write a large set of configuration parameters for some hardware devices. It does not have to look pretty, but it needs to have a reasonably efficient workflow.
The hardware is configurable at several levels in a tree like structure. All node instances at the same level have the same type of parameters. Most levels have around a dozen simple parameters (checkboxes, dropdowns, etc...) At the leaf level, there will be hundreds of instances.
Question
How do I best design my interface to support the following:
- Display/edit the configuration of a specific node
- Display/edit the configuration of all nodes at a given level simultaneously
- Display/edit the configuration of combinations of nodes at a given level simultaneously
My attempt
For each level of the configuration, I made a panel with the parameters for that level, and a dropdown to select which instance of that level is "currently selected". The dropdown also has a special value to "select all" at that level. This allows me to see and edit the value for a specific instance. I can also set the value for all nodes using select all. I cannot however display a meaningful value when "select all" is active, which is an issue. Selecting nontrivial combinations of nodes is also rather time consuming as one has to manipulate multiple dropdowns. This is unfortunately a common case, because often a setting is good for 99% of the nodes but there are a few exceptions that need an individual adjustment.
Do you have any suggestion to improve upon this design? or something completely different?
