private List <Node_struct> startMathDownСначало(List <Node_struct> list) { повторитьиззаошибки: NodeValueMathDown mathdown = new NodeValueMathDown(); EditNode editnode = new EditNode(); try { foreach (var nod in list) { if (nod.connects_out.Count == 0 && nod.connects_in.Count > 0) { MatrixСмежная[][] см = editnode.getMatrixСмежность(nod, nod.connects_in.Count, nod.props[0].values.Count, list); if (mathdown.getValues_editors(см, nod, list) == false) { goto повторитьиззаошибки; } } } } catch (System.IndexOutOfRangeException ex) { Console.WriteLine("Ошибка в методе startMathDownСначало. " + ex.ToString()); goto повторитьиззаошибки; } catch (System.AggregateException ex) { Console.WriteLine("Ошибка в методе startMathDownСначало. " + ex.ToString()); goto повторитьиззаошибки; } return(list); }
public double getNodPropsValueEditor(List <Node_struct> list, Node_struct nod, Propertys_struct proppppp) { double value = -1; bool enab = false; foreach (var propi in nod.props) { if (propi.proc100) { enab = true; break; } } if (enab /*&& nod.connects_in.Count == 0*/) //тут у нас просто ребенок поэтому ему можем спокойно присвоить 1 и 0 { if (proppppp.proc100) { value = 1; } else { value = 0; } } /*else if (enab && nod.connects_in.Count > 0) //а тут раз у нас и родитель и беренок то это событие нужно отлавливать * { * //вот этот момент интересне это родитель и сын одновременно * }*/ else if (proppppp.values.Count > 1) { иззаошибки: MatrixСмежная[][] см = new EditNode().getMatrixСмежность(nod, nod.connects_in.Count, nod.props[0].values.Count, list); if (getValues_editors(см, nod, list) == false) { goto иззаошибки; } value = proppppp.value_editor = proppppp.value_editor_down;//nod.props[i].value_editor; } else /*if (nod.connects_in.Count > 0)*/ { value = proppppp.value_editor_down = proppppp.value_editor = proppppp.values[0];//nod.props[i].values[0]; } return(value); }
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Button == MouseButtons.Left && e.Node.Level == 1) { e.Node.ExpandAll(); EditNode ed = new EditNode(); int i = new Node().getSelectNode(e.Node, listnodes); if (i < 0) { return; } ed.thisnod_i = i; ed.thisnod = listnodes[i]; ed.tmplistnodes = listnodes; ed.ShowDialog(); treeListReplace(); } }