1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package org.xnap.platform.macos;
24
25 import org.xnap.gui.AboutDialog;
26 import org.xnap.gui.PreferencesDialog;
27 import org.xnap.gui.XNapFrame;
28
29 import com.apple.mrj.MRJAboutHandler;
30 import com.apple.mrj.MRJApplicationUtils;
31 import com.apple.mrj.MRJQuitHandler;
32
33 public class MacOSHandler
34 implements MRJAboutHandler,
35
36 private MacOSHandler()
37 {
38 }
39
40 public static void register()
41 {
42 if (MRJApplicationUtils.isMRJToolkitAvailable()) {
43 MacOSHandler h = new MacOSHandler();
44 MRJApplicationUtils.registerAboutHandler(h);
45
46 MRJApplicationUtils.registerQuitHandler(h);
47 }
48 }
49
50 public void handleAbout()
51 {
52 AboutDialog.showDialog(XNapFrame.getInstance());
53 }
54
55 public void handlePrefs()
56 {
57 PreferencesDialog.showDialog(XNapFrame.getInstance());
58 }
59
60 public void handleQuit()
61 {
62 if (!XNapFrame.getInstance().exit()) {
63
64 throw new IllegalStateException();
65 }
66 }
67
68 }