[gnome-db] Re: dwi and libgda



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.

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.


--linas


-- 
pub  1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas linas org>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984  3F54 64A9 9A82 0104 5933



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