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.label;
00023
00024 import com.realtime.crossfire.jxclient.gui.gui.GUIElementListener;
00025 import com.realtime.crossfire.jxclient.gui.gui.TooltipManager;
00026 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireQueryListener;
00027 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection;
00028 import java.awt.Color;
00029 import java.awt.Font;
00030 import org.jetbrains.annotations.NotNull;
00031 import org.jetbrains.annotations.Nullable;
00032
00037 public class GUILabelQuery extends GUIMultiLineLabel {
00038
00042 private static final long serialVersionUID = 1;
00043
00047 @NotNull
00048 private final CrossfireServerConnection crossfireServerConnection;
00049
00053 @NotNull
00054 private final CrossfireQueryListener crossfireQueryListener = new CrossfireQueryListener() {
00055
00056 @Override
00057 public void commandQueryReceived(@NotNull final String prompt, final int queryType) {
00058 setText(prompt);
00059 }
00060
00061 };
00062
00073 public GUILabelQuery(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, @NotNull final CrossfireServerConnection crossfireServerConnection, @NotNull final Font font, @NotNull final Color color, @Nullable final Color backgroundColor) {
00074 super(tooltipManager, elementListener, name, null, font, color, backgroundColor, Alignment.LEFT, "");
00075 this.crossfireServerConnection = crossfireServerConnection;
00076 this.crossfireServerConnection.addCrossfireQueryListener(crossfireQueryListener);
00077 }
00078
00082 @Override
00083 public void dispose() {
00084 super.dispose();
00085 crossfireServerConnection.removeCrossfireQueryListener(crossfireQueryListener);
00086 }
00087
00088 }