use of delta.games.lotro.lore.items.ArmourType in project lotro-companion by dmorcellet.
the class ItemFilterConfiguration method getArmourTypes.
/**
* Get the selected armour types.
* @return a possibly empty but not <code>null</code> list of sorted armour types.
*/
public List<ArmourType> getArmourTypes() {
List<ArmourType> armourTypes = new ArrayList<ArmourType>();
armourTypes.addAll(_armourTypes);
Collections.sort(armourTypes, new ArmourTypeComparator());
return armourTypes;
}
use of delta.games.lotro.lore.items.ArmourType in project lotro-companion by dmorcellet.
the class ItemFilterConfiguration method initFromItems.
/**
* Init from a collection of items.
* @param items Items to use.
*/
public void initFromItems(List<Item> items) {
_armourTypes.clear();
_shieldTypes.clear();
_weaponTypes.clear();
for (Item item : items) {
// Armour
if (item instanceof Armour) {
Armour weapon = (Armour) item;
ArmourType type = weapon.getArmourType();
if (type != null) {
if (type.isShield()) {
_shieldTypes.add(type);
} else {
_armourTypes.add(type);
}
}
}
// Weapon
if (item instanceof Weapon) {
Weapon weapon = (Weapon) item;
WeaponType type = weapon.getWeaponType();
if (type != null) {
_weaponTypes.add(type);
}
}
}
}
use of delta.games.lotro.lore.items.ArmourType in project lotro-companion by dmorcellet.
the class ItemUiTools method buildArmourTypeCombo.
/**
* Build a controller for a combo box to choose a armour type.
* @param armourTypes Armour types to use.
* @return A new controller.
*/
public static ComboBoxController<ArmourType> buildArmourTypeCombo(Iterable<ArmourType> armourTypes) {
ComboBoxController<ArmourType> ctrl = new ComboBoxController<ArmourType>();
ctrl.addEmptyItem("");
for (ArmourType quality : armourTypes) {
ctrl.addItem(quality, quality.getName());
}
ctrl.selectItem(null);
return ctrl;
}
use of delta.games.lotro.lore.items.ArmourType in project lotro-companion by dmorcellet.
the class ItemFilterController method build.
private JPanel build() {
JPanel panel = GuiFactory.buildPanel(new GridBagLayout());
JPanel line1Panel = GuiFactory.buildPanel(new FlowLayout(FlowLayout.LEADING, 5, 0));
// Quality
{
JPanel qualityPanel = GuiFactory.buildPanel(new FlowLayout(FlowLayout.LEADING));
qualityPanel.add(GuiFactory.buildLabel("Quality:"));
_quality = ItemUiTools.buildQualityCombo();
ItemSelectionListener<ItemQuality> qualityListener = new ItemSelectionListener<ItemQuality>() {
@Override
public void itemSelected(ItemQuality quality) {
_qualityFilter.setQuality(quality);
filterUpdated();
}
};
_quality.addListener(qualityListener);
qualityPanel.add(_quality.getComboBox());
line1Panel.add(qualityPanel);
}
// Label filter
{
JPanel containsPanel = GuiFactory.buildPanel(new FlowLayout(FlowLayout.LEADING));
containsPanel.add(GuiFactory.buildLabel("Label filter:"));
_contains = GuiFactory.buildTextField("");
_contains.setColumns(20);
containsPanel.add(_contains);
TextListener listener = new TextListener() {
@Override
public void textChanged(String newText) {
if (newText.length() == 0)
newText = null;
_nameFilter.setPattern(newText);
filterUpdated();
}
};
_textController = new DynamicTextEditionController(_contains, listener);
line1Panel.add(containsPanel);
}
// Line 2: weapon type, armour type, shield type
JPanel line2Panel = GuiFactory.buildPanel(new FlowLayout(FlowLayout.LEADING));
// Weapon type
if (_weaponType != null) {
JPanel weaponTypePanel = GuiFactory.buildPanel(new FlowLayout(FlowLayout.LEADING, 5, 0));
weaponTypePanel.add(GuiFactory.buildLabel("Weapon type:"));
ItemSelectionListener<WeaponType> weaponTypeListener = new ItemSelectionListener<WeaponType>() {
@Override
public void itemSelected(WeaponType type) {
_weaponTypeFilter.setWeaponType(type);
// If a weapon type is selected,
if (type != null) {
// Reset the shield type combo
if (_armourType != null) {
_armourType.selectItem(null);
}
// Reset the shield type combo
if (_shieldType != null) {
_shieldType.selectItem(null);
}
}
filterUpdated();
}
};
_weaponType.addListener(weaponTypeListener);
weaponTypePanel.add(_weaponType.getComboBox());
line2Panel.add(weaponTypePanel);
}
// Armour type
if (_armourType != null) {
JPanel armourTypePanel = GuiFactory.buildPanel(new FlowLayout(FlowLayout.LEADING));
armourTypePanel.add(GuiFactory.buildLabel("Armour type:"));
ItemSelectionListener<ArmourType> armourTypeListener = new ItemSelectionListener<ArmourType>() {
@Override
public void itemSelected(ArmourType type) {
_armourTypeFilter.setArmourType(type);
// If an armour type is selected,
if (type != null) {
// Reset the weapon type combo
if (_weaponType != null) {
_weaponType.selectItem(null);
}
// Reset the shield type combo
if (_shieldType != null) {
_shieldType.selectItem(null);
}
}
filterUpdated();
}
};
_armourType.addListener(armourTypeListener);
armourTypePanel.add(_armourType.getComboBox());
line2Panel.add(armourTypePanel);
}
// Shield type
if (_shieldType != null) {
JPanel shieldTypePanel = GuiFactory.buildPanel(new FlowLayout(FlowLayout.LEADING));
shieldTypePanel.add(GuiFactory.buildLabel("Shield type:"));
ItemSelectionListener<ArmourType> shieldTypeListener = new ItemSelectionListener<ArmourType>() {
@Override
public void itemSelected(ArmourType type) {
_shieldTypeFilter.setArmourType(type);
// If a shield type is selected,
if (type != null) {
// Reset the weapon type combo
if (_weaponType != null) {
_weaponType.selectItem(null);
}
// Reset the armour type combo
if (_armourType != null) {
_armourType.selectItem(null);
}
}
filterUpdated();
}
};
_shieldType.addListener(shieldTypeListener);
shieldTypePanel.add(_shieldType.getComboBox());
line2Panel.add(shieldTypePanel);
}
GridBagConstraints c = new GridBagConstraints(0, 0, 1, 1, 1.0, 0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0);
panel.add(line1Panel, c);
c = new GridBagConstraints(0, 1, 1, 1, 1.0, 0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0);
panel.add(line2Panel, c);
return panel;
}
use of delta.games.lotro.lore.items.ArmourType in project lotro-tools by dmorcellet.
the class LotroPlanItemsDbLoader method handleAdditionalTable.
private void handleAdditionalTable(String tableName) {
ArmourType armourType = null;
if ("heavy.txt".equals(tableName))
armourType = ArmourType.HEAVY;
else if ("medium.txt".equals(tableName))
armourType = ArmourType.MEDIUM;
else if ("light.txt".equals(tableName))
armourType = ArmourType.LIGHT;
List<Item> items = loadTable(tableName);
for (Item item : items) {
_merger.newItem(item, armourType);
}
}
Aggregations