use of net.parostroj.timetable.gui.dialogs.ExportImportSelectionDialog in project grafikon by jub77.
the class ImportSelectionModelAction method eventDispatchAction.
@Override
protected void eventDispatchAction() {
TrainDiagram diagram = (TrainDiagram) context.getAttribute("diagram");
Library library = (Library) context.getAttribute("library");
boolean trainImport = context.hasAttribute("trainImport");
TrainGroupFilter filter = (TrainGroupFilter) context.getAttribute("trainFilter");
if (diagram != null || library != null) {
final ExportImportSelectionDialog importDialog = new ExportImportSelectionDialog(GuiComponentUtils.getWindow(context.getLocationComponent()), true);
ExportImportSelectionSource source;
if (trainImport) {
source = ExportImportSelectionSource.fromDiagramSingleTypeWithFilter(diagram, ImportComponent.TRAINS, filter::apply);
} else {
source = diagram != null ? ExportImportSelectionSource.fromDiagramToDiagram(diagram) : ExportImportSelectionSource.fromLibraryToDiagram(library);
}
importDialog.setSelectionSource(source);
importDialog.setLocationRelativeTo(context.getLocationComponent());
importDialog.setVisible(true);
context.setCancelled(importDialog.isCancelled());
if (!context.isCancelled()) {
context.setAttribute("selection", importDialog.getSelection());
}
}
}
Aggregations