Re: [gnome-db] Re: dwi and libgda



Linas Vepstas wrote:

On Sun, Apr 28, 2002 at 05:26:43PM +0200, Rodrigo Moya was heard to remark:
Hi

(For those who don't know, I've been talking with Linas about
integrating his work in DWI - http://www.linas.org/linux/dwi/ - and
libgda)

Well, as Linas know already, I haven't had time to look much into DWI,

Ehh, well, I know how the 'having some time' thing goes.
so I'm sending it to the list in the hope that somebody will volunteer
to look at DWI and see how the integration can be done.

FWIW, DWI is 'still' fairly simple and not too hard to wrap one's mind
around, and so shouldn't require more than a few hours to understand
& fiddle with.
So far, from what I've understood, we could (Linas, please correct me if
I'm wrong):

* integrate the non-UI form and report stuff in DWI into libgda, making
a GdaForm and GdaReport classes to manage them. There's a non-UI engine
for managing those forms/reports in DWI, so it's that part what I'm
talking about.

* integrate that form/report engine into the GNOME-DB widgets. On this,
Linas doesn't seem to agree, since he is doing DWI with plain GTK
widgets, not with specialized ones (like the ones we've got ->
GnomeDbGrid, GnomeDbList, etc)

Well,  I think the basic concept in DWI was 'no new graphical widgets',
i.e. that glade should be enough to specify the visual layout.

What DWI does is to specify how to hook databases to widgets:

-- the "form" -- how to suck data out of a widget (e.g. GtkEntry)
  and stick it into a database

-- the "report" -- how to loop over the rows & columns of a recordset
  (the result of a query) and display them in a widget (e.g. GtkCTree)

I mostly choose this approach becuse it seemed easiest (no new widgets)
and the best-looking (you are limited only by what you can do with
glade, as opposed to being forced to use a particular grid/table
widget).  DWI now supports about a dozen(?) gtk+ widgets, and about
a half-dozen of the gnome widgets.   The core idea is to be able
to hook a database to *any* widget, even those that haven't been
designed yet.

New widgets are pretty easy to add; you just have to write a shim between the widgets get/set and the dwi get/set routines.
I've been planning on adding the gtkExtra widget set.
(and thereby get plotting "for free").

I know nothing about the gnomeDB grid/list widgets.
anyone care to explain them?
* add properties/support/whatever to all GnomeDb widgets so that all
their behavior can be specified at design time in Glade. That is, we
should be able to create, in Glade, a window with a GnmomeDbForm widget
on it, and from Glade, specify the connection parameters, the SQL
command, etc, that form will need to work. For this, again, a lot of the
work that Linas has done should be used.

Several remarks:
1) I'm trying to create a graphical designer for DWI (spec'd in DWI
itself! I'm trying to make DWI that flexible/powerful).
2) I *really* would like to see glade itself split into a bunch of
  widgets/libraries, so that I could embed parts of glade in *my* app.
  (e.g. so that I could embed the glade hierarchical viewer/picker
  in my app).  This may be a tall order but ...

  ... but it may be philosophically cleaner to add glade support to
  application X, rather than adding support for X into glade ...

  Glade  should be good at laying oput widgets, and no more.  I'd
  rather add glade to my DB designer, than to force my bloat onto
  glade.

agree. I have no need for extra database controls etc for glade and i use it
to as my database designer. It would confuse the user. I only use
the basic widget set nothing more. The thing i want from glade in the long
run is been able to embedded it into java applications some how.  may
mean a rewrite compeltely in java :(

3) I've begun converting the DWI internal structures into glib2
  GObjects.  The reason for this is somewhat subtle --- and would
  cloud this email.   But the idea is "wouldn't it be neat to have
  gobjects that know how to manipulate other gobjects (and hook
  them to databases)?"  This way, I can bootstrap up ... use DWI
  to design a DWI designer ...

4) The ultimate -- use DWI to power a web interface (using PHP???)
That way, I can have both a glade and a web interface for the cost of one. But this idea is still out there; haven't worked on it yet.

I've been wokring on this for month and a half. I've got it so i can parse a glade
XML file and generate all the HTML for it dynamically and lay it out just
like it would look in GTK. Working on web server now for processing. Difficult
bit is usercallbacks. when in gtk you make a shit load of callbacks (cross
dependent widgets etc), but callbacks are hugely damaging in the world of hmtl. But yes it is all possible. I'd suggest you use CGI instead of PHP though php is
very nice.




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