
org.microemu.app.ui.swt.SwtInputDialog Maven / Gradle / Ivy
/*
* MicroEmulator
* Copyright (C) 2002-2003 Bartek Teodorczyk
*
* It is licensed under the following two licenses as alternatives:
* 1. GNU Lesser General Public License (the "LGPL") version 2.1 or any newer version
* 2. Apache License (the "AL") Version 2.0
*
* You may not use this file except in compliance with at least one of
* the above two licenses.
*
* You may obtain a copy of the LGPL at
* http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
*
* You may obtain a copy of the AL at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the LGPL or the AL for the specific language governing permissions and
* limitations.
*/
package org.microemu.app.ui.swt;
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;
public class SwtInputDialog extends SwtDialog
{
private String title;
private String message;
private String value;
public SwtInputDialog(Shell parentShell, String title, String message)
{
super(parentShell);
this.title = title;
this.message = message;
}
public String getValue()
{
return value;
}
protected void configureShell(Shell shell)
{
super.configureShell(shell);
if (title != null) {
shell.setText(title);
}
}
protected Control createDialogArea(Composite composite)
{
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 1;
composite.setLayout(gridLayout);
Label lbMessage = new Label(composite, SWT.NONE);
lbMessage.setText(message);
lbMessage.setLayoutData(new GridData(GridData.FILL_BOTH));
final Text txInput = new Text(composite, SWT.SINGLE | SWT.BORDER);
GridData gridData =
new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
gridData.widthHint = txInput.getLineHeight() * 15;
txInput.setLayoutData(gridData);
txInput.addModifyListener(new ModifyListener()
{
public void modifyText(ModifyEvent e)
{
value = txInput.getText();
}
});
return composite;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy