22 package com.realtime.crossfire.jxclient.window;
30 import java.awt.event.KeyEvent;
31 import java.io.IOException;
32 import java.io.Writer;
33 import java.text.DateFormat;
34 import java.text.SimpleDateFormat;
35 import java.util.Date;
36 import org.jetbrains.annotations.NotNull;
37 import org.jetbrains.annotations.Nullable;
81 private final DateFormat
simpleDateFormat =
new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss,SSS ");
110 @SuppressWarnings(
"NullableProblems")
122 switch (e.getKeyCode()) {
123 case KeyEvent.VK_ALT:
124 case KeyEvent.VK_ALT_GRAPH:
125 case KeyEvent.VK_SHIFT:
126 case KeyEvent.VK_CONTROL:
131 if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
144 if (dialog.handleKeyPress(e)) {
148 if (dialog.isModal()) {
172 switch (e.getKeyCode()) {
240 switch (e.getKeyCode()) {
241 case KeyEvent.VK_ALT:
242 case KeyEvent.VK_ALT_GRAPH:
243 case KeyEvent.VK_SHIFT:
244 case KeyEvent.VK_CONTROL:
249 if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
268 final KeyEvent2 keyEvent =
new KeyEvent2(e.getKeyCode(), e.getKeyChar(), e.getModifiers());
282 final KeyEvent2 keyEvent =
new KeyEvent2(e.getKeyCode(), e.getKeyChar(), e.getModifiers());
329 }
catch (
final IOException ex) {
330 System.err.println(
"Cannot write keyboard debug: "+ex.getMessage());
332 throw new AssertionError(ex);
void setKeyBindings(@NotNull final KeyBindings keyBindings)
Sets the active KeyBindings.
Combines a list of GUIElements to for a gui.
Interface for listeners interested in pressed ESC keys.
void keyPressed(@NotNull final KeyEvent e)
Handles a "key pressed" event.
void handleKeyRelease(@NotNull final KeyEvent2 e)
Handles a "key released" event.
final KeybindingsManager keybindingsManager
The KeybindingsManager to use.
boolean stopRunning()
Tells the server to stop running.
void escPressed()
The ESC key has been pressed.
void keyReleased()
A key (but not ESC) has been released.
Iterable< Gui > getOpenDialogs()
Returns all open dialogs in reverse painting order; the first element is the top-most dialog...
RendererGuiState getGuiState()
Returns the current gui state.
final CommandQueue commandQueue
The CommandQueue to use.
KeyBindings keyBindings
The active KeyBindings.
Represents a pressed or released key.
void debugKeyboardWrite(@NotNull final CharSequence message)
Writes a message to the keyboard debug.
boolean handleKeyPress(@NotNull final KeyEvent2 e)
Processes a key pressed event.
Renders a Gui instance into a Frame.
boolean handleKeyPress(@NotNull final KeyEvent2 e)
Dispatches a key press KeyEvent.
void addToRepeatCount(final int digit)
Adds a digit to the current repeat count.
void debugKeyboardWrite(@NotNull final String type, @NotNull final KeyEvent keyEvent, @NotNull final KeyEvent2 keyEvent2)
Writes a KeyEvent to the keyboard debug.
Handles keyboard input processing.
boolean keyReleased()
Processes a key released event.
void handleKeyPress(@NotNull final KeyEvent2 e)
Handles a "key pressed" event.
void updateModifiers(@NotNull final KeyEvent2 keyEvent)
Updates the saved modifier state from a key event.
static final int CTRL
The mask for "ctrl".
final Writer debugKeyboard
The Writer for logging keyboard debug output.
static final int NONE
The mask for "no modifier".
Maintains the pending (ncom) commands sent to the server.
KeyHandler(@Nullable final Writer debugKeyboard, @NotNull final KeybindingsManager keybindingsManager, @NotNull final CommandQueue commandQueue, @NotNull final JXCWindowRenderer windowRenderer, @NotNull final KeyHandlerListener keyHandlerListener)
Creates a new instance.
boolean keyPressed(@NotNull final KeyEvent2 keyEvent)
Processes a key pressed event.
final KeyHandlerListener keyHandlerListener
The KeyHandlerListener to notify.
Manages a set of key bindings.
final DateFormat simpleDateFormat
A formatter for timestamps.
final JXCWindowRenderer windowRenderer
The JXCWindowRenderer to use.
void keyReleased(@NotNull final KeyEvent e)
Handles a "key released" event.
boolean handleKeyPress(@NotNull final KeyEvent2 e)
Executes a "key press" event.