Remove dynamic update of GUI layout
[emu8051.git] / src / gtk / viewmenu.c
index 8f38438..b4ce153 100644 (file)
@@ -42,7 +42,10 @@ void toggle_layout(GtkWidget *widget, gpointer data)
        if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
                log_info("  Switching to layout %d", id);
                cfg->layout = id;
-               emugtk_restart_gui();
+
+               ShowMessage("Notice",
+                           "You must restart for the changes to take effect",
+                           GTK_JUSTIFY_LEFT, MESSAGE_DIALOG_NORMAL_FONT);
        }
 }
 
@@ -55,7 +58,9 @@ void toggle_bytes_per_row(GtkWidget *widget, gpointer data)
        if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
                log_info("  Bytes per row = %d", bytes_per_row);
                cfg->bytes_per_row = bytes_per_row;
-               emugtk_restart_gui();
+               emugtk_destroy_int_memory_paned();
+               emugtk_destroy_ext_memory_paned();
+               emugtk_recreate_memory_paned();
        }
 }
 
@@ -66,25 +71,11 @@ void toggle_int_memory(GtkWidget *widget, gpointer data)
        if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
                log_info("  View internal memory");
                cfg->view_int_memory = 1;
+               emugtk_create_int_memory_paned();
        } else {
                cfg->view_int_memory = 0;
+               emugtk_destroy_int_memory_paned();
        }
-
-       emugtk_restart_gui();
-}
-
-void toggle_sfr_memory(GtkWidget *widget, gpointer data)
-{
-       (void) data; /* Remove compiler warning about unused variables. */
-
-       if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
-               log_info("  View SFR memory");
-               cfg->view_sfr_memory = 1;
-       } else {
-               cfg->view_sfr_memory = 0;
-       }
-
-       emugtk_restart_gui();
 }
 
 void toggle_ext_memory(GtkWidget *widget, gpointer data)
@@ -94,11 +85,11 @@ void toggle_ext_memory(GtkWidget *widget, gpointer data)
        if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
                log_info("  View external memory");
                cfg->view_ext_memory = 1;
+               emugtk_create_ext_memory_paned();
        } else {
                cfg->view_ext_memory = 0;
+               emugtk_destroy_ext_memory_paned();
        }
-
-       emugtk_restart_gui();
 }
 
 void
@@ -185,13 +176,6 @@ ViewAddMenu(GtkWidget *menu_bar)
        g_signal_connect(G_OBJECT(item), "activate",
                         G_CALLBACK(toggle_int_memory), NULL);
 
-       item = gtk_check_menu_item_new_with_label("SFR Memory");
-       gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
-       gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item),
-                                      cfg->view_sfr_memory);
-       g_signal_connect(G_OBJECT(item), "activate",
-                        G_CALLBACK(toggle_sfr_memory), NULL);
-
        item = gtk_check_menu_item_new_with_label("External Memory");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item),