/*
* Copyright (c) 1998-2017 by Richard A. Wilkes. All rights reserved.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, version 2.0. If a copy of the MPL was not distributed with
* this file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This Source Code Form is "Incompatible With Secondary Licenses", as
* defined by the Mozilla Public License, version 2.0.
*/
package com.trollworks.gcs.feature;
import com.trollworks.gcs.criteria.StringCriteria;
import com.trollworks.gcs.widgets.outline.ListRow;
import com.trollworks.toolkit.annotation.Localize;
import com.trollworks.toolkit.ui.layout.FlexGrid;
import com.trollworks.toolkit.ui.layout.FlexRow;
import com.trollworks.toolkit.ui.layout.FlexSpacer;
import com.trollworks.toolkit.utility.Localization;
import java.awt.Insets;
/** A skill bonus editor. */
public class SkillBonusEditor extends FeatureEditor {
@Localize("to skills whose name ")
@Localize(locale = "de", value = "auf Fertigkeiten, deren Namen ")
@Localize(locale = "ru", value = "умение с названием ")
@Localize(locale = "es", value = "a la habilidad cuyo nombre sea ")
private static String SKILL_NAME;
@Localize("and specialization ")
@Localize(locale = "de", value = "und Spezialisierung ")
@Localize(locale = "ru", value = "и специализация ")
@Localize(locale = "es", value = "y especialización ")
private static String SPECIALIZATION;
static {
Localization.initialize();
}
/**
* Create a new skill bonus editor.
*
* @param row The row this feature will belong to.
* @param bonus The bonus to edit.
*/
public SkillBonusEditor(ListRow row, SkillBonus bonus) {
super(row, bonus);
}
@Override
protected void rebuildSelf(FlexGrid grid, FlexRow right) {
SkillBonus bonus = (SkillBonus) getFeature();
FlexRow row = new FlexRow();
row.add(addChangeBaseTypeCombo());
LeveledAmount amount = bonus.getAmount();
row.add(addLeveledAmountField(amount, -999, 999));
row.add(addLeveledAmountCombo(amount, false));
row.add(new FlexSpacer(0, 0, true, false));
grid.add(row, 0, 0);
row = new FlexRow();
row.setInsets(new Insets(0, 20, 0, 0));
StringCriteria criteria = bonus.getNameCriteria();
row.add(addStringCompareCombo(criteria, SKILL_NAME));
row.add(addStringCompareField(criteria));
grid.add(row, 1, 0);
row = new FlexRow();
row.setInsets(new Insets(0, 20, 0, 0));
criteria = bonus.getSpecializationCriteria();
row.add(addStringCompareCombo(criteria, SPECIALIZATION));
row.add(addStringCompareField(criteria));
grid.add(row, 2, 0);
}
}