Added new (currently not connected) button for save/restore feature.
Pressing the button currently prints to the log diagnostic message. Vaolker, could you make it call save/restore dialog and remove the button inside config dialog ?
This commit is contained in:
parent
d550d71e03
commit
a71543ced4
26
bochs/gui/bitmaps/saverestore.h
Executable file
26
bochs/gui/bitmaps/saverestore.h
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////
|
||||||
|
// $$
|
||||||
|
/////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define BX_SAVE_RESTORE_BMAP_X 32
|
||||||
|
#define BX_SAVE_RESTORE_BMAP_Y 32
|
||||||
|
|
||||||
|
static const unsigned char bx_save_restore_bmap[(BX_SAVE_RESTORE_BMAP_X * BX_SAVE_RESTORE_BMAP_Y)/8] =
|
||||||
|
{
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x2e, 0xdd, 0x9d, 0x3b,
|
||||||
|
0x22, 0x45, 0x45, 0x4a, 0x2c, 0xd9, 0x5d, 0x4a,
|
||||||
|
0x28, 0x51, 0x44, 0x4a, 0xee, 0x5d, 0x5c, 0x3a,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00,
|
||||||
|
0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00,
|
||||||
|
0x00, 0xec, 0x0d, 0x00, 0x00, 0xee, 0x1d, 0x00,
|
||||||
|
0x00, 0xef, 0x3d, 0x00, 0x00, 0xe7, 0x39, 0x00,
|
||||||
|
0x00, 0xe7, 0x39, 0x00, 0x00, 0x07, 0x38, 0x00,
|
||||||
|
0x00, 0x07, 0x38, 0x00, 0x00, 0x07, 0x38, 0x00,
|
||||||
|
0x00, 0x07, 0x38, 0x00, 0x00, 0x07, 0x38, 0x00,
|
||||||
|
0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x1f, 0x00,
|
||||||
|
0x00, 0xfc, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
};
|
41
bochs/gui/bitmaps/saverestore.xpm
Executable file
41
bochs/gui/bitmaps/saverestore.xpm
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char *saverestore_xpm[] = {
|
||||||
|
/* width height num_colors chars_per_pixel */
|
||||||
|
" 32 32 2 1",
|
||||||
|
/* colors */
|
||||||
|
". c None",
|
||||||
|
"# c #000000",
|
||||||
|
/* pixels */
|
||||||
|
"................................",
|
||||||
|
"................................",
|
||||||
|
"................................",
|
||||||
|
".###.#..#.###.###.###..###.###..",
|
||||||
|
".#...#..#.#...#.#.#...#..#.#..#.",
|
||||||
|
"..##.#..#..##.###.###.#..#.#..#.",
|
||||||
|
"...#.#..#...#.#...#...#..#.#..#.",
|
||||||
|
".###.####.###.#...###.#..#.###..",
|
||||||
|
"................................",
|
||||||
|
"................................",
|
||||||
|
"................................",
|
||||||
|
"................................",
|
||||||
|
".............####...............",
|
||||||
|
".............####...............",
|
||||||
|
".............####...............",
|
||||||
|
".............####...............",
|
||||||
|
"..........## #### ##............",
|
||||||
|
".........### #### ###...........",
|
||||||
|
"........#### #### ####..........",
|
||||||
|
"........###..####..###..........",
|
||||||
|
"........###..####..###..........",
|
||||||
|
"........###........###..........",
|
||||||
|
"........###........###..........",
|
||||||
|
"........###........###..........",
|
||||||
|
"........###........###..........",
|
||||||
|
"........###........###..........",
|
||||||
|
"........##############..........",
|
||||||
|
".........############...........",
|
||||||
|
"..........##########............",
|
||||||
|
"................................",
|
||||||
|
"................................",
|
||||||
|
"................................",
|
||||||
|
};
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: gui.cc,v 1.95 2006-05-31 20:12:43 vruppert Exp $
|
// $Id: gui.cc,v 1.96 2006-06-06 22:11:08 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||||
@ -39,6 +39,10 @@
|
|||||||
#include "gui/bitmaps/configbutton.h"
|
#include "gui/bitmaps/configbutton.h"
|
||||||
#include "gui/bitmaps/cdromd.h"
|
#include "gui/bitmaps/cdromd.h"
|
||||||
#include "gui/bitmaps/userbutton.h"
|
#include "gui/bitmaps/userbutton.h"
|
||||||
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
#include "gui/bitmaps/saverestore.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if BX_WITH_MACOS
|
#if BX_WITH_MACOS
|
||||||
# include <Disks.h>
|
# include <Disks.h>
|
||||||
#endif
|
#endif
|
||||||
@ -138,7 +142,6 @@ void bx_gui_c::init(int argc, char **argv, unsigned tilewidth, unsigned tileheig
|
|||||||
BX_GUI_THIS nomouse_bmap_id = create_bitmap(bx_nomouse_bmap,
|
BX_GUI_THIS nomouse_bmap_id = create_bitmap(bx_nomouse_bmap,
|
||||||
BX_MOUSE_BMAP_X, BX_MOUSE_BMAP_Y);
|
BX_MOUSE_BMAP_X, BX_MOUSE_BMAP_Y);
|
||||||
|
|
||||||
|
|
||||||
BX_GUI_THIS power_bmap_id = create_bitmap(bx_power_bmap, BX_POWER_BMAP_X, BX_POWER_BMAP_Y);
|
BX_GUI_THIS power_bmap_id = create_bitmap(bx_power_bmap, BX_POWER_BMAP_X, BX_POWER_BMAP_Y);
|
||||||
BX_GUI_THIS reset_bmap_id = create_bitmap(bx_reset_bmap, BX_RESET_BMAP_X, BX_RESET_BMAP_Y);
|
BX_GUI_THIS reset_bmap_id = create_bitmap(bx_reset_bmap, BX_RESET_BMAP_X, BX_RESET_BMAP_Y);
|
||||||
BX_GUI_THIS snapshot_bmap_id = create_bitmap(bx_snapshot_bmap, BX_SNAPSHOT_BMAP_X, BX_SNAPSHOT_BMAP_Y);
|
BX_GUI_THIS snapshot_bmap_id = create_bitmap(bx_snapshot_bmap, BX_SNAPSHOT_BMAP_X, BX_SNAPSHOT_BMAP_Y);
|
||||||
@ -147,6 +150,10 @@ void bx_gui_c::init(int argc, char **argv, unsigned tilewidth, unsigned tileheig
|
|||||||
BX_GUI_THIS config_bmap_id = create_bitmap(bx_config_bmap, BX_CONFIG_BMAP_X, BX_CONFIG_BMAP_Y);
|
BX_GUI_THIS config_bmap_id = create_bitmap(bx_config_bmap, BX_CONFIG_BMAP_X, BX_CONFIG_BMAP_Y);
|
||||||
BX_GUI_THIS user_bmap_id = create_bitmap(bx_user_bmap, BX_USER_BMAP_X, BX_USER_BMAP_Y);
|
BX_GUI_THIS user_bmap_id = create_bitmap(bx_user_bmap, BX_USER_BMAP_X, BX_USER_BMAP_Y);
|
||||||
|
|
||||||
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
BX_GUI_THIS save_restore_bmap_id = create_bitmap(bx_save_restore_bmap,
|
||||||
|
BX_SAVE_RESTORE_BMAP_X, BX_SAVE_RESTORE_BMAP_Y);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Add the initial bitmaps to the headerbar, and enable callback routine, for use
|
// Add the initial bitmaps to the headerbar, and enable callback routine, for use
|
||||||
// when that bitmap is clicked on
|
// when that bitmap is clicked on
|
||||||
@ -194,6 +201,12 @@ void bx_gui_c::init(int argc, char **argv, unsigned tilewidth, unsigned tileheig
|
|||||||
BX_GUI_THIS power_hbar_id = headerbar_bitmap(BX_GUI_THIS power_bmap_id,
|
BX_GUI_THIS power_hbar_id = headerbar_bitmap(BX_GUI_THIS power_bmap_id,
|
||||||
BX_GRAVITY_RIGHT, power_handler);
|
BX_GRAVITY_RIGHT, power_handler);
|
||||||
BX_GUI_THIS set_tooltip(BX_GUI_THIS power_hbar_id, "Turn power off");
|
BX_GUI_THIS set_tooltip(BX_GUI_THIS power_hbar_id, "Turn power off");
|
||||||
|
// Save/Restore Button
|
||||||
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
BX_GUI_THIS save_restore_hbar_id = headerbar_bitmap(BX_GUI_THIS save_restore_bmap_id,
|
||||||
|
BX_GRAVITY_RIGHT, save_restore_handler);
|
||||||
|
BX_GUI_THIS set_tooltip(BX_GUI_THIS save_restore_hbar_id, "Save simulation state");
|
||||||
|
#endif
|
||||||
// Reset button
|
// Reset button
|
||||||
BX_GUI_THIS reset_hbar_id = headerbar_bitmap(BX_GUI_THIS reset_bmap_id,
|
BX_GUI_THIS reset_hbar_id = headerbar_bitmap(BX_GUI_THIS reset_bmap_id,
|
||||||
BX_GRAVITY_RIGHT, reset_handler);
|
BX_GRAVITY_RIGHT, reset_handler);
|
||||||
@ -233,11 +246,9 @@ void bx_gui_c::init(int argc, char **argv, unsigned tilewidth, unsigned tileheig
|
|||||||
|
|
||||||
void bx_gui_c::update_drive_status_buttons (void)
|
void bx_gui_c::update_drive_status_buttons (void)
|
||||||
{
|
{
|
||||||
BX_GUI_THIS floppyA_status =
|
BX_GUI_THIS floppyA_status = DEV_floppy_get_media_status(0)
|
||||||
DEV_floppy_get_media_status(0)
|
|
||||||
&& (SIM->get_param_enum(BXPN_FLOPPYA_STATUS)->get() == BX_INSERTED);
|
&& (SIM->get_param_enum(BXPN_FLOPPYA_STATUS)->get() == BX_INSERTED);
|
||||||
BX_GUI_THIS floppyB_status =
|
BX_GUI_THIS floppyB_status = DEV_floppy_get_media_status(1)
|
||||||
DEV_floppy_get_media_status(1)
|
|
||||||
&& (SIM->get_param_enum(BXPN_FLOPPYB_STATUS)->get() == BX_INSERTED);
|
&& (SIM->get_param_enum(BXPN_FLOPPYB_STATUS)->get() == BX_INSERTED);
|
||||||
Bit32u handle = DEV_hd_get_first_cd_handle();
|
Bit32u handle = DEV_hd_get_first_cd_handle();
|
||||||
BX_GUI_THIS cdromD_status = DEV_hd_get_cd_media_status(handle);
|
BX_GUI_THIS cdromD_status = DEV_hd_get_cd_media_status(handle);
|
||||||
@ -587,6 +598,13 @@ void bx_gui_c::userbutton_handler(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
void bx_gui_c::save_restore_handler(void)
|
||||||
|
{
|
||||||
|
BX_INFO(("Save Restore Button Pressed !"));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void bx_gui_c::mouse_enabled_changed (bx_bool val)
|
void bx_gui_c::mouse_enabled_changed (bx_bool val)
|
||||||
{
|
{
|
||||||
// This is only called when SIM->get_init_done is 1. Note that VAL
|
// This is only called when SIM->get_init_done is 1. Note that VAL
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: gui.h,v 1.50 2006-01-25 17:37:22 vruppert Exp $
|
// $Id: gui.h,v 1.51 2006-06-06 22:11:08 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||||
@ -133,6 +133,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
// And these are defined and used privately in gui.cc
|
// And these are defined and used privately in gui.cc
|
||||||
|
static Bit32s make_text_snapshot (char **snapshot, Bit32u *length);
|
||||||
static void floppyA_handler(void);
|
static void floppyA_handler(void);
|
||||||
static void floppyB_handler(void);
|
static void floppyB_handler(void);
|
||||||
static void cdromD_handler(void);
|
static void cdromD_handler(void);
|
||||||
@ -145,7 +146,9 @@ protected:
|
|||||||
static void config_handler(void);
|
static void config_handler(void);
|
||||||
static void toggle_mouse_enable(void);
|
static void toggle_mouse_enable(void);
|
||||||
static void userbutton_handler(void);
|
static void userbutton_handler(void);
|
||||||
static Bit32s make_text_snapshot (char **snapshot, Bit32u *length);
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
static void save_restore_handler(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
bx_bool floppyA_status;
|
bx_bool floppyA_status;
|
||||||
bx_bool floppyB_status;
|
bx_bool floppyB_status;
|
||||||
@ -161,6 +164,9 @@ protected:
|
|||||||
unsigned config_bmap_id, config_hbar_id;
|
unsigned config_bmap_id, config_hbar_id;
|
||||||
unsigned mouse_bmap_id, nomouse_bmap_id, mouse_hbar_id;
|
unsigned mouse_bmap_id, nomouse_bmap_id, mouse_hbar_id;
|
||||||
unsigned user_bmap_id, user_hbar_id;
|
unsigned user_bmap_id, user_hbar_id;
|
||||||
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
unsigned save_restore_bmap_id, save_restore_hbar_id;
|
||||||
|
#endif
|
||||||
|
|
||||||
unsigned char vga_charmap[0x2000];
|
unsigned char vga_charmap[0x2000];
|
||||||
bx_bool charmap_updated;
|
bx_bool charmap_updated;
|
||||||
@ -222,9 +228,15 @@ virtual void graphics_tile_update_in_place(unsigned x, unsigned y, \
|
|||||||
unsigned w, unsigned h);
|
unsigned w, unsigned h);
|
||||||
/* end of DECLARE_GUI_NEW_VIRTUAL_METHODS */
|
/* end of DECLARE_GUI_NEW_VIRTUAL_METHODS */
|
||||||
|
|
||||||
|
#define BX_HEADER_BAR_Y 32
|
||||||
|
|
||||||
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
#define BX_MAX_PIXMAPS 17
|
||||||
|
#define BX_MAX_HEADERBAR_ENTRIES 12
|
||||||
|
#else
|
||||||
#define BX_MAX_PIXMAPS 16
|
#define BX_MAX_PIXMAPS 16
|
||||||
#define BX_MAX_HEADERBAR_ENTRIES 11
|
#define BX_MAX_HEADERBAR_ENTRIES 11
|
||||||
#define BX_HEADER_BAR_Y 32
|
#endif
|
||||||
|
|
||||||
// align pixmaps towards left or right side of header bar
|
// align pixmaps towards left or right side of header bar
|
||||||
#define BX_GRAVITY_LEFT 10
|
#define BX_GRAVITY_LEFT 10
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
// $Id: wxmain.cc,v 1.140 2006-06-04 14:16:31 vruppert Exp $
|
// $Id: wxmain.cc,v 1.141 2006-06-06 22:11:08 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// wxmain.cc implements the wxWidgets frame, toolbar, menus, and dialogs.
|
// wxmain.cc implements the wxWidgets frame, toolbar, menus, and dialogs.
|
||||||
@ -75,6 +75,9 @@
|
|||||||
#include "bitmaps/mouse.xpm"
|
#include "bitmaps/mouse.xpm"
|
||||||
//#include "bitmaps/configbutton.xpm"
|
//#include "bitmaps/configbutton.xpm"
|
||||||
#include "bitmaps/userbutton.xpm"
|
#include "bitmaps/userbutton.xpm"
|
||||||
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
#include "bitmaps/saverestore.xpm"
|
||||||
|
#endif
|
||||||
#ifdef __WXGTK__
|
#ifdef __WXGTK__
|
||||||
#include "icon_bochs.xpm"
|
#include "icon_bochs.xpm"
|
||||||
#endif
|
#endif
|
||||||
@ -519,6 +522,9 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size,
|
|||||||
BX_ADD_TOOL(ID_Edit_Cdrom, cdromd_xpm, wxT("Change CDROM"));
|
BX_ADD_TOOL(ID_Edit_Cdrom, cdromd_xpm, wxT("Change CDROM"));
|
||||||
BX_ADD_TOOL(ID_Toolbar_Reset, reset_xpm, wxT("Reset the system"));
|
BX_ADD_TOOL(ID_Toolbar_Reset, reset_xpm, wxT("Reset the system"));
|
||||||
BX_ADD_TOOL(ID_Toolbar_Power, power_xpm, wxT("Turn power on/off"));
|
BX_ADD_TOOL(ID_Toolbar_Power, power_xpm, wxT("Turn power on/off"));
|
||||||
|
#if BX_SUPPORT_SAVE_RESTORE
|
||||||
|
BX_ADD_TOOL(ID_Toolbar_SaveRestore, saverestore_xpm, wxT("Save simulation state"));
|
||||||
|
#endif
|
||||||
|
|
||||||
BX_ADD_TOOL(ID_Toolbar_Copy, copy_xpm, wxT("Copy to clipboard"));
|
BX_ADD_TOOL(ID_Toolbar_Copy, copy_xpm, wxT("Copy to clipboard"));
|
||||||
BX_ADD_TOOL(ID_Toolbar_Paste, paste_xpm, wxT("Paste from clipboard"));
|
BX_ADD_TOOL(ID_Toolbar_Paste, paste_xpm, wxT("Paste from clipboard"));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
// $Id: wxmain.h,v 1.55 2006-04-12 20:51:24 vruppert Exp $
|
// $Id: wxmain.h,v 1.56 2006-06-06 22:11:09 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////
|
||||||
// This file defines variables and classes that the wxWidgets .cc files
|
// This file defines variables and classes that the wxWidgets .cc files
|
||||||
// share. It should be included only by wx.cc and wxmain.cc.
|
// share. It should be included only by wx.cc and wxmain.cc.
|
||||||
@ -76,6 +76,7 @@ enum
|
|||||||
ID_Toolbar_Config,
|
ID_Toolbar_Config,
|
||||||
ID_Toolbar_Mouse_en,
|
ID_Toolbar_Mouse_en,
|
||||||
ID_Toolbar_User,
|
ID_Toolbar_User,
|
||||||
|
ID_Toolbar_SaveRestore,
|
||||||
// dialog box: LogMsgAskDialog
|
// dialog box: LogMsgAskDialog
|
||||||
ID_Continue,
|
ID_Continue,
|
||||||
ID_Die,
|
ID_Die,
|
||||||
|
Loading…
Reference in New Issue
Block a user