bright-gpu-74537
07/05/2022, 8:21 PMhallowed-ocean-84954
07/05/2022, 8:22 PMbright-gpu-74537
07/05/2022, 8:22 PMblue-lock-94355
07/05/2022, 8:23 PMbright-gpu-74537
07/05/2022, 8:23 PMbright-gpu-74537
07/05/2022, 8:23 PMhallowed-ocean-84954
07/05/2022, 8:26 PMbright-gpu-74537
07/05/2022, 8:27 PMbright-gpu-74537
07/05/2022, 8:27 PMhallowed-ocean-84954
07/05/2022, 8:28 PMblue-lock-94355
07/05/2022, 8:30 PMbright-gpu-74537
07/05/2022, 8:37 PMbright-gpu-74537
07/05/2022, 8:37 PMhallowed-ocean-84954
07/05/2022, 8:37 PMbright-gpu-74537
07/05/2022, 8:38 PMxml
<table-view width="300" height="200">
<header width="100%">
<column id="columnA" text="Column A" width="100%" />
<column id="columnB" text="Column B" width="100%" />
<column id="columnC" text="Column C" width="100%" />
</header>
<my-renderer id="columnA" />
<my-renderer id="columnB" />
<my-renderer id="columnC" />
<data>
<item columnA="" columnB="" columnC="" />
<item columnA="" columnB="" columnC="" />
</data>
</table-view>bright-gpu-74537
07/05/2022, 8:38 PMbright-gpu-74537
07/05/2022, 8:38 PMxml
<item-renderer width="100%" layoutName="vertical">
<textfield id="theValue" text="" width="100%" />
<label id="theError" hidden="true" width="100%" style="color: #FF4444;" />
</item-renderer>bright-gpu-74537
07/05/2022, 8:38 PMbright-gpu-74537
07/05/2022, 8:38 PMhaxe
package custom;
import haxe.ui.core.ItemRenderer;
import haxe.ui.events.UIEvent;
@:build(haxe.ui.ComponentBuilder.build("assets/my-renderer.xml"))
class MyRenderer extends ItemRenderer {
public function new() {
super();
}
@:bind(theValue, UIEvent.CHANGE)
private function onValue(_) {
var n = Std.parseInt(theValue.text);
if (n % 2 != 0) {
theError.text = "Its not divisible by 2!";
theError.show();
} else {
theError.hide();
}
}
}bright-gpu-74537
07/05/2022, 8:38 PMbright-gpu-74537
07/05/2022, 8:39 PMxml
<module>
<components>
<component package="custom" />
</components>
</module>bright-gpu-74537
07/05/2022, 8:39 PMhallowed-ocean-84954
07/05/2022, 8:40 PMbright-gpu-74537
07/05/2022, 8:41 PMif (text == textfield.placeholder) text = "" 😄 )bright-gpu-74537
07/05/2022, 9:13 PMbright-gpu-74537
07/05/2022, 9:13 PMbright-gpu-74537
07/05/2022, 9:14 PMhaxe
@:build(haxe.ui.ComponentBuilder.build("assets/my-renderer.xml"))
class MyRenderer extends ItemRenderer {
public function new() {
super();
}
@:bind(theValue, UIEvent.CHANGE)
private function onValue(_) {
var n = Std.parseInt(theValue.text);
if (this.data != null) {
Reflect.setField(this.data, this.id, theValue.text);
onDataChanged(this.data);
}
if (n % 2 != 0) {
theError.text = "Its not divisible by 2!";
theError.show();
} else {
theError.hide();
}
}
private override function onDataChanged(data:Dynamic) {
super.onDataChanged(data);
theValue.text = Std.string(Reflect.field(data, this.id));
}
}bright-gpu-74537
07/05/2022, 9:14 PMhallowed-ocean-84954
07/05/2022, 9:18 PMbright-gpu-74537
07/05/2022, 9:26 PM