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