~spl-devel/spl/default-branch

« back to all changes in this revision

Viewing changes to src/solver/Gui.jak

  • Committer: boxl
  • Author(s): Boxleitner Stefan
  • Date: 2009-09-10 14:34:29 UTC
  • Revision ID: boxl-20090910143429-pozo7fi2lu9efy7g
alternativĀ solverĀ implementation

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
import javax.swing.JMenu;
4
4
import javax.swing.JMenuItem;
 
5
import java.awt.event.MouseEvent;
 
6
import java.awt.event.MouseListener;
 
7
import java.awt.event.KeyEvent;
 
8
import java.awt.event.KeyListener;
5
9
 
6
10
public refines class Gui {
7
 
        
8
 
        protected JMenu createOptionsMenu() {
9
 
                JMenu optionsMenu = Super().createOptionsMenu();
10
 
                optionsMenu.add(createSolutionMenuItem());
11
 
                return optionsMenu;
12
 
        }
13
 
        
14
 
        protected JMenuItem createSolutionMenuItem() {
15
 
                Solver solver = new Solver(); 
16
 
            JMenuItem solutionMenuItem = new JMenuItem();
17
 
            solutionMenuItem.setText("Solution");
18
 
            solutionMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
19
 
                    Event.CTRL_MASK, true));
20
 
            solutionMenuItem.addActionListener(listenerFactory
21
 
                    .getSolutionListener(solver));
22
 
                return solutionMenuItem;
 
11
 
 
12
    private static final int GLASS_PANE_ALPHA = 200;
 
13
 
 
14
    public void setBusy(boolean busy) {
 
15
        if (busy) {
 
16
            getGlassPane().setVisible(true);
 
17
        } else {
 
18
            getGlassPane().setVisible(false);
 
19
        }
 
20
    }
 
21
 
 
22
    refines Gui(ListenerFactory listenerFactory) {
 
23
        JPanel glassPane = new JPanel(new BorderLayout());
 
24
        glassPane.setBackground(
 
25
            new Color(Color.BLACK.getRed(), Color.BLACK.getGreen(),
 
26
                      Color.BLACK.getBlue(), GLASS_PANE_ALPHA));
 
27
        glassPane.addMouseListener(new MouseListener() {
 
28
 
 
29
            public void mousePressed(MouseEvent e) {
 
30
            }
 
31
 
 
32
            public void mouseReleased(MouseEvent e) {
 
33
            }
 
34
 
 
35
            public void mouseEntered(MouseEvent e) {
 
36
            }
 
37
 
 
38
            public void mouseExited(MouseEvent e) {
 
39
            }
 
40
 
 
41
            public void mouseClicked(MouseEvent e) {
 
42
            }
 
43
        });
 
44
 
 
45
        glassPane.addKeyListener(new KeyListener() {
 
46
 
 
47
            public void keyTyped(KeyEvent e) {
 
48
            }
 
49
 
 
50
            public void keyPressed(KeyEvent e) {
 
51
            }
 
52
 
 
53
            public void keyReleased(KeyEvent e) {
 
54
            }
 
55
        });
 
56
 
 
57
        JLabel label = new JLabel("Busy...", JLabel.CENTER);
 
58
        label.setForeground(Color.white);
 
59
        glassPane.add(label, BorderLayout.CENTER);
 
60
        setGlassPane(glassPane);
 
61
    }
 
62
 
 
63
    protected JMenu createOptionsMenu() {
 
64
        JMenu optionsMenu = Super().createOptionsMenu();
 
65
        optionsMenu.add(createSolutionHintMenuItem());
 
66
        return optionsMenu;
 
67
    }
 
68
 
 
69
    protected JMenuItem createSolutionHintMenuItem() {
 
70
        JMenuItem solutionMenuItem = new JMenuItem();
 
71
        solutionMenuItem.setText("Solution Hint");
 
72
        solutionMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
 
73
                                        Event.CTRL_MASK, true));
 
74
        solutionMenuItem.addActionListener(listenerFactory
 
75
                                           .getSolutionHintListener());
 
76
        return solutionMenuItem;
23
77
    }
24
78
}
 
 
b'\\ No newline at end of file'