if(!textArea.isEditable()) { view.getToolkit().beep(); return; }
        public void actionPerformed(ActionEvent evt)        {                View view = getView(evt);                Buffer buffer = view.getBuffer();                JEditTextArea textArea = view.getTextArea();		// expand current word		if(Abbrevs.getExpandOnInput())			Abbrevs.expandAbbrev(view,false);		int selStart = textArea.getSelectionStart();		int selEnd = textArea.getSelectionEnd();                if(selStart == selEnd			&& buffer.getBooleanProperty("indentOnTab")			&& buffer.indentLine(view,textArea			.getSelectionStartLine(),false))                {				return;                }                if(buffer.getBooleanProperty("noTabs"))                {			Element map = buffer.getDefaultRootElement();			Element lineElement = map.getElement(textArea.getSelectionStartLine());			try			{				String line = buffer.getText(lineElement					.getStartOffset(),selStart -					lineElement.getStartOffset());				textArea.setSelectedText(createSoftTab(line,					buffer.getTabSize()));			}			catch(BadLocationException bl)			{				Log.log(Log.ERROR,this,bl);			}                }                else                        textArea.setSelectedText("\t");        }