00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 package com.realtime.crossfire.jxclient.gui.commands;
00022
00023 import com.realtime.crossfire.jxclient.gui.commandlist.GUICommand;
00024 import com.realtime.crossfire.jxclient.gui.gui.Gui;
00025 import com.realtime.crossfire.jxclient.gui.gui.GuiUtils;
00026 import com.realtime.crossfire.jxclient.gui.textinput.CommandCallback;
00027 import com.realtime.crossfire.jxclient.gui.textinput.GUIText;
00028 import java.awt.Component;
00029 import org.jetbrains.annotations.NotNull;
00030
00035 public class AccountLinkCharacterCommand implements GUICommand {
00036
00040 @NotNull
00041 private final CommandCallback commandCallback;
00042
00046 @NotNull
00047 private final Component element;
00048
00054 public AccountLinkCharacterCommand(@NotNull final CommandCallback commandCallback, @NotNull final Component button) {
00055 this.commandCallback = commandCallback;
00056 element = button;
00057 }
00058
00062 @Override
00063 public boolean canExecute() {
00064 return true;
00065 }
00066
00070 @Override
00071 public void execute() {
00072 final Gui gui = GuiUtils.getGui(element);
00073 if (gui == null) {
00074 return;
00075 }
00076
00077 final GUIText loginField = gui.getFirstElement(GUIText.class, "character_login");
00078 final GUIText passwordField = gui.getFirstElement(GUIText.class, "character_password");
00079
00080 if (loginField == null || passwordField == null) {
00081 return;
00082 }
00083
00084 final String login = loginField.getText();
00085 final String password = passwordField.getText();
00086
00087 commandCallback.accountLink(0, login, password);
00088 }
00089
00090 }