119 lines
3.1 KiB
Java
119 lines
3.1 KiB
Java
/*
|
|
|
|
Copyright 2006 Rene Grothmann, modified by Eric Hakenholz
|
|
|
|
This file is part of C.a.R. software.
|
|
|
|
C.a.R. is a free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, version 3 of the License.
|
|
|
|
C.a.R. is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
package rene.dialogs;
|
|
|
|
import java.awt.BorderLayout;
|
|
import java.awt.FlowLayout;
|
|
import java.awt.Frame;
|
|
import java.awt.GridLayout;
|
|
|
|
import eric.JEricPanel;
|
|
|
|
import rene.gui.ButtonAction;
|
|
import rene.gui.CloseDialog;
|
|
import rene.gui.Global;
|
|
import rene.gui.HistoryTextField;
|
|
import rene.gui.MyLabel;
|
|
import rene.gui.MyPanel;
|
|
import rene.gui.Panel3D;
|
|
|
|
/**
|
|
* A simple dialog to scan for a parameter.
|
|
*/
|
|
|
|
public class GetParameter extends CloseDialog {
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = 1L;
|
|
HistoryTextField Input;
|
|
static public int InputLength;
|
|
String Result = "";
|
|
boolean Aborted = true;
|
|
|
|
public GetParameter(final Frame f, final String title, final String prompt,
|
|
final String action) {
|
|
this(f, title, prompt, action, false);
|
|
}
|
|
|
|
public GetParameter(final Frame f, final String title, final String prompt,
|
|
final String action, final String subject) {
|
|
super(f, title, true);
|
|
Subject = subject;
|
|
Input = new HistoryTextField(this, "Action", InputLength);
|
|
Input.addKeyListener(this);
|
|
init(f, title, prompt, action, true);
|
|
}
|
|
|
|
public GetParameter(final Frame f, final String title, final String prompt,
|
|
final String action, final boolean help) {
|
|
super(f, title, true);
|
|
Input = new HistoryTextField(this, "Action", InputLength);
|
|
Input.addKeyListener(this);
|
|
init(f, title, prompt, action, help);
|
|
}
|
|
|
|
void init(final Frame f, final String title, final String prompt,
|
|
final String action, final boolean help) {
|
|
setLayout(new BorderLayout());
|
|
final JEricPanel center = new MyPanel();
|
|
center.setLayout(new GridLayout(0, 1));
|
|
center.add(new MyLabel(prompt));
|
|
center.add(Input);
|
|
add("Center", new Panel3D(center));
|
|
final JEricPanel south = new MyPanel();
|
|
south.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
|
south.add(new ButtonAction(this, action, "Action"));
|
|
south.add(new ButtonAction(this, Global.name("abort"), "Abort"));
|
|
if (help)
|
|
south.add(new ButtonAction(this, Global.name("help", "Help"),
|
|
"Help"));
|
|
add("South", new Panel3D(south));
|
|
pack();
|
|
}
|
|
|
|
@Override
|
|
public void doAction(final String o) {
|
|
if (o.equals("Abort")) {
|
|
doclose();
|
|
} else if (o.equals("Action")) {
|
|
Result = Input.getText();
|
|
doclose();
|
|
Aborted = false;
|
|
} else
|
|
super.doAction(o);
|
|
}
|
|
|
|
public void set(final String s) {
|
|
Input.setText(s);
|
|
}
|
|
|
|
public String getResult() {
|
|
return Result;
|
|
}
|
|
|
|
public boolean aborted() {
|
|
return Aborted;
|
|
}
|
|
|
|
}
|