Re: Saving objects in goffice



Jody Goldberg wrote:

On Mon, Feb 23, 2004 at 08:41:40PM +0100, Jean Brefort wrote:
Jody Goldberg wrote:

On Sat, Feb 21, 2004 at 11:44:19AM +0100, Jean Brefort wrote:
and in gog_object_write_property:

        case G_TYPE_OBJECT:
                val_obj = g_value_get_object (&value);
                if (val_obj != NULL) {
                        if (IS_GOG_PERSIST_DOM (val_obj)) {
<                            gog_persist_dom_save (GOG_PERSIST_DOM (val_obj), node);
                                success = gog_persist_dom_save (GOG_PERSIST_DOM (val_obj), node);
Also, success should be FALSE if val_obj is NULL.

Hmm, that does not fit well with my plans to ditch the DOM interface
and move to SAX alone.  For that we won't have the luxery of knowing
not to export the wrapper if the object's export fails.
Why is the val_obj != NULL test insufficient ?


The node will be saved even if empty since by default success is TRUE.

Agreed success should be set to FALSE in the val_obj == NULL case.
Please do a couple round trips to make sure it works smootly.
However, the question still stands why is the val_obj == NULL test
insufficent.  Why do you need the persist_dom interface to return a
flag ?

I thought that saving an error structure when there is no error is useless.
We'll have a node such that
<error type="none"/>
and as it is the default, it is just some unuseful characters.

But this is not my main concern at the moment. I tried several solutions to implement the error bars and, each time, I encounter serious problems. The main idea is that we should be able to support everything in xl or OOo. In the xl case, errors can be extracted from the sheet. So I thought I could use a GogDataset to get the data. I first tried to add a Dataset interface to the ErrorBar structure. This does not work since the GogDataset interface can only be implemented in a GogObject and as the ErrorBar is just a property of GogSeries (may be I am wrong on this point); if this solution is to be retained, it will need some changes in gog-data-set.c at least. I am now exploring another solution: add more dimensions directly in GogSeries, and, as I think these data should appear in the errors property page, we must have a flag (or a special priority?) to avoid having the selectors in the data page. It does not work at the moment. I must do more work unless the first solution is preferred.




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