Quellcode durchsuchen

Moved entity -> model
Moved charsheet.observer -> observer
Added basic skeleton for DDItem

Sam Jaffe vor 9 Jahren
Ursprung
Commit
b5d34ef47b
55 geänderte Dateien mit 228 neuen und 120 gelöschten Zeilen
  1. 32 0
      src/org/leumasjaffe/charsheet/controller/inventory/PopClickListener.java
  2. 0 5
      src/org/leumasjaffe/charsheet/entity/Gender.java
  3. 0 6
      src/org/leumasjaffe/charsheet/entity/magic/Source.java
  4. 2 2
      src/org/leumasjaffe/charsheet/entity/AbilityScores.java
  5. 1 1
      src/org/leumasjaffe/charsheet/entity/Alignment.java
  6. 1 1
      src/org/leumasjaffe/charsheet/entity/AttackQuality.java
  7. 1 1
      src/org/leumasjaffe/charsheet/entity/DDActionType.java
  8. 2 2
      src/org/leumasjaffe/charsheet/entity/DDCharacter.java
  9. 2 2
      src/org/leumasjaffe/charsheet/entity/DDCharacterClass.java
  10. 2 2
      src/org/leumasjaffe/charsheet/entity/DDClass.java
  11. 1 1
      src/org/leumasjaffe/charsheet/entity/DDFeature.java
  12. 5 0
      src/org/leumasjaffe/charsheet/model/Gender.java
  13. 2 2
      src/org/leumasjaffe/charsheet/entity/HitPoints.java
  14. 10 1
      src/org/leumasjaffe/charsheet/entity/Money.java
  15. 1 1
      src/org/leumasjaffe/charsheet/entity/SaveQuality.java
  16. 1 1
      src/org/leumasjaffe/charsheet/entity/SizeClass.java
  17. 23 0
      src/org/leumasjaffe/charsheet/model/equip/DDItem.java
  18. 18 0
      src/org/leumasjaffe/charsheet/model/equip/EquipmentSlot.java
  19. 1 1
      src/org/leumasjaffe/charsheet/entity/magic/Area.java
  20. 2 2
      src/org/leumasjaffe/charsheet/entity/magic/DDSpell.java
  21. 1 1
      src/org/leumasjaffe/charsheet/entity/magic/DDSpellFactory.java
  22. 1 1
      src/org/leumasjaffe/charsheet/entity/magic/DDSpellList.java
  23. 1 1
      src/org/leumasjaffe/charsheet/entity/magic/DDSpellbook.java
  24. 1 1
      src/org/leumasjaffe/charsheet/entity/magic/Range.java
  25. 6 0
      src/org/leumasjaffe/charsheet/model/magic/Source.java
  26. 2 2
      src/org/leumasjaffe/charsheet/entity/viewable/IntValue.java
  27. 2 2
      src/org/leumasjaffe/charsheet/entity/viewable/ObjectValue.java
  28. 2 2
      src/org/leumasjaffe/charsheet/entity/viewable/StringValue.java
  29. 2 2
      src/org/leumasjaffe/charsheet/observer/helper/AbilModStringify.java
  30. 2 1
      src/org/leumasjaffe/charsheet/observer/helper/IntValueHelper.java
  31. 1 1
      src/org/leumasjaffe/charsheet/observer/helper/IntValueStringify.java
  32. 2 1
      src/org/leumasjaffe/charsheet/observer/helper/StringValueHelper.java
  33. 1 1
      src/org/leumasjaffe/charsheet/view/ClassTab.java
  34. 4 2
      src/org/leumasjaffe/charsheet/view/D20Sheet.java
  35. 8 24
      src/org/leumasjaffe/charsheet/view/EquipmentTab.java
  36. 1 1
      src/org/leumasjaffe/charsheet/view/SummaryTab.java
  37. 30 0
      src/org/leumasjaffe/charsheet/view/inventory/ItemInfoMenu.java
  38. 12 5
      src/org/leumasjaffe/charsheet/view/inventory/ItemPanel.java
  39. 6 5
      src/org/leumasjaffe/charsheet/view/summary/AbilityBox.java
  40. 2 2
      src/org/leumasjaffe/charsheet/view/summary/AbilityLine.java
  41. 2 2
      src/org/leumasjaffe/charsheet/view/summary/AbilityPanel.java
  42. 5 5
      src/org/leumasjaffe/charsheet/view/summary/AttackLine.java
  43. 1 1
      src/org/leumasjaffe/charsheet/view/summary/DescriptionPanel.java
  44. 4 4
      src/org/leumasjaffe/charsheet/view/summary/HealthLine.java
  45. 5 5
      src/org/leumasjaffe/charsheet/view/summary/InitiativeLine.java
  46. 5 5
      src/org/leumasjaffe/charsheet/view/summary/ResistanceLine.java
  47. 2 2
      src/org/leumasjaffe/charsheet/view/summary/ResistancePanel.java
  48. 1 1
      src/org/leumasjaffe/charsheet/observer/IndirectObservableListener.java
  49. 1 1
      src/org/leumasjaffe/charsheet/observer/Observable.java
  50. 2 2
      src/org/leumasjaffe/charsheet/observer/ObservableController.java
  51. 1 1
      src/org/leumasjaffe/charsheet/observer/ObservableListener.java
  52. 1 1
      src/org/leumasjaffe/charsheet/observer/ObserverDispatch.java
  53. 1 1
      src/org/leumasjaffe/charsheet/observer/Subscriber.java
  54. 2 2
      src/org/leumasjaffe/charsheet/observer/helper/Helper.java
  55. 1 1
      src/org/leumasjaffe/charsheet/observer/helper/Stringify.java

+ 32 - 0
src/org/leumasjaffe/charsheet/controller/inventory/PopClickListener.java

@@ -0,0 +1,32 @@
+package org.leumasjaffe.charsheet.controller.inventory;
+
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+import javax.swing.JPopupMenu;
+
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
+import lombok.experimental.FieldDefaults;
+
+@FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
+@RequiredArgsConstructor
+public class PopClickListener extends MouseAdapter {
+	JPopupMenu popup;
+	
+	public void mousePressed(MouseEvent e){
+		if (e.isPopupTrigger()) {
+			doPop(e);
+		}
+	}
+
+	public void mouseReleased(MouseEvent e){
+		if (e.isPopupTrigger()) {
+			doPop(e);
+		}
+	}
+
+	private void doPop(MouseEvent e){
+		popup.show(e.getComponent(), e.getX(), e.getY());
+	}
+}

+ 0 - 5
src/org/leumasjaffe/charsheet/entity/Gender.java

@@ -1,5 +0,0 @@
-package org.leumasjaffe.charsheet.entity;
-
-public enum Gender {
-	M, F, N
-}

+ 0 - 6
src/org/leumasjaffe/charsheet/entity/magic/Source.java

@@ -1,6 +0,0 @@
-package org.leumasjaffe.charsheet.entity.magic;
-
-public enum Source { 
-	ARCANE, 
-	DIVINE 
-}

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/AbilityScores.java

@@ -1,6 +1,6 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/Alignment.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 public enum Alignment {
 	LG, NG, CG, LN, TN, CN, LE, NE, CE

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/AttackQuality.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import lombok.AccessLevel;
 import lombok.RequiredArgsConstructor;

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/DDActionType.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/DDCharacter.java

@@ -1,11 +1,11 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
-import org.leumasjaffe.charsheet.entity.viewable.ObjectValue;
+import org.leumasjaffe.charsheet.model.observable.ObjectValue;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/DDCharacterClass.java

@@ -1,8 +1,8 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import java.util.Optional;
 
-import org.leumasjaffe.charsheet.entity.magic.DDSpellbook;
+import org.leumasjaffe.charsheet.model.magic.DDSpellbook;
 
 import lombok.AccessLevel;
 import lombok.Data;

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/DDClass.java

@@ -1,10 +1,10 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import java.io.File;
 import java.util.List;
 import java.util.Optional;
 
-import org.leumasjaffe.charsheet.entity.magic.DDSpellList;
+import org.leumasjaffe.charsheet.model.magic.DDSpellList;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.databind.ObjectMapper;

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/DDFeature.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import lombok.AccessLevel;
 import lombok.Data;

+ 5 - 0
src/org/leumasjaffe/charsheet/model/Gender.java

@@ -0,0 +1,5 @@
+package org.leumasjaffe.charsheet.model;
+
+public enum Gender {
+	M, F, N
+}

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/HitPoints.java

@@ -1,6 +1,6 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;

+ 10 - 1
src/org/leumasjaffe/charsheet/entity/Money.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
@@ -29,6 +29,15 @@ public class Money implements Comparable<Money> {
 		if ( sp < 0 ) { int tmp = (int) Math.ceil( sp / 10.0 ); gp -= tmp; sp += 10 * tmp; }
 		if ( gp < 0 ) { int tmp = (int) Math.ceil( gp / 10.0 ); pp -= tmp; gp += 10 * tmp; }
 	}
+	
+	public String toString() {
+		final StringBuilder str = new StringBuilder();
+		if ( pp > 0 ) { str.append(pp).append("pp "); }
+		if ( gp > 0 ) { str.append(gp).append("gp "); }
+		if ( sp > 0 ) { str.append(sp).append("sp "); }
+		if ( cp > 0 ) { str.append(cp).append("cp "); }
+		return str.toString();
+	}
 
 	@Override
 	public int compareTo(Money o) {

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/SaveQuality.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import lombok.AccessLevel;
 import lombok.RequiredArgsConstructor;

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/SizeClass.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity;
+package org.leumasjaffe.charsheet.model;
 
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;

+ 23 - 0
src/org/leumasjaffe/charsheet/model/equip/DDItem.java

@@ -0,0 +1,23 @@
+package org.leumasjaffe.charsheet.model.equip;
+
+import org.leumasjaffe.charsheet.model.Money;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
+import org.leumasjaffe.charsheet.model.observable.StringValue;
+
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.FieldDefaults;
+
+@AllArgsConstructor
+@Data
+@NoArgsConstructor
+@FieldDefaults(level=AccessLevel.PRIVATE)
+public class DDItem {
+	String name = "";
+	IntValue number = new IntValue(1);
+	Money value = new Money(0, 0, 0, 0);
+	StringValue page = new StringValue();
+	EquipmentSlot slot = EquipmentSlot.NONE;
+}

+ 18 - 0
src/org/leumasjaffe/charsheet/model/equip/EquipmentSlot.java

@@ -0,0 +1,18 @@
+package org.leumasjaffe.charsheet.model.equip;
+
+public enum EquipmentSlot {
+	HEAD,
+	FACE,
+	TORSO,
+	BECK,
+	THROAT,
+	ARM,
+	HAND,
+	RING, // x2
+	BODY,
+	WAIST,
+	LEGS,
+	MAIN_HAND,
+	OFF_HAND,
+	NONE
+}

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/magic/Area.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity.magic;
+package org.leumasjaffe.charsheet.model.magic;
 
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeInfo.As;

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/magic/DDSpell.java

@@ -1,10 +1,10 @@
-package org.leumasjaffe.charsheet.entity.magic;
+package org.leumasjaffe.charsheet.model.magic;
 
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Set;
 
-import org.leumasjaffe.charsheet.entity.DDActionType;
+import org.leumasjaffe.charsheet.model.DDActionType;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/magic/DDSpellFactory.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity.magic;
+package org.leumasjaffe.charsheet.model.magic;
 
 import java.io.File;
 import java.util.HashMap;

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/magic/DDSpellList.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity.magic;
+package org.leumasjaffe.charsheet.model.magic;
 
 import java.util.ArrayList;
 import java.util.List;

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/magic/DDSpellbook.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity.magic;
+package org.leumasjaffe.charsheet.model.magic;
 
 import java.util.List;
 

+ 1 - 1
src/org/leumasjaffe/charsheet/entity/magic/Range.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.entity.magic;
+package org.leumasjaffe.charsheet.model.magic;
 
 import java.util.Map;
 

+ 6 - 0
src/org/leumasjaffe/charsheet/model/magic/Source.java

@@ -0,0 +1,6 @@
+package org.leumasjaffe.charsheet.model.magic;
+
+public enum Source { 
+	ARCANE, 
+	DIVINE 
+}

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/viewable/IntValue.java

@@ -1,6 +1,6 @@
-package org.leumasjaffe.charsheet.entity.viewable;
+package org.leumasjaffe.charsheet.model.observable;
 
-import org.leumasjaffe.charsheet.observer.Observable;
+import org.leumasjaffe.observer.Observable;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/viewable/ObjectValue.java

@@ -1,6 +1,6 @@
-package org.leumasjaffe.charsheet.entity.viewable;
+package org.leumasjaffe.charsheet.model.observable;
 
-import org.leumasjaffe.charsheet.observer.Observable;
+import org.leumasjaffe.observer.Observable;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;

+ 2 - 2
src/org/leumasjaffe/charsheet/entity/viewable/StringValue.java

@@ -1,6 +1,6 @@
-package org.leumasjaffe.charsheet.entity.viewable;
+package org.leumasjaffe.charsheet.model.observable;
 
-import org.leumasjaffe.charsheet.observer.Observable;
+import org.leumasjaffe.observer.Observable;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;

+ 2 - 2
src/org/leumasjaffe/charsheet/observer/helper/AbilModStringify.java

@@ -2,8 +2,8 @@ package org.leumasjaffe.charsheet.observer.helper;
 
 import java.util.function.Function;
 
-import org.leumasjaffe.charsheet.entity.AbilityScores;
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
+import org.leumasjaffe.charsheet.model.AbilityScores;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.charsheet.view.StringHelper;
 
 public class AbilModStringify implements Function<IntValue, String> {

+ 2 - 1
src/org/leumasjaffe/charsheet/observer/helper/IntValueHelper.java

@@ -1,6 +1,7 @@
 package org.leumasjaffe.charsheet.observer.helper;
 
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
+import org.leumasjaffe.observer.helper.Helper;
 
 public class IntValueHelper implements Helper<IntValue> {
     public Boolean apply( final String str, final IntValue ref ) {

+ 1 - 1
src/org/leumasjaffe/charsheet/observer/helper/IntValueStringify.java

@@ -2,7 +2,7 @@ package org.leumasjaffe.charsheet.observer.helper;
 
 import java.util.function.Function;
 
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.charsheet.view.StringHelper;
 
 import lombok.experimental.UtilityClass;

+ 2 - 1
src/org/leumasjaffe/charsheet/observer/helper/StringValueHelper.java

@@ -1,6 +1,7 @@
 package org.leumasjaffe.charsheet.observer.helper;
 
-import org.leumasjaffe.charsheet.entity.viewable.StringValue;
+import org.leumasjaffe.charsheet.model.observable.StringValue;
+import org.leumasjaffe.observer.helper.Helper;
 
 public class StringValueHelper implements Helper<StringValue> {
     public Boolean apply( final String str, final StringValue ref ) {

+ 1 - 1
src/org/leumasjaffe/charsheet/view/ClassTab.java

@@ -7,7 +7,7 @@ import lombok.experimental.FieldDefaults;
 import java.awt.GridBagLayout;
 import javax.swing.JTextField;
 
-import org.leumasjaffe.charsheet.entity.DDCharacterClass;
+import org.leumasjaffe.charsheet.model.DDCharacterClass;
 
 import java.awt.GridBagConstraints;
 import java.awt.Insets;

+ 4 - 2
src/org/leumasjaffe/charsheet/view/D20Sheet.java

@@ -4,8 +4,6 @@ import javax.swing.JFileChooser;
 import javax.swing.JFrame;
 import javax.swing.JTabbedPane;
 
-import org.leumasjaffe.charsheet.entity.DDCharacter;
-
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
 
@@ -21,6 +19,9 @@ import javax.swing.JMenuBar;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
 import javax.swing.KeyStroke;
+
+import org.leumasjaffe.charsheet.model.DDCharacter;
+
 import java.awt.event.KeyEvent;
 import java.awt.event.WindowEvent;
 import java.io.File;
@@ -76,6 +77,7 @@ public class D20Sheet extends JFrame {
 			int rv = fc.showOpenDialog(this);
 			if ( rv == JFileChooser.APPROVE_OPTION ) {
 				loadModelResource( fc.getSelectedFile() );
+				tabbedPane.setSelectedIndex(0);
 			}
 		});
 		mntmOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));

+ 8 - 24
src/org/leumasjaffe/charsheet/view/EquipmentTab.java

@@ -10,10 +10,7 @@ import java.awt.GridBagConstraints;
 import java.awt.Insets;
 
 import org.jdesktop.swingx.VerticalLayout;
-import org.leumasjaffe.charsheet.entity.DDCharacter;
-import org.leumasjaffe.charsheet.view.inventory.ArmorPanel;
-import org.leumasjaffe.charsheet.view.inventory.ItemPanel;
-import org.leumasjaffe.charsheet.view.inventory.ShieldPanel;
+import org.leumasjaffe.charsheet.model.DDCharacter;
 
 import java.awt.Color;
 import javax.swing.JLabel;
@@ -28,6 +25,8 @@ public class EquipmentTab extends JPanel {
 	 * 
 	 */
 	private static final long serialVersionUID = 1L;
+	private JPanel equipment;
+	private JPanel inventory;
 
 	public EquipmentTab() {
 		setPreferredSize(new Dimension(600, 300));
@@ -48,7 +47,7 @@ public class EquipmentTab extends JPanel {
 		gbc_scrollPane.gridy = 0;
 		add(scrollPane, gbc_scrollPane);
 		
-		JPanel equipment = new JPanel();
+		equipment = new JPanel();
 		equipment.setBackground(Color.WHITE);
 		scrollPane.setViewportView(equipment);
 		equipment.setLayout(new VerticalLayout(5));
@@ -61,7 +60,7 @@ public class EquipmentTab extends JPanel {
 		gbc_scrollPane_1.gridy = 0;
 		add(scrollPane_1, gbc_scrollPane_1);
 		
-		JPanel inventory = new JPanel();
+		inventory = new JPanel();
 		inventory.setBackground(Color.WHITE);
 		scrollPane_1.setViewportView(inventory);
 		inventory.setLayout(new VerticalLayout(5));
@@ -82,27 +81,12 @@ public class EquipmentTab extends JPanel {
 		lblInventory.setOpaque(true);
 		lblInventory.setForeground(Color.WHITE);
 		lblInventory.setFont(new Font("Tahoma", Font.BOLD, 20));
-		scrollPane_1.setColumnHeaderView(lblInventory);
-		
-		equipment.add(new ArmorPanel("Armor"));
-		equipment.add(new ShieldPanel("Shield"));
-		equipment.add(new ItemPanel("<dummy>"));
-		equipment.add(new ItemPanel("<dummy>"));
-		equipment.add(new ItemPanel("<dummy>"));
-		equipment.add(new ItemPanel("<dummy>"));
-
-		inventory.add(new ItemPanel("<dummy>"));
-		inventory.add(new ItemPanel("<dummy>"));
-		inventory.add(new ItemPanel("<dummy>"));
-		inventory.add(new ItemPanel("<dummy>"));
-		inventory.add(new ItemPanel("<dummy>"));
-		inventory.add(new ItemPanel("<dummy>"));
-		inventory.add(new ItemPanel("<dummy>"));
-		inventory.add(new ItemPanel("<dummy>"));
+		scrollPane_1.setColumnHeaderView(lblInventory);		
 	}
 
 	public void setModel(DDCharacter model) {
-		// TODO Auto-generated method stub
+		equipment.removeAll();
+		inventory.removeAll();
 		
 	}
 

+ 1 - 1
src/org/leumasjaffe/charsheet/view/SummaryTab.java

@@ -2,7 +2,7 @@ package org.leumasjaffe.charsheet.view;
 
 import javax.swing.JPanel;
 
-import org.leumasjaffe.charsheet.entity.DDCharacter;
+import org.leumasjaffe.charsheet.model.DDCharacter;
 import org.leumasjaffe.charsheet.view.summary.AbilityPanel;
 import org.leumasjaffe.charsheet.view.summary.ArmorLine;
 import org.leumasjaffe.charsheet.view.summary.AttackLine;

+ 30 - 0
src/org/leumasjaffe/charsheet/view/inventory/ItemInfoMenu.java

@@ -0,0 +1,30 @@
+package org.leumasjaffe.charsheet.view.inventory;
+
+import javax.swing.JPopupMenu;
+
+import org.leumasjaffe.charsheet.model.equip.DDItem;
+import org.leumasjaffe.charsheet.model.equip.EquipmentSlot;
+
+import javax.swing.JMenuItem;
+
+public class ItemInfoMenu extends JPopupMenu {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	public ItemInfoMenu(DDItem item) {
+		
+		JMenuItem mntmInfo = new JMenuItem("Info");
+		add(mntmInfo);
+		
+		if ( item.getSlot() != EquipmentSlot.NONE ) {
+			JMenuItem mntmEquip = new JMenuItem("Equip");
+			add(mntmEquip);
+		}
+		
+		JMenuItem mntmRemove = new JMenuItem("Remove");
+		add(mntmRemove);
+	}
+
+}

+ 12 - 5
src/org/leumasjaffe/charsheet/view/inventory/ItemPanel.java

@@ -4,12 +4,17 @@ import javax.swing.JPanel;
 import java.awt.GridBagLayout;
 import java.awt.GridBagConstraints;
 import java.awt.Insets;
+
 import javax.swing.JLabel;
 import javax.swing.JTextField;
 import java.awt.Dimension;
 import java.awt.Font;
 import java.awt.Color;
 import javax.swing.SwingConstants;
+
+import org.leumasjaffe.charsheet.controller.inventory.PopClickListener;
+import org.leumasjaffe.charsheet.model.equip.DDItem;
+
 import java.awt.Component;
 import javax.swing.Box;
 
@@ -24,7 +29,7 @@ public class ItemPanel extends JPanel {
 	private JTextField valueField;
 	private JTextField pageField;
 
-	public ItemPanel(String string) {
+	public ItemPanel(DDItem item) {
 		setPreferredSize(new Dimension(280, 40));
 		GridBagLayout gbl_panel = new GridBagLayout();
 		gbl_panel.columnWidths = new int[]{0, 0, 0, 0, 0, 0};
@@ -109,7 +114,7 @@ public class ItemPanel extends JPanel {
 		gbc_lblPage.gridy = 1;
 		add(lblPage, gbc_lblPage);
 		
-		nameField = new JTextField();
+		nameField = new JTextField(item.getName());
 		GridBagConstraints gbc_nameField = new GridBagConstraints();
 		gbc_nameField.insets = new Insets(0, 0, 0, 0);
 		gbc_nameField.fill = GridBagConstraints.HORIZONTAL;
@@ -118,7 +123,7 @@ public class ItemPanel extends JPanel {
 		add(nameField, gbc_nameField);
 		nameField.setColumns(10);
 		
-		countField = new JTextField();
+		countField = new JTextField(Integer.toString(item.getNumber().value()));
 		GridBagConstraints gbc_countField = new GridBagConstraints();
 		gbc_countField.insets = new Insets(0, 0, 0, 0);
 		gbc_countField.fill = GridBagConstraints.HORIZONTAL;
@@ -136,7 +141,7 @@ public class ItemPanel extends JPanel {
 		add(weightField, gbc_weightField);
 		weightField.setColumns(10);
 		
-		valueField = new JTextField();
+		valueField = new JTextField(item.getValue().toString());
 		GridBagConstraints gbc_valueField = new GridBagConstraints();
 		gbc_valueField.insets = new Insets(0, 0, 0, 0);
 		gbc_valueField.fill = GridBagConstraints.HORIZONTAL;
@@ -145,13 +150,15 @@ public class ItemPanel extends JPanel {
 		add(valueField, gbc_valueField);
 		valueField.setColumns(10);
 		
-		pageField = new JTextField();
+		pageField = new JTextField(item.getPage().value());
 		GridBagConstraints gbc_pageField = new GridBagConstraints();
 		gbc_pageField.fill = GridBagConstraints.HORIZONTAL;
 		gbc_pageField.gridx = 4;
 		gbc_pageField.gridy = 2;
 		add(pageField, gbc_pageField);
 		pageField.setColumns(10);
+		
+		addMouseListener(new PopClickListener(new ItemInfoMenu(item)));
 	}
 
 }

+ 6 - 5
src/org/leumasjaffe/charsheet/view/summary/AbilityBox.java

@@ -1,11 +1,12 @@
 package org.leumasjaffe.charsheet.view.summary;
 
-import static org.leumasjaffe.charsheet.entity.AbilityScores.modifier;
-
 import javax.swing.JFormattedTextField;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import java.awt.Dimension;
+
+import static org.leumasjaffe.charsheet.model.AbilityScores.modifier;
+
 import java.awt.Color;
 import java.awt.GridBagLayout;
 import java.awt.GridBagConstraints;
@@ -13,13 +14,13 @@ import java.awt.Insets;
 
 import javax.swing.border.LineBorder;
 
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
-import org.leumasjaffe.charsheet.observer.ObservableController;
-import org.leumasjaffe.charsheet.observer.ObservableListener;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.charsheet.observer.helper.IntValueHelper;
 import org.leumasjaffe.charsheet.observer.helper.IntValueStringify;
 import org.leumasjaffe.charsheet.view.StringHelper;
 import org.leumasjaffe.graphics.NumberTextField;
+import org.leumasjaffe.observer.ObservableController;
+import org.leumasjaffe.observer.ObservableListener;
 
 import lombok.AccessLevel;
 import lombok.experimental.FieldDefaults;

+ 2 - 2
src/org/leumasjaffe/charsheet/view/summary/AbilityLine.java

@@ -6,8 +6,8 @@ import java.awt.Color;
 import java.awt.Font;
 import javax.swing.border.LineBorder;
 
-import org.leumasjaffe.charsheet.entity.AbilityScores;
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
+import org.leumasjaffe.charsheet.model.AbilityScores;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 
 import lombok.AccessLevel;
 import lombok.experimental.FieldDefaults;

+ 2 - 2
src/org/leumasjaffe/charsheet/view/summary/AbilityPanel.java

@@ -10,8 +10,8 @@ import java.util.function.Function;
 import java.awt.Dimension;
 import java.awt.Color;
 
-import org.leumasjaffe.charsheet.entity.AbilityScores;
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
+import org.leumasjaffe.charsheet.model.AbilityScores;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 
 import lombok.AccessLevel;
 import lombok.experimental.FieldDefaults;

+ 5 - 5
src/org/leumasjaffe/charsheet/view/summary/AttackLine.java

@@ -7,13 +7,13 @@ import java.awt.GridBagConstraints;
 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.model.AbilityScores;
+import org.leumasjaffe.charsheet.model.DDCharacter;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.charsheet.observer.helper.AbilModStringify;
 import org.leumasjaffe.charsheet.view.StringHelper;
+import org.leumasjaffe.observer.IndirectObservableListener;
+import org.leumasjaffe.observer.ObservableListener;
 
 import lombok.AccessLevel;
 import lombok.experimental.FieldDefaults;

+ 1 - 1
src/org/leumasjaffe/charsheet/view/summary/DescriptionPanel.java

@@ -7,7 +7,7 @@ import java.awt.Insets;
 import javax.swing.JTextField;
 import javax.swing.border.TitledBorder;
 
-import org.leumasjaffe.charsheet.entity.DDCharacter;
+import org.leumasjaffe.charsheet.model.DDCharacter;
 import org.leumasjaffe.charsheet.view.StringHelper;
 
 import lombok.AccessLevel;

+ 4 - 4
src/org/leumasjaffe/charsheet/view/summary/HealthLine.java

@@ -13,13 +13,13 @@ import java.awt.Dimension;
 import javax.swing.JTextField;
 import java.awt.Insets;
 
-import org.leumasjaffe.charsheet.entity.HitPoints;
-import org.leumasjaffe.charsheet.entity.viewable.IntValue;
-import org.leumasjaffe.charsheet.observer.ObservableController;
-import org.leumasjaffe.charsheet.observer.ObservableListener;
+import org.leumasjaffe.charsheet.model.HitPoints;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.charsheet.observer.helper.IntValueHelper;
 import org.leumasjaffe.charsheet.view.StringHelper;
 import org.leumasjaffe.graphics.NumberTextField;
+import org.leumasjaffe.observer.ObservableController;
+import org.leumasjaffe.observer.ObservableListener;
 
 import lombok.AccessLevel;
 import lombok.experimental.FieldDefaults;

+ 5 - 5
src/org/leumasjaffe/charsheet/view/summary/InitiativeLine.java

@@ -5,17 +5,17 @@ import java.awt.GridBagLayout;
 import javax.swing.JLabel;
 import java.awt.GridBagConstraints;
 
-import static org.leumasjaffe.charsheet.entity.AbilityScores.modifier;
+import static org.leumasjaffe.charsheet.model.AbilityScores.modifier;
 
 import java.awt.Color;
 import javax.swing.border.LineBorder;
 
-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.model.DDCharacter;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.charsheet.observer.helper.AbilModStringify;
 import org.leumasjaffe.charsheet.view.StringHelper;
+import org.leumasjaffe.observer.IndirectObservableListener;
+import org.leumasjaffe.observer.ObservableListener;
 
 import lombok.AccessLevel;
 import lombok.experimental.FieldDefaults;

+ 5 - 5
src/org/leumasjaffe/charsheet/view/summary/ResistanceLine.java

@@ -7,14 +7,14 @@ import java.awt.GridBagConstraints;
 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.model.AbilityScores;
+import org.leumasjaffe.charsheet.model.DDCharacter;
+import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.charsheet.observer.helper.AbilModStringify;
 import org.leumasjaffe.charsheet.view.StringHelper;
 import org.leumasjaffe.graphics.NumberTextField;
+import org.leumasjaffe.observer.IndirectObservableListener;
+import org.leumasjaffe.observer.ObservableListener;
 
 import lombok.AccessLevel;
 import lombok.experimental.FieldDefaults;

+ 2 - 2
src/org/leumasjaffe/charsheet/view/summary/ResistancePanel.java

@@ -2,8 +2,8 @@ package org.leumasjaffe.charsheet.view.summary;
 
 import javax.swing.JPanel;
 
-import org.leumasjaffe.charsheet.entity.AbilityScores;
-import org.leumasjaffe.charsheet.entity.DDCharacter;
+import org.leumasjaffe.charsheet.model.AbilityScores;
+import org.leumasjaffe.charsheet.model.DDCharacter;
 
 import java.awt.GridBagLayout;
 import java.awt.GridBagConstraints;

+ 1 - 1
src/org/leumasjaffe/charsheet/observer/IndirectObservableListener.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.observer;
+package org.leumasjaffe.observer;
 
 import java.util.Objects;
 import java.util.function.Function;

+ 1 - 1
src/org/leumasjaffe/charsheet/observer/Observable.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.observer;
+package org.leumasjaffe.observer;
 
 import java.util.UUID;
 

+ 2 - 2
src/org/leumasjaffe/charsheet/observer/ObservableController.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.observer;
+package org.leumasjaffe.observer;
 
 import java.util.Objects;
 import java.util.function.Consumer;
@@ -6,8 +6,8 @@ import java.util.function.Function;
 
 import javax.swing.text.JTextComponent;
 
-import org.leumasjaffe.charsheet.observer.helper.Helper;
 import org.leumasjaffe.event.AnyActionDocumentListener;
+import org.leumasjaffe.observer.helper.Helper;
 
 import lombok.experimental.FieldDefaults;
 import lombok.AccessLevel;

+ 1 - 1
src/org/leumasjaffe/charsheet/observer/ObservableListener.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.observer;
+package org.leumasjaffe.observer;
 
 import java.util.function.Function;
 

+ 1 - 1
src/org/leumasjaffe/charsheet/observer/ObserverDispatch.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.observer;
+package org.leumasjaffe.observer;
 
 import java.util.UUID;
 

+ 1 - 1
src/org/leumasjaffe/charsheet/observer/Subscriber.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.observer;
+package org.leumasjaffe.observer;
 
 @FunctionalInterface
 public interface Subscriber {

+ 2 - 2
src/org/leumasjaffe/charsheet/observer/helper/Helper.java

@@ -1,8 +1,8 @@
-package org.leumasjaffe.charsheet.observer.helper;
+package org.leumasjaffe.observer.helper;
 
 import java.util.function.BiFunction;
 
-import org.leumasjaffe.charsheet.observer.Observable;
+import org.leumasjaffe.observer.Observable;
 
 //  @FunctionalInterface
   public interface Helper<T extends Observable> extends BiFunction<String, T, Boolean> {

+ 1 - 1
src/org/leumasjaffe/charsheet/observer/helper/Stringify.java

@@ -1,4 +1,4 @@
-package org.leumasjaffe.charsheet.observer.helper;
+package org.leumasjaffe.observer.helper;
 
 import java.util.function.Function;