Inspector properties: indicating and updating style values

• May 11, 2019 - 11:09

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.

Inspector-properties-styled.png

@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.

Inspector-properties-unstyled.png


Comments

These were the comments left on the video's response page. (@Marc's comment contains a good summary hence I quoted it in the initial post above).

MJS - Good point on ambiguous use of blue. 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. 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.

@shoogle - One option would be to make the control grey so it appears disabled, or set it to use the disabled Qt style (but don't actually disable it). This gives the impression that the property is inactive (i.e. it is following the style). When the value is changed the controls turns black to show that it is fully active (i.e. not following the style).

@Louis Cloete - How about doing what Qt does with their form designer: change the setting to bold when it's changed from the default, along with an activated Reset button (instead of the turquoise). That interface in QtDesigner was actually very obvious to me from the get-go (and IIRC Delphi uses the same idea in their Object Inspector).

@tinman - The ideal solution, IMHO, is going the Sketch route and eliminating Reset buttons where possible. For inputs, the style default would be shown via hint text, via italics in dropdowns, and via a present Reset button for checkboxes. See this mockup for a detailed proposal, and feel free to duplicate it to suggest different changes.

@Isaac Weiss: second @Louis Cloete's proposal—it accents the non-default properties instead of the untouched ones, which already eliminates one level of complexity. Add in the reset button turning black, and I think it should be vastly easier to understand on sight.

@Louis Cloete: @Isaac's mention of the reset button made me think: the reset button is taking up a lot of screen real estate in the Inspector, making it very wide. Why not redesign it to make it thinner while we're at it?

In reply to by shoogle

FWIW, I also second the bold idea, although having experimented with it it's not as easy to implement as it seems. I very much like the look of @tinman's mockup, although I can see that we're a way off it, and it would potentially be very difficult to implement with the restraints that Qt imposes. Maybe with some clever stylesheet use, I guess.

Do you still have an unanswered question? Please log in first to post your question.