/******************************************************************************* * Copyright (c) 2015 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.foundation.ui.credentials; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.jboss.tools.foundation.core.credentials.ICredentialDomain; public class ChooseCredentialComposite extends Composite { public static final int STYLE_STANDARD = 1; public static final int STYLE_PASSWORD_OVERRIDE = 2; protected ChooseCredentialComponent component; /** * Draw the credential selection composite allowing all domains */ public ChooseCredentialComposite(Composite parent) { this(parent, null); } /** * Draw the credential selection composite allowing selected domains, * or, if null, all domains. * * @param parent The parent composite * @param domains The selected domains, or null to mean all domains */ public ChooseCredentialComposite(Composite parent, String[] domains) { this(parent, domains, null); } /** * * @param parent * @param domains * @param selectedUsername */ public ChooseCredentialComposite(Composite parent, String[] domains, String selectedUsername) { this(parent, domains, selectedUsername, STYLE_STANDARD); } public ChooseCredentialComposite(Composite parent, String[] domains, String selectedUsername, int type) { super(parent, SWT.NONE); if( type == STYLE_STANDARD) component = new ChooseCredentialComponent(domains, selectedUsername); else if( type == STYLE_PASSWORD_OVERRIDE) component = new ChooseCredentialOverridePasswordComponent(domains, selectedUsername); setLayout(new GridLayout(3, false)); component.create(this); component.gridLayout(3); } public void addCredentialListener(ICredentialCompositeListener listener) { component.addCredentialListener(listener); } public void removeCredentialListener(ICredentialCompositeListener listener) { component.removeCredentialListener(listener); } public ICredentialDomain getDomain() { return component.getDomain(); } public String getUser() { return component.getUser(); } public String getPassword() { return component.getPassword(); } public void setEnabled (boolean enabled) { component.setEnabled(enabled); } }