• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *****************************************************************************
3  * Copyright (C) 2000-2004, International Business Machines Corporation and  *
4  * others. All Rights Reserved.                                              *
5  *****************************************************************************
6  */
7 package com.ibm.rbm.gui;
8 
9 import java.awt.*;
10 import java.awt.event.*;
11 
12 import javax.swing.*;
13 
14 import com.ibm.rbm.*;
15 
16 /**
17  * A dialog which allows the user to create a new Bundle Group
18  */
19 class BundleGroupEditDialog extends JDialog {
20 	BundleGroup group;
21 
22 	// Helper data
23 	int left_col_width = 125;
24 	int right_col_width = 275;
25 	int row_height = 25;
26 	Dimension leftDim = new Dimension(left_col_width, row_height);
27 	Dimension rightDim = new Dimension(right_col_width, row_height);
28 
29 	// Components
30 	Box mainBox = new Box(BoxLayout.Y_AXIS);
31 	Box box1 = new Box(BoxLayout.X_AXIS);
32 	Box box2 = new Box(BoxLayout.X_AXIS);
33 	Box box3 = new Box(BoxLayout.X_AXIS);
34 
35 	JLabel nameLabel = new JLabel(Resources.getTranslation("dialog_group"));
36 	JLabel commentLabel = new JLabel(Resources.getTranslation("dialog_group_comment"));
37 	JTextField nameField = new JTextField("");
38 	JTextField commentField = new JTextField("");
39 	JButton editButton = new JButton(Resources.getTranslation("button_edit"));
40 	JButton cancelButton = new JButton(Resources.getTranslation("button_cancel"));
41 
42 
BundleGroupEditDialog(BundleGroup group, JFrame frame, String title, boolean modal)43 	public BundleGroupEditDialog(BundleGroup group, JFrame frame, String title, boolean modal) {
44 		super(frame, title, modal);
45 		this.group = group;
46 		initComponents();
47 		enableEvents(AWTEvent.KEY_EVENT_MASK);
48 	}
49 
processKeyEvent(KeyEvent ev)50 	protected void processKeyEvent(KeyEvent ev) {
51 		if (ev.getKeyCode() == KeyEvent.VK_ENTER) {
52 			boolean success = editGroup();
53 			if (!success) {
54 				String alert = Resources.getTranslation("error_modify_group");
55 				JOptionPane.showMessageDialog(this, alert, Resources.getTranslation("error_internal"),
56 											  JOptionPane.ERROR_MESSAGE);
57 			} else {
58 				setVisible(false);
59 				dispose();
60 			}
61 		} else if (ev.getKeyCode() == KeyEvent.VK_CANCEL) {
62 			closeWindow();
63 		}
64 	}
65 
editGroup()66 	boolean editGroup() {
67 		if (group == null) return false;
68 		group.setName(nameField.getText().trim());
69 		group.setComment(commentField.getText().trim());
70 		return true;
71 	}
72 
initComponents()73 	private void initComponents(){
74 		// Error check
75 		if (group == null) {
76 			String alert = Resources.getTranslation("error_modify_group");
77 			JOptionPane.showMessageDialog(this, alert, Resources.getTranslation("error_internal"), JOptionPane.ERROR_MESSAGE);
78 			closeWindow();
79 			return;
80 		}
81 
82 		// Initialize values
83 
84 		// Set up the components
85 		nameLabel.setPreferredSize(leftDim);
86 		nameField.setColumns(30);
87 		commentLabel.setPreferredSize(leftDim);
88 		commentField.setColumns(30);
89 
90 		nameField.setText(group.getName());
91 		commentField.setText(group.getComment());
92 		getRootPane().setDefaultButton(editButton);
93 
94 		box1.add(nameLabel); box1.add(nameField);
95 		box2.add(commentLabel); box2.add(commentField);
96 		box3.add(editButton);
97 		box3.add(Box.createHorizontalStrut(5));
98 		box3.add(cancelButton);
99 
100 		// Add the appropriate listeners
101 		cancelButton.addActionListener(new ActionListener() {
102 			public void actionPerformed(ActionEvent ev) {
103 				JDialog dialog = (JDialog)((JButton)ev.getSource()).getParent().getParent().getParent().getParent().getParent();
104 				dialog.setVisible(false);
105 				dialog.dispose();
106 			}
107 		});
108 
109 		editButton.addActionListener(new ActionListener() {
110 			public void actionPerformed(ActionEvent ev) {
111 				BundleGroupEditDialog dialog =
112 					(BundleGroupEditDialog)((JButton)ev.getSource()).getParent().getParent().getParent().getParent().getParent();
113 				boolean success = dialog.editGroup();
114 				if (!success) {
115 					String alert = Resources.getTranslation("error_modify_group");
116 					JOptionPane.showMessageDialog(dialog, alert, Resources.getTranslation("error_internal"),
117 												  JOptionPane.ERROR_MESSAGE);
118 				} else {
119 					dialog.setVisible(false);
120 					dialog.dispose();
121 				}
122 			}
123 		});
124 
125 		// Complete the initialization of the frame
126 		setLocation(new java.awt.Point(50, 50));
127 		mainBox.removeAll();
128 		mainBox.add(box1);
129 		mainBox.add(Box.createVerticalStrut(5));
130 		mainBox.add(box2);
131 		getContentPane().setLayout(new BorderLayout());
132 		getContentPane().removeAll();
133 		getContentPane().add(mainBox, BorderLayout.CENTER);
134 		getContentPane().add(box3, BorderLayout.SOUTH);
135 		validateTree();
136 		pack();
137 		setVisible(true);
138 		//setResizable(false);
139 	}
140 
closeWindow()141 	void closeWindow() {
142 		setVisible(false);
143 		dispose();
144 	}
145 }
146 
147