Crossfire JXClient, Trunk
KeyBindingState.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff
19  * Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20  * Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21  */
22 
23 package com.realtime.crossfire.jxclient.gui.keybindings;
24 
26 import org.jetbrains.annotations.NotNull;
27 import org.jetbrains.annotations.Nullable;
28 
33 public class KeyBindingState {
34 
38  @Nullable
39  private final KeyBindings keyBindings;
40 
44  @Nullable
45  private final KeyBindings keyBindings2;
46 
50  @Nullable
51  private final CommandList commands;
52 
57  private int state;
58 
63  private int type = -1;
64 
69 
78  public KeyBindingState(@Nullable final KeyBindings keyBindings, @Nullable final KeyBindings keyBindings2, @Nullable final CommandList commands) {
79  this.keyBindings = keyBindings;
80  this.keyBindings2 = keyBindings2;
81  this.commands = commands;
82  }
83 
88  public void keyPressed(@NotNull final KeyEvent2 keyEvent) {
89  state = 1;
90  type = 0;
91  this.keyEvent = keyEvent;
92  }
93 
99  public boolean keyReleased() {
100  if (state == 0) {
101  return false;
102  }
103 
104  assert type != -1;
105  if (commands == null) {
106  if (keyBindings != null) {
108  }
109 
110  if (keyBindings2 != null) {
112  }
113  } else {
114  if (keyBindings != null) {
116  }
117  }
118 
119  return true;
120  }
121 
122 }
com.realtime.crossfire.jxclient
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.keyEvent
KeyEvent2 keyEvent
Definition: KeyBindingState.java:68
com.realtime.crossfire.jxclient.gui.keybindings.KeyEvent2
Definition: KeyEvent2.java:34
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.commands
final CommandList commands
Definition: KeyBindingState.java:51
com.realtime.crossfire.jxclient.gui.commandlist.CommandList
Definition: CommandList.java:34
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.keyPressed
void keyPressed(@NotNull final KeyEvent2 keyEvent)
Definition: KeyBindingState.java:88
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState
Definition: KeyBindingState.java:33
com.realtime.crossfire.jxclient.gui.commandlist
Definition: CommandList.java:23
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.state
int state
Definition: KeyBindingState.java:57
com.realtime.crossfire.jxclient.gui
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.keyReleased
boolean keyReleased()
Definition: KeyBindingState.java:99
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.keyBindings
final KeyBindings keyBindings
Definition: KeyBindingState.java:39
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.addKeyBinding
void addKeyBinding(@NotNull final KeyEvent2 keyEvent, @NotNull final CommandList cmdList, final boolean isDefault)
Definition: KeyBindings.java:107
com.realtime.crossfire
com.realtime
com
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.deleteKeyBinding
void deleteKeyBinding(@NotNull final KeyEvent2 keyEvent)
Definition: KeyBindings.java:126
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings
Definition: KeyBindings.java:47
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.keyBindings2
final KeyBindings keyBindings2
Definition: KeyBindingState.java:45
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.type
int type
Definition: KeyBindingState.java:63
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.KeyBindingState
KeyBindingState(@Nullable final KeyBindings keyBindings, @Nullable final KeyBindings keyBindings2, @Nullable final CommandList commands)
Definition: KeyBindingState.java:78