Beyond 2.6
Derek Atkins
warlord at MIT.EDU
Thu Feb 14 13:43:19 EST 2013
Christian Stimming <christian at cstimming.de> writes:
> Am Mittwoch, 13. Februar 2013, 13:07:55 schrieb Derek Atkins:
>> John Ralls <jralls at ceridwen.us> writes:
>> >>> What do you mean by "real-time validation of inputs"?
>> >>
>> >> I mean, e.g, making sure an Account has a name entry, and that it's
>> >> unique, and that the account type is valid based on the parent..
>> >> Those
>> >> kinds of input validation that's currently done in the dialog.
>> >
>> > Those checks should be part of the Account constructor, and would
>> > throw exceptions. The interface code between the engine and Gtk+ would
>> > convert those exceptions into GErrors for the dialog box to handle;
>> > C++-based UI frameworks would be able to catch the exceptions
>> > directly.
>>
>> Except by the time you're processing it's too late. It would be nicer
>> to make the "OK" box grey until the dialog is properly filled in, to
>> provide validation of inputs even sooner to the user. But that implies
>> some way to push the validation requirements into the GUI.
>
> Absolutely. The constraints are needed on several levels. Of course
> constraints in the lower data layer (or database layer) are needed to
> enable unittesting and consistency there. But as the goal is a
> user-centric application, the constraints must be communicated to the
> user in a way that makes it easy for him/her to understand those
> constraints. At the end of the day, this means the GUI must contain
> the knowledge about those constraints just as well as the data
> layer. A question of what we're doing this for, after all.
Right. It would be nice if there were some way to abstract out those
constraints in a way that both the "model" and the "view" (and arguably
the "controller") can share the validations. I'm not sure how this can
best be done or implemented, tho.
> Regards,
>
> Christian
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the gnucash-devel
mailing list