mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-30 00:18:37 -04:00
made ValueTable observable
This commit is contained in:
parent
c23796bf5b
commit
87cf2f0942
@ -52,7 +52,7 @@ public class DependencyAnalyser {
|
||||
if (!effected.contains(value)) {
|
||||
effected.add(value);
|
||||
|
||||
for (Observer o : value) {
|
||||
for (Observer o : value.getObservers()) {
|
||||
if ((o instanceof NodeInterface)) {
|
||||
ObservableValues outputs = ((NodeInterface) o).getOutputs();
|
||||
for (ObservableValue co : outputs)
|
||||
|
@ -8,7 +8,7 @@ import java.util.Iterator;
|
||||
*
|
||||
* @author hneemann
|
||||
*/
|
||||
public class Observable implements Iterable<Observer> {
|
||||
public class Observable {
|
||||
private final ArrayList<Observer> observers;
|
||||
|
||||
/**
|
||||
@ -76,8 +76,11 @@ public class Observable implements Iterable<Observer> {
|
||||
return observers.contains(observer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Observer> iterator() {
|
||||
return observers.iterator();
|
||||
/**
|
||||
* @return tje list of observers
|
||||
*/
|
||||
public ArrayList<Observer> getObservers() {
|
||||
return observers;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package de.neemann.digital.data;
|
||||
|
||||
import de.neemann.digital.core.Observable;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -9,7 +11,7 @@ import java.util.Iterator;
|
||||
* Stores values in a table
|
||||
* Created by hneemann on 03.07.17.
|
||||
*/
|
||||
public class ValueTable implements Iterable<Value[]> {
|
||||
public class ValueTable extends Observable implements Iterable<Value[]> {
|
||||
|
||||
private final String[] names;
|
||||
private final ArrayList<Value[]> values;
|
||||
@ -59,6 +61,9 @@ public class ValueTable implements Iterable<Value[]> {
|
||||
}
|
||||
values.add(row);
|
||||
checkMax(row);
|
||||
|
||||
fireHasChanged();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -151,6 +156,7 @@ public class ValueTable implements Iterable<Value[]> {
|
||||
public void clear() {
|
||||
values.clear();
|
||||
Arrays.fill(max, 0);
|
||||
fireHasChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user