/** hideshow.c **/ #include gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); void eventHideShow(GtkWidget *widget,GtkWidget *button); GtkWidget *createLayout(); int main(int argc,char *argv[]) { GtkWidget *app; GtkWidget *hideshow; GtkWidget *button; GtkWidget *box; gnome_init("hideshow","1.0",argc,argv); app = gnome_app_new("hideshow","Widget Hiding"); gtk_container_set_border_width(GTK_CONTAINER(app),30); gtk_signal_connect(GTK_OBJECT(app),"delete_event", GTK_SIGNAL_FUNC(eventDelete),NULL); gtk_signal_connect(GTK_OBJECT(app),"destroy", GTK_SIGNAL_FUNC(eventDestroy),NULL); box = gtk_hbox_new(FALSE,0); hideshow = gtk_button_new_with_label("Hide/Show"); gtk_box_pack_start(GTK_BOX(box),hideshow, FALSE,TRUE,0); button = gtk_button_new_with_label("Button"); gtk_signal_connect(GTK_OBJECT(hideshow),"clicked", GTK_SIGNAL_FUNC(eventHideShow),button); gtk_box_pack_start(GTK_BOX(box),button, FALSE,TRUE,0); gnome_app_set_contents(GNOME_APP(app),box); gtk_widget_show_all(app); gtk_main(); exit(0); } void eventHideShow(GtkWidget *widget,GtkWidget *button) { if(GTK_WIDGET_VISIBLE(button)) gtk_widget_hide(button); else gtk_widget_show(button); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); }