📄 abstractuiinputreceiver.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: AbstractUIInputReceiver.java
package org.gudy.azureus2.pluginsimpl.local.ui;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.plugins.ui.UIInputReceiver;
import org.gudy.azureus2.plugins.ui.UIInputValidator;
public abstract class AbstractUIInputReceiver
implements UIInputReceiver
{
private boolean prompted;
protected String messages[];
protected String title;
protected boolean multiline_mode;
protected String preentered_text;
protected boolean preentered_text_is_old_value;
protected UIInputValidator validator;
private boolean result_recorded;
private boolean result_input_submitted;
private String result_input;
protected boolean maintain_whitespace;
protected boolean allow_empty_input;
public AbstractUIInputReceiver()
{
prompted = false;
messages = new String[0];
title = null;
multiline_mode = false;
preentered_text = null;
preentered_text_is_old_value = false;
validator = null;
result_recorded = false;
result_input_submitted = false;
result_input = null;
maintain_whitespace = false;
allow_empty_input = true;
}
protected final void assertPrePrompt()
{
if (prompted)
throw new RuntimeException("cannot invoke after prompt has been called");
else
return;
}
protected final void assertPostPrompt()
{
if (!prompted)
throw new RuntimeException("cannot before after prompt has been called");
else
return;
}
public void setLocalisedMessage(String message)
{
setLocalisedMessages(new String[] {
message
});
}
public void setLocalisedMessages(String messages[])
{
assertPrePrompt();
this.messages = messages;
}
public void setLocalisedTitle(String title)
{
assertPrePrompt();
this.title = title;
}
public void setMessage(String message)
{
setLocalisedMessage(localise(message));
}
public void setMessages(String messages[])
{
String new_messages[] = new String[messages.length];
for (int i = 0; i < new_messages.length; i++)
new_messages[i] = localise(messages[i]);
setLocalisedMessages(new_messages);
}
public void setMultiLine(boolean multiline)
{
assertPrePrompt();
multiline_mode = multiline;
}
public void setPreenteredText(String text, boolean as_suggested)
{
assertPrePrompt();
preentered_text = text;
preentered_text_is_old_value = !as_suggested;
}
public void setTitle(String title)
{
setLocalisedTitle(localise(title));
}
public void setInputValidator(UIInputValidator validator)
{
assertPrePrompt();
this.validator = validator;
}
public final void prompt()
{
assertPrePrompt();
promptForInput();
if (!result_recorded)
{
throw new RuntimeException((new StringBuilder()).append(toString()).append(" did not record a result.").toString());
} else
{
prompted = true;
return;
}
}
protected abstract void promptForInput();
protected final void recordUserInput(String input)
{
result_recorded = true;
result_input_submitted = true;
result_input = input;
if (!maintain_whitespace)
result_input = input.trim();
}
protected final void recordUserAbort()
{
result_recorded = true;
result_input_submitted = false;
result_input = null;
}
public boolean hasSubmittedInput()
{
assertPostPrompt();
return result_input_submitted;
}
public String getSubmittedInput()
{
assertPostPrompt();
return result_input;
}
public void maintainWhitespace(boolean keep_whitespace)
{
maintain_whitespace = keep_whitespace;
}
public void allowEmptyInput(boolean empty_input)
{
allow_empty_input = empty_input;
}
protected final String localise(String key)
{
return MessageText.getString(key);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -