[prev in list] [next in list] [prev in thread] [next in thread]
List: bochs-cvs
Subject: [Bochs-cvs] [12071] trunk/bochs/gui
From: vruppert () users ! sourceforge ! net
Date: 2013-12-26 8:37:53
Message-ID: E1Vw6S5-0001CS-Ja () sfs-ml-4 ! v29 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Revision: 12071
Author: vruppert
Date: 2013-12-26 08:37:51 +0000 (Thu, 26 Dec 2013)
Log Message:
-----------
Some work on the wx toolbar
- disable most of the buttons if no simulation is running
- save/restore button calls restore function at configuration time
- disable code related to the config button
Modified Paths:
--------------
trunk/bochs/gui/wx.cc
trunk/bochs/gui/wxmain.cc
trunk/bochs/gui/wxmain.h
Modified: trunk/bochs/gui/wx.cc
===================================================================
--- trunk/bochs/gui/wx.cc 2013-12-25 12:29:02 UTC (rev 12070)
+++ trunk/bochs/gui/wx.cc 2013-12-26 08:37:51 UTC (rev 12071)
@@ -1062,7 +1062,7 @@
case BX_TOOLBAR_COPY: copy_handler(); break;
case BX_TOOLBAR_PASTE: paste_handler(); break;
case BX_TOOLBAR_SNAPSHOT: snapshot_handler(); break;
- case BX_TOOLBAR_CONFIG: config_handler(); break;
+// case BX_TOOLBAR_CONFIG: config_handler(); break;
case BX_TOOLBAR_MOUSE_EN: thePanel->ToggleMouse(true); break;
case BX_TOOLBAR_USER: userbutton_handler(); break;
default:
Modified: trunk/bochs/gui/wxmain.cc
===================================================================
--- trunk/bochs/gui/wxmain.cc 2013-12-25 12:29:02 UTC (rev 12070)
+++ trunk/bochs/gui/wxmain.cc 2013-12-26 08:37:51 UTC (rev 12071)
@@ -345,7 +345,7 @@
EVT_TOOL(ID_Toolbar_Copy, MyFrame::OnToolbarClick)
EVT_TOOL(ID_Toolbar_Paste, MyFrame::OnToolbarClick)
EVT_TOOL(ID_Toolbar_Snapshot, MyFrame::OnToolbarClick)
- EVT_TOOL(ID_Toolbar_Config, MyFrame::OnToolbarClick)
+/*EVT_TOOL(ID_Toolbar_Config, MyFrame::OnToolbarClick)*/
EVT_TOOL(ID_Toolbar_Mouse_en, MyFrame::OnToolbarClick)
EVT_TOOL(ID_Toolbar_User, MyFrame::OnToolbarClick)
END_EVENT_TABLE()
@@ -472,7 +472,7 @@
menuEdit->Enable(ID_Edit_ATA1, BX_MAX_ATA_CHANNEL > 1);
menuEdit->Enable(ID_Edit_ATA2, BX_MAX_ATA_CHANNEL > 2);
menuEdit->Enable(ID_Edit_ATA3, BX_MAX_ATA_CHANNEL > 3);
- // enable restore state if present
+ // enable restore state
menuConfiguration->Enable(ID_State_Restore, TRUE);
CreateStatusBar();
@@ -494,7 +494,7 @@
BX_ADD_TOOL(ID_Edit_Cdrom1, cdromd_xpm, wxT("Change CDROM"));
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_SaveRestore, saverestore_xpm, wxT("Save simulation state"));
+ BX_ADD_TOOL(ID_Toolbar_SaveRestore, saverestore_xpm, wxT(""));
BX_ADD_TOOL(ID_Toolbar_Copy, copy_xpm, wxT("Copy to clipboard"));
BX_ADD_TOOL(ID_Toolbar_Paste, paste_xpm, wxT("Paste from clipboard"));
@@ -506,6 +506,7 @@
BX_ADD_TOOL(ID_Toolbar_User, userbutton_xpm, wxT("Keyboard shortcut"));
bxToolBar->Realize();
+ UpdateToolBar(false);
// create a MyPanel that covers the whole frame
panel = new MyPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER);
@@ -866,8 +867,24 @@
menuEdit->Enable(ID_Edit_FD_1, canConfigure || (value != BX_FDD_NONE));
bxToolBar->EnableTool(ID_Edit_FD_1, canConfigure || (value != BX_FDD_NONE));
bxToolBar->EnableTool(ID_Edit_Cdrom1, canConfigure || (SIM->get_first_cdrom() != NULL));
+ UpdateToolBar(!canConfigure);
}
+void MyFrame::UpdateToolBar(bool simPresent)
+{
+ bxToolBar->EnableTool(ID_Toolbar_Reset, simPresent);
+ bxToolBar->EnableTool(ID_Toolbar_Copy, simPresent);
+ bxToolBar->EnableTool(ID_Toolbar_Paste, simPresent);
+ bxToolBar->EnableTool(ID_Toolbar_Snapshot, simPresent);
+ bxToolBar->EnableTool(ID_Toolbar_Mouse_en, simPresent);
+ bxToolBar->EnableTool(ID_Toolbar_User, simPresent);
+ if (simPresent) {
+ bxToolBar->SetToolShortHelp(ID_Toolbar_SaveRestore, wxT("Save simulation state"));
+ } else {
+ bxToolBar->SetToolShortHelp(ID_Toolbar_SaveRestore, wxT("Restore simulation state"));
+ }
+}
+
void MyFrame::OnStartSim(wxCommandEvent& event)
{
wxCriticalSectionLocker lock(sim_thread_lock);
@@ -1181,13 +1198,14 @@
void MyFrame::OnToolbarClick(wxCommandEvent& event)
{
+ wxCommandEvent unusedEvent;
+
wxLogDebug(wxT("clicked toolbar thingy"));
bx_toolbar_buttons which = BX_TOOLBAR_UNDEFINED;
int id = event.GetId();
switch (id) {
case ID_Toolbar_Power:
if (theFrame->GetSimThread() == NULL) {
- wxCommandEvent unusedEvent;
OnStartSim(unusedEvent);
} else {
which = BX_TOOLBAR_POWER;
@@ -1195,7 +1213,13 @@
}
break;
case ID_Toolbar_Reset: which = BX_TOOLBAR_RESET; break;
- case ID_Toolbar_SaveRestore: which = BX_TOOLBAR_SAVE_RESTORE; break;
+ case ID_Toolbar_SaveRestore:
+ if (theFrame->GetSimThread() == NULL) {
+ OnStateRestore(unusedEvent);
+ } else {
+ which = BX_TOOLBAR_SAVE_RESTORE;
+ }
+ break;
case ID_Edit_FD_0:
// floppy config dialog box
editFloppyConfig(0);
@@ -1211,7 +1235,7 @@
case ID_Toolbar_Copy: which = BX_TOOLBAR_COPY; break;
case ID_Toolbar_Paste: which = BX_TOOLBAR_PASTE; break;
case ID_Toolbar_Snapshot: which = BX_TOOLBAR_SNAPSHOT; break;
- case ID_Toolbar_Config: which = BX_TOOLBAR_CONFIG; break;
+// case ID_Toolbar_Config: which = BX_TOOLBAR_CONFIG; break;
case ID_Toolbar_Mouse_en: which = BX_TOOLBAR_MOUSE_EN; break;
case ID_Toolbar_User: which = BX_TOOLBAR_USER; break;
default:
Modified: trunk/bochs/gui/wxmain.h
===================================================================
--- trunk/bochs/gui/wxmain.h 2013-12-25 12:29:02 UTC (rev 12070)
+++ trunk/bochs/gui/wxmain.h 2013-12-26 08:37:51 UTC (rev 12071)
@@ -69,7 +69,7 @@
ID_Toolbar_Copy,
ID_Toolbar_Paste,
ID_Toolbar_Snapshot,
- ID_Toolbar_Config,
+/*ID_Toolbar_Config,*/
ID_Toolbar_Mouse_en,
ID_Toolbar_User,
ID_Toolbar_SaveRestore,
@@ -198,6 +198,7 @@
void OnSimThreadExit();
SimThread *GetSimThread() { return sim_thread; }
+ void UpdateToolBar(bool simPresent);
void SetToolBarHelp(int id, wxString& text);
private:
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Bochs-cvs mailing list
Bochs-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bochs-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic