Revision: 21485
          http://sourceforge.net/p/jmol/code/21485
Author:   hansonr
Date:     2017-04-06 12:09:34 +0000 (Thu, 06 Apr 2017)
Log Message:
-----------
Jmol.___JmolVersion="14.11.3" // 2017-04-06

bug fix: partial bond order for orders > 3 not working
 -- for example: connect {_C} {_C} partial 5.3
bug fix: NBO MODEL loading with no file name goes to wrong directory
bug fix: NBO job names need to be cleaned and set if necessary
bug fix: some sort of bad build for DSSR 

Modified Paths:
--------------
    trunk/Jmol/src/org/gennbo/NBOFileHandler.java
    trunk/Jmol/src/org/gennbo/NBOModel.java
    trunk/Jmol/src/org/gennbo/NBORun.java
    trunk/Jmol/src/org/jmol/render/SticksRenderer.java
    trunk/Jmol/src/org/jmol/script/ScriptParam.java
    trunk/Jmol/src/org/jmol/viewer/Jmol.properties

Modified: trunk/Jmol/src/org/gennbo/NBOFileHandler.java
===================================================================
--- trunk/Jmol/src/org/gennbo/NBOFileHandler.java       2017-04-05 17:23:57 UTC 
(rev 21484)
+++ trunk/Jmol/src/org/gennbo/NBOFileHandler.java       2017-04-06 12:09:34 UTC 
(rev 21485)
@@ -356,6 +356,24 @@
     return NBOUtil.newNBOFile(inputFile, filenum);
   }
 
+  /**
+   * Fix a file name to be [A-Z0-9_]+
+   * 
+   * @param name the name to fix, or if empty, the input file name truncated 
to a maximum of 10 digits
+   * @return fixed name replacing not-allowed characters with '_'
+   */
+  public String fixJobName(String name) {
+    if (name == null || (name = name.trim()).length() == 0)
+      name = jobStem;
+    for (int i = name.length(); --i >= 0;) {
+      char ch = name.charAt(i);
+      if (!Character.isLetterOrDigit(ch) && ch != '_')
+        name = name.substring(0, i) + "_" + name.substring(i + 1);
+    }
+    return name;
+  }
+
+
   public String[] update47File(String jobName, String keywords) {
     if (!useExt.equals("47"))
       return null;
@@ -405,5 +423,4 @@
     return true;
   }
 
-
 }

Modified: trunk/Jmol/src/org/gennbo/NBOModel.java
===================================================================
--- trunk/Jmol/src/org/gennbo/NBOModel.java     2017-04-05 17:23:57 UTC (rev 
21484)
+++ trunk/Jmol/src/org/gennbo/NBOModel.java     2017-04-06 12:09:34 UTC (rev 
21485)
@@ -297,14 +297,25 @@
       @Override
       protected boolean doFileBrowsePressed() {
         String folder = tfDir.getText().trim();
-        folder = NBOUtil.getWindowsFullNameFor(folder, tfName.getText(), 
tfExt.getText());
+        String name = tfName.getText();
+        if (name.length() == 0)
+          name = "*";
+        String ext = tfExt.getText();
+        if (ext.length() == 0)
+          ext = "*";
+        folder = NBOUtil.getWindowsFullNameFor(folder, name, ext);
         JFileChooser myChooser = new JFileChooser();
-        if (useExt.contains(";"))
-          myChooser.setFileFilter(new FileNameExtensionFilter(useExt, useExt
+        String filter = useExt;
+        if (name.equals("*") && !ext.equals("*"))
+          filter = ext;
+        if (filter.contains(";"))
+          myChooser.setFileFilter(new FileNameExtensionFilter(filter, filter
               .split(";")));
         else
-          myChooser.setFileFilter(new FileNameExtensionFilter(useExt, useExt));
+          myChooser.setFileFilter(new FileNameExtensionFilter(filter, filter));
         myChooser.setFileHidingEnabled(true);
+        if (folder.endsWith("/"))
+          folder = folder + "*.*";
         if (!folder.equals(""))
           myChooser.setSelectedFile(new File(folder));
         int button = myChooser.showDialog(this, GT._("Select"));

Modified: trunk/Jmol/src/org/gennbo/NBORun.java
===================================================================
--- trunk/Jmol/src/org/gennbo/NBORun.java       2017-04-05 17:23:57 UTC (rev 
21484)
+++ trunk/Jmol/src/org/gennbo/NBORun.java       2017-04-06 12:09:34 UTC (rev 
21485)
@@ -326,7 +326,8 @@
         tfJobName.setText(jobName);
       }
     }
-    String name = tfJobName.getText();
+    String name = tfJobName.getText().trim();
+    name = dialog.inputFileHandler.fixJobName(name);
     dialog.inputFileHandler.update47File(name, keywords);
     addNBOKeylist();
     tfJobName.setText(name);
@@ -694,8 +695,7 @@
       // from another module
       tfJobName.setText(dialog.inputFileHandler.jobStem);
     }
-    String jobName = (tfJobName == null ? dialog.inputFileHandler.jobStem
-        : tfJobName.getText().trim());
+    String jobName = dialog.inputFileHandler.fixJobName(tfJobName == null ? 
null : tfJobName.getText().trim());
 
     // BH Q: Would it be reasonable if the NO option is chosen to put that 
other job name in to the jobStem field, and also copy the .47 file to that? Or 
use that?
     // Or, would it be better to ask this question immediately upon file 
loading so that it doesn't come up, and make it so that

Modified: trunk/Jmol/src/org/jmol/render/SticksRenderer.java
===================================================================
--- trunk/Jmol/src/org/jmol/render/SticksRenderer.java  2017-04-05 17:23:57 UTC 
(rev 21484)
+++ trunk/Jmol/src/org/jmol/render/SticksRenderer.java  2017-04-06 12:09:34 UTC 
(rev 21485)
@@ -308,7 +308,7 @@
         drawBond(mask);
         bondsPerp = !bondsPerp;
         bondOrder = 2;
-        drawBond(mask);
+        drawBond(mask >> 2);
         bondsPerp = !bondsPerp;
         multipleBondSpacing = m;
       }
@@ -325,7 +325,7 @@
         bondsPerp = !bondsPerp;
         bondOrder = 2;
         multipleBondSpacing *= 1.5f;
-        drawBond(mask);
+        drawBond(mask >> 3);
         bondsPerp = !bondsPerp;
         multipleBondSpacing = m;
       }
@@ -342,7 +342,7 @@
         bondsPerp = !bondsPerp;
         bondOrder = 2;
         multipleBondSpacing *= 1.5f;
-        drawBond(mask);
+        drawBond(mask >> 4);
         bondsPerp = !bondsPerp;
         multipleBondSpacing = m;
       }

Modified: trunk/Jmol/src/org/jmol/script/ScriptParam.java
===================================================================
--- trunk/Jmol/src/org/jmol/script/ScriptParam.java     2017-04-05 17:23:57 UTC 
(rev 21484)
+++ trunk/Jmol/src/org/jmol/script/ScriptParam.java     2017-04-06 12:09:34 UTC 
(rev 21485)
@@ -982,7 +982,7 @@
   }
 
   /**
-   * reads standard n.m float-as-integer n*1000000 + m and returns (n % 6) << 5
+   * reads standard n.m float-as-integer n*1000000 + m and returns (n % 7) << 5
    * + (m % 0x1F)
    * 
    * @param bondOrderInteger
@@ -989,7 +989,7 @@
    * @return Bond order partial mask
    */
   public static int getPartialBondOrderFromFloatEncodedInt(int 
bondOrderInteger) {
-    return (((bondOrderInteger / 1000000) % 6) << 5)
+    return (((bondOrderInteger / 1000000) % 7) << 5)
         + ((bondOrderInteger % 1000000) & 0x1F);
   }
 

Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2017-04-05 17:23:57 UTC 
(rev 21484)
+++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2017-04-06 12:09:34 UTC 
(rev 21485)
@@ -49,8 +49,12 @@
 # 10. Run jmol/tools build-release.xml
 #
 
-Jmol.___JmolVersion="14.11.3" // 2017-04-05
+Jmol.___JmolVersion="14.11.3" // 2017-04-06
 
+bug fix: partial bond order for orders > 3 not working
+ -- for example: connect {_C} {_C} partial 5.3
+bug fix: NBO MODEL loading with no file name goes to wrong directory
+bug fix: NBO job names need to be cleaned and set if necessary
 bug fix: some sort of bad build for DSSR 
 
 JmolVersion="14.11.2" // 2017-04-04 

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


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to