Пример #1
0
        private void BtnAdd_Click(object sender, EventArgs e)
        {
            if (!tlpProFields.AC_CheckRequiredFields(txtProName, numBurstTime, numPriority))
            {
                ACMessageBox.ShowFillRequiredFields();
                return;
            }

            var p = new OSASProcess
            {
                Id            = ProDGV.Rows.Count + 1,
                Name          = txtProName.Text,
                ArrivalTime   = Convert.ToInt32(numArrivalTime.Value),
                BurstTime     = Convert.ToInt32(numBurstTime.Value),
                RemainingTime = Convert.ToInt32(numBurstTime.Value),
                Priority      = Convert.ToInt32(numPriority.Value),
                StartTime     = -1
            };

            Processes.Add(p);

            RefreshDGV(Processes);
            tlpProFields.AC_ClearFields();
            txtProName.Focus();
            SelectedProcess = null;
        }
Пример #2
0
 /// <summary>
 /// Parameterized constructor with process to clone
 /// </summary>
 /// <param name="process">The process to close</param>
 public OSASProcess(OSASProcess process)
 {
     Id            = process.Id;
     Name          = process.Name;
     ArrivalTime   = process.ArrivalTime;
     StartTime     = process.StartTime;
     FinishTime    = process.FinishTime;
     RemainingTime = process.RemainingTime;
 }
Пример #3
0
        private void ProDGV_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex <= -1)
            {
                return;
            }

            SelectedProcess      = Processes.FirstOrDefault(a => a.Id.Equals(ProDGV.Rows[e.RowIndex].Cells["PId"].Value));
            txtProName.Text      = SelectedProcess.Name;
            numArrivalTime.Value = SelectedProcess.ArrivalTime;
            numBurstTime.Value   = SelectedProcess.BurstTime;
        }
Пример #4
0
        private void BtnDelete_Click(object sender, EventArgs e)
        {
            if (SelectedProcess == null)
            {
                ACMessageBox.ShowSelectObjectToContinue();
                return;
            }

            Processes.Remove(SelectedProcess);
            SelectedProcess = null;
            tlpProFields.AC_ClearFields();
            RefreshDGV(Processes);
        }
Пример #5
0
        private void BtnReset_Click(object sender, EventArgs e)
        {
            Processes         = new List <OSASProcess>();
            TerminatedProcess = new List <OSASProcess>();

            RefreshDGV(Processes, false);
            tlpProFields.Enabled = true;

            pnlGanttContainer.Controls.Clear();

            SelectedProcess = null;
            tlpProFields.AC_ClearFields();

            DGV.Columns.Clear();
            this.CreateGraphics().FillRectangle(new SolidBrush(Color.FromArgb(28, 30, 35)), new RectangleF(new PointF(0, 0), this.Size));
        }
Пример #6
0
 private void BtnClear_Click(object sender, EventArgs e)
 {
     SelectedProcess = null;
     tlpProFields.AC_ClearFields();
     DGV.ClearSelection();
 }