use of org.gephi.utils.longtask.api.LongTaskListener in project gephi by gephi.
the class StatisticsControllerUIImpl method execute.
@Override
public void execute(final Statistics statistics) {
StatisticsController controller = Lookup.getDefault().lookup(StatisticsController.class);
final StatisticsUI[] uis = getUI(statistics);
for (StatisticsUI s : uis) {
s.setup(statistics);
}
model.setRunning(statistics, true);
controller.execute(statistics, new LongTaskListener() {
@Override
public void taskFinished(LongTask task) {
model.setRunning(statistics, false);
for (StatisticsUI s : uis) {
model.addResult(s);
s.unsetup();
}
}
});
}
use of org.gephi.utils.longtask.api.LongTaskListener in project gephi by gephi.
the class StatisticsControllerUIImpl method execute.
@Override
public void execute(final Statistics statistics, final LongTaskListener listener) {
StatisticsController controller = Lookup.getDefault().lookup(StatisticsController.class);
final StatisticsUI[] uis = getUI(statistics);
for (StatisticsUI s : uis) {
s.setup(statistics);
}
model.setRunning(statistics, true);
controller.execute(statistics, new LongTaskListener() {
@Override
public void taskFinished(LongTask task) {
model.setRunning(statistics, false);
for (StatisticsUI s : uis) {
model.addResult(s);
s.unsetup();
}
if (listener != null) {
listener.taskFinished(statistics instanceof LongTask ? (LongTask) statistics : null);
}
}
});
}
use of org.gephi.utils.longtask.api.LongTaskListener in project gephi by gephi.
the class StatisticsFrontEnd method run.
private void run() {
GraphController graphController = Lookup.getDefault().lookup(GraphController.class);
GraphModel graphModel = graphController.getGraphModel();
//Create Statistics
StatisticsController controller = Lookup.getDefault().lookup(StatisticsController.class);
StatisticsControllerUI controllerUI = Lookup.getDefault().lookup(StatisticsControllerUI.class);
StatisticsBuilder builder = controller.getBuilder(statisticsUI.getStatisticsClass());
currentStatistics = builder.getStatistics();
if (currentStatistics != null) {
if (currentStatistics instanceof DynamicStatistics && !graphModel.isDynamic()) {
DialogDisplayer.getDefault().notifyLater(new NotifyDescriptor.Message(NbBundle.getMessage(StatisticsFrontEnd.class, "StatisticsFrontEnd.notDynamicGraph"), NotifyDescriptor.WARNING_MESSAGE));
return;
}
LongTaskListener listener = new LongTaskListener() {
@Override
public void taskFinished(LongTask task) {
showReport();
}
};
JPanel settingsPanel = statisticsUI.getSettingsPanel();
if (currentStatistics instanceof DynamicStatistics) {
DynamicSettingsPanel dynamicPanel = new DynamicSettingsPanel();
statisticsUI.setup(currentStatistics);
dynamicPanel.setup((DynamicStatistics) currentStatistics);
JPanel dynamicSettingsPanel = DynamicSettingsPanel.createCounpoundPanel(dynamicPanel, settingsPanel);
final DialogDescriptor dd = new DialogDescriptor(dynamicSettingsPanel, NbBundle.getMessage(StatisticsTopComponent.class, "StatisticsFrontEnd.settingsPanel.title", builder.getName()));
if (dynamicSettingsPanel instanceof ValidationPanel) {
ValidationPanel vp = (ValidationPanel) dynamicSettingsPanel;
vp.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
dd.setValid(!((ValidationPanel) e.getSource()).isProblem());
}
});
}
if (DialogDisplayer.getDefault().notify(dd).equals(NotifyDescriptor.OK_OPTION)) {
dynamicPanel.unsetup((DynamicStatistics) currentStatistics);
statisticsUI.unsetup();
controllerUI.execute(currentStatistics, listener);
}
} else if (settingsPanel != null) {
statisticsUI.setup(currentStatistics);
final DialogDescriptor dd = new DialogDescriptor(settingsPanel, NbBundle.getMessage(StatisticsTopComponent.class, "StatisticsFrontEnd.settingsPanel.title", builder.getName()));
if (settingsPanel instanceof ValidationPanel) {
ValidationPanel vp = (ValidationPanel) settingsPanel;
vp.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
dd.setValid(!((ValidationPanel) e.getSource()).isProblem());
}
});
}
if (DialogDisplayer.getDefault().notify(dd).equals(NotifyDescriptor.OK_OPTION)) {
statisticsUI.unsetup();
controllerUI.execute(currentStatistics, listener);
}
} else {
statisticsUI.setup(currentStatistics);
controllerUI.execute(currentStatistics, listener);
}
}
}
Aggregations