From: <ha...@us...> - 2010-09-13 21:21:04
|
Revision: 14289 http://jmol.svn.sourceforge.net/jmol/?rev=14289&view=rev Author: hansonr Date: 2010-09-13 21:20:55 +0000 (Mon, 13 Sep 2010) Log Message: ----------- version=12.1.11_dev # code: streamlined AppConsole and AppletConsole # new feature: AppletConsole allows embedding in larger applications Modified Paths: -------------- trunk/Jmol/examples/basic/org/jmol/Integration.java trunk/Jmol/src/org/jmol/api/JmolAppConsoleInterface.java trunk/Jmol/src/org/jmol/api/JmolViewer.java trunk/Jmol/src/org/jmol/applet/AppletConsole.java trunk/Jmol/src/org/jmol/console/JmolConsole.java trunk/Jmol/src/org/jmol/console/ScriptEditor.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/Viewer.java trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/AppConsole.java trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java Removed Paths: ------------- trunk/Jmol/src/org/jmol/console/JmolConsoleDialog.java Modified: trunk/Jmol/examples/basic/org/jmol/Integration.java =================================================================== --- trunk/Jmol/examples/basic/org/jmol/Integration.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/examples/basic/org/jmol/Integration.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -78,7 +78,7 @@ JPanel panel2 = new JPanel(); panel2.setLayout(new BorderLayout()); panel2.setPreferredSize(new Dimension(400, 300)); - AppConsole console = new AppConsole(jmolPanel.viewer, null, panel2, + AppConsole console = new AppConsole(jmolPanel.viewer, panel2, "History State Clear"); // You can use a different JmolStatusListener or JmolCallbackListener interface Modified: trunk/Jmol/src/org/jmol/api/JmolAppConsoleInterface.java =================================================================== --- trunk/Jmol/src/org/jmol/api/JmolAppConsoleInterface.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/jmol/api/JmolAppConsoleInterface.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -1,29 +1,19 @@ package org.jmol.api; -import java.awt.Component; - - -import org.jmol.viewer.Viewer; - public interface JmolAppConsoleInterface { - JmolScriptEditorInterface getScriptEditor(); + public void setVisible(boolean b); - JmolAppConsoleInterface getAppConsole(Viewer viewer, Component display); + public void sendConsoleEcho(String strEcho); - String getText(); + public void sendConsoleMessage(String strInfo); - Object getMyMenuBar(); + public JmolScriptEditorInterface getScriptEditor(); - void setVisible(boolean b); + public JmolAppConsoleInterface getAppConsole(JmolViewer viewer); - void sendConsoleEcho(String strEcho); + public void zap(); - void sendConsoleMessage(String strInfo); + public void dispose(); - void zap(); - - void dispose(); - - } Modified: trunk/Jmol/src/org/jmol/api/JmolViewer.java =================================================================== --- trunk/Jmol/src/org/jmol/api/JmolViewer.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/jmol/api/JmolViewer.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -106,7 +106,6 @@ * * @param console the console to use * - * @param externalPanel */ public void setConsole(JmolAppConsoleInterface console) { getProperty("DATA_API", "getAppConsole", console); Modified: trunk/Jmol/src/org/jmol/applet/AppletConsole.java =================================================================== --- trunk/Jmol/src/org/jmol/applet/AppletConsole.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/jmol/applet/AppletConsole.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -23,71 +23,100 @@ */ package org.jmol.applet; -import org.jmol.api.*; +import org.jmol.api.JmolAppConsoleInterface; +import org.jmol.api.JmolViewer; import org.jmol.console.JmolConsole; import org.jmol.console.KeyJMenu; import org.jmol.console.KeyJMenuItem; -import org.jmol.i18n.*; +import org.jmol.i18n.GT; -import java.awt.*; -import java.awt.event.*; +import java.awt.Component; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.awt.event.WindowEvent; import java.util.Hashtable; import java.util.Map; -import javax.swing.*; -import javax.swing.text.*; +import javax.swing.AbstractButton; +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JScrollPane; +import javax.swing.JSplitPane; +import javax.swing.JTextArea; +import javax.swing.JTextPane; +import javax.swing.KeyStroke; +import javax.swing.SwingConstants; +import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; +import javax.swing.text.Document; +import javax.swing.text.Keymap; +import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.StyleConstants; import org.jmol.viewer.JmolConstants; -import org.jmol.viewer.Viewer; public class AppletConsole extends JmolConsole implements JmolAppConsoleInterface { - - final JTextArea input = new ControlEnterTextArea(); - - private final JTextPane output = new JTextPane(); - - private final Document outputDocument = output.getDocument(); - - private JFrame jf; - private final SimpleAttributeSet attributesCommand = new SimpleAttributeSet(); - - //public void finalize() { - // System.out.println("Console " + this + " finalize"); - //} - - private JMenuBar menubar; // requiring Swing here for now - private JButton clearOutButton, clearInButton, loadButton; - - protected Map<String, AbstractButton> menuMap = new Hashtable<String, AbstractButton>(); - - static { - System.out.println("AppletConsole initialized"); + /** + * general entry point + * + * @param viewer + * @param display parent JFrame or DisplayPanel of viewer + * @param externalContainer a JFrame or JPanel or null + * + */ + public AppletConsole(JmolViewer viewer, Container externalContainer) { + this.viewer = viewer; + Component display = viewer.getDisplay(); + this.viewerFrame = (display instanceof JFrame ? (JFrame) display : null); + if (externalContainer == null) { + JFrame jf = new JFrame(); + jf.setSize(600, 400); + externalContainer = jf; + jf.setTitle("testing123"); + } + this.externalContainer = externalContainer; + set(); + output(defaultMessage); } - - public Object getMyMenuBar() { - return menubar; - } - - public void dispose() { - jf.dispose(); - jcd.dispose(); - } public AppletConsole() { + // required for Class.forName } - public JmolAppConsoleInterface getAppConsole(Viewer viewer, Component display) { - return new AppletConsole(viewer, display); + /** + * don't delete! used by Viewer after it gets the class by name + * + * @param viewer + * @param display + * @return AppletConsole + */ + public JmolAppConsoleInterface getAppConsole(JmolViewer viewer) { + return new AppletConsole(viewer, null); } - private AppletConsole(Viewer viewer, Component display) { - this.display = display; - set(viewer); - output(defaultMessage); - } + //public void finalize() { + // System.out.println("Console " + this + " finalize"); + //} + protected Map<String, AbstractButton> menuMap = new Hashtable<String, AbstractButton>(); + + protected final JTextArea input = new ControlEnterTextArea(); + private JButton clearOutButton, clearInButton, loadButton; + private final JTextPane output = new JTextPane(); + private final Document outputDocument = output.getDocument(); + private final SimpleAttributeSet attributesCommand = new SimpleAttributeSet(); private String defaultMessage; + @Override public void sendConsoleEcho(String strEcho) { @@ -103,7 +132,7 @@ @Override public void sendConsoleMessage(String strInfo) { // null here indicates "clear console" - if (strInfo != null && getText().startsWith(defaultMessage)) + if (strInfo != null && output.getText().startsWith(defaultMessage)) output(null); output(strInfo); } @@ -113,11 +142,8 @@ private JLabel label1; - private void set(JmolViewer viewer) { + private void set() { //Logger.debug("Console constructor"); - this.viewer = viewer; - jf = new JFrame(); - jf.setSize(600, 400); setLabels(); setupInput(); setupOutput(); @@ -127,9 +153,8 @@ JScrollPane jscrollOutput = new JScrollPane(output); jscrollOutput.setMinimumSize(new Dimension(2, 100)); - Container c = jf.getContentPane(); - menubar = createMenubar(); - jf.setJMenuBar(menubar); + Container c = (externalContainer instanceof JFrame ? ((JFrame) externalContainer) + .getContentPane() : externalContainer); c.setLayout(new BoxLayout(c, BoxLayout.Y_AXIS)); //System.out.println("Console " + this + " set(2)"); @@ -155,8 +180,12 @@ c2.add(Box.createGlue()); c.add(c2); label1.setAlignmentX(Component.CENTER_ALIGNMENT); - c.add(label1); - jf.addWindowListener(this); + c.add(label1); + if (externalContainer instanceof JFrame) { + JFrame jf = (JFrame) externalContainer; + jf.setJMenuBar(createMenubar()); + jf.addWindowListener(this); + } //System.out.println("Console " + this + " set(3)"); @@ -184,7 +213,7 @@ if (label1 == null) label1 = new JLabel("", SwingConstants.CENTER); label1.setText(getLabel("label1")); - jf.setTitle(getTitleText()); + setTitle(); defaultMessage = getLabel("default"); KeyJMenuItem.setLabels(menuMap, labels); GT.setDoTranslate(doTranslate); @@ -277,8 +306,7 @@ @Override public void setVisible(boolean visible) { - //System.out.println("AppletConsole.setVisible(" + visible + ") " + jf); - jf.setVisible(visible); + super.setVisible(visible); input.requestFocus(); } @@ -301,11 +329,6 @@ output.setCaretPosition(outputDocument.getLength()); } - public String getText() { - //System.out.println("AppletConsole.getText()"); - return output.getText(); - } - @Override protected void clearContent(String text) { //System.out.println("AppletConsole.clearContent()"); @@ -419,9 +442,7 @@ /// Graphical User Interface for applet /// @Override - protected Map<String, String> setupLabels() { - if (labels == null) - labels = new Hashtable<String, String>(); + protected void setupLabels() { labels.put("help", GT._("&Help")); labels.put("search", GT._("&Search...")); labels.put("commands", GT._("&Commands")); @@ -437,12 +458,8 @@ labels.put("Load", GT._("Load")); labels.put("label1", GT ._("press CTRL-ENTER for new line or paste model data and press Load")); - labels - .put( - "default", - GT - ._("Messages will appear here. Enter commands in the box below. Click the console Help menu item for on-line help, which will appear in a new browser window.")); - return labels; + labels.put("default", + GT._("Messages will appear here. Enter commands in the box below. Click the console Help menu item for on-line help, which will appear in a new browser window.")); } } Modified: trunk/Jmol/src/org/jmol/console/JmolConsole.java =================================================================== --- trunk/Jmol/src/org/jmol/console/JmolConsole.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/jmol/console/JmolConsole.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -24,7 +24,9 @@ package org.jmol.console; -import org.jmol.api.*; +import org.jmol.api.JmolCallbackListener; +import org.jmol.api.JmolScriptEditorInterface; +import org.jmol.api.JmolViewer; import org.jmol.i18n.GT; import org.jmol.script.ScriptCompiler; import org.jmol.script.Token; @@ -34,44 +36,61 @@ import org.jmol.viewer.JmolConstants; import org.jmol.viewer.Viewer; -import java.awt.Component; -import java.awt.event.*; +import java.awt.Container; +import java.awt.Window; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; +import java.util.Hashtable; import java.util.List; import java.util.Map; -import javax.swing.*; +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JFrame; public abstract class JmolConsole implements JmolCallbackListener, ActionListener, WindowListener { public JmolViewer viewer; - protected Component display; - public JmolConsoleDialog jcd; + protected JFrame viewerFrame; + protected Container externalContainer; + protected JButton editButton, runButton, historyButton, stateButton; protected Map<String, String> labels; - abstract protected Map<String, String> setupLabels(); + abstract protected void setupLabels(); + public void dispose() { + if (externalContainer instanceof Window) + ((Window) externalContainer).dispose(); + else + externalContainer.setVisible(false); + } protected String getLabel(String key) { if (labels == null) { - labels = setupLabels(); + labels = new Hashtable<String, String>(); + labels.put("title", GT._("Jmol Script Console") + " " + Viewer.getJmolVersion()); + setupLabels(); } return labels.get(key); } + protected void setTitle() { + if (externalContainer instanceof JFrame) + ((JFrame) this.externalContainer).setTitle(getLabel("title")); + else if (externalContainer instanceof JDialog) + ((JDialog) externalContainer).setTitle(getLabel("title")); + } + public void setVisible(boolean isVisible) { - if (jcd != null) - jcd.setVisible(isVisible); + externalContainer.setVisible(isVisible); } - static { - System.out.println("JmolConsole is initializing"); - } - // common: - protected ScriptEditor scriptEditor; void setScriptEditor(ScriptEditor se) { @@ -80,37 +99,19 @@ public JmolScriptEditorInterface getScriptEditor() { return (scriptEditor == null ? - (scriptEditor = new ScriptEditor(viewer, display instanceof JFrame ? (JFrame) display : null, this)) - : scriptEditor); + (scriptEditor = new ScriptEditor(viewer, viewerFrame, this)) : scriptEditor); } - JmolViewer getViewer() { - return viewer; - } - //public void finalize() { // System.out.println("Console " + this + " finalize"); //} - - public JmolConsole() { - } - public JmolConsole(JmolViewer viewer, JFrame frame, boolean createDialog) { - jcd = (createDialog ? new JmolConsoleDialog(this, frame) : null); - this.viewer = viewer; - display = frame; - } - abstract protected void clearContent(String text); abstract protected void execute(String strCommand); public int nTab = 0; private String incompleteCmd; - protected static String getTitleText() { - return GT._("Jmol Script Console") + " " + Viewer.getJmolVersion(); - } - protected String completeCommand(String thisCmd) { if (thisCmd.length() == 0) return null; @@ -311,6 +312,7 @@ // application-dependent option } + /////////////// Keyed menu items for on-the-fly language switching } Deleted: trunk/Jmol/src/org/jmol/console/JmolConsoleDialog.java =================================================================== --- trunk/Jmol/src/org/jmol/console/JmolConsoleDialog.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/jmol/console/JmolConsoleDialog.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -1,50 +0,0 @@ -/* $RCSfile$ - * $Author: hansonr $ - * $Date: 2009-06-25 02:42:30 -0500 (Thu, 25 Jun 2009) $ - * $Revision: 11113 $ - * - * Copyright (C) 2004-2005 The Jmol Development Team - * - * Contact: jmo...@li..., www.jmol.org - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - */ -package org.jmol.console; - - -import javax.swing.JDialog; -import javax.swing.JFrame; - -import org.jmol.i18n.GT; -import org.jmol.viewer.Viewer; - -public class JmolConsoleDialog extends JDialog { - - JmolConsole jmolConsole; - - public JmolConsoleDialog() { - } - - public JmolConsoleDialog(JmolConsole jmolConsole, JFrame frame) { - super(frame, getTitleText(), false); - this.jmolConsole = jmolConsole; - } - - protected static String getTitleText() { - return GT._("Jmol Script Console") + " " + Viewer.getJmolVersion(); - } - - -} Modified: trunk/Jmol/src/org/jmol/console/ScriptEditor.java =================================================================== --- trunk/Jmol/src/org/jmol/console/ScriptEditor.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/jmol/console/ScriptEditor.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -197,10 +197,6 @@ editor.grabFocus(); } - public Object getMyMenuBar() { - return null; - } - public String getText() { return editor.getText(); } Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2010-09-13 21:20:55 UTC (rev 14289) @@ -3,6 +3,9 @@ version=12.1.11_dev +# code: streamlined AppConsole and AppletConsole +# new feature: AppletConsole allows embedding in larger applications +# TODO: apply on-the-fly language changes in applet to application # code: GuiMap/JmolConsole AbstractButton methods merged # bug fix: applet console does not display startup message # bug fix: console buttons do not change with new language Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -7421,7 +7421,7 @@ .getOptionInterface("applet.AppletConsole") : (JmolAppConsoleInterface) Interface .getApplicationInterface("jmolpanel.AppConsole")) - .getAppConsole(this, display); + .getAppConsole(this); if (appConsole == null) try { Thread.currentThread().wait(100); Modified: trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/AppConsole.java =================================================================== --- trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/AppConsole.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/AppConsole.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -32,12 +32,12 @@ import java.awt.event.ActionEvent; import java.net.URL; import java.util.HashMap; -import java.util.Hashtable; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.swing.JButton; +import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.JFrame; import javax.swing.JSplitPane; @@ -59,22 +59,40 @@ import org.jmol.util.Parser; import org.jmol.util.TextFormat; import org.jmol.viewer.JmolConstants; -import org.jmol.viewer.Viewer; public class AppConsole extends JmolConsole implements JmolAppConsoleInterface, EnterListener { - protected static final String ALL_BUTTONS = "Editor Check Top Step Variables Clear History State Help Close UndoRedo"; - protected ConsoleTextPane console; - private JButton varButton, haltButton, closeButton, clearButton, - helpButton, undoButton, redoButton, checkButton, topButton; - protected JButton stepButton; + protected static final String ALL_BUTTONS = "Editor Variables Clear History State UndoRedo Close Help"; - /* - * methods sendConsoleEcho, sendConsoleMessage(strStatus), notifyScriptStart(), notifyScriptTermination() - * are public in case developers want to use appConsole separate from the Jmol application. + // note: "Check" "Top" "Step" not included in 12.1 + + /** + * general entry point * + * @param viewer + * @param display parent from of viewer + * @param externalContainer a JFrame or JPanel or JDialog + * @param enabledButtons */ + public AppConsole(JmolViewer viewer, + Container externalContainer, String enabledButtons) { + this.viewer = viewer; + Component display = viewer.getDisplay(); + viewerFrame = (display instanceof DisplayPanel ? ((DisplayPanel) display) + .getFrame() : display instanceof JFrame ? (JFrame) display : null); + if (externalContainer == null) { + this.externalContainer = jcd = new JDialog(viewerFrame, null, false); + jcd.setSize(645, 400); + layoutWindow(jcd.getContentPane(), enabledButtons); + jcd.setLocationRelativeTo(viewerFrame); + } else { + this.externalContainer = externalContainer; + layoutWindow(externalContainer, enabledButtons); + viewer.setConsole(this); + } + setTitle(); + } public AppConsole() { // required for Class.forName @@ -83,35 +101,80 @@ // .getApplicationInterface("jmolpanel.AppConsole")).getAppConsole(viewer, display); } - public JmolAppConsoleInterface getAppConsole(Viewer viewer, - Component display) { - return new AppConsole(viewer, display instanceof JFrame ? (JFrame) display - : display instanceof DisplayPanel ? ((DisplayPanel) display).getFrame() - : null, null, null); + /** + * don't delete! used by Viewer after it gets the class by name + * + * @param viewer + * @param display + * @return AppConsole or AppletConsole + */ + public JmolAppConsoleInterface getAppConsole(JmolViewer viewer) { + // used after reflection gets the class + return new AppConsole(viewer, null, null); } - public void dispose() { - if (jcd != null) - jcd.dispose(); + + JDialog jcd; + + protected ConsoleTextPane console; + protected JButton stepButton; + protected Map<String, JButton> buttons = new HashMap<String, JButton>(); + + private JButton varButton, haltButton, closeButton, clearButton; + private JButton helpButton, undoButton, redoButton, checkButton, topButton; + private JPanel buttonPanel = new JPanel(); + + /* + * methods sendConsoleEcho and sendConsoleMessage(strStatus) + * are public in case developers want to use appConsole separate from the Jmol application. + * + */ + + + @Override + public void sendConsoleEcho(String strEcho) { + if (strEcho == null) { + // new language + labels = null; + setLabels(); + } else { + console.outputEcho(strEcho); + } + setError(false); } - public AppConsole(JmolViewer viewer, JFrame frame, - Container externalPanel, String enableButtons) { - super(viewer, frame, (externalPanel == null)); - layoutWindow(externalPanel == null ? jcd.getContentPane() : externalPanel, - enableButtons); - if (jcd == null) { - viewer.setConsole(this); + @Override + public void sendConsoleMessage(String strStatus) { + if (strStatus == null) { + console.clearContent(null); + console.outputStatus(""); + } else if (strStatus.indexOf("ERROR:") >= 0) { + console.outputError(strStatus); + setError(true); } else { - jcd.setSize(645, 400); - jcd.setLocationRelativeTo(frame); + console.outputStatus(strStatus); + isError = false; } } - JPanel buttonPanel = new JPanel(); - protected Map<String, JButton> buttons = new HashMap<String, JButton>(); - - JButton setButton(JButton b, String s) { + @Override + protected void setupLabels() { + labels.put("Check", GT._("Check")); + labels.put("Clear", GT._("Clear")); + labels.put("Close", GT._("Close")); + labels.put("Halt", GT._("Halt")); + labels.put("Help", GT._("Help")); + labels.put("Editor", GT._("Editor")); + labels.put("History", GT._("History")); + labels.put("State", GT._("State")); + labels.put("Step", GT._("Step")); + labels.put("Top", GT._("Top")); + labels.put("Undo", GT._("Undo")); + labels.put("Redo", GT._("Redo")); + labels.put("Variables", GT._("Variables")); + } + + private JButton setButton(JButton b, String s) { if (b == null) { b = new JButton(getLabel(s)); b.addActionListener(this); @@ -121,14 +184,14 @@ return b; } - void layoutWindow(Container container, String enableButtons) { + private void layoutWindow(Container container, String enabledButtons) { console = new ConsoleTextPane(this); console.setPrompt(); console.setDragEnabled(true); - if (enableButtons == null) - enableButtons = ALL_BUTTONS; + if (enabledButtons == null) + enabledButtons = ALL_BUTTONS; JScrollPane consolePane = new JScrollPane(console); - String[] tokens = Parser.getTokens(enableButtons); + String[] tokens = Parser.getTokens(enabledButtons); for (int i = 0; i < tokens.length; i++) enableButton(tokens[i]); setEnabled(undoButton, false); @@ -156,26 +219,6 @@ } - @Override - protected Map<String, String> setupLabels() { - if (labels == null) - labels = new Hashtable<String, String>(); - labels.put("Check", GT._("Check")); - labels.put("Clear", GT._("Clear")); - labels.put("Close", GT._("Close")); - labels.put("Halt", GT._("Halt")); - labels.put("Help", GT._("Help")); - labels.put("Editor", GT._("Editor")); - labels.put("History", GT._("History")); - labels.put("State", GT._("State")); - labels.put("Step", GT._("Step")); - labels.put("Top", GT._("Top")); - labels.put("Undo", GT._("Undo")); - labels.put("Redo", GT._("Redo")); - labels.put("Variables", GT._("Variables")); - return labels; - } - private void enableButton(String name) { switch(( "Check " + @@ -241,38 +284,12 @@ GT.setDoTranslate(doTranslate); } - @Override - public void sendConsoleEcho(String strEcho) { - if (strEcho == null) { - // new language - labels = null; - setLabels(); - } else { - console.outputEcho(strEcho); - } - setError(false); - } - boolean isError = false; private void setError(boolean TF) { isError = TF; } - @Override - public void sendConsoleMessage(String strStatus) { - if (strStatus == null) { - console.clearContent(null); - console.outputStatus(""); - } else if (strStatus.indexOf("ERROR:") >= 0) { - console.outputError(strStatus); - setError(true); - } else { - console.outputStatus(strStatus); - isError = false; - } - } - public void enterPressed() { executeCommandAsThread(null); } @@ -734,10 +751,6 @@ return super.completeCommand(thisCmd); } - public Object getMyMenuBar() { - return null; - } - public String getText() { return console.getText(); } Modified: trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java =================================================================== --- trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java 2010-09-13 18:37:18 UTC (rev 14288) +++ trunk/Jmol/src/org/openscience/jmol/app/jmolpanel/JmolPanel.java 2010-09-13 21:20:55 UTC (rev 14289) @@ -247,7 +247,7 @@ //historyFile.repositionWindow("Jmol", getFrame(), 300, 300); AppConsole console = (AppConsole) viewer.getProperty("DATA_API","getAppConsole", null); - if (console != null) + if (console != null && console.jcd != null) historyFile.repositionWindow(SCRIPT_WINDOW_NAME, console.jcd, 200, 100); // this just causes problems //c = (Component) viewer.getProperty("DATA_API","getScriptEditor", null); @@ -437,7 +437,7 @@ //historyFile.addWindowInfo(CONSOLE_WINDOW_NAME, consoleframe); } AppConsole console = (AppConsole) viewer.getProperty("DATA_API","getAppConsole", null); - if (console != null) + if (console != null && console.jcd != null) historyFile.addWindowInfo(SCRIPT_WINDOW_NAME, console.jcd, null); Component c = (Component) viewer.getProperty("DATA_API","getScriptEditor", null); if (c != null) @@ -1181,7 +1181,7 @@ public void actionPerformed(ActionEvent e) { AppConsole console = (AppConsole) viewer.getProperty("DATA_API","getAppConsole", null); if (console != null) - console.jcd.setVisible(true); + console.setVisible(true); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |