using CaeGlobals; using CaeKnowledge; using CaeKnowledge.View; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Windows.Forms; namespace CPSO.Forms._92_Knowledge { public partial class FrmEditProcessingJobs : Form { // Variables private readonly Controller _controller; private bool _modified; // Constructors public FrmEditProcessingJobs(Controller controller) { InitializeComponent(); dgvCommands.DataBindingComplete += DataBindingComplete; _controller = controller; _modified = false; } private void tsmiClose_Click(object sender, EventArgs e) { Hide(); } private void dgvCommands_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e) { // Color blue = Color.FromArgb(225, 245, 255); Color green = Color.FromArgb(235, 255, 235); // Color yellow = Color.FromArgb(255, 255, 205); // Color red = Color.FromArgb(255, 235, 215); dgvCommands.Rows[e.RowIndex].DefaultCellStyle.BackColor = green; } private void btnReorganize_Click(object sender, EventArgs e) { } private void btnClearAll_Click(object sender, EventArgs e) { dgvCommands.DataSource = null; _viewProcessingJobs.Clear(); SetBinding(); _modified = true; } private void btnOK_Click(object sender, EventArgs e) { try { DialogResult = DialogResult.OK; if (_modified && dgvCommands.DataSource is BindingSource source && source.DataSource is List list) { _controller.ToolPositions.Clear(); _controller.ToolPositions.AddRange(list); _modified = false; } Hide(); } catch (Exception ex) { ExceptionTools.Show(this, ex); } } private readonly List _viewProcessingJobs = new List(); // Methods public void PrepareForm() { _viewProcessingJobs.Clear(); if (_controller.ProcessingJobs.Count > 0) { _viewProcessingJobs.AddRange(_controller.ProcessingJobs); } SetBinding(); } private void SetBinding() { BindingSource binding = new BindingSource(); binding.DataSource = _viewProcessingJobs; dgvCommands.DataSource = binding; } // Source - https://stackoverflow.com/a/24784960 // Posted by TFischer private void DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { // Loops through each row in the DataGridView, and adds the // row number to the header foreach (DataGridViewRow dGVRow in dgvCommands.Rows) { dGVRow.HeaderCell.Value = $"{dGVRow.Index + 1}"; } // This resizes the width of the row headers to fit the numbers dgvCommands.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders); } private void FrmEditToolPositions_Load(object sender, EventArgs e) { dgvCommands.AllowUserToAddRows = false; dgvCommands.AllowUserToDeleteRows = false; dgvCommands.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; } private void tsmiOpen_Click(object sender, EventArgs e) { } private void tsmiSaveAs_Click(object sender, EventArgs e) { } } }