use of delta.games.lotro.lore.crafting.CraftingLevel in project lotro-companion by dmorcellet.
the class CraftingHistoryChartController method updateData.
/**
* Update graph data.
*/
public void updateData() {
_data.removeAllSeries();
Long lastItemDate = _stats.getValidityDate();
XYSeries proficiencySeries = new XYSeries("Proficiency");
CraftingLevel maxLevel = CraftingLevel.getMaximumLevel();
int maxTier = maxLevel.getTier();
for (int i = 0; i <= maxTier; i++) {
long date = _stats.getLevelStatus(i).getProficiency().getCompletionDate();
if (date != 0) {
proficiencySeries.add(date, i);
}
}
XYSeries masterySeries = new XYSeries("Mastery");
for (int i = 0; i <= maxTier; i++) {
long date = _stats.getLevelStatus(i).getMastery().getCompletionDate();
if (date != 0) {
masterySeries.add(date, i);
}
}
// Set last point
if (lastItemDate != null) {
CraftingLevel currentProficiency = _stats.getProficiencyLevel();
proficiencySeries.add(lastItemDate.longValue(), currentProficiency.getTier());
CraftingLevel currentMastery = _stats.getMasteryLevel();
masterySeries.add(lastItemDate.longValue(), currentMastery.getTier());
}
_data.addSeries(masterySeries);
_data.addSeries(proficiencySeries);
}
use of delta.games.lotro.lore.crafting.CraftingLevel in project lotro-companion by dmorcellet.
the class ProfessionStatusEditionPanelController method buildStatusEditionPanel.
private JPanel buildStatusEditionPanel() {
JPanel panel = GuiFactory.buildPanel(new GridBagLayout());
// Header row 1
GridBagConstraints c = new GridBagConstraints(0, 0, 1, 2, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0);
JLabel tier = GuiFactory.buildLabel("Tier");
panel.add(tier, c);
c.gridx = 1;
c.gridwidth = 3;
c.gridheight = 1;
JLabel proficiency = GuiFactory.buildLabel("Proficiency");
panel.add(proficiency, c);
c.gridx = 4;
c.gridwidth = 3;
c.gridheight = 1;
JLabel mastery = GuiFactory.buildLabel("Mastery");
panel.add(mastery, c);
// Header row 2
c.gridx = 1;
c.gridy = 1;
c.gridwidth = 1;
for (int i = 0; i < 2; i++) {
panel.add(GuiFactory.buildLabel("Completed"), c);
c.gridx++;
panel.add(GuiFactory.buildLabel("XP"), c);
c.gridx++;
panel.add(GuiFactory.buildLabel("Completion date"), c);
c.gridx++;
}
c.gridy++;
ActionListener l = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
handleCompletionChange(e.getSource());
}
};
DateListener dateListener = new DateListener() {
@Override
public void dateChanged(DateEditionController controller, Long newDate) {
long date = (newDate != null) ? newDate.longValue() : 0;
handleDateChange(controller, date);
}
};
// Data rows
CraftingLevel[] levels = CraftingLevel.ALL_TIERS;
for (CraftingLevel level : levels) {
CraftingLevelStatus levelStatus = _status.getLevelStatus(level);
c.gridx = 0;
JLabel tierLabel = GuiFactory.buildLabel(level.toString());
panel.add(tierLabel, c);
c.gridx++;
// Proficiency
CraftingLevelTierStatus proficiencyStatus = levelStatus.getProficiency();
CraftingLevelTierEditionGadgets proficiencyGadgets = new CraftingLevelTierEditionGadgets(proficiencyStatus);
JCheckBox checkbox = proficiencyGadgets.getCompleted().getCheckbox();
panel.add(checkbox, c);
checkbox.addActionListener(l);
c.gridx++;
panel.add(proficiencyGadgets.getXp().getTextField(), c);
c.gridx++;
DateEditionController dateCompletion = proficiencyGadgets.getCompletionDate();
dateCompletion.addListener(dateListener);
panel.add(dateCompletion.getTextField(), c);
c.gridx++;
_proficiencyGadgets.add(proficiencyGadgets);
// Mastery
CraftingLevelTierStatus masteryStatus = levelStatus.getMastery();
CraftingLevelTierEditionGadgets masteryGadgets = new CraftingLevelTierEditionGadgets(masteryStatus);
checkbox = masteryGadgets.getCompleted().getCheckbox();
panel.add(checkbox, c);
checkbox.addActionListener(l);
c.gridx++;
panel.add(masteryGadgets.getXp().getTextField(), c);
c.gridx++;
dateCompletion = masteryGadgets.getCompletionDate();
dateCompletion.addListener(dateListener);
panel.add(dateCompletion.getTextField(), c);
c.gridx++;
_masteryGadgets.add(masteryGadgets);
c.gridy++;
if (level == CraftingLevel.BEGINNER) {
proficiencyGadgets.getCompleted().setState(false);
masteryGadgets.getCompleted().setState(false);
}
}
return panel;
}
use of delta.games.lotro.lore.crafting.CraftingLevel in project lotro-companion by dmorcellet.
the class ProfessionStatusEditionPanelController method handleDateChange.
private void handleDateChange(DateEditionController source, long completionDate) {
CraftingLevel[] levels = CraftingLevel.ALL_TIERS;
int index = 0;
for (CraftingLevel level : levels) {
CraftingLevelTierEditionGadgets proficiency = _proficiencyGadgets.get(index);
if (source == proficiency.getCompletionDate()) {
_status.getLevelStatus(level).getProficiency().setCompletionDate(completionDate);
}
CraftingLevelTierEditionGadgets mastery = _masteryGadgets.get(index);
if (source == mastery.getCompletionDate()) {
_status.getLevelStatus(level).getMastery().setCompletionDate(completionDate);
}
index++;
}
Long validityDate = _status.getValidityDate();
if (validityDate == null) {
updateValidityDate();
}
triggerChartUpdateTimer();
}
Aggregations