Crossfire JXClient, Trunk
GUISelectableButton.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.button;
24 
31 import java.awt.image.BufferedImage;
32 import org.jetbrains.annotations.NotNull;
33 import org.jetbrains.annotations.Nullable;
34 
42 public class GUISelectableButton extends AbstractButton2 implements GUISelectable {
43 
47  private static final long serialVersionUID = 1;
48 
52  @NotNull
53  private final String tooltipText;
54 
58  private boolean selected;
59 
76  public GUISelectableButton(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, @NotNull final BufferedImage imageUp, @NotNull final BufferedImage imageDown, @NotNull final String tooltipText, final boolean autoRepeat, @NotNull final CommandList commandList, @NotNull final GuiFactory guiFactory, @NotNull final NewCharModel newCharModel) {
78  this.tooltipText = tooltipText;
79  }
80 
81  @Override
82  protected boolean isSelected() {
83  return selected;
84  }
85 
86  @Override
87  public void select(final boolean selected) {
88  this.selected = selected;
89  setChanged();
90  }
91 
92  @Override
93  protected void activeChanged() {
94  }
95 
96  @Nullable
97  @Override
98  @SuppressWarnings("MethodDoesntCallSuperMethod")
100  return tooltipText.isEmpty() ? null : newTooltipText(tooltipText);
101  }
102 
103  @Override
104  public void notifyOpen() {
105  }
106 
107 }
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.newTooltipText
TooltipText newTooltipText(@Nullable final String tooltipText)
Definition: AbstractGUIElement.java:247
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.name
final String name
Definition: AbstractGUIElement.java:77
com.realtime.crossfire.jxclient
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.GUISelectableButton
GUISelectableButton(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, @NotNull final BufferedImage imageUp, @NotNull final BufferedImage imageDown, @NotNull final String tooltipText, final boolean autoRepeat, @NotNull final CommandList commandList, @NotNull final GuiFactory guiFactory, @NotNull final NewCharModel newCharModel)
Definition: GUISelectableButton.java:76
com.realtime.crossfire.jxclient.skin.skin
Definition: DefaultJXCSkin.java:23
com.realtime.crossfire.jxclient.gui.button.GUISelectable
Definition: GUISelectable.java:31
com.realtime.crossfire.jxclient.gui.commandlist.CommandList
Definition: CommandList.java:34
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.tooltipText
final String tooltipText
Definition: GUISelectableButton.java:53
com.realtime.crossfire.jxclient.skin
com.realtime.crossfire.jxclient.gui.label
Definition: AbstractLabel.java:23
com.realtime.crossfire.jxclient.skin.skin.GuiFactory
Definition: GuiFactory.java:41
com.realtime.crossfire.jxclient.gui.commandlist
Definition: CommandList.java:23
com.realtime.crossfire.jxclient.gui.button.AbstractButton2
Definition: AbstractButton2.java:47
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.notifyOpen
void notifyOpen()
Definition: GUISelectableButton.java:104
com.realtime.crossfire.jxclient.gui.button.AbstractButton.newCharModel
final NewCharModel newCharModel
Definition: AbstractButton.java:79
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.isSelected
boolean isSelected()
Definition: GUISelectableButton.java:82
com.realtime.crossfire.jxclient.gui.button.AbstractButton.commandList
final CommandList commandList
Definition: AbstractButton.java:73
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.getTooltip
TooltipText getTooltip()
Definition: GUISelectableButton.java:99
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.selected
boolean selected
Definition: GUISelectableButton.java:58
com.realtime.crossfire.jxclient.gui
com.realtime.crossfire.jxclient.gui.gui.ActivatableGUIElement.elementListener
final GUIElementListener elementListener
Definition: ActivatableGUIElement.java:44
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton
Definition: GUISelectableButton.java:42
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.select
void select(final boolean selected)
Definition: GUISelectableButton.java:87
com.realtime.crossfire.jxclient.gui.gui.TooltipManager
Definition: TooltipManager.java:33
com.realtime.crossfire.jxclient.gui.button.AbstractButton2.imageDown
final Image imageDown
Definition: AbstractButton2.java:64
com.realtime.crossfire.jxclient.gui.label.NewCharModel
Definition: NewCharModel.java:43
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.serialVersionUID
static final long serialVersionUID
Definition: GUISelectableButton.java:47
com.realtime.crossfire.jxclient.gui.gui
Definition: AbstractGUIElement.java:23
com.realtime.crossfire.jxclient.gui.gui.TooltipText
Definition: TooltipText.java:31
com.realtime.crossfire
com.realtime.crossfire.jxclient.gui.button.AbstractButton2.imageUp
final Image imageUp
Definition: AbstractButton2.java:58
com.realtime
com
com.realtime.crossfire.jxclient.gui.button.GUISelectableButton.activeChanged
void activeChanged()
Definition: GUISelectableButton.java:93
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.setChanged
void setChanged()
Definition: AbstractGUIElement.java:223
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.guiFactory
final GuiFactory guiFactory
Definition: AbstractGUIElement.java:48
com.realtime.crossfire.jxclient.gui.button.AbstractButton.autoRepeat
final boolean autoRepeat
Definition: AbstractButton.java:67
com.realtime.crossfire.jxclient.gui.gui.GUIElementListener
Definition: GUIElementListener.java:32
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.tooltipManager
final TooltipManager tooltipManager
Definition: AbstractGUIElement.java:83