## GimpPathEditor

GimpPathEditor — Widget for editing a file search path.

## Synopsis

                        GimpPathEditor;
    GtkWidget*          gimp_path_editor_new                (const gchar *title,
                                                             const gchar *path);
    gchar*              gimp_path_editor_get_path           (GimpPathEditor *editor);
    void                gimp_path_editor_set_path           (GimpPathEditor *editor,
                                                             const gchar *path);
    gchar*              gimp_path_editor_get_writable_path  (GimpPathEditor *editor);
    void                gimp_path_editor_set_writable_path  (GimpPathEditor *editor,
                                                             const gchar *path);
    gboolean            gimp_path_editor_get_dir_writable   (GimpPathEditor *editor,
                                                             const gchar *directory);
    void                gimp_path_editor_set_dir_writable   (GimpPathEditor *editor,
                                                             const gchar *directory,
                                                             gboolean writable);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBox
                                     +----GtkVBox
                                           +----GimpPathEditor

## Implemented Interfaces

GimpPathEditor implements AtkImplementorIface and GtkBuildable.

## Signals

      "path-changed"                                   : Run First
      "writable-changed"                               : Run First

## Description

This widget is used to edit file search paths.

It shows a list of all directories which are in the search path. You can click a directory to select it. The widget provides a GimpFileEntry to change the currently selected directory.

There are buttons to add or delete directories as well as "up" and "down" buttons to change the order in which the directories will be searched.

Whenever the user adds, deletes, changes or reorders a directory of the search path, the "path_changed" signal will be emitted.

## Details

### GimpPathEditor

    typedef struct _GimpPathEditor GimpPathEditor;

### gimp_path_editor_new ()

    GtkWidget*          gimp_path_editor_new                (const gchar *title,
                                                             const gchar *path);

Creates a new GimpPathEditor widget.

The elements of the initial search path must be separated with the G_SEARCHPATH_SEPARATOR character.

`title` : | The title of the GtkFileChooser dialog which can be popped up.
`path` : | The initial search path.
Returns : | A pointer to the new GimpPathEditor widget.

### gimp_path_editor_get_path ()

    gchar*              gimp_path_editor_get_path           (GimpPathEditor *editor);

The elements of the returned search path string are separated with the G_SEARCHPATH_SEPARATOR character.

Note that you have to `g_free()` the returned string.

`editor` : | The path editor you want to get the search path from.
Returns : | The search path the user has selected in the path editor.

### gimp_path_editor_set_path ()

    void                gimp_path_editor_set_path           (GimpPathEditor *editor,
                                                             const gchar *path);

The elements of the initial search path must be separated with the G_SEARCHPATH_SEPARATOR character.

`editor` : | The path editor you want to set the search path from.
`path` : | The new path to set.

### gimp_path_editor_get_writable_path ()

    gchar*              gimp_path_editor_get_writable_path  (GimpPathEditor *editor);

`editor` : |
Returns : |

### gimp_path_editor_set_writable_path ()

    void                gimp_path_editor_set_writable_path  (GimpPathEditor *editor,
                                                             const gchar *path);

`editor` : |
`path` : |

### gimp_path_editor_get_dir_writable ()

    gboolean            gimp_path_editor_get_dir_writable   (GimpPathEditor *editor,
                                                             const gchar *directory);

`editor` : |
`directory` : |
Returns : |

### gimp_path_editor_set_dir_writable ()

    void                gimp_path_editor_set_dir_writable   (GimpPathEditor *editor,
                                                             const gchar *directory,
                                                             gboolean writable);

`editor` : |
`directory` : |
`writable` : |

## Signal Details

### The `"path-changed"` signal

    void                user_function                      (GimpPathEditor *arg0,
                                                            gpointer        user_data)      : Run First

This signal is emitted whenever the user adds, deletes, modifies or reorders an element of the search path.

`user_data` : | user data set when the signal handler was connected.

### The `"writable-changed"` signal

    void                user_function                      (GimpPathEditor *arg0,
                                                            gpointer        user_data)      : Run First

This signal is emitted whenever the "writable" column of a directory is changed, either by the user clicking on it or by calling `gimp_path_editor_set_dir_writable()`.

`user_data` : | user data set when the signal handler was connected.

## See Also

GimpFileEntry

G_SEARCHPATH_SEPARATOR