Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <gtk/gtk.h>
- static void on_button1_clicked (GtkWidget * widget, gpointer user_data);
- static void on_button2_clicked (GtkWidget * widget, gpointer user_data);
- static void _quit (GtkWidget * widget, gpointer user_data);
- GtkWidget * window;
- GtkWidget * layout1;
- GtkWidget * layout2;
- main (int argc, char * argv[]) {
- gtk_init(&argc, &argv);
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- layout1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,3);
- layout2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL,3);
- GtkWidget * button1 = gtk_button_new_with_label ("Switch to Layout 2");
- GtkWidget * button2 = gtk_button_new_with_label ("Switch to Layout 1");
- GtkWidget * label1 = gtk_label_new ("Current layout: 1");
- GtkWidget * label2 = gtk_label_new ("Current layout: 2");
- gtk_container_add (GTK_CONTAINER (window), layout1);
- gtk_container_add (GTK_CONTAINER (layout1), label1);
- gtk_container_add (GTK_CONTAINER (layout1), button1);
- gtk_container_add (GTK_CONTAINER (layout2), button2);
- gtk_container_add (GTK_CONTAINER (layout2), label2);
- g_signal_connect (button1, "clicked", G_CALLBACK (on_button1_clicked), NULL);
- g_signal_connect (button2, "clicked", G_CALLBACK (on_button2_clicked), NULL);
- g_signal_connect (window, "destroy", G_CALLBACK (_quit), NULL);
- gtk_widget_show_all (window);
- gtk_main ();
- return 0;
- }
- static void on_button1_clicked (GtkWidget * widget, gpointer user_data) {
- g_print ("Bit\n");
- g_object_ref (G_OBJECT(layout1)); //prevents the layout from being destroyd.
- gtk_container_remove (GTK_CONTAINER (window), layout1);
- gtk_container_add (GTK_CONTAINER (window), (GtkWidget*) layout2);
- gtk_widget_show_all (window);
- }
- static void on_button2_clicked (GtkWidget * widget, gpointer user_data) {
- g_print ("Bup\n");
- g_object_ref (G_OBJECT(layout2)); //prevents the layout from being destroyd.
- gtk_container_remove (GTK_CONTAINER (window), layout2);
- gtk_container_add (GTK_CONTAINER (window), (GtkWidget*) layout1);
- gtk_widget_show_all (window);
- }
- static void _quit (GtkWidget * widget, gpointer user_data) {
- gtk_main_quit ();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement