import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureRenderer;
-import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
import jalview.datamodel.StructureViewerModel;
private int myHeight = 150;
+ private JMenuItem writeFeatures = null;
+
+ private JMenu fetchAttributes = null;
+
/**
* Initialise menu options.
*/
savemenu.setVisible(false); // not yet implemented
viewMenu.add(fitToWindow);
- JMenuItem writeFeatures = new JMenuItem(
+ writeFeatures = new JMenuItem(
MessageManager.getString("label.create_viewer_attributes"));
- writeFeatures.setToolTipText(MessageManager
- .getString("label.create_viewer_attributes_tip"));
+ writeFeatures.setToolTipText(
+ MessageManager.getString("label.create_viewer_attributes_tip"));
writeFeatures.addActionListener(new ActionListener()
{
@Override
});
viewerActionMenu.add(writeFeatures);
- final JMenu fetchAttributes = new JMenu(
- MessageManager.getString("label.fetch_chimera_attributes"));
- fetchAttributes.setToolTipText(
- MessageManager.getString("label.fetch_chimera_attributes_tip"));
+ fetchAttributes = new JMenu(MessageManager.formatMessage(
+ "label.fetch_viewer_attributes", getViewerName()));
+ fetchAttributes.setToolTipText(MessageManager.formatMessage(
+ "label.fetch_viewer_attributes_tip", getViewerName()));
fetchAttributes.addMouseListener(new MouseAdapter()
{
viewerActionMenu.add(fetchAttributes);
}
+ @Override
+ protected void buildActionMenu()
+ {
+ super.buildActionMenu();
+ // add these back in after menu is refreshed
+ viewerActionMenu.add(writeFeatures);
+ viewerActionMenu.add(fetchAttributes);
+
+ };
+
/**
* Query the structure viewer for its residue attribute names and add them as
* items off the attributes menu
{
// todo pull up?
int count = jmb.sendFeaturesToViewer(getAlignmentPanel());
- statusBar.setText(
- MessageManager.formatMessage("label.attributes_set", count));
+ statusBar.setText(MessageManager.formatMessage("label.attributes_set",
+ count, getViewerName()));
}
/**
* @param ap
*/
public ChimeraViewFrame(PDBEntry[] pe, boolean alignAdded,
- SequenceI[][] seqs,
- AlignmentPanel ap)
+ SequenceI[][] seqs, AlignmentPanel ap)
{
this();
setAlignAddedStructures(alignAdded);
getViewerName()),
MessageManager.getString("label.error_loading_file"),
JvOptionPane.ERROR_MESSAGE);
+ jmb.closeViewer(true);
this.dispose();
return;
}
boolean opened = jmb.openSession(chimeraSessionFile);
if (!opened)
{
- System.err.println("An error occurred opening Chimera session file "
+ jalview.bin.Console.errPrintln("An error occurred opening Chimera session file "
+ chimeraSessionFile);
}
}
initChimera();
} catch (Exception ex)
{
- Cache.log.error("Couldn't open Chimera viewer!", ex);
+ Console.error("Couldn't open Chimera viewer!", ex);
}
}
+ if (!jmb.isViewerRunning())
+ {
+ // nothing to do
+ // TODO: ensure we tidy up JAL-3619
+ return;
+ }
int num = -1;
for (PDBEntry pe : filePDB)
{
oomerror);
} catch (Exception ex)
{
- Cache.log.error(
+ Console.error(
"Couldn't open " + pe.getFile() + " in Chimera viewer!",
ex);
} finally
{
- Cache.log.debug("File locations are " + files);
+ Console.debug("File locations are " + files);
}
}
}
/*
* ensure that any newly discovered features (e.g. RESNUM)
- * are added to any open feature settings dialog
+ * are notified to the FeatureRenderer (and added to any
+ * open feature settings dialog)
*/
FeatureRenderer fr = getBinding().getFeatureRenderer(null);
if (fr != null)
}
@Override
- protected void fitToWindow_actionPerformed()
- {
- jmb.focusView();
- }
-
- @Override
public ViewerType getViewerType()
{
return ViewerType.CHIMERA;