package org.consea.gui; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.jface.dialogs.TitleAreaDialog; import org.eclipse.swt.SWT; 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.Text; import org.eclipse.ui.PlatformUI; public class InputVariableNameToSearchDialog extends TitleAreaDialog { private Text txtValueToSearchFor; private String valueToSearchFor; public InputVariableNameToSearchDialog(String selectedText) { super(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); this.valueToSearchFor = selectedText; } @Override public void create() { super.create(); setTitle("Input search"); setMessage("Please enter something and Consea will list you all matching constants.", IMessageProvider.INFORMATION); } @Override protected Control createDialogArea(Composite parent) { Composite area = (Composite) super.createDialogArea(parent); Composite container = new Composite(area, SWT.NONE); container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout layout = new GridLayout(2, false); container.setLayout(layout); createValueToSearchForInput(container); return area; } private void createValueToSearchForInput(Composite container) { Label lbtValueToSearchFor = new Label(container, SWT.NONE); lbtValueToSearchFor.setText("Value to search for"); GridData dataValueToSearchFor = new GridData(); dataValueToSearchFor.grabExcessHorizontalSpace = true; dataValueToSearchFor.horizontalAlignment = GridData.FILL; txtValueToSearchFor = new Text(container, SWT.BORDER); txtValueToSearchFor.setLayoutData(dataValueToSearchFor); txtValueToSearchFor.setText(this.valueToSearchFor); } @Override protected boolean isResizable() { return true; } private void saveInput() { valueToSearchFor = txtValueToSearchFor.getText(); } @Override protected void okPressed() { saveInput(); super.okPressed(); } public String getValueToSearchFor() { return valueToSearchFor; } }