[hw] rename haxework package to hw

This commit is contained in:
2020-03-24 20:58:54 +03:00
parent 7b7819fe6e
commit 279baa1113
162 changed files with 613 additions and 540 deletions

View File

@@ -1,6 +1,6 @@
package;
import haxework.log.ILogger;
import hw.log.ILogger;
class L {
@@ -25,4 +25,4 @@ class L {
public static function e(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void {
for (logger in loggers) logger.e(tag, message, error, p);
}
}
}

View File

@@ -1,35 +0,0 @@
package haxework;
import flash.display.BitmapData;
import flash.Lib;
import haxework.animate.Animate;
import haxework.animate.FadeAnimate;
import haxework.animate.UnFadeAnimate;
import haxework.view.IView;
import haxework.view.popup.PopupManager;
import haxework.view.Root;
import haxework.view.theme.ITheme;
class App {
@:provide var app:App;
@:provide var theme:ITheme;
@:provide var popupManager:PopupManager;
public function new(?theme:ITheme, ?icon:BitmapData) {
this.theme = theme;
#if linux
if (icon != null) {
haxework.app.LinuxIcon.value = icon;
}
#end
popupManager.showAnimateFactory = function(v) return new UnFadeAnimate(v);
popupManager.closeAnimateFactory = function(v) return new FadeAnimate(v);
app = this;
}
public function start(view:IView<Dynamic>) {
Animate.bind(Lib.current.stage);
Root.bind(view);
}
}

View File

@@ -1,9 +1,9 @@
package haxework.animate;
package hw.animate;
import flash.display.DisplayObject;
import flash.display.Stage;
import flash.events.Event;
import haxework.view.IView;
import hw.view.IView;
class Animate implements IAnimate {
public static var defaultDuraion = 300;

View File

@@ -1,10 +1,10 @@
package haxework.animate;
package hw.animate;
import flash.display.DisplayObject;
import flash.display.Sprite;
import haxework.animate.Animate;
import haxework.animate.IAnimate;
import haxework.view.IView;
import hw.animate.Animate;
import hw.animate.IAnimate;
import hw.view.IView;
class CircleMaskAnimate extends Animate {

View File

@@ -1,7 +1,7 @@
package haxework.animate;
package hw.animate;
import haxework.animate.Animate;
import haxework.animate.IAnimate;
import hw.animate.Animate;
import hw.animate.IAnimate;
class FadeAnimate extends Animate {

View File

@@ -1,4 +1,4 @@
package haxework.animate;
package hw.animate;
interface IAnimate {

View File

@@ -1,4 +1,4 @@
package haxework.animate;
package hw.animate;
class SlideAnimate extends Animate {

View File

@@ -1,6 +1,6 @@
package haxework.animate;
package hw.animate;
import haxework.animate.Animate;
import hw.animate.Animate;
class UnFadeAnimate extends Animate {

86
src/main/hw/app/App.hx Normal file
View File

@@ -0,0 +1,86 @@
package hw.app;
import flash.display.BitmapData;
import flash.display.StageDisplayState;
import flash.events.FullScreenEvent;
import flash.Lib;
import hw.animate.Animate;
import hw.animate.FadeAnimate;
import hw.animate.IAnimate;
import hw.animate.UnFadeAnimate;
import hw.resources.IResources;
import hw.signal.Signal;
import hw.view.IView;
import hw.view.popup.PopupManager;
import hw.view.Root;
import hw.view.theme.ITheme;
class App {
public var view(default, set):IView<Dynamic>;
private function set_view(value:IView<Dynamic>):IView<Dynamic> {
view = value;
Root.bind(view);
return view;
}
public var icon(default, set):BitmapData;
private function set_icon(value:BitmapData):BitmapData {
icon = value;
#if linux
if (icon != null) {
hw.app.LinuxIcon.value = icon;
}
#end
return icon;
}
public var fullScreenSupport(get, never):Bool;
public function get_fullScreenSupport():Bool {
return Lib.current.stage.allowsFullScreen;
}
public var fullScreen(get, set):Bool;
private function get_fullScreen():Bool {
return Lib.current.stage.displayState != StageDisplayState.NORMAL;
}
private function set_fullScreen(value:Bool):Bool {
Lib.current.stage.displayState = value ? StageDisplayState.FULL_SCREEN : StageDisplayState.NORMAL;
return get_fullScreen();
}
public var fullScreenSignal(default, null):Signal<Bool> = new Signal();
@:provide static var app:App;
@:provide static var resources:IResources;
@:provide static var popupManager:PopupManager;
@:provide public var theme:ITheme;
public function new() {
Lib.current.stage.stageFocusRect = false;
Lib.current.stage.addEventListener(FullScreenEvent.FULL_SCREEN, event -> fullScreenSignal.emit(event.fullScreen));
Animate.bind(Lib.current.stage);
popupManager.showAnimateFactory = createShowAnimate;
popupManager.closeAnimateFactory = createCloseAnimate;
resources.text.put("app.version", Const.instance.VERSION);
resources.text.put("app.name", Const.instance.NAME);
app = this;
}
private function createShowAnimate(view:IView<Dynamic>):IAnimate {
return new UnFadeAnimate(view);
}
private function createCloseAnimate(view:IView<Dynamic>):IAnimate {
return new FadeAnimate(view);
}
}

22
src/main/hw/app/Const.hx Executable file
View File

@@ -0,0 +1,22 @@
package hw.app;
import flash.Lib;
import flash.system.Capabilities;
@:singleton class Const {
public var FPS(default, null):Int;
public var BUILD(default, null):String;
public var VERSION(default, null):String;
public var NAME(default, null):String;
public var DEBUG(default, null):Bool;
public function new():Void {
BUILD = CompilationOption.get("build");
#if lime
FPS = Std.parseInt(Lib.current.stage.application.meta.get("fps"));
VERSION = Lib.current.stage.application.meta.get("version");
NAME = Lib.current.stage.application.meta.get("name");
#end
DEBUG = Capabilities.isDebugger;
}
}

View File

@@ -1,4 +1,4 @@
package haxework.app;
package hw.app;
import flash.display.BitmapData;
import flash.filters.ColorMatrixFilter;

View File

@@ -1,4 +1,4 @@
package haxework.color;
package hw.color;
abstract Color(Int) {
public var alpha(get, never):Int;

View File

@@ -1,4 +1,4 @@
package haxework.color;
package hw.color;
class ColorUtil {

View File

@@ -1,4 +1,4 @@
package haxework.geom;
package hw.geom;
abstract IntPoint(Array<Int>) {
public var x(get, set):Int;

View File

@@ -1,4 +1,4 @@
package haxework.geom;
package hw.geom;
import flash.geom.Point as FlashPoint;

View File

@@ -1,4 +1,4 @@
package haxework.geom;
package hw.geom;
abstract Rectangle(Array<Float>) {
public var x(get, set):Float;

View File

@@ -1,4 +1,4 @@
package haxework.log;
package hw.log;
import cpp.VarArg;
import haxe.extern.Rest;

View File

@@ -1,6 +1,6 @@
package haxework.log;
package hw.log;
import haxework.log.ILogger.LogLevel;
import hw.log.ILogger.LogLevel;
import haxe.CallStack;

View File

@@ -1,4 +1,4 @@
package haxework.log;
package hw.log;
enum LogLevel {
DEBUG; INFO; WARNING; ERROR;
@@ -10,4 +10,4 @@ interface ILogger {
public function i(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void;
public function w(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void;
public function e(tag:String, message:String, ?error:Dynamic, ?p:haxe.PosInfos):Void;
}
}

View File

@@ -1,8 +1,8 @@
package haxework.log;
package hw.log;
import haxework.log.ILogger.LogLevel;
import hw.log.ILogger.LogLevel;
import flash.external.ExternalInterface;
import haxework.log.BaseLogger;
import hw.log.BaseLogger;
class JSLogger extends BaseLogger {
@@ -26,4 +26,4 @@ class JSLogger extends BaseLogger {
try {ExternalInterface.call("console.log", text);} catch (error:Dynamic) {available = false;}
}
}
}
}

View File

@@ -1,6 +1,6 @@
package haxework.log;
package hw.log;
import haxework.log.BaseLogger;
import hw.log.BaseLogger;
#if js
class SocketLogger extends BaseLogger {}
@@ -58,4 +58,4 @@ class SocketLogger extends BaseLogger {
}
}
#end
#end

View File

@@ -1,4 +1,4 @@
package haxework.log;
package hw.log;
import flash.text.TextField;
@@ -15,4 +15,4 @@ class TextFieldLogger extends BaseLogger {
override private function write(text:String):Void {
this.textField.text += ("\n" + text);
}
}
}

View File

@@ -1,4 +1,4 @@
package haxework.log;
package hw.log;
import haxe.PosInfos;
#if cpp
@@ -31,7 +31,7 @@ class TraceLogger extends BaseLogger {
(untyped console).log(v);
//untyped js.Boot.__trace(v, infos);
#elseif android
haxework.log.AndroidLog.write(3, "", ConstCharStar.fromString(Std.string(v)));
hw.log.AndroidLog.write(3, "", ConstCharStar.fromString(Std.string(v)));
#elseif (php && php7)
php.Boot.trace(v);
#elseif php

View File

@@ -1,4 +1,4 @@
package haxework.macro;
package hw.macro;
import haxe.macro.Expr;
import haxe.macro.Type;

View File

@@ -1,4 +1,4 @@
package haxework.macro;
package hw.macro;
import haxe.macro.Expr;
import haxe.macro.Type;

View File

@@ -1,4 +1,4 @@
package haxework.macro;
package hw.macro;
import haxe.macro.TypeTools;
import haxe.macro.Context;
@@ -32,7 +32,7 @@ class DispatcherMacro extends ClassTypeMacro {
}
var signal = 'Signal${argsTypes.length}';
var type = TPath({
pack: ['haxework', 'signal'],
pack: ['hw', 'signal'],
name: 'Signal',
sub: signal,
params: argsTypes.map(function(t) return TPType(TypeTools.toComplexType(t))),
@@ -41,7 +41,7 @@ class DispatcherMacro extends ClassTypeMacro {
name: signalName(field.name),
access: [APublic],
pos: Context.currentPos(),
kind: FProp('default', 'null', type, Context.parse('new haxework.signal.Signal.${signal}()', Context.currentPos())),
kind: FProp('default', 'null', type, Context.parse('new hw.signal.Signal.${signal}()', Context.currentPos())),
});
}
result.push({

View File

@@ -1,8 +1,8 @@
package haxework.macro;
package hw.macro;
import haxe.macro.Expr;
using haxework.macro.MacroUtil;
using hw.macro.MacroUtil;
class FieldMacro {
public var metaName(default, null):String;

View File

@@ -1,4 +1,4 @@
package haxework.macro;
package hw.macro;
import yaml.YamlException;
import yaml.Parser;

View File

@@ -1,4 +1,4 @@
package haxework.macro;
package hw.macro;
import haxe.macro.Context;
import haxe.macro.ExprTools;

View File

@@ -1,4 +1,4 @@
package haxework.macro;
package hw.macro;
typedef JsonKeyPosition = {
var min:Int;

View File

@@ -1,4 +1,4 @@
package haxework.macro;
package hw.macro;
import haxe.DynamicAccess;

View File

@@ -1,9 +1,9 @@
package haxework.macro;
package hw.macro;
import haxe.macro.Context;
import haxe.macro.Expr;
using haxework.macro.MacroUtil;
using hw.macro.MacroUtil;
class ProvideMacro extends FieldMacro {
@@ -35,7 +35,7 @@ class ProvideMacro extends FieldMacro {
pos: field.pos,
kind: FFun({
args: [],
expr: Context.parse('return haxework.provider.Provider.instance.get(${args.join(',')})', field.pos),
expr: Context.parse('return hw.provider.Provider.instance.get(${args.join(',')})', field.pos),
params: [],
ret: type,
})
@@ -47,7 +47,7 @@ class ProvideMacro extends FieldMacro {
pos: field.pos,
kind: FFun({
args: [{name: 'value', type: type}],
expr: Context.parse('{haxework.provider.Provider.instance.set(${args.join(',')}); return value;}', field.pos),
expr: Context.parse('{hw.provider.Provider.instance.set(${args.join(',')}); return value;}', field.pos),
params: [],
ret: type,
})

View File

@@ -1,6 +1,6 @@
package haxework.macro;
package hw.macro;
using haxework.macro.MacroUtil;
using hw.macro.MacroUtil;
class ResourceMacro extends FieldMacro {

View File

@@ -1,4 +1,4 @@
package haxework.macro;
package hw.macro;
import haxe.macro.Context;
import haxe.macro.Expr;

View File

@@ -1,11 +1,11 @@
package haxework.macro;
package hw.macro;
import haxe.macro.Context;
import haxe.macro.Expr;
import haxe.macro.Type;
using haxe.macro.ComplexTypeTools;
using haxework.macro.MacroUtil;
using hw.macro.MacroUtil;
using haxe.macro.MacroStringTools;
typedef TProperty<T> = {
@@ -143,7 +143,7 @@ class StyleMacro extends ClassTypeMacro {
private static function buildStyleField(properties:Array<Field>, styleds:Array<Field>, hasOnStyle:Bool, overrideField:Bool):Array<Field> {
var result:Array<Field> = [];
var type:ComplexType = "haxework.view.theme.StyleId".toComplex();
var type:ComplexType = "hw.view.theme.StyleId".toComplex();
if (!overrideField) {
result.push({
name: "style",
@@ -162,11 +162,11 @@ class StyleMacro extends ClassTypeMacro {
}
for (field in properties) {
var propertyName = 'theme_${field.name}';
expr.push(macro $i{propertyName} = haxework.provider.Provider.instance.get(haxework.view.theme.ITheme).resolve((styleKey!=null?(styleKey+"."):"")+$v{field.name}, style));
expr.push(macro $i{propertyName} = hw.provider.Provider.instance.get(hw.view.theme.ITheme).resolve((styleKey!=null?(styleKey+"."):"")+$v{field.name}, style));
}
for (field in styleds) {
var propertyName = '${field.name}';
expr.push(macro $i{propertyName} = haxework.provider.Provider.instance.get(haxework.view.theme.ITheme).resolve((styleKey!=null?(styleKey+"."):"")+$v{field.name}, style));
expr.push(macro $i{propertyName} = hw.provider.Provider.instance.get(hw.view.theme.ITheme).resolve((styleKey!=null?(styleKey+"."):"")+$v{field.name}, style));
}
if (hasOnStyle) {
expr.push(macro onStyle());

View File

@@ -1,12 +1,12 @@
package haxework.macro;
package hw.macro;
import haxe.macro.Context;
import haxe.macro.Expr;
import haxe.macro.Type;
import haxework.macro.PositionJsonParser;
import hw.macro.PositionJsonParser;
import Lambda;
using haxework.macro.MacroUtil;
using hw.macro.MacroUtil;
class TemplateMacro extends ClassTypeMacro {
@@ -46,11 +46,11 @@ class TemplateMacro extends ClassTypeMacro {
a[2];
}
case "resource" | "r":
var bindExpr = 'haxework.provider.Provider.instance.get(haxework.resources.IResources).${a[1]}.bind("${a[2]}", ${name}, "${key}")';
var bindExpr = 'hw.provider.Provider.instance.get(hw.resources.IResources).${a[1]}.bind("${a[2]}", ${name}, "${key}")';
exprs.push(Context.parse(bindExpr, getPosition(position)));
null;
case "translate" | "t":
'new haxework.translate.TranslateString("${a[1]}")';
'new hw.translate.TranslateString("${a[1]}")';
case "template":
var template = FileUtil.loadFile(a[1]);
return createValue(name, key, template, position, exprs);

View File

@@ -1,11 +1,11 @@
package haxework.net;
package hw.net;
import promhx.Deferred;
import promhx.Promise;
import haxe.Timer;
import flash.net.URLRequestMethod;
import flash.events.ProgressEvent;
import haxework.net.manage.ILoaderManager;
import hw.net.manage.ILoaderManager;
import flash.utils.ByteArray;
import flash.events.Event;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.events.ProgressEvent;
import flash.system.Security;
@@ -6,7 +6,7 @@ import flash.system.SecurityDomain;
import flash.system.ApplicationDomain;
import flash.system.LoaderContext;
import flash.utils.ByteArray;
import haxework.net.BaseLoader;
import hw.net.BaseLoader;
import flash.events.SecurityErrorEvent;
import flash.events.IOErrorEvent;
import flash.events.Event;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.events.ErrorEvent;
import haxe.Timer;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import promhx.Promise;
import promhx.Deferred;
@@ -17,4 +17,4 @@ class BatchLoader<T> {
return loader.GET(url);
}));
}
}
}

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.net.URLLoaderDataFormat;
import flash.utils.ByteArray;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.system.Security;
import flash.utils.ByteArray;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import promhx.Promise;
import flash.utils.ByteArray;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.display.LoaderInfo;
import flash.display.Loader;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.utils.ByteArray;
import flash.events.Event;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.display.MovieClip;
import flash.display.LoaderInfo;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.net.URLLoader;
import flash.events.Event;

View File

@@ -1,4 +1,4 @@
package haxework.net;
package hw.net;
import flash.events.Event;
import flash.net.URLLoader;

View File

@@ -1,4 +1,4 @@
package haxework.net.manage;
package hw.net.manage;
@:provide(LoaderManager) interface ILoaderManager {
public var actives(default, null):Array<ILoader<Dynamic>>;

View File

@@ -1,4 +1,4 @@
package haxework.net.manage;
package hw.net.manage;
class LoaderManager implements ILoaderManager {

View File

@@ -1,18 +1,18 @@
package haxework.parser;
package hw.parser;
import haxe.macro.Context;
import haxe.macro.Expr;
import haxe.macro.Type;
import haxe.macro.TypeTools;
import haxework.macro.ClassProvideMacro;
import haxework.macro.ClassTypeMacro;
import haxework.macro.DispatcherMacro;
import haxework.macro.FieldMacro;
import haxework.macro.ProvideMacro;
import haxework.macro.ResourceMacro;
import haxework.macro.SingletonMacro;
import haxework.macro.StyleMacro;
import haxework.macro.TemplateMacro;
import hw.macro.ClassProvideMacro;
import hw.macro.ClassTypeMacro;
import hw.macro.DispatcherMacro;
import hw.macro.FieldMacro;
import hw.macro.ProvideMacro;
import hw.macro.ResourceMacro;
import hw.macro.SingletonMacro;
import hw.macro.StyleMacro;
import hw.macro.TemplateMacro;
class Parser {
@@ -32,7 +32,7 @@ class Parser {
private static var processed:Map<String, Bool> = new Map();
private static function auto():Void {
haxe.macro.Compiler.addGlobalMetadata("", "@:build(haxework.parser.Parser.autoRun())", true, true, false);
haxe.macro.Compiler.addGlobalMetadata("", "@:build(hw.parser.Parser.autoRun())", true, true, false);
}
private static macro function autoRun():Array<Field> {

View File

@@ -1,4 +1,4 @@
package haxework.provider;
package hw.provider;
abstract KeyType<T>(String) {
@@ -36,7 +36,7 @@ abstract KeyType<T>(String) {
macro static function resolveDefaultFactories() {
var result = [];
for (item in haxework.macro.ClassProvideMacro.bundle) {
for (item in hw.macro.ClassProvideMacro.bundle) {
// ToDo: ClassType to Expr?
var k = haxe.macro.Context.parse(haxe.macro.MacroStringTools.toDotPath(item.key.pack, item.key.name), haxe.macro.Context.currentPos());
var v = haxe.macro.Context.parse(haxe.macro.MacroStringTools.toDotPath(item.value.pack, item.value.name), haxe.macro.Context.currentPos());

View File

@@ -1,8 +1,8 @@
package haxework.resources;
package hw.resources;
import flash.display.BitmapData;
import flash.display.MovieClip;
import haxework.resources.Resources;
import hw.resources.Resources;
@:provide(Resources) interface IResources {
public var image(default, null):ResMap<BitmapData>;

View File

@@ -1,4 +1,4 @@
package haxework.resources;
package hw.resources;
import flash.display.BitmapData;
import flash.display.MovieClip;

View File

@@ -1,4 +1,4 @@
package haxework.signal;
package hw.signal;
typedef Signal<A> = Signal1<A>;

View File

@@ -1,4 +1,4 @@
package haxework.storage;
package hw.storage;
interface IStorage {
public function exists(key:String):Bool;

View File

@@ -1,4 +1,4 @@
package haxework.storage;
package hw.storage;
class NoStorage implements IStorage {

View File

@@ -1,4 +1,4 @@
package haxework.storage;
package hw.storage;
import flash.net.SharedObject;
import haxe.Serializer;

View File

@@ -1,4 +1,4 @@
package haxework.text;
package hw.text;
import haxe.Timer;
import flash.text.TextFormat;
@@ -145,4 +145,4 @@ class BitmapTextField extends TextField {
textField.visible = false;
return bd;
}
}
}

View File

@@ -1,4 +1,4 @@
package haxework.text;
package hw.text;
import flash.geom.Point;
import flash.text.TextField;

View File

@@ -1,4 +1,4 @@
package haxework.translate;
package hw.translate;
interface ITranslate {
public function get(key:String):String;

View File

@@ -1,4 +1,4 @@
package haxework.translate;
package hw.translate;
class Translate implements ITranslate {

View File

@@ -1,6 +1,6 @@
package haxework.translate;
package hw.translate;
import haxework.provider.Provider;
import hw.provider.Provider;
abstract TranslateString(String) from String to String {

View File

@@ -1,4 +1,4 @@
package haxework.utils;
package hw.utils;
class NumberUtil {
@@ -9,4 +9,4 @@ class NumberUtil {
public static inline function limitFloat(value:Float, min:Float, max:Float):Float {
return Math.max(Math.min(max, value), min);
}
}
}

View File

@@ -1,4 +1,4 @@
package haxework.utils;
package hw.utils;
import haxe.Unserializer;
import haxe.Serializer;

View File

@@ -1,4 +1,4 @@
package haxework.utils;
package hw.utils;
using StringTools;

View File

@@ -1,12 +1,12 @@
package haxework.view;
package hw.view;
import flash.display.DisplayObject;
import flash.geom.Rectangle;
import haxework.view.geometry.Geometry;
import haxework.view.geometry.SizeSet;
import haxework.view.group.IGroupView;
import haxework.view.skin.ISkin;
import haxework.view.theme.StyleId;
import hw.view.geometry.Geometry;
import hw.view.geometry.SizeSet;
import hw.view.group.IGroupView;
import hw.view.skin.ISkin;
import hw.view.theme.StyleId;
interface IView<C:DisplayObject> {
public var geometry(default, set):Geometry;

View File

@@ -1,10 +1,10 @@
package haxework.view;
package hw.view;
import flash.display.BitmapData;
import haxework.net.ImageLoader;
import haxework.view.skin.BitmapSkin;
import haxework.view.utils.BitmapUtil;
import haxework.view.utils.DrawUtil.FillType;
import hw.net.ImageLoader;
import hw.view.skin.BitmapSkin;
import hw.view.utils.BitmapUtil;
import hw.view.utils.DrawUtil.FillType;
class ImageView extends SpriteView {

View File

@@ -1,6 +1,6 @@
package haxework.view;
package hw.view;
import haxework.net.SwfLoader;
import hw.net.SwfLoader;
import flash.display.MovieClip;
//ToDo: sprite wrapper?

View File

@@ -1,4 +1,4 @@
package haxework.view;
package hw.view;
import flash.display.DisplayObject;
import flash.display.StageAlign;
@@ -7,9 +7,9 @@ import flash.errors.Error;
import flash.events.Event;
import flash.geom.Rectangle;
import flash.Lib;
import haxework.provider.Provider;
import haxework.signal.Signal;
import haxework.view.group.IGroupView;
import hw.provider.Provider;
import hw.signal.Signal;
import hw.view.group.IGroupView;
class Root {

View File

@@ -1,7 +1,7 @@
package haxework.view;
package hw.view;
import flash.display.Sprite;
import haxework.view.skin.SpriteSkin;
import hw.view.skin.SpriteSkin;
class SpriteView extends View<Sprite> {

View File

@@ -1,15 +1,15 @@
package haxework.view;
package hw.view;
import flash.Lib;
import flash.display.Stage;
import flash.display.DisplayObject;
import flash.display.InteractiveObject;
import flash.geom.Rectangle;
import haxework.view.geometry.Geometry;
import haxework.view.geometry.SizeSet;
import haxework.view.group.IGroupView;
import haxework.view.skin.ISkin;
import haxework.view.theme.ITheme;
import hw.view.geometry.Geometry;
import hw.view.geometry.SizeSet;
import hw.view.group.IGroupView;
import hw.view.skin.ISkin;
import hw.view.theme.ITheme;
@:style class View<C:DisplayObject> implements IView<C> {

View File

@@ -1,4 +1,4 @@
package haxework.view;
package hw.view;
import flash.events.Event;
import flash.display.Stage;

View File

@@ -1,13 +1,13 @@
package haxework.view.data;
package hw.view.data;
import haxework.view.theme.StyleId;
import haxework.view.form.ToggleButtonView;
import haxework.view.data.DataView.Factory;
import hw.view.theme.StyleId;
import hw.view.form.ToggleButtonView;
import hw.view.data.DataView.Factory;
import haxe.EnumTools;
import haxework.view.layout.HorizontalLayout;
import haxework.view.layout.ILayout;
import hw.view.layout.HorizontalLayout;
import hw.view.layout.ILayout;
using haxework.utils.StringUtil;
using hw.utils.StringUtil;
class ButtonGroup<D> extends DataView<D, ToggleButtonView> {

View File

@@ -1,11 +1,11 @@
package haxework.view.data;
package hw.view.data;
import flash.display.DisplayObject;
import flash.events.MouseEvent;
import haxework.signal.Signal;
import haxework.view.group.GroupView;
import haxework.view.layout.ILayout;
import haxework.view.layout.VerticalLayout;
import hw.signal.Signal;
import hw.view.group.GroupView;
import hw.view.layout.ILayout;
import hw.view.layout.VerticalLayout;
typedef Factory<D, V:IView<Dynamic>> = Int -> D -> V

View File

@@ -1,11 +1,11 @@
package haxework.view.form;
package hw.view.form;
import flash.display.BitmapData;
import haxework.view.skin.ButtonBitmapSkin;
import haxework.view.skin.ISkin;
import haxework.view.utils.BitmapUtil;
import haxework.view.utils.DrawUtil.FillType;
import haxework.net.ImageLoader;
import hw.view.skin.ButtonBitmapSkin;
import hw.view.skin.ISkin;
import hw.view.utils.BitmapUtil;
import hw.view.utils.DrawUtil.FillType;
import hw.net.ImageLoader;
class ButtonImageView extends ButtonView {

View File

@@ -1,7 +1,7 @@
package haxework.view.form;
package hw.view.form;
import haxework.view.skin.ButtonColorSkin;
import haxework.signal.Signal;
import hw.view.skin.ButtonColorSkin;
import hw.signal.Signal;
import flash.events.MouseEvent;
enum ButtonState {

View File

@@ -1,6 +1,6 @@
package haxework.view.form;
package hw.view.form;
import haxework.view.text.TextView;
import hw.view.text.TextView;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.text.TextField;
@@ -8,7 +8,7 @@ import flash.text.TextFieldAutoSize;
import flash.text.TextFieldType;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
import haxework.signal.Signal;
import hw.signal.Signal;
class InputView extends TextView {

View File

@@ -1,8 +1,8 @@
package haxework.view.form;
package hw.view.form;
import haxework.view.geometry.HAlign;
import haxework.view.geometry.VAlign;
import haxework.view.text.TextView;
import hw.view.geometry.HAlign;
import hw.view.geometry.VAlign;
import hw.view.text.TextView;
class LabelView extends TextView {

View File

@@ -1,17 +1,17 @@
package haxework.view.form;
package hw.view.form;
import haxework.view.theme.StyleId;
import flash.events.MouseEvent;
import flash.geom.Point;
import haxework.signal.Signal;
import haxework.view.data.DataView;
import haxework.view.geometry.HAlign;
import haxework.view.geometry.Position;
import haxework.view.group.GroupView;
import haxework.view.group.IGroupView;
import haxework.view.layout.VerticalLayout;
import haxework.view.skin.Skin;
using haxework.utils.StringUtil;
import hw.signal.Signal;
import hw.view.data.DataView;
import hw.view.geometry.HAlign;
import hw.view.geometry.Position;
import hw.view.group.GroupView;
import hw.view.group.IGroupView;
import hw.view.layout.VerticalLayout;
import hw.view.skin.Skin;
import hw.view.theme.StyleId;
using hw.utils.StringUtil;
class SelectIdView<D, K> extends SelectView<D> {
public var selectedId(get, set):K;
@@ -37,10 +37,12 @@ class SelectIdView<D, K> extends SelectView<D> {
private function set_selectedId(value:K):K {
if (_selectedId != value) {
_selectedId = value;
for (item in data) {
if (idResolver(item) == _selectedId) {
selected = item;
break;
if (data != null) {
for (item in data) {
if (idResolver(item) == _selectedId) {
selected = item;
break;
}
}
}
}

View File

@@ -1,4 +1,4 @@
package haxework.view.form;
package hw.view.form;
class ToggleButtonView extends ButtonView {

View File

@@ -1,9 +1,9 @@
package haxework.view.frame;
package hw.view.frame;
import haxework.animate.IAnimate;
import haxework.signal.Signal;
import haxework.view.group.GroupView;
import haxework.view.IView;
import hw.animate.IAnimate;
import hw.signal.Signal;
import hw.view.group.GroupView;
import hw.view.IView;
class FrameSwitcher extends GroupView {

View File

@@ -1,8 +1,8 @@
package haxework.view.frame;
package hw.view.frame;
import haxework.view.group.GroupView;
import haxework.view.layout.ILayout;
import haxework.view.layout.VerticalLayout;
import hw.view.group.GroupView;
import hw.view.layout.ILayout;
import hw.view.layout.VerticalLayout;
class FrameView<D> extends GroupView {
public var frameId(default, null):String;

View File

@@ -1,4 +1,4 @@
package haxework.view.geometry;
package hw.view.geometry;
abstract Box(Array<Float>) {
public var left(get, set):Float;

View File

@@ -1,4 +1,4 @@
package haxework.view.geometry;
package hw.view.geometry;
@:style class Geometry {
@:style(0) public var width(default, default):SizeValue;

View File

@@ -1,4 +1,4 @@
package haxework.view.geometry;
package hw.view.geometry;
@:enum abstract HAlign(String) from String to String {
var NONE = "none";

View File

@@ -1,4 +1,4 @@
package haxework.view.geometry;
package hw.view.geometry;
@:enum abstract Position(String) from String to String {
var LAYOUT = "layout";

View File

@@ -1,4 +1,4 @@
package haxework.view.geometry;
package hw.view.geometry;
abstract Size(Array<Float>) {
public var width(get, set):Float;

View File

@@ -1,4 +1,4 @@
package haxework.view.geometry;
package hw.view.geometry;
import haxe.ds.StringMap;

View File

@@ -1,4 +1,4 @@
package haxework.view.geometry;
package hw.view.geometry;
enum SizeType {
FIXED;

View File

@@ -1,4 +1,4 @@
package haxework.view.geometry;
package hw.view.geometry;
@:enum abstract VAlign(String) from String to String {
var NONE = "none";

View File

@@ -1,4 +1,4 @@
package haxework.view.group;
package hw.view.group;
import flash.geom.Point;
import flash.events.TouchEvent;
@@ -6,13 +6,13 @@ import flash.geom.Rectangle;
import flash.display.DisplayObjectContainer;
import flash.display.Sprite;
import flash.events.MouseEvent;
import haxework.signal.Signal;
import haxework.view.geometry.Position;
import haxework.view.layout.DefaultLayout;
import haxework.view.layout.ILayout;
import haxework.view.list.HScrollBarView;
import haxework.view.list.ScrollBarView;
import haxework.view.list.VScrollBarView;
import hw.signal.Signal;
import hw.view.geometry.Position;
import hw.view.layout.DefaultLayout;
import hw.view.layout.ILayout;
import hw.view.list.HScrollBarView;
import hw.view.list.ScrollBarView;
import hw.view.list.VScrollBarView;
class OverflowControl {
public var overflow(default, set):Float = 0;

View File

@@ -1,6 +1,6 @@
package haxework.view.group;
package hw.view.group;
import haxework.view.layout.HorizontalLayout;
import hw.view.layout.HorizontalLayout;
class HGroupView extends GroupView {

View File

@@ -1,8 +1,8 @@
package haxework.view.group;
package hw.view.group;
import flash.display.DisplayObjectContainer;
import haxework.view.group.Overflow.Overflow;
import haxework.view.layout.ILayout;
import hw.view.group.Overflow.Overflow;
import hw.view.layout.ILayout;
interface IGroupView extends IView<Dynamic> {
public var layout(default, set):ILayout;

View File

@@ -1,4 +1,4 @@
package haxework.view.group;
package hw.view.group;
@:enum abstract OverflowType(String) from String to String {
var STRETCH = "stretch";

View File

@@ -1,6 +1,6 @@
package haxework.view.group;
package hw.view.group;
import haxework.view.layout.VerticalLayout;
import hw.view.layout.VerticalLayout;
class VGroupView extends GroupView {

View File

@@ -1,10 +1,10 @@
package haxework.view.layout;
package hw.view.layout;
import haxework.view.geometry.HAlign;
import haxework.view.geometry.Position;
import haxework.view.geometry.VAlign;
import haxework.view.group.IGroupView;
import haxework.view.group.Overflow;
import hw.view.geometry.HAlign;
import hw.view.geometry.Position;
import hw.view.geometry.VAlign;
import hw.view.group.IGroupView;
import hw.view.group.Overflow;
class DefaultLayout extends Layout {

View File

@@ -1,9 +1,9 @@
package haxework.view.layout;
package hw.view.layout;
import haxework.view.geometry.HAlign;
import haxework.view.geometry.SizeValue;
import haxework.view.geometry.VAlign;
import haxework.view.group.IGroupView;
import hw.view.geometry.HAlign;
import hw.view.geometry.SizeValue;
import hw.view.geometry.VAlign;
import hw.view.group.IGroupView;
class HorizontalLayout extends DefaultLayout {

View File

@@ -1,9 +1,9 @@
package haxework.view.layout;
package hw.view.layout;
import haxework.view.geometry.HAlign;
import haxework.view.geometry.VAlign;
import haxework.view.group.IGroupView;
import haxework.view.theme.IStylable;
import hw.view.geometry.HAlign;
import hw.view.geometry.VAlign;
import hw.view.group.IGroupView;
import hw.view.theme.IStylable;
interface ILayout extends IStylable {
public var hAlign(get, set):HAlign;

View File

@@ -1,8 +1,8 @@
package haxework.view.layout;
package hw.view.layout;
import haxework.view.geometry.HAlign;
import haxework.view.geometry.VAlign;
import haxework.view.group.IGroupView;
import hw.view.geometry.HAlign;
import hw.view.geometry.VAlign;
import hw.view.group.IGroupView;
@:style class Layout implements ILayout {

Some files were not shown because too many files have changed in this diff Show More