// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.gui.oauth;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import org.openstreetmap.josm.gui.preferences.server.UserNameValidator;
import org.openstreetmap.josm.gui.widgets.JosmPasswordField;
import org.openstreetmap.josm.gui.widgets.JosmTextField;
import org.openstreetmap.josm.gui.widgets.SelectAllOnFocusGainedDecorator;
public class FullyAutomaticPropertiesPanel extends JPanel {
private final JosmTextField tfUserName = new JosmTextField();
private final JosmPasswordField tfPassword = new JosmPasswordField();
/**
* Constructs a new {@code FullyAutomaticPropertiesPanel}.
*/
public FullyAutomaticPropertiesPanel() {
setLayout(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
gc.anchor = GridBagConstraints.NORTHWEST;
gc.fill = GridBagConstraints.HORIZONTAL;
gc.weightx = 1.0;
add(buildUserNamePasswordPanel(), gc);
gc.gridy = 1;
gc.weighty = 1.0;
gc.fill = GridBagConstraints.BOTH;
add(new JPanel(), gc);
}
protected final JPanel buildUserNamePasswordPanel() {
JPanel pnl = new JPanel(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
gc.anchor = GridBagConstraints.NORTHWEST;
gc.fill = GridBagConstraints.HORIZONTAL;
gc.weightx = 0.0;
gc.insets = new Insets(0, 0, 3, 3);
pnl.add(new JLabel(tr("Username: ")), gc);
gc.gridx = 1;
gc.weightx = 1.0;
pnl.add(tfUserName, gc);
SelectAllOnFocusGainedDecorator.decorate(tfUserName);
UserNameValidator valUserName = new UserNameValidator(tfUserName);
valUserName.validate();
gc.anchor = GridBagConstraints.NORTHWEST;
gc.fill = GridBagConstraints.HORIZONTAL;
gc.gridy = 1;
gc.gridx = 0;
gc.weightx = 0.0;
pnl.add(new JLabel(tr("Password: ")), gc);
gc.gridx = 1;
gc.weightx = 1.0;
pnl.add(tfPassword, gc);
SelectAllOnFocusGainedDecorator.decorate(tfPassword);
return pnl;
}
}