/** * Aggiorna la posizione di tutti i canali interessati dall'oggetto passato come parametro * d'ingresso. */ public void updateListaCanalePosizione(ElementoTime et) { ElementoSeqLink tmpCanale; for (int i = 0; i < lista.size(); i++) { tmpCanale = (ElementoSeqLink) lista.get(i); if ((et.equals(tmpCanale.getTime_one())) || (et.equals(tmpCanale.getTime_two()))) { tmpCanale.updateCanalePosizione(); } } }
/** Rimuove tutti i link collegati all'oggetto preso in input. */ public void removeAllLink(ElementoTime proc) { ElementoSeqLink canale; ElementoTime time_one; ElementoTime time_two; long tempo; int offset; int i = 0; if (lista == null) return; if (proc == null) return; tempo = proc.getTime(); offset = proc.getMaxY() - proc.getMinY(); try { while (i < lista.size()) { canale = (ElementoSeqLink) lista.get(i); if (canale != null) { time_one = canale.getTime_one(); time_two = canale.getTime_two(); if ((time_one == proc) || (time_two == proc)) { lista.remove(i); i = 0; continue; } else { if ((time_one.getTime() > tempo) || (time_two.getTime() > tempo)) { canale.updateCanalePosizione(); } } } i++; } } catch (IndexOutOfBoundsException e) { String s = "Indice fuori dai limiti ammessi \n dentro la classe ListaSeqLink$removeAllLink().\n" + e.toString(); JOptionPane.showMessageDialog(null, s, "Condizione di errore!", JOptionPane.WARNING_MESSAGE); return; } }