[view] fix InputView

This commit is contained in:
2019-07-22 22:59:03 +03:00
parent af5a4319f7
commit e2bda0fefa
4 changed files with 7 additions and 2 deletions

View File

@@ -1,10 +1,10 @@
package haxework.view; package haxework.view;
import haxework.view.form.InputView;
import flash.display.DisplayObject; import flash.display.DisplayObject;
import flash.display.InteractiveObject; import flash.display.InteractiveObject;
import flash.geom.Rectangle; import flash.geom.Rectangle;
import haxework.view.geometry.Geometry; import haxework.view.geometry.Geometry;
import haxework.view.geometry.Size;
import haxework.view.geometry.SizeSet; import haxework.view.geometry.SizeSet;
import haxework.view.group.IGroupView; import haxework.view.group.IGroupView;
import haxework.view.skin.ISkin; import haxework.view.skin.ISkin;

View File

@@ -19,6 +19,7 @@ class InputView extends TextView {
public function new() { public function new() {
super(); super();
style = "input";
textField.type = TextFieldType.INPUT; textField.type = TextFieldType.INPUT;
textField.addEventListener(Event.CHANGE, onTextChange); textField.addEventListener(Event.CHANGE, onTextChange);
textField.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); textField.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
@@ -53,7 +54,7 @@ class InputView extends TextView {
private function onKeyUp(event:KeyboardEvent):Void { private function onKeyUp(event:KeyboardEvent):Void {
event.stopImmediatePropagation(); event.stopImmediatePropagation();
_text = textField.text; text = textField.text;
onChange.emit(_text); onChange.emit(_text);
} }

View File

@@ -84,6 +84,7 @@ import haxework.view.layout.Layout;
override public function update():Void { override public function update():Void {
//Kludge //Kludge
if (textField.wordWrap && width - geometry.padding.horizontal == 0) { if (textField.wordWrap && width - geometry.padding.horizontal == 0) {
super.update();
return; return;
} }
textField.embedFonts = font.embed; textField.embedFonts = font.embed;

View File

@@ -107,6 +107,9 @@ class Theme implements ITheme {
register(new Style("label", [ register(new Style("label", [
"geometry.padding" => Box.fromArray([8, 2]), "geometry.padding" => Box.fromArray([8, 2]),
], ["text"])); ], ["text"]));
register(new Style("input", [
"geometry.height" => SizeValue.fromInt(26),
], ["label", "border"]));
register(new Style("button", [ register(new Style("button", [
"skin.color" => colors.light, "skin.color" => colors.light,
"geometry.padding" => Box.fromArray([25, 8]), "geometry.padding" => Box.fromArray([25, 8]),