- win32 statusbar now shows active items with light green background
- harddisk/cdrom status light feature prepared
This commit is contained in:
parent
f4b51462d7
commit
d78f3da836
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: win32.cc,v 1.73 2004-02-08 10:25:50 vruppert Exp $
|
||||
// $Id: win32.cc,v 1.74 2004-02-08 18:38:26 vruppert Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -127,10 +127,11 @@ static int bx_headerbar_entries;
|
||||
static unsigned bx_hb_separator;
|
||||
|
||||
// Status Bar stuff
|
||||
#define SIZE_OF_SB_ELEMENT 30
|
||||
#define SIZE_OF_SB_FIRST_ELEMENT 192
|
||||
#define SIZE_OF_SB_ELEMENT 40
|
||||
#define SIZE_OF_SB_FIRST_ELEMENT 160
|
||||
long SB_Edges[BX_MAX_STATUSITEMS+2];
|
||||
char SB_Text[BX_MAX_STATUSITEMS][10];
|
||||
bx_bool SB_Active[BX_MAX_STATUSITEMS];
|
||||
|
||||
// Misc stuff
|
||||
static unsigned dimension_x, dimension_y, current_bpp;
|
||||
@ -789,17 +790,18 @@ void SetStatusText(int Num, const char *Text, bx_bool active)
|
||||
{
|
||||
char StatText[MAX_PATH];
|
||||
|
||||
if (Num < 1) {
|
||||
StatText[0] = ' '; // Add space to text in first item
|
||||
if ((Num < 1) || (Num > BX_MAX_STATUSITEMS)) {
|
||||
StatText[0] = ' '; // Add space to text in first and last item
|
||||
} else {
|
||||
StatText[0] = 9; // Center the rest
|
||||
}
|
||||
lstrcpy(StatText+1, Text);
|
||||
if (active)
|
||||
if ((Num < 1) || (Num > BX_MAX_STATUSITEMS)) {
|
||||
SendMessage(hwndSB, SB_SETTEXT, Num, (long)StatText);
|
||||
else {
|
||||
lstrcpy(SB_Text[Num], StatText);
|
||||
SendMessage(hwndSB, SB_SETTEXT, Num | SBT_OWNERDRAW, (long)SB_Text[Num]);
|
||||
} else {
|
||||
lstrcpy(SB_Text[Num-1], StatText);
|
||||
SB_Active[Num-1] = active;
|
||||
SendMessage(hwndSB, SB_SETTEXT, Num | SBT_OWNERDRAW, (long)SB_Text[Num-1]);
|
||||
}
|
||||
UpdateWindow(hwndSB);
|
||||
}
|
||||
@ -858,8 +860,12 @@ LRESULT CALLBACK mainWndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
|
||||
lpdis = (DRAWITEMSTRUCT *)lParam;
|
||||
if (lpdis->hwndItem == hwndSB) {
|
||||
sbtext = (char *)lpdis->itemData;
|
||||
SetBkMode(lpdis->hDC, TRANSPARENT);
|
||||
SetTextColor(lpdis->hDC, 0x00808080);
|
||||
if (SB_Active[lpdis->itemID-1]) {
|
||||
SetBkColor(lpdis->hDC, 0x0000FF00);
|
||||
} else {
|
||||
SetBkMode(lpdis->hDC, TRANSPARENT);
|
||||
SetTextColor(lpdis->hDC, 0x00808080);
|
||||
}
|
||||
DrawText(lpdis->hDC, sbtext+1, lstrlen(sbtext)-1, &lpdis->rcItem, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: floppy.cc,v 1.71 2004-02-08 10:25:50 vruppert Exp $
|
||||
// $Id: floppy.cc,v 1.72 2004-02-08 18:38:26 vruppert Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -132,7 +132,7 @@ bx_floppy_ctrl_c::init(void)
|
||||
{
|
||||
Bit8u i;
|
||||
|
||||
BX_DEBUG(("Init $Id: floppy.cc,v 1.71 2004-02-08 10:25:50 vruppert Exp $"));
|
||||
BX_DEBUG(("Init $Id: floppy.cc,v 1.72 2004-02-08 18:38:26 vruppert Exp $"));
|
||||
DEV_dma_register_8bit_channel(2, dma_read, dma_write, "Floppy Drive");
|
||||
DEV_register_irq(6, "Floppy Drive");
|
||||
for (unsigned addr=0x03F2; addr<=0x03F7; addr++) {
|
||||
@ -200,7 +200,7 @@ bx_floppy_ctrl_c::init(void)
|
||||
}
|
||||
if (BX_FD_THIS s.device_type[0] != BX_FLOPPY_NONE) {
|
||||
BX_FD_THIS s.num_supported_floppies++;
|
||||
BX_FD_THIS s.statusbar_id[0] = bx_gui->register_statusitem("A:");
|
||||
BX_FD_THIS s.statusbar_id[0] = bx_gui->register_statusitem(" A: ");
|
||||
} else {
|
||||
BX_FD_THIS s.statusbar_id[0] = -1;
|
||||
}
|
||||
@ -270,7 +270,7 @@ bx_floppy_ctrl_c::init(void)
|
||||
}
|
||||
if (BX_FD_THIS s.device_type[1] != BX_FLOPPY_NONE) {
|
||||
BX_FD_THIS s.num_supported_floppies++;
|
||||
BX_FD_THIS s.statusbar_id[1] = bx_gui->register_statusitem("B:");
|
||||
BX_FD_THIS s.statusbar_id[1] = bx_gui->register_statusitem(" B: ");
|
||||
} else {
|
||||
BX_FD_THIS s.statusbar_id[1] = -1;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: harddrv.cc,v 1.117 2004-02-06 22:28:00 danielg4 Exp $
|
||||
// $Id: harddrv.cc,v 1.118 2004-02-08 18:38:26 vruppert Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -158,8 +158,9 @@ bx_hard_drive_c::init(void)
|
||||
{
|
||||
Bit8u channel;
|
||||
char string[5];
|
||||
char sbtext[8];
|
||||
|
||||
BX_DEBUG(("Init $Id: harddrv.cc,v 1.117 2004-02-06 22:28:00 danielg4 Exp $"));
|
||||
BX_DEBUG(("Init $Id: harddrv.cc,v 1.118 2004-02-08 18:38:26 vruppert Exp $"));
|
||||
|
||||
for (channel=0; channel<BX_MAX_ATA_CHANNEL; channel++) {
|
||||
if (bx_options.ata[channel].Opresent->get() == 1) {
|
||||
@ -251,6 +252,7 @@ bx_hard_drive_c::init(void)
|
||||
|
||||
// If not present
|
||||
BX_HD_THIS channels[channel].drives[device].device_type = IDE_NONE;
|
||||
BX_HD_THIS channels[channel].drives[device].statusbar_id = -1;
|
||||
if (!bx_options.atadevice[channel][device].Opresent->get()) {
|
||||
continue;
|
||||
}
|
||||
@ -265,6 +267,9 @@ bx_hard_drive_c::init(void)
|
||||
if (bx_options.atadevice[channel][device].Otype->get() == BX_ATA_DEVICE_DISK) {
|
||||
BX_DEBUG(( "Hard-Disk on target %d/%d",channel,device));
|
||||
BX_HD_THIS channels[channel].drives[device].device_type = IDE_DISK;
|
||||
sprintf(sbtext, "HD:%d-%s", channel, device?"S":"M");
|
||||
BX_HD_THIS channels[channel].drives[device].statusbar_id =
|
||||
bx_gui->register_statusitem(sbtext);
|
||||
|
||||
int cyl = bx_options.atadevice[channel][device].Ocylinders->get ();
|
||||
int heads = bx_options.atadevice[channel][device].Oheads->get ();
|
||||
@ -389,6 +394,9 @@ bx_hard_drive_c::init(void)
|
||||
BX_HD_THIS channels[channel].drives[device].sense.sense_key = SENSE_NONE;
|
||||
BX_HD_THIS channels[channel].drives[device].sense.asc = 0;
|
||||
BX_HD_THIS channels[channel].drives[device].sense.ascq = 0;
|
||||
sprintf(sbtext, "CD:%d-%s", channel, device?"S":"M");
|
||||
BX_HD_THIS channels[channel].drives[device].statusbar_id =
|
||||
bx_gui->register_statusitem(sbtext);
|
||||
|
||||
// Check bit fields
|
||||
BX_CONTROLLER(channel,device).sector_count = 0;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: harddrv.h,v 1.23 2004-02-06 22:28:00 danielg4 Exp $
|
||||
// $Id: harddrv.h,v 1.24 2004-02-08 18:38:26 vruppert Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -741,6 +741,7 @@ private:
|
||||
atapi_t atapi;
|
||||
|
||||
Bit8u model_no[41];
|
||||
int statusbar_id;
|
||||
} drives[2];
|
||||
unsigned drive_select;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user