/// <summary> /// Edit data /// </summary> /// <param name="list">data list</param> /// <param name="po">printer object</param> /// <returns>added variable</returns> public static bool EditData(ListBox list, PrinterObject po) { if (list.SelectedIndices.Count == 1) { int pos = list.SelectedIndices[0]; string s = po.Datas.ElementAt(pos); Data d = new Data(); FillVars(d.Controls["vars"] as ListBox, po); if (s.StartsWith("[") && s.EndsWith("]")) { d.Controls["vars"].Text = s.Substring(1, s.Length - 2); (d.Controls["rbVariable"] as RadioButton).Checked = true; } else { d.Controls["txtConst"].Text = s; (d.Controls["rbConst"] as RadioButton).Checked = true; } DialogResult dr = d.ShowDialog(); if (dr == DialogResult.OK) { bool byVar = (d.Controls["rbVariable"] as RadioButton).Checked; if (byVar) { po.UseChangeVariable(pos, d.Controls["vars"].Text); } else { po.EditData(pos, d.Controls["txtConst"].Text); } list.Items[pos] = po.Datas.ElementAt(pos); list.Refresh(); hasModified = true; return(true); } return(false); } return(false); }