Inspector properties: indicating and updating style values
One of the points mentioned in the Tantacrul video is that some Inspector properties are coloured turquoise whereas others are black, and that it is not clear why this is the case. He eventually concludes that the turquoise colouring is there to show when a property's value has not been changed from the default, which is sort of true, but not entirely. It actually shows whether the style value is being overriden or not.
@MarcSabatella says: For the record, the turquoise in the Inspector means, "value is determined by style setting", so it's not the quite the same as "happens to be currently set at default value" (could be locked into that value if you've made changes). How to best convey this is not clear.
As an example, consider the checkbox labelled "Size follows 'Stave space' setting". This checkbox appears to have two possible states, but actually there are three possible states: checked, unchecked, or unspecified. When the checkbox state is unspecified the text is coloured turquoise, and the box itself takes its value from the style (which could be either checked or unchecked). Styles enable values for all unspecifed checkboxes to be changed at once simply by changing the style. Manually checking or unchecking the checkbox overrides the style, so a reset button is needed to return the checkbox to the "unspecified" state and follow the style again. There is also a "set as style" button which updates the style to follow the checkbox's current state.
Not all Inspector properties have styles. Tantacrul says that the reset button is pointless for non-styled checkboxes because these really do only have two states: checked or unchecked. However, this neglects to account for the fact that one of those states is special because it is the default state.
@MarcSabatella says: Similarly, reset means reset to default, not uncheck button, and it's actually quite valuable to have that clear indication of what the default is. But how we do this could be improved.
In addition to indicating the default checkbox state, if many elements with checkboxes are selected at once, with some checked and others unchecked, then the reset button provides a way to return them all the the default state, whichever it may be, regardless of their current state.
We should try to find a way to communicate clearly to the user the idea of style property inheritance.
- Is there a way to provide the "reset" and "set as style" functionality without cluttering the Inspector with so many controls?
- Is there a better way to indicate when a property follows the style than by colouring it turquoise?
- Is it even necessary to do this given that it can already be deduced from the state of the "reset" button?
- Does it actually matter that some users may not grasp the concept of style inheritance?
Properties without a style don't have a "set as style" button. This is another thing to consider if we decide to make any changes to the layout of controls in the Inspector.