|
|
@@ -18,12 +18,15 @@ import javax.swing.JPanel;
|
|
|
import javax.swing.JMenuBar;
|
|
|
import javax.swing.JMenu;
|
|
|
import javax.swing.JMenuItem;
|
|
|
+import javax.swing.JOptionPane;
|
|
|
import javax.swing.KeyStroke;
|
|
|
import javax.swing.UIManager;
|
|
|
|
|
|
import org.leumasjaffe.charsheet.model.DDCharacter;
|
|
|
import org.leumasjaffe.charsheet.model.DDCharacterClass;
|
|
|
+import org.leumasjaffe.charsheet.model.observable.IntValue;
|
|
|
import org.leumasjaffe.charsheet.observer.ObserverHelper;
|
|
|
+import org.leumasjaffe.observer.ObserverDispatch;
|
|
|
|
|
|
import java.awt.event.KeyEvent;
|
|
|
import java.awt.event.WindowEvent;
|
|
|
@@ -114,6 +117,17 @@ public class D20Sheet extends JFrame {
|
|
|
menuBar.add(mnSession);
|
|
|
|
|
|
JMenuItem mntmGainExperience = new JMenuItem("Gain Experience");
|
|
|
+ mntmGainExperience.addActionListener(e -> {
|
|
|
+ // TODO move to own thing?
|
|
|
+ final String input = JOptionPane.showInputDialog("How much experience");
|
|
|
+ if (input == null || input.isEmpty()) return;
|
|
|
+ final int exp = Integer.parseInt(input);
|
|
|
+ if (exp <= 0) return;
|
|
|
+ final IntValue mdlExp = this.model.getExperience();
|
|
|
+ mdlExp.value(mdlExp.value()+exp);
|
|
|
+ ObserverDispatch.notifySubscribers(mdlExp, this);
|
|
|
+ DialogBuilder.showLevelUpDialog(this, this.model, 0);
|
|
|
+ });
|
|
|
mnSession.add(mntmGainExperience);
|
|
|
|
|
|
JMenuItem mntmTakeRest = new JMenuItem("Take Rest");
|