projects
/
emu8051.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Replace fixed frames with scrollable windows
[emu8051.git]
/
src
/
emugtk.c
diff --git
a/src/emugtk.c
b/src/emugtk.c
index
0ff59fb
..
b9e7469
100644
(file)
--- a/
src/emugtk.c
+++ b/
src/emugtk.c
@@
-22,6
+22,9
@@
#include <stdio.h>
#include "config.h"
#include <stdio.h>
#include "config.h"
+#include <stdint.h>
+#include <stdbool.h>
+
#include <gtk/gtk.h>
#include "common.h"
#include <gtk/gtk.h>
#include "common.h"
@@
-41,6
+44,8
@@
#include "pgmwin.h"
#include "memwin.h"
#include "pgmwin.h"
#include "memwin.h"
+#define BUTTONS_BORDER 2
+
static int running;
static int running_function_tag;
static GtkWidget *mainwin;
static int running;
static int running_function_tag;
static GtkWidget *mainwin;
@@
-102,21
+107,18
@@
emugtk_start_running(void)
/* Taken from the Gxine source code. */
static GtkWidget *
/* Taken from the Gxine source code. */
static GtkWidget *
-
AddPixButton(GtkWidget *box, gchar **pixmap_array
)
+
button_add_pix(GtkWidget *box, char **xpm
)
{
GtkWidget *button, *icon;
{
GtkWidget *button, *icon;
- GdkPixmap *image;
- GdkBitmap *transparent;
button = gtk_button_new();
gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NORMAL);
button = gtk_button_new();
gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NORMAL);
- image = gdk_pixmap_colormap_create_from_xpm_d(
- NULL, gdk_colormap_get_system(),
- &transparent, NULL, pixmap_array);
- icon = gtk_pixmap_new(image, transparent);
+
+ icon = gtk_image_new_from_pixbuf(
+ gdk_pixbuf_new_from_xpm_data((const char **) xpm));
gtk_container_add(GTK_CONTAINER(button), icon);
gtk_container_add(GTK_CONTAINER(button), icon);
- gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE,
0
);
+ gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE,
BUTTONS_BORDER
);
return button;
}
return button;
}
@@
-197,28
+199,28
@@
AddButtons(void)
button_hbox = gtk_hbox_new(FALSE, 0);
/* Creating the RESET button. */
button_hbox = gtk_hbox_new(FALSE, 0);
/* Creating the RESET button. */
- button =
AddPixButton
(button_hbox, reset_xpm);
- g
tk_signal_connect(GTK_OBJECT(button)
, "clicked",
-
GTK_SIGNAL_FUNC
(emugtk_ResetEvent),
-
NULL);
+ button =
button_add_pix
(button_hbox, reset_xpm);
+ g
_signal_connect(button
, "clicked",
+
G_CALLBACK
(emugtk_ResetEvent),
+ NULL);
/* Creating the RUN button. */
/* Creating the RUN button. */
- button =
AddPixButton
(button_hbox, run_xpm);
- g
tk_signal_connect(GTK_OBJECT(button)
, "clicked",
-
GTK_SIGNAL_FUNC
(emugtk_RunEvent),
-
NULL);
+ button =
button_add_pix
(button_hbox, run_xpm);
+ g
_signal_connect(button
, "clicked",
+
G_CALLBACK
(emugtk_RunEvent),
+ NULL);
/* Creating STOP button. */
/* Creating STOP button. */
- button =
AddPixButton
(button_hbox, stop_xpm);
- g
tk
_signal_connect(GTK_OBJECT(button), "clicked",
-
GTK_SIGNAL_FUNC
(emugtk_StopEvent),
-
NULL);
+ button =
button_add_pix
(button_hbox, stop_xpm);
+ g_signal_connect(GTK_OBJECT(button), "clicked",
+
G_CALLBACK
(emugtk_StopEvent),
+ NULL);
/* Creating STEP button. */
/* Creating STEP button. */
- button =
AddPixButton
(button_hbox, step_xpm);
- g
tk
_signal_connect(GTK_OBJECT(button), "clicked",
-
GTK_SIGNAL_FUNC
(emugtk_StepEvent),
-
NULL);
+ button =
button_add_pix
(button_hbox, step_xpm);
+ g_signal_connect(GTK_OBJECT(button), "clicked",
+
G_CALLBACK
(emugtk_StepEvent),
+ NULL);
return button_hbox;
}
return button_hbox;
}
@@
-256,13
+258,13
@@
emugtk_window_init(void)
mainwin = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(mainwin), PACKAGE);
mainwin = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(mainwin), PACKAGE);
- gtk_wi
dget_set_usize(GTK_WIDGET
(mainwin),
- MAIN_WIN_WIDTH, MAIN_WIN_HEIGHT);
+ gtk_wi
ndow_set_default_size(GTK_WINDOW
(mainwin),
+
MAIN_WIN_WIDTH, MAIN_WIN_HEIGHT);
gtk_container_set_border_width(GTK_CONTAINER(mainwin), 0);
/* Window DESTROY event. */
gtk_container_set_border_width(GTK_CONTAINER(mainwin), 0);
/* Window DESTROY event. */
- g
tk_signal_connect(GTK_OBJECT(mainwin)
, "destroy",
-
GTK_SIGNAL_FUNC
(WindowDestroyEvent), NULL);
+ g
_signal_connect(mainwin
, "destroy",
+
G_CALLBACK
(WindowDestroyEvent), NULL);
/*
* Setting main window geometry based on command line options
/*
* Setting main window geometry based on command line options
@@
-288,8
+290,8
@@
emugtk_window_init(void)
/* Emulator fixed window. */
emufixed = gtk_fixed_new();
/* Emulator fixed window. */
emufixed = gtk_fixed_new();
- gtk_wi
dget_set_usize(GTK_WIDGET
(emufixed), MAIN_WIN_WIDTH,
- REG_WIN_HEIGHT + MEM_WIN_HEIGHT + 10);
+ gtk_wi
ndow_set_default_size(GTK_WINDOW
(emufixed), MAIN_WIN_WIDTH,
+
REG_WIN_HEIGHT + MEM_WIN_HEIGHT + 10);
/* 8051 registers frame. */
fixed_frame = regwin_init(REG_WIN_WIDTH, REG_WIN_HEIGHT);
/* 8051 registers frame. */
fixed_frame = regwin_init(REG_WIN_WIDTH, REG_WIN_HEIGHT);
@@
-330,7
+332,7
@@
AddMenuSeparator(GtkWidget *menu)
GtkWidget *item;
item = gtk_menu_item_new();
GtkWidget *item;
item = gtk_menu_item_new();
- gtk_menu_
append(GTK_MENU
(menu), item);
+ gtk_menu_
shell_append(GTK_MENU_SHELL
(menu), item);
}
void
}
void