private final String[] elementTypes = new String[]{Ranking.NODE_ELEMENT, Ranking.EDGE_ELEMENT};
private RankingUIModel model;
private ChangeListener modelChangeListener;
public RankingUIController() {
final ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
final RankingController rc = Lookup.getDefault().lookup(RankingController.class);
pc.addWorkspaceListener(new WorkspaceListener() {
@Override
public void initialize(Workspace workspace) {
}
@Override
public void select(Workspace workspace) {
model = workspace.getLookup().lookup(RankingUIModel.class);
if (model == null) {
RankingModel rankingModel = rc.getModel(workspace);
model = new RankingUIModel(RankingUIController.this, rankingModel);
workspace.add(model);
}
if (modelChangeListener != null) {
modelChangeListener.stateChanged(new ChangeEvent(model));
}
}
@Override
public void unselect(Workspace workspace) {
if (model != null) {
}
}
@Override
public void close(Workspace workspace) {
}
@Override
public void disable() {
model = null;
if (modelChangeListener != null) {
modelChangeListener.stateChanged(null);
}
}
});
if (pc.getCurrentWorkspace() != null) {
model = pc.getCurrentWorkspace().getLookup().lookup(RankingUIModel.class);
if (model == null) {
RankingModel rankingModel = rc.getModel(pc.getCurrentWorkspace());
model = new RankingUIModel(this, rankingModel);
pc.getCurrentWorkspace().add(model);
}
}
}