/**
* $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 java.awt.Component;
import java.awt.FocusTraversalPolicy;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.jivesoftware.resource.Res;
import org.jivesoftware.spark.component.focus.SpecifiedOrderFocusTraversalPolicy;
import org.jivesoftware.spark.util.ResourceUtils;
public class HomePanel extends JPanel {
private static final long serialVersionUID = -838061087276345124L;
private JLabel streetLabel = new JLabel();
private JLabel cityLabel = new JLabel();
private JLabel stateLabel = new JLabel();
private JLabel zipCodeLabel = new JLabel();
private JLabel countryLabel = new JLabel();
private JTextField cityField = new JTextField();
private JTextField stateField = new JTextField();
private JTextField zipCodeField = new JTextField();
private JTextField countryField = new JTextField();
private JTextField streetField = new JTextField();
private JLabel phoneLabel = new JLabel();
private JLabel faxLabel = new JLabel();
private JLabel pagerLabel = new JLabel();
private JLabel mobileLabel = new JLabel();
private JTextField phoneField = new JTextField();
private JTextField faxField = new JTextField();
private JTextField pagerField = new JTextField();
private JTextField mobileField = new JTextField();
private JTextField webPageField = new JTextField();
public HomePanel() {
this.setLayout(new GridBagLayout());
// Setup Resources
ResourceUtils.resLabel(streetLabel, streetField, Res.getString("label.street.address") + ":");
ResourceUtils.resLabel(cityLabel, cityField, Res.getString("label.city") + ":");
ResourceUtils.resLabel(stateLabel, stateField, Res.getString("label.state.and.province") + ":");
ResourceUtils.resLabel(zipCodeLabel, zipCodeField, Res.getString("label.postal.code") + ":");
ResourceUtils.resLabel(countryLabel, countryField, Res.getString("label.country") + ":");
ResourceUtils.resLabel(phoneLabel, phoneField, Res.getString("label.phone") + ":");
ResourceUtils.resLabel(faxLabel, faxField, Res.getString("label.fax") + ":");
ResourceUtils.resLabel(mobileLabel, mobileField, Res.getString("label.mobile") + ":");
ResourceUtils.resLabel(pagerLabel, pagerField, Res.getString("label.pager") + ":");
this.add(streetLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(streetField, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
this.add(cityLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(cityField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
this.add(stateLabel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(stateField, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
this.add(zipCodeLabel, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(zipCodeField, new GridBagConstraints(1, 3, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
this.add(countryLabel, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(countryField, new GridBagConstraints(1, 4, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
this.add(phoneLabel, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(faxLabel, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(pagerLabel, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(mobileLabel, new GridBagConstraints(2, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
this.add(phoneField, new GridBagConstraints(3, 0, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
this.add(faxField, new GridBagConstraints(3, 1, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
this.add(pagerField, new GridBagConstraints(3, 2, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
this.add(mobileField, new GridBagConstraints(3, 3, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
final Component order[] = new Component[] {
streetField, cityField, stateField,
zipCodeField,countryField, phoneField,
faxField, pagerField, mobileField,
};
FocusTraversalPolicy policy = new SpecifiedOrderFocusTraversalPolicy(order);
setFocusTraversalPolicy(policy);
setFocusTraversalPolicyProvider(true);
}
public void setStreetAddress(String address) {
streetField.setText(address);
}
public String getStreetAddress() {
return streetField.getText();
}
public void setCity(String city) {
cityField.setText(city);
}
public String getCity() {
return cityField.getText();
}
public void setState(String state) {
stateField.setText(state);
}
public String getState() {
return stateField.getText();
}
public void setZipCode(String zip) {
zipCodeField.setText(zip);
}
public String getZipCode() {
return zipCodeField.getText();
}
public void setCountry(String country) {
countryField.setText(country);
}
public String getCountry() {
return countryField.getText();
}
public void setPhone(String phone) {
phoneField.setText(phone);
}
public String getPhone() {
return phoneField.getText();
}
public void setFax(String fax) {
faxField.setText(fax);
}
public String getFax() {
return faxField.getText();
}
public void setPager(String pager) {
pagerField.setText(pager);
}
public String getPager() {
return pagerField.getText();
}
public void setMobile(String mobile) {
mobileField.setText(mobile);
}
public String getMobile() {
return mobileField.getText();
}
public void setWebPage(String webPage) {
webPageField.setText(webPage);
}
public String getWebPage() {
return webPageField.getText();
}
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);
}
}
}
}
}