X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkdialog.h;h=1d941c7ef1dd5936b46947fa2607526f831867f3;hb=HEAD;hp=f42371ebc2fc2120fbb2a87f898594c884e4640a;hpb=6603a0868d879b557af907c5107c724b20e8bc13;p=~andy%2Fgtk diff --git a/gtk/gtkdialog.h b/gtk/gtkdialog.h index f42371ebc..1d941c7ef 100644 --- a/gtk/gtkdialog.h +++ b/gtk/gtkdialog.h @@ -12,73 +12,76 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GTK_DIALOG_H__ #define __GTK_DIALOG_H__ -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS -/* Parameters for dialog construction */ +/** + * GtkDialogFlags: + * @GTK_DIALOG_MODAL: Make the constructed dialog modal, + * see gtk_window_set_modal() + * @GTK_DIALOG_DESTROY_WITH_PARENT: Destroy the dialog when its + * parent is destroyed, see gtk_window_set_destroy_with_parent() + * + * Flags used to influence dialog construction. + */ typedef enum { - GTK_DIALOG_MODAL = 1 << 0, /* call gtk_window_set_modal (win, TRUE) */ - GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1, /* call gtk_window_set_destroy_with_parent () */ - GTK_DIALOG_NO_SEPARATOR = 1 << 2 /* no separator bar above buttons */ + GTK_DIALOG_MODAL = 1 << 0, + GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1 } GtkDialogFlags; -/* Convenience enum to use for response_id's. Positive values are - * totally user-interpreted. GTK will sometimes return - * GTK_RESPONSE_NONE if no response_id is available. +/** + * GtkResponseType: + * @GTK_RESPONSE_NONE: Returned if an action widget has no response id, + * or if the dialog gets programmatically hidden or destroyed + * @GTK_RESPONSE_REJECT: Generic response id, not used by GTK+ dialogs + * @GTK_RESPONSE_ACCEPT: Generic response id, not used by GTK+ dialogs + * @GTK_RESPONSE_DELETE_EVENT: Returned if the dialog is deleted + * @GTK_RESPONSE_OK: Returned by OK buttons in GTK+ dialogs + * @GTK_RESPONSE_CANCEL: Returned by Cancel buttons in GTK+ dialogs + * @GTK_RESPONSE_CLOSE: Returned by Close buttons in GTK+ dialogs + * @GTK_RESPONSE_YES: Returned by Yes buttons in GTK+ dialogs + * @GTK_RESPONSE_NO: Returned by No buttons in GTK+ dialogs + * @GTK_RESPONSE_APPLY: Returned by Apply buttons in GTK+ dialogs + * @GTK_RESPONSE_HELP: Returned by Help buttons in GTK+ dialogs * - * Typical usage is: - * if (gtk_dialog_run(dialog) == GTK_RESPONSE_ACCEPT) - * blah(); + * Predefined values for use as response ids in gtk_dialog_add_button(). + * All predefined values are negative, GTK+ leaves positive values for + * application-defined response ids. */ typedef enum { - /* GTK returns this if a response widget has no response_id, - * or if the dialog gets programmatically hidden or destroyed. - */ - GTK_RESPONSE_NONE = -1, - - /* GTK won't return these unless you pass them in - * as the response for an action widget. They are - * for your convenience. - */ - GTK_RESPONSE_REJECT = -2, - GTK_RESPONSE_ACCEPT = -3, - - /* If the dialog is deleted. */ + GTK_RESPONSE_NONE = -1, + GTK_RESPONSE_REJECT = -2, + GTK_RESPONSE_ACCEPT = -3, GTK_RESPONSE_DELETE_EVENT = -4, - - /* These are returned from GTK dialogs, and you can also use them - * yourself if you like. - */ - GTK_RESPONSE_OK = -5, - GTK_RESPONSE_CANCEL = -6, - GTK_RESPONSE_CLOSE = -7, - GTK_RESPONSE_YES = -8, - GTK_RESPONSE_NO = -9, - GTK_RESPONSE_APPLY = -10, - GTK_RESPONSE_HELP = -11 + GTK_RESPONSE_OK = -5, + GTK_RESPONSE_CANCEL = -6, + GTK_RESPONSE_CLOSE = -7, + GTK_RESPONSE_YES = -8, + GTK_RESPONSE_NO = -9, + GTK_RESPONSE_APPLY = -10, + GTK_RESPONSE_HELP = -11 } GtkResponseType; @@ -90,19 +93,22 @@ typedef enum #define GTK_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_DIALOG, GtkDialogClass)) -typedef struct _GtkDialog GtkDialog; -typedef struct _GtkDialogClass GtkDialogClass; +typedef struct _GtkDialog GtkDialog; +typedef struct _GtkDialogPrivate GtkDialogPrivate; +typedef struct _GtkDialogClass GtkDialogClass; +/** + * GtkDialog: + * + * The GtkDialog struct contains only private fields + * and should not be directly accessed. + */ struct _GtkDialog { GtkWindow window; - /*< public >*/ - GtkWidget *vbox; - GtkWidget *action_area; - /*< private >*/ - GtkWidget *separator; + GtkDialogPrivate *priv; }; struct _GtkDialogClass @@ -130,7 +136,7 @@ GtkWidget* gtk_dialog_new_with_buttons (const gchar *title, GtkWindow *parent, GtkDialogFlags flags, const gchar *first_button_text, - ...); + ...) G_GNUC_NULL_TERMINATED; void gtk_dialog_add_action_widget (GtkDialog *dialog, GtkWidget *child, @@ -140,22 +146,22 @@ GtkWidget* gtk_dialog_add_button (GtkDialog *dialog, gint response_id); void gtk_dialog_add_buttons (GtkDialog *dialog, const gchar *first_button_text, - ...); + ...) G_GNUC_NULL_TERMINATED; void gtk_dialog_set_response_sensitive (GtkDialog *dialog, gint response_id, gboolean setting); void gtk_dialog_set_default_response (GtkDialog *dialog, gint response_id); - -void gtk_dialog_set_has_separator (GtkDialog *dialog, - gboolean setting); -gboolean gtk_dialog_get_has_separator (GtkDialog *dialog); +GtkWidget* gtk_dialog_get_widget_for_response (GtkDialog *dialog, + gint response_id); +gint gtk_dialog_get_response_for_widget (GtkDialog *dialog, + GtkWidget *widget); gboolean gtk_alternative_dialog_button_order (GdkScreen *screen); void gtk_dialog_set_alternative_button_order (GtkDialog *dialog, - gint first_response_id, - ...); + gint first_response_id, + ...); void gtk_dialog_set_alternative_button_order_from_array (GtkDialog *dialog, gint n_params, gint *new_order); @@ -167,16 +173,9 @@ void gtk_dialog_response (GtkDialog *dialog, /* Returns response_id */ gint gtk_dialog_run (GtkDialog *dialog); +GtkWidget * gtk_dialog_get_action_area (GtkDialog *dialog); +GtkWidget * gtk_dialog_get_content_area (GtkDialog *dialog); -/* For private use only */ -void _gtk_dialog_set_ignore_separator (GtkDialog *dialog, - gboolean ignore_separator); -gint _gtk_dialog_get_response_for_widget (GtkDialog *dialog, - GtkWidget *widget); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - +G_END_DECLS #endif /* __GTK_DIALOG_H__ */