1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License").  You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 *
24 * ident	"%Z%%M%	%I%	%E% SMI"
25 *
26 * Copyright (c) 1999 by Sun Microsystems, Inc.
27 * All rights reserved.
28 *
29 * helpTest.java
30 * Test harness for help subsystem
31 */
32
33package com.sun.admin.pm.client;
34
35import java.util.*;
36import java.awt.*;
37import java.awt.event.*;
38import java.util.*;
39import javax.swing.JPanel;
40import javax.swing.border.*;
41import javax.swing.event.*;
42import javax.swing.*;
43import com.sun.admin.pm.server.*;
44
45class helpTest {
46    static private pmHelpFrame helpFrame = null;
47
48    public static void main(String args[]) {
49
50        Debug.setDebugLevel(Debug.ERROR);
51
52        JFrame frame = new JFrame("Help Test Tool");
53        frame.addWindowListener(new WindowAdapter() {
54            public void windowClosing(WindowEvent e) {System.exit(0); }
55        });
56
57        helpFrame = new pmHelpFrame();
58        helpFrame.setLocation(180, 180);
59
60
61        JList theList = new JList();
62        theList.addMouseListener(new MouseAdapter() {
63            public void mouseClicked(MouseEvent e) {
64                if (e.getClickCount() == 2) {
65                    JList l = (JList) e.getSource();
66                    int i = l.locationToIndex(e.getPoint());
67                    Debug.message("doubleclick index: " + i);
68                    if (i >= 0) {
69                        String s = (String) l.getModel().getElementAt(i);
70                        Debug.message("doubleclick: " + s);
71                        helpFrame.showHelp(s);
72                    }
73                }
74            }
75        });
76
77        JScrollPane scrollPane = new JScrollPane();
78        scrollPane.getViewport().setView(theList);
79
80	JPanel tp = new JPanel();
81	tp.setLayout(new GridBagLayout());
82	GridBagConstraints pc = new GridBagConstraints();
83	pc.insets = new Insets(5, 5, 0, 5);
84	// pc.fill = GridBagConstraints.HORIZONTAL;
85	pc.weightx = 1.0;
86	pc.anchor = GridBagConstraints.WEST;
87	pc.gridx = 0;
88	pc.gridy = GridBagConstraints.RELATIVE;
89
90	tp.add(new JLabel("Double-click a tag to load it."), pc);
91	pc.insets = new Insets(0, 5, 5, 5);
92	tp.add(new JLabel(""), pc);
93
94        JPanel p = new JPanel();
95	p.setLayout(new GridBagLayout());
96
97        GridBagConstraints c = new GridBagConstraints();
98	c.insets = new Insets(5, 5, 5, 5);
99        c.gridwidth = GridBagConstraints.REMAINDER;
100        c.fill = GridBagConstraints.HORIZONTAL;
101	c.gridheight = 1;
102        c.gridx = 0;
103        c.gridy = 0;
104        c.weightx = 1.0;
105        c.weighty = 0.0;
106
107        c.anchor = GridBagConstraints.NORTH;
108	p.add(tp, c);
109
110	JPanel pp = new JPanel();
111	pp.setLayout(new BorderLayout());
112	pp.add(scrollPane, "Center");
113
114	c.gridy = GridBagConstraints.RELATIVE;
115	c.gridheight = 0;
116	c.weighty = 1.0;
117	c.weightx = 0.0;
118	c.fill = GridBagConstraints.BOTH;
119	c.anchor = GridBagConstraints.EAST;
120
121	p.add(pp, c);
122
123	p.setBorder(BorderFactory.createEtchedBorder());
124
125        frame.getContentPane().add("Center", p);
126
127        helpTestButtonPanel bp = new helpTestButtonPanel();
128        frame.getContentPane().add("South", bp);
129
130        p = new JPanel();
131        Vector v = new Vector();
132
133	ResourceBundle bundle = null;
134
135	try {
136            bundle = ResourceBundle.getBundle(
137		"com.sun.admin.pm.client.pmHelpResources");
138        } catch (MissingResourceException e) {
139            System.out.println("Could not load pmHelpResources file");
140            System.exit(-1);
141        }
142
143	Enumeration e = bundle.getKeys();
144	while (e.hasMoreElements()) {
145            String key = (String) e.nextElement();
146            if (key.endsWith(".tag")) {
147                String tagName = null;
148                try {
149                    tagName = bundle.getString(key);
150                } catch (MissingResourceException x) {
151                    System.out.println("Unable to find tag for " + key);
152                    continue;
153                }
154                v.addElement(tagName);
155            }
156        }
157
158        theList.setListData(v);
159		theList.removeSelectionInterval(
160			theList.getMinSelectionIndex(),
161			theList.getMaxSelectionIndex());
162		// theList.addSelectionInterval(3, 5);
163		// theList.disable();
164
165        frame.pack();
166        frame.setVisible(true);
167        frame.repaint();
168        System.err.println("Hello from main");
169
170    }
171
172    public void showHelpItem(String tag) {
173        helpFrame.showHelp(tag);
174    }
175
176}
177
178    class helpTestButtonPanel extends JPanel {
179        JButton dismiss;
180
181        public helpTestButtonPanel() {
182            add(dismiss = new JButton("Done"));
183            dismiss.addActionListener(new ActionListener() {
184                public void actionPerformed(ActionEvent e) {
185                    System.exit(0);
186                }
187            });
188        }
189    }
190
191
192
193
194
195
196
197