mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
(Android) enable numpad for getInteger prompt on supported platform
This commit is contained in:
@@ -174,7 +174,7 @@ public class GuiDesktop 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 FOptionPane.showInputDialog(message, title, icon == null ? null : FSkin.getImage(icon), initialInput, inputOptions);
|
||||
}
|
||||
|
||||
|
||||
@@ -1110,7 +1110,7 @@ public final class CMatchUI
|
||||
}
|
||||
|
||||
@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 FOptionPane.showInputDialog(message, title, icon == null ? null : FSkin.getImage(icon), initialInput, inputOptions);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -711,7 +711,7 @@ public abstract class AbstractGuiGame implements IGuiGame, IMayViewCards {
|
||||
}
|
||||
|
||||
while (true) {
|
||||
final String str = showInputDialog(prompt, message);
|
||||
final String str = showInputDialog(prompt, message, true);
|
||||
if (str == null) {
|
||||
return null;
|
||||
} // that is 'cancel'
|
||||
@@ -772,18 +772,18 @@ public abstract class AbstractGuiGame implements IGuiGame, IMayViewCards {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String showInputDialog(final String message, final String title) {
|
||||
return showInputDialog(message, title, null, "", null);
|
||||
public String showInputDialog(final String message, final String title, boolean isNumeric) {
|
||||
return showInputDialog(message, title, null, "", null, isNumeric);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String showInputDialog(final String message, final String title, final FSkinProp icon) {
|
||||
return showInputDialog(message, title, icon, "", null);
|
||||
return showInputDialog(message, title, icon, "", null, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput) {
|
||||
return showInputDialog(message, title, icon, initialInput, null);
|
||||
return showInputDialog(message, title, icon, initialInput, null, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -62,7 +62,7 @@ public enum ProtocolMethod {
|
||||
showErrorDialog (Mode.SERVER, Void.TYPE, String.class, String.class),
|
||||
showConfirmDialog (Mode.SERVER, Boolean.TYPE, String.class, String.class, String.class, String.class, Boolean.TYPE),
|
||||
showOptionDialog (Mode.SERVER, Integer.TYPE, String.class, String.class, FSkinProp.class, List/*String*/.class, Integer.TYPE),
|
||||
showInputDialog (Mode.SERVER, String.class, String.class, String.class, FSkinProp.class, String.class, List/*String*/.class),
|
||||
showInputDialog (Mode.SERVER, String.class, String.class, String.class, FSkinProp.class, String.class, List/*String*/.class, Boolean.TYPE),
|
||||
confirm (Mode.SERVER, Boolean.TYPE, CardView.class, String.class, Boolean.TYPE, List/*String*/.class),
|
||||
getChoices (Mode.SERVER, List.class, String.class, Integer.TYPE, Integer.TYPE, List.class, Object.class, Function.class),
|
||||
order (Mode.SERVER, List.class, String.class, String.class, Integer.TYPE, Integer.TYPE, List.class, List.class, CardView.class, Boolean.TYPE),
|
||||
|
||||
@@ -237,8 +237,8 @@ public class NetGuiGame extends AbstractGuiGame {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput, final List<String> inputOptions) {
|
||||
return sendAndWait(ProtocolMethod.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, final boolean isNumeric) {
|
||||
return sendAndWait(ProtocolMethod.showInputDialog, message, title, icon, initialInput, inputOptions, isNumeric);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -36,7 +36,7 @@ public interface IGuiBase {
|
||||
void showBugReportDialog(String title, String text, boolean showExitAppBtn);
|
||||
void showImageDialog(ISkinImage image, String message, String title);
|
||||
int showOptionDialog(String message, String title, FSkinProp icon, List<String> options, int defaultOption);
|
||||
String showInputDialog(String message, String title, FSkinProp icon, String initialInput, List<String> inputOptions);
|
||||
String showInputDialog(String message, String title, FSkinProp icon, String initialInput, List<String> inputOptions, boolean isNumeric);
|
||||
<T> List<T> getChoices(String message, int min, int max, Collection<T> choices, T selected, Function<T, String> display);
|
||||
<T> List<T> order(String title, String top, int remainingObjectsMin, int remainingObjectsMax, List<T> sourceChoices, List<T> destChoices);
|
||||
String showFileDialog(String title, String defaultDir);
|
||||
|
||||
@@ -132,13 +132,13 @@ public interface IGuiGame {
|
||||
|
||||
int showOptionDialog(String message, String title, FSkinProp icon, List<String> options, int defaultOption);
|
||||
|
||||
String showInputDialog(String message, String title);
|
||||
String showInputDialog(String message, String title, boolean isNumeric);
|
||||
|
||||
String showInputDialog(String message, String title, FSkinProp icon);
|
||||
|
||||
String showInputDialog(String message, String title, FSkinProp icon, String initialInput);
|
||||
|
||||
String showInputDialog(String message, String title, FSkinProp icon, String initialInput, List<String> inputOptions);
|
||||
String showInputDialog(String message, String title, FSkinProp icon, String initialInput, List<String> inputOptions, boolean isNumeric);
|
||||
|
||||
boolean confirm(CardView c, String question);
|
||||
|
||||
|
||||
@@ -69,19 +69,19 @@ public class SOptionPane {
|
||||
}
|
||||
|
||||
public static String showInputDialog(final String message, final String title) {
|
||||
return showInputDialog(message, title, null, "", null);
|
||||
return showInputDialog(message, title, null, "", null, false);
|
||||
}
|
||||
|
||||
public static String showInputDialog(final String message, final String title, final FSkinProp icon) {
|
||||
return showInputDialog(message, title, icon, "", null);
|
||||
return showInputDialog(message, title, icon, "", null, false);
|
||||
}
|
||||
|
||||
public static String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput) {
|
||||
return showInputDialog(message, title, icon, initialInput, null);
|
||||
return showInputDialog(message, title, icon, initialInput, null, false);
|
||||
}
|
||||
|
||||
public static String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput, final List<String> inputOptions) {
|
||||
return GuiBase.getInterface().showInputDialog(message, title, icon, initialInput, inputOptions);
|
||||
public static String showInputDialog(final String message, final String title, final FSkinProp icon, final String initialInput, final List<String> inputOptions, boolean isNumeric) {
|
||||
return GuiBase.getInterface().showInputDialog(message, title, icon, initialInput, inputOptions, isNumeric);
|
||||
}
|
||||
|
||||
private SOptionPane() {
|
||||
|
||||
Reference in New Issue
Block a user