Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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();
            }
        }