View Single Post
Quote:
Originally Posted by WrongSizeGlass
Styles in OOP are powerful ... but they don't work like other programs and are a frustrating transition.
I'll admit, I don't have many other programs to play with their styles right in front of me. However, I think it's more of a POV thing that makes it seem so different. From what I remember of my experience with other programs and styles, they are cumulative in that you apply a style, and then say, oh I want this but BOLD, so you apply BOLD to it and now you have style+BOLD, not just BOLD. Bold IS a style, just a simple one that you generally won't create a custom style just for it. So the difference is when you apply custom or preset groups of styles. But aren't styles nothing more then applying multiple attributes at once? But enough about this.


Quote:
Originally Posted by WrongSizeGlass
Though styles are cumulative, applying one style on top of another style only overrides the style attributes specifically defined by the 2nd style. Applying a style should apply all the attributes of that style.
One example:
* Style A has the weight set to Regular, and other attributes
* Style B has the weight set to Bold, and other attributes
* If style B has been applied to some text, applying Style A will only apply the attributes defined for it - but the result leaves the text Bold
* How can I define "not bold" in Style A?
This is a good point. We should see if it's possible to know when you want to specify Regular weight for a style. Are there any other cases like this with different attributes? While I would say command-dragging would be the solution to this, using the style system we have, it's completely valid to want Weight: Regular definable in a style.

Quote:
Originally Posted by WrongSizeGlass
Personally, I think using the modifier keys should perform the "style merge" and choosing the style by it self should apply that style (and that style only) to the text. Why? Operations + modifier keys should do "special" things (like merging styles), not the other way around.
My argument against having all style presets working like command-drag is that, what if you want to apply something like the highlight style? I would not want applying highlight to erase the the other styles applied to the text. I would want it to simply add the yellow background fill. Applying a style is no different to me then applying attributes one after another to achieve the same thing.

Quote:
Originally Posted by WrongSizeGlass
I should not have to worry that things work differently from different user interface elements of the application.
There are valid points for and against this. I will make sure it's considered.


Quote:
Originally Posted by WrongSizeGlass
If you apply a style, it changes the text to that style, not the previous style + the new style. Since this is not only the default behavior, but the only behavior unless you command-drag from the bottom of the Utility Drawer, it takes extensive planning to define your styles to make sure they change every possible attribute if you ever intend to use multiple styles (and even then not all of them will override the previous style).
Yes, some planning is needed, but you could say it's actually getting you to save time once you understand it. Styles applied to a wide amount of content should be kept basic and you build it up as individual cases come. So, lets just forget about the argument that OO doesn't work like other program and focus what needs to be fixed.