/// <summary> /// Trova tutti gli elementi selezionati o non selezionati /// </summary> /// <param name="selezionati">true per i selezionati</param> /// <returns></returns> public List <Elemento> GetSelezionati(bool selezionati = true, Def.Stat typ = Def.Stat.Tutti) { List <Elemento> l = new List <Elemento>(); if ((typ & Def.Stat.Rami) != 0) { foreach (Ramo el in rami) { if (el.Selected == selezionati) { l.Add(el); } } } if ((typ & Def.Stat.Nodi) != 0) { foreach (Nodo el in nodi) { if (el.Selected == selezionati) { l.Add(el); } } } return(l); }
/// <summary> /// Trova gli Elementi con l'ID richiesto /// </summary> /// <param name="id">ID</param> /// <param name="typ">Tipo di elemento o combinazione di flag</param> /// <returns>List<Elemento></returns> public List <Elemento> GetElementi(uint id, Def.Stat typ) { List <Elemento> el = new List <Elemento>(); if (id != Elemento.UNASSIGNED) { if ((typ & Def.Stat.Nodi) != 0) { foreach (Nodo x in nodi) { if (x.ID == id) { el.Add(x); break; } } } else if ((typ & Def.Stat.Rami) != 0) { foreach (Ramo x in rami) { if (x.ID == id) { el.Add(x); break; } } } } return(el); }
/// <summary> /// Trova l'Elemento con l'ID richiesto /// </summary> /// <param name="id">ID</param> /// <param name="typ">Tipo di elemento o combinazione di flag</param> /// <returns>Elemento</returns> public Elemento GetElemento(uint id, Def.Stat typ) { Elemento el = null; if (id != Elemento.UNASSIGNED) { if ((typ & Def.Stat.Nodi) != 0) { foreach (Nodo x in nodi) { if (x.ID == id) { el = x; break; } } } else if ((typ & Def.Stat.Rami) != 0) { foreach (Ramo x in rami) { if (x.ID == id) { el = x; break; } } } } return(el); }
Def.TipoCircuito tipoCirc; // Tipo di circuito #warning Aggiunta stato Disattivo (in futuro) agli elementi /// <summary> /// Costruttore /// </summary> public Dati() { nome = string.Empty; nodi = new List <Nodo>(); // Scelta una collezione standard invece di una nuova classe (es.: DynArray<T>) rami = new List <Ramo>(); // perché altrimenti difficilmente serializzabile con Newtonsoft.Json freeIDnodo = freeIDramo = 1; // Inizializza contatori maxIDerror = false; //Azzera flag viewFilter = Def.Stat.Nodi | Def.Stat.Rami; // Filtro per IEnumerable<Elemento> }
public StatoAttivo() { stat = Def.Stat.Vista; dragging = false; dragFromElement = null; }