Gridarta Editor
ArchetypeIconCellRenderer.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2023 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.gui.panel.archetypechooser;
21 
22 import java.awt.Component;
23 import javax.swing.JList;
30 import org.jetbrains.annotations.NotNull;
31 
36 public class ArchetypeIconCellRenderer<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends DisplayMode<G, A, R> {
37 
41  private static final long serialVersionUID = 1L;
42 
46  @NotNull
48 
55  this.faceObjectProviders = faceObjectProviders;
56  }
57 
58  @Override
59  public Component getListCellRendererComponent(final JList<?> list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) {
60  super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
61 
62  final BaseObject<?, ?, ?, ?> archetype = (BaseObject<?, ?, ?, ?>) value;
63  setIcon(faceObjectProviders.getFace(archetype));
64  setText("");
65  return this;
66  }
67 
68  @Override
69  public int compare(final Archetype<G, A, R> o1, final Archetype<G, A, R> o2) {
70  return o1.getArchetypeName().compareToIgnoreCase(o2.getArchetypeName());
71  }
72 
73  @Override
74  public int getLayoutOrientation() {
75  return JList.HORIZONTAL_WRAP;
76  }
77 
78 }
net.sf.gridarta.model.archetype.Archetype.getArchetypeName
String getArchetypeName()
Returns the name of this archetype.
net.sf.gridarta.gui.panel.archetypechooser.ArchetypeIconCellRenderer.getLayoutOrientation
int getLayoutOrientation()
Returns the layout orientation.
Definition: ArchetypeIconCellRenderer.java:74
net.sf.gridarta
Base package of all Gridarta classes.
net.sf.gridarta.model.archetypechooser
Definition: ArchetypeChooserFolder.java:20
net.sf.gridarta.gui.panel.archetypechooser.ArchetypeIconCellRenderer.serialVersionUID
static final long serialVersionUID
Serial Version UID.
Definition: ArchetypeIconCellRenderer.java:41
net.sf
net.sf.gridarta.gui.panel.archetypechooser.ArchetypeIconCellRenderer.ArchetypeIconCellRenderer
ArchetypeIconCellRenderer(@NotNull final FaceObjectProviders faceObjectProviders)
Creates a new instance.
Definition: ArchetypeIconCellRenderer.java:54
net.sf.gridarta.gui.panel.archetypechooser.ArchetypeIconCellRenderer.compare
int compare(final Archetype< G, A, R > o1, final Archetype< G, A, R > o2)
Definition: ArchetypeIconCellRenderer.java:69
net.sf.gridarta.model.archetype
Definition: AbstractArchetype.java:20
net.sf.gridarta.model.face.FaceObjectProviders
Provider for faces of GameObjects and Archetypes.
Definition: FaceObjectProviders.java:46
net.sf.gridarta.model.gameobject.GameObject
Reflects a game object (object on a map).
Definition: GameObject.java:36
net.sf.gridarta.model.gameobject
GameObjects are the objects based on Archetypes found on maps.
Definition: AbstractGameObject.java:20
net.sf.gridarta.gui.panel.archetypechooser.ArchetypeIconCellRenderer.faceObjectProviders
final FaceObjectProviders faceObjectProviders
The FaceObjectProviders for looking up faces.
Definition: ArchetypeIconCellRenderer.java:47
net
list
This document describes some hints and requirements for general development on the CrossfireEditor If you plan to make changes to the editor code or setup please read the following and keep it in derived from a basic editor application called Gridder by Pasi Ker�nen so please communicate with best through the cf devel mailing list
Definition: Developer_README.txt:13
net.sf.gridarta.model.maparchobject.MapArchObject
Interface for MapArchObjects.
Definition: MapArchObject.java:40
net.sf.gridarta.model.face.FaceObjectProviders.getFace
public< G extends GameObject< G, A, R >, A extends MapArchObject< A >, R extends Archetype< G, A, R > > ImageIcon getFace(@NotNull final BaseObject< G, A, R, ?> baseObject)
Returns the face of a BaseObject as an ImageIcon.
Definition: FaceObjectProviders.java:251
net.sf.gridarta.model.baseobject.BaseObject
Definition: BaseObject.java:34
net.sf.gridarta.model
net.sf.gridarta.model.archetype.Archetype
Reflects an Archetype.
Definition: Archetype.java:41
net.sf.gridarta.model.baseobject
Definition: AbstractBaseObject.java:20
net.sf.gridarta.model.face
The face is the appearance of an object.
Definition: AbstractFaceObjects.java:20
net.sf.gridarta.model.maparchobject
Definition: AbstractMapArchObject.java:20
net.sf.gridarta.model.archetypechooser.DisplayMode
Abstract base class for classes implementing display modes of the archetype chooser.
Definition: DisplayMode.java:35
net.sf.gridarta.gui.panel.archetypechooser.ArchetypeIconCellRenderer
A DisplayMode showing archetypes as images only.
Definition: ArchetypeIconCellRenderer.java:36
net.sf.gridarta.gui.panel.archetypechooser.ArchetypeIconCellRenderer.getListCellRendererComponent
Component getListCellRendererComponent(final JList<?> list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus)
Definition: ArchetypeIconCellRenderer.java:59