]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.debug.graphical/src/org/simantics/debug/graphical/GraphicalDebugger.java
7db2772b551ca0e6d58b646e0b9452e689be8d83
[simantics/platform.git] / bundles / org.simantics.debug.graphical / src / org / simantics / debug / graphical / GraphicalDebugger.java
1 package org.simantics.debug.graphical;
2
3 import java.awt.Toolkit;
4 import java.awt.event.KeyAdapter;
5 import java.awt.event.KeyEvent;
6 import java.awt.event.WindowAdapter;
7 import java.awt.event.WindowEvent;
8 import java.util.Arrays;
9
10 import javax.swing.JFrame;
11
12 public class GraphicalDebugger {
13
14     public static void newGraphDebugger() {
15         final JFrame frame = new JFrame();
16         frame.setTitle("Graph debugger");
17         Toolkit tk = Toolkit.getDefaultToolkit();
18         frame.setIconImages(Arrays.asList(
19                 tk.createImage(GraphicalDebugger.class.getResource("bug-icon1.png")),
20                 tk.createImage(GraphicalDebugger.class.getResource("bug-icon2.png")),
21                 tk.createImage(GraphicalDebugger.class.getResource("bug-icon3.png")),
22                 tk.createImage(GraphicalDebugger.class.getResource("bug-icon4.png"))
23                 ));
24         frame.setSize(800, 600);
25
26         final DebuggerCanvas canvas = new DebuggerCanvas();
27         frame.add(canvas);
28         
29         frame.addWindowListener(new WindowAdapter() {
30             @Override
31             public void windowGainedFocus(WindowEvent e) {
32                 canvas.repaint();
33             }
34         });
35         frame.addKeyListener(new UsefulKeyAdapter(new KeyAdapter() {
36             @Override
37             public void keyPressed(KeyEvent e) {
38                 canvas.keyPressed(e);
39             }
40             @Override
41             public void keyReleased(KeyEvent e) {
42                 canvas.keyReleased(e);
43             }
44         }));
45         
46         frame.addWindowListener(new WindowAdapter() {
47             
48             @Override
49             public void windowClosing(WindowEvent e) {
50                 frame.dispose();
51             }
52             
53         });        
54         frame.setVisible(true);
55     }
56     
57 }