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.faces.FacesManager;
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.items.FloorView;
00029 import com.realtime.crossfire.jxclient.items.ItemView;
00030 import com.realtime.crossfire.jxclient.queue.CommandQueue;
00031 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection;
00032 import org.jetbrains.annotations.NotNull;
00033
00038 public class GUIItemInventoryFactory implements GUIItemItemFactory {
00039
00043 @NotNull
00044 private final TooltipManager tooltipManager;
00045
00049 @NotNull
00050 private final GUIElementListener elementListener;
00051
00055 @NotNull
00056 private final CommandQueue commandQueue;
00057
00061 @NotNull
00062 private final String name;
00063
00067 @NotNull
00068 private final ItemPainter itemPainter;
00069
00073 @NotNull
00074 private final CrossfireServerConnection crossfireServerConnection;
00075
00079 @NotNull
00080 private final FacesManager facesManager;
00081
00085 @NotNull
00086 private final FloorView floorView;
00087
00091 @NotNull
00092 private final ItemView inventoryView;
00093
00106 public GUIItemInventoryFactory(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final CommandQueue commandQueue, @NotNull final String name, @NotNull final ItemPainter itemPainter, @NotNull final CrossfireServerConnection crossfireServerConnection, @NotNull final FacesManager facesManager, @NotNull final FloorView floorView, @NotNull final ItemView inventoryView) {
00107 this.tooltipManager = tooltipManager;
00108 this.elementListener = elementListener;
00109 this.commandQueue = commandQueue;
00110 this.name = name;
00111 this.itemPainter = itemPainter;
00112 this.crossfireServerConnection = crossfireServerConnection;
00113 this.facesManager = facesManager;
00114 this.floorView = floorView;
00115 this.inventoryView = inventoryView;
00116 }
00117
00121 @Override
00122 @NotNull
00123 public GUIElement newItem(final int index) {
00124 return new GUIItemInventory(tooltipManager, elementListener, commandQueue, name+index, itemPainter, index, crossfireServerConnection, facesManager, floorView, inventoryView);
00125 }
00126
00130 @Override
00131 @NotNull
00132 public GUIItemItem newTemplateItem(final int cellHeight) {
00133 final GUIItemItem result = new GUIItemInventory(tooltipManager, elementListener, commandQueue, name+"_template", itemPainter, -1, crossfireServerConnection, facesManager, floorView, inventoryView);
00134
00135 result.setSize(cellHeight, cellHeight);
00136 return result;
00137 }
00138
00139 }