private void edit_Click(object sender, EventArgs e) { if (listView1.SelectedItems != null && listView1.SelectedItems.Count > 0) { ArgumentPair formula = listView1.SelectedItems[0].Tag as ArgumentPair; if (formula != null) { AddGasesPairForm frm = new AddGasesPairForm(_app); frm.Pair = formula; if (frm.ShowDialog(this) == DialogResult.OK) { ArgumentPair pair = frm.Pair; if (pair != null) { formula.First.Index = pair.First.Index; formula.First.IsActual = pair.First.IsActual; formula.Second.Index = pair.Second.Index; formula.Second.IsActual = pair.Second.IsActual; listView1.SelectedItems[0].SubItems[1].Text = GetFormulaName(formula.First.Index); listView1.SelectedItems[0].SubItems[2].Text = GetFormulaName(formula.Second.Index); } } } } }
/// <summary> /// Инициализировать формулу из сохраненного раннее узла Xml /// </summary> /// <param name="node">Узел на основе которого выполнить инициализацию макроса</param> public void InstanceMacrosFromXmlNode(XmlNode node) { if (slim.TryEnterWriteLock(300)) { try { if (arguments != null) { if (arguments[0] != null && arguments[1] != null) { XmlNode[] argsNode = FindArguments(node); if (argsNode != null) { if (argsNode[0] != null && argsNode[1] != null) { arguments[0].InstanceFromXml(argsNode[0]); arguments[1].InstanceFromXml(argsNode[1]); InitDescription(node); } } } } if (node.HasChildNodes) { foreach (XmlNode child in node.ChildNodes) { switch (child.Name) { case "Pair": try { ArgumentPair pair = new ArgumentPair(); pair.Load(child); args.Add(pair); } catch { } break; default: break; } } } } finally { slim.ExitWriteLock(); } } }
/// <summary> /// добавить пару в список /// </summary> /// <param name="pair"></param> protected void InsertPair(ArgumentPair pair) { ListViewItem item = new ListViewItem((listView1.Items.Count + 1).ToString()); ListViewItem.ListViewSubItem f = new ListViewItem.ListViewSubItem(item, GetFormulaName(pair.First.Index)); ListViewItem.ListViewSubItem s = new ListViewItem.ListViewSubItem(item, GetFormulaName(pair.Second.Index)); item.SubItems.Add(f); item.SubItems.Add(s); item.Tag = pair; listView1.Items.Add(item); }
/// <summary> /// добавляем условие /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void add_Click(object sender, EventArgs e) { AddGasesPairForm frm = new AddGasesPairForm(_app); if (frm.ShowDialog(this) == DialogResult.OK) { ArgumentPair pair = frm.Pair; if (pair != null) { InsertPair(pair); } } }
/// <summary> /// Удалить аргмуент /// </summary> /// <param name="argument">Удаляемый аргумент</param> public void RemoveArgument(ArgumentPair argument) { if (slim.TryEnterWriteLock(300)) { try { args.Remove(argument); } finally { slim.ExitWriteLock(); } } }
/// <summary> /// Добавить аргумент /// </summary> /// <param name="argument">Добавляемый аргумент</param> public void InsertArgument(ArgumentPair argument) { if (slim.TryEnterWriteLock(300)) { try { args.Add(argument); } finally { slim.ExitWriteLock(); } } }
private void accept_Click(object sender, EventArgs e) { if (listView1.Items.Count == 0) { MessageBox.Show(this, "Не указаны параметры формулы", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); DialogResult = System.Windows.Forms.DialogResult.None; return; } if (checkBox1.Visible && checkBox1.Checked == false) { foreach (Formula formula in _app.Converter.Formuls) { if (formula.Position == (int)numericUpDown1.Value) { MessageBox.Show(this, "Номер текущей формулы занят!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); DialogResult = DialogResult.None; return; } } } else { foreach (Formula formula in _app.Converter.Formuls) { if (formula.Position != tempIndex && Number == formula.Position) { MessageBox.Show(this, "Номер текущей формулы занят!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); DialogResult = DialogResult.None; return; } } } if (gases == null) { gases = new Gases(); foreach (ListViewItem item in listView1.Items) { ArgumentPair pair = item.Tag as ArgumentPair; if (pair != null) { gases.InsertArgument(pair); } } } else { gases.Clear(); foreach (ListViewItem item in listView1.Items) { ArgumentPair pair = item.Tag as ArgumentPair; if (pair != null) { gases.InsertArgument(pair); } } } }