private void btn_Show_PCB_Waiting_Click(object sender, RoutedEventArgs e)
        {
            SimulatorProcess selectedProcess = (SimulatorProcess)lst_WaitingProcesses.SelectedItem;

            if (selectedProcess == null)
            {
                MessageBox.Show("Please Select a Process");
                return;
            }
            ProcessControlBlockWindow window = new ProcessControlBlockWindow(this, new LinkedListNode <ProcessControlBlock>(selectedProcess.ControlBlock));

            window.Show();
        }
        private void btn_Pcb_Click(object sender, RoutedEventArgs e)
        {
            int selectedIndex = lst_Processes.SelectedIndex;

            if (selectedIndex < 0)
            {
                MessageBox.Show("Please Select a process to view its PCB");
                return;
            }
            ProcessControlBlockWindow window = new ProcessControlBlockWindow(this,
                                                                             new LinkedListNode <ProcessControlBlock>(processes[selectedIndex].ControlBlock));

            window.Show();
        }
Example #3
0
 /// <summary>
 /// Constructor for process control block window when constructing from OperatingSystemMainWindow
 /// </summary>
 /// <param name="os_Parent"> the window that is creating this window</param>
 /// <param name="currentControlBlock"> the control block to be loaded</param>
 public ProcessControlBlockWindow(OperatingSystemMainWindow os_Parent, LinkedListNode <ProcessControlBlock> currentControlBlock)
 {
     this.os_Parent       = os_Parent;
     this.main_Parent     = null;
     this.procList_Parent = null;
     InitializeComponent();
     currentInstance          = this;
     this.currentControlBlock = currentControlBlock;
     currentControlBlocks     = new LinkedList <ProcessControlBlock>();
     if (currentControlBlock != null && currentControlBlock.Value != null)
     {
         currentControlBlocks.AddLast(currentControlBlock);
     }
     SetPCBWindowInstance();
 }
Example #4
0
 /// <summary>
 /// Default Constructor for process control block window
 /// </summary>
 public ProcessControlBlockWindow()
 {
     InitializeComponent();
     currentInstance = this;
     SetPCBWindowInstance();
 }
Example #5
0
 private void ProcessControlBlockWindow1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     currentInstance = null;
     SetPCBWindowInstance();
 }