Re: high level application frameworkl
- From: Jaap Karssenberg <j g karssenberg student utwente nl>
- To: Dirk Koopman <djk tobit co uk>
- Cc: GTK2-Perl List <gtk-perl-list gnome org>
- Subject: Re: high level application frameworkl
- Date: Tue, 25 Jul 2006 13:34:09 +0200
Hi,
In my opinion there are two issues here
1) you want an api to bind data to a form
2) you want an api to quickly create new forms
I think glade can be used very well for issue #2, but you can just as
well write your own xml-2-gui module in no time. As other pointed out in
this discussion, as long as you use the standard widget for input fields
gtk will figure out the focussing etc. pretty good, the only thing you
need to to is to use the gtk api to specify the number, type and
position of the input fields. The gtk api is very xml friendly, all
containers like hbox, vbox, table etc. just do the right thing when it
comes to scaling, padding etc. you do not need to calculate coordinates
yourself.
As for issue #1, once you have the form set up you can hash all the
input fields by name and use the get/set functions to interact with the
form. Of course this can easily be put in a custom module which does the
right thing for your data.
So I think you should stop looking for a ready-for-use solution but
write one yourself that fits your needs. The gtk api is a medium to high
level interface already that does a lot of stuff automatically. Writing
a module to translate for example a xml definition of a data set into a
form should be one day work or so once you are familiar the gtk api and
perl. Of course when you just start with gtk you might need to invest a
bit more time. Also using data types that can not be put into the
standard input widgets would complicate things enormously.
No-one else can read your mind and write exactly the module you need,
but the high-level apis are there already.
Some examples of modules other wrote for their own needs can be found on
CPAN, like the DBI and the Forms modules mentioned already.
Good luck,
-- Jaap <pardus cpan org>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]