[gui] update
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}');
|
||||
}
|
||||
|
||||
@@ -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
BIN
demo/src/haxe-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user