/**
* $RCSfile: ,v $
* $Revision: $
* $Date: $
*
* Copyright (C) 2004-2011 Jive Software. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jivesoftware.sparkimpl.profile;
import org.jivesoftware.resource.Res;
import org.jivesoftware.spark.util.ResourceUtils;
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class PersonalPanel extends JPanel {
private static final long serialVersionUID = 8348926698365178921L;
private JTextField firstNameField;
private JTextField middleNameField;
private JTextField lastNameField;
private JTextField nicknameField;
private JTextField emailAddressField;
private JTextField jidField;
private JLabel jidLabel = new JLabel();
public PersonalPanel() {
setLayout(new GridBagLayout());
// Handle First Name
JLabel firstNameLabel = new JLabel();
firstNameField = new JTextField();
ResourceUtils.resLabel(firstNameLabel, firstNameField, Res.getString("label.first.name") + ":");
add(firstNameLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
add(firstNameField, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
// Handle Middle Name
JLabel middleNameLabel = new JLabel();
middleNameField = new JTextField();
ResourceUtils.resLabel(middleNameLabel, middleNameField, Res.getString("label.middle.name") + ":");
add(middleNameLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
add(middleNameField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
// Handle Last Name
JLabel lastNameLabel = new JLabel();
lastNameField = new JTextField();
ResourceUtils.resLabel(lastNameLabel, lastNameField, Res.getString("label.last.name") + ":");
add(lastNameLabel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
add(lastNameField, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
// Handle Nickname
JLabel nicknameLabel = new JLabel();
nicknameField = new JTextField();
ResourceUtils.resLabel(nicknameLabel, nicknameField, Res.getString("label.nickname") + ":");
add(nicknameLabel, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
add(nicknameField, new GridBagConstraints(1, 4, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
// Handle Email Address
JLabel emaiAddressLabel = new JLabel();
emailAddressField = new JTextField();
ResourceUtils.resLabel(emaiAddressLabel, emailAddressField, Res.getString("label.email.address") + ":");
add(emaiAddressLabel, new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
add(emailAddressField, new GridBagConstraints(1, 5, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
jidField = new JTextField();
ResourceUtils.resLabel(jidLabel, jidField, Res.getString("label.jid") + ":");
add(jidLabel, new GridBagConstraints(0, 6, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
add(jidField, new GridBagConstraints(1, 6, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
jidLabel.setVisible(false);
jidField.setVisible(false);
}
public String getFirstName() {
return firstNameField.getText();
}
public void setFirstName(String firstName) {
firstNameField.setText(firstName);
}
public void setMiddleName(String middleName) {
middleNameField.setText(middleName);
}
public String getMiddleName() {
return middleNameField.getText();
}
public void setLastName(String lastName) {
lastNameField.setText(lastName);
}
public String getLastName() {
return lastNameField.getText();
}
public void setNickname(String nickname) {
nicknameField.setText(nickname);
}
public String getNickname() {
return nicknameField.getText();
}
public void setEmailAddress(String emailAddress) {
emailAddressField.setText(emailAddress);
}
public String getEmailAddress() {
return emailAddressField.getText();
}
public void focus() {
firstNameField.requestFocus();
}
public void setJID(String jid) {
jidField.setText(jid);
}
public void showJID(boolean show) {
jidLabel.setVisible(show);
jidField.setVisible(show);
}
public void allowEditing(boolean allowEditing) {
Component[] comps = getComponents();
if (comps != null) {
final int no = comps.length;
for (int i = 0; i < no; i++) {
Component comp = comps[i];
if (comp instanceof JTextField) {
((JTextField)comp).setEditable(allowEditing);
}
}
}
}
}