<HTML
><HEAD
><TITLE
>GnomeDialog</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME"
TITLE="Gnome User Interface Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="GNOME Widgets and Objects"
HREF="gnome-objects.html"><LINK
REL="PREVIOUS"
TITLE="GnomeDEntryEdit"
HREF="gnomedentryedit.html"><LINK
REL="NEXT"
TITLE="GnomeDockBand"
HREF="gnomedockband.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TH
COLSPAN="4"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="5"
>Gnome User Interface Library Reference Manual</FONT
></TH
></TR
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="gnomedentryedit.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="gnome-objects.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="gnomedockband.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="GNOMEDIALOG"
>GnomeDialog</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN13729"
></A
><H2
>Name</H2
>GnomeDialog&nbsp;--&nbsp;Transient ("popup") dialogs.</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN13732"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;#include &lt;gnome.h&gt;


struct      <A
HREF="gnomedialog.html#GNOMEDIALOG-STRUCT"
>GnomeDialog</A
>;
<GTKDOCLINK
HREF="GTKWIDGET"
>GtkWidget</GTKDOCLINK
>*  <A
HREF="gnomedialog.html#GNOME-DIALOG-NEW"
>gnome_dialog_new</A
>                (const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *title,
                                             ...);
<GTKDOCLINK
HREF="GTKWIDGET"
>GtkWidget</GTKDOCLINK
>*  <A
HREF="gnomedialog.html#GNOME-DIALOG-NEWV"
>gnome_dialog_newv</A
>               (const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *title,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **buttons);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-SET-PARENT"
>gnome_dialog_set_parent</A
>         (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GTKWINDOW"
>GtkWindow</GTKDOCLINK
> *parent);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-BUTTON-CONNECT"
>gnome_dialog_button_connect</A
>     (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button,
                                             <GTKDOCLINK
HREF="GTKSIGNALFUNC"
>GtkSignalFunc</GTKDOCLINK
> callback,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> data);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-BUTTON-CONNECT-OBJECT"
>gnome_dialog_button_connect_object</A
>
                                            (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button,
                                             <GTKDOCLINK
HREF="GTKSIGNALFUNC"
>GtkSignalFunc</GTKDOCLINK
> callback,
                                             <GTKDOCLINK
HREF="GTKOBJECT"
>GtkObject</GTKDOCLINK
> *obj);
<GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
>        <A
HREF="gnomedialog.html#GNOME-DIALOG-RUN"
>gnome_dialog_run</A
>                (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog);
<GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
>        <A
HREF="gnomedialog.html#GNOME-DIALOG-RUN-AND-CLOSE"
>gnome_dialog_run_and_close</A
>      (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-SET-DEFAULT"
>gnome_dialog_set_default</A
>        (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-SET-SENSITIVE"
>gnome_dialog_set_sensitive</A
>      (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button,
                                             <GTKDOCLINK
HREF="GBOOLEAN"
>gboolean</GTKDOCLINK
> setting);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-SET-ACCELERATOR"
>gnome_dialog_set_accelerator</A
>    (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button,
                                             const <GTKDOCLINK
HREF="GUCHAR"
>guchar</GTKDOCLINK
> accelerator_key,
                                             <GTKDOCLINK
HREF="GUINT8"
>guint8</GTKDOCLINK
> accelerator_mods);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE"
>gnome_dialog_close</A
>              (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE-HIDES"
>gnome_dialog_close_hides</A
>        (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GBOOLEAN"
>gboolean</GTKDOCLINK
> just_hide);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-SET-CLOSE"
>gnome_dialog_set_close</A
>          (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GBOOLEAN"
>gboolean</GTKDOCLINK
> click_closes);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-EDITABLE-ENTERS"
>gnome_dialog_editable_enters</A
>    (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GTKEDITABLE"
>GtkEditable</GTKDOCLINK
> *editable);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-APPEND-BUTTONS"
>gnome_dialog_append_buttons</A
>     (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *first,
                                             ...);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-APPEND-BUTTON"
>gnome_dialog_append_button</A
>      (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *name);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-APPEND-BUTTONSV"
>gnome_dialog_append_buttonsv</A
>    (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **buttons);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-APPEND-BUTTON-WITH-PIXMAP"
>gnome_dialog_append_button_with_pixmap</A
>
                                            (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *name,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *pixmap);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-APPEND-BUTTONS-WITH-PIXMAPS"
>gnome_dialog_append_buttons_with_pixmaps</A
>
                                            (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **names,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **pixmaps);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-CONSTRUCT"
>gnome_dialog_construct</A
>          (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *title,
                                             va_list ap);
void        <A
HREF="gnomedialog.html#GNOME-DIALOG-CONSTRUCTV"
>gnome_dialog_constructv</A
>         (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *title,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **buttons);&#13;</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN13809"
></A
><H2
>Object Hierarchy</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;  <GTKDOCLINK
HREF="GTKOBJECT"
>GtkObject</GTKDOCLINK
>
   +----<GTKDOCLINK
HREF="GTKWIDGET"
>GtkWidget</GTKDOCLINK
>
         +----<GTKDOCLINK
HREF="GTKCONTAINER"
>GtkContainer</GTKDOCLINK
>
               +----<GTKDOCLINK
HREF="GTKBIN"
>GtkBin</GTKDOCLINK
>
                     +----<GTKDOCLINK
HREF="GTKWINDOW"
>GtkWindow</GTKDOCLINK
>
                           +----GnomeDialog</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN13817"
></A
><H2
>Description</H2
><P
>GnomeDialog gives dialogs a consistent look and feel, while making
them more convenient to program. GnomeDialog makes it easy to use
stock buttons, makes it easier to handle delete_event, and adds some
cosmetic touches (such as a separator above the buttons, and a bevel
around the edge of the window). </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN13820"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN13822"
></A
><H3
><A
NAME="GNOMEDIALOG-STRUCT"
></A
>struct GnomeDialog</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct GnomeDialog;</PRE
></TD
></TR
></TABLE
><P
>struct _GnomeDialog
{
    	GtkWindow window;
    	GtkWidget * vbox;
      
    	GtkWidget * action_area; /* A button box, not an hbox */
      
    	GList *buttons;
    	GtkAccelGroup * accelerators;
      
    	unsigned int click_closes : 1;
    	unsigned int just_hide : 1;
      
    	gpointer padding;
};</P
><P
>Only <TT
CLASS="STRUCTFIELD"
><I
>vbox</I
></TT
> should be accessed directly.</P
><DIV
CLASS="EXAMPLE"
><P
><B
>Example 1. Using GnomeDialog to implement yes/no/cancel</B
></P
><TABLE
BORDER="0"
BGCOLOR="#D8F8D8"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="INCLUDE"
>include</GTKDOCLINK
> <FONT
COLOR="RED"
>&#13;/*
 * This function demostrates how to use the GnomeDialog in
 * modal mode to request a yes/no from the user.
 *
 * It sets the title to title and inserts the message in message.
 *
 * If main_window is not NULL, it also binds the dialog to that
 * window (so if you minimize the main window, this dialog also
 * gets minimized).
 */
int
yes_no (GtkWindow *main_window, char *title, char *message)
{
	GtkWidget *dialog, *label;
	int button;

	dialog = gnome_dialog_new (
		title,
		GNOME_STOCK_BUTTON_YES,
		GNOME_STOCK_BUTTON_NO,
		NULL);
        if (main_window)
	        gnome_dialog_set_parent (GNOME_DIALOG (dialog), main_window);

	label = gtk_label_new (message);
        gtk_box_pack_start (GTK_BOX (GNOME_DIALOG (dialog)-&#62;vbox), label, TRUE, TRUE, 0);

	/*
	 * Run the dialog and wait for the user to select yes or no.
	 * If the user closes the window with the window manager, we
	 * will get a -1 return value
	 */
	button = gnome_dialog_run_and_close (GNOME_DIALOG (dialog));

	return button;
}

int
main (int argc, char **argv)
{
       int button;
       
       gnome_init ("SampleProgram", "1.0", argc, argv);

       button = yes_no ("Question?", "Do you like the Bonobos?");

       switch (button){
              case 0:
	              printf ("User selected yes\n");
		      break;
	      case 1:
	              printf ("User selected no\n");
		      break;
	      case -1:
	              printf ("User closed the window with the window manager\n");
		      break;
       }
       return 0;
}&#13;</FONT
></PRE
></TD
></TR
></TABLE
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN13834"
></A
><H3
><A
NAME="GNOME-DIALOG-NEW"
></A
>gnome_dialog_new ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GTKWIDGET"
>GtkWidget</GTKDOCLINK
>*  gnome_dialog_new                (const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *title,
                                             ...);</PRE
></TD
></TR
></TABLE
><P
>Creates a new <A
HREF="gnomedialog.html"
>GnomeDialog</A
>, with the given title, and any button names 
in the arg list. Buttons can be simple names, such as _("My Button"),
or gnome-stock defines such as <TT
CLASS="LITERAL"
>GNOME_STOCK_BUTTON_OK</TT
>, etc. The last
argument should be NULL to terminate the list.  </P
><P
>Buttons passed to this function are numbered from left to right,
starting with 0. So the first button in the arglist is button 0,
then button 1, etc.  These numbers are used throughout the
<A
HREF="gnomedialog.html"
>GnomeDialog</A
> API.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>title</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The title of the dialog; appears in window titlebar.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>...</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> NULL-terminated varargs list of button names or GNOME_STOCK_BUTTON_* defines.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The new <A
HREF="gnomedialog.html"
>GnomeDialog</A
>.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN13864"
></A
><H3
><A
NAME="GNOME-DIALOG-NEWV"
></A
>gnome_dialog_newv ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GTKWIDGET"
>GtkWidget</GTKDOCLINK
>*  gnome_dialog_newv               (const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *title,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **buttons);</PRE
></TD
></TR
></TABLE
><P
>See <A
HREF="gnomedialog.html#GNOME-DIALOG-NEW"
>gnome_dialog_new</A
>(), this function is identical but does not use
varargs.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>title</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Title of the dialog.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buttons</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> NULL-terminated vector of buttons names.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The new <A
HREF="gnomedialog.html"
>GnomeDialog</A
>.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN13892"
></A
><H3
><A
NAME="GNOME-DIALOG-SET-PARENT"
></A
>gnome_dialog_set_parent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_set_parent         (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GTKWINDOW"
>GtkWindow</GTKDOCLINK
> *parent);</PRE
></TD
></TR
></TABLE
><P
>Dialogs have "parents," usually the main application window which spawned 
them. This function will let the window manager know about the parent-child
relationship. Usually this means the dialog must stay on top of the parent,
and will be minimized when the parent is. Gnome also allows users to 
request dialog placement above the parent window (vs. at the mouse position,
or at a default window manger location).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to set the parent of.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>parent</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Parent <GTKDOCLINK
HREF="GTKWINDOW"
>GtkWindow</GTKDOCLINK
>.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN13915"
></A
><H3
><A
NAME="GNOME-DIALOG-BUTTON-CONNECT"
></A
>gnome_dialog_button_connect ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_button_connect     (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button,
                                             <GTKDOCLINK
HREF="GTKSIGNALFUNC"
>GtkSignalFunc</GTKDOCLINK
> callback,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> data);</PRE
></TD
></TR
></TABLE
><P
>Simply <GTKDOCLINK
HREF="GTK-SIGNAL-CONNECT"
>gtk_signal_connect</GTKDOCLINK
>() to the "clicked" signal of the specified button.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>button</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Button number.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>callback</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> A standard Gtk callback.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>data</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Callback data.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN13948"
></A
><H3
><A
NAME="GNOME-DIALOG-BUTTON-CONNECT-OBJECT"
></A
>gnome_dialog_button_connect_object ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_button_connect_object
                                            (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button,
                                             <GTKDOCLINK
HREF="GTKSIGNALFUNC"
>GtkSignalFunc</GTKDOCLINK
> callback,
                                             <GTKDOCLINK
HREF="GTKOBJECT"
>GtkObject</GTKDOCLINK
> *obj);</PRE
></TD
></TR
></TABLE
><P
><GTKDOCLINK
HREF="GTK-SIGNAL-CONNECT-OBJECT"
>gtk_signal_connect_object</GTKDOCLINK
>() to the "clicked" signal of the given button.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>button</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Button to connect to.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>callback</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Callback.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>obj</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> As for <GTKDOCLINK
HREF="GTK-SIGNAL-CONNECT-OBJECT"
>gtk_signal_connect_object</GTKDOCLINK
>().</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN13982"
></A
><H3
><A
NAME="GNOME-DIALOG-RUN"
></A
>gnome_dialog_run ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
>        gnome_dialog_run                (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog);</PRE
></TD
></TR
></TABLE
><P
>Blocks until the user clicks a button, or closes the dialog with the 
window manager's close decoration (or by pressing Escape).</P
><P
>You need to set up the dialog to do the right thing when a button
is clicked or delete_event is received; you must consider both of
those possibilities so that you know the status of the dialog when
<A
HREF="gnomedialog.html#GNOME-DIALOG-RUN"
>gnome_dialog_run</A
>() returns. A common mistake is to forget about
Escape and the window manager close decoration; by default, these
call <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE"
>gnome_dialog_close</A
>(), which by default destroys the dialog. If
your button clicks do not destroy the dialog, you don't know
whether the dialog is destroyed when <A
HREF="gnomedialog.html#GNOME-DIALOG-RUN"
>gnome_dialog_run</A
>()
returns. This is bad.</P
><P
>So you should either close the dialog on button clicks as well, or
change the <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE"
>gnome_dialog_close</A
>() behavior to hide instead of
destroy. You can do this with <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE-HIDES"
>gnome_dialog_close_hides</A
>().</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to use.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  If a button was pressed, the button number is returned. If not, -1 is returned.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14011"
></A
><H3
><A
NAME="GNOME-DIALOG-RUN-AND-CLOSE"
></A
>gnome_dialog_run_and_close ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
>        gnome_dialog_run_and_close      (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog);</PRE
></TD
></TR
></TABLE
><P
>See <A
HREF="gnomedialog.html#GNOME-DIALOG-RUN"
>gnome_dialog_run</A
>(). The only difference is that this function calls 
<A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE"
>gnome_dialog_close</A
>() before returning, if the dialog was not already closed.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to use.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> If a button was pressed, the button number. Otherwise -1.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14035"
></A
><H3
><A
NAME="GNOME-DIALOG-SET-DEFAULT"
></A
>gnome_dialog_set_default ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_set_default        (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button);</PRE
></TD
></TR
></TABLE
><P
>The default button will be activated if the user just presses return.
Usually you should make the least-destructive button the default.
Otherwise, the most commonly-used button.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>button</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Number of the default button.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14057"
></A
><H3
><A
NAME="GNOME-DIALOG-SET-SENSITIVE"
></A
>gnome_dialog_set_sensitive ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_set_sensitive      (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button,
                                             <GTKDOCLINK
HREF="GBOOLEAN"
>gboolean</GTKDOCLINK
> setting);</PRE
></TD
></TR
></TABLE
><P
>Calls <GTKDOCLINK
HREF="GTK-WIDGET-SET-SENSITIVE"
>gtk_widget_set_sensitive</GTKDOCLINK
>() on the specified button number.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>button</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Which button to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>setting</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> TRUE means it's sensitive.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14085"
></A
><H3
><A
NAME="GNOME-DIALOG-SET-ACCELERATOR"
></A
>gnome_dialog_set_accelerator ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_set_accelerator    (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GINT"
>gint</GTKDOCLINK
> button,
                                             const <GTKDOCLINK
HREF="GUCHAR"
>guchar</GTKDOCLINK
> accelerator_key,
                                             <GTKDOCLINK
HREF="GUINT8"
>guint8</GTKDOCLINK
> accelerator_mods);</PRE
></TD
></TR
></TABLE
><P
></P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>button</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Button number.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>accelerator_key</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Key for the accelerator.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>accelerator_mods</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Modifier.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14117"
></A
><H3
><A
NAME="GNOME-DIALOG-CLOSE"
></A
>gnome_dialog_close ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_close              (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog);</PRE
></TD
></TR
></TABLE
><P
>See also <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE-HIDES"
>gnome_dialog_close_hides</A
>(). This function emits the
"close" signal, which either hides or destroys the dialog (destroy
by default). If you connect to the "close" signal, and your
callback returns TRUE, the hide or destroy will be blocked. You can
do this to avoid closing the dialog if the user gives invalid
input, for example.</P
><P
>Using <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE"
>gnome_dialog_close</A
>() in place of <GTKDOCLINK
HREF="GTK-WIDGET-HIDE"
>gtk_widget_hide</GTKDOCLINK
>() or
<GTKDOCLINK
HREF="GTK-WIDGET-DESTROY"
>gtk_widget_destroy</GTKDOCLINK
>() allows you to easily catch all sources of
dialog closure, including delete_event and button clicks, and
handle them in a central location.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to close.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14139"
></A
><H3
><A
NAME="GNOME-DIALOG-CLOSE-HIDES"
></A
>gnome_dialog_close_hides ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_close_hides        (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GBOOLEAN"
>gboolean</GTKDOCLINK
> just_hide);</PRE
></TD
></TR
></TABLE
><P
>Some dialogs are expensive to create, so you want to keep them around and just 
<GTKDOCLINK
HREF="GTK-WIDGET-SHOW"
>gtk_widget_show</GTKDOCLINK
>() them when they are opened, and <GTKDOCLINK
HREF="GTK-WIDGET-HIDE"
>gtk_widget_hide</GTKDOCLINK
>() them when 
they're closed. Other dialogs are expensive to keep around, so you want to 
<GTKDOCLINK
HREF="GTK-WIDGET-DESTROY"
>gtk_widget_destroy</GTKDOCLINK
>() them when they're closed. It's a judgment call you 
will need to make for each dialog.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>just_hide</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> If TRUE, <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE"
>gnome_dialog_close</A
>() calls <GTKDOCLINK
HREF="GTK-WIDGET-HIDE"
>gtk_widget_hide</GTKDOCLINK
>() instead of <GTKDOCLINK
HREF="GTK-WIDGET-DESTROY"
>gtk_widget_destroy</GTKDOCLINK
>().</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14167"
></A
><H3
><A
NAME="GNOME-DIALOG-SET-CLOSE"
></A
>gnome_dialog_set_close ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_set_close          (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GBOOLEAN"
>gboolean</GTKDOCLINK
> click_closes);</PRE
></TD
></TR
></TABLE
><P
>This is a convenience function so you don't have to connect callbacks
to each button just to close the dialog. By default, <A
HREF="gnomedialog.html"
>GnomeDialog</A
> 
has this parameter set the FALSE and it will not close on any click.
(This was a design error.) However, almost all the <A
HREF="gnomedialog.html"
>GnomeDialog</A
> subclasses,
such as <A
HREF="gnomemessagebox.html"
>GnomeMessageBox</A
> and <A
HREF="gnomepropertybox.html"
>GnomePropertyBox</A
>, have this parameter set to
TRUE by default.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>click_closes</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> TRUE if clicking any button should call <A
HREF="gnomedialog.html#GNOME-DIALOG-CLOSE"
>gnome_dialog_close</A
>().</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14194"
></A
><H3
><A
NAME="GNOME-DIALOG-EDITABLE-ENTERS"
></A
>gnome_dialog_editable_enters ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_editable_enters    (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             <GTKDOCLINK
HREF="GTKEDITABLE"
>GtkEditable</GTKDOCLINK
> *editable);</PRE
></TD
></TR
></TABLE
><P
>Normally if there's an editable widget (such as <GTKDOCLINK
HREF="GTKENTRY"
>GtkEntry</GTKDOCLINK
>) in your
dialog, pressing Enter will activate the editable rather than the
default dialog button. However, in most cases, the user expects to
type something in and then press enter to close the dialog. This 
function enables that behavior.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to affect.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>editable</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Editable to affect.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14217"
></A
><H3
><A
NAME="GNOME-DIALOG-APPEND-BUTTONS"
></A
>gnome_dialog_append_buttons ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_append_buttons     (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *first,
                                             ...);</PRE
></TD
></TR
></TABLE
><P
>This function is mostly for internal library use. You should use
<A
HREF="gnomedialog.html#GNOME-DIALOG-NEW"
>gnome_dialog_new</A
>() instead. See that function for a description of
the button arguments.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to add buttons to.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>first</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> First button to add.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>...</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> varargs list of additional buttons, NULL-terminated.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14244"
></A
><H3
><A
NAME="GNOME-DIALOG-APPEND-BUTTON"
></A
>gnome_dialog_append_button ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_append_button      (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *name);</PRE
></TD
></TR
></TABLE
><P
>This function is mostly for internal library use. You should use
<A
HREF="gnomedialog.html#GNOME-DIALOG-NEW"
>gnome_dialog_new</A
>() instead. See that function for a description of
the button argument.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to add button to.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14267"
></A
><H3
><A
NAME="GNOME-DIALOG-APPEND-BUTTONSV"
></A
>gnome_dialog_append_buttonsv ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_append_buttonsv    (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **buttons);</PRE
></TD
></TR
></TABLE
><P
>For internal use, language bindings, etc. Use <A
HREF="gnomedialog.html#GNOME-DIALOG-NEW"
>gnome_dialog_new</A
>() instead.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to append to.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buttons</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> NULL-terminated vector of buttons to append.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14290"
></A
><H3
><A
NAME="GNOME-DIALOG-APPEND-BUTTON-WITH-PIXMAP"
></A
>gnome_dialog_append_button_with_pixmap ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_append_button_with_pixmap
                                            (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *name,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *pixmap);</PRE
></TD
></TR
></TABLE
><P
><A
HREF="gnomedialog.html#GNOME-DIALOG-NEW"
>gnome_dialog_new</A
>() does not permit custom buttons with pixmaps, so if you 
want one of those you need to use this function.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to add the button to.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>pixmap</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14318"
></A
><H3
><A
NAME="GNOME-DIALOG-APPEND-BUTTONS-WITH-PIXMAPS"
></A
>gnome_dialog_append_buttons_with_pixmaps ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_append_buttons_with_pixmaps
                                            (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **names,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **pixmaps);</PRE
></TD
></TR
></TABLE
><P
>Simply calls <A
HREF="gnomedialog.html#GNOME-DIALOG-APPEND-BUTTON-WITH-PIXMAP"
>gnome_dialog_append_button_with_pixmap</A
>() repeatedly.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="gnomedialog.html"
>GnomeDialog</A
> to append to.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>names</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> NULL-terminated vector of button names.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>pixmaps</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> NULL-terminated vector of pixmap names.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14346"
></A
><H3
><A
NAME="GNOME-DIALOG-CONSTRUCT"
></A
>gnome_dialog_construct ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_construct          (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *title,
                                             va_list ap);</PRE
></TD
></TR
></TABLE
><P
>See <A
HREF="gnomedialog.html#GNOME-DIALOG-NEW"
>gnome_dialog_new</A
>().</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Dialog to construct.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>title</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Title of the dialog.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ap</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> va_list of buttons, NULL-terminated.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN14372"
></A
><H3
><A
NAME="GNOME-DIALOG-CONSTRUCTV"
></A
>gnome_dialog_constructv ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        gnome_dialog_constructv         (<A
HREF="gnomedialog.html"
>GnomeDialog</A
> *dialog,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *title,
                                             const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> **buttons);</PRE
></TD
></TR
></TABLE
><P
>See <A
HREF="gnomedialog.html#GNOME-DIALOG-NEW"
>gnome_dialog_new</A
>().</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>dialog</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Dialog to construct.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>title</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Title of the dialog.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buttons</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> NULL-terminated array of buttons.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN14399"
></A
><H2
>See Also</H2
><P
><A
HREF="gnomeabout.html"
>GnomeAbout</A
> <A
HREF="gnomepropertybox.html"
>GnomePropertyBox</A
> <A
HREF="gnomemessagebox.html"
>GnomeMessageBox</A
> <A
HREF="gnomescores.html"
>GnomeScores</A
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><BR
CLEAR="all"><BR><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="gnomedentryedit.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="gnome-objects.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="gnomedockband.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="left"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>GnomeDEntryEdit</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>GnomeDockBand</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>