Bladeren bron

Adding super-basic Feature listing in the levelup-panel

Sam Jaffe 8 jaren geleden
bovenliggende
commit
59ae7c24cc

+ 2 - 0
src/main/lombok/org/leumasjaffe/charsheet/model/features/DDProperty.java

@@ -10,6 +10,8 @@ public interface DDProperty {
 	public enum Group {
 		NONE
 	}
+	String getName();
+	String getDescription();
 	boolean appliesTo(Object key);
 	@Deprecated <T> T value();
 	void accumulate(Map<String, Object> props);

+ 2 - 0
src/main/lombok/org/leumasjaffe/charsheet/model/features/impl/Flat.java

@@ -6,9 +6,11 @@ import org.leumasjaffe.charsheet.model.features.DDFeaturePredicate;
 import org.leumasjaffe.charsheet.model.features.DDProperty;
 
 import lombok.AllArgsConstructor;
+import lombok.Getter;
 
 @AllArgsConstructor
 public class Flat implements DDProperty {
+	@Getter String name, description;
 	DDFeaturePredicate applies;
 	Group group;
 	int value;

+ 2 - 0
src/main/lombok/org/leumasjaffe/charsheet/model/features/impl/PerSpellLevel.java

@@ -7,9 +7,11 @@ import org.leumasjaffe.charsheet.model.features.DDFeaturePredicate;
 import org.leumasjaffe.charsheet.model.features.DDProperty;
 
 import lombok.AllArgsConstructor;
+import lombok.Getter;
 
 @AllArgsConstructor
 public class PerSpellLevel implements DDProperty {
+	@Getter String name, description;
 	DDFeaturePredicate applies;
 	Group group;
 	String type;

+ 3 - 1
src/main/lombok/org/leumasjaffe/charsheet/model/features/impl/Simple.java

@@ -5,10 +5,12 @@ import java.util.Map;
 import org.leumasjaffe.charsheet.model.features.DDProperty;
 
 import lombok.AllArgsConstructor;
+import lombok.Getter;
 
-@AllArgsConstructor
+@AllArgsConstructor @Getter
 public class Simple implements DDProperty {
 	String name;
+	String description;
 	@Override public boolean appliesTo(Object key) { return false; }
 	@Override public <T> T value() { return null; }
 	@Override public void accumulate(Map<String, Object> props) {}

+ 8 - 0
src/main/lombok/org/leumasjaffe/charsheet/view/level/UpdateClassWithLevelPanel.java

@@ -5,6 +5,7 @@ import java.util.stream.IntStream;
 
 import javax.swing.JPanel;
 
+import org.jdesktop.swingx.VerticalLayout;
 import org.leumasjaffe.charsheet.view.skills.SkillLevelUpPanel;
 import org.leumasjaffe.function.VoidVoidFunction;
 import org.leumasjaffe.observer.Observable;
@@ -22,6 +23,7 @@ import java.awt.Insets;
 import java.awt.Component;
 import javax.swing.Box;
 import javax.swing.JButton;
+import javax.swing.JLabel;
 
 @SuppressWarnings("serial")
 @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
@@ -49,6 +51,12 @@ class UpdateClassWithLevelPanel extends JPanel {
 		gbc_tabbedPane.gridy = 0;
 		add(tabbedPane, gbc_tabbedPane);
 		
+		JPanel features = new JPanel(new VerticalLayout(2));
+		info.ddClass.getBase().getFeatures(info.toLevel).forEach(prop -> {
+			features.add(new JLabel(prop.getName()));
+		});
+		tabbedPane.addTab("Features", null, features, null);
+		
 		JPanel skills = new SkillLevelUpPanel(info.ddCharacter, info.ddClass) {
 			@Override public void setIsReady(boolean b) {
 				readyCount.data[0] = b;