private void setDocument(final URL document, boolean load) throws IOException { final Cursor cu = switchCursor(waitc); try { log.info(document); final URL old = this.document; this.firePropertyChange("document", old, this.document = document); setFile(this.document); url.setText(this.document == null ? "{null}" : this.document.toString()); if (!load) return; cm.deregister(tactics.getCurves()); final ComputedTrajectorySet cts; if (this.document == null) cts = null; else { final IONode n = new JCurlSerializer().read(this.document); final IOTrajectories it = (IOTrajectories) n; final TrajectorySet ts = it.trajectories().get(0); cts = (ComputedTrajectorySet) ts; } change.discardAllEdits(); if (cts != null) cts.setCurrentTime(currentTime); tactics.setCurves(cts); broomSwing.setBroom(tactics.getBroom()); cm.register(cts); setModified(false); } finally { switchCursor(cu); } }
private File saveHelper( File dst, final File base, final String name, final boolean forceOverwrite) { JFileChooser fcJcx = null; for (; ; ) { if (fcJcx == null) fcJcx = createJcxChooser(base, name); if (dst == null) { if (JFileChooser.APPROVE_OPTION != fcJcx.showSaveDialog(getMainFrame())) return null; dst = fcJcx.getSelectedFile(); } if (dst == null) continue; dst = gui.ensureSuffix(dst, jcxzPat); if (forceOverwrite || askOverwrite(dst)) try { save(tactics.getCurves(), dst); return dst; } catch (final Exception e) { showErrorDialog("Couldn't save to '" + dst + "'", e); } else dst = null; } }
/** Edit Menu Action */ @Action public void editOut() { final ComputedTrajectorySet cts = tactics.getCurves(); if (cts == null) return; change.addEdit(reset(cts, tactics.getBroom(), true)); }