[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] Input-sequence editor testing
From: |
Greg Chicares |
Subject: |
Re: [lmi] Input-sequence editor testing |
Date: |
Fri, 16 Jul 2010 19:36:33 +0000 |
User-agent: |
Thunderbird 2.0.0.24 (Windows/20100228) |
On 2010-07-11 17:13Z, Vaclav Slavik wrote:
> On Sun, 2010-07-04 at 22:01 +0000, Greg Chicares wrote:
>> but then it refuses to edit that string. It seems that validation
>> upon entering the pop-up is stricter than that performed when
>> leaving it.
>
> It doesn't validate the entry under the -- wrong -- assumption that this
> editor won't let you enter invalid data. I can see two fixes to this:
>
> (1) Don't allow invalid input. We could replace the numeric duration
> field with wxSpinCtrl with restricted range. This isn't entirely
> trivial, because a change in one row affects valid ranges in all
> subsequent rows as well as the preceding one. This can be extremely
> annoying to the user if not implemented perfectly.
>
> (2) Allow invalid entry, but if it happens, show diagnostics message
> in the bottom part of the dialog (in red, perhaps) and disable the
> OK button until the input passes validation. This is easier to
> implement.
>
> What do you prefer?
The first, because that's what lmi already strives to do elsewhere.
For example, if you type '-1' in the "Dumpin" field on the "Payments"
tab, you get a message:
-1 is too low: 0 is the lower limit.
and you can't leave that field (except by pressing Cancel) until you
correct the problem. As another example, a default '.ill' file has
issue age 45, and if you go to the "Solve" tab and set
Solve for: "Employee premium"
To: "Year"
then the "Year" spincontrol is restricted to [0, maturity_age - 45];
and if you instead choose
To: "Age"
then the "Age" spincontrol is restricted to [45, maturity_age].
That's the goal, although it's not yet complete. For instance, on the
"Group" tab, check "Partial mortality" and then choose "Survive to age
limit"; you can enter an age limit of 20, even though at issue age 45
a person must already have lived past age 20. That shortcoming isn't
intractable; it's just that we haven't made time to address it, or
some others like it.
I do understand that this can be...
> annoying to the user if not implemented perfectly
and the trickiest part is the interdependencies. Issue age is an axis
in the database where the interdependency rules reside; change it, and
the whole world changes--in particular, maturity_age in the examples
above--but the MVC framework adapts to that.