
@c %start of fragment

@deffn Function gnome-accelerators-sync 
Flush the accelerator definitions into the application specific configuration
file $HOME/.gnome2/accels/<app-id>.

@end deffn

@deffn Function gnome-app-fill-menu  (menu_shell@tie{}@code{<gtk-menu-shell>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (accel_group@tie{}@code{<gtk-accel-group>}) (uline_accels@tie{}@code{bool}) (pos@tie{}@code{int})
Fills the specified @var{menu-shell} with items created from the specified
@var{uiinfo}, inserting them from the item number @var{pos} on. The @var{accel}
group will be used as the accel group for all newly created sub menus and serves
as the global accel group for all menu item hotkeys. If it is passed as
@samp{@code{#f}}, global hotkeys will be disabled.

@table @var
@item menu-shell
A @code{<gtk-menu-shell>} instance (a menu bar).

@item uiinfo
A pointer to the first element in an array of @code{<gnome-ui-info>} structures.
The last element of the array should have a type of
@code{<gnome-app-ui-endofinfo>}.

@item accel-group
A @code{<gtk-accel-group>}.

@item uline-accels
@samp{@code{#t}} if underline accelerators will be drawn for the menu item
labels.

@item pos
The position in the menu bar at which to start inserting items.

@end table

@end deffn

@deffn Function gnome-app-fill-menu-with-data  (menu_shell@tie{}@code{<gtk-menu-shell>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (accel_group@tie{}@code{<gtk-accel-group>}) (uline_accels@tie{}@code{bool}) (pos@tie{}@code{int}) (user_data@tie{}@code{<gpointer>})
This is the same as @code{gnome-app-fill-menu}, except that all the user data
pointers are filled with the value of @var{user-data}.

@table @var
@item menu-shell
A @code{<gtk-menu-shell>} instance (a menu bar).

@item uiinfo
A pointer to the first element in an array of @code{<gnome-ui-info>} structures.
The last element of the array should have a type of
@code{<gnome-app-ui-endofinfo>}.

@item accel-group
A @code{<gtk-accel-group>}.

@item uline-accels
@samp{@code{#t}} if underline accelerators will be drawn for the menu item
labels.

@item pos
The position in the menu bar at which to start inserting items.

@item user-data
Some application-specific data.

@end table

@end deffn

@deffn Function gnome-app-fill-menu-custom  (menu_shell@tie{}@code{<gtk-menu-shell>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (uibdata@tie{}@code{<gnome-ui-builder-data*>}) (accel_group@tie{}@code{<gtk-accel-group>}) (uline_accels@tie{}@code{bool}) (pos@tie{}@code{int})
Fills the specified menu shell with items created from the specified
@var{uiinfo}, inserting them from item number @var{pos} on and using the
specified builder data (@var{uibdata}) -- this is intended for language
bindings.

The other parameters have the same meaning as in @code{gnome-app-fill-menu}.

@table @var
@item menu-shell
A @code{<gtk-menu-shell>} instance (a menu bar).

@item uiinfo
A pointer to the first element in an array of @code{<gnome-ui-info>} structures.
The last element of the array should have a type of
@code{<gnome-app-ui-endofinfo>}.

@item uibdata
A @code{<gnome-ui-info-builder-data>} instance.

@item accel-group
A @code{<gtk-accel-group>}.

@item uline-accels
@samp{@code{#t}} if underline accelerators will be drawn for the menu item
labels.

@item pos
The position in the menu bar at which to start inserting items.

@end table

@end deffn

@deffn Function gnome-app-ui-configure-configurable  (uiinfo@tie{}@code{<gnome-ui-info*>})
Configure all user-configurable elements in the given UI info structure. This
includes loading and setting previously-set options from GNOME config files.

Normally, @code{gnome-app-create-menus} calls this function for the developer,
but if something needs to be altered afterwards, this function can be called
first. The main reason for this function being a public interface is so that it
can be called from @code{gnome-popup-menu-new}, which clears a copy of the pass
in @code{<gnome-ui-info>} structures.

@table @var
@item uiinfo
Pointer to GNOME UI menu/toolbar info

@end table

@end deffn

@deffn Function gnome-app-create-menus  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>})
@deffnx Method create-menus
Constructs a menu bar and attaches it to the specified application window.

@table @var
@item app
A @code{<gnome-app>} instance representing the current application.

@item uiinfo
The first in an array @code{<gnome-ui-info>} instances containing the menu data.

@end table

@end deffn

@deffn Function gnome-app-create-menus-interp  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (relay_func@tie{}@code{<gtk-callback-marshal>}) (data@tie{}@code{<gpointer>}) (destroy_func@tie{}@code{<gtk-destroy-notify>})
@deffnx Method create-menus-interp
Identical to @code{gnome-app-create-menus}, except that extra functions and data
can be passed in for finer control of the destruction and marshalling.

@table @var
@item app
A @code{<gnome-app>} instance, representing the current application.

@item uiinfo
The first item in an array of @code{<gnome-ui-info>} structures describing the
menu bar.

@item relay-func
A marshaller for the signal callbacks.

@item data
Application specific data passed to the signal callback functions.

@item destroy-func
The function to call when the menu bar is destroyed.

@end table

@end deffn

@deffn Function gnome-app-create-menus-with-data  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (user_data@tie{}@code{<gpointer>})
@deffnx Method create-menus-with-data
Identical to @code{gnome-app-create-menus}, except that @var{user-data} is
passed to all the callback functions when signals are emitted.

@table @var
@item app
A @code{<gnome-app>} instance representing the current application.

@item uiinfo
The first in an array @code{<gnome-ui-info>} instances containing the menu data.

@item user-data
Application-specific data that is passed to every callback function.

@end table

@end deffn

@deffn Function gnome-app-create-menus-custom  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (uibdata@tie{}@code{<gnome-ui-builder-data*>})
@deffnx Method create-menus-custom
Identical to @code{gnome-app-create-menus}, except that @var{uibdata} is also
specified for creating the signal handlers. Mostly for use by language bindings.

@table @var
@item app
A @code{<gnome-app>} instance representing the current application.

@item uiinfo
The first in an array @code{<gnome-ui-info>} instances containing the menu data.

@item uibdata
An appropriate @code{<gnome-ui-builder-data>} instance.

@end table

@end deffn

@deffn Function gnome-app-fill-toolbar  (toolbar@tie{}@code{<gtk-toolbar>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (accel_group@tie{}@code{<gtk-accel-group>})
Fills @var{toolbar} with buttons specified in @var{uiinfo}. If @var{accel-group}
is not @samp{@code{#f}}, the items' accelrator keys are put into it.

@table @var
@item toolbar
A @code{<gtk-toolbar>} instance.

@item uiinfo
An array of @code{<gnome-ui-info>} structures containing the items for the
toolbar.

@item accel-group
A @code{<gtk-accel-group>} for holding the accelerator keys of the items (or
@samp{@code{#f}}).

@end table

@end deffn

@deffn Function gnome-app-fill-toolbar-with-data  (toolbar@tie{}@code{<gtk-toolbar>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (accel_group@tie{}@code{<gtk-accel-group>}) (user_data@tie{}@code{<gpointer>})
The same as @code{gnome-app-fill-toolbar}, except that the user data pointers in
the signal handlers are set to @var{user-data}.

@table @var
@item toolbar
A @code{<gtk-toolbar>} instance.

@item uiinfo
An array of @code{<gnome-ui-info>} structures containing the items for the
toolbar.

@item accel-group
A @code{<gtk-accel-group>} for holding the accelerator keys of the items (or
@samp{@code{#f}}).

@item user-data
Application specific data.

@end table

@end deffn

@deffn Function gnome-app-fill-toolbar-custom  (toolbar@tie{}@code{<gtk-toolbar>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (uibdata@tie{}@code{<gnome-ui-builder-data*>}) (accel_group@tie{}@code{<gtk-accel-group>})
The same as @code{gnome-app-fill-toolbar}, except that the sepcified
@var{uibdata} instance is used. This is mostly for the benefit of language
bindings.

@table @var
@item toolbar
A @code{<gtk-toolbar>} instance.

@item uiinfo
An array of @code{<gnome-ui-info>} structures containing the items for the
toolbar.

@item uibdata
The @code{<gnome-ui-builder-data>} data for the toolbar.

@item accel-group
A @code{<gtk-accel-group>} for holding the accelerator keys of the items (or
@samp{@code{#f}}).

@end table

@end deffn

@deffn Function gnome-app-create-toolbar  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>})
@deffnx Method create-toolbar
Constructs a toolbar and attaches it to the specified application window.

@table @var
@item app
A @code{<gnome-app>} instance.

@item uiinfo
A @code{<gnome-ui-info>} array specifying the contents of the toolbar.

@end table

@end deffn

@deffn Function gnome-app-create-toolbar-interp  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (relay_func@tie{}@code{<gtk-callback-marshal>}) (data@tie{}@code{<gpointer>}) (destroy_func@tie{}@code{<gtk-destroy-notify>})
@deffnx Method create-toolbar-interp
Constructs a toolbar and attaches it to the specified application window -- this
version is intended for language bindings.

@table @var
@item app
A @code{<gnome-app>} instance.

@item uiinfo
A @code{<gnome-ui-info>} array specifying the contents of the toolbar.

@item relay-func
Argument marshalling function.

@item data
Application specific data to pass to signal callbacks.

@item destroy-func
The function to call when the toolbar is destroyed.

@end table

@end deffn

@deffn Function gnome-app-create-toolbar-with-data  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (user_data@tie{}@code{<gpointer>})
@deffnx Method create-toolbar-with-data
Constructs a toolbar, sets all the user data pointers to @var{user-data}, and
attaches it to @var{app}.

@table @var
@item app
A @code{<gnome-app>} instance.

@item uiinfo
A @code{<gnome-ui-info>} array specifying the contents of the toolbar.

@item user-data
Application specific data to be sent to each signal callback function.

@end table

@end deffn

@deffn Function gnome-app-create-toolbar-custom  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (uibdata@tie{}@code{<gnome-ui-builder-data*>})
@deffnx Method create-toolbar-custom
Constructs a toolbar and attaches it to the @var{app} window, using
@var{uibdata} builder data -- intended for language bindings.

@table @var
@item app
A @code{<gnome-app>} instance.

@item uiinfo
A @code{<gnome-ui-info>} array specifying the contents of the toolbar.

@item uibdata
A @code{<gnome-ui-builder-data>} instance specifying the handlers to use for the
toolbar.

@end table

@end deffn

@deffn Function gnome-app-find-menu-pos  (parent@tie{}@code{<gtk-widget>}) (path@tie{}@code{mchars}) @result{}@tie{} (ret@tie{}@code{<gtk-widget>}) (pos@tie{}@code{int})
Finds a menu item described by path starting in the @code{<gtk-menu-shell>} top
and returns its parent @code{<gtk-menu-shell>} and the position after this item
in @var{pos}. The meaning of @var{pos} is that a subsequent call to
gtk_menu_shell_insert(p, w, pos) would then insert widget w in GtkMenuShell p
right after the menu item described by path.

@table @var
@item parent
Root menu shell widget containing menu items to be searched.

@item path
Specifies the target menu item by menu path.

@item pos
Used to hold the returned menu items' position.

@item ret
The parent menu shell of @var{path}.

@end table

@end deffn

@deffn Function gnome-app-remove-menus  (self@tie{}@code{<gnome-app>}) (path@tie{}@code{mchars}) (items@tie{}@code{int})
@deffnx Method remove-menus
Removes @var{items} items from the existing @var{app}'s menu structure,
beginning with item described by @var{path}.

The @var{path} argument should be in the form "File/.../.../Something". "" will
insert the item as the first one in the menubar, "File/" will insert it as the
first one in the File menu, "File/Settings" will insert it after the Setting
item in the File menu use of "File/<Separator>" should be obvious. However, the
use of "<Seperator>" stops after the first separator.

@table @var
@item app
A @code{<gnome-app>} instance.

@item path
A path to the menu item concerned.

@item items
The number of items to remove.

@end table

@end deffn

@deffn Function gnome-app-remove-menu-range  (self@tie{}@code{<gnome-app>}) (path@tie{}@code{mchars}) (start@tie{}@code{int}) (items@tie{}@code{int})
@deffnx Method remove-menu-range
Same as the @code{gnome-app-remove-menus}, except it removes the specified
number of @var{items} from the existing @var{app}'s menu structure begining with
item described by (@var{path} plus @var{start}). This is very useful for adding
and removing Recent document items in the File menu.

@table @var
@item app
A @code{<gnome-app>} instance.

@item path
A path to the menu item concerned.

@item start
An offset beyond the start of @var{path} at which to begin removing.

@item items
The number of items to remove.

@end table

@end deffn

@deffn Function gnome-app-insert-menus-custom  (self@tie{}@code{<gnome-app>}) (path@tie{}@code{mchars}) (uiinfo@tie{}@code{<gnome-ui-info*>}) (uibdata@tie{}@code{<gnome-ui-builder-data*>})
@deffnx Method insert-menus-custom
Inserts menus described by @var{uiinfo} in existing @var{app}'s menu structure
right after the item described by @var{path}. The @var{uibdata} parameter makes
this, again, most useful for language bindings.

@table @var
@item app
A @code{<gnome-app>} instance.

@item path
A path to the menu item concerned.

@item uiinfo
A @code{<gnome-ui-info>} array describing the menus.

@item uibdata
A @code{<gnome-ui-builder-data>} instance describing the functions to attach as
the menu's callbacks.

@end table

@end deffn

@deffn Function gnome-app-insert-menus  (self@tie{}@code{<gnome-app>}) (path@tie{}@code{mchars}) (menuinfo@tie{}@code{<gnome-ui-info*>})
@deffnx Method insert-menus
Insert the menus given by @var{menuinfo} beginning at @var{path} into the
pre-existing @var{app}.

@table @var
@item app
A @code{<gnome-app>} instance.

@item path
A path to the menu item concerned.

@item menuinfo
A @code{<gnome-ui-info>} array describing the menus.

@end table

@end deffn

@deffn Function gnome-app-insert-menus-with-data  (self@tie{}@code{<gnome-app>}) (path@tie{}@code{mchars}) (menuinfo@tie{}@code{<gnome-ui-info*>}) (data@tie{}@code{<gpointer>})
@deffnx Method insert-menus-with-data
This is the same as @code{gnome-app-insert-menus}, except that the specified
@var{data} is passed to each signal callback.

@table @var
@item app
A @code{<gnome-app>} instance.

@item path
A path to the menu item concerned.

@item menuinfo
A @code{<gnome-ui-info>} array describing the menus.

@item data
Application specific data to send to each signal callback.

@end table

@end deffn

@deffn Function gnome-app-insert-menus-interp  (self@tie{}@code{<gnome-app>}) (path@tie{}@code{mchars}) (menuinfo@tie{}@code{<gnome-ui-info*>}) (relay_func@tie{}@code{<gtk-callback-marshal>}) (data@tie{}@code{<gpointer>}) (destroy_func@tie{}@code{<gtk-destroy-notify>})
@deffnx Method insert-menus-interp
THe same as @code{gnome-app-insert-menus}, except that the given functions are
attached to each menu item. Mostly of use for language bindings.

@table @var
@item app
A @code{<gnome-app>} instance.

@item path
A path to the menu item concerned.

@item menuinfo
A @code{<gnome-ui-info>} array describing the menus.

@item relay-func
A custom marshallar for signal data.,

@item data
Application-specific data to send to each signal callback.

@item destroy-func
The function to call when the menu item is destroyed.

@end table

@end deffn

@deffn Function gnome-app-install-appbar-menu-hints  (appbar@tie{}@code{<gnome-app-bar>}) (uiinfo@tie{}@code{<gnome-ui-info*>})
Install menu hints for the given @var{appbar} object. This function cannot just
be called automatically, since it is impossible to reliably find the correct
@var{appbar}.

@table @var
@item appbar
An existing @code{<gnome-app-bar>} instance.

@item uiinfo
A @code{<gnome-ui-info>} array of a menu for which hints will be set.

@end table

@end deffn

@deffn Function gnome-app-install-menu-hints  (self@tie{}@code{<gnome-app>}) (uiinfo@tie{}@code{<gnome-ui-info*>})
@deffnx Method install-menu-hints
Set menu hints for the @var{app} object's attached status bar.

@table @var
@item app
An existing @code{<gnome-app-bar>} instance.

@item uiinfo
A @code{<gnome-ui-info>} array of a menu for which hints will be set.

@end table

@end deffn

@deffn Function gnome-app-setup-toolbar  (toolbar@tie{}@code{<gtk-toolbar>}) (dock_item@tie{}@code{<bonobo-dock-item*>})
Sets up a toolbar to use GNOME user preferences.

@table @var
@item toolbar
Pointer to a @code{<gtk-toolbar>} instance.

@item dock-item
Pointer to the @code{<bonobo-dock-item>} the toolbar is inside, or
@samp{@code{#f}} for none.

@end table

@end deffn

@deffn Function gnome-app-helper-gettext  (string@tie{}@code{mchars}) @result{}@tie{} (ret@tie{}@code{mchars})
Translate @var{string} by calling @code{gettext} and then, if that did not
change the string, @code{dgettext} with the domain set to libgnome's message
domain.

@table @var
@item string
The string to translate.

@item ret
The localised value of the string.

@end table

@end deffn


@c %end of fragment
