package bluej.pkgmgr;
import bluej.Config;
import bluej.extensions.SourceType;
import bluej.utility.JavaNames;
import bluej.utility.javafx.dialog.InputDialog;
import javafx.stage.Window;
import threadchecker.OnThread;
import threadchecker.Tag;
| Dialog for duplicating a Java/Stride class.
|
| @author Amjad Altadmri
|
@OnThread(Tag.FXPlatform)
public class DuplicateClassDialog extends InputDialog<String>{
| Creates a DuplicateClassDialog, which prompts the user to enter (or confirm a suggested) name for the new class.
|
| @param parent the PkgMgrFrame's window which represents the package working on.
| @param name the suggested name for the duplicated class.
| @param sourceType the type of the class's source; currently, Java or Stride.
|
public DuplicateClassDialog(Window parent, String name, SourceType sourceType)
{
super(Config.getString("pkgmgr.duplicate.title"), Config.getString("pkgmgr.newClass.label"),
Config.getString("pkgmgr.newClass.prompt"), "new-class-dialog", "." + sourceType.name());
initOwner(parent);
setOKEnabled(false);
field.setText(name);
}
@Override
public String convert(String fieldText)
{
return fieldText.trim();
}
@Override
public boolean validate(String oldInput, String newInput)
{
newInput = newInput.trim();
if (!newInput.isEmpty() && JavaNames.isIdentifier(newInput))
{
setOKEnabled(true);
setErrorText("");
return true;
}
else
{
setErrorText(Config.getString("pkgmgr.duplicate.error.notValidClassName"));
setOKEnabled(false);
return true;
}
}
}
. DuplicateClassDialog
. convert
. validate
57 neLoCode
+ 6 LoComm