package jalview.gui;
import java.util.ArrayList;
+import java.util.EnumSet;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
*/
private boolean superposeAdded = true;
+ /**
+ * whether to open structures in their own thread or not
+ */
+ private boolean async = true;
+
+ public void setAsync(boolean b)
+ {
+ async = b;
+ }
+
public enum ViewerType
{
- JMOL, CHIMERA, CHIMERAX, PYMOL
+ JMOL, CHIMERA, CHIMERAX, PYMOL;
+
+ public static ViewerType getFromString(String viewerString)
+ {
+ ViewerType viewerType = null;
+ if (!"none".equals(viewerString))
+ {
+ for (ViewerType v : EnumSet.allOf(ViewerType.class))
+ {
+ String name = v.name().toLowerCase(Locale.ROOT).replaceAll(" ",
+ "");
+ if (viewerString.equals(name))
+ {
+ viewerType = v;
+ break;
+ }
+ }
+ }
+ return viewerType;
+ }
+
};
/**
if (sview != null)
{
sview.setAlignAddedStructures(superposeAdded);
- new Thread(new Runnable()
+
+ Runnable viewRunnable = new Runnable()
{
@Override
public void run()
sview.updateTitleAndMenus();
}
- }).start();
+ };
+ if (async)
+ {
+ new Thread(viewRunnable).start();
+ }
+ else
+ {
+ viewRunnable.run();
+ }
return sview;
}
JalviewStructureDisplayI sview = null;
+ public JalviewStructureDisplayI getJalviewStructureDisplay()
+ {
+ return sview;
+ }
+
public JalviewStructureDisplayI viewStructures(PDBEntry pdb,
SequenceI[] seqsForPdb, AlignmentPanel ap)
{