1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| # include <gtk/gtk.h>
# include <gdk/gdkprivate.h>
void cb_quit(GtkWidget *p_widget __attribute__ ((__unused__)),
gpointer user_data __attribute__ ((__unused__)))
{
gtk_main_quit();
}
void cb_disconnect(GtkWidget*p_widget __attribute__ ((__unused__)),
GtkWidget *fr)
{
gint num;
num = gtk_notebook_get_current_page(GTK_NOTEBOOK(fr));
gtk_notebook_remove_page(GTK_NOTEBOOK(fr), num);
}
void cb_connect(GtkWidget*p_widget __attribute__ ((__unused__)),
GtkWidget *fr)
{
GtkWidget *chan;
GtkWidget *lbl;
lbl = gtk_label_new("OK");
chan = gtk_text_view_new();
gtk_notebook_append_page(GTK_NOTEBOOK(fr), chan, lbl);
}
int main(int ac, char **av)
{
GtkWidget *window;
GtkWidget *Vbox;
GtkWidget *main_frame;
GtkWidget *b[2];
gtk_init(&ac, &av);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT (window), "destroy", G_CALLBACK(cb_quit), NULL);
Vbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(window), Vbox);
main_frame = gtk_notebook_new();
gtk_box_pack_start(GTK_BOX(Vbox), main_frame, TRUE, TRUE, 0);
cb_connect(NULL, main_frame);
b[0] = gtk_button_new_from_stock(GTK_STOCK_DISCONNECT);
b[1] = gtk_button_new_from_stock(GTK_STOCK_CONNECT);
g_signal_connect(G_OBJECT(b[0]), "clicked",
G_CALLBACK(cb_disconnect), main_frame);
g_signal_connect(G_OBJECT(b[1]), "clicked",
G_CALLBACK(cb_connect), main_frame);
gtk_box_pack_start(GTK_BOX(Vbox), b[0], FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(Vbox), b[1], FALSE, FALSE, 5);
gtk_widget_show_all(window);
gtk_main();
return (0);
} |
Partager