|
|
@@ -9,9 +9,14 @@ import javax.swing.JTextField;
|
|
|
|
|
|
import org.leumasjaffe.charsheet.model.DDCharacterClass;
|
|
|
import org.leumasjaffe.charsheet.util.StringHelper;
|
|
|
+import org.leumasjaffe.charsheet.view.magic.SpellPanel;
|
|
|
|
|
|
import java.awt.GridBagConstraints;
|
|
|
import java.awt.Insets;
|
|
|
+import javax.swing.JLabel;
|
|
|
+import java.awt.Component;
|
|
|
+import javax.swing.Box;
|
|
|
+import java.awt.Font;
|
|
|
|
|
|
@FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
|
|
|
public class ClassTab extends JPanel {
|
|
|
@@ -26,33 +31,88 @@ public class ClassTab extends JPanel {
|
|
|
this.title = model.getName();
|
|
|
|
|
|
GridBagLayout gridBagLayout = new GridBagLayout();
|
|
|
- gridBagLayout.columnWidths = new int[]{0, 0, 0};
|
|
|
- gridBagLayout.rowHeights = new int[]{0, 0};
|
|
|
- gridBagLayout.columnWeights = new double[]{0.0, 1.0, Double.MIN_VALUE};
|
|
|
- gridBagLayout.rowWeights = new double[]{0.0, Double.MIN_VALUE};
|
|
|
+ gridBagLayout.columnWidths = new int[]{0, 0};
|
|
|
+ gridBagLayout.rowHeights = new int[]{0, 0, 0, 0};
|
|
|
+ gridBagLayout.columnWeights = new double[]{1.0, Double.MIN_VALUE};
|
|
|
+ gridBagLayout.rowWeights = new double[]{0.0, 1.0, 1.0, Double.MIN_VALUE};
|
|
|
setLayout(gridBagLayout);
|
|
|
|
|
|
+ JPanel header = new JPanel();
|
|
|
+ GridBagConstraints gbc_header = new GridBagConstraints();
|
|
|
+ gbc_header.insets = new Insets(0, 0, 5, 0);
|
|
|
+ gbc_header.fill = GridBagConstraints.BOTH;
|
|
|
+ gbc_header.gridx = 0;
|
|
|
+ gbc_header.gridy = 0;
|
|
|
+ add(header, gbc_header);
|
|
|
+ GridBagLayout gbl_header = new GridBagLayout();
|
|
|
+ gbl_header.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0};
|
|
|
+ gbl_header.rowHeights = new int[]{0, 0};
|
|
|
+ gbl_header.columnWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE};
|
|
|
+ gbl_header.rowWeights = new double[]{0.0, Double.MIN_VALUE};
|
|
|
+ header.setLayout(gbl_header);
|
|
|
+
|
|
|
+ JLabel lblClass = new JLabel("Class:");
|
|
|
+ lblClass.setFont(new Font("Tahoma", Font.BOLD, 14));
|
|
|
+ GridBagConstraints gbc_lblClass = new GridBagConstraints();
|
|
|
+ gbc_lblClass.insets = new Insets(0, 0, 0, 5);
|
|
|
+ gbc_lblClass.anchor = GridBagConstraints.EAST;
|
|
|
+ gbc_lblClass.gridx = 0;
|
|
|
+ gbc_lblClass.gridy = 0;
|
|
|
+ header.add(lblClass, gbc_lblClass);
|
|
|
+
|
|
|
JTextField nameField = new JTextField();
|
|
|
- nameField.setEditable(false);
|
|
|
GridBagConstraints gbc_nameField = new GridBagConstraints();
|
|
|
gbc_nameField.insets = new Insets(0, 0, 0, 5);
|
|
|
- gbc_nameField.fill = GridBagConstraints.HORIZONTAL;
|
|
|
- gbc_nameField.gridx = 0;
|
|
|
+ gbc_nameField.gridx = 1;
|
|
|
gbc_nameField.gridy = 0;
|
|
|
- add(nameField, gbc_nameField);
|
|
|
+ header.add(nameField, gbc_nameField);
|
|
|
+ nameField.setEditable(false);
|
|
|
nameField.setColumns(10);
|
|
|
|
|
|
+ nameField.setText(model.getName());
|
|
|
+
|
|
|
+ Component horizontalStrut = Box.createHorizontalStrut(20);
|
|
|
+ GridBagConstraints gbc_horizontalStrut = new GridBagConstraints();
|
|
|
+ gbc_horizontalStrut.insets = new Insets(0, 0, 0, 5);
|
|
|
+ gbc_horizontalStrut.gridx = 2;
|
|
|
+ gbc_horizontalStrut.gridy = 0;
|
|
|
+ header.add(horizontalStrut, gbc_horizontalStrut);
|
|
|
+
|
|
|
+ JLabel lblLevel = new JLabel("Level:");
|
|
|
+ lblLevel.setFont(new Font("Tahoma", Font.BOLD, 14));
|
|
|
+ GridBagConstraints gbc_lblLevel = new GridBagConstraints();
|
|
|
+ gbc_lblLevel.insets = new Insets(0, 0, 0, 5);
|
|
|
+ gbc_lblLevel.anchor = GridBagConstraints.EAST;
|
|
|
+ gbc_lblLevel.gridx = 3;
|
|
|
+ gbc_lblLevel.gridy = 0;
|
|
|
+ header.add(lblLevel, gbc_lblLevel);
|
|
|
+
|
|
|
JTextField levelField = new JTextField();
|
|
|
- levelField.setEditable(false);
|
|
|
GridBagConstraints gbc_levelField = new GridBagConstraints();
|
|
|
- gbc_levelField.fill = GridBagConstraints.HORIZONTAL;
|
|
|
- gbc_levelField.gridx = 1;
|
|
|
+ gbc_levelField.insets = new Insets(0, 0, 0, 5);
|
|
|
+ gbc_levelField.gridx = 4;
|
|
|
gbc_levelField.gridy = 0;
|
|
|
- add(levelField, gbc_levelField);
|
|
|
+ header.add(levelField, gbc_levelField);
|
|
|
+ levelField.setEditable(false);
|
|
|
levelField.setColumns(10);
|
|
|
-
|
|
|
- nameField.setText(model.getName());
|
|
|
levelField.setText(StringHelper.toString(model.getLevel()));
|
|
|
+
|
|
|
+ JPanel levelBenefits = new JPanel();
|
|
|
+ GridBagConstraints gbc_levelBenefits = new GridBagConstraints();
|
|
|
+ gbc_levelBenefits.insets = new Insets(0, 0, 5, 0);
|
|
|
+ gbc_levelBenefits.fill = GridBagConstraints.BOTH;
|
|
|
+ gbc_levelBenefits.gridx = 0;
|
|
|
+ gbc_levelBenefits.gridy = 1;
|
|
|
+ add(levelBenefits, gbc_levelBenefits);
|
|
|
+
|
|
|
+ if (model.getSpellBook().isPresent()) {
|
|
|
+ SpellPanel spells = new SpellPanel(model);
|
|
|
+ GridBagConstraints gbc_spells = new GridBagConstraints();
|
|
|
+ gbc_spells.fill = GridBagConstraints.BOTH;
|
|
|
+ gbc_spells.gridx = 0;
|
|
|
+ gbc_spells.gridy = 2;
|
|
|
+ add(spells, gbc_spells);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|