[Pydev-cvs] org.python.pydev/src_dltk_console/org/python/pydev/dltk/console/ui/internal ScriptCons
Brought to you by:
fabioz
From: Fabio Z. <fa...@us...> - 2008-03-19 19:59:21
|
Update of /cvsroot/pydev/org.python.pydev/src_dltk_console/org/python/pydev/dltk/console/ui/internal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5462/src_dltk_console/org/python/pydev/dltk/console/ui/internal Modified Files: ScriptConsoleViewer.java Log Message: Changes in console Index: ScriptConsoleViewer.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src_dltk_console/org/python/pydev/dltk/console/ui/internal/ScriptConsoleViewer.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ScriptConsoleViewer.java 19 Mar 2008 02:22:30 -0000 1.2 --- ScriptConsoleViewer.java 19 Mar 2008 19:59:21 -0000 1.3 *************** *** 26,36 **** import org.eclipse.swt.widgets.Display; import org.eclipse.ui.console.TextConsoleViewer; - import org.python.pydev.core.docutils.PySelection; import org.python.pydev.dltk.console.ScriptConsoleHistory; import org.python.pydev.dltk.console.ui.IConsoleStyleProvider; import org.python.pydev.dltk.console.ui.IScriptConsoleViewer; import org.python.pydev.dltk.console.ui.ScriptConsole; ! import org.python.pydev.editor.actions.PyBackspace; import org.python.pydev.editor.codecompletion.PyContentAssistant; /** --- 26,37 ---- import org.eclipse.swt.widgets.Display; import org.eclipse.ui.console.TextConsoleViewer; import org.python.pydev.dltk.console.ScriptConsoleHistory; import org.python.pydev.dltk.console.ui.IConsoleStyleProvider; import org.python.pydev.dltk.console.ui.IScriptConsoleViewer; import org.python.pydev.dltk.console.ui.ScriptConsole; ! import org.python.pydev.dltk.console.ui.internal.actions.HandleBackspaceAction; ! import org.python.pydev.dltk.console.ui.internal.actions.HandleDeletePreviousWord; import org.python.pydev.editor.codecompletion.PyContentAssistant; + import org.python.pydev.plugin.PydevPlugin; /** *************** *** 41,46 **** private class ScriptConsoleStyledText extends StyledText { ! public ScriptConsoleStyledText(Composite parent, int style) { super(parent, style); } --- 42,52 ---- private class ScriptConsoleStyledText extends StyledText { ! private HandleBackspaceAction handleBackspaceAction; ! private HandleDeletePreviousWord handleDeletePreviousWord; ! ! public ScriptConsoleStyledText(Composite parent, int style) { super(parent, style); + handleBackspaceAction = new HandleBackspaceAction(); + handleDeletePreviousWord = new HandleDeletePreviousWord(); } *************** *** 48,52 **** if (isCaretOnLastLine()) { try { ! switch (action) { case ST.LINE_UP: history.prev(); --- 54,58 ---- if (isCaretOnLastLine()) { try { ! switch (action) { case ST.LINE_UP: history.prev(); *************** *** 65,69 **** return; } ! handleBackspace(); return; --- 71,75 ---- return; } ! handleBackspaceAction.execute(getDocument(), getCaretPosition(), getCommandLineOffset()); return; *************** *** 75,78 **** --- 81,85 ---- case ST.DELETE_WORD_PREVIOUS: + handleDeletePreviousWord.execute(getDocument(), getCaretPosition(), getCommandLineOffset()); return; } *************** *** 112,126 **** /** - * Handles a backspace in the current document. - */ - public void handleBackspace() { - IDocument doc = this.getDocument(); - PyBackspace pyBackspace = new PyBackspace(); - int caretPosition = this.getCaretPosition(); - pyBackspace.setDontEraseMoreThan(getCommandLineOffset()); - pyBackspace.perform(new PySelection(doc, caretPosition)); - } - - /** * @return the caret position (based on the document) */ --- 119,122 ---- *************** *** 175,185 **** final StyledText styledText = getTextWidget(); - // styledText.setEditable(false); - - // Correct keyboard actions styledText.addFocusListener(new FocusListener() { public void focusGained(FocusEvent e) { setCaretPosition(getDocument().getLength()); styledText.removeFocusListener(this); } --- 171,182 ---- final StyledText styledText = getTextWidget(); styledText.addFocusListener(new FocusListener() { + /** + * When the initial focus is gained, set the caret position to the last position (just after the prompt) + */ public void focusGained(FocusEvent e) { setCaretPosition(getDocument().getLength()); + //just a 1-time listener styledText.removeFocusListener(this); } *************** *** 210,220 **** } if (PyContentAssistant.matchesContentAssistKeybinding(event)) { event.doit = false; return; } } } catch (Exception e) { ! e.printStackTrace(); } } --- 207,236 ---- } + if (event.character == SWT.ESC) { + listener.setCommandLine(""); + return; + } + if (PyContentAssistant.matchesContentAssistKeybinding(event)) { event.doit = false; return; } + }else{ //not printable char + if (isCaretOnLastLine()) { + if(event.keyCode == SWT.PAGE_UP){ + event.doit = false; + System.out.println("Up"); + return; + } + + if(event.keyCode == SWT.PAGE_DOWN){ + event.doit = false; + System.out.println("Down"); + return; + } + } } } catch (Exception e) { ! PydevPlugin.log(e); } } *************** *** 223,229 **** styledText.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { ! if (PyContentAssistant.matchesContentAssistKeybinding(e)) { ! contentHandler.contentAssistRequired(); ! } } --- 239,247 ---- styledText.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { ! if (getCaretPosition() >= getCommandLineOffset()){ ! if (PyContentAssistant.matchesContentAssistKeybinding(e)) { ! contentHandler.contentAssistRequired(); ! } ! } } |