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.skin.skin;
00023
00024 import com.realtime.crossfire.jxclient.gui.commandlist.CommandList;
00025 import com.realtime.crossfire.jxclient.gui.gui.Gui;
00026 import com.realtime.crossfire.jxclient.gui.keybindings.KeyBindings;
00027 import com.realtime.crossfire.jxclient.gui.label.AbstractLabel;
00028 import com.realtime.crossfire.jxclient.gui.label.TooltipManagerImpl;
00029 import com.realtime.crossfire.jxclient.util.Resolution;
00030 import java.util.Iterator;
00031 import org.jetbrains.annotations.NotNull;
00032 import org.jetbrains.annotations.Nullable;
00033
00040 public interface JXCSkin extends Iterable<Gui> {
00041
00047 @NotNull
00048 String getSkinName();
00049
00054 @NotNull
00055 Resolution getMinResolution();
00056
00061 @NotNull
00062 Resolution getMaxResolution();
00063
00069 @NotNull
00070 @Override
00071 Iterator<Gui> iterator();
00072
00078 @Nullable
00079 Gui getDialogQuit();
00080
00086 @Nullable
00087 Gui getDialogDisconnect();
00088
00094 @Nullable
00095 Gui getDialogConnect();
00096
00101 @NotNull
00102 Gui getDialogKeyBind();
00103
00108 @NotNull
00109 Gui getDialogQuery();
00110
00116 @NotNull
00117 Gui getDialogBook(int bookNo);
00118
00123 @NotNull
00124 Gui getMainInterface();
00125
00130 @NotNull
00131 Gui getMetaInterface();
00132
00137 @NotNull
00138 Gui getStartInterface();
00139
00146 @NotNull
00147 Gui getDialog(@NotNull final String name) throws JXCSkinException;
00148
00155 @NotNull
00156 CommandList getCommandList(@NotNull String name) throws JXCSkinException;
00157
00162 @NotNull
00163 KeyBindings getDefaultKeyBindings();
00164
00169 void attach(@NotNull TooltipManagerImpl tooltipManager);
00170
00174 void detach();
00175
00181 void setScreenSize(final int screenWidth, final int screenHeight);
00182
00187 @Nullable
00188 AbstractLabel getTooltipLabel();
00189
00190 }