import jalview.datamodel.ColumnSelection;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
-import jalview.ext.rbvi.chimera.ChimeraCommands;
import jalview.ext.rbvi.chimera.JalviewChimeraBinding;
import jalview.gui.StructureViewer.ViewerType;
import jalview.io.DataSourceType;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Vector;
import javax.swing.JInternalFrame;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.MenuEvent;
*/
public class ChimeraViewFrame extends StructureViewerBase
{
- private JalviewChimeraBinding jmb;
+ JalviewChimeraBinding jmb;
private boolean allChainsSelected = false;
*/
private void initMenus()
{
- viewerActionMenu.setText(MessageManager.getString("label.chimera"));
+ String chimera = MessageManager.getString("label.chimera");
+ viewerActionMenu.setText(chimera);
viewerColour.setText(MessageManager
.getString("label.colour_with_chimera"));
viewerColour.setToolTipText(MessageManager
viewerActionMenu.add(alpanels);
viewerActionMenu.addMenuListener(new MenuListener()
{
-
@Override
public void menuSelected(MenuEvent e)
{
handler.itemStateChanged(null);
}
-
@Override
public void menuDeselected(MenuEvent e)
{
- // TODO Auto-generated method stub
}
-
@Override
public void menuCanceled(MenuEvent e)
{
- // TODO Auto-generated method stub
}
});
JMenuItem writeFeatures = new JMenuItem(
- MessageManager.getString("label.create_chimera_attributes"));
- writeFeatures.setToolTipText(MessageManager
- .getString("label.create_chimera_attributes_tip"));
+ MessageManager.getString("label.create_viewer_attributes"));
+ writeFeatures.setToolTipText(MessageManager.formatMessage(
+ "label.create_viewer_attributes_tip", chimera));
writeFeatures.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
- sendFeaturesToChimera();
+ sendFeaturesToViewer();
}
});
viewerActionMenu.add(writeFeatures);
- final JMenu fetchAttributes = new JMenu("Fetch Chimera attributes");
- fetchAttributes
- .setToolTipText("Copy Chimera attribute to Jalview feature");
+ final JMenu fetchAttributes = new JMenu(MessageManager.formatMessage(
+ "label.fetch_viewer_attributes", chimera));
+ fetchAttributes.setToolTipText(MessageManager.formatMessage(
+ "label.fetch_viewer_attributes_tip", chimera));
fetchAttributes.addMouseListener(new MouseAdapter()
{
}
});
viewerActionMenu.add(fetchAttributes);
-
- }
-
- /**
- * Query Chimera for its residue attribute names and add them as items off the
- * attributes menu
- *
- * @param attributesMenu
- */
- protected void buildAttributesMenu(JMenu attributesMenu)
- {
- List<String> atts = jmb.sendChimeraCommand("list resattr", true);
- if (atts == null)
- {
- return;
- }
- attributesMenu.removeAll();
- Collections.sort(atts);
- for (String att : atts)
- {
- final String attName = att.split(" ")[1];
-
- /*
- * ignore 'jv_*' attributes, as these are Jalview features that have
- * been transferred to residue attributes in Chimera!
- */
- if (!attName.startsWith(ChimeraCommands.NAMESPACE_PREFIX))
- {
- JMenuItem menuItem = new JMenuItem(attName);
- menuItem.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- getChimeraAttributes(attName);
- }
- });
- attributesMenu.add(menuItem);
- }
- }
}
/**
- * Read residues in Chimera with the given attribute name, and set as features
- * on the corresponding sequence positions (if any)
+ * Asks Chimera for residues with the given attribute name, and set as
+ * features on the corresponding sequence positions (if any)
*
* @param attName
*/
- protected void getChimeraAttributes(String attName)
+ @Override
+ protected void getResidueAttributes(String attName)
{
jmb.copyStructureAttributesToFeatures(attName, getAlignmentPanel());
}
* <p>
* For example: setattr r jv:chain "Ferredoxin-1, Chloroplastic" #0:94.A
*/
- protected void sendFeaturesToChimera()
+ @Override
+ protected void sendFeaturesToViewer()
{
jmb.sendFeaturesToViewer(getAlignmentPanel());
}
{
return jmb;
}
+
+ @Override
+ protected List<String> getResidueAttributeNames()
+ {
+ return jmb.getResidueAttributes();
+ }
}