import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import javax.swing.JInternalFrame;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.SwingUtilities;
// / TODO: check if protocol is needed to be set, and if chains are
// autodiscovered.
jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),
- pdbentrys, seqs, null, null);
+ pdbentrys, seqs, null);
jmb.setLoadingFromArchive(true);
addAlignmentPanel(ap);
private void initMenus()
{
+ String jmol = MessageManager.getString("label.jmol");
+ viewerActionMenu.setText(jmol);
seqColour.setSelected(jmb.isColourBySequence());
viewerColour.setSelected(!jmb.isColourBySequence());
if (_colourwith == null)
}
});
+
+ JMenuItem writeFeatures = new JMenuItem(
+ MessageManager.getString("label.create_viewer_attributes"));
+ writeFeatures.setToolTipText(MessageManager.formatMessage(
+ "label.create_viewer_attributes_tip", jmol));
+ writeFeatures.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ sendFeaturesToViewer();
+ }
+ });
+ viewerActionMenu.add(writeFeatures);
+
+ final JMenu fetchAttributes = new JMenu(MessageManager.formatMessage(
+ "label.fetch_viewer_attributes", jmol));
+ fetchAttributes.setToolTipText(MessageManager.formatMessage(
+ "label.fetch_viewer_attributes_tip", jmol));
+ fetchAttributes.addMouseListener(new MouseAdapter()
+ {
+
+ @Override
+ public void mouseEntered(MouseEvent e)
+ {
+ buildAttributesMenu(fetchAttributes);
+ }
+ });
+ viewerActionMenu.add(fetchAttributes);
}
IProgressIndicator progressBar = null;
{
progressBar = ap.alignFrame;
jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),
- pdbentrys, seqs, null, null);
+ pdbentrys, seqs, null);
addAlignmentPanel(ap);
useAlignmentPanelForColourbyseq(ap);
if (pdbentrys.length > 1)
jmb.setFinishedInit(true);
}
- void setChainMenuItems(Vector<String> chains)
- {
- chainMenu.removeAll();
- if (chains == null)
- {
- return;
- }
- JMenuItem menuItem = new JMenuItem(
- MessageManager.getString("label.all"));
- menuItem.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent evt)
- {
- allChainsSelected = true;
- for (int i = 0; i < chainMenu.getItemCount(); i++)
- {
- if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)
- {
- ((JCheckBoxMenuItem) chainMenu.getItem(i)).setSelected(true);
- }
- }
- centerViewer();
- allChainsSelected = false;
- }
- });
- chainMenu.add(menuItem);
-
- for (String chain : chains)
- {
- menuItem = new JCheckBoxMenuItem(chain, true);
- menuItem.addItemListener(new ItemListener()
- {
- @Override
- public void itemStateChanged(ItemEvent evt)
- {
- if (!allChainsSelected)
- {
- centerViewer();
- }
- }
- });
-
- chainMenu.add(menuItem);
- }
- }
boolean allChainsSelected = false;
- void centerViewer()
+ @Override
+ void showSelectedChains()
{
Vector<String> toshow = new Vector<String>();
for (int i = 0; i < chainMenu.getItemCount(); i++)
}
if (errormsgs.length() > 0)
{
- JOptionPane.showInternalMessageDialog(Desktop.desktop, MessageManager
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop, MessageManager
.formatMessage("label.pdb_entries_couldnt_be_retrieved",
new String[] { errormsgs.toString() }),
MessageManager.getString("label.couldnt_load_file"),
- JOptionPane.ERROR_MESSAGE);
+ JvOptionPane.ERROR_MESSAGE);
}
return files;
}
repaint();
return;
}
- setChainMenuItems(jmb.chainNames);
+ setChainMenuItems(jmb.getChainNames());
this.setTitle(jmb.getViewerTitle());
- if (jmb.getPdbFile().length > 1 && jmb.getSequence().length > 1)
- {
+ // if (jmb.getPdbFile().length > 1 && jmb.getSequence().length > 1)
+ // {
viewerActionMenu.setVisible(true);
- }
+ // }
if (!jmb.isLoadingFromArchive())
{
seqColour_actionPerformed(null);
return jmb;
}
+ @Override
+ protected void sendFeaturesToViewer()
+ {
+ /*
+ * Atom properties may also be set directly using {atom expression}.xxxx = y.
+ */
+ }
+
+ @Override
+ protected void getResidueAttributes(String attName)
+ {
+ /*
+ * getproperty atominfo returns properties for all atoms
+ * - could parse this for unique/specific property names?
+ *
+ * _ipt atomID atomIndex atomno bondCount chain clickabilityFlags colix color coord
+ * element elemno formalCharge groupID info model name occupancy partialCharge
+ * polymerLength radius resname resno shape spacefill structure sym temp
+ * visibilityFlags visible x y z
+ *
+ * getproperty chaininfo is residue level info
+ * no sign of average bfactor for a residue :-(
+ */
+ }
+
+ @Override
+ protected List<String> getResidueAttributeNames()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}