/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.runtime.ui.connection; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.teiid.designer.runtime.ui.DqpUiConstants; import org.teiid.designer.ui.common.InternalUiConstants; import org.teiid.designer.ui.common.util.WidgetFactory; import org.teiid.designer.ui.common.widget.Dialog; import org.teiid.designer.ui.common.widget.Label; /** * * * @since 8.0 */ public class PreviewMissingPasswordDialog extends Dialog implements InternalUiConstants.Widgets { //============================================================================================================================ // Constants private static final String TITLE = DqpUiConstants.UTIL.getString("PreviewMissingPasswordDialog.title"); //$NON-NLS-1$ private static final int COLUMN_COUNT = 2; //============================================================================================================================ // Variables private Text pwdFld; private String pwd; private String message; //============================================================================================================================ // Constructors /**<p> * </p> * @param parent * @param title * @since 4.0 */ public PreviewMissingPasswordDialog(final Shell shell, String message) { super(shell, TITLE); this.message = message; } //============================================================================================================================ // Overridden Methods /**<p> * </p> * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) * @since 4.0 */ @Override protected Control createDialogArea(final Composite parent) { final Composite dlgPanel = (Composite)super.createDialogArea(parent); ((GridLayout)dlgPanel.getLayout()).numColumns = COLUMN_COUNT; Label msgLabel = WidgetFactory.createLabel(dlgPanel, this.message); GridData gd = new GridData(); gd.horizontalSpan = 2; gd.minimumWidth = 300; msgLabel.setLayoutData(gd); WidgetFactory.createLabel(dlgPanel, PASSWORD_LABEL); this.pwdFld = WidgetFactory.createPasswordField(dlgPanel); this.pwdFld.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { if( pwdFld.getText() != null && pwdFld.getText().length() > 0 ) { getButton(IDialogConstants.OK_ID).setEnabled(true); pwd = pwdFld.getText(); } else { pwd = ""; //$NON-NLS-1$ getButton(IDialogConstants.OK_ID).setEnabled(false); } } }); return dlgPanel; } /**<p> * </p> * @see org.eclipse.jface.window.Window#create() * @since 4.0 */ @Override public void create() { super.create(); getButton(IDialogConstants.OK_ID).setEnabled(false); } /**<p> * </p> * @see org.eclipse.jface.dialogs.Dialog#okPressed() * @since 4.0 */ @Override protected void okPressed() { //pwd = pwdFld.getText(); super.okPressed(); } /** * @return password */ public String getPassword() { return pwd; } }