Revision: 20460
          http://sourceforge.net/p/jmol/code/20460
Author:   hansonr
Date:     2015-04-28 01:31:15 +0000 (Tue, 28 Apr 2015)
Log Message:
-----------
Jmol.___JmolVersion="14.2.13_2015.04.27"

bug fix: with set dragSelected, highlight does not recognize whole molecule

Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/modelset/ModelSet.java
    trunk/Jmol/src/org/jmol/render/HalosRenderer.java
    trunk/Jmol/src/org/jmol/script/ScriptEval.java
    trunk/Jmol/src/org/jmol/scriptext/CmdExt.java
    trunk/Jmol/src/org/jmol/shape/Halos.java
    trunk/Jmol/src/org/jmol/viewer/Jmol.properties
    trunk/Jmol/src/org/jmol/viewer/StateCreator.java
    trunk/Jmol/src/org/jmol/viewer/Viewer.java
    trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/DisplayPanel.java

Modified: trunk/Jmol/src/org/jmol/modelset/ModelSet.java
===================================================================
--- trunk/Jmol/src/org/jmol/modelset/ModelSet.java      2015-04-26 15:55:33 UTC 
(rev 20459)
+++ trunk/Jmol/src/org/jmol/modelset/ModelSet.java      2015-04-28 01:31:15 UTC 
(rev 20460)
@@ -245,17 +245,8 @@
 
   //variables that will be reset when a new frame is instantiated
 
-  private boolean selectionHaloEnabled = false;
   private boolean echoShapeActive = false;
 
-  public void setSelectionHaloEnabled(boolean selectionHaloEnabled) {
-    this.selectionHaloEnabled = selectionHaloEnabled;
-  }
-
-  public boolean getSelectionHaloEnabled() {
-    return selectionHaloEnabled;
-  }
-
   public boolean getEchoStateActive() {
     return echoShapeActive;
   }

Modified: trunk/Jmol/src/org/jmol/render/HalosRenderer.java
===================================================================
--- trunk/Jmol/src/org/jmol/render/HalosRenderer.java   2015-04-26 15:55:33 UTC 
(rev 20459)
+++ trunk/Jmol/src/org/jmol/render/HalosRenderer.java   2015-04-28 01:31:15 UTC 
(rev 20460)
@@ -39,13 +39,16 @@
   @Override
   protected boolean render() {
     Halos halos = (Halos) shape;
-    boolean selectDisplayTrue = vwr.getSelectionHaloEnabled(true);
+    boolean showOnce = vwr.getShowSelectedOnce();
+    boolean selectDisplayTrue = vwr.getSelectionHalosEnabled() || showOnce;
+    System.out.println(showOnce + " testhalos");
     boolean showHiddenSelections = (selectDisplayTrue && 
vwr.getBoolean(T.showhiddenselectionhalos));
     if (halos.mads == null && halos.bsHighlight == null && !selectDisplayTrue)
       return false;
     isAntialiased = g3d.isAntialiased();
     Atom[] atoms = ms.at;
-    BS bsSelected = (selectDisplayTrue ? vwr.bsA() : null);
+    BS bsSelected = (showOnce && vwr.movableBitSet != null ? vwr.movableBitSet 
+        : selectDisplayTrue ? vwr.bsA() : null);
     boolean needTranslucent = false;
     g3d.addRenderer(T.circle);
     for (int i = ms.ac; --i >= 0;) {

Modified: trunk/Jmol/src/org/jmol/script/ScriptEval.java
===================================================================
--- trunk/Jmol/src/org/jmol/script/ScriptEval.java      2015-04-26 15:55:33 UTC 
(rev 20459)
+++ trunk/Jmol/src/org/jmol/script/ScriptEval.java      2015-04-28 01:31:15 UTC 
(rev 20460)
@@ -6606,7 +6606,7 @@
       case T.on:
       case T.off:
         if (!chk)
-          vwr.setSelectionHalos(tok == T.on);
+          vwr.setSelectionHalosEnabled(tok == T.on);
         tok = tokAt(++i);
         if (tok == T.nada)
           return;

Modified: trunk/Jmol/src/org/jmol/scriptext/CmdExt.java
===================================================================
--- trunk/Jmol/src/org/jmol/scriptext/CmdExt.java       2015-04-26 15:55:33 UTC 
(rev 20459)
+++ trunk/Jmol/src/org/jmol/scriptext/CmdExt.java       2015-04-28 01:31:15 UTC 
(rev 20460)
@@ -3899,7 +3899,7 @@
     case T.display:// deprecated
     case T.selectionhalos:
       msg = "selectionHalos "
-          + (vwr.getSelectionHaloEnabled(false) ? "ON" : "OFF");
+          + (vwr.getSelectionHalosEnabled() ? "ON" : "OFF");
       break;
     case T.hetero:
       msg = "set selectHetero " + vwr.getBoolean(T.hetero);

Modified: trunk/Jmol/src/org/jmol/shape/Halos.java
===================================================================
--- trunk/Jmol/src/org/jmol/shape/Halos.java    2015-04-26 15:55:33 UTC (rev 
20459)
+++ trunk/Jmol/src/org/jmol/shape/Halos.java    2015-04-28 01:31:15 UTC (rev 
20460)
@@ -68,7 +68,7 @@
 
   @Override
   public void setModelVisibilityFlags(BS bs) {
-    BS bsSelected = (vwr.getSelectionHaloEnabled(false) ? vwr
+    BS bsSelected = (vwr.getSelectionHalosEnabled() ? vwr
         .bsA() : null);
     for (int i = ac; --i >= 0;) {
       boolean isVisible = bsSelected != null && bsSelected.get(i)

Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2015-04-26 15:55:33 UTC 
(rev 20459)
+++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2015-04-28 01:31:15 UTC 
(rev 20460)
@@ -14,8 +14,12 @@
 
 TODO: remove HTML5 dependency on synchronous file loading (check SCRIPT 
command for problems)
 
-Jmol.___JmolVersion="14.3.13_2015.04.25"
+Jmol.___JmolVersion="14.3.13_2015.04.27"
 
+bug fix: with set dragSelected, highlight does not recognize whole molecule
+
+JmolVersion="14.3.13_2015.04.25"
+
 code: integration of changes made for SwingJS into JSmol code
  
 

Modified: trunk/Jmol/src/org/jmol/viewer/StateCreator.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/StateCreator.java    2015-04-26 15:55:33 UTC 
(rev 20459)
+++ trunk/Jmol/src/org/jmol/viewer/StateCreator.java    2015-04-28 01:31:15 UTC 
(rev 20460)
@@ -744,7 +744,7 @@
     app(commands, "set hideNotSelected " + sm.hideNotSelected);
     commands.append((String) vwr.getShapeProperty(JC.SHAPE_STICKS,
         "selectionState"));
-    if (vwr.getSelectionHaloEnabled(false))
+    if (vwr.getSelectionHalosEnabled())
       app(commands, "SelectionHalos ON");
     if (sfunc != null)
       commands.append("}\n\n");

Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Viewer.java  2015-04-26 15:55:33 UTC (rev 
20459)
+++ trunk/Jmol/src/org/jmol/viewer/Viewer.java  2015-04-28 01:31:15 UTC (rev 
20460)
@@ -693,7 +693,7 @@
    */
 
   public boolean headless;
-
+  
   private void setStartupBooleans() {
     setBooleanProperty("_applet", isApplet);
     setBooleanProperty("_JSpecView".toLowerCase(), false);
@@ -996,6 +996,8 @@
         + deltaY : "");
   }
 
+  public BS movableBitSet;
+
   private BS setMovableBitSet(BS bsSelected, boolean checkMolecule) {
     if (bsSelected == null)
       bsSelected = bsA();
@@ -1003,7 +1005,7 @@
     BSUtil.andNot(bsSelected, getMotionFixedAtoms());
     if (checkMolecule && !g.allowMoveAtoms)
       bsSelected = ms.getMoleculeBitSet(bsSelected);
-    return bsSelected;
+    return movableBitSet = bsSelected;
   }
 
   public void translateXYBy(int xDelta, int yDelta) {
@@ -1341,7 +1343,7 @@
   }
 
   void reportSelection(String msg) {
-    if (ms.getSelectionHaloEnabled())
+    if (selectionHalosEnabled)
       setTainted(true);
     if (isScriptQueued() || g.debugScript)
       scriptStatus(msg);
@@ -2533,6 +2535,7 @@
     movingSelected = false;
     slm.noneSelected = Boolean.FALSE;
     hoverEnabled = true;
+    setSelectionHalosEnabled(false);
     tm.setCenter();
     am.initializePointers(1);
     if (!ms.getMSInfoB("isPyMOL")) {
@@ -4900,7 +4903,7 @@
     if (key.equalsIgnoreCase("isNavigating"))
       return tm.isNavigating();
     if (key.equalsIgnoreCase("showSelections"))
-      return ms.getSelectionHaloEnabled();
+      return selectionHalosEnabled;
     if (g.htUserVariables.containsKey(key)) {
       SV t = g.getUserVariable(key);
       if (t.tok == T.on)
@@ -6188,9 +6191,9 @@
       break;
     case T.allowmoveatoms:
       // 12.1.21
+      //setBooleanProperty("allowRotateSelected", value);
+      //setBooleanProperty("dragSelected", value);
       g.allowMoveAtoms = value;
-      g.allowRotateSelected = value;
-      g.dragSelected = value;
       showSelected = false;
       break;
     case T.showscript:
@@ -6280,7 +6283,7 @@
       g.dotsSelectedOnly = value;
       break;
     case T.selectionhalos:
-      setSelectionHalos(value);
+      setSelectionHalosEnabled(value);
       break;
     case T.selecthydrogen:
       g.rasmolHydrogenSetting = value;
@@ -6637,20 +6640,23 @@
     g.setI("axesMode", mode);
   }
 
-  public void setSelectionHalos(boolean TF) {
-    // display panel can hit this without a frame, apparently
-    if (TF == ms.getSelectionHaloEnabled())
+  private boolean selectionHalosEnabled = false;
+
+  public boolean getSelectionHalosEnabled() {
+    return selectionHalosEnabled;
+  }
+
+  public void setSelectionHalosEnabled(boolean TF) {
+    if (selectionHalosEnabled == TF)
       return;
     g.setB("selectionHalos", TF);
     shm.loadShape(JC.SHAPE_HALOS);
-    // a frame property, so it is automatically reset
-    ms.setSelectionHaloEnabled(TF);
+    selectionHalosEnabled = TF;
   }
 
-  public boolean getSelectionHaloEnabled(boolean isRenderer) {
-    boolean flag = ms.getSelectionHaloEnabled() || isRenderer && showSelected;
-    if (isRenderer)
-      showSelected = false;
+  public boolean getShowSelectedOnce() {
+    boolean flag = showSelected;
+    showSelected = false;
     return flag;
   }
 
@@ -7334,6 +7340,7 @@
       return;
     if (deltaX == Integer.MIN_VALUE) {
       showSelected = true;
+      movableBitSet = setMovableBitSet(null, !asAtoms);
       shm.loadShape(JC.SHAPE_HALOS);
       refresh(6, "moveSelected");
       return;
@@ -7342,6 +7349,7 @@
       if (!showSelected)
         return;
       showSelected = false;
+      movableBitSet = null;
       refresh(6, "moveSelected");
       return;
     }

Modified: trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/DisplayPanel.java
===================================================================
--- trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/DisplayPanel.java 
2015-04-26 15:55:33 UTC (rev 20459)
+++ trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/DisplayPanel.java 
2015-04-28 01:31:15 UTC (rev 20460)
@@ -117,14 +117,14 @@
   void setRotateMode() {
     if (buttonRotate != null && !isRotateMode()) {
       buttonRotate.setSelected(true);
-      vwr.setSelectionHalos(false);
+      vwr.setSelectionHalosEnabled(false);
     }
   }
     
   void setModelkitMode() {
     if (buttonModelkit != null)
       buttonModelkit.setSelected(true);
-    vwr.setSelectionHalos(false);
+    vwr.setSelectionHalosEnabled(false);
   }
 
   @Override
@@ -257,7 +257,7 @@
 
     @Override
     public void actionPerformed(ActionEvent e) {
-      vwr.setSelectionHalos(false);
+      vwr.setSelectionHalosEnabled(false);
       if (statusText != null) {
         status.setStatus(1, statusText);
       } else {

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to