## GimpPathEditor

GimpPathEditor — Widget for editing a file search path.

## Synopsis

                GimpPathEditor;
    GtkWidget*  gimp_path_editor_new            (const gchar *filesel_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
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBox
                               +----GtkVBox
                                     +----GimpPathEditor

## Implemented Interfaces

GimpPathEditor implements AtkImplementorIface.

## Signal Prototypes

    "path-changed"
                void        user_function      (GimpPathEditor *arg0,
                                                gpointer user_data);
    "writable-changed"
                void        user_function      (GimpPathEditor *arg0,
                                                gpointer user_data);

## 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 *filesel_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.

`filesel_title` : | The title of the GtkFileSelection dialog which can be popped up by the attached GimpFileSelection.
`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` : |

## Signals

### The "path-changed" signal

    void        user_function                  (GimpPathEditor *arg0,
                                                gpointer user_data);

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);

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