use of delta.games.lotro.character.reputation.FactionStatus in project lotro-companion by dmorcellet.
the class CharacterReputationDialogController method actionPerformed.
@Override
public void actionPerformed(ActionEvent event) {
// +/- buttons
Object source = event.getSource();
for (FactionEditionPanelController editor : _editors.values()) {
if (source == editor.getMinusButton()) {
Faction faction = editor.getFaction();
_data.updateFaction(faction, false);
updateFactionDisplay(editor);
_deedsDisplay.update();
_rewardsDisplay.update();
} else if (source == editor.getPlusButton()) {
Faction faction = editor.getFaction();
_data.updateFaction(faction, true);
updateFactionDisplay(editor);
_deedsDisplay.update();
_rewardsDisplay.update();
} else if (source == editor.getEditButton()) {
Faction faction = editor.getFaction();
FactionStatus status = _data.getOrCreateFactionStat(faction);
FactionEditionDialogController edit = new FactionEditionDialogController(this, status);
edit.show(true);
updateFactionDisplay(editor);
_deedsDisplay.update();
_rewardsDisplay.update();
}
}
}
use of delta.games.lotro.character.reputation.FactionStatus in project lotro-companion by dmorcellet.
the class CharacterReputationDialogController method updateFactionDisplay.
private void updateFactionDisplay(FactionEditionPanelController editor) {
Faction faction = editor.getFaction();
FactionLevel current;
FactionStatus factionStatus = _data.getFactionStatus(faction);
if (factionStatus != null) {
current = factionStatus.getFactionLevel();
} else {
current = faction.getInitialLevel();
}
editor.setFactionLevel(current);
}
use of delta.games.lotro.character.reputation.FactionStatus in project lotro-companion by dmorcellet.
the class ReputationSynopsisTableController method buildFactionStatusCellRenderer.
/**
* Build a cell renderer for a faction status.
* @return A renderer.
*/
public static TableCellRenderer buildFactionStatusCellRenderer() {
final JLabel label = GuiFactory.buildLabel("");
TableCellRenderer renderer = new TableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
FactionStatus status = (FactionStatus) value;
configureFactionLabel(label, status);
return label;
}
};
return renderer;
}
use of delta.games.lotro.character.reputation.FactionStatus in project lotro-companion by dmorcellet.
the class CraftingSynopsisTableController method buildGuildColumn.
private TableColumnController<CraftingSynopsisItem, FactionStatus> buildGuildColumn() {
CellDataProvider<CraftingSynopsisItem, FactionStatus> cell = new CellDataProvider<CraftingSynopsisItem, FactionStatus>() {
@Override
public FactionStatus getData(CraftingSynopsisItem item) {
return item.getGuildFaction();
}
};
String columnName = "Guild";
String id = columnName;
TableColumnController<CraftingSynopsisItem, FactionStatus> column = new TableColumnController<CraftingSynopsisItem, FactionStatus>(id, columnName, FactionStatus.class, cell);
// Header cell renderer
JPanel panel = buildGuildPanel();
TableCellRenderer headerRenderer = buildSimpleCellRenderer(panel);
column.setHeaderCellRenderer(headerRenderer);
// Cell renderer
TableCellRenderer renderer = ReputationSynopsisTableController.buildFactionStatusCellRenderer();
column.setCellRenderer(renderer);
// Init widths
column.setMinWidth(150);
column.setPreferredWidth(200);
column.setMaxWidth(300);
// Comparator
final FactionLevelComparator factionLevelComparator = new FactionLevelComparator();
Comparator<FactionStatus> statsComparator = new Comparator<FactionStatus>() {
@Override
public int compare(FactionStatus data1, FactionStatus data2) {
return factionLevelComparator.compare(data1.getFactionLevel(), data2.getFactionLevel());
}
};
column.setComparator(statsComparator);
return column;
}
use of delta.games.lotro.character.reputation.FactionStatus in project lotro-companion by dmorcellet.
the class ReputationSynopsisTableController method buildCharacterColumn.
private TableColumnController<Faction, FactionStatus> buildCharacterColumn(CharacterFile character) {
final CharacterFile toon = character;
CellDataProvider<Faction, FactionStatus> cell = new CellDataProvider<Faction, FactionStatus>() {
@Override
public FactionStatus getData(Faction item) {
ReputationStatus status = toon.getReputation();
return status.getOrCreateFactionStat(item);
}
};
String id = character.getIdentifier();
TableColumnController<Faction, FactionStatus> column = new TableColumnController<Faction, FactionStatus>(id, "Faction", FactionStatus.class, cell);
// Cell renderer
TableCellRenderer renderer = buildFactionStatusCellRenderer();
column.setCellRenderer(renderer);
// Header renderer
JPanel headerPanel = buildToonHeaderPanel(character);
TableCellRenderer headerRenderer = buildSimpleCellRenderer(headerPanel);
column.setHeaderCellRenderer(headerRenderer);
int minWidth = headerPanel.getPreferredSize().width;
column.setMinWidth(minWidth);
column.setPreferredWidth(minWidth);
// Comparator
final FactionLevelComparator factionLevelComparator = new FactionLevelComparator();
Comparator<FactionStatus> statsComparator = new Comparator<FactionStatus>() {
@Override
public int compare(FactionStatus data1, FactionStatus data2) {
return factionLevelComparator.compare(data1.getFactionLevel(), data2.getFactionLevel());
}
};
column.setComparator(statsComparator);
return column;
}
Aggregations