/**
*
*/
package com.jediterm.terminal;
import org.apache.log4j.Logger;
import java.awt.*;
public enum TerminalMode {
Null,
CursorKey {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
terminal.setApplicationArrowKeys(enabled);
}
},
ANSI,
WideColumn {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
int h = terminal.getTerminalHeight();
Dimension d = enabled ? new Dimension(132, h) : new Dimension(80, h);
terminal.resize(d, RequestOrigin.Remote);
terminal.clearScreen();
terminal.resetScrollRegions();
}
},
CursorVisible {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
terminal.setCursorVisible(enabled);
}
},
AlternateBuffer {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
terminal.useAlternateBuffer(enabled);
}
},
SmoothScroll,
ReverseVideo,
OriginMode {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
}
},
AutoWrap {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
//we do nothing just switching the mode
}
},
AutoRepeatKeys,
Interlace,
Keypad {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
terminal.setApplicationKeypad(enabled);
}
},
StoreCursor {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
if (enabled) {
terminal.saveCursor();
}
else {
terminal.restoreCursor();
}
}
},
CursorBlinking {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
terminal.setBlinkingCursor(enabled);
}
},
AllowWideColumn,
ReverseWrapAround,
AutoNewLine {
@Override
public void setEnabled(Terminal terminal, boolean enabled) {
terminal.setAutoNewLine(enabled);
}
},
KeyboardAction,
InsertMode,
SendReceive;
private static final Logger LOG = Logger.getLogger(TerminalMode.class);
public void setEnabled(Terminal terminal, boolean enabled) {
LOG.error("Mode " + name() + " is not implemented, setting to " + enabled);
}
}