/// <summary> /// Accion que se produce cuando se elimina un elemento. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void removeMenuItem_Click(object sender, EventArgs e) { MenuItem item = sender as MenuItem; BayesianNodeChartElement element = ((BayesianNodeChartElement)item.Tag); this.Charts.Remove(element); }
public FrProbabilityData(IEnumerable <KeyValuePair <BayesianNodeChartElement, List <StringWraper> > > parent_states, List <StringWraper> mystates, BayesianNodeChartElement element) { InitializeComponent(); if (element == null) { throw new ArgumentNullException("element can not be null"); } datagridProbabilities.Columns.Clear(); datagridProbabilities.Rows.Clear(); int parents = 0; //relleno las casillas de los estados de los padres foreach (var item in parent_states) { datagridProbabilities.Columns.Add(item.Key.Name, item.Key.Name); parents++; } int index = 0; FirstIndex = -1; foreach (var item in mystates) { index = datagridProbabilities.Columns.Add(item, element.Name + " :" + item); if (FirstIndex == -1) { FirstIndex = index; } } ParentStates = parent_states.Select(x => x.Value.Count()).ToArray(); Mystates = mystates.Count; datagridProbabilities.Rows.Add(ParentStates.Aggregate(1, (x, y) => x * y)); int row = 0; CreateParentInstances(parent_states.Select(x => x.Value).ToArray(), 0, new StringWraper[parents], ref row); if (element.Condicional_Probabilities != null) { //si ya tiene probabilidades entonces las pongo el el data grid para su edicion o visualizacion for (int j = FirstIndex; j < datagridProbabilities.Columns.Count; j++) { for (int i = 0; i < datagridProbabilities.Rows.Count; i++) { datagridProbabilities[j, i].Value = element.Condicional_Probabilities[(j - FirstIndex) * datagridProbabilities.Rows.Count + i]; } } } Probabilities = element.Condicional_Probabilities; }
public override ChartElement Build() { BayesianNodeChartElement node = new BayesianNodeChartElement(); node.Name = "BayesianNode" + BayesianNodeChartElement.Num_Node; node.PinSize = new Size(5, 5); node.BackColor = Color.Snow; node.Display = new Rectangle(Center.X - 100, Center.Y - 20, 110, 25); node.ShowOutputPins = false; node.ShowInputPins = false; return(node); }
public FrProbabilityData(IEnumerable<KeyValuePair<BayesianNodeChartElement,List<StringWraper>>> parent_states, List<StringWraper> mystates,BayesianNodeChartElement element) { InitializeComponent(); if(element==null)throw new ArgumentNullException("element can not be null"); datagridProbabilities.Columns.Clear(); datagridProbabilities.Rows.Clear(); int parents=0; //relleno las casillas de los estados de los padres foreach (var item in parent_states) { datagridProbabilities.Columns.Add(item.Key.Name, item.Key.Name); parents++; } int index = 0; FirstIndex = -1; foreach (var item in mystates) { index= datagridProbabilities.Columns.Add(item,element.Name+" :" + item); if (FirstIndex == -1) FirstIndex = index; } ParentStates = parent_states.Select(x => x.Value.Count()).ToArray(); Mystates = mystates.Count; datagridProbabilities.Rows.Add(ParentStates.Aggregate(1,(x, y) => x*y)); int row = 0; CreateParentInstances(parent_states.Select(x=>x.Value).ToArray(),0,new StringWraper[parents],ref row); if(element.Condicional_Probabilities!=null) { //si ya tiene probabilidades entonces las pongo el el data grid para su edicion o visualizacion for (int j = FirstIndex; j < datagridProbabilities.Columns.Count; j++) { for (int i = 0; i < datagridProbabilities.Rows.Count; i++) { datagridProbabilities[j, i].Value = element.Condicional_Probabilities[(j-FirstIndex)*datagridProbabilities.Rows.Count + i]; } } } Probabilities = element.Condicional_Probabilities; }
public override ChartElement Build() { BayesianNodeChartElement node = new BayesianNodeChartElement(); node.Name = "BayesianNode" + BayesianNodeChartElement.Num_Node; node.PinSize = new Size(5, 5); node.BackColor = Color.Snow; node.Display = new Rectangle(Center.X - 100, Center.Y - 20, 110, 25); node.ShowOutputPins = false; node.ShowInputPins = false; return node; }