Object Hierarchy

  GEnum
   +----GOFileFormatLevel
  GEnum
   +----GOFileSaveScope

Description

Details

enum GOFileFormatLevel

typedef enum {
	GO_FILE_FL_NONE,            /* No name assigned, won't happen */
	GO_FILE_FL_WRITE_ONLY,      /* PostScript etc, won't be remembered */
	GO_FILE_FL_NEW,             /* Wb just created */
	GO_FILE_FL_MANUAL,          /* Save gets punted to save as */
	GO_FILE_FL_MANUAL_REMEMBER, /* Ditto, but remember in history */
	GO_FILE_FL_AUTO,            /* Save will save to this filename */
	GO_FILE_FL_LAST
} GOFileFormatLevel;

File format levels. They are ordered. When we save a file, we remember the name, but not if we already have a name at a higher level. When created, workbooks are assigned a name at level GO_FILE_FL_NEW.

GO_FILE_FL_NONE

no name assigned, won't happen.

GO_FILE_FL_WRITE_ONLY

PostScript etc, won't be remembered.

GO_FILE_FL_NEW

Wb just created.

GO_FILE_FL_MANUAL

Save gets punted to save as.

GO_FILE_FL_MANUAL_REMEMBER

Ditto, but remember in history.

GO_FILE_FL_AUTO

Save will save to this filename.

GO_FILE_FL_LAST

last value, won't happen.

enum GOFileProbeLevel

typedef enum {
	GO_FILE_PROBE_FILE_NAME,
	GO_FILE_PROBE_CONTENT,
	GO_FILE_PROBE_LAST
} GOFileProbeLevel;

File probe level tells file opener (its probe method to be exact), how hard it should try to recognize the type of the file. File openers may ignore this or support only some probe levels, but if specifies "reccomened" behaviour. Before opening any file we detect its type by calling probe for every registered file opener (in order of priority) and passing GO_FILE_PROBE_FILE_NAME as probe level. If none of them recogizes the file, we increase probe level and try again...

GO_FILE_PROBE_FILE_NAME

Test only file name, don't read file contents

GO_FILE_PROBE_CONTENT

Read the whole file if it's necessary

GO_FILE_PROBE_LAST

Invalid

enum GOFileSaveScope

typedef enum {
	GO_FILE_SAVE_WORKBOOK,
	GO_FILE_SAVE_SHEET,
	GO_FILE_SAVE_RANGE,
	GO_FILE_SAVE_LAST
} GOFileSaveScope;

GOFileSaveScope specifies what information file saver can save in a file. Many savers can save the whole workbook (with all sheets), but others save only current sheet, usually because of file format limitations.

GO_FILE_SAVE_WORKBOOK

save the whole file.

GO_FILE_SAVE_SHEET

save only current page.

GO_FILE_SAVE_RANGE

save only a selected range.

GO_FILE_SAVE_LAST

last value, won't happen.

go_get_file_openers ()

GList *             go_get_file_openers                 (void);

Returns :

list of known GOFileOpener types (do not modify list). [element-type GOFileSaver][transfer none]

go_get_file_savers ()

GList *             go_get_file_savers                  (void);

Returns :

list of known GOFileSaver types (do not modify list). [element-type GOFileSaver][transfer none]