- I could place the lines' properties wherever I want them -- for example the lines at the top and bottom of the center band could be grouped with the rest of the center band parameters.
- I could, if I desired, remove the center band lines from the display whenever the center band is disabled. I currently do that with the other center band properties.
I cannot do either of those with lines as they are. I need to handle them from an expandable property to do that. I guess that, until we can figure out the serialization issue, I could:
- When the center band is disabled, turn the lines transparent
- When the band is re-enabled check the line color. If it is no longer transparent, the user must have changed it, so leave it alone.
- There is one big usability drawback, though -- the user will see the line property change color (I think). That should not happen -- logically, the line has not changed color -- it just got hidden. No way to make that be clean with the current setup. It would be perfectly clean with the expandable property approach, though.
- I'll do that for now, as the only hack available until I get serialization working.
I still want to understand the serialization, though -- it is absurd not to be able to do that. Especially when the Point class handles it just fine -- that is a pretty strong hint there is a way, just one i do not yet understand.
BTW: when I first thought of properties coming and going I thought that would be pretty strange. I have that implemented now, though, and when used judiciously it is rather nice. It helps un-clutter the interface in certain cases. One side-effect of my recent searching for property handling info is that I am now happily graying or removing properties in the interface as appropriate. Now that my infrastructure is st up, it is pretty easy to do. I have my convention as to when each is appropriate, and so far I like the result.
--EV
Comment