aboutsummaryrefslogtreecommitdiff
path: root/src/com/snilius/xquery/XQuisitor.java
blob: c5e3722e16439728568c801f312377038e2f7ea8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//  Copyright 2003, 2004 Elliotte Rusty Harold
//
//  This file is part of XQuisitor.
//
//  XQuisitor is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published 
//  by the Free Software Foundation; either version 2 of the License, 
//  or (at your option) any later version.
//
//  XQuisitor is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with XQuisitor; if not, write to the 
//
//  Free Software Foundation, Inc. 
//  59 Temple Place, Suite 330
//  Boston, MA  02111-1307  USA
//
// In addition, as a special exception, Elliotte Rusty Harold gives
// permission to link the code of this program with the Saxon-B library (or
// with modified versions of Saxon-B that use the same license as Saxon-B), 
// and distribute linked combinations including the two. You must obey the 
// GNU General Public License in all respects for all of the code used other
// than Saxon-B. If you modify this file, you may extend this exception to 
// your version of the file, but you are not obligated to do so. If you do 
// not wish to do so, delete this exception statement from your version.
    
package com.snilius.xquery;

import java.awt.EventQueue;

import javax.swing.JOptionPane;
import javax.swing.UIManager;

/**
 * <p>
 *   The driver program for XQuisitor.
 * </p>
 * 
 * @author Elliotte Rusty Harold
 * @version 1.0a5
 */
class XQuisitor {
    // write a shell script to launch it????


    public static void main(String[] args) {
        
        initAppleProperties();
        
        try {
            UIManager.setLookAndFeel(
              UIManager.getSystemLookAndFeelClassName());
        } 
        catch (Exception ex) {
            // no big deal; just use Metal
        }
        
        try {
            QueryFrame frame = new QueryFrame();
            Runnable runner = new FrameDisplayer(frame);
            EventQueue.invokeLater(runner);
        }
        catch (NoClassDefFoundError ex) {
            if (ex.getMessage().indexOf("saxon") != -1) {
                JOptionPane.showMessageDialog(null, 
                  "Saxon 8 is not in the CLASSPATH. (Try using -Xbootclasspath/p:)"
                );
            }
            else {
                ex.printStackTrace();
            }
            System.exit(1);
        }
        
    }

    private static void initAppleProperties() {
        // see http://developer.apple.com/documentation/ReleaseNotes/Java/java141/system_properties/chapter_4_section_3.html
        System.setProperty("apple.laf.useScreenMenuBar", "true");
        System.setProperty("com.apple.mrj.application.apple.menu.about.name", "XQuisitor");
        System.setProperty("apple.awt.showGrowBox", "true");  
    }
    
}