00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.gui.gui;
00023
00024 import java.awt.event.MouseEvent;
00025 import org.jetbrains.annotations.NotNull;
00026
00031 public abstract class ActivatableGUIElement extends AbstractGUIElement {
00032
00036 private static final long serialVersionUID = 1;
00037
00041 @NotNull
00042 private final GUIElementListener elementListener;
00043
00051 protected ActivatableGUIElement(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, final int transparency) {
00052 super(tooltipManager, elementListener, name, transparency);
00053 this.elementListener = elementListener;
00054 }
00055
00059 protected abstract void activeChanged();
00060
00065 @Override
00066 public void mousePressed(@NotNull final MouseEvent e) {
00067 setActive(true);
00068 }
00069
00074 public void setActive(final boolean active) {
00075 elementListener.activeChanged(this, active);
00076 }
00077
00082 public boolean isActive() {
00083 return elementListener.isActive(this);
00084 }
00085
00086 }