X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=src%2Fgtk%2Fviewmenu.c;h=e7b068feab967300f37169a19bd7685ce6f5cbf4;hb=f7e3f1d8d0438f52e4f988a12318075cc1b43568;hp=3377329f1b5dda0bc713b473345f984fc680e837;hpb=1eb382f72510d50b3636fb88c4bfaf17183672b6;p=emu8051.git diff --git a/src/gtk/viewmenu.c b/src/gtk/viewmenu.c index 3377329..e7b068f 100644 --- a/src/gtk/viewmenu.c +++ b/src/gtk/viewmenu.c @@ -4,19 +4,7 @@ * Copyright (C) 1999 Jonathan St-André * Copyright (C) 1999 Hugo Villeneuve * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + * This file is released under the GPLv2 */ #if HAVE_CONFIG_H @@ -26,7 +14,7 @@ #include #include "common.h" -#include "emugtk.h" /* For AddMenuSeparator() function. */ +#include "main.h" /* For AddMenuSeparator() function. */ #include "messagebox.h" #include "viewmenu.h" #include "app-config.h" @@ -37,62 +25,58 @@ void toggle_layout(GtkWidget *widget, gpointer data) { int id; - id = GPOINTER_TO_UINT(data); + id = GPOINTER_TO_UINT(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(); + + message_show_information( + "You must restart for the changes to take effect"); } } -void toggle_bits_per_row(GtkWidget *widget, gpointer data) +void toggle_bytes_per_row(GtkWidget *widget, gpointer data) { - int bits_per_row; + int bytes_per_row; - bits_per_row = GPOINTER_TO_UINT(data); + bytes_per_row = GPOINTER_TO_UINT(data); if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) { - log_info(" Bits per row = %d", bits_per_row); - cfg->bits_per_row = bits_per_row; - emugtk_restart_gui(); + log_info(" Bytes per row = %d", bytes_per_row); + cfg->bytes_per_row = bytes_per_row; + emugtk_destroy_int_memory_paned(); + emugtk_destroy_ext_memory_paned(); + emugtk_recreate_memory_paned(); } } void toggle_int_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 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) -{ - 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) { + (void) data; /* Remove compiler warning about unused variables. */ + 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 @@ -113,9 +97,11 @@ view_add_layout_submenu(GtkWidget *parent) layout2 = gtk_radio_menu_item_new_with_label(group, "Layout2"); if (cfg->layout == UI_LAYOUT1) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(layout1), TRUE); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(layout1), + TRUE); else - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(layout2), TRUE); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(layout2), + TRUE); g_signal_connect(G_OBJECT(layout1), "activate", G_CALLBACK(toggle_layout), (gpointer) UI_LAYOUT1); @@ -129,7 +115,7 @@ view_add_layout_submenu(GtkWidget *parent) } void -view_add_bits_per_row_submenu(GtkWidget *parent) +view_add_bytes_per_row_submenu(GtkWidget *parent) { GtkWidget *submenu; GtkWidget *item; @@ -139,21 +125,23 @@ view_add_bits_per_row_submenu(GtkWidget *parent) submenu = gtk_menu_new(); - item = gtk_menu_item_new_with_label("Bits per row"); + item = gtk_menu_item_new_with_label("Bytes per row"); item1 = gtk_radio_menu_item_new_with_label(group, "8"); group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(item1)); item2 = gtk_radio_menu_item_new_with_label(group, "16"); - if (cfg->bits_per_row == 8) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item1), TRUE); + if (cfg->bytes_per_row == 8) + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item1), + TRUE); else - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item2), TRUE); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item2), + TRUE); g_signal_connect(G_OBJECT(item1), "activate", - G_CALLBACK(toggle_bits_per_row), (gpointer) 8); + G_CALLBACK(toggle_bytes_per_row), (gpointer) 8); g_signal_connect(G_OBJECT(item2), "activate", - G_CALLBACK(toggle_bits_per_row), (gpointer) 16); + G_CALLBACK(toggle_bytes_per_row), (gpointer) 16); gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu); gtk_menu_shell_append(GTK_MENU_SHELL(submenu), item1); @@ -162,7 +150,7 @@ view_add_bits_per_row_submenu(GtkWidget *parent) } void -ViewAddMenu(GtkWidget *menu_bar) +view_add_menu(GtkWidget *menu_bar) { GtkWidget *item; GtkWidget *menu; @@ -179,13 +167,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), @@ -193,15 +174,15 @@ ViewAddMenu(GtkWidget *menu_bar) g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(toggle_ext_memory), NULL); - AddMenuSeparator(menu); + add_menu_separator(menu); /* Add layout submenu */ view_add_layout_submenu(menu); - AddMenuSeparator(menu); + add_menu_separator(menu); - /* Add bits per row submenu */ - view_add_bits_per_row_submenu(menu); + /* Add bytes per row submenu */ + view_add_bytes_per_row_submenu(menu); gtk_menu_item_set_submenu(GTK_MENU_ITEM(view), menu); gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), view);