/**
* $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.sparkplugin.preferences;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import org.jivesoftware.spark.component.VerticalFlowLayout;
import org.jivesoftware.spark.util.ResourceUtils;
/**
* Title: SIPark
* Description:JAIN-SIP Audio/Video phone application
*
* @author Thiago Rocha Camargo (thiago@jivesoftware.com)
* <p/>
* The <code>SipPreferencePanel</code> class created Spark Preferences Panel
* @version 1.0, 28/09/2006
*/
public class SipPreferencePanel extends JPanel {
private static final long serialVersionUID = 3514377990815313963L;
private JPanel generalPanel = new JPanel();
private JPanel networkPanel = new JPanel();
private JTextField userNameField = new JTextField();
private JTextField authUserNameField = new JTextField();
private JPasswordField passwordField = new JPasswordField();
private JTextField serverField = new JTextField();
private JCheckBox registerCheckBox = new JCheckBox();
private JTextField stunServerField = new JTextField();
private JTextField stunPortField = new JTextField();
private JCheckBox useStun = new JCheckBox();
private JLabel userNameLabel = new JLabel();
private JLabel authUserNameLabel = new JLabel();
private JLabel passwordLabel = new JLabel();
private JLabel serverLabel = new JLabel();
private JLabel stunServerLabel = new JLabel();
private JLabel stunPortLabel = new JLabel();
/**
* Constructor invokes UI setup.
*/
public SipPreferencePanel() {
// Build the UI
createUI();
}
private void createUI() {
setLayout(new VerticalFlowLayout());
// Setup Mnemonics
ResourceUtils.resLabel(userNameLabel, userNameField, "&Username:");
ResourceUtils.resLabel(authUserNameLabel, authUserNameField,
"&AuthUsername:");
ResourceUtils.resLabel(passwordLabel, passwordField, "&Password:");
ResourceUtils.resLabel(serverLabel, serverField, "&Server:");
ResourceUtils.resButton(registerCheckBox, "&Register in start");
ResourceUtils.resLabel(stunServerLabel, stunServerField,
"&Stun Server:");
ResourceUtils.resLabel(stunPortLabel, stunPortField, "&Stun Port:");
ResourceUtils.resButton(useStun, "&Use stun");
generalPanel.setBorder(BorderFactory
.createTitledBorder("General Information"));
add(generalPanel);
generalPanel.setLayout(new GridBagLayout());
generalPanel.add(userNameLabel, new GridBagConstraints(0, 1, 1, 1, 0.0,
0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
new Insets(5, 5, 5, 5), 0, 0));
generalPanel.add(userNameField, new GridBagConstraints(1, 1, 1, 1, 1.0,
0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
new Insets(5, 5, 5, 5), 100, 0));
generalPanel.add(authUserNameLabel, new GridBagConstraints(0, 2, 1, 1,
0.0, 0.0, GridBagConstraints.NORTHWEST,
GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
generalPanel.add(authUserNameField, new GridBagConstraints(1, 2, 1, 1,
1.0, 0.0, GridBagConstraints.NORTHWEST,
GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 100, 0));
generalPanel.add(passwordLabel, new GridBagConstraints(0, 3, 1, 1, 0.0,
0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
new Insets(5, 5, 5, 5), 0, 0));
generalPanel.add(passwordField, new GridBagConstraints(1, 3, 1, 1, 1.0,
0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
new Insets(5, 5, 5, 5), 100, 0));
generalPanel.add(serverLabel, new GridBagConstraints(0, 4, 1, 1, 0.0,
0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
new Insets(5, 5, 5, 5), 0, 0));
generalPanel.add(serverField, new GridBagConstraints(1, 4, 1, 1, 1.0,
0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
new Insets(5, 5, 5, 5), 100, 0));
generalPanel.add(registerCheckBox, new GridBagConstraints(1, 5, 1, 1,
1.0, 0.0, GridBagConstraints.NORTHWEST,
GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 100, 0));
// Network Panel
networkPanel.setBorder(BorderFactory
.createTitledBorder("Network Information"));
add(networkPanel);
networkPanel.setLayout(new GridBagLayout());
networkPanel.add(stunServerLabel, new GridBagConstraints(0, 1, 1, 1, 0.0,
0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
new Insets(5, 5, 5, 5), 0, 0));
networkPanel.add(stunServerField, new GridBagConstraints(1, 1, 1, 1, 1.0,
0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
new Insets(5, 5, 5, 5), 100, 0));
networkPanel.add(stunPortLabel, new GridBagConstraints(0, 2, 1, 1,
0.0, 0.0, GridBagConstraints.NORTHWEST,
GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
networkPanel.add(stunPortField, new GridBagConstraints(1, 2, 1, 1,
1.0, 0.0, GridBagConstraints.NORTHWEST,
GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 100, 0));
networkPanel.add(useStun, new GridBagConstraints(1, 3, 1, 1,
1.0, 0.0, GridBagConstraints.NORTHWEST,
GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 100, 0));
}
/**
* Returns the SIP password to use.
*
* @return the SIP password to use.
*/
public String getPassword() {
return new String(passwordField.getPassword());
}
/**
* Returns the SIP UserName to use.
*
* @return the SIP UserName to use.
*/
public String getUserName() {
return new String(userNameField.getText());
}
/**
* Returns the SIP AuthUserName to use.
*
* @return the SIP AuthUserName to use.
*/
public String getAuthUserName() {
return new String(authUserNameField.getText());
}
/**
* Returns the SIP Server to use.
*
* @return the SIP Server to use.
*/
public String getServer() {
return new String(serverField.getText());
}
/**
* Sets if SIPark should register at start.
*
* @return true if the user is registered.
*/
public boolean getRegister() {
return registerCheckBox.isSelected();
}
/**
* Sets the SIP password to use.
*
* @return the SIP password to use.
*/
public void setPassword(String pass) {
passwordField.setText(pass);
}
/**
* Sets the SIP UserName to use.
*
* @param user The SIP UserName to use.
*/
public void setUserName(String user) {
userNameField.setText(user);
}
/**
* Sets the SIP AuthUserName to use.
*
* @param auth SIP AuthUserName to use.
*/
public void setAuthUserName(String auth) {
authUserNameField.setText(auth);
}
/**
* Gets the Stun Server to use.
*
* @return the
* Stun Server to use.
*/
public String getStunServer() {
return stunServerField.getText();
}
/**
* Gets the Stun Port to use.
*
* @return the
* Stun Port to use.
*/
public String getStunPort() {
return stunPortField.getText();
}
/**
* Gets the Stun Use.
*
* @return the
* Stun Use.
*/
public boolean getUseStun() {
return useStun.isSelected();
}
/**
* Sets the Stun Server to use.
*
* @param server Stun Server to use.
*/
public void setStunServer(String server) {
stunServerField.setText(server);
}
/**
* Sets the Stun Port to use.
*
* @param port Stun Port to use.
*/
public void setStunPort(String port) {
stunPortField.setText(port);
}
/**
* Sets the Stun Use.
*
* @param use Stun Use.
*/
public void setUseStun(boolean use) {
useStun.setSelected(use);
}
/**
* Sets the SIP Server to use.
*
* @param server SIP Server to use.
*/
public void setServer(String server) {
serverField.setText(server);
}
/**
* Sets if SIPark should register at start.
*
* @param register value.
*/
public void setRegister(boolean register) {
registerCheckBox.setSelected(register);
}
}