use of net.parostroj.timetable.gui.components.ExportImportSelectionSource in project grafikon by jub77.
the class ExportAction method actionPerformed.
@Override
public void actionPerformed(ActionEvent event) {
final Component parent = GuiComponentUtils.getTopLevelComponent(event.getSource());
ExportImportSelectionSource source = ExportImportSelectionSource.fromDiagramToLibrary(model.getDiagram());
exportDialog.setSelectionSource(source);
exportDialog.setLocationRelativeTo(parent);
exportDialog.setVisible(true);
boolean cancelled = exportDialog.isCancelled();
if (!cancelled) {
// saving library
try (CloseableFileChooser gtmlFileChooser = FileChooserFactory.getInstance().getFileChooser(FileChooserFactory.Type.GTML)) {
int retVal = gtmlFileChooser.showSaveDialog(parent);
if (retVal == JFileChooser.APPROVE_OPTION) {
ActionContext c = new ActionContext(parent);
ModelAction action = getSaveModelAction(c, gtmlFileChooser.getSelectedFile(), parent, this.createLibrary(exportDialog.getSelection()));
ActionHandler.getInstance().execute(action);
}
}
}
}
use of net.parostroj.timetable.gui.components.ExportImportSelectionSource 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