15 G t k + d e l e t e _ e v e n t G n o m e G n o m e 15.1 GnomeDialog G t k + G n o m e D i a l o g 15.1.1 G n o m e D i a l o g g n o m e _ d i a l o g _ n e w ( ) G N O M E _ D I A L O G ( d i a l o g )- > v b o x c l o s e c l i c k e d g n o m e _ d i a l o g _ n e w ( ) N U L L GtkWidget* dialog; dialog = gnome_dialog_new(_("my Dialog Title"), _(" O K "), _(" C a n c e l "), N U L L ); My Dialog Ti t l e O K C a n c e l _() O K G n o m e D i a l o g #include <libgnomeui/gnome-dialog.h> GtkWidget* gnome_dialog_new(const gchar* title,...)
226 Linux C GnomeDialog API 0 O K 0 C a n c e l 1 O K C a n c e l G n o m e O K O k O K! g n o m e _ d i a l o g _ n e w ( ) dialog = gnome_dialog_new(_("my Dialog Title"), G N O M E _ S T O C K _ B U T T O N _ O K, G N O M E _ S T O C K _ B U T T O N _ C A N C E L, N U L L ); G n o m e l i b g n o m e u i / g n o m e - s t o c k. h. 15.1.2 G n o m e M e s s a g e B o x ( g n o m e _ o k _ d i a l o g () ) GtkWidget* button; /*... dialog... */ button = gtk_button_new_with_label(_("push Me")); g t k _ b o x _ p a c k _ s t a r t ( G T K _ B O X ( G N O M E _ D I A L O G ( d i a l o g )- > v b o x )), button, TRUE, T R U E, 0 ); 1 5-1 Gnumeric 15-1 Gnumeric GnomeDialog 15.1.3 GnomeDialog E s c G n o m e D i a l o g c l i c k e d ( G t k B u t t o n c l i c k e d G n o m e D i a l o g ) G n o m e D i a l o g c l i c k e d G n o m e D i a l o g c l o s e g n o m e _ d i a l o g _ c l o s e ()
1 5 227 ( E s c ) G n o m e D i a l o g c l o s e g t k _ w i d g e t _ h i d e ( ) g t k _ w i d g e t _ d e s t r o y () g n o m e _ d i a l o g _ c l o s e _ h i d e s () G n o m e D i a l o g #include <libgnomeui/gnome-dialog.h> void gnome_dialog_close_hides(gnomedialog* dialog, gboolean setting) v o i d gnome_dialog_set_close(gnomedialog* dialog, gboolean setting) g n o m e _ d i a l o g _ c l o s e _ h i d e s c l o s e s e t t i n g T R U E c l o s e FA L S E g n o m e _ d i a l o g _ s e t _ c l o s e s e t t i n g FA L S E T R U E c l o s e g t k _ w i d g e t _ d e s t r o y () c l i c k e d c l o s e T R U E c l o s e E s c d e l e t e _ e v e n t c l o s e d e l e t e _ e v e n t 15.1.4 G n o m e D i a l o g GnomeDialog #include <libgnomeui/gnome-dialog.h> void gnome_dialog_set_parent(gnomedialog* dialog, GtkWindow* parent) void gnome_dialog_set_default(gnomedialog* dialog, gint button) void gnome_dialog_editable_enters(gnomedialog* dialog,
228 Linux C GtkEditable* editable) Void gnome_dialog_set_sensitive(gnomedialog* dialog, gint button, gboolean setting) g n o m e _ d i a l o g _ s e t _ p a r e n t G n o m e g n o m e _ d i a l o g _ s e t _ p a r e n t () G n o m e D i a l o g G i m p ( ) gnome_dialog_set_default() ( C a n c e l O K ) C a n c e l N o O K G t k E d i t a b l e a c t i v a t e G t k E n t r y GtkEditable gnome_dialog_editable_enters() g n o m e _ d i a l o g _ s e t _ s e n s i t i v e () g t k _ w i d g e t _ s e t _ s e n s i t i v e ( P r e f e r e n c e s A b o u t ( ) void d o _ d i a l o g () { static GtkWidget* dialog = NULL; if (dialog!= NULL) { g d k _ w i n d o w _ s h o w ( d i a l o g - > w i n d o w ); g d k _ w i n d o w _ r a i s e ( d i a l o g - > w i n d o w ); } e l s e {
1 5 229 dialog = gnome_dialog_new(); g t k _ s i g n a l _ c o n n e c t ( G T K _ O B J E C T ( d i a l o g ), " d e s t r o y ", G T K _ S I G N A L _ F U N C ( g t k _ w i d g e t _ d e s t r o y e d ), & d i a l o g ); } } /* */ g t k _ w i d g e t _ d e s t r o y e d () g t k / g t k w i d g e t. h N U L L 15.2 / G n o m e G t k + g t k _ w i n d o w _ s e t _ m o d a l ( ) #include <gtk/gtkwindow.h> gtk_window_set_modal(gtkwindow* window, gboolean modality) G n o m e D i a l o g G t k Wi n d o w G t k + g t k _ m a i n () g t k _ m a i n ()
230 Linux C #include <libgnomeui/gnome-dialog.h> gint gnome_dialog_run(gnomedialog* dialog) gint gnome_dialog_run_and_close(gnomedialog* dialog) G n o m e D i a l o g 0 ( ) - 1 g t k _ m a i n _ q u i t () g t k _ m a i n () g t k _ m a i n ( g n o m e _ d i a l o g _ r u n () g n o m e _ d i a l o g _ r u n () g n o m e _ d i a l o g _ r u n () g n o m e _ d i a l o g _ r u n () g n o m e _ d i a l o g _ r u n () g n o m e _ d i a l o g _ r u n () g n o m e _ d i a l o g _ r u n _ a n d _ c l o s e () c l o s e d e s t r o y gnome_dialog _close() g n o m e _ d i a l o g _ r u n _ a n d _ c l o s e () 15.3 G n o m e G u p p i G n o m e G n o m e F i l e S e l e c t i o n GtkWidget * dialog; dialog = gnome_dialog_new(_("guppi: Open"), G N O M E _ S T O C K _ B U T T O N _ O K, G N O M E _ S T O C K _ B U T T O N _ C A N C E L, N U L L ); gnome_dialog_set_close(gnome_dialog(dialog), TRUE); gnome_dialog_close_hides(gnome_dialog(dialog), TRUE); g u p p i _ s e t u p _ d i a l o g ( d i a l o g ) ; GtkWidget* fileentry = g n o m e _ f i l e _ e n t r y _ n e w (" g u p p i : g u p p i _ l o a d s a v e _ h i s t o r y ", _("Guppi: Browse Files For Open"));
1 5 231 gnome_dialog_editable_enters(gnome_dialog(dialog), G T K _ E D I T A B L E ( g n o m e _ f i l e _ e n t r y _ g t k _ e n t r y ( G N O M E _ F I L E _ E N T R Y ( f i l e e n t r y )))); gnome_dialog_set_default(gnome_dialog(dialog), GNOME_OK); g t k _ b o x _ p a c k _ s t a r t ( G T K _ B O X ( G N O M E _ D I A L O G ( d i a l o g )- > v b o x ), f i l e e n t r y, TRUE, TRUE, GNOME_PAD); g t k _ w i d g e t _ s h o w _ a l l ( d i a l o g ) ; int reply = gnome_dialog_run(gnome_dialog(dialog)); if (reply == GNOME_OK) { gchar* s = g n o m e _ f i l e _ e n t r y _ g e t _ f u l l _ p a t h ( G N O M E _ F I L E _ E N T R Y ( f i l e e n t r y ), T R U E ); /* * */ } gtk_widget_destroy(dialog); g n o m e _ d i a l o g _ s e t _ c l o s e () g t k _ w i d g e t _ h i d e () g n o m e _ d i a l o g _ c l o s e _ h i d e s () g u p p i _ s e t u p _ d i a l o g () g n o m e _ d i a l o g _ s e t _ p a r e n t ( ) O K O K g n o m e _ d i a l o g _ e d i t a b l e _ e n t e r s () g n o m e _ d i a l o g _ r u n () O K g n o m e _ d i a l o g _ c l o s e _ h i d e s () g n o m e _ d i a l o g _ r u n () g n o m e _ d i a l o g _ r u n () ( g n o m e _ d i a l o g _ s e t _ c l o s e () g t k _ w i d g e t _ d e s t r o y () 15.4 G n o m e D i a l o g G n o m e D i a l o g 15.4.1 GnomeAbout G n o m e... G n o m e
232 Linux C G n o m e A b o u t G n o m e A b o u t g n o m e _ a b o u t _ n e w () N U L L N U L L N U L L 1 5-2 G l a d e GnomeAbout 15-2 GnomeAbout #include <libgnomeui/gnome-about.h> GtkWidget* gnome_about_new(const gchar* title, const gchar* version, const gchar* copyright, const gchar** authors, const gchar* comments, const gchar* logo) G n o m e A b o u t G n o m e C a l e n d a r ( ) static void about_calendar_cmd (GtkWidget *widget, void *data) { GtkWidget *about; const gchar *authors[] = { "Miguel de Icaza <miguel@kernel.org>", "Federico Mena <federico@gimp.org>", "Arturo Espinosa <arturo@nuclecu.unam.mx>", N U L L }; about = gnome_about_new (_("Gnome Calendar"), VERSION, "(C) 1998 the Free Software Foundation", a u t h o r s, _("The GNOME personal calendar and schedule manager."),
1 5 233 N U L L ); gtk_window_set_modal (GTK_WINDOW (about), TRUE); } gtk_widget_show (about); V E R S I O N c o n f i g. h c o n f i g u r e Gnome Calendar 15.4.2 GnomePropertyBox G n o m e P r o p e r t y B o x G t k N o o t b o o k O K A p p l y C l o s e H e l p O K A p p l y C l o s e G n o m e P r o p e r t y B o x A p p l y H e l p O K C l o s e G n o m e P r o p e r t y B o x a p p l y h e l p void handler(gtkwidget* propertybox, gint page_num, gpointer data); p a g e _ n u m G t k N o t e b o o k ( G t k N o t e b o o k 0 GtkNotebook ) A p p l y O K a p p l y - 1 p a g e _ n u m g n o m e _ p r o p e r t y _ b o x _ n e w () G n o m e P r o p e r t y B o x GnomePropertyBox #include <libgnomeui/gnome-propertybox.h> GtkWidget* gnome_property_box_new() Gint gnome_property_box_append_page(gnomepropertybox* pb, GtkWidget* page, GtkWidget* tab) ( ) g n o m e _ p r o p e r t y _ b o x _ a p p e n d _ p a g e () p a g e t a b A p p l y O K #include <libgnomeui/gnome-propertybox.h> void gnome_property_box_changed(gnomepropertybox* pb) void gnome_property_box_set_state(gnomepropertybox* pb, gboolean setting)
234 Linux C g n o m e _ p r o p e r t y _ b o x _ c h a n g e d () a p p l y ( ) g n o m e _ p r o p e r t y _ b o x _ s e t _ s t a t e ( ) 15.4.3 GnomeMessageBox G n o m e M e s s a g e B o x G n o m e D i a l o g G n o m e G n o m e M e s s a g e B o x A P I G n o m e M e s s a g e B o x g n o m e _ d i a l o g _ n e w () G n o m e D i a l o g G n o m e M e s s a g e B o x g n o m e _ d i a l o g _ s e t _ c l o s e ( ) #include <libgnomeui/gnome-messagebox.h> GtkWidget* gnome_message_box_new(const gchar* message, const gchar* messagebox_type,...) GNOME_MESSAGE_BOX_INFO GNOME_MESSAGE_BOX_WA R N I N G GNOME_MESSAGE_BOX_ERROR GNOME_MESSAGE_BOX_QUESTION GNOME_MESSAGE_BOX_GENERIC G n o m e M e s s a g e B o x GtkWidget * mbox; mbox = gnome_message_box_new (message, G N O M E _ M E S S A G E _ B O X _ I N F O, GNOME_STOCK_BUTTON_OK, N U L L ); gtk_widget_show (mbox); GnomeMessageBox GnomeDialog ( O K ) G n o m e _ p a r e n t e d () g n o m e _ d i a l o g _ s e t _ p a r e n t ()
1 5 235 #include <libgnomeui/gnome-dialog-util.h> O K GtkWidget* gnome_ok_dialog(const gchar* message) GtkWidget* gnome_ok_dialog_parented(const gchar* message, GtkWindow* parent) GtkWidget* gnome_warning_dialog(const gchar* warning) GtkWidget* gnome_warning_dialog_parented(const gchar* warning, GtkWindow* parent) GtkWidget* gnome_error_dialog(const gchar* error) GtkWidget* gnome_error_dialog_parented(const gchar* error, GtkWindow* parent)