Exemple #1
0
//
// Shows the selected item's disk starting sector, size, and queue depth.
//
void CPageDisk::ShowSettings()
{
    Manager *manager;
    Worker *worker;
    int disk_size;
    int disk_start;
    int queue_depth;

    // Get the values for the disk settings from memory.
    switch (theApp.pView->m_pWorkerView->GetSelectedType()) {
    case WORKER:
        worker = theApp.pView->m_pWorkerView->GetSelectedWorker();
        disk_size = worker->GetDiskSize(GenericDiskType);
        disk_start = worker->GetDiskStart(GenericDiskType);
        queue_depth = worker->GetQueueDepth(GenericDiskType);
        break;
    case MANAGER:
        manager = theApp.pView->m_pWorkerView->GetSelectedManager();
        disk_size = manager->GetDiskSize(GenericDiskType);
        disk_start = manager->GetDiskStart(GenericDiskType);
        queue_depth = manager->GetQueueDepth(GenericDiskType);
        break;
    default:
        disk_size = theApp.manager_list.GetDiskSize(GenericDiskType);
        disk_start = theApp.manager_list.GetDiskStart(GenericDiskType);
        queue_depth = theApp.manager_list.GetQueueDepth(GenericDiskType);
    }
    // If there is a displayable value, display it.  Otherwise, hide the content
    // of the edit box.
    if (disk_size == AMBIGUOUS_VALUE) {
        m_EDiskSize.SetPasswordChar(32);
        m_EDiskSize.Invalidate();
    } else {
        m_EDiskSize.SetPasswordChar(0);
        SetDlgItemInt(EDiskSize, disk_size);
    }

    if (disk_start == AMBIGUOUS_VALUE) {
        m_EDiskStart.SetPasswordChar(32);
        m_EDiskStart.Invalidate();
    } else {
        m_EDiskStart.SetPasswordChar(0);
        SetDlgItemInt(EDiskStart, disk_start);
    }

    if (queue_depth == AMBIGUOUS_VALUE) {
        m_EQueueDepth.SetPasswordChar(32);
        m_EQueueDepth.Invalidate();
    } else {
        m_EQueueDepth.SetPasswordChar(0);
        SetDlgItemInt(EQueueDepth, queue_depth);
    }
}