Search
lxdream.org :: lxdream/src/gui/interface.c
lxdream 0.9.1
released Jun 29
Download Now
filename src/gui/interface.c
changeset 296:1aa1c5ba59fd
prev180:e6dcf9b65658
author nkeynes
date Mon Jan 29 11:24:44 2007 +0000 (17 years ago)
permissions -rw-r--r--
last change Get render size from the tile segment array
Set near clip to just 0 rather than scanning the scene
Fixup modulate RGB to force fragment alpha to 1.0
Add some debugging fprintfs
view annotate diff log raw
     1 /*
     2  * DO NOT EDIT THIS FILE - it is generated by Glade.
     3  */
     5 #ifdef HAVE_CONFIG_H
     6 #  include <config.h>
     7 #endif
     9 #include <sys/types.h>
    10 #include <sys/stat.h>
    11 #include <unistd.h>
    12 #include <string.h>
    13 #include <stdio.h>
    15 #include <bonobo.h>
    16 #include <gnome.h>
    18 #include "callbacks.h"
    19 #include "interface.h"
    20 #include "support.h"
    22 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
    23   g_object_set_data_full (G_OBJECT (component), name, \
    24     gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
    26 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
    27   g_object_set_data (G_OBJECT (component), name, widget)
    29 static GnomeUIInfo file1_menu_uiinfo[] =
    30 {
    31   GNOMEUIINFO_MENU_NEW_ITEM (N_("_New"), NULL, on_new_file1_activate, NULL),
    32   GNOMEUIINFO_MENU_OPEN_ITEM (on_open1_activate, NULL),
    33   GNOMEUIINFO_MENU_SAVE_ITEM (on_save1_activate, NULL),
    34   GNOMEUIINFO_MENU_SAVE_AS_ITEM (on_save_as1_activate, NULL),
    35   {
    36       GNOME_APP_UI_ITEM, N_("Save next scene..."),
    37       NULL,
    38       (gpointer) on_save_next_scene_activate, NULL, NULL,
    39       GNOME_APP_PIXMAP_NONE, NULL,
    40       0, (GdkModifierType) 0, NULL
    41   },
    42   GNOMEUIINFO_SEPARATOR,
    43   GNOMEUIINFO_MENU_EXIT_ITEM (on_exit1_activate, NULL),
    44   GNOMEUIINFO_END
    45 };
    47 static GnomeUIInfo view1_menu_uiinfo[] =
    48 {
    49   {
    50     GNOME_APP_UI_ITEM, N_("Memory..."),
    51     NULL,
    52     (gpointer) on_view_memory_activate, NULL, NULL,
    53     GNOME_APP_PIXMAP_NONE, NULL,
    54     0, (GdkModifierType) 0, NULL
    55   },
    56   {
    57     GNOME_APP_UI_ITEM, N_("Mem mapped Regs..."),
    58     NULL,
    59     (gpointer) on_mem_mapped_regs1_activate, NULL, NULL,
    60     GNOME_APP_PIXMAP_NONE, NULL,
    61     0, (GdkModifierType) 0, NULL
    62   },
    63   GNOMEUIINFO_END
    64 };
    66 static GnomeUIInfo settings1_menu_uiinfo[] =
    67 {
    68   GNOMEUIINFO_MENU_PREFERENCES_ITEM (on_preferences1_activate, NULL),
    69   GNOMEUIINFO_END
    70 };
    72 static GnomeUIInfo help1_menu_uiinfo[] =
    73 {
    74   GNOMEUIINFO_MENU_ABOUT_ITEM (on_about1_activate, NULL),
    75   GNOMEUIINFO_END
    76 };
    78 static GnomeUIInfo menubar1_uiinfo[] =
    79 {
    80   {
    81     GNOME_APP_UI_SUBTREE, N_("_File"),
    82     NULL,
    83     file1_menu_uiinfo, NULL, NULL,
    84     GNOME_APP_PIXMAP_NONE, NULL,
    85     0, (GdkModifierType) 0, NULL
    86   },
    87   {
    88     GNOME_APP_UI_SUBTREE, N_("_View"),
    89     NULL,
    90     view1_menu_uiinfo, NULL, NULL,
    91     GNOME_APP_PIXMAP_NONE, NULL,
    92     0, (GdkModifierType) 0, NULL
    93   },
    94   {
    95     GNOME_APP_UI_SUBTREE, N_("_Settings"),
    96     NULL,
    97     settings1_menu_uiinfo, NULL, NULL,
    98     GNOME_APP_PIXMAP_NONE, NULL,
    99     0, (GdkModifierType) 0, NULL
   100   },
   101   {
   102     GNOME_APP_UI_SUBTREE, N_("_Help"),
   103     NULL,
   104     help1_menu_uiinfo, NULL, NULL,
   105     GNOME_APP_PIXMAP_NONE, NULL,
   106     0, (GdkModifierType) 0, NULL
   107   },
   108   GNOMEUIINFO_END
   109 };
   111 GtkWidget*
   112 create_debug_win (void)
   113 {
   114   GtkWidget *debug_win;
   115   GtkWidget *dock1;
   116   GtkWidget *toolbar1;
   117   GtkIconSize tmp_toolbar_icon_size;
   118   GtkWidget *tmp_image;
   119   GtkWidget *load_btn;
   120   GtkWidget *reset_btn;
   121   GtkWidget *stop_btn;
   122   GtkWidget *step_btn;
   123   GtkWidget *run_btn;
   124   GtkWidget *runto_btn;
   125   GtkWidget *break_btn;
   126   GtkWidget *loadstate_button;
   127   GtkWidget *savestate_button;
   128   GtkWidget *vpaned1;
   129   GtkWidget *hpaned1;
   130   GtkWidget *vbox2;
   131   GtkWidget *hbox1;
   132   GtkWidget *label21;
   133   GtkWidget *page_field;
   134   GtkWidget *page_locked_btn;
   135   GtkWidget *jump_pc_btn;
   136   GtkWidget *label22;
   137   GtkWidget *mode_box;
   138   GList *mode_box_items = NULL;
   139   GtkWidget *mode_field;
   140   GtkWidget *label23;
   141   GtkWidget *scrolledwindow7;
   142   GtkWidget *disasm_list;
   143   GtkWidget *label24;
   144   GtkWidget *label27;
   145   GtkWidget *label28;
   146   GtkWidget *label29;
   147   GtkWidget *scrolledwindow4;
   148   GtkWidget *reg_list;
   149   GtkWidget *label25;
   150   GtkWidget *label30;
   151   GtkWidget *scrolledwindow8;
   152   GtkWidget *output_list;
   153   GtkWidget *label26;
   154   GtkWidget *label31;
   155   GtkWidget *label32;
   156   GtkWidget *debug_appbar;
   157   GtkTooltips *tooltips;
   159   tooltips = gtk_tooltips_new ();
   161   debug_win = gnome_app_new ("Dream", _("lxDream! Debugger"));
   162   gtk_window_set_default_size (GTK_WINDOW (debug_win), 1000, 700);
   164   dock1 = GNOME_APP (debug_win)->dock;
   165   gtk_widget_show (dock1);
   167   gnome_app_create_menus (GNOME_APP (debug_win), menubar1_uiinfo);
   169   toolbar1 = gtk_toolbar_new ();
   170   gtk_widget_show (toolbar1);
   171   gnome_app_add_toolbar (GNOME_APP (debug_win), GTK_TOOLBAR (toolbar1), "toolbar1",
   172                                 BONOBO_DOCK_ITEM_BEH_EXCLUSIVE,
   173                                 BONOBO_DOCK_TOP, 1, 0, 0);
   174   gtk_container_set_border_width (GTK_CONTAINER (toolbar1), 1);
   175   gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH);
   176   tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1));
   178   tmp_image = gtk_image_new_from_stock ("gtk-cdrom", tmp_toolbar_icon_size);
   179   gtk_widget_show (tmp_image);
   180   load_btn = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Mount"));
   181   gtk_widget_show (load_btn);
   182   gtk_container_add (GTK_CONTAINER (toolbar1), load_btn);
   183   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (load_btn), tooltips, _("Mount CD-Rom"), NULL);
   185   tmp_image = gtk_image_new_from_stock ("gtk-refresh", tmp_toolbar_icon_size);
   186   gtk_widget_show (tmp_image);
   187   reset_btn = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Reset"));
   188   gtk_widget_show (reset_btn);
   189   gtk_container_add (GTK_CONTAINER (toolbar1), reset_btn);
   190   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (reset_btn), tooltips, _("Reset emulator"), NULL);
   192   tmp_image = gtk_image_new_from_stock ("gtk-stop", tmp_toolbar_icon_size);
   193   gtk_widget_show (tmp_image);
   194   stop_btn = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Stop"));
   195   gtk_widget_show (stop_btn);
   196   gtk_container_add (GTK_CONTAINER (toolbar1), stop_btn);
   197   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (stop_btn), tooltips, _("Stop"), NULL);
   199   tmp_image = gtk_image_new_from_stock ("gtk-redo", tmp_toolbar_icon_size);
   200   gtk_widget_show (tmp_image);
   201   step_btn = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Step"));
   202   gtk_widget_show (step_btn);
   203   gtk_container_add (GTK_CONTAINER (toolbar1), step_btn);
   204   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (step_btn), tooltips, _("Single step"), NULL);
   206   tmp_image = gtk_image_new_from_stock ("gtk-go-forward", tmp_toolbar_icon_size);
   207   gtk_widget_show (tmp_image);
   208   run_btn = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Run"));
   209   gtk_widget_show (run_btn);
   210   gtk_container_add (GTK_CONTAINER (toolbar1), run_btn);
   211   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (run_btn), tooltips, _("Run"), NULL);
   213   tmp_image = gtk_image_new_from_stock ("gtk-goto-last", tmp_toolbar_icon_size);
   214   gtk_widget_show (tmp_image);
   215   runto_btn = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Run to"));
   216   gtk_widget_show (runto_btn);
   217   gtk_container_add (GTK_CONTAINER (toolbar1), runto_btn);
   218   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (runto_btn), tooltips, _("Run to current selection"), NULL);
   220   tmp_image = gtk_image_new_from_stock ("gtk-close", tmp_toolbar_icon_size);
   221   gtk_widget_show (tmp_image);
   222   break_btn = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Break"));
   223   gtk_widget_show (break_btn);
   224   gtk_container_add (GTK_CONTAINER (toolbar1), break_btn);
   225   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (break_btn), tooltips, _("Set breakpoint"), NULL);
   227   tmp_image = gtk_image_new_from_stock ("gtk-open", tmp_toolbar_icon_size);
   228   gtk_widget_show (tmp_image);
   229   loadstate_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Load"));
   230   gtk_widget_show (loadstate_button);
   231   gtk_container_add (GTK_CONTAINER (toolbar1), loadstate_button);
   232   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (loadstate_button), tooltips, _("Load save-state file"), NULL);
   234   tmp_image = gtk_image_new_from_stock ("gtk-save", tmp_toolbar_icon_size);
   235   gtk_widget_show (tmp_image);
   236   savestate_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Save"));
   237   gtk_widget_show (savestate_button);
   238   gtk_container_add (GTK_CONTAINER (toolbar1), savestate_button);
   239   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (savestate_button), tooltips, _("Save save-state file"), NULL);
   241   vpaned1 = gtk_vpaned_new ();
   242   gtk_widget_show (vpaned1);
   243   gnome_app_set_contents (GNOME_APP (debug_win), vpaned1);
   244   gtk_paned_set_position (GTK_PANED (vpaned1), 430);
   246   hpaned1 = gtk_hpaned_new ();
   247   gtk_widget_show (hpaned1);
   248   gtk_paned_pack1 (GTK_PANED (vpaned1), hpaned1, TRUE, TRUE);
   249   gtk_paned_set_position (GTK_PANED (hpaned1), 800);
   251   vbox2 = gtk_vbox_new (FALSE, 0);
   252   gtk_widget_show (vbox2);
   253   gtk_paned_pack1 (GTK_PANED (hpaned1), vbox2, FALSE, TRUE);
   255   hbox1 = gtk_hbox_new (FALSE, 0);
   256   gtk_widget_show (hbox1);
   257   gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 3);
   259   label21 = gtk_label_new (_("Page"));
   260   gtk_widget_show (label21);
   261   gtk_box_pack_start (GTK_BOX (hbox1), label21, FALSE, FALSE, 4);
   262   gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_CENTER);
   264   page_field = gtk_entry_new ();
   265   gtk_widget_show (page_field);
   266   gtk_box_pack_start (GTK_BOX (hbox1), page_field, FALSE, TRUE, 0);
   268   page_locked_btn = gtk_check_button_new_with_mnemonic (_("Locked"));
   269   gtk_widget_show (page_locked_btn);
   270   gtk_box_pack_start (GTK_BOX (hbox1), page_locked_btn, FALSE, FALSE, 5);
   272   jump_pc_btn = gtk_button_new_with_mnemonic (_(" Jump to PC "));
   273   gtk_widget_show (jump_pc_btn);
   274   gtk_box_pack_start (GTK_BOX (hbox1), jump_pc_btn, FALSE, FALSE, 4);
   276   label22 = gtk_label_new (_("Mode"));
   277   gtk_widget_show (label22);
   278   gtk_box_pack_start (GTK_BOX (hbox1), label22, FALSE, FALSE, 5);
   279   gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_RIGHT);
   280   gtk_misc_set_alignment (GTK_MISC (label22), 1, 0.5);
   282   mode_box = gtk_combo_new ();
   283   g_object_set_data (G_OBJECT (GTK_COMBO (mode_box)->popwin),
   284                      "GladeParentKey", mode_box);
   285   gtk_widget_show (mode_box);
   286   gtk_box_pack_start (GTK_BOX (hbox1), mode_box, FALSE, FALSE, 0);
   287   mode_box_items = g_list_append (mode_box_items, (gpointer) _("SH4"));
   288   mode_box_items = g_list_append (mode_box_items, (gpointer) _("ARM7"));
   289   mode_box_items = g_list_append (mode_box_items, (gpointer) _("ARM7T"));
   290   gtk_combo_set_popdown_strings (GTK_COMBO (mode_box), mode_box_items);
   291   g_list_free (mode_box_items);
   293   mode_field = GTK_COMBO (mode_box)->entry;
   294   gtk_widget_show (mode_field);
   295   gtk_editable_set_editable (GTK_EDITABLE (mode_field), FALSE);
   297   label23 = gtk_label_new ("");
   298   gtk_widget_show (label23);
   299   gtk_box_pack_start (GTK_BOX (hbox1), label23, TRUE, TRUE, 4);
   300   gtk_label_set_justify (GTK_LABEL (label23), GTK_JUSTIFY_CENTER);
   302   scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL);
   303   gtk_widget_show (scrolledwindow7);
   304   gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindow7, TRUE, TRUE, 0);
   305   GTK_WIDGET_UNSET_FLAGS (scrolledwindow7, GTK_CAN_FOCUS);
   306   gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_SHADOW_IN);
   308   disasm_list = gtk_clist_new (4);
   309   gtk_widget_show (disasm_list);
   310   gtk_container_add (GTK_CONTAINER (scrolledwindow7), disasm_list);
   311   gtk_clist_set_column_width (GTK_CLIST (disasm_list), 0, 80);
   312   gtk_clist_set_column_width (GTK_CLIST (disasm_list), 1, 80);
   313   gtk_clist_set_column_width (GTK_CLIST (disasm_list), 2, 80);
   314   gtk_clist_set_column_width (GTK_CLIST (disasm_list), 3, 80);
   315   gtk_clist_column_titles_hide (GTK_CLIST (disasm_list));
   317   label24 = gtk_label_new ("");
   318   gtk_widget_show (label24);
   319   gtk_clist_set_column_widget (GTK_CLIST (disasm_list), 0, label24);
   321   label27 = gtk_label_new ("");
   322   gtk_widget_show (label27);
   323   gtk_clist_set_column_widget (GTK_CLIST (disasm_list), 1, label27);
   325   label28 = gtk_label_new ("");
   326   gtk_widget_show (label28);
   327   gtk_clist_set_column_widget (GTK_CLIST (disasm_list), 2, label28);
   329   label29 = gtk_label_new ("");
   330   gtk_widget_show (label29);
   331   gtk_clist_set_column_widget (GTK_CLIST (disasm_list), 3, label29);
   333   scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL);
   334   gtk_widget_show (scrolledwindow4);
   335   gtk_paned_pack2 (GTK_PANED (hpaned1), scrolledwindow4, FALSE, TRUE);
   336   GTK_WIDGET_UNSET_FLAGS (scrolledwindow4, GTK_CAN_FOCUS);
   337   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
   338   gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_SHADOW_IN);
   340   reg_list = gtk_clist_new (2);
   341   gtk_widget_show (reg_list);
   342   gtk_container_add (GTK_CONTAINER (scrolledwindow4), reg_list);
   343   gtk_clist_set_column_width (GTK_CLIST (reg_list), 0, 80);
   344   gtk_clist_set_column_width (GTK_CLIST (reg_list), 1, 80);
   345   gtk_clist_column_titles_hide (GTK_CLIST (reg_list));
   347   label25 = gtk_label_new ("");
   348   gtk_widget_show (label25);
   349   gtk_clist_set_column_widget (GTK_CLIST (reg_list), 0, label25);
   351   label30 = gtk_label_new ("");
   352   gtk_widget_show (label30);
   353   gtk_clist_set_column_widget (GTK_CLIST (reg_list), 1, label30);
   355   scrolledwindow8 = gtk_scrolled_window_new (NULL, NULL);
   356   gtk_widget_show (scrolledwindow8);
   357   gtk_paned_pack2 (GTK_PANED (vpaned1), scrolledwindow8, FALSE, TRUE);
   358   GTK_WIDGET_UNSET_FLAGS (scrolledwindow8, GTK_CAN_FOCUS);
   359   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow8), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
   360   gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow8), GTK_SHADOW_IN);
   362   output_list = gtk_clist_new (4);
   363   gtk_widget_show (output_list);
   364   gtk_container_add (GTK_CONTAINER (scrolledwindow8), output_list);
   365   gtk_clist_set_column_width (GTK_CLIST (output_list), 0, 80);
   366   gtk_clist_set_column_width (GTK_CLIST (output_list), 1, 80);
   367   gtk_clist_set_column_width (GTK_CLIST (output_list), 2, 80);
   368   gtk_clist_set_column_width (GTK_CLIST (output_list), 3, 80);
   369   gtk_clist_column_titles_hide (GTK_CLIST (output_list));
   371   label26 = gtk_label_new ("");
   372   gtk_widget_show (label26);
   373   gtk_clist_set_column_widget (GTK_CLIST (output_list), 0, label26);
   375   label31 = gtk_label_new ("");
   376   gtk_widget_show (label31);
   377   gtk_clist_set_column_widget (GTK_CLIST (output_list), 1, label31);
   379   label32 = gtk_label_new ("");
   380   gtk_widget_show (label32);
   381   gtk_clist_set_column_widget (GTK_CLIST (output_list), 2, label32);
   383   debug_appbar = gnome_appbar_new (TRUE, TRUE, GNOME_PREFERENCES_NEVER);
   384   gtk_widget_show (debug_appbar);
   385   gnome_app_set_statusbar (GNOME_APP (debug_win), debug_appbar);
   387   g_signal_connect ((gpointer) debug_win, "delete_event",
   388                     G_CALLBACK (on_debug_win_delete_event),
   389                     NULL);
   390   gnome_app_install_menu_hints (GNOME_APP (debug_win), menubar1_uiinfo);
   391   g_signal_connect ((gpointer) load_btn, "clicked",
   392                     G_CALLBACK (on_load_btn_clicked),
   393                     NULL);
   394   g_signal_connect ((gpointer) reset_btn, "clicked",
   395                     G_CALLBACK (on_reset_btn_clicked),
   396                     NULL);
   397   g_signal_connect ((gpointer) stop_btn, "clicked",
   398                     G_CALLBACK (on_stop_btn_clicked),
   399                     NULL);
   400   g_signal_connect ((gpointer) step_btn, "clicked",
   401                     G_CALLBACK (on_step_btn_clicked),
   402                     NULL);
   403   g_signal_connect ((gpointer) run_btn, "clicked",
   404                     G_CALLBACK (on_run_btn_clicked),
   405                     NULL);
   406   g_signal_connect ((gpointer) runto_btn, "clicked",
   407                     G_CALLBACK (on_runto_btn_clicked),
   408                     NULL);
   409   g_signal_connect ((gpointer) break_btn, "clicked",
   410                     G_CALLBACK (on_break_btn_clicked),
   411                     NULL);
   412   g_signal_connect ((gpointer) loadstate_button, "clicked",
   413                     G_CALLBACK (on_loadstate_button_clicked),
   414                     NULL);
   415   g_signal_connect ((gpointer) savestate_button, "clicked",
   416                     G_CALLBACK (on_savestate_button_clicked),
   417                     NULL);
   418   g_signal_connect ((gpointer) page_field, "key_press_event",
   419                     G_CALLBACK (on_page_field_key_press_event),
   420                     NULL);
   421   g_signal_connect ((gpointer) page_locked_btn, "toggled",
   422                     G_CALLBACK (on_page_locked_btn_toggled),
   423                     NULL);
   424   g_signal_connect ((gpointer) jump_pc_btn, "clicked",
   425                     G_CALLBACK (on_jump_pc_btn_clicked),
   426                     NULL);
   427   g_signal_connect ((gpointer) mode_field, "changed",
   428                     G_CALLBACK (on_mode_field_changed),
   429                     NULL);
   430   g_signal_connect ((gpointer) disasm_list, "select_row",
   431                     G_CALLBACK (on_disasm_list_select_row),
   432                     NULL);
   433   g_signal_connect ((gpointer) disasm_list, "unselect_row",
   434                     G_CALLBACK (on_disasm_list_unselect_row),
   435                     NULL);
   436   g_signal_connect ((gpointer) output_list, "select_row",
   437                     G_CALLBACK (on_output_list_select_row),
   438                     NULL);
   440   /* Store pointers to all widgets, for use by lookup_widget(). */
   441   GLADE_HOOKUP_OBJECT_NO_REF (debug_win, debug_win, "debug_win");
   442   GLADE_HOOKUP_OBJECT (debug_win, dock1, "dock1");
   443   GLADE_HOOKUP_OBJECT (debug_win, menubar1_uiinfo[0].widget, "file1");
   444   GLADE_HOOKUP_OBJECT (debug_win, file1_menu_uiinfo[0].widget, "new_file1");
   445   GLADE_HOOKUP_OBJECT (debug_win, file1_menu_uiinfo[1].widget, "open1");
   446   GLADE_HOOKUP_OBJECT (debug_win, file1_menu_uiinfo[2].widget, "save1");
   447   GLADE_HOOKUP_OBJECT (debug_win, file1_menu_uiinfo[3].widget, "save_as1");
   448   GLADE_HOOKUP_OBJECT (debug_win, file1_menu_uiinfo[4].widget, "separator1");
   449   GLADE_HOOKUP_OBJECT (debug_win, file1_menu_uiinfo[5].widget, "exit1");
   450   GLADE_HOOKUP_OBJECT (debug_win, menubar1_uiinfo[1].widget, "view1");
   451   GLADE_HOOKUP_OBJECT (debug_win, view1_menu_uiinfo[0].widget, "view_memory");
   452   GLADE_HOOKUP_OBJECT (debug_win, view1_menu_uiinfo[1].widget, "mem_mapped_regs1");
   453   GLADE_HOOKUP_OBJECT (debug_win, menubar1_uiinfo[2].widget, "settings1");
   454   GLADE_HOOKUP_OBJECT (debug_win, settings1_menu_uiinfo[0].widget, "preferences1");
   455   GLADE_HOOKUP_OBJECT (debug_win, menubar1_uiinfo[3].widget, "help1");
   456   GLADE_HOOKUP_OBJECT (debug_win, help1_menu_uiinfo[0].widget, "about1");
   457   GLADE_HOOKUP_OBJECT (debug_win, toolbar1, "toolbar1");
   458   GLADE_HOOKUP_OBJECT (debug_win, load_btn, "load_btn");
   459   GLADE_HOOKUP_OBJECT (debug_win, reset_btn, "reset_btn");
   460   GLADE_HOOKUP_OBJECT (debug_win, stop_btn, "stop_btn");
   461   GLADE_HOOKUP_OBJECT (debug_win, step_btn, "step_btn");
   462   GLADE_HOOKUP_OBJECT (debug_win, run_btn, "run_btn");
   463   GLADE_HOOKUP_OBJECT (debug_win, runto_btn, "runto_btn");
   464   GLADE_HOOKUP_OBJECT (debug_win, break_btn, "break_btn");
   465   GLADE_HOOKUP_OBJECT (debug_win, loadstate_button, "loadstate_button");
   466   GLADE_HOOKUP_OBJECT (debug_win, savestate_button, "savestate_button");
   467   GLADE_HOOKUP_OBJECT (debug_win, vpaned1, "vpaned1");
   468   GLADE_HOOKUP_OBJECT (debug_win, hpaned1, "hpaned1");
   469   GLADE_HOOKUP_OBJECT (debug_win, vbox2, "vbox2");
   470   GLADE_HOOKUP_OBJECT (debug_win, hbox1, "hbox1");
   471   GLADE_HOOKUP_OBJECT (debug_win, label21, "label21");
   472   GLADE_HOOKUP_OBJECT (debug_win, page_field, "page_field");
   473   GLADE_HOOKUP_OBJECT (debug_win, page_locked_btn, "page_locked_btn");
   474   GLADE_HOOKUP_OBJECT (debug_win, jump_pc_btn, "jump_pc_btn");
   475   GLADE_HOOKUP_OBJECT (debug_win, label22, "label22");
   476   GLADE_HOOKUP_OBJECT (debug_win, mode_box, "mode_box");
   477   GLADE_HOOKUP_OBJECT (debug_win, mode_field, "mode_field");
   478   GLADE_HOOKUP_OBJECT (debug_win, label23, "label23");
   479   GLADE_HOOKUP_OBJECT (debug_win, scrolledwindow7, "scrolledwindow7");
   480   GLADE_HOOKUP_OBJECT (debug_win, disasm_list, "disasm_list");
   481   GLADE_HOOKUP_OBJECT (debug_win, label24, "label24");
   482   GLADE_HOOKUP_OBJECT (debug_win, label27, "label27");
   483   GLADE_HOOKUP_OBJECT (debug_win, label28, "label28");
   484   GLADE_HOOKUP_OBJECT (debug_win, label29, "label29");
   485   GLADE_HOOKUP_OBJECT (debug_win, scrolledwindow4, "scrolledwindow4");
   486   GLADE_HOOKUP_OBJECT (debug_win, reg_list, "reg_list");
   487   GLADE_HOOKUP_OBJECT (debug_win, label25, "label25");
   488   GLADE_HOOKUP_OBJECT (debug_win, label30, "label30");
   489   GLADE_HOOKUP_OBJECT (debug_win, scrolledwindow8, "scrolledwindow8");
   490   GLADE_HOOKUP_OBJECT (debug_win, output_list, "output_list");
   491   GLADE_HOOKUP_OBJECT (debug_win, label26, "label26");
   492   GLADE_HOOKUP_OBJECT (debug_win, label31, "label31");
   493   GLADE_HOOKUP_OBJECT (debug_win, label32, "label32");
   494   GLADE_HOOKUP_OBJECT (debug_win, debug_appbar, "debug_appbar");
   495   GLADE_HOOKUP_OBJECT_NO_REF (debug_win, tooltips, "tooltips");
   497   return debug_win;
   498 }
   500 GtkWidget*
   501 create_mmr_win (void)
   502 {
   503   GtkWidget *mmr_win;
   504   GtkWidget *vbox1;
   505   GtkWidget *mmr_notebook;
   506   GtkWidget *empty_notebook_page;
   507   GtkWidget *label16;
   508   GtkWidget *hbuttonbox1;
   509   GtkWidget *mmr_close;
   511   mmr_win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   512   gtk_window_set_title (GTK_WINDOW (mmr_win), _("lxDream! - Memory-Mapped Registers"));
   513   gtk_window_set_default_size (GTK_WINDOW (mmr_win), 600, 600);
   515   vbox1 = gtk_vbox_new (FALSE, 0);
   516   gtk_widget_show (vbox1);
   517   gtk_container_add (GTK_CONTAINER (mmr_win), vbox1);
   519   mmr_notebook = gtk_notebook_new ();
   520   gtk_widget_show (mmr_notebook);
   521   gtk_box_pack_start (GTK_BOX (vbox1), mmr_notebook, TRUE, TRUE, 0);
   522   gtk_notebook_set_tab_pos (GTK_NOTEBOOK (mmr_notebook), GTK_POS_LEFT);
   524   empty_notebook_page = gtk_vbox_new (FALSE, 0);
   525   gtk_widget_show (empty_notebook_page);
   526   gtk_container_add (GTK_CONTAINER (mmr_notebook), empty_notebook_page);
   528   label16 = gtk_label_new (_("label16"));
   529   gtk_widget_show (label16);
   530   gtk_notebook_set_tab_label (GTK_NOTEBOOK (mmr_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (mmr_notebook), 0), label16);
   531   gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_CENTER);
   533   hbuttonbox1 = gtk_hbutton_box_new ();
   534   gtk_widget_show (hbuttonbox1);
   535   gtk_box_pack_start (GTK_BOX (vbox1), hbuttonbox1, FALSE, TRUE, 0);
   536   gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 30);
   538   mmr_close = gtk_button_new_with_mnemonic (_("Close"));
   539   gtk_widget_show (mmr_close);
   540   gtk_container_add (GTK_CONTAINER (hbuttonbox1), mmr_close);
   541   GTK_WIDGET_SET_FLAGS (mmr_close, GTK_CAN_DEFAULT);
   543   g_signal_connect ((gpointer) mmr_win, "delete_event",
   544                     G_CALLBACK (on_mmr_win_delete_event),
   545                     NULL);
   546   g_signal_connect ((gpointer) mmr_close, "clicked",
   547                     G_CALLBACK (on_mmr_close_clicked),
   548                     NULL);
   550   /* Store pointers to all widgets, for use by lookup_widget(). */
   551   GLADE_HOOKUP_OBJECT_NO_REF (mmr_win, mmr_win, "mmr_win");
   552   GLADE_HOOKUP_OBJECT (mmr_win, vbox1, "vbox1");
   553   GLADE_HOOKUP_OBJECT (mmr_win, mmr_notebook, "mmr_notebook");
   554   GLADE_HOOKUP_OBJECT (mmr_win, label16, "label16");
   555   GLADE_HOOKUP_OBJECT (mmr_win, hbuttonbox1, "hbuttonbox1");
   556   GLADE_HOOKUP_OBJECT (mmr_win, mmr_close, "mmr_close");
   558   return mmr_win;
   559 }
   561 GtkWidget*
   562 create_about_win (void)
   563 {
   564   const gchar *authors[] = {
   565     "Nathan Keynes",
   566     NULL
   567   };
   568   const gchar *documenters[] = { NULL };
   569   /* TRANSLATORS: Replace this string with your names, one name per line. */
   570   gchar *translators = _("translator_credits");
   571   GdkPixbuf *about_win_logo_pixbuf;
   572   GtkWidget *about_win;
   574   if (!strcmp (translators, "translator_credits"))
   575     translators = NULL;
   576   about_win_logo_pixbuf = create_pixbuf ("dream/dcemu.gif");
   577   about_win = gnome_about_new ("Dream", VERSION,
   578                         _("Copyright(c) 2002 Nathan Keynes"),
   579                         "",
   580                         authors,
   581                         documenters,
   582                         translators,
   583                         about_win_logo_pixbuf);
   584   gtk_container_set_border_width (GTK_CONTAINER (about_win), 1);
   585   gtk_window_set_type_hint (GTK_WINDOW (about_win), GDK_WINDOW_TYPE_HINT_DIALOG);
   587   /* Store pointers to all widgets, for use by lookup_widget(). */
   588   GLADE_HOOKUP_OBJECT_NO_REF (about_win, about_win, "about_win");
   590   return about_win;
   591 }
   593 GtkWidget*
   594 create_dump_win (void)
   595 {
   596   GtkWidget *dump_win;
   597   GtkWidget *vbox3;
   598   GtkWidget *hbox2;
   599   GtkWidget *label34;
   600   GtkWidget *dump_from;
   601   GtkWidget *label35;
   602   GtkWidget *dump_to;
   603   GtkWidget *dump_view_button;
   604   GtkWidget *label36;
   605   GtkWidget *scrolledwindow9;
   606   GtkWidget *dump_text;
   608   dump_win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   609   gtk_window_set_title (GTK_WINDOW (dump_win), _("Memory dump"));
   611   vbox3 = gtk_vbox_new (FALSE, 0);
   612   gtk_widget_show (vbox3);
   613   gtk_container_add (GTK_CONTAINER (dump_win), vbox3);
   615   hbox2 = gtk_hbox_new (FALSE, 0);
   616   gtk_widget_show (hbox2);
   617   gtk_box_pack_start (GTK_BOX (vbox3), hbox2, FALSE, TRUE, 3);
   619   label34 = gtk_label_new (_(" From "));
   620   gtk_widget_show (label34);
   621   gtk_box_pack_start (GTK_BOX (hbox2), label34, FALSE, FALSE, 0);
   623   dump_from = gtk_entry_new ();
   624   gtk_widget_show (dump_from);
   625   gtk_box_pack_start (GTK_BOX (hbox2), dump_from, FALSE, TRUE, 0);
   627   label35 = gtk_label_new (_(" To "));
   628   gtk_widget_show (label35);
   629   gtk_box_pack_start (GTK_BOX (hbox2), label35, FALSE, FALSE, 0);
   631   dump_to = gtk_entry_new ();
   632   gtk_widget_show (dump_to);
   633   gtk_box_pack_start (GTK_BOX (hbox2), dump_to, FALSE, TRUE, 0);
   635   dump_view_button = gtk_button_new_with_mnemonic (_("View"));
   636   gtk_widget_show (dump_view_button);
   637   gtk_box_pack_start (GTK_BOX (hbox2), dump_view_button, FALSE, FALSE, 0);
   639   label36 = gtk_label_new (_("   "));
   640   gtk_widget_show (label36);
   641   gtk_box_pack_start (GTK_BOX (hbox2), label36, TRUE, TRUE, 0);
   643   scrolledwindow9 = gtk_scrolled_window_new (NULL, NULL);
   644   gtk_widget_show (scrolledwindow9);
   645   gtk_box_pack_start (GTK_BOX (vbox3), scrolledwindow9, TRUE, TRUE, 0);
   646   gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_SHADOW_IN);
   648   dump_text = gtk_text_view_new ();
   649   gtk_widget_show (dump_text);
   650   gtk_container_add (GTK_CONTAINER (scrolledwindow9), dump_text);
   652   /* Store pointers to all widgets, for use by lookup_widget(). */
   653   GLADE_HOOKUP_OBJECT_NO_REF (dump_win, dump_win, "dump_win");
   654   GLADE_HOOKUP_OBJECT (dump_win, vbox3, "vbox3");
   655   GLADE_HOOKUP_OBJECT (dump_win, hbox2, "hbox2");
   656   GLADE_HOOKUP_OBJECT (dump_win, label34, "label34");
   657   GLADE_HOOKUP_OBJECT (dump_win, dump_from, "dump_from");
   658   GLADE_HOOKUP_OBJECT (dump_win, label35, "label35");
   659   GLADE_HOOKUP_OBJECT (dump_win, dump_to, "dump_to");
   660   GLADE_HOOKUP_OBJECT (dump_win, dump_view_button, "dump_view_button");
   661   GLADE_HOOKUP_OBJECT (dump_win, label36, "label36");
   662   GLADE_HOOKUP_OBJECT (dump_win, scrolledwindow9, "scrolledwindow9");
   663   GLADE_HOOKUP_OBJECT (dump_win, dump_text, "dump_text");
   665   return dump_win;
   666 }
   668 GtkWidget*
   669 create_watch_win (void)
   670 {
   671   GtkWidget *watch_win;
   672   GtkWidget *vbox4;
   673   GtkWidget *hbox4;
   674   GtkWidget *label37;
   675   GtkWidget *watch_start_addr;
   676   GtkWidget *label38;
   677   GtkWidget *watch_end_addr;
   678   GtkWidget *label39;
   679   GtkWidget *combo1;
   680   GtkWidget *watch_type;
   681   GtkWidget *button_add_watch;
   682   GtkWidget *scrolledwindow10;
   683   GtkWidget *treeview1;
   684   GtkWidget *hbox5;
   685   GtkWidget *label40;
   686   GtkWidget *button_clear_all;
   687   GtkWidget *button_close;
   689   watch_win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   690   gtk_window_set_title (GTK_WINDOW (watch_win), _("Watchpoints"));
   692   vbox4 = gtk_vbox_new (FALSE, 0);
   693   gtk_widget_show (vbox4);
   694   gtk_container_add (GTK_CONTAINER (watch_win), vbox4);
   696   hbox4 = gtk_hbox_new (FALSE, 0);
   697   gtk_widget_show (hbox4);
   698   gtk_box_pack_start (GTK_BOX (vbox4), hbox4, FALSE, TRUE, 3);
   700   label37 = gtk_label_new (_("Start addr "));
   701   gtk_widget_show (label37);
   702   gtk_box_pack_start (GTK_BOX (hbox4), label37, FALSE, FALSE, 3);
   704   watch_start_addr = gtk_entry_new ();
   705   gtk_widget_show (watch_start_addr);
   706   gtk_box_pack_start (GTK_BOX (hbox4), watch_start_addr, FALSE, TRUE, 0);
   708   label38 = gtk_label_new (_("End addr"));
   709   gtk_widget_show (label38);
   710   gtk_box_pack_start (GTK_BOX (hbox4), label38, FALSE, FALSE, 3);
   712   watch_end_addr = gtk_entry_new ();
   713   gtk_widget_show (watch_end_addr);
   714   gtk_box_pack_start (GTK_BOX (hbox4), watch_end_addr, FALSE, TRUE, 0);
   716   label39 = gtk_label_new (_("Type"));
   717   gtk_widget_show (label39);
   718   gtk_box_pack_start (GTK_BOX (hbox4), label39, FALSE, FALSE, 3);
   720   combo1 = gtk_combo_new ();
   721   g_object_set_data (G_OBJECT (GTK_COMBO (combo1)->popwin),
   722                      "GladeParentKey", combo1);
   723   gtk_widget_show (combo1);
   724   gtk_box_pack_start (GTK_BOX (hbox4), combo1, TRUE, TRUE, 0);
   726   watch_type = GTK_COMBO (combo1)->entry;
   727   gtk_widget_show (watch_type);
   729   button_add_watch = gtk_button_new_with_mnemonic (_("Add Watch"));
   730   gtk_widget_show (button_add_watch);
   731   gtk_box_pack_start (GTK_BOX (hbox4), button_add_watch, FALSE, FALSE, 3);
   733   scrolledwindow10 = gtk_scrolled_window_new (NULL, NULL);
   734   gtk_widget_show (scrolledwindow10);
   735   gtk_box_pack_start (GTK_BOX (vbox4), scrolledwindow10, TRUE, TRUE, 0);
   737   treeview1 = gtk_tree_view_new ();
   738   gtk_widget_show (treeview1);
   739   gtk_container_add (GTK_CONTAINER (scrolledwindow10), treeview1);
   740   gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview1), FALSE);
   742   hbox5 = gtk_hbox_new (FALSE, 0);
   743   gtk_widget_show (hbox5);
   744   gtk_box_pack_start (GTK_BOX (vbox4), hbox5, FALSE, TRUE, 3);
   746   label40 = gtk_label_new ("");
   747   gtk_widget_show (label40);
   748   gtk_box_pack_start (GTK_BOX (hbox5), label40, TRUE, TRUE, 0);
   750   button_clear_all = gtk_button_new_with_mnemonic (_("Clear all"));
   751   gtk_widget_show (button_clear_all);
   752   gtk_box_pack_start (GTK_BOX (hbox5), button_clear_all, FALSE, FALSE, 3);
   754   button_close = gtk_button_new_with_mnemonic (_("Close"));
   755   gtk_widget_show (button_close);
   756   gtk_box_pack_start (GTK_BOX (hbox5), button_close, FALSE, FALSE, 5);
   758   g_signal_connect ((gpointer) button_add_watch, "clicked",
   759                     G_CALLBACK (on_button_add_watch_clicked),
   760                     NULL);
   761   g_signal_connect ((gpointer) button_clear_all, "clicked",
   762                     G_CALLBACK (on_button_clear_all_clicked),
   763                     NULL);
   764   g_signal_connect ((gpointer) button_close, "clicked",
   765                     G_CALLBACK (on_button_close_clicked),
   766                     NULL);
   768   /* Store pointers to all widgets, for use by lookup_widget(). */
   769   GLADE_HOOKUP_OBJECT_NO_REF (watch_win, watch_win, "watch_win");
   770   GLADE_HOOKUP_OBJECT (watch_win, vbox4, "vbox4");
   771   GLADE_HOOKUP_OBJECT (watch_win, hbox4, "hbox4");
   772   GLADE_HOOKUP_OBJECT (watch_win, label37, "label37");
   773   GLADE_HOOKUP_OBJECT (watch_win, watch_start_addr, "watch_start_addr");
   774   GLADE_HOOKUP_OBJECT (watch_win, label38, "label38");
   775   GLADE_HOOKUP_OBJECT (watch_win, watch_end_addr, "watch_end_addr");
   776   GLADE_HOOKUP_OBJECT (watch_win, label39, "label39");
   777   GLADE_HOOKUP_OBJECT (watch_win, combo1, "combo1");
   778   GLADE_HOOKUP_OBJECT (watch_win, watch_type, "watch_type");
   779   GLADE_HOOKUP_OBJECT (watch_win, button_add_watch, "button_add_watch");
   780   GLADE_HOOKUP_OBJECT (watch_win, scrolledwindow10, "scrolledwindow10");
   781   GLADE_HOOKUP_OBJECT (watch_win, treeview1, "treeview1");
   782   GLADE_HOOKUP_OBJECT (watch_win, hbox5, "hbox5");
   783   GLADE_HOOKUP_OBJECT (watch_win, label40, "label40");
   784   GLADE_HOOKUP_OBJECT (watch_win, button_clear_all, "button_clear_all");
   785   GLADE_HOOKUP_OBJECT (watch_win, button_close, "button_close");
   787   return watch_win;
   788 }
.