package jalview.ext.rbvi.chimera;
import java.awt.Color;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
*/
public class ChimeraXCommands extends ChimeraCommands
{
+ private static final StructureCommand CLOSE_CHIMERAX = new StructureCommand("exit");
+
+ private static final StructureCommand STOP_NOTIFY_SELECTION = new StructureCommand("info notify stop selection jalview");
+
+ private static final StructureCommand STOP_NOTIFY_MODELS = new StructureCommand("info notify stop models jalview");
+
+ private static final StructureCommand GET_SELECTION = new StructureCommand("info selection level residue");
+
private static final StructureCommand SHOW_BACKBONE = new StructureCommand(
"~display all;~ribbon;show @CA|P atoms");
public StructureCommandI closeViewer()
{
// https://www.cgl.ucsf.edu/chimerax/docs/user/commands/exit.html
- return new StructureCommand("exit");
+ return CLOSE_CHIMERAX;
+ }
+
+ @Override
+ public List<StructureCommandI> startNotifications(String uri)
+ {
+ // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/info.html#notify
+ List<StructureCommandI> cmds = new ArrayList<>();
+ cmds.add(new StructureCommand("info notify start models prefix ModelChanged jalview url " + uri));
+ cmds.add(new StructureCommand("info notify start selection jalview prefix SelectionChanged url " + uri));
+ return cmds;
+ }
+
+ @Override
+ public List<StructureCommandI> stopNotifications()
+ {
+ // https://www.cgl.ucsf.edu/chimerax/docs/user/commands/info.html#notify
+ List<StructureCommandI> cmds = new ArrayList<>();
+ cmds.add(STOP_NOTIFY_MODELS);
+ cmds.add(STOP_NOTIFY_SELECTION);
+ return cmds;
+ }
+
+ @Override
+ public StructureCommandI getSelectedResidues()
+ {
+ return GET_SELECTION;
}
}