Re: [gnome-db] Creating a new widget with database support



On 7/2/07, Stefan de Konink <skinkie xs4all nl> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi,


I wrote my own 'chart' implementation for date's so it can be used as
planboard.

http://uva.hobby-site.com/~skinkie/chart.jpg


Now this is all very great (Cairo), but it uses libxml2 to store the
data, and reads it in as a GList, so as you might understand *this is
not very flexible*.

I would like to extend the widget to use a database with a specific
representation. For example an id,julian,julian thing. Now I wonder what
is the best way to implement this. When I look at some basic widgets
like combo's they are in essence gtk+gda, so it should be relatively simple.

Right. Using a libgda data model with 3 columns as id, date_start,
date_end would probably be a good representation. However, it would
add another dependency...


The same data should be made available in a 'grid' so people can look at
the data in two different representations. So I would just perform read
operations to render the widget and write operations on 'drops' and new
'instances'.

Yes, your widget can alter the data model (insert new rows, update
some rows, and delete some) and then that modified data model can be
saved to an XML file for example, or if it maps to a SELECT statement
(and it's modifyable), then the modifications can be stored directly
in the database.




...but I wonder, is anything in the gnome-db widgets 'cached' and is
there any way to receive a signal from the database to 'update' a view?
(Maybe this is sample_changed?)

Any data set in Libgda is represented as a GdaDataModel object (the
real implementation varies depending on its real/extra features). For
example there is a data model to read data from a CSV or XML file, and
data models which are generated when a SELECT statement is executed.

Anyway, there is a data model called GdaDataProxy which allows one to
"group" modifications to be done on a data model and apply them all at
once.


I want my final application to be used across different computers and I
I currently tested with the demo application if something change if I
added stuff between instances there was no update in the other. Is this
a feature that is available in the bigger databases such as PostgreSQL
or isn't any widget implemented so it can receive live updates? (Or poll
for updates?)

There is no API to be notified of data modification within a database,
you have to do some polling for that purpose (I'm not aware of any
DBMS's API which offers such a feature.)

Regards,

Vivien



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