}
private void initEvents() {
//Workspace Listener
ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
final GraphController gc = Lookup.getDefault().lookup(GraphController.class);
pc.addWorkspaceListener(new WorkspaceListener() {
public void initialize(Workspace workspace) {
//Prepare DataTablesEvent listener
Lookup.getDefault().lookup(DataTablesController.class).setDataTablesEventListener(DataTableTopComponent.this);
}
public void select(Workspace workspace) {
//Prepare DataTablesEvent listener
Lookup.getDefault().lookup(DataTablesController.class).setDataTablesEventListener(DataTableTopComponent.this);
AttributeModel attributeModel = Lookup.getDefault().lookup(AttributeController.class).getModel();
dataTablesModel = workspace.getLookup().lookup(DataTablesModel.class);
if (dataTablesModel == null) {
workspace.add(dataTablesModel = new DataTablesModel(attributeModel.getNodeTable(), attributeModel.getEdgeTable()));
}
nodeAvailableColumnsModel = dataTablesModel.getNodeAvailableColumnsModel();
edgeAvailableColumnsModel = dataTablesModel.getEdgeAvailableColumnsModel();
hideTable();
enableTableControls();
attributeModel.addAttributeListener(DataTableTopComponent.this);
graphModel = gc.getModel();
graphModel.addGraphListener(DataTableTopComponent.this);
refreshAllOnce();
}
public void unselect(Workspace workspace) {
graphModel.removeGraphListener(DataTableTopComponent.this);
AttributeModel attributeModel = workspace.getLookup().lookup(AttributeModel.class);
attributeModel.removeAttributeListener(DataTableTopComponent.this);
graphModel = null;
dataTablesModel = null;
nodeAvailableColumnsModel = null;
edgeAvailableColumnsModel = null;
clearAll();
}
public void close(Workspace workspace) {
}
public void disable() {
clearAll();
//No more workspaces active, disable the DataTablesEvent listener
Lookup.getDefault().lookup(DataTablesController.class).setDataTablesEventListener(null);
}
});
if (pc.getCurrentWorkspace() != null) {
//Prepare DataTablesEvent listener
Lookup.getDefault().lookup(DataTablesController.class).setDataTablesEventListener(DataTableTopComponent.this);
dataTablesModel = pc.getCurrentWorkspace().getLookup().lookup(DataTablesModel.class);
graphModel = gc.getModel();
graphModel.addGraphListener(DataTableTopComponent.this);
AttributeModel attributeModel = pc.getCurrentWorkspace().getLookup().lookup(AttributeModel.class);
attributeModel.addAttributeListener(DataTableTopComponent.this);
}
//Filter
if (dynamicFiltering) {