chiark / gitweb /
Replace some occurences of PCTB with Jarrg, for new name
[jarrg-ian.git] / src / com / tedpearson / ypp / market / ControlPanel.java
1 package com.tedpearson.ypp.market;
2
3 import javax.swing.*;
4 import java.awt.*;
5 import java.awt.event.*;
6 import java.util.prefs.*;
7
8 /**
9 *       ControlPanel is a simple management utility that sets
10 *       a preference for which server(s) to upload to.
11 */
12 public class ControlPanel extends JFrame {
13         public static void main(String[] args) {
14                 new ControlPanel();
15         }
16         
17         public ControlPanel() {
18                 super("Jarrg Control Panel");
19                 final Preferences prefs = Preferences.userNodeForPackage(getClass());
20                 final JCheckBox toPCTB = new JCheckBox("Upload to PCTB?", prefs.getBoolean("uploadToPCTB", true));
21                 final JCheckBox toYarrg = new JCheckBox("Upload to Yarrg?", prefs.getBoolean("uploadToYarrg", true));
22                 final JCheckBox showArbitrage = new JCheckBox("Show arbitrage?", prefs.getBoolean("showArbitrage", false));
23
24                 final JRadioButton live = new JRadioButton("Use live servers");
25                 final JRadioButton testing = new JRadioButton("Use testing servers");
26                 
27                 live.setSelected(prefs.getBoolean("useLiveServers", true));
28                 testing.setSelected(!prefs.getBoolean("useLiveServers", true));
29
30                 ButtonGroup liveortest = new ButtonGroup();
31                 liveortest.add(live);
32                 liveortest.add(testing);
33
34                 String version_label = " version: " +
35                     com.tedpearson.ypp.market.Version.version;
36                 JLabel version = new JLabel(version_label);
37
38                 setLayout(new GridLayout(7,1));
39                 add(toPCTB);
40                 add(toYarrg);
41                 add(showArbitrage);
42                 add(live);
43                 add(testing);
44                 add(version);
45
46                 final int exitstatus = Integer.parseInt(System.getProperty("com.tedpearson.ypp.market.controlpanel.exitstatus", "0"));
47
48                 JButton but = new JButton("Save options");
49                 add(but);
50                 but.addActionListener(new ActionListener() {
51                         public void actionPerformed(ActionEvent e) {
52                                 prefs.putBoolean("uploadToPCTB", toPCTB.isSelected());
53                                 prefs.putBoolean("uploadToYarrg", toYarrg.isSelected());
54                                 prefs.putBoolean("showArbitrage", showArbitrage.isSelected());
55                                 prefs.putBoolean("useLiveServers", live.isSelected());
56                                 System.exit(exitstatus);
57                         }
58                 });
59                 pack();
60                 setLocationRelativeTo(null);
61                 setVisible(true);
62                 setSize(getWidth() + 10, getHeight() + 10);
63                 setDefaultCloseOperation(EXIT_ON_CLOSE);
64                 getRootPane().setDefaultButton(but);
65         }
66 }