mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
(Android) enable numpad for getInteger prompt on supported platform
This commit is contained in:
@@ -4,6 +4,7 @@ import com.badlogic.gdx.Application;
|
||||
import com.badlogic.gdx.ApplicationListener;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input.Keys;
|
||||
import com.badlogic.gdx.Input;
|
||||
import com.badlogic.gdx.InputProcessor;
|
||||
import com.badlogic.gdx.controllers.Controller;
|
||||
import com.badlogic.gdx.controllers.ControllerAdapter;
|
||||
@@ -1069,7 +1070,7 @@ public class Forge implements ApplicationListener {
|
||||
System.out.println(message);
|
||||
}
|
||||
|
||||
public static void startKeyInput(KeyInputAdapter adapter) {
|
||||
public static void startKeyInput(KeyInputAdapter adapter, boolean numeric) {
|
||||
if (keyInputAdapter == adapter) {
|
||||
return;
|
||||
}
|
||||
@@ -1077,7 +1078,7 @@ public class Forge implements ApplicationListener {
|
||||
keyInputAdapter.onInputEnd(); //make sure previous adapter is ended
|
||||
}
|
||||
keyInputAdapter = adapter;
|
||||
Gdx.input.setOnscreenKeyboardVisible(true);
|
||||
Gdx.input.setOnscreenKeyboardVisible(true, numeric ? Input.OnscreenKeyboardType.NumberPad : Input.OnscreenKeyboardType.Default);
|
||||
}
|
||||
|
||||
public static boolean endKeyInput() {
|
||||
|
||||
@@ -178,11 +178,11 @@ public class GuiMobile implements IGuiBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput, final List<String> inputOptions) {
|
||||
public String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput, final List<String> inputOptions, boolean isNumeric) {
|
||||
return new WaitCallback<String>() {
|
||||
@Override
|
||||
public void run() {
|
||||
FOptionPane.showInputDialog(message, title, initialInput, inputOptions, this);
|
||||
FOptionPane.showInputDialog(message, title, initialInput, inputOptions, this, isNumeric);
|
||||
}
|
||||
}.invokeAndWait();
|
||||
}
|
||||
|
||||
@@ -632,8 +632,8 @@ public class MatchController extends AbstractGuiGame {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput, final List<String> inputOptions) {
|
||||
return SOptionPane.showInputDialog(message, title, icon, initialInput, inputOptions);
|
||||
public String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput, final List<String> inputOptions, boolean isNumeric) {
|
||||
return SOptionPane.showInputDialog(message, title, icon, initialInput, inputOptions, isNumeric);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -156,17 +156,18 @@ public class FOptionPane extends FDialog {
|
||||
}
|
||||
|
||||
public static void showInputDialog(final String title, final Callback<String> callback) {
|
||||
showInputDialog(null, title, "", null, callback);
|
||||
showInputDialog(null, title, "", null, callback, false);
|
||||
}
|
||||
public static <T> void showInputDialog(final String title, final T initialInput, final Callback<T> callback) {
|
||||
showInputDialog(null, title, initialInput, null, callback);
|
||||
showInputDialog(null, title, initialInput, null, callback, false);
|
||||
}
|
||||
public static <T> void showInputDialog(final String message, final String title, final T initialInput, final List<T> inputOptions, final Callback<T> callback) {
|
||||
public static <T> void showInputDialog(final String message, final String title, final T initialInput, final List<T> inputOptions, final Callback<T> callback, final boolean isNumeric) {
|
||||
final FDisplayObject inputField;
|
||||
final FTextField txtInput;
|
||||
final FComboBox<T> cbInput;
|
||||
if (inputOptions == null) {
|
||||
txtInput = new FTextField(initialInput.toString());
|
||||
txtInput.setIsNumeric(isNumeric);
|
||||
cbInput = null;
|
||||
inputField = txtInput;
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ public class FTextField extends FDisplayObject implements ITextField {
|
||||
protected FSkinFont font, renderedFont;
|
||||
private int alignment;
|
||||
private int selStart, selLength;
|
||||
private boolean isEditing, readOnly;
|
||||
private boolean isEditing, readOnly, isNumeric;
|
||||
|
||||
private final FPopupMenu contextMenu = new FPopupMenu() {
|
||||
@Override
|
||||
@@ -165,6 +165,9 @@ public class FTextField extends FDisplayObject implements ITextField {
|
||||
public boolean isReadOnly() {
|
||||
return readOnly;
|
||||
}
|
||||
public void setIsNumeric(boolean isNumeric0) {
|
||||
isNumeric = isNumeric0;
|
||||
}
|
||||
public void setReadOnly(boolean readOnly0) {
|
||||
readOnly = readOnly0;
|
||||
}
|
||||
@@ -353,7 +356,7 @@ public class FTextField extends FDisplayObject implements ITextField {
|
||||
public void onInputEnd() {
|
||||
endEdit();
|
||||
}
|
||||
});
|
||||
}, isNumeric);
|
||||
isEditing = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user