gedit Reference Manual: GeditDocument

## GeditDocument GeditDocument |

## Functions

GQuark | gedit_document_error_quark ()
GeditDocument * | gedit_document_new ()
GFile * | gedit_document_get_location ()
void | gedit_document_set_location ()
gchar * | gedit_document_get_uri_for_display ()
gchar * | gedit_document_get_short_name_for_display ()
void | gedit_document_set_short_name_for_display ()
gchar * | gedit_document_get_mime_type ()
gboolean | gedit_document_get_readonly ()
gboolean | gedit_document_is_local ()
void | gedit_document_load ()
void | gedit_document_load_stream ()
gboolean | gedit_document_load_cancel ()
void | gedit_document_save ()
void | gedit_document_save_as ()
gboolean | gedit_document_is_untouched ()
gboolean | gedit_document_is_untitled ()
gboolean | gedit_document_get_deleted ()
gboolean | gedit_document_goto_line ()
gboolean | gedit_document_goto_line_offset ()
void | gedit_document_set_language ()
GeditDocumentNewlineType | gedit_document_get_newline_type ()
GeditDocumentCompressionType | gedit_document_get_compression_type ()
gchar * | gedit_document_get_content_type ()
void | gedit_document_set_content_type ()
gchar * | gedit_document_get_metadata ()
void | gedit_document_set_metadata ()
void | gedit_document_set_search_context ()
GtkSourceSearchContext * | gedit_document_get_search_context ()

## Properties

GeditDocumentCompressionType | compression-type | Read / Write / Construct
gchar * | content-type | Read / Write
gboolean | empty-search | Read
GeditEncoding * | encoding | Read
GFile * | location | Read / Write
gchar * | mime-type | Read
GeditDocumentNewlineType | newline-type | Read / Write / Construct
gboolean | read-only | Read
gchar * | shortname | Read / Write

## Signals

void | cursor-moved | Run Last
void | load | Run Last
void | loaded | Run Last
void | loading | Run Last
void | save | Run Last
void | saved | Run Last
void | saving | Run Last

## Types and Values

| GeditDocumentPrivate
struct | GeditDocument
enum | GeditDocumentSaveFlags
enum | GeditDocumentNewlineType
#define | GEDIT_DOCUMENT_NEWLINE_TYPE_DEFAULT
enum | GeditDocumentCompressionType
#define | GEDIT_DOCUMENT_ERROR

## Object Hierarchy

        GObject
        ╰── GtkTextBuffer
            ╰── GtkSourceBuffer
                ╰── GeditDocument

## Description

## Functions

### gedit_document_error_quark ()

    GQuark
    gedit_document_error_quark (void);

### gedit_document_new ()

    GeditDocument *
    gedit_document_new (void);

### gedit_document_get_location ()

    GFile *
    gedit_document_get_location (GeditDocument *doc);

#### Parameters

doc | a GeditDocument |

#### Returns

a copy of the internal GFile.

[allow-none][transfer full]

### gedit_document_set_location ()

    void
    gedit_document_set_location (GeditDocument *doc,
                                 GFile *location);

### gedit_document_get_uri_for_display ()

    gchar *
    gedit_document_get_uri_for_display (GeditDocument *doc);

Note: this never returns `NULL`.

#### Parameters

doc | a GeditDocument. |

### gedit_document_get_short_name_for_display ()

    gchar *
    gedit_document_get_short_name_for_display
                                   (GeditDocument *doc);

Note: this never returns `NULL`.

#### Parameters

doc | a GeditDocument. |

### gedit_document_set_short_name_for_display ()

    void
    gedit_document_set_short_name_for_display
                                   (GeditDocument *doc,
                                    const gchar *short_name);

#### Parameters

short_name | . | [allow-none]

### gedit_document_get_mime_type ()

    gchar *
    gedit_document_get_mime_type (GeditDocument *doc);

Note: this never returns `NULL`.

#### Parameters

doc | a GeditDocument. |

### gedit_document_get_readonly ()

    gboolean
    gedit_document_get_readonly (GeditDocument *doc);

### gedit_document_is_local ()

    gboolean
    gedit_document_is_local (GeditDocument *doc);

### gedit_document_load ()

    void
    gedit_document_load (GeditDocument *doc,
                         GFile *location,
                         const GeditEncoding *encoding,
                         gint line_pos,
                         gint column_pos,
                         gboolean create);

Load a document. This results in the "load" signal to be emitted.

#### Parameters

doc | the GeditDocument. |
location | the location where to load the document from. |
encoding | the GeditEncoding to encode the document, or `NULL`. | [allow-none]
line_pos | the line to show. |
column_pos | the column to show. |
create | whether the document should be created if it doesn't exist. |

### gedit_document_load_stream ()

    void
    gedit_document_load_stream (GeditDocument *doc,
                                GInputStream *stream,
                                const GeditEncoding *encoding,
                                gint line_pos,
                                gint column_pos);

#### Parameters

encoding | . | [allow-none]

### gedit_document_load_cancel ()

    gboolean
    gedit_document_load_cancel (GeditDocument *doc);

Cancel load of a document.

#### Parameters

doc | the GeditDocument. |

### gedit_document_save ()

    void
    gedit_document_save (GeditDocument *doc,
                         GeditDocumentSaveFlags flags);

Save the document to its previous location. This results in the "save" signal to be emitted.

#### Parameters

doc | the GeditDocument. |
flags | optionnal GeditDocumentSaveFlags. |

### gedit_document_save_as ()

    void
    gedit_document_save_as (GeditDocument *doc,
                            GFile *location,
                            const GeditEncoding *encoding,
                            GeditDocumentNewlineType newline_type,
                            GeditDocumentCompressionType compression_type,
                            GeditDocumentSaveFlags flags);

Save the document to a new location. This results in the "save" signal to be emitted.

#### Parameters

doc | the GeditDocument. |
location | the location where to save the document. |
encoding | the GeditEncoding to encode the document. |
newline_type | the GeditDocumentNewlineType for the document. |
compression_type | the compression type for the file. |
flags | optionnal GeditDocumentSaveFlags. |

### gedit_document_is_untouched ()

    gboolean
    gedit_document_is_untouched (GeditDocument *doc);

### gedit_document_is_untitled ()

    gboolean
    gedit_document_is_untitled (GeditDocument *doc);

### gedit_document_get_deleted ()

    gboolean
    gedit_document_get_deleted (GeditDocument *doc);

### gedit_document_goto_line ()

    gboolean
    gedit_document_goto_line (GeditDocument *doc,
                              gint line);

### gedit_document_goto_line_offset ()

    gboolean
    gedit_document_goto_line_offset (GeditDocument *doc,
                                     gint line,
                                     gint line_offset);

### gedit_document_set_language ()

    void
    gedit_document_set_language (GeditDocument *doc,
                                 GtkSourceLanguage *lang);

#### Parameters

lang | . | [allow-none]

### gedit_document_get_newline_type ()

    GeditDocumentNewlineType
    gedit_document_get_newline_type (GeditDocument *doc);

### gedit_document_get_compression_type ()

    GeditDocumentCompressionType
    gedit_document_get_compression_type (GeditDocument *doc);

### gedit_document_get_content_type ()

    gchar *
    gedit_document_get_content_type (GeditDocument *doc);

### gedit_document_set_content_type ()

    void
    gedit_document_set_content_type (GeditDocument *doc,
                                     const gchar *content_type);

#### Parameters

content_type | . | [allow-none]

### gedit_document_get_metadata ()

    gchar *
    gedit_document_get_metadata (GeditDocument *doc,
                                 const gchar *key);

Gets the metadata assigned to `key` .

#### Parameters

doc | a GeditDocument |
key | name of the key |

#### Returns

the value assigned to `key` .

### gedit_document_set_metadata ()

    void
    gedit_document_set_metadata (GeditDocument *doc,
                                 const gchar *first_key,
                                 ...);

Sets metadata on a document.

#### Parameters

doc | a GeditDocument |
first_key | name of the first key to set |
... | value for the first key, followed optionally by more key/value pairs, followed by `NULL`. | [allow-none]

### gedit_document_set_search_context ()

    void
    gedit_document_set_search_context (GeditDocument *doc,
                                       GtkSourceSearchContext *search_context);

Sets the new search context for the document. Use this function only when the search occurrences are highlighted. So this function should not be used for background searches. The purpose is to have only one highlighted search context at a time in the document.

After using this function, you should unref the `search_context` . The `doc` should be the only owner of the `search_context` , so that the Clear Highlight action works. If you need the `search_context` after calling this function, use `gedit_document_get_search_context()`.

#### Parameters

doc | a GeditDocument |
search_context | the new GtkSourceSearchContext. | [allow-none]

### gedit_document_get_search_context ()

    GtkSourceSearchContext *
    gedit_document_get_search_context (GeditDocument *doc);

Gets the search context. Use this function only if you have used `gedit_document_set_search_context()` before. You should not alter other search contexts, so you have to verify that the returned search context is yours. One way to verify that is to compare the search settings object, or to mark the search context with `g_object_set_data()`.

#### Parameters

doc | a GeditDocument |

#### Returns

the current search context of the document, or NULL if there is no current search context.

[transfer none]

## Types and Values

### GeditDocumentPrivate

    typedef struct _GeditDocumentPrivate GeditDocumentPrivate;

### struct GeditDocument

    struct GeditDocument;

### enum GeditDocumentSaveFlags

#### Members

GEDIT_DOCUMENT_SAVE_IGNORE_MTIME | save file despite external modifications. |
GEDIT_DOCUMENT_SAVE_IGNORE_BACKUP | write the file directly without attempting to backup. |
GEDIT_DOCUMENT_SAVE_PRESERVE_BACKUP | preserve previous backup file, needed to support autosaving. |
GEDIT_DOCUMENT_SAVE_IGNORE_INVALID_CHARS | do not save invalid characters. |

### enum GeditDocumentNewlineType

#### Members

GEDIT_DOCUMENT_NEWLINE_TYPE_LF |  |
GEDIT_DOCUMENT_NEWLINE_TYPE_CR |  |
GEDIT_DOCUMENT_NEWLINE_TYPE_CR_LF |  |

### GEDIT_DOCUMENT_NEWLINE_TYPE_DEFAULT

    #define GEDIT_DOCUMENT_NEWLINE_TYPE_DEFAULT GEDIT_DOCUMENT_NEWLINE_TYPE_CR_LF

### enum GeditDocumentCompressionType

#### Members

GEDIT_DOCUMENT_COMPRESSION_TYPE_NONE | save file in plain text. |
GEDIT_DOCUMENT_COMPRESSION_TYPE_GZIP | save file using gzip compression. |

### GEDIT_DOCUMENT_ERROR

    #define GEDIT_DOCUMENT_ERROR gedit_document_error_quark ()

## Property Details

### The `“compression-type”` property

      “compression-type”         GeditDocumentCompressionType

The :compression-type property determines how to compress the document when saving

Flags: Read / Write / Construct

Default value: GEDIT_DOCUMENT_COMPRESSION_TYPE_NONE

### The `“content-type”` property

      “content-type”             gchar *

The document's Content Type.

Flags: Read / Write

Default value: NULL

### The `“empty-search”` property

      “empty-search”             gboolean

The property is used internally by gedit. It must not be used in a gedit plugin. The property can be modified or removed at any time.

Flags: Read

Default value: TRUE

### The `“encoding”` property

      “encoding”                 GeditEncoding *

The GeditEncoding used for the document.

Flags: Read

### The `“location”` property

      “location”                 GFile *

The document's location.

Flags: Read / Write

### The `“mime-type”` property

      “mime-type”                gchar *

The document's MIME Type.

Flags: Read

Default value: "text/plain"

### The `“newline-type”` property

      “newline-type”             GeditDocumentNewlineType

The :newline-type property determines what is considered as a line ending when saving the document

Flags: Read / Write / Construct

Default value: GEDIT_DOCUMENT_NEWLINE_TYPE_LF

### The `“read-only”` property

      “read-only”                gboolean

Whether the document is read only or not.

Flags: Read

Default value: FALSE

### The `“shortname”` property

      “shortname”                gchar *

The document's short name.

Flags: Read / Write

Default value: NULL

## Signal Details

### The `“cursor-moved”` signal

    void
    user_function (GeditDocument *geditdocument,
                   gpointer       user_data)

Flags: Run Last

### The `“load”` signal

    void
    user_function (GeditDocument *document,
                   GFile         *location,
                   GeditEncoding *encoding,
                   gint           line_pos,
                   gint           column_pos,
                   gpointer       user_data)

The "load" signal is emitted when a document is loaded.

#### Parameters

document | the GeditDocument. |
location | the location where to load the document from. |
encoding | the GeditEncoding to encode the document. |
line_pos | the line to show. |
column_pos | the column to show. |
create | whether the document should be created if it doesn't exist. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since 2.22

### The `“loaded”` signal

    void
    user_function (GeditDocument *geditdocument,
                   GError        *arg1,
                   gpointer       user_data)

Flags: Run Last

### The `“loading”` signal

    void
    user_function (GeditDocument *geditdocument,
                   guint64        arg1,
                   guint64        arg2,
                   gpointer       user_data)

Flags: Run Last

### The `“save”` signal

    void
    user_function (GeditDocument               *document,
                   GFile                       *location,
                   GeditEncoding               *encoding,
                   GeditDocumentNewlineType     newline_type,
                   GeditDocumentCompressionType compression_type,
                   GeditDocumentSaveFlags       flags,
                   gpointer                     user_data)

The "save" signal is emitted when the document is saved.

#### Parameters

document | the GeditDocument. |
location | the location where the document is about to be saved. |
encoding | the GeditEncoding used to save the document. |
newline_type | the GeditDocumentNewlineType used to save the document. |
compression_type | the GeditDocumentCompressionType used to save the document. |
flags | the GeditDocumentSaveFlags for the save operation. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since 2.20

### The `“saved”` signal

    void
    user_function (GeditDocument *geditdocument,
                   GError        *arg1,
                   gpointer       user_data)

Flags: Run Last

### The `“saving”` signal

    void
    user_function (GeditDocument *geditdocument,
                   guint64        arg1,
                   guint64        arg2,
                   gpointer       user_data)

Flags: Run Last