Revision: 20530
          http://sourceforge.net/p/jmol/code/20530
Author:   hansonr
Date:     2015-05-29 03:35:34 +0000 (Fri, 29 May 2015)
Log Message:
-----------
enabling menu items

Modified Paths:
--------------
    branches/nbo/Jmol/src/org/jmol/adapter/readers/quantum/GenNBOReader.java
    branches/nbo/Jmol/src/org/jmol/viewer/PropertyManager.java
    branches/nbo/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java
    branches/nbo/Jmol/src/org/openscience/jmol/app/nbo/NBODialog.java
    branches/nbo/Jmol/src/org/openscience/jmol/app/nbo/NBOService.java

Modified: 
branches/nbo/Jmol/src/org/jmol/adapter/readers/quantum/GenNBOReader.java
===================================================================
--- branches/nbo/Jmol/src/org/jmol/adapter/readers/quantum/GenNBOReader.java    
2015-05-28 11:52:16 UTC (rev 20529)
+++ branches/nbo/Jmol/src/org/jmol/adapter/readers/quantum/GenNBOReader.java    
2015-05-29 03:35:34 UTC (rev 20530)
@@ -434,6 +434,7 @@
     rd(); // ----------
     asc.newAtomSet();
     asc.setAtomSetName(nboType + "s: " + line1.trim());
+    asc.setCurrentModelInfo("nboType", nboType);
     for (int i = 0; i < ac; i++) {
       tokens = PT.getTokens(rd());
       int z = parseIntStr(tokens[0]);

Modified: branches/nbo/Jmol/src/org/jmol/viewer/PropertyManager.java
===================================================================
--- branches/nbo/Jmol/src/org/jmol/viewer/PropertyManager.java  2015-05-28 
11:52:16 UTC (rev 20529)
+++ branches/nbo/Jmol/src/org/jmol/viewer/PropertyManager.java  2015-05-29 
03:35:34 UTC (rev 20530)
@@ -922,10 +922,13 @@
                     : type.equals("pdb") ? "{selected and not 
hetero}.label(\"ATOM  %5i %-4a%1A%3.3n %1c%4R%1E   %8.3x%8.3y%8.3z%6.2Q%6.2b    
      %2e  \").lines"
                         + "+{selected and hetero}.label(\"HETATM%5i 
%-4a%1A%3.3n %1c%4R%1E   %8.3x%8.3y%8.3z%6.2Q%6.2b          %2e  \").lines"
                         : type.equals("xyz") ? "%-2e %10.5x %10.5y %10.5z"
+                            : type.equals("cfi") ? "print 'from 
Jmol\n'+{selected}.count + ' ' + {selected}.bonds.count + '\n'   + 
{selected}.format('%10.0[atomno] %10.0[elemno] %10.4[xyz]')  + 
{selected}.bonds.format('%i1 %i2')  + {selected}.bonds.format('%ORDER')"
                             : null);
     if (exp == null)
       return getModelExtract(vwr.getAtomBitSet(atomExpression), false, false,
           type.toUpperCase(), allTrajectories);
+    if (exp.startsWith("print"))
+      return vwr.runScript(exp);
     if (exp.indexOf("label") < 0)
       exp = atomExpression + ".label(\"" + exp + "\").lines";
     else if (!atomExpression.equals("selected"))

Modified: 
branches/nbo/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java
===================================================================
--- branches/nbo/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java     
2015-05-28 11:52:16 UTC (rev 20529)
+++ branches/nbo/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java     
2015-05-29 03:35:34 UTC (rev 20530)
@@ -200,7 +200,6 @@
   private static final String copyScriptActionProperty = "copyScript";
   private static final String surfaceToolActionProperty = "surfaceTool";  
private static final String pasteClipboardActionProperty = "pasteClipboard";
   private static final String gaussianAction = "gauss";
-  private static final String nboAction = "nbo";
   private static final String resizeAction = "resize";
   //private static final String saveasAction = "saveas";
   //private static final String vibAction = "vibrate";
@@ -949,6 +948,8 @@
           String menuKey = ((JmolAbstractButton) e.getSource()).getKey();
           if (menuKey.equals("display") || menuKey.equals("tools"))
             setMenuState();
+          if (menuKey.equals("nboMenu"))
+            setMenuNBO((JMenu) e.getSource());
         }
         @Override
         public void menuDeselected(MenuEvent e) {
@@ -1006,7 +1007,7 @@
       new RecentFilesAction(), povrayAction, writeAction, toWebAction, 
       new ScriptWindowAction(), new ScriptEditorAction(),
       new AtomSetChooserAction(), viewMeasurementTableAction, 
-      new GaussianAction(), new NBOAction(), new ResizeAction(), 
surfaceToolAction }
+      new GaussianAction(), new ResizeAction(), surfaceToolAction }
   ;
 
   class CloseAction extends AbstractAction {
@@ -1088,17 +1089,6 @@
     }
   }
     
-  class NBOAction extends AbstractAction {
-    public NBOAction() {
-      super(nboAction);
-    }
-    
-    @Override
-    public void actionPerformed(ActionEvent e) {
-      startNBO(null);
-    }
-  }
-    
   class NewwinAction extends AbstractAction {
 
     NewwinAction() {
@@ -1118,6 +1108,24 @@
     newFrame.setVisible(true);
   }
   
+  void setMenuNBO(JMenu item) {
+    Component[] nodes = item.getMenuComponents();
+    for (int i = nodes.length; --i >= 0;) {
+      String text = ((JMenuItem) nodes[i]).getText();
+      nodes[i].setEnabled(text.equals("Config"));
+    }
+    getNBOService();
+    if (!nboService.isOK())
+      return;
+    if (nboDialog == null)
+      nboDialog = new NBODialog(frame, vwr, nboService);
+    // individual nodes here
+    nodes[1].setEnabled(true); // model
+    nodes[2].setEnabled(vwr.ms.at.length > 0); // run
+    boolean viewOK = (vwr.ms.getInfo(vwr.am.cmi, "nboType") != null);
+    nodes[3].setEnabled(viewOK); // view    
+    nodes[4].setEnabled(viewOK); // search
+  }
   void startNBO(String type) {
     getNBOService();
     if (nboDialog == null)

Modified: branches/nbo/Jmol/src/org/openscience/jmol/app/nbo/NBODialog.java
===================================================================
--- branches/nbo/Jmol/src/org/openscience/jmol/app/nbo/NBODialog.java   
2015-05-28 11:52:16 UTC (rev 20529)
+++ branches/nbo/Jmol/src/org/openscience/jmol/app/nbo/NBODialog.java   
2015-05-29 03:35:34 UTC (rev 20530)
@@ -136,7 +136,7 @@
    
     pack();
     centerDialog();
-    setVisible(true);
+    //setVisible(true);
     if (haveService)
       connectPressed();
   }
@@ -261,11 +261,17 @@
   }
   protected void rawCmd() {
     //nboReport(null);
+    String cmd = nboInput.getText();
+    if (cmd.startsWith("!")) {
+      cmd = cmd.substring(1);
+      //vwr.script(cmd); // asynchronous script (uses ScriptQueue)
+      System.out.println(vwr.runScript(cmd)); // synchronous - returns "print" 
info
+      return;
+    }
     Map<String, Object> info = new Hashtable<String, Object>();
     info.put("mode", Integer.valueOf(NBOService.RAW));
     info.put("sync", Boolean.FALSE);
     info.put("action", "cmd");
-    String cmd = nboInput.getText();
     nboInput.setText("");
     info.put("value", cmd);
     nboReport(">> " + cmd);
@@ -349,20 +355,22 @@
   }
 
   public synchronized void nboReport(String s) {
+    if (nboOutput == null)
+      return;
     try {
       nboOutput.setText(s == null ? "" : nboOutput.getText() + s + "\n");
     } catch (Exception e) {
-      System.out.println(e);
+      System.out.println(e.getMessage());
     }
     try {
       SwingUtilities.invokeLater(new Runnable(){
         @Override
         public void run() {
-          pack();
+          pack();          
           
editPane2.getVerticalScrollBar().setValue(editPane2.getVerticalScrollBar().getMaximum());
         }});
     } catch (Exception e) {
-      System.out.println(e);
+      System.out.println(e.getMessage());
     }
   }
   

Modified: branches/nbo/Jmol/src/org/openscience/jmol/app/nbo/NBOService.java
===================================================================
--- branches/nbo/Jmol/src/org/openscience/jmol/app/nbo/NBOService.java  
2015-05-28 11:52:16 UTC (rev 20529)
+++ branches/nbo/Jmol/src/org/openscience/jmol/app/nbo/NBOService.java  
2015-05-29 03:35:34 UTC (rev 20530)
@@ -309,5 +309,9 @@
     //props.setProperty("nboWorkingPath", workingPath);
     JmolPanel.historyFile.addProperties(props);
   }
+
+  public boolean isOK() {
+    return (nboServer != null);
+  }
   
 }

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


------------------------------------------------------------------------------
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to