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.item;
00023
00024 import com.realtime.crossfire.jxclient.gui.gui.ActivatableGUIElement;
00025 import com.realtime.crossfire.jxclient.gui.gui.GUIElement;
00026 import com.realtime.crossfire.jxclient.gui.gui.GUIElementListener;
00027 import com.realtime.crossfire.jxclient.gui.gui.TooltipManager;
00028 import com.realtime.crossfire.jxclient.gui.scrollable.GUIScrollable;
00029 import java.awt.Transparency;
00030 import java.awt.event.MouseEvent;
00031 import org.jetbrains.annotations.NotNull;
00032
00038 public abstract class GUIItem extends ActivatableGUIElement implements GUIScrollable {
00039
00043 private static final long serialVersionUID = 1;
00044
00051 protected GUIItem(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name) {
00052 super(tooltipManager, elementListener, name, Transparency.TRANSLUCENT);
00053 }
00054
00058 @Override
00059 public void mouseClicked(@NotNull final MouseEvent e) {
00060 super.mouseClicked(e);
00061 switch (e.getButton()) {
00062 case MouseEvent.BUTTON1:
00063 setActive(true);
00064 button1Clicked(e.getModifiersEx());
00065 break;
00066
00067 case MouseEvent.BUTTON2:
00068 button2Clicked(e.getModifiersEx());
00069 break;
00070
00071 case MouseEvent.BUTTON3:
00072 button3Clicked(e.getModifiersEx());
00073 break;
00074 }
00075 }
00076
00080 @Override
00081 public void execute() {
00082
00083 }
00084
00089 public abstract void button1Clicked(final int modifiers);
00090
00095 public abstract void button2Clicked(final int modifiers);
00096
00101 public abstract void button3Clicked(final int modifiers);
00102
00106 @Override
00107 public void activeChanged() {
00108 setChanged();
00109 }
00110
00114 @Override
00115 public void setVisible(final boolean aFlag) {
00116 super.setVisible(aFlag);
00117 setChanged();
00118 }
00119
00120 }