Shorten GPLv2 licence text in header of each source file
[emu8051.git] / src / gtk / timerwin.c
index 2687c5a..f65d525 100644 (file)
@@ -4,19 +4,7 @@
  * Copyright (C) 1999 Jonathan St-AndrĂ©
  * Copyright (C) 1999 Hugo Villeneuve <hugo@hugovil.com>
  *
- * 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
@@ -29,9 +17,9 @@
 
 #include "common.h"
 #include "timers.h"
-#include "emugtk.h"
+#include "main.h"
 
-static GtkWidget *label;
+static GtkWidget *label[GP_TIMERS_COUNT];
 
 static GtkWidget *
 button_add_stock(GtkWidget *box, gchar *stock_id, int display_label)
@@ -59,36 +47,44 @@ button_add_stock(GtkWidget *box, gchar *stock_id, int display_label)
 void
 timerwin_update(void)
 {
+       int id;
        char buf[128];
 
-       /* Display textin bold, with big font size. */
-       sprintf(buf , "<b><big>%08d</big></b> cycles", gp_timer_read());
+       for (id = 0; id < GP_TIMERS_COUNT; id++) {
+               /* Display textin bold, with big font size. */
+               sprintf(buf , "<b><big>%08d</big></b> cycles", gp_timer_read(id));
 
-       gtk_label_set_markup(GTK_LABEL(label), buf);
+               gtk_label_set_markup(GTK_LABEL(label[id]), buf);
+       }
 }
 
 static void
 timer_reset_callback(GtkWidget *widget, gpointer data)
 {
+       int id = GPOINTER_TO_INT(data);
+
        /* Remove compiler warning about unused variables. */
        (void) widget;
-       (void) data;
 
-       gp_timer_reset();
+       log_info("timer_reset_callback ID = %d", id);
+
+       gp_timer_reset(id);
        timerwin_update();
 }
 
 GtkWidget *
-timerwin_init(void)
+timerwin_init(int id)
 {
        GtkWidget *frame;
        GtkWidget *hbox;
        GtkWidget *vbox;
        GtkWidget *timer_reset_button;
+       char title[100];
 
        log_debug("timer window init");
 
-       frame = gtk_frame_new("General-purpose Timer");
+       sprintf(title, "Emulator timer %c", 'A' + id);
+       frame = gtk_frame_new(title);
 
        /* The items of the hbox are NOT given equal space in the box. */
        hbox = gtk_hbox_new(false, 0);
@@ -101,12 +97,12 @@ timerwin_init(void)
        vbox = gtk_vbox_new(true, 0);
        timer_reset_button = button_add_stock(vbox, GTK_STOCK_REFRESH, false);
        g_signal_connect(G_OBJECT(timer_reset_button), "clicked",
-                        G_CALLBACK(timer_reset_callback), NULL);
+                        G_CALLBACK(timer_reset_callback), GINT_TO_POINTER(id));
        gtk_box_pack_start(GTK_BOX(hbox), vbox, false, false, 3);
 
-       label = gtk_label_new(NULL);
-       gtk_label_set_markup(GTK_LABEL(label), "<small>Small text</small>");
-       gtk_box_pack_start(GTK_BOX(hbox), label, false, false, 10);
+       label[id] = gtk_label_new(NULL);
+       gtk_label_set_markup(GTK_LABEL(label[id]), "<small>Small text</small>");
+       gtk_box_pack_start(GTK_BOX(hbox), label[id], false, false, 10);
 
        gtk_container_add(GTK_CONTAINER(frame), hbox);