ViewMacroDialog.java revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* ident "%Z%%M% %I% %E% SMI"
*
* Copyright 1998-2002 by Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/**
* This dialog allows the user to view the contents of a macro,
*/
public class ViewMacroDialog extends JDialog {
class MacroTableModel extends AbstractTableModel {
public MacroTableModel() {
}
public MacroTableModel(Macro m) {
super();
setMacro(m);
}
macro = m;
}
public int getRowCount() {
return macro.optionCount();
}
public int getColumnCount() {
return 2;
}
OptionValue v = null;
try {
} catch (ArrayIndexOutOfBoundsException e) {
return null;
}
if (v == null) {
return null;
}
switch (column) {
case 0:
return v.getName();
case 1:
return v.getValue();
default:
return null;
}
}
switch (column) {
case 0:
case 1:
return String.class;
default:
super.getColumnClass(column);
}
return null;
}
switch (column) {
case 0:
case 1:
default:
super.getColumnName(column);
}
return null;
}
}
private JTextField name;
private AutosizingTable macroTable;
private MacroTableModel macroTableModel;
private JButton closeButton;
/**
* Construct the dialog.
* @arg owner The owning dialog
* @arg c The component relative to which we should be positioned
* @arg macro The macro we're viewing
*/
super(owner);
name.setEditable(false);
macroTableModel = new MacroTableModel();
// Resize table as otherwise it asks for a huge area
d.height = 100;
d.width = 300;
public void actionPerformed(ActionEvent e) {
setVisible(false);
dispose();
}
});
}
}