bad layout, Preferences, Configurables, Configurers

The layout problems with Configurers (e.g., that our dialogs look like stacks
of Jenga blocks) have finally driven me to do something about them. I’m
finding that in doing this there’s a whole cascade of other problems:

  • Configurers handle nulls inconsistently
  • Configurers return their GUIs as a monolithic block so that it’s not
    possible to do external alignment
  • The relationship between Configurers and Configurables is backwards: right
    now the Configurables are listening for changes in Configurers, but the
    Configurables are the model, and so the view should be the listener.
  • Configurers should be groupable under headings in dialogs. Right now they’re
    added in no particular order.
  • Configurers provide no way to validate input. (This is important—we can
    stop nonsense values from being input if we can validate input as it comes.)

Since we can’t change the Configurable interface without breaking backwards
compatibility, fixing the layout problems will require a new interface.
However, if the other problems aren’t fixed at the same time, then we’ll end
up needing a third interface to replace the one I’m about to create, so it
seems like a good idea to fix all of these problems in one shot.

The new batch of interfaces I’m working on (Editor, HasChangeableProperty)
will be able to coexist with the old ones until they’re phased out; I think
I’m going to tackle preferences first, since there’s at least one other
problem there that I can solve at the same time, namely that it would be more
friendly if we stored them in a human-readable file.

Thoughts?

[ Configurer discussion ]

Sounds good. Though I don’t rate it as a high priority, it will be very nice when done.

I’ll be happy to assist once you have a few examples. May as well i18n the configurers also as we update them.

Do you envisage it is going to be a lot of coding changes?

Are we still planning for June 30 as closeout for 3.2 new features?

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

I didn’t rate it as a high priority either until I realized that it bothers
me every single time I look at a Configurer. I always underestimate the
value of immediately fixing things which annoy me, and then only realize
that I should have fixed them right away after suffering through them for
a long time.

Sure. Thanks.

I can’t tell for certain yet, but I think it won’t be terribly invasive.

If we shoot for June 30, I can tell you that you’ll probably get zero (0)
of the features I promised, and I think also nothing from Michael.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

June 30 is pretty ambitious. I can have somethidg re.ady by then, but
it prgbably won’t work 100pct.

  • M

On 19/05/2009, Joel Uckelman uckelman@nomic.net wrote:


Michael Kiefte, Ph.D.
Associate Professor
School of Human Communication Disorders
Dalhousie University
Halifax, Nova Scotia, Canada
tel: +1 902 494 5150
fax: +1 902 494 5151


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake Michael Kiefte:

The primary problem for me is that the 3.2 development cycle is exactly
overlapping with when I’m trying to finish my dissertation. I’m sure
that what I’m doing will work to some percentage by then, noting that zero
is a percent.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I made some good progress with this over the weekend, enough that I should be able to finish converting all of the preferences to use the new structure over the course of this week. Once I’ve done that, I’ll be able to point to some examples and we can talk about how to convert the rest of the things which use Configurers.

As a taste of what’s coming, I’m attaching a screenshot of the new Preferences dialog, which I modelled after the one in Firefox. Everything you see there is built by attaching Editors to the Preferences dialog, so it’s as functional (from the point of view of being built automatically) as the old Preferences dialog, but has proper spacing around all of the components and supports grouping related preferences into groups rather than displaying them in the order they were added.

On May 31, 2009, at 3:04 PM, uckelman wrote:

Excellent!


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)