Crossfire JXClient, Trunk
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings Class Reference
Collaboration diagram for com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings:
Collaboration graph

Public Member Functions

void addKeyBinding (@NotNull final KeyEvent2 keyEvent, @NotNull final CommandList cmdList, final boolean isDefault)
 
void deleteKeyBinding (@NotNull final KeyEvent2 keyEvent)
 
Collection< KeyBindinggetBindings (@NotNull final Predicate< KeyBinding > predicate)
 
boolean handleKeyPress (@NotNull final KeyEvent2 e)
 
 KeyBindings (@Nullable final Path fileVersion2, @Nullable final Path fileVersion1, @NotNull final GUICommandFactory guiCommandFactory)
 
void loadKeyBindings ()
 
void parseKeyBinding (@NotNull final String line, final boolean isDefault) throws InvalidKeyBindingException
 
void saveKeyBindings ()
 

Private Member Functions

void addKeyBinding (@NotNull final KeyBinding keyBinding)
 
void deleteKeyBinding (@Nullable final KeyBinding keyBinding)
 
KeyBinding getKeyBinding (@NotNull final KeyEvent2 keyEvent)
 

Static Private Member Functions

static void executeKeyBinding (@NotNull final KeyBinding keyBinding)
 

Private Attributes

final Path fileVersion1
 
final Path fileVersion2
 
final GUICommandFactory guiCommandFactory
 
final Collection< KeyBindingkeybindings = new TreeSet<>()
 
KeyCodeMap keyCodeMap
 
boolean modified
 

Detailed Description

Manages a set of key bindings.

Author
Andreas Kirschbaum

Definition at line 47 of file KeyBindings.java.

Constructor & Destructor Documentation

◆ KeyBindings()

com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.KeyBindings ( @Nullable final Path  fileVersion2,
@Nullable final Path  fileVersion1,
@NotNull final GUICommandFactory  guiCommandFactory 
)

Creates a new instance.

Parameters
fileVersion2the file for loading and saving the bindings;
null
to not load or save
fileVersion1the fallback file for loading the bindings if does not exist;
null
to not load
guiCommandFactorythe gui command factory for creating commands

Definition at line 94 of file KeyBindings.java.

References com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.fileVersion1, com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.fileVersion2, and com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.guiCommandFactory.

Member Function Documentation

◆ addKeyBinding() [1/2]

void com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.addKeyBinding ( @NotNull final KeyBinding  keyBinding)
private

Adds (or replace) a key binding.

Parameters
keyBindingthe key binding

Definition at line 116 of file KeyBindings.java.

References com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.keybindings, and com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.modified.

◆ addKeyBinding() [2/2]

void com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.addKeyBinding ( @NotNull final KeyEvent2  keyEvent,
@NotNull final CommandList  cmdList,
final boolean  isDefault 
)

Adds a key binding for a key event.

Parameters
keyEventthe key event for the key binding
cmdListthe commands to associate to the key binding
isDefaultwhether the key binding is a "default" binding which should not be saved

Definition at line 107 of file KeyBindings.java.

References com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.saveKeyBindings().

Referenced by com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.keyReleased(), and com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.parseKeyBinding().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deleteKeyBinding() [1/2]

void com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.deleteKeyBinding ( @NotNull final KeyEvent2  keyEvent)

Removes a key binding for a key event.

Parameters
keyEventthe key of the key binding

Definition at line 126 of file KeyBindings.java.

References com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.getKeyBinding().

Referenced by com.realtime.crossfire.jxclient.gui.keybindings.KeyBindingState.keyReleased().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deleteKeyBinding() [2/2]

void com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.deleteKeyBinding ( @Nullable final KeyBinding  keyBinding)
private

Removes a key binding.

Parameters
keyBindingthe key binding; may be
null

Definition at line 134 of file KeyBindings.java.

References com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.keybindings, com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.modified, and com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.saveKeyBindings().

Here is the call graph for this function:

◆ executeKeyBinding()

static void com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.executeKeyBinding ( @NotNull final KeyBinding  keyBinding)
staticprivate

Executes a KeyBinding instance.

Parameters
keyBindingthe key binding to execute; may be
null

Definition at line 335 of file KeyBindings.java.

Referenced by com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.handleKeyPress().

Here is the caller graph for this function:

◆ getBindings()

Collection<KeyBinding> com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.getBindings ( @NotNull final Predicate< KeyBinding predicate)

Returns all key bindings matching a given predicate.

Parameters
predicatethe predicate for selecting keybindings
Returns
the matching bindings

Definition at line 345 of file KeyBindings.java.

References com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.keybindings.

Referenced by com.realtime.crossfire.jxclient.gui.keybindings.KeybindingsManager.getBindings().

Here is the caller graph for this function:

◆ getKeyBinding()

KeyBinding com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.getKeyBinding ( @NotNull final KeyEvent2  keyEvent)
private

Finds a key binding associated to a key event.

Parameters
keyEventthe key to look up
Returns
the key binding, or
null
if no key binding is associated

Definition at line 244 of file KeyBindings.java.

References com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.keybindings.

Referenced by com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.deleteKeyBinding().

Here is the caller graph for this function:

◆ handleKeyPress()

boolean com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.handleKeyPress ( @NotNull final KeyEvent2  e)

Executes a "key press" event.

Parameters
ethe event to execute
Returns
whether a matching key binding was found

Definition at line 320 of file KeyBindings.java.

References com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.executeKeyBinding(), and com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.keybindings.

Referenced by com.realtime.crossfire.jxclient.gui.keybindings.KeybindingsManager.handleKeyPress(), and com.realtime.crossfire.jxclient.gui.gui.Gui.handleKeyPress().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadKeyBindings()

void com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.loadKeyBindings ( )

◆ parseKeyBinding()

void com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.parseKeyBinding ( @NotNull final String  line,
final boolean  isDefault 
) throws InvalidKeyBindingException

◆ saveKeyBindings()

void com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.saveKeyBindings ( )

Member Data Documentation

◆ fileVersion1

final Path com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.fileVersion1
private

The fallback file for loading the bindings if fileVersion2 does not exist;

null

to not load.

Definition at line 78 of file KeyBindings.java.

Referenced by com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.KeyBindings(), and com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.loadKeyBindings().

◆ fileVersion2

final Path com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.fileVersion2
private

◆ guiCommandFactory

final GUICommandFactory com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.guiCommandFactory
private

◆ keybindings

final Collection<KeyBinding> com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.keybindings = new TreeSet<>()
private

◆ keyCodeMap

KeyCodeMap com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.keyCodeMap
private

◆ modified

boolean com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.modified
private

The documentation for this class was generated from the following file:
com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings.fileVersion2
final Path fileVersion2
Definition: KeyBindings.java:71