/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.wizards.toolintegration; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.SWT; 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.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; /** * Dialog for renaming a configuration group. * * @author Sascha Zur */ public class WizardEditGroupTabNameDialog extends Dialog { private String oldName; private String newName; protected WizardEditGroupTabNameDialog(Shell parentShell, String oldName) { super(parentShell); this.oldName = oldName; } @Override protected Control createDialogArea(Composite parent) { Composite content = new Composite(parent, SWT.NONE); content.setLayout(new GridLayout(2, false)); content.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL)); new Label(content, SWT.None).setText(Messages.newGroupName); final Text newNameText = new Text(content, SWT.BORDER); newNameText.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL)); newNameText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent arg0) { newName = newNameText.getText(); validate(); } }); newNameText.setText(oldName); return content; } @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setText(Messages.edit); } private void validate() { boolean enabled = true; if (newName == null || newName.isEmpty()) { enabled = false; } if (getButton(IDialogConstants.OK_ID) != null) { getButton(IDialogConstants.OK_ID).setEnabled(enabled); } } public String getNewName() { return newName; } }