/* SCCS @(#)NslShell.java 1.9---09/01/99--00:19:28 */ /* Copyright: Copyright (c) 1998 University of Southern California Brain Project. This software may be freely copied provided the top level COPYRIGHT file is included with each such copy. Emai:l nsl@java.usc.edu. */ /** @author Nikunj Mehta */ package nslj.src.nsls.struct; import java.awt.*; import java.awt.event.*; public class NslShell extends TextArea { String command; String currentCommand; Executive callback; String prompt = "nsls% "; String prompt2 = "> "; String temp =""; int beginning = prompt.length(); int start; boolean mouseEnable = true; boolean select = false; NslCommandList commands; MouseAdapter ma; SelectEventHandler my; boolean commandExecuted = false; boolean executing = false; public NslShell(Executive e) { super("", 15, 45, SCROLLBARS_VERTICAL_ONLY); setText(prompt); command = ""; currentCommand = ""; start = beginning; callback = e; addKeyListener(new ShellEventHandler()); addMouseListener(ma = new MouseAdapter() { public void mousePressed(MouseEvent e) { if (!mouseEnable) e.consume(); } }); my = new SelectEventHandler(); addFocusListener(new ShellEventHandler()); commands = new NslCommandList(); } int lastPos; public void setSelectFlag(boolean value) { if (value) { /* lastPos = getCaretPosition();*/ removeMouseListener(ma); addMouseListener(my); } else { select(0,0); setCaretPosition(start); removeMouseListener(my); addMouseListener(ma); } select = value; } public void paste(String text) { //System.out.println("Start insertion"); char array[] = text.toCharArray(); int i= 0, len = text.length(); String temp; while (i