## Glade Utils

Glade Utils — Welcome to the zoo.

## Functions

GType | glade_util_get_type_from_name ()
GParamSpec * | glade_utils_get_pspec_from_funcname ()
gboolean | glade_util_ui_message ()
void | glade_util_flash_message ()
gint | glade_util_compare_stock_labels ()
GtkWidget * | glade_util_file_dialog_new ()
void | glade_util_replace ()
gchar * | glade_util_read_prop_name ()
gchar * | glade_util_duplicate_underscores ()
GList * | glade_util_container_get_all_children ()
gint | glade_util_count_placeholders ()
GtkTreeIter * | glade_util_find_iter_by_widget ()
GList * | glade_util_purify_list ()
GList * | glade_util_added_in_list ()
GList * | glade_util_removed_from_list ()
gchar * | glade_util_canonical_path ()
GModule * | glade_util_load_library ()
gboolean | glade_util_file_is_writeable ()
gboolean | glade_util_have_devhelp ()
GtkWidget * | glade_util_get_devhelp_icon ()
void | glade_util_search_devhelp ()
GtkWidget * | glade_util_get_placeholder_from_pointer ()
gboolean | glade_util_object_is_loading ()
gboolean | glade_util_url_show ()
time_t | glade_util_get_file_mtime ()

## Types and Values

enum | GladeUtilFileDialogType
enum | GladeUIMessageType

## Description

This is where all of that really usefull miscalanious stuff lands up.

## Functions

### glade_util_get_type_from_name ()

    GType
    glade_util_get_type_from_name (const gchar *name,
                                   gboolean have_func);

Returns the type using the "get type" function name based on `name` . If the `have_func` flag is true,`name` is used directly, otherwise the get-type function is contrived from `name` then used.

#### Parameters

name | the name of the GType - like 'GtkWidget' or a "get-type" function. |
have_func | function-name flag -- true if the name is a "get-type" function. |

#### Returns

the new GType

### glade_utils_get_pspec_from_funcname ()

    GParamSpec *
    glade_utils_get_pspec_from_funcname (const gchar *funcname);

#### Parameters

funcname | the symbol name of a function to generate a GParamSpec |

#### Returns

A GParamSpec created by the delagate function specified by `funcname`

### glade_util_ui_message ()

    gboolean
    glade_util_ui_message (GtkWidget *parent,
                           GladeUIMessageType type,
                           GtkWidget *widget,
                           const gchar *format,
                           ...);

Creates a new warning dialog window as a child of `parent` containing the text of `format` , runs it, then destroys it on close. Depending on `type` , a cancel button may apear or the icon may change.

#### Parameters

parent | a GtkWindow cast as a GtkWidget |
type | a GladeUIMessageType |
widget | a GtkWidget to append to the dialog vbox |
format | a printf style format string |
... | args for the format. |

#### Returns

True if the `type` was GLADE_UI_ARE_YOU_SURE and the user selected "OK", True if the `type` was GLADE_UI_YES_OR_NO and the user selected "YES"; False otherwise.

### glade_util_flash_message ()

    void
    glade_util_flash_message (GtkWidget *statusbar,
                              guint context_id,
                              gchar *format,
                              ...);

### glade_util_compare_stock_labels ()

    gint
    glade_util_compare_stock_labels (gconstpointer a,
                                     gconstpointer b);

This is a GCompareFunc that compares the labels of two stock items, ignoring any '_' characters. It isn't particularly efficient.

#### Parameters

a | a gconstpointer to a GtkStockItem |
b | a gconstpointer to a GtkStockItem |

#### Returns

negative value if `a` < `b` ; zero if `a` = `b` ; positive value if `a` > `b`

### glade_util_file_dialog_new ()

    GtkWidget *
    glade_util_file_dialog_new (const gchar *title,
                                GladeProject *project,
                                GtkWindow *parent,
                                GladeUtilFileDialogType action);

#### Parameters

title | dialog title |
project | a GladeProject used when saving |
parent | a parent GtkWindow for the dialog |
action | a GladeUtilFileDialogType to say if the dialog will open or save |

#### Returns

a "glade file" file chooser dialog. The caller is responsible for showing the dialog

### glade_util_replace ()

    void
    glade_util_replace (gchar *str,
                        gchar a,
                        gchar b);

Replaces each occurance of the character `a` in `str` to `b` .

#### Parameters

str | a string |
a | a gchar |
b | a gchar |

### glade_util_read_prop_name ()

    gchar *
    glade_util_read_prop_name (const gchar *str);

Return a usable version of a property identifier as found in a freshly parserd GladeInterface

#### Parameters

str | a string |

### glade_util_duplicate_underscores ()

    gchar *
    glade_util_duplicate_underscores (const gchar *name);

Duplicates `name` , but the copy has two underscores in place of any single underscore in the original.

#### Parameters

name | a string |

#### Returns

a newly allocated string

### glade_util_container_get_all_children ()

    GList *
    glade_util_container_get_all_children (GtkContainer *container);

Use this to itterate over all children in a GtkContainer, as it used `_forall()` instead of `_foreach()` (and the GTK+ version of this function is simply not exposed).

Note that `glade_widget_class_get_children()` is the high-level abstraction and will usually end up calling this function.

#### Parameters

container | a GtkContainer |

#### Returns

a GList giving the contents of `container`

### glade_util_count_placeholders ()

    gint
    glade_util_count_placeholders (GladeWidget *parent);

#### Parameters

parent | a GladeWidget |

#### Returns

the amount of GladePlaceholders parented by `parent`

### glade_util_find_iter_by_widget ()

    GtkTreeIter *
    glade_util_find_iter_by_widget (GtkTreeModel *model,
                                    GladeWidget *findme,
                                    gint column);

Looks through `model` for the GtkTreeIter corresponding to `findme` under `column` .

#### Parameters

model | a GtkTreeModel |
findme | a GladeWidget |
column | a gint |

#### Returns

a newly allocated GtkTreeIter from `model` corresponding to `findme` which should be freed with `gtk_tree_iter_free()`

### glade_util_purify_list ()

    GList *
    glade_util_purify_list (GList *list);

#### Parameters

list | A GList |

#### Returns

A newly allocated version of `list` with no duplicate data entries

### glade_util_added_in_list ()

    GList *
    glade_util_added_in_list (GList *old_list,
                              GList *new_list);

#### Parameters

old_list | the old GList |
new_list | the new GList |

#### Returns

A newly allocated GList of elements that are in `new` but not in `old`

### glade_util_removed_from_list ()

    GList *
    glade_util_removed_from_list (GList *old_list,
                                  GList *new_list);

#### Parameters

old_list | the old GList |
new_list | the new GList |

#### Returns

A newly allocated GList of elements that are in `old` no longer in `new`

### glade_util_canonical_path ()

    gchar *
    glade_util_canonical_path (const gchar *path);

#### Parameters

path | any path that may contain ".." or "." components |

#### Returns

an absolute path to the specified file or directory that contains no ".." or "." components (this does not call readlink like `realpath()` does).

Note: on some systems; I think its possible that we dont have permission to execute in the directory in which the glade file resides; I decided finally to do it this way anyway since libc's `realpath()` does exactly the same.

### glade_util_load_library ()

    GModule *
    glade_util_load_library (const gchar *library_name);

Loads the named library from the Glade modules and lib directory or failing that from the standard platform specific directories. (Including /usr/local/lib for unices)

The `library_name` should not include any platform specifix prefix or suffix, those are automatically added, if needed, by `g_module_build_path()`

#### Parameters

library_name | name of the library |

#### Returns

a GModule on success, or `NULL` on failure.

### glade_util_file_is_writeable ()

    gboolean
    glade_util_file_is_writeable (const gchar *path);

Checks whether the file at `path` is writeable

#### Parameters

path | the path to the file |

#### Returns

TRUE if file is writeable

### glade_util_have_devhelp ()

    gboolean
    glade_util_have_devhelp (void);

#### Returns

whether the devhelp module is loaded

### glade_util_get_devhelp_icon ()

    GtkWidget *
    glade_util_get_devhelp_icon (GtkIconSize size);

Creates an image displaying the devhelp icon.

#### Parameters

size | the preferred icon size |

#### Returns

a GtkImage

### glade_util_search_devhelp ()

    void
    glade_util_search_devhelp (const gchar *book,
                               const gchar *page,
                               const gchar *search);

### glade_util_get_placeholder_from_pointer ()

    GtkWidget *
    glade_util_get_placeholder_from_pointer
                                   (GtkContainer *container);

### glade_util_object_is_loading ()

    gboolean
    glade_util_object_is_loading (GObject *object);

#### Parameters

object | A GObject |

#### Returns

Whether the object's project is being loaded or not.

### glade_util_url_show ()

    gboolean
    glade_util_url_show (const gchar *url);

Portable function for showing an URL `url` in a web browser.

#### Parameters

url | An URL to display |

#### Returns

TRUE if a web browser was successfully launched, or FALSE

### glade_util_get_file_mtime ()

    time_t
    glade_util_get_file_mtime (const gchar *filename,
                               GError **error);

Gets the UTC modification time of file `filename` .

#### Parameters

filename | A filename |
error | return location for errors |

#### Returns

The mtime of the file, or `0` if the file attributes could not be read.

## Types and Values

### enum GladeUtilFileDialogType

#### Members

GLADE_FILE_DIALOG_ACTION_OPEN |  |
GLADE_FILE_DIALOG_ACTION_SAVE |  |

### enum GladeUIMessageType

#### Members

GLADE_UI_INFO |  |
GLADE_UI_WARN |  |
GLADE_UI_ERROR |  |
GLADE_UI_ARE_YOU_SURE |  |
GLADE_UI_YES_OR_NO |  |