107 lines
3.1 KiB
Java
107 lines
3.1 KiB
Java
/*******************************************************************************
|
|
* Copyright (c) 2023 MINRES Technologies GmbH and others.
|
|
* All rights reserved. This program and the accompanying materials
|
|
* are 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:
|
|
* MINRES Technologies GmbH - initial API and implementation
|
|
*******************************************************************************/
|
|
package com.minres.scviewer.e4.application.parts;
|
|
|
|
import org.eclipse.jface.dialogs.IDialogConstants;
|
|
import org.eclipse.jface.dialogs.TitleAreaDialog;
|
|
import org.eclipse.swt.SWT;
|
|
import org.eclipse.swt.graphics.Point;
|
|
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.Label;
|
|
import org.eclipse.swt.widgets.Text;
|
|
|
|
public class TextInputDialog extends TitleAreaDialog {
|
|
|
|
private Text txtLabel;
|
|
private String txt = "";
|
|
/**
|
|
* Create the dialog.
|
|
* @param parentShell
|
|
*/
|
|
public TextInputDialog(Shell parentShell) {
|
|
super(parentShell);
|
|
}
|
|
|
|
/**
|
|
* Create contents of the dialog.
|
|
* @param parent
|
|
*/
|
|
@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);
|
|
|
|
Label lbtFirstName = new Label(container, SWT.NONE);
|
|
lbtFirstName.setText("New Label: ");
|
|
|
|
GridData dataFirstName = new GridData();
|
|
dataFirstName.grabExcessHorizontalSpace = true;
|
|
dataFirstName.horizontalAlignment = GridData.FILL;
|
|
|
|
txtLabel = new Text(container, SWT.BORDER);
|
|
txtLabel.setLayoutData(dataFirstName);
|
|
txtLabel.setText(txt);
|
|
|
|
return area;
|
|
}
|
|
|
|
/**
|
|
* Create contents of the button bar.
|
|
* @param parent
|
|
*/
|
|
@Override
|
|
protected void createButtonsForButtonBar(Composite parent) {
|
|
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
|
|
createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
|
|
}
|
|
|
|
@Override
|
|
protected boolean isResizable() {
|
|
return true;
|
|
}
|
|
|
|
// save content of the Text fields because they get disposed
|
|
// as soon as the Dialog closes
|
|
private void saveInput() {
|
|
txt = txtLabel.getText();
|
|
}
|
|
/**
|
|
* Return the initial size of the dialog.
|
|
*/
|
|
@Override
|
|
protected Point getInitialSize() {
|
|
return new Point(400, 250);
|
|
}
|
|
|
|
@Override
|
|
protected void okPressed() {
|
|
saveInput();
|
|
super.okPressed();
|
|
}
|
|
|
|
public String getText() {
|
|
return txt;
|
|
}
|
|
|
|
public void setText(String text) {
|
|
txt=text;
|
|
if(txtLabel!=null)
|
|
txtLabel.setText(text);
|
|
}
|
|
}
|