[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

26
demo/project.xml Normal file
View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<meta title="Demo" package="haxework.demo" version="1.0.0" company="MegaLoMania"/>
<app main="demo.Demo" path="target" file="demo"/>
<!--<icon path="/opt/repo/games/tankz/src/client/resources/image/tank/pd-0.png"/>-->
<source path="../src/main"/>
<source path="src"/>
<assets path="src" rename="image" include="*.png"/>
<haxelib name="lime" version="7.2.1"/>
<haxelib name="openfl" version="8.8.0"/>
<haxelib name="hxcpp" version="4.0.8"/>
<haxelib name="promhx" version="1.1.0"/>
<haxelib name="yaml" version="1.3.0"/>
<haxeflag name="--macro" value="haxework.parser.Parser.auto()"/>
<haxeflag name="--macro" value="CompilationOption.set('build','2019-02-28 14:16:02')"/>
<window fps="30"/>
<window width="1024" height="768" unless="html5"/>
<haxeflag name="-D" value="swf-gpu"/>
<haxeflag name="-D" value="native-trace"/>
<haxeflag name="-dce" value="no"/>
</project>

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash
echo "`pwd`/target" > ~/.macromedia/Flash_Player/#Security/FlashPlayerTrust/haxework_demo.cfg
. /opt/sdk/haxe/3.4.7/activate
haxe build.hxml && flashplayerdebugger target/demo.swf
haxe build.hxml && flashplayerdebugger target/demo.swf &
tail -f ~/.macromedia/Flash_Player/Logs/flashlog.txt

4
demo/run_openfl.sh Normal file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
echo "`pwd`/target/flash/bin" > ~/.macromedia/Flash_Player/#Security/FlashPlayerTrust/haxework_demo.cfg
. /opt/sdk/haxe/3.4.7/activate
haxelib run openfl test linux

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
}
}