|
|
@@ -5,21 +5,20 @@ import java.awt.GridBagLayout;
|
|
|
import javax.swing.JLabel;
|
|
|
import java.awt.GridBagConstraints;
|
|
|
|
|
|
-import static org.leumasjaffe.charsheet.entity.AbilityScores.modifer;
|
|
|
+import static org.leumasjaffe.charsheet.entity.AbilityScores.modifier;
|
|
|
|
|
|
import java.awt.Color;
|
|
|
import javax.swing.border.LineBorder;
|
|
|
|
|
|
-import org.leumasjaffe.charsheet.entity.AbilityScores;
|
|
|
import org.leumasjaffe.charsheet.entity.DDCharacter;
|
|
|
import org.leumasjaffe.charsheet.entity.viewable.IntValue;
|
|
|
+import org.leumasjaffe.charsheet.observer.IndirectObservableListener;
|
|
|
import org.leumasjaffe.charsheet.observer.ObservableListener;
|
|
|
import org.leumasjaffe.charsheet.observer.helper.AbilModStringify;
|
|
|
import org.leumasjaffe.charsheet.view.StringHelper;
|
|
|
|
|
|
import lombok.AccessLevel;
|
|
|
import lombok.experimental.FieldDefaults;
|
|
|
-import lombok.experimental.NonFinal;
|
|
|
|
|
|
import java.awt.Font;
|
|
|
import javax.swing.SwingConstants;
|
|
|
@@ -33,9 +32,7 @@ public class InitiativeLine extends JPanel {
|
|
|
*
|
|
|
*/
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
- JTextField misc;
|
|
|
- @NonFinal AbilityScores model;
|
|
|
- ObservableListener<IntValue> ttlObserver;
|
|
|
+ IndirectObservableListener<DDCharacter> ttlObserver;
|
|
|
ObservableListener<IntValue> dexObserver;
|
|
|
|
|
|
public InitiativeLine() {
|
|
|
@@ -113,7 +110,7 @@ public class InitiativeLine extends JPanel {
|
|
|
gbc_label_1.gridy = 0;
|
|
|
add(label_1, gbc_label_1);
|
|
|
|
|
|
- misc = new JTextField();
|
|
|
+ JTextField misc = new JTextField();
|
|
|
misc.setToolTipText("Miscellaneous Modifier");
|
|
|
misc.setPreferredSize(new Dimension(30, 20));
|
|
|
misc.setMinimumSize(new Dimension(30, 20));
|
|
|
@@ -128,15 +125,19 @@ public class InitiativeLine extends JPanel {
|
|
|
gbc_misc.gridy = 0;
|
|
|
add(misc, gbc_misc);
|
|
|
|
|
|
- ttlObserver = new ObservableListener<>(total,
|
|
|
- new AbilModStringify());
|
|
|
+ ttlObserver = new IndirectObservableListener<>(total,
|
|
|
+ (c) -> {
|
|
|
+ final int adex = c.getAbilities().getBase().getDex().value();
|
|
|
+ return StringHelper.toString( modifier(adex) );
|
|
|
+ });
|
|
|
dexObserver = new ObservableListener<>(dex,
|
|
|
new AbilModStringify());
|
|
|
}
|
|
|
|
|
|
public void setModel(DDCharacter model) {
|
|
|
- ttlObserver.setObserved(model.getAbilities().getBase().getDex());
|
|
|
- dexObserver.setObserved(model.getAbilities().getBase().getDex());
|
|
|
+ final IntValue dex = model.getAbilities().getBase().getDex();
|
|
|
+ ttlObserver.setObserved(model, dex);
|
|
|
+ dexObserver.setObserved(dex);
|
|
|
}
|
|
|
|
|
|
}
|