1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.dishevelled.venn.cytoscape;
25
26 import java.awt.Toolkit;
27
28 import java.awt.event.ActionEvent;
29 import java.awt.event.KeyEvent;
30 import java.awt.event.WindowEvent;
31
32 import javax.swing.AbstractAction;
33 import javax.swing.Action;
34 import javax.swing.KeyStroke;
35 import javax.swing.JComponent;
36 import javax.swing.JDialog;
37 import javax.swing.JRootPane;
38
39 import cytoscape.CyNode;
40 import cytoscape.groups.CyGroup;
41
42
43
44
45
46
47 final class VennDiagramsUtils
48 {
49
50
51
52
53
54
55
56 static String nameOf(final CyGroup group)
57 {
58 return group.getGroupName();
59 }
60
61
62
63
64
65
66
67 static String nameOf(final CyNode node)
68 {
69 return node.toString();
70 }
71
72
73
74
75
76
77 static void installCloseKeyBinding(final JDialog dialog)
78 {
79 Action close = new AbstractAction()
80 {
81
82 public void actionPerformed(final ActionEvent event)
83 {
84 dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING));
85 }
86 };
87 int menuKeyMask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
88 KeyStroke closeStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W, menuKeyMask);
89 JRootPane rootPane = dialog.getRootPane();
90 rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(closeStroke, "close");
91 rootPane.getActionMap().put("close", close);
92 }
93 }