package at.medevit.elexis.cobasmira.ui;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import at.medevit.elexis.cobasmira.model.CobasMiraLog;
import at.medevit.elexis.cobasmira.model.CobasMiraMessage;
public class CobasMiraLogContentProvider implements IStructuredContentProvider,
PropertyChangeListener {
protected TableViewer tableViewer;
public CobasMiraLogContentProvider(TableViewer tableViewer){
this.tableViewer = tableViewer;
CobasMiraLog.getInstance().addPropertyChangeListener(this);
}
@Override
public void dispose(){
//empty
}
@Override
public Object[] getElements(Object inputElement){
List<CobasMiraMessage> list = (List<CobasMiraMessage>) inputElement;
return list.toArray();
}
@Override
public void propertyChange(PropertyChangeEvent evt){
tableViewer.getTable().getDisplay().asyncExec(new Runnable() {
@Override
public void run(){
tableViewer.setInput(CobasMiraLog.getInstance().getMessageList());
tableViewer.refresh();
}
});
}
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput){}
}