public override void initialize(Table table, Skin skin, float leftCellWidth) { var button = new TextButton(_name, skin); button.onClicked += onButtonClicked; // we could have zero or 1 param var parameters = (_memberInfo as MethodInfo).GetParameters(); if (parameters.Length == 0) { table.add(button); return; } var parameter = parameters[0]; _parameterType = parameter.ParameterType; _textField = new TextField(_parameterType.GetTypeInfo().IsValueType ? Activator.CreateInstance(_parameterType).ToString() : "", skin); _textField.shouldIgnoreTextUpdatesWhileFocused = false; // add a filter for float/int if (_parameterType == typeof(float)) { _textField.setTextFieldFilter(new FloatFilter()); } if (_parameterType == typeof(int)) { _textField.setTextFieldFilter(new DigitsOnlyFilter()); } if (_parameterType == typeof(bool)) { _textField.setTextFieldFilter(new BoolFilter()); } table.add(button); table.add(_textField).setMaxWidth(70); }
public override void initialize(Table table, Skin skin) { var label = new Label(_name, skin); _textfield = new TextField(getValue <string>(), skin); _textfield.setTextFieldFilter(new FloatFilter()); _textfield.onTextChanged += (field, str) => { setValue(str); }; table.add(label); table.add(_textfield).setMaxWidth(70); }
public override void initialize(Table table, Skin skin) { var value = getValue <Vector2>(); var label = new Label(_name, skin); var labelX = new Label("x", skin); _textFieldX = new TextField(value.X.ToString(), skin); _textFieldX.setTextFieldFilter(new FloatFilter()).setPreferredWidth(50); _textFieldX.onTextChanged += (field, str) => { float newX; if (float.TryParse(str, out newX)) { var newValue = getValue <Vector2>(); newValue.X = newX; setValue(newValue); } }; var labelY = new Label("y", skin); _textFieldY = new TextField(value.Y.ToString(), skin); _textFieldY.setTextFieldFilter(new FloatFilter()).setPreferredWidth(50); _textFieldY.onTextChanged += (field, str) => { float newY; if (float.TryParse(str, out newY)) { var newValue = getValue <Vector2>(); newValue.Y = newY; setValue(newValue); } }; var hBox = new HorizontalGroup(5); hBox.addElement(labelX); hBox.addElement(_textFieldX); hBox.addElement(labelY); hBox.addElement(_textFieldY); table.add(label); table.add(hBox); }
public override void initialize(Table table, Skin skin, float leftCellWidth) { var value = getValue <Vector2>(); var label = createNameLabel(table, skin, leftCellWidth); var labelX = new Label("x", skin); _textFieldX = new TextField(value.X.ToString(CultureInfo.InvariantCulture), skin); _textFieldX.setTextFieldFilter(new FloatFilter()).setPreferredWidth(50); _textFieldX.onTextChanged += (field, str) => { float newX; if (float.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out newX)) { var newValue = getValue <Vector2>(); newValue.X = newX; setValue(newValue); } }; var labelY = new Label("y", skin); _textFieldY = new TextField(value.Y.ToString(CultureInfo.InvariantCulture), skin); _textFieldY.setTextFieldFilter(new FloatFilter()).setPreferredWidth(50); _textFieldY.onTextChanged += (field, str) => { float newY; if (float.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out newY)) { var newValue = getValue <Vector2>(); newValue.Y = newY; setValue(newValue); } }; var hBox = new HorizontalGroup(5); hBox.addElement(labelX); hBox.addElement(_textFieldX); hBox.addElement(labelY); hBox.addElement(_textFieldY); table.add(label); table.add(hBox); }
void setupTextField(Table table, Skin skin) { var label = new Label(_name, skin); _textfield = new TextField(getValue <float>().ToString(), skin); _textfield.setTextFieldFilter(new FloatFilter()); _textfield.onTextChanged += (field, str) => { float newValue; if (float.TryParse(str, out newValue)) { setValue(newValue); } }; table.add(label); table.add(_textfield).setMaxWidth(70); }
void setupTextField(Table table, Skin skin, float leftCellWidth) { var label = createNameLabel(table, skin, leftCellWidth); _textField = new TextField(getValue <int>().ToString(), skin); _textField.setTextFieldFilter(new FloatFilter()); _textField.onTextChanged += (field, str) => { int newValue; if (int.TryParse(str, out newValue)) { setValue(newValue); } }; table.add(label); table.add(_textField).setMaxWidth(70); }
void setupTextField(Table table, Skin skin, float leftCellWidth) { var label = createNameLabel(table, skin, leftCellWidth); _textField = new TextField(getValue <float>().ToString(CultureInfo.InvariantCulture), skin); _textField.setTextFieldFilter(new FloatFilter()); _textField.onTextChanged += (field, str) => { float newValue; if (float.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out newValue)) { setValue(newValue); } }; table.add(label); table.add(_textField).setMaxWidth(70); }
public override void initialize(Table table, Skin skin) { var value = getValue <Color>(); var label = createNameLabel(table, skin); var labelR = new Label("r", skin); _textFieldR = new TextField(value.R.ToString(), skin); _textFieldR.setMaxLength(3); _textFieldR.setTextFieldFilter(new DigitsOnlyFilter()).setPreferredWidth(28); _textFieldR.onTextChanged += (field, str) => { int newR; if (int.TryParse(str, out newR)) { var newValue = getValue <Color>(); newValue.R = (byte)newR; setValue(newValue); } }; var labelG = new Label("g", skin); _textFieldG = new TextField(value.G.ToString(), skin); _textFieldG.setMaxLength(3); _textFieldG.setTextFieldFilter(new DigitsOnlyFilter()).setPreferredWidth(28); _textFieldG.onTextChanged += (field, str) => { int newG; if (int.TryParse(str, out newG)) { var newValue = getValue <Color>(); newValue.G = (byte)newG; setValue(newValue); } }; var labelB = new Label("b", skin); _textFieldB = new TextField(value.B.ToString(), skin); _textFieldB.setMaxLength(3); _textFieldB.setTextFieldFilter(new DigitsOnlyFilter()).setPreferredWidth(28); _textFieldB.onTextChanged += (field, str) => { int newB; if (int.TryParse(str, out newB)) { var newValue = getValue <Color>(); newValue.B = (byte)newB; setValue(newValue); } }; var labelA = new Label("a", skin); _textFieldA = new TextField(value.A.ToString(), skin); _textFieldA.setMaxLength(3); _textFieldA.setTextFieldFilter(new DigitsOnlyFilter()).setPreferredWidth(28); _textFieldA.onTextChanged += (field, str) => { int newA; if (int.TryParse(str, out newA)) { var newValue = getValue <Color>(); newValue.A = (byte)newA; setValue(newValue); } }; var hBox = new HorizontalGroup(2); hBox.addElement(labelR); hBox.addElement(_textFieldR); hBox.addElement(labelG); hBox.addElement(_textFieldG); hBox.addElement(labelB); hBox.addElement(_textFieldB); hBox.addElement(labelA); hBox.addElement(_textFieldA); table.add(label); table.add(hBox); }