
@c %start of fragment

@deftp Class <gnome-app-bar>
This @code{<gobject>} class defines the following properties:

@table @code
@item has-progress
Create a progress widget.

@item has-status
Create a status widget.

@item interactivity
Level of user activity required.

@end table

@end deftp

@defop Signal <gnome-app-bar> user-response 
@end defop

@defop Signal <gnome-app-bar> clear-prompt 
@end defop

@deffn Function gnome-appbar-new  (has_progress@tie{}@code{bool}) (has_status@tie{}@code{bool}) (interactivity@tie{}@code{<gnome-preferences-type>}) @result{}@tie{} (ret@tie{}@code{<gtk-widget>})
Create a new GNOME application status bar. If @var{has-progress} is
@samp{@code{#t}}, a small progress bar widget will be created, and placed on the
left side of the appbar. If @var{has-status} is @samp{@code{#t}}, a status bar,
possibly an editable one, is created.

The @var{interactivity} parameter determines whether the appbar is an
interactive "minibuffer" or just a status bar. If it is set to
@code{<gnome-preferences-never>}, it is never interactive. If it is set to
@code{<gnome-preferences-user>} we respect user preferences from ui-properties.
If it's @code{<gnome-preferences-always>} we are interactive whether the user
likes it or not. Basically, if your app supports both interactive and not (for
example, if you use the gnome-app-util interfaces), you should use
@code{<gnome-preferences-user>}. Otherwise, use the setting you support. Please
note that "interactive" mode is not functional now; GtkEntry is inadequate and
so a custom widget will be written eventually.

@table @var
@item has-progress
@samp{@code{#t}} if appbar needs progress bar widget, @samp{@code{#f}} if not.

@item has-status
@samp{@code{#t}} if appbar needs status bar widget, @samp{@code{#f}} if not.

@item interactivity
Level of user activity required.

@item ret
Pointer to new @code{<gnome-app-bar>} widget.

@end table

@end deffn

@deffn Function gnome-appbar-set-status  (self@tie{}@code{<gnome-app-bar>}) (status@tie{}@code{mchars})
Sets the status label without changing widget state; next call to
@code{gnome-appbar-set-status} or @code{gnome-appbar-push} will destroy this
permanently.

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

@item status
Text to which status label will be set.

@end table

@end deffn

@deffn Function gnome-appbar-get-status  (self@tie{}@code{<gnome-app-bar>}) @result{}@tie{} (ret@tie{}@code{<gtk-widget>})
Retrieves the statusbar widget.

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

@item ret
A pointer to the statusbar widget.

@end table

@end deffn

@deffn Function gnome-appbar-set-default  (self@tie{}@code{<gnome-app-bar>}) (default_status@tie{}@code{mchars})
What to show when showing nothing else is on the stack; defaults to the empty
string.

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

@item default-status
Text for status label.

@end table

@end deffn

@deffn Function gnome-appbar-push  (self@tie{}@code{<gnome-app-bar>}) (status@tie{}@code{mchars})
Push a new status message onto the status bar stack and display it.

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

@item status
Text of status message.

@end table

@end deffn

@deffn Function gnome-appbar-pop  (self@tie{}@code{<gnome-app-bar>})
Remove current status message, and display previous status message, if any. It
is fine to call this with an empty stack.

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

@end table

@end deffn

@deffn Function gnome-appbar-clear-stack  (self@tie{}@code{<gnome-app-bar>})
Remove all status messages from @var{appbar}, and display default status message
(if present).

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

@end table

@end deffn

@deffn Function gnome-appbar-get-progress  (self@tie{}@code{<gnome-app-bar>}) @result{}@tie{} (ret@tie{}@code{<gtk-progress-bar>})
Retrieves the progress bar widget for further manipulation.

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

@item ret
A @code{<gtk-progress-bar>} widget which is @var{appbar}'s progress bar, or
@samp{@code{#f}} if @var{appbar} has no progress bar.

@end table

@end deffn

@deffn Function gnome-appbar-refresh  (self@tie{}@code{<gnome-app-bar>})
Refresh the status message bar by redrawing the item on the top of the stack, or
the default value if the stack is empty.. Useful to force the message from a
previous call to @code{gnome-appbar-set-status} to disappear.

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

@end table

@end deffn

@deffn Function gnome-appbar-set-prompt  (self@tie{}@code{<gnome-app-bar>}) (prompt@tie{}@code{mchars}) (modal@tie{}@code{bool})
Put a prompt in the appbar and wait for a response. When the user responds or
cancels, a 'user_response' signal is emitted.

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

@item prompt
Text of the prompt message.

@item modal
If @samp{@code{#t}}, grabs input.

@end table

@end deffn

@deffn Function gnome-appbar-clear-prompt  (self@tie{}@code{<gnome-app-bar>})
Remove any prompt from the status message bar.

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

@end table

@end deffn

@deffn Function gnome-appbar-get-response  (self@tie{}@code{<gnome-app-bar>}) @result{}@tie{} (ret@tie{}@code{mchars})
Get the response to the prompt, if any.

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

@item ret
Text from @var{appbar} entry widget, as entered by user. This string should be
freed by the caller (using @code{gfree}) when no longer required.

@end table

@end deffn


@c %end of fragment
