*/
package jalview.gui;
+import jalview.api.AlignViewportI;
+import jalview.api.AlignmentViewPanel;
+import jalview.bin.Cache;
+import jalview.io.FileLoader;
+import jalview.io.FormatAdapter;
+import jalview.io.IdentifyFile;
+import jalview.io.JalviewFileChooser;
+import jalview.io.JalviewFileView;
+import jalview.jbgui.GSplitFrame;
+import jalview.jbgui.GStructureViewer;
+import jalview.structure.StructureSelectionManager;
+import jalview.util.ImageMaker;
+import jalview.util.MessageManager;
+import jalview.viewmodel.AlignmentViewport;
+import jalview.ws.params.ParamManager;
+
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
-import jalview.api.AlignViewportI;
-import jalview.api.AlignmentViewPanel;
-import jalview.bin.Cache;
-import jalview.io.FileLoader;
-import jalview.io.FormatAdapter;
-import jalview.io.IdentifyFile;
-import jalview.io.JalviewFileChooser;
-import jalview.io.JalviewFileView;
-import jalview.jbgui.GSplitFrame;
-import jalview.jbgui.GStructureViewer;
-import jalview.structure.StructureSelectionManager;
-import jalview.util.ImageMaker;
-import jalview.util.MessageManager;
-import jalview.viewmodel.AlignmentViewport;
-import jalview.ws.params.ParamManager;
-
/**
* Jalview Desktop
*
static final int yOffset = 30;
- private static final int THREE = 3;
-
private static AlignFrame currentAlignFrame;
public static jalview.ws.jws1.Discoverer discoverer;
delegate.openFrame(f);
}
+ @Override
public void resizeFrame(JComponent f, int newX, int newY, int newWidth,
int newHeight)
{
- Rectangle b = desktop.getBounds();
if (newY < 0)
{
newY = 0;
public void run()
{
Cache.log.debug("Filechooser init thread started.");
- JalviewFileChooser chooser = new JalviewFileChooser(
+ new JalviewFileChooser(
jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
jalview.io.AppletFormatAdapter.READABLE_EXTENSIONS,
jalview.io.AppletFormatAdapter.READABLE_FNAMES,
});
}
+ @Override
protected void showNews_actionPerformed(ActionEvent e)
{
showNews(showNews.isSelected());
@Override
public void run()
{
- long instance = System.currentTimeMillis();
+ long now = System.currentTimeMillis();
Desktop.instance.setProgressBar(
- MessageManager.getString("status.refreshing_news"),
- instance);
+ MessageManager.getString("status.refreshing_news"), now);
jvnews.refreshNews();
- Desktop.instance.setProgressBar(null, instance);
+ Desktop.instance.setProgressBar(null, now);
jvnews.showNews();
}
}).start();
{
}
+ @Override
public void dropActionChanged(DropTargetDragEvent evt)
{
}
* @param e
* DOCUMENT ME!
*/
+ @Override
public void inputLocalFileMenuItem_actionPerformed(AlignViewport viewport)
{
JalviewFileChooser chooser = new JalviewFileChooser(
* @param e
* DOCUMENT ME!
*/
+ @Override
public void inputURLMenuItem_actionPerformed(AlignViewport viewport)
{
// This construct allows us to have a wider textfield
}
/**
- * DOCUMENT ME!
+ * Opens the CutAndPaste window for the user to paste an alignment in to
*
- * @param e
- * DOCUMENT ME!
+ * @param viewPanel
+ * - if not null, the pasted alignment is added to the current
+ * alignment; if null, to a new alignment window
*/
- public void inputTextboxMenuItem_actionPerformed(AlignViewport viewport)
+ @Override
+ public void inputTextboxMenuItem_actionPerformed(
+ AlignmentViewPanel viewPanel)
{
CutAndPasteTransfer cap = new CutAndPasteTransfer();
- cap.setForInput(viewport);
+ cap.setForInput(viewPanel);
Desktop.addInternalFrame(cap,
MessageManager.getString("label.cut_paste_alignmen_file"),
true, 600, 500);
/*
* Exit the program
*/
+ @Override
public void quit()
{
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
* @param e
* DOCUMENT ME!
*/
+ @Override
public void aboutMenuItem_actionPerformed(ActionEvent e)
{
// StringBuffer message = getAboutMessage(false);
* @param e
* DOCUMENT ME!
*/
+ @Override
public void documentationMenuItem_actionPerformed(ActionEvent e)
{
try
}
}
+ @Override
public void closeAll_actionPerformed(ActionEvent e)
{
JInternalFrame[] frames = desktop.getAllFrames();
if (v_client != null)
{
// TODO clear binding to vamsas document objects on close_all
+ }
+ /*
+ * reset state of singleton objects as appropriate (clear down session state
+ * when all windows are closed)
+ */
+ StructureSelectionManager ssm = StructureSelectionManager
+ .getStructureSelectionManager(this);
+ if (ssm != null)
+ {
+ ssm.resetAll();
}
}
+ @Override
public void raiseRelated_actionPerformed(ActionEvent e)
{
reorderAssociatedWindows(false, false);
}
+ @Override
public void minimizeAssociated_actionPerformed(ActionEvent e)
{
reorderAssociatedWindows(true, false);
* @seejalview.jbgui.GDesktop#garbageCollect_actionPerformed(java.awt.event.
* ActionEvent)
*/
+ @Override
protected void garbageCollect_actionPerformed(ActionEvent e)
{
// We simply collect the garbage
* jalview.jbgui.GDesktop#showMemusage_actionPerformed(java.awt.event.ActionEvent
* )
*/
+ @Override
protected void showMemusage_actionPerformed(ActionEvent e)
{
desktop.showMemoryUsage(showMemusage.isSelected());
* jalview.jbgui.GDesktop#showConsole_actionPerformed(java.awt.event.ActionEvent
* )
*/
+ @Override
protected void showConsole_actionPerformed(ActionEvent e)
{
showConsole(showConsole.isSelected());
* @param e
* DOCUMENT ME!
*/
+ @Override
protected void preferences_actionPerformed(ActionEvent e)
{
new Preferences();
* @param e
* DOCUMENT ME!
*/
+ @Override
public void saveState_actionPerformed(ActionEvent e)
{
JalviewFileChooser chooser = new JalviewFileChooser(
final java.io.File choice = chooser.getSelectedFile();
setProjectFile(choice);
- // TODO or move inside the new Thread?
- saveChimeraSessions(choice.getAbsolutePath());
-
new Thread(new Runnable()
{
public void run()
{
-
+ // TODO: refactor to Jalview desktop session controller action.
setProgressBar(MessageManager.formatMessage(
"label.saving_jalview_project", new Object[]
{ choice.getName() }), choice.hashCode());
}
}
- /**
- * Request any open, linked Chimera sessions to save their state.
- *
- * @param jalviewProjectFilename
- * the filename of the Jalview project; Chimera session files should
- * be given distinct, but obviously related, names.
- */
- public void saveChimeraSessions(String jalviewProjectFilename)
- {
- int i = 0;
- for (JInternalFrame frame : getAllFrames())
- {
- if (frame instanceof ChimeraViewFrame)
- {
- /*
- * Construct a filename for the Chimera session by append _chimera<n>.py
- * to the Jalview project file name.
- */
- String chimeraPath = jalviewProjectFilename + "_chimera_" + i
- + ".py";
- ((ChimeraViewFrame) frame).saveSession(chimeraPath);
- i++;
- }
- }
- }
-
private void setProjectFile(File choice)
{
this.projectFile = choice;
* @param e
* DOCUMENT ME!
*/
+ @Override
public void loadState_actionPerformed(ActionEvent e)
{
JalviewFileChooser chooser = new JalviewFileChooser(
}
}
+ @Override
public void inputSequence_actionPerformed(ActionEvent e)
{
new SequenceFetcher(this);
jalview.gui.VamsasApplication v_client = null;
+ @Override
public void vamsasImport_actionPerformed(ActionEvent e)
{
if (v_client == null)
return (v_client.inSession());
}
+ @Override
public void vamsasStart_actionPerformed(ActionEvent e)
{
if (v_client == null)
.getString("label.new_vamsas_session"));
}
+ @Override
public void vamsasStop_actionPerformed(ActionEvent e)
{
if (v_client != null)
}
}
+ @Override
public void vamsasSave_actionPerformed(ActionEvent e)
{
if (v_client != null)
showMemoryUsage(showMemoryUsage);
}
- public void showMemoryUsage(boolean showMemoryUsage)
+ public void showMemoryUsage(boolean showMemory)
{
- this.showMemoryUsage = showMemoryUsage;
- if (showMemoryUsage)
+ this.showMemoryUsage = showMemory;
+ if (showMemory)
{
Thread worker = new Thread(this);
worker.start();
}
}
+ @Override
public void paintComponent(Graphics g)
{
if (showMemoryUsage && g != null && df != null)
{
public void actionPerformed(ActionEvent e)
{
- groovyShell_actionPerformed(e);
+ groovyShell_actionPerformed();
}
});
toolsMenu.add(groovyShell);
/**
* Add Groovy Support to Jalview
*/
- public void groovyShell_actionPerformed(ActionEvent e)
+ public void groovyShell_actionPerformed()
{
// use reflection to avoid creating compilation dependency.
if (!jalview.bin.Cache.groovyJarsPresent())
if (progressBars.get(new Long(id)) != null)
{
- JPanel progressPanel = progressBars.remove(new Long(id));
+ JPanel panel = progressBars.remove(new Long(id));
if (progressBarHandlers.contains(new Long(id)))
{
progressBarHandlers.remove(new Long(id));
}
- removeProgressPanel(progressPanel);
+ removeProgressPanel(panel);
}
else
{
(t0 = new Thread(discoverer)).start();
}
- // ENFIN services are EOLed as of Jalview 2.8.1 release
- if (false)
- {
- try
- {
- if (Cache.getDefault("SHOW_ENFIN_SERVICES", true))
- {
- // EnfinEnvision web service menu entries are rebuild every time the
- // menu is shown, so no changeSupport events are needed.
- jalview.ws.EnfinEnvision2OneWay.getInstance();
- (t1 = new Thread(jalview.ws.EnfinEnvision2OneWay.getInstance()))
- .start();
- }
- } catch (Exception e)
- {
- Cache.log
- .info("Exception when trying to launch Envision2 workflow discovery.",
- e);
- Cache.log.info(e.getStackTrace());
- }
- }
-
if (Cache.getDefault("SHOW_JWS2_SERVICES", true))
{
if (jalview.ws.jws2.Jws2Discoverer.getDiscoverer().isRunning())
}
- // public static AlignFrame getCurrentAlignFrame()
- // {
- // return currentAlignFrame;
- // }
- //
- // public static void setCurrentAlignFrame(AlignFrame currentAlignFrame)
- // {
- // Desktop.currentAlignFrame = currentAlignFrame;
- // }
+ public static AlignFrame getCurrentAlignFrame()
+ {
+ return currentAlignFrame;
+ }
+
+ public static void setCurrentAlignFrame(AlignFrame currentAlignFrame)
+ {
+ Desktop.currentAlignFrame = currentAlignFrame;
+ }
}