22 package com.realtime.crossfire.jxclient.gui.list;
35 import java.awt.Image;
36 import org.jetbrains.annotations.NotNull;
37 import org.jetbrains.annotations.Nullable;
140 public GUIMetaElementList(@NotNull
final TooltipManager tooltipManager, @NotNull
final GUIElementListener elementListener, @NotNull
final String name,
final int cellWidth,
final int cellHeight, @NotNull
final MetaserverModel metaserverModel, @Nullable
final Image image, @NotNull
final Font font, @NotNull
final String format, @NotNull
final String tooltip, @Nullable
final GUIText hostname, @Nullable
final AbstractLabel comment, @NotNull
final CommandList connectCommandList) {
141 super(tooltipManager, elementListener, name, cellWidth, cellHeight,
new MetaElementCellRenderer(
new GUIMetaElement(tooltipManager, elementListener, metaserverModel, name+
"_template", image, font, 0, format, tooltip)), connectCommandList);
152 this.metaserverModel.addMetaserverListener(metaserverListener);
162 for (
int i = 0; i < metaserverModel.
size(); i++) {
172 synchronized (getTreeLock()) {
173 final int newSize = metaserverModel.
size();
175 if (oldSize < newSize) {
176 for (
int i = oldSize; i < newSize; i++) {
177 final GUIMetaElement metaElement =
new GUIMetaElement(tooltipManager, elementListener, metaserverModel, name+i, image, font, i, format, tooltip);
182 for (
int i = newSize; i < oldSize; i++) {
202 if (selectedIndex == -1) {
204 if (comment != null) {
209 if (hostname != null) {
212 if (comment != null) {
223 protected void updateTooltip(
final int index,
final int x,
final int y,
final int w,
final int h) {
225 setTooltipText(metaEntry == null ? null : metaEntry.
format(tooltip), x, y, w, h);
235 if (index == -1 && hostname != null) {
Listener for GUIElement related events.
Abstract base class for all label classes.
void setText(@NotNull final String text)
The label text.
String format(@NotNull final String format)
Returns a formatted string using the given format.
void setSelectedIndex(final int newIndex)
Update the selected list entry.
final int cellHeight
The height of a list cell in pixels.
String getComment()
Returns the server comment.
int resizeElements(final int newSize)
Changes the number of list elements.
Represents a response line from the metaserver.
void addElement( @NotNull final T element)
Adds an GUIElement to the list.
Interface for listeners on metaserver entry related events.
void setText(@NotNull final String text)
Sets the entered text.
A list of GUICommand instances.
A GUIElement that displays a list of entries.
String getHostname()
Returns the hostname.
Abstract base class for text input fields.