22 package com.realtime.crossfire.jxclient.gui.item;
36 import java.awt.Dimension;
37 import java.awt.Image;
38 import org.jetbrains.annotations.NotNull;
39 import org.jetbrains.annotations.Nullable;
55 private final Object
sync =
new Object();
105 public void spellAdded(
final int index) {
112 public void spellRemoved(
final int index) {
127 public void faceUpdated(@NotNull
final Face face) {
153 super(tooltipManager, elementListener, name, itemPainter, facesManager);
158 this.spellsManager.addCrossfireSpellChangedListener(spellsManagerListener);
159 this.facesManager.addFacesManagerListener(facesManagerListener);
183 return index >= -distance;
187 return index+distance < spellsManager.
getSpells();
233 return new Dimension(32, 32);
241 if (skill == newSkill) {
258 if (this.index == index) {
272 if (item.getFace().getFaceNum() == 0) {
283 if (this.selected == selected) {
304 synchronized (
sync) {
314 synchronized (
sync) {
Listener for GUIElement related events.
ImageIcon getOriginalImageIcon(int faceNum, @Nullable boolean[] isUnknownImage)
Returns the "original" face for a face ID.
static final long serialVersionUID
The serial version UID.
final TooltipManager tooltipManager
The TooltipManager to update.
Dimension getMinimumSize()
final GUIElementListener elementListener
The GUIElementListener to notify.
void setChanged()
Records that the contents have changed and must be repainted.
static Dimension getMinimumSizeInt()
Returns the minimal size to display this component.
final FaceImages defaultSkillIcon
GUIItemSpellSkill(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, @NotNull final ItemPainter itemPainter, final int defaultIndex, @NotNull final FacesManager facesManager, @NotNull final SpellsManager spellsManager, @NotNull final ItemView itemView, @NotNull final FaceImages defaultSkillIcon, final int size)
Creates a new instance.
Interface for listeners interested in SpellsManager events.
void button3Clicked(final int modifiers)
int getSpells()
Returns the number of known spells.
void resetScroll()
Resets the scroll index to the default value.
boolean selected
Whether this element is selected in its GUISpellSkillList.
void setItemNoListeners(@Nullable final CfItem item)
Sets the current item instance without registering listeners for updates.
Manages image information ("faces") needed to display the map view, items, and spell icons...
Manages all known spells.
A GUIElement instance representing an in-game item.
Consists of three ImageIcons representing a Face.
Image getFace(@NotNull final CfItem item)
final FacesManager facesManager
The FacesManager for looking up faces.
Dimension getPreferredSize()
final int defaultIndex
The default scroll index.
final String name
The name of this element.
One skill of the character.
void removeCrossfireSpellChangedListener(@NotNull final SpellsManagerListener listener)
Removes a SpellsManagerListener to notify about changes.
void setIndexNoListeners(final int index)
void setSkill()
Sets the currently selected Skill.
Interface for listeners interested in FacesManager events.
void setTooltipText(@Nullable final String tooltipText)
Sets the tooltip text to show when the mouse is inside this element.the text to show ornull to disab...
void setIndex(final int index)
Sets the index of the currently selected skill.
void dispose()
Releases all allocated resources.
final FacesManagerListener facesManagerListener
The FacesManagerListener registered to detect updated faces.
final ItemView itemView
The spells view to use.
Skill skill
The currently selected spell or.
void scroll(final int distance)
Scrolls the element.the distance to scroll
A GUIItemList displaying spell skills.
CfItem item
The current item instance.
boolean canScroll(final int distance)
Returns whether scrolling is possible.the distance to scroll whether scrolling is possible ...
final ItemPainter itemPainter
The ItemPainter for painting the icon.
CfItem getItem(int index)
Returns the CfItem in a given slot.
void button1Clicked(final int modifiers)
Skill getSpellSkill(final int index)
Returns the specified spell skill.
void removeFacesManagerListener(@NotNull FacesManagerListener facesManagerListener)
Removes a FacesManagerListener to be notified about updated faces.
final Object sync
The object used for synchronization on index.
The representation of a Crossfire Item, client-side.
Paints Crossfire item images.
ImageIcon getOriginalImageIcon()
Returns the ImageIcon as sent by the Crossfire server.
final SpellsManager spellsManager
The SpellsManager instance to watch.
int index
The currently selected spell or.
void setSelected(final boolean selected)
void button2Clicked(final int modifiers)
boolean isActive()
Returns whether a GUI element is active.
final SpellsManagerListener spellsManagerListener
The SpellsManagerListener used to detect spell changes.
Maintains a mapping of face numbers to face data.