[gui] update

This commit is contained in:
2019-02-27 18:00:48 +03:00
parent d819271cd3
commit b3196d2295
18 changed files with 204 additions and 175 deletions

View File

@@ -1,5 +1,7 @@
package demo;
import haxework.gui.InputView;
import flash.display.BitmapData;
import haxework.gui.ToggleButtonView;
import haxework.gui.IGroupView;
import haxework.gui.IView;
@@ -12,6 +14,9 @@ import haxework.log.TraceLogger;
import haxework.gui.Root;
import haxework.gui.VGroupView;
@:bitmap("haxe-logo.png")
class HaxeLogo extends BitmapData { }
@:template class Demo extends VGroupView {
@:provide static var resources:IResources;
@@ -21,14 +26,29 @@ import haxework.gui.VGroupView;
L.push(new TraceLogger());
resources = new Resources();
manager = new LoaderManager();
Theme.setColor(0x33aa33);
resources.image.put("logo", new HaxeLogo(0, 0));
var demo = new Demo();
demo.switcher.change("tail_form");
demo.switcher.change("list_form");
Root.bind(demo);
}
@:view var switcher:IFrameSwitcher;
@:view var tabs:IGroupView;
@:view var color:InputView;
private var themeColor(default, set):Int;
private function init():Void {
resources.color.bind("theme", this, "themeColor");
resources.color.put("theme", 0x33aa33);
}
private function set_themeColor(value:Int):Int {
themeColor = value;
Theme.setColor(value);
this.color.text = StringTools.hex(value);
return themeColor;
}
private function onFrameSwicth(frame:IView<Dynamic>):Void {
for (view in tabs.views) cast(view, ToggleButtonView).on = view.id == frame.id;

View File

@@ -2,12 +2,14 @@
skin: $r:skin:background
geometry.size.stretch: true
views:
- $type: haxework.gui.ImageView
geometry.padding: 10
image: $r:image:logo
- id: tabs
$type: haxework.gui.HGroupView
layout.margin: 5
layout.hAlign: LEFT
geometry.size.percent.width: 100
geometry.padding.top: 10
geometry.padding.left: 5
views:
- id: list_form
@@ -50,6 +52,12 @@ views:
layout.hAlign: RIGHT
layout.margin: 10
views:
- id: color
$type: haxework.gui.InputView
skin: [ { $type: [haxework.gui.skin.Skin.border, 0xffffff] } ]
+onChange: "$code:function(a) resources.color.put('theme', Std.parseInt('0x'+a))"
fontColor: 0xffffff
geometry.size.percent.width: 100
- $type: haxework.gui.ButtonView
geometry.padding: [25, 8]
skin: $r:skin:button

View File

@@ -1,8 +1,5 @@
package demo.form;
import flash.display.Sprite;
import haxework.gui.ButtonView;
import haxework.gui.IView;
import haxework.gui.list.ListView.IListItemView;
import haxework.gui.list.VListView;
import haxework.gui.VGroupView;
@@ -10,10 +7,6 @@ import haxework.net.JsonLoader;
@:template class ListForm extends VGroupView {
@:view public var list(default, null):VListView<String>;
@:view public var panel(default, null):IView<Sprite>;
@:view public var button1(default, null):ButtonView;
@:view public var button2(default, null):ButtonView;
@:view public var button3(default, null):ButtonView;
private function init() {
new JsonLoader().GET("http://umix.tv/channel/data2/renova.json")
@@ -23,10 +16,6 @@ import haxework.net.JsonLoader;
.catchError(function(error) trace(error));
}
private function onPress(view:ButtonView):Void {
trace('onPress: ${view.id}');
}
private function onItemSelect(item:IListItemView<String>):Void {
trace('onItemSelect: ${item.data}');
}

View File

@@ -1,15 +1,12 @@
---
$type: haxework.gui.VGroupView
# layoutMargin: 10
views:
- id: list
$type: haxework.gui.list.VListView<String>
+onItemSelect: $this:onItemSelect
factory: { $class: haxework.gui.list.LabelListItem }
# pWidth: 100
# pHeight: 100
geometry.size.stretch: true
scroll:
$type: haxework.gui.list.VScrollBarView
skin: $r:skin:scroll
# width: 10
# pHeight: 100
geometry.size.percent.height: 100
geometry.size.fixed.width: 10

BIN
demo/src/haxe-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB