On Feb 12, 2013, at 9:33 AM, Derek Atkins <warl...@mit.edu> wrote:

> John Ralls <jra...@ceridwen.us> writes:
> 
>> On Feb 12, 2013, at 9:06 AM, Derek Atkins <warl...@mit.edu> wrote:
>> 
>>> Geert Janssens <janssens-ge...@telenet.be> writes:
>>> 
>>>> Indeed. I mostly meant to suggest our *engine* should be totally
>>>> multi-platform. The gui should be adapted to the target OS and
>>>> form-factor anyway. I wouldn't want to use a gui similar to current
>>>> GnuCash's one on an Android tablet for example. Having the engine
>>>> available on say Android, that could make Ngewi's work a lot easier:
>>>> instead of importing/exporting, he could plainly open a real gnucash
>>>> datafile and work directly on it. That doesn't mean the GnuCash on
>>>> Android tool should support all the features GnuCash on
>>>> Linux/OSX/Windows does, but it would be able to properly load and save
>>>> the file without any data loss.
>>> 
>>> I think in the long run it would behoove us to try to migrate more of
>>> the "business logic" into a core platform, too.  But I'm not sure
>>> exactly how to do that in a clean way that provides "real-time"
>>> validation of inputs, without it being tied into the GUI.
>> 
>> 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.

Regards,
John Ralls


_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to