Re: high level application frameworkl

On Tue, 2006-07-25 at 09:37 +1000, Daniel Kasak wrote:
Dirk Koopman wrote:

For many years (about 26) I have used an "application framework" of my
own devising (in various incarnations) for separating "business
logic" [ugh] and data manipulation, completely, from visual
representation on "curses" based terminals. 

It allows programmers to say things like: take these data fields

Gtk2::Ex::DBI ... links to ...

Who says there is any SQL (or ISAM or files) involved?

display them according to form xxx;


Which would be fine...

 then tell me if these values are
entered or those keys are pressed;

Either connect to the 'changed' signal of each widget and do things
while the user is inputting data, or pull all the values at once when
the data entry is complete and the user hits 'apply'. With Gtk2::Ex::DBI
you can do all this by defining a 'before_apply' callback which is run
before the record is applied.

And at this point it all goes pear shaped, because we are thinking the
wrong way up. Also I want fine grained control *during* the form and I
don't wish to get into the minutia of gtk style callbacks (under the
hood things will be calling back like billy-ho) but for the programmer
this must all be seamless (and very, very easy). 

The programmer thinks in terms of the field (or data if you will); he
isn't interested, nor does he know, that it will indeed be implemented
with the sort of callback you describe. The Gtk part is the widget set
that *implements* the data model and programming abstraction that I am
trying to describe.

As an aside, once I have done it, it might well be that (if anybody
could actually be bothered) it could be reshimmed into another widget
set (eg M$ Windows API) and the programmer would not notice.

Anyway, please carry on trying to educate me, because I might be wrong
and may be missing something vital - I am a Gtk newbie afterall -
although I have been programming for a while... 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]