JAL-3551 working proof of concept of Jalview driving PyMOL
[jalview.git] / src / jalview / gui / AppJmol.java
index 83ec177..4087e63 100644 (file)
@@ -26,8 +26,10 @@ import jalview.datamodel.AlignmentI;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
 import jalview.gui.StructureViewer.ViewerType;
+import jalview.structure.StructureCommand;
 import jalview.structures.models.AAStructureBindingModel;
 import jalview.util.BrowserLauncher;
+import jalview.util.ImageMaker;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
 import jalview.ws.dbsources.Pdb;
@@ -38,13 +40,10 @@ import java.awt.Dimension;
 import java.awt.Font;
 import java.awt.Graphics;
 import java.awt.Rectangle;
-import java.awt.event.ActionEvent;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Vector;
 
-import javax.swing.JCheckBoxMenuItem;
 import javax.swing.JPanel;
 import javax.swing.JSplitPane;
 import javax.swing.SwingUtilities;
@@ -247,30 +246,12 @@ public class AppJmol extends StructureViewerBase
     {
       command = "";
     }
-    jmb.evalStateCommand(command);
-    jmb.evalStateCommand("set hoverDelay=0.1");
+    jmb.executeCommand(new StructureCommand(command), false);
+    jmb.executeCommand(new StructureCommand("set hoverDelay=0.1"), false);
     jmb.setFinishedInit(true);
   }
 
   @Override
-  void showSelectedChains()
-  {
-    Vector<String> toshow = new Vector<>();
-    for (int i = 0; i < chainMenu.getItemCount(); i++)
-    {
-      if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)
-      {
-        JCheckBoxMenuItem item = (JCheckBoxMenuItem) chainMenu.getItem(i);
-        if (item.isSelected())
-        {
-          toshow.addElement(item.getText());
-        }
-      }
-    }
-    jmb.centerViewer(toshow);
-  }
-
-  @Override
   public void closeViewer(boolean closeExternalViewer)
   {
     // Jmol does not use an external viewer
@@ -343,12 +324,12 @@ public class AppJmol extends StructureViewerBase
       cmd.append("loadingJalviewdata=true\nload APPEND ");
       cmd.append(filesString);
       cmd.append("\nloadingJalviewdata=null");
-      final String command = cmd.toString();
+      final StructureCommand command = new StructureCommand(cmd.toString());
       lastnotify = jmb.getLoadNotifiesHandled();
 
       try
       {
-        jmb.evalStateCommand(command);
+        jmb.executeCommand(command, false);
       } catch (OutOfMemoryError oomerror)
       {
         new OOMWarning("When trying to add structures to the Jmol viewer!",
@@ -424,7 +405,7 @@ public class AppJmol extends StructureViewerBase
         }
         else
         {
-          alignStructs_withAllAlignPanels();
+          alignStructsWithAllAlignPanels();
         }
       }
     });
@@ -536,41 +517,40 @@ public class AppJmol extends StructureViewerBase
   }
 
   @Override
-  public void eps_actionPerformed(ActionEvent e)
+  public void eps_actionPerformed()
   {
-    makePDBImage(jalview.util.ImageMaker.TYPE.EPS);
+    makePDBImage(ImageMaker.TYPE.EPS);
   }
 
   @Override
-  public void png_actionPerformed(ActionEvent e)
+  public void png_actionPerformed()
   {
-    makePDBImage(jalview.util.ImageMaker.TYPE.PNG);
+    makePDBImage(ImageMaker.TYPE.PNG);
   }
 
-  void makePDBImage(jalview.util.ImageMaker.TYPE type)
+  void makePDBImage(ImageMaker.TYPE type)
   {
     int width = getWidth();
     int height = getHeight();
 
-    jalview.util.ImageMaker im;
+    ImageMaker im;
 
-    if (type == jalview.util.ImageMaker.TYPE.PNG)
+    if (type == ImageMaker.TYPE.PNG)
     {
-      im = new jalview.util.ImageMaker(this,
-              jalview.util.ImageMaker.TYPE.PNG, "Make PNG image from view",
+      im = new ImageMaker(this, ImageMaker.TYPE.PNG,
+              "Make PNG image from view",
               width, height, null, null, null, 0, false);
     }
-    else if (type == jalview.util.ImageMaker.TYPE.EPS)
+    else if (type == ImageMaker.TYPE.EPS)
     {
-      im = new jalview.util.ImageMaker(this,
-              jalview.util.ImageMaker.TYPE.EPS, "Make EPS file from view",
+      im = new ImageMaker(this, ImageMaker.TYPE.EPS,
+              "Make EPS file from view",
               width, height, null, this.getTitle(), null, 0, false);
     }
     else
     {
-
       im = new jalview.util.ImageMaker(this,
-              jalview.util.ImageMaker.TYPE.SVG, "Make SVG file from PCA",
+              ImageMaker.TYPE.SVG, "Make SVG file from PCA",
               width, height, null, this.getTitle(), null, 0, false);
     }
 
@@ -582,7 +562,7 @@ public class AppJmol extends StructureViewerBase
   }
 
   @Override
-  public void showHelp_actionPerformed(ActionEvent actionEvent)
+  public void showHelp_actionPerformed()
   {
     try
     {