summaryrefslogtreecommitdiff
path: root/java/src/IceGrid/LicenseDialog.java
blob: 8e4db1bd448b62c6e930a846d17615cb14f8621d (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
// **********************************************************************
//
// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
package IceGrid;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Frame;

import java.awt.event.ActionEvent;

import javax.swing.JDialog;
import javax.swing.JEditorPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLFrameHyperlinkEvent;

import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;

import com.jgoodies.forms.factories.Borders;

//
// Shows Ice license and warranty
//
public class LicenseDialog extends JDialog
{
    public LicenseDialog(Frame parentFrame) 
    {
	super(parentFrame, "License - IceGrid Admin", false);
	setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
	
	try
	{
	    _pane = new JEditorPane(Utils.class.getResource("/license.html"));
	}
	catch(java.io.IOException e)
	{
	    _pane = new JEditorPane();
	    _pane.setText("Cannot find license.html");
	}
	_pane.setEditable(false);

	_pane.addHyperlinkListener(new HyperlinkListener()
	    {
		public void hyperlinkUpdate(HyperlinkEvent e) 
		{
		    if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) 
		    {
			_pane.scrollToReference(e.getURL().getRef());
		    }
		}
	    });
	Dimension prefSize = new Dimension(700, 500);
	_pane.setPreferredSize(prefSize);

	JScrollPane scrollPane = new JScrollPane(_pane);
	scrollPane.setBorder(Borders.DIALOG_BORDER);
	getContentPane().add(scrollPane, BorderLayout.CENTER);
	pack();
    }

    
    public void show(String ref)
    {
	setLocationRelativeTo(null);
	setVisible(true);
	_pane.scrollToReference(ref);
    }

    JEditorPane _pane;
}