(int code, char ch, int modifiers )
| 131 | } |
| 132 | |
| 133 | public void type(int code, char ch, int modifiers ) { |
| 134 | switch ( code ) { |
| 135 | case ( KeyEvent.VK_BACK_SPACE ): |
| 136 | if (line.length() > 0) { |
| 137 | line.setLength( line.length() - 1 ); |
| 138 | replaceRange( "", textLength-1, textLength ); |
| 139 | textLength--; |
| 140 | } |
| 141 | break; |
| 142 | case ( KeyEvent.VK_ENTER ): |
| 143 | enter(); |
| 144 | break; |
| 145 | case ( KeyEvent.VK_U ): |
| 146 | if ( (modifiers & InputEvent.CTRL_MASK) > 0 ) { |
| 147 | int len = line.length(); |
| 148 | replaceRange( "", textLength-len, textLength ); |
| 149 | line.setLength( 0 ); |
| 150 | histLine = 0; |
| 151 | textLength = getText().length(); |
| 152 | } else |
| 153 | doChar( ch ); |
| 154 | break; |
| 155 | case ( KeyEvent.VK_UP ): |
| 156 | historyUp(); |
| 157 | break; |
| 158 | case ( KeyEvent.VK_DOWN ): |
| 159 | historyDown(); |
| 160 | break; |
| 161 | case ( KeyEvent.VK_TAB ): |
| 162 | line.append(" "); |
| 163 | append(" "); |
| 164 | textLength +=4; |
| 165 | break; |
| 166 | /* |
| 167 | case ( KeyEvent.VK_LEFT ): |
| 168 | if (line.length() > 0) { |
| 169 | break; |
| 170 | */ |
| 171 | // Control-C |
| 172 | case ( KeyEvent.VK_C ): |
| 173 | if ( (modifiers & InputEvent.CTRL_MASK) > 0 ) { |
| 174 | line.append("^C"); |
| 175 | append("^C"); |
| 176 | textLength += 2; |
| 177 | } else |
| 178 | doChar( ch ); |
| 179 | break; |
| 180 | default: |
| 181 | doChar( ch ); |
| 182 | } |
| 183 | } |
| 184 | |
| 185 | private void doChar( char ch ) { |
| 186 | if ( (ch >= ' ') && (ch <= '~') ) { |
no test coverage detected