Synopsis

                    GODoc;
GOImage *           go_doc_add_image                    (GODoc *doc,
                                                         char const *id,
                                                         GOImage *image);
void                go_doc_end_read                     (GODoc *doc);
gint64              go_doc_get_dirty_time               (GODoc const *doc);
GOImage *           go_doc_get_image                    (GODoc *doc,
                                                         char const *id);
GHashTable *        go_doc_get_images                   (GODoc *doc);
GsfDocMetaData *    go_doc_get_meta_data                (GODoc const *doc);
char const	*        go_doc_get_uri                      (GODoc const *doc);
GOImage *           go_doc_image_fetch                  (GODoc *doc,
                                                         char const *id,
                                                         GType type);
void                go_doc_init_read                    (GODoc *doc,
                                                         GsfInput *input);
void                go_doc_init_write                   (GODoc *doc,
                                                         GsfXMLOut *output);
gboolean            go_doc_is_dirty                     (GODoc const *doc);
gboolean            go_doc_is_pristine                  (GODoc const *doc);
void                go_doc_read                         (GODoc *doc,
                                                         GsfXMLIn *xin,
                                                         xmlChar const **attrs);
void                go_doc_save_image                   (GODoc *doc,
                                                         char const *id);
void                go_doc_save_resource                (GODoc *doc,
                                                         GOPersist const *gp);
void                go_doc_set_dirty                    (GODoc *doc,
                                                         gboolean is_dirty);
void                go_doc_set_dirty_time               (GODoc *doc,
                                                         gint64 t);
void                go_doc_set_meta_data                (GODoc *doc,
                                                         GsfDocMetaData *data);
void                go_doc_set_pristine                 (GODoc *doc,
                                                         gboolean pristine);
gboolean            go_doc_set_uri                      (GODoc *doc,
                                                         char const *uri);
void                go_doc_update_meta_data             (GODoc *doc);
void                go_doc_write                        (GODoc *doc,
                                                         GsfXMLOut *output);

Object Hierarchy

  GObject
   +----GODoc

Properties

  "dirty"                    gboolean              : Read / Write
  "dirty-time"               gint64                : Read / Write
  "pristine"                 gboolean              : Read / Write
  "uri"                      gchar*                : Read / Write

Description

Details

GODoc

typedef struct _GODoc GODoc;


go_doc_add_image ()

GOImage *           go_doc_add_image                    (GODoc *doc,
                                                         char const *id,
                                                         GOImage *image);

Adds image to the document if no such image already exists. The name of the returned image might be different from id, even if given.

doc :

a GODoc

id :

the image name or NULL

image :

a GOImage

Returns :

either image, in which case the document adds a reference on it, or an identical image for which the owner does not own a reference. [transfer none]

go_doc_end_read ()

void                go_doc_end_read                     (GODoc *doc);


go_doc_get_dirty_time ()

gint64              go_doc_get_dirty_time               (GODoc const *doc);

doc :

GODoc

Returns :

the time (as in g_get_real_time()) the document was first marked dirty.

go_doc_get_image ()

GOImage *           go_doc_get_image                    (GODoc *doc,
                                                         char const *id);

doc :

a GODoc

id :

the image name

Returns :

the GOImage is one exist with name id. The caller does not own a reference. [transfer none]

go_doc_get_images ()

GHashTable *        go_doc_get_images                   (GODoc *doc);

doc :

GODoc

Returns :

the images registered inside the document. [transfer none]

go_doc_get_meta_data ()

GsfDocMetaData *    go_doc_get_meta_data                (GODoc const *doc);

doc :

GODoc

Returns :

doc's metadata. [transfer none]

go_doc_get_uri ()

char const	*        go_doc_get_uri                      (GODoc const *doc);


go_doc_image_fetch ()

GOImage *           go_doc_image_fetch                  (GODoc *doc,
                                                         char const *id,
                                                         GType type);

Searches for a GOImage with name id in the document image buffer and creates one if needed. The caller does not own a reference on the returned GOImage. This function must be called after a call to go_doc_init_read(), otherwise it will emit a critical and return NULL.

doc :

a GODoc

id :

the name for the new image.

type :

the type of the GOImage to create if needed.

Returns :

the found or created GOImage. [transfer none]

go_doc_init_read ()

void                go_doc_init_read                    (GODoc *doc,
                                                         GsfInput *input);


go_doc_init_write ()

void                go_doc_init_write                   (GODoc *doc,
                                                         GsfXMLOut *output);


go_doc_is_dirty ()

gboolean            go_doc_is_dirty                     (GODoc const *doc);

doc :

GODoc

Returns :

TRUE if doc has been modified.

go_doc_is_pristine ()

gboolean            go_doc_is_pristine                  (GODoc const *doc);

This checks to see if the doc has ever been used ( approximately )

doc :

GODoc

Returns :

TRUE if we can discard this doc.

go_doc_read ()

void                go_doc_read                         (GODoc *doc,
                                                         GsfXMLIn *xin,
                                                         xmlChar const **attrs);


go_doc_save_image ()

void                go_doc_save_image                   (GODoc *doc,
                                                         char const *id);

Saves the image with the document. Each image will be saved only once.

doc :

a GODoc

id :

the Id of the GOImage to save

go_doc_save_resource ()

void                go_doc_save_resource                (GODoc *doc,
                                                         GOPersist const *gp);

Saves the resource with the document. Each resource will be saved only once.

doc :

a GODoc

gp :

the GOPersist to save

go_doc_set_dirty ()

void                go_doc_set_dirty                    (GODoc *doc,
                                                         gboolean is_dirty);

Changes the dirty state of doc to is_dirty and clears the pristine state no matter what.

doc :

GODoc

is_dirty :

bool

go_doc_set_dirty_time ()

void                go_doc_set_dirty_time               (GODoc *doc,
                                                         gint64 t);

Changes the dirty time, i.e., the time the document was first marked dirty.

doc :

GODoc

t :

a timestamp from g_get_real_time

go_doc_set_meta_data ()

void                go_doc_set_meta_data                (GODoc *doc,
                                                         GsfDocMetaData *data);

Adds a ref to data.

doc :

GODoc

data :

GsfDocMetaData

go_doc_set_pristine ()

void                go_doc_set_pristine                 (GODoc *doc,
                                                         gboolean pristine);

Sets the indication of whether this document is unchanged since it was created. Note: if both "dirty" and "pristine" are being set, set "pristine" last.

doc :

GODoc

pristine :

a gboolean.

go_doc_set_uri ()

gboolean            go_doc_set_uri                      (GODoc *doc,
                                                         char const *uri);

doc :

the document to modify

uri :

the uri for this worksheet.

Returns :

TRUE if the name was set succesfully.

go_doc_update_meta_data ()

void                go_doc_update_meta_data             (GODoc *doc);

Signal that doc's metadata should be updated - statistics (sheet count, word count) - content (sheet names, bookmarks) - reloading linked items

doc :

GODoc

go_doc_write ()

void                go_doc_write                        (GODoc *doc,
                                                         GsfXMLOut *output);

Property Details

The "dirty" property

  "dirty"                    gboolean              : Read / Write

Whether the document has been changed.

Default value: FALSE


The "dirty-time" property

  "dirty-time"               gint64                : Read / Write

When the document was first changed.

Default value: 0


The "pristine" property

  "pristine"                 gboolean              : Read / Write

Whether the document is unchanged since it was created.

Default value: FALSE


The "uri" property

  "uri"                      gchar*                : Read / Write

The URI associated with this document.

Default value: NULL

Signal Details

The "metadata-changed" signal

void                user_function                      (GODoc   *godoc,
                                                        gpointer user_data)      : Run Last

godoc :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

The "metadata-update" signal

void                user_function                      (GODoc   *godoc,
                                                        gpointer user_data)      : Run Last

godoc :

the object which received the signal.

user_data :

user data set when the signal handler was connected.