package context.apps.demos.homeactivity;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import context.arch.comm.DataObject;
import context.arch.enactor.EnactorComponentInfo;
import context.arch.enactor.EnactorListener;
import context.arch.enactor.EnactorParameter;
import context.arch.intelligibility.Explanation;
import context.arch.intelligibility.presenters.Presenter;
import context.arch.storage.Attributes;
public class HomeEvidencePanel extends JPanel implements EnactorListener {
private static final long serialVersionUID = -4469106651309897983L;
// private TimeStepPanel timelinePanel;
private FloorplanPanel floorplanPanel;
TimelineStatesPanel statesPanel;
public HomeEvidencePanel(HomeModel model) {
// HmmExplainer explainer = (HmmExplainer) model.activityEnactor.getExplainer();
setLayout(new BorderLayout());
statesPanel = new TimelineStatesPanel(model.activityEnactor, false);
this.add(statesPanel, BorderLayout.NORTH);
// timelinePanel = new TimeStepPanel(model); // also does timeline stepping
floorplanPanel = new FloorplanPanel(model);
// model.setEnactorsReadyListener(timelinePanel);
// add(queryPanel, BorderLayout.NORTH);
// add(timelinePanel, BorderLayout.CENTER);
add(floorplanPanel, BorderLayout.SOUTH);
model.activityEnactor.addListener(this);
presenter = new Presenter<Void>(model.activityEnactor) {
@Override
public Void render(Explanation explanation) {
statesPanel.presenter.render(explanation);
floorplanPanel.presenter.render(explanation);
return null;
}
};
}
@Override
public void componentEvaluated(EnactorComponentInfo eci) {
// floorplanPanel.whyPresenter.render(
// explainer.getExplanation(
// new Query(Query.QUESTION_WHY, null, System.currentTimeMillis())));
}
@Override public void componentAdded(EnactorComponentInfo eci, Attributes paramAtts) {}
@Override public void componentRemoved(EnactorComponentInfo eci, Attributes paramAtts) {}
@Override public void parameterValueChanged(EnactorParameter parameter, Attributes validAtts, Object value) {}
@Override public void serviceExecuted(EnactorComponentInfo eci, String serviceName, String functionName, Attributes input, DataObject returnDataObject) {}
Presenter<Void> presenter;
}