Crossfire JXClient, Trunk  R20561
ScrollNextCommand.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-2011 Andreas Kirschbaum.
20  */
21 
22 package com.realtime.crossfire.jxclient.gui.commands;
23 
27 import org.jetbrains.annotations.NotNull;
28 
33 public class ScrollNextCommand implements GUICommand {
34 
38  @NotNull
40 
44  @NotNull
46 
50  private final boolean apply;
51 
58  public ScrollNextCommand(@NotNull final ActivatableGUIElement nextElement, @NotNull final ActivatableGUIElement prevElement, final boolean apply) {
59  this.nextElement = nextElement;
60  this.prevElement = prevElement;
61  this.apply = apply;
62  }
63 
67  @Override
68  public boolean canExecute() {
69  return true;
70  }
71 
75  @Override
76  public void execute() {
77  if (prevElement.isActive()) {
78  if (apply && nextElement instanceof AbstractButton) {
79  nextElement.execute();
80  } else {
81  nextElement.setActive(true);
82  }
83  }
84  }
85 
86 }
final ActivatableGUIElement nextElement
The element to activate.
void setActive(final boolean active)
Sets the active state of a GUI element.
final ActivatableGUIElement prevElement
The element to deactivate.
final boolean apply
Whether nextElement should be applied.
A GUIElement that can be set to active or inactive.
A GUICommand which transfers the focus between two gui elements.
void execute()
Executes the command.Does nothing if called while canExecute() returnsfalse .
ScrollNextCommand(@NotNull final ActivatableGUIElement nextElement, @NotNull final ActivatableGUIElement prevElement, final boolean apply)
Creates a new instance.
boolean canExecute()
Returns whether this command may be executed.whether this command may be executed ...
abstract void execute()
Executes the actions associated with this GUI element.
boolean isActive()
Returns whether a GUI element is active.