[gui] layouts fixes

This commit is contained in:
2019-02-28 17:52:20 +03:00
parent b3196d2295
commit 020fb23188
19 changed files with 190 additions and 162 deletions

View File

@@ -1,21 +1,16 @@
package demo;
import haxework.gui.InputView;
import flash.display.BitmapData;
import haxework.gui.ToggleButtonView;
import haxework.gui.frame.IFrameSwitcher;
import haxework.gui.IGroupView;
import haxework.gui.IView;
import haxework.resources.Resources;
import haxework.resources.IResources;
import haxework.gui.frame.IFrameSwitcher;
import haxework.net.manage.LoaderManager;
import haxework.net.manage.ILoaderManager;
import haxework.log.TraceLogger;
import haxework.gui.Root;
import haxework.gui.ToggleButtonView;
import haxework.gui.VGroupView;
@:bitmap("haxe-logo.png")
class HaxeLogo extends BitmapData { }
import haxework.log.TraceLogger;
import haxework.net.manage.ILoaderManager;
import haxework.net.manage.LoaderManager;
import haxework.resources.IResources;
import haxework.resources.Resources;
@:template class Demo extends VGroupView {
@@ -26,29 +21,16 @@ class HaxeLogo extends BitmapData { }
L.push(new TraceLogger());
resources = new Resources();
manager = new LoaderManager();
resources.image.put("logo", new HaxeLogo(0, 0));
resources.image.put("logo", HaxeLogo.resolve());
Theme.setColor(0x33aa33);
var demo = new Demo();
demo.switcher.change("list_form");
Root.bind(demo);
Root.instance.onResize.connect(function(rect) trace("resize", rect));
}
@: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

@@ -49,32 +49,31 @@ views:
- $type: haxework.gui.HGroupView
geometry.size.percent.width: 100
geometry.padding: 10
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
text: green
+onPress: "$code:Theme.setColor(0x33aa33)"
+onPress: "$code:Theme.setColor(0x33AA33)"
- $type: haxework.gui.ButtonView
geometry.padding: [25, 8]
skin: $r:skin:button
text: red
+onPress: "$code:Theme.setColor(0xaa3333)"
+onPress: "$code:Theme.setColor(0xAA3333)"
- $type: haxework.gui.ButtonView
geometry.padding: [25, 8]
skin: $r:skin:button
text: yellow
+onPress: "$code:Theme.setColor(0xaaaa33)"
geometry.margin.right: 20
+onPress: "$code:Theme.setColor(0xFFCC55, 0x555555)"
- $type: haxework.gui.ButtonView
geometry.padding: [25, 8]
skin: $r:skin:button
text: pink
+onPress: "$code:Theme.setColor(0xCC33AA)"
# separator
- $type: haxework.gui.SpriteView
geometry.size.stretch: true
- $type: haxework.gui.ButtonView
geometry.padding: [25, 8]
skin: $r:skin:button

17
demo/src/demo/HaxeLogo.hx Normal file
View File

@@ -0,0 +1,17 @@
package demo;
import flash.display.BitmapData;
#if !openfl
@:bitmap("haxe-logo.png")
#end
class HaxeLogo extends BitmapData {
public static function resolve():BitmapData {
#if openfl
return openfl.Assets.getBitmapData("image/haxe-logo.png");
#else
return new HaxeLogo(0, 0);
#end
}
}