diff options
Diffstat (limited to 'src/panels/registers.c')
-rw-r--r-- | src/panels/registers.c | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/src/panels/registers.c b/src/panels/registers.c deleted file mode 100644 index 20fd8a4..0000000 --- a/src/panels/registers.c +++ /dev/null @@ -1,230 +0,0 @@ - -/* Chrysalide - Outil d'analyse de fichiers binaires - * registers.c - panneau d'affichage des registres d'architecture - * - * Copyright (C) 2009-2016 Cyrille Bagard - * - * This file is part of Chrysalide. - * - * Chrysalide 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 3 of the License, or - * (at your option) any later version. - * - * Chrysalide 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -#include "registers.h" - - -#include "../gtkext/easygtk.h" - - - -#define _(str) str - - - - - -/****************************************************************************** -* * -* Paramètres : - * -* * -* Description : Construit le panneau d'affichage des registres. * -* * -* Retour : Adresse du panneau mis en place. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GtkWidget *build_registers_panel(void) -{ - GtkWidget *result; /* Panneau à retourner */ - - - GtkWidget *vbox1; - GtkWidget *label1; - GtkWidget *table1; - GtkWidget *label3; - GtkWidget *label4; - GtkWidget *label5; - GtkWidget *label6; - GtkWidget *label7; - GtkWidget *label8; - GtkWidget *label9; - GtkWidget *label10; - GtkWidget *label11; - GtkWidget *label12; - GtkWidget *label13; - GtkWidget *label14; - GtkWidget *label15; - GtkWidget *label16; - GtkWidget *entry1; - GtkWidget *entry2; - GtkWidget *entry3; - GtkWidget *entry4; - GtkWidget *entry6; - GtkWidget *entry5; - GtkWidget *entry7; - GtkWidget *label2; - - GtkWidget *label; /* Etiquette textuelle */ - GtkWidget *entry; /* Zone de saisie */ - - - - result = gtk_scrolled_window_new(NULL, NULL); - gtk_widget_show(result); - - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(result), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(result), GTK_SHADOW_IN); - - - - - vbox1 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 8); - gtk_widget_show (vbox1); - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(result), vbox1); - - - label1 = qck_create_label(NULL, NULL, _("Registers:")); - gtk_box_pack_start (GTK_BOX (vbox1), label1, FALSE, FALSE, 0); - - - table1 = gtk_table_new(7, 3, FALSE); - qck_set_margins(table1, 0, 0, 8, 0); - gtk_widget_show(table1); - gtk_box_pack_start(GTK_BOX(vbox1), table1, FALSE, TRUE, 0); - - label = qck_create_label(NULL, NULL, "eax: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "eax", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); - - label = qck_create_label(NULL, NULL, "ebx: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "ebx", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); - - label = qck_create_label(NULL, NULL, "ecx: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 2, 3, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "ecx", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 2, 3, GTK_FILL, 0, 0, 0); - - label = qck_create_label(NULL, NULL, "edx: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 3, 4, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "edx", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 3, 4, GTK_FILL, 0, 0, 0); - - label = qck_create_label(NULL, NULL, "esi: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 4, 5, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "esi", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 4, 5, GTK_FILL, 0, 0, 0); - - label = qck_create_label(NULL, NULL, "edi: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 5, 6, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "edi", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 5, 6, GTK_FILL, 0, 0, 0); - - label = qck_create_label(NULL, NULL, "ebp: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 6, 7, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "ebp", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 6, 7, GTK_FILL, 0, 0, 0); - - label = qck_create_label(NULL, NULL, "esp: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 7, 8, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "esp", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 7, 8, GTK_FILL, 0, 0, 0); - - label = qck_create_label(NULL, NULL, "eip: "); - gtk_table_attach(GTK_TABLE(table1), label, 0, 1, 8, 9, GTK_FILL, 0, 0, 0); - - entry = qck_create_entry(G_OBJECT(result), "eip", NULL); - gtk_entry_set_width_chars(GTK_ENTRY(entry), 8); - gtk_table_attach(GTK_TABLE(table1), entry, 1, 2, 8, 9, GTK_FILL, 0, 0, 0); - - - - - label2 = qck_create_label(NULL, NULL, _("Segments:")); - gtk_box_pack_start (GTK_BOX (vbox1), label2, FALSE, FALSE, 0); - - - - - return result; - -} - - - - - - -/****************************************************************************** -* * -* Paramètres : panel = panneau contenant les champs utiles. * -* values = liste des registres avec leur valeur. * -* count = taille de cette liste. * -* * -* Description : Met à jour l'affichage des valeurs de registre. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void refresh_registers_panel_with_registers(GtkWidget *panel, register_value *values, size_t count) -{ - GObject *ref; /* Espace de référencement */ - size_t i; /* Boucle de parcours */ - GtkEntry *entry; /* Zone de texte */ - char buffer[32]; - - ref = G_OBJECT(panel); - - for (i = 0; i < count; i++) - { - entry = GTK_ENTRY(g_object_get_data(ref, values[i].name)); - if (entry == NULL) continue; - - snprintf(buffer, 32, "%08llx", values[i].value); - - gtk_entry_set_text(entry, buffer); - - - - - - } - - - -} |