fixes
This commit is contained in:
@@ -119,10 +119,15 @@ class TextView extends SpriteView implements ITextView<Sprite, TextField> {
|
||||
return fontSize;
|
||||
}
|
||||
|
||||
private function currentText():String {
|
||||
return _text;
|
||||
}
|
||||
|
||||
override public function update():Void {
|
||||
textField.defaultTextFormat = textFormat;
|
||||
textField.autoSize = fill ? TextFieldAutoSize.NONE : TextFieldAutoSize.LEFT;
|
||||
if (_text != null) textField.text = _text;
|
||||
var t:String = currentText();
|
||||
if (t != null) textField.text = t;
|
||||
if (contentSize && !Std.is(skin, ISize)) {
|
||||
width = textField.width;
|
||||
height = textField.height;
|
||||
|
||||
@@ -8,6 +8,8 @@ class ToggleButtonView extends ButtonView {
|
||||
public var on(default, set):Bool;
|
||||
public var onSkin(default, set):ISkin<Sprite, IView<Sprite>>;
|
||||
|
||||
public var onText(default, set):String;
|
||||
|
||||
public function new() {
|
||||
super();
|
||||
}
|
||||
@@ -27,4 +29,16 @@ class ToggleButtonView extends ButtonView {
|
||||
override private function currentSkin():ISkin<Sprite, IView<Sprite>> {
|
||||
return on ? onSkin : skin;
|
||||
}
|
||||
|
||||
private function set_onText(value:String):String {
|
||||
if (onText != value) {
|
||||
onText = value;
|
||||
invalidate;
|
||||
}
|
||||
return onText;
|
||||
}
|
||||
|
||||
override private function currentText():String {
|
||||
return on && onText != null ? onText : super.currentText();
|
||||
}
|
||||
}
|
||||
@@ -17,14 +17,15 @@ class HListView<V:View<Dynamic>, D> extends ListView<V, D> {
|
||||
|
||||
override private function recalcSize(item:ListItem<V, D>):Void {
|
||||
var view:IView<Dynamic> = item.view;
|
||||
itemSize = view.width + view.leftMargin + view.rightMargin + layoutMargin;
|
||||
size = Math.round(Math.max(0, width / itemSize)) + 2;
|
||||
itemSize = view.width + view.leftMargin + view.rightMargin + container.layoutMargin;
|
||||
size = Math.ceil(Math.max(0, width / itemSize)) + 2;
|
||||
sizeDiff = size - (width / itemSize);
|
||||
}
|
||||
|
||||
override private function set_diff(value:Float):Float {
|
||||
override private function set_offsetDiff(value:Float):Float {
|
||||
container.leftPadding = -value * itemSize;
|
||||
mask.leftMargin = -container.leftPadding;
|
||||
return super.set_diff(value);
|
||||
return super.set_offsetDiff(value);
|
||||
}
|
||||
|
||||
override private function onMouseWheel(value:Int):Void {
|
||||
|
||||
@@ -16,7 +16,12 @@ class ListView<V:View<Dynamic>, D> extends GroupView implements ScrollListener {
|
||||
|
||||
public var data(default, set):Array<D>;
|
||||
public var renderer(null, set):IRenderer<Dynamic, V, D>;
|
||||
|
||||
public var offset(default, set):Int;
|
||||
private var offsetDiff(default, set):Float;
|
||||
|
||||
private var size(default, set):Int;
|
||||
private var sizeDiff:Float;
|
||||
|
||||
public var dispatcher(default, null):IDispatcher<ListViewListener<V, D>>;
|
||||
public var scroll(default, set):ScrollView;
|
||||
@@ -24,8 +29,6 @@ class ListView<V:View<Dynamic>, D> extends GroupView implements ScrollListener {
|
||||
private var container:GroupView;
|
||||
private var mask:SpriteView;
|
||||
private var itemSize:Float;
|
||||
private var diff(default, set):Float;
|
||||
private var size(default, set):Int;
|
||||
|
||||
private var items:Array<ListItem<V, D>>;
|
||||
private var itemsListeners:Map<ListItem<V, D>, MouseEvent->Void>;
|
||||
@@ -46,7 +49,8 @@ class ListView<V:View<Dynamic>, D> extends GroupView implements ScrollListener {
|
||||
dispatcher = new Dispatcher<ListViewListener<V, D>>();
|
||||
itemSize = 0;
|
||||
offset = 0;
|
||||
diff = 0;
|
||||
offsetDiff = 0;
|
||||
sizeDiff = 0;
|
||||
items = new Array<ListItem<V, D>>();
|
||||
itemsListeners = new Map<ListItem<V, D>, MouseEvent->Void>();
|
||||
content.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheelEvent);
|
||||
@@ -69,11 +73,12 @@ class ListView<V:View<Dynamic>, D> extends GroupView implements ScrollListener {
|
||||
public function onScroll(position:Float):Void {
|
||||
var x:Float = data.length * position;
|
||||
offset = Math.round(x) - 1;
|
||||
diff = (x - offset);
|
||||
offsetDiff = (x - offset);
|
||||
}
|
||||
|
||||
private function onMouseWheelEvent(event:MouseEvent):Void {
|
||||
diff = 0;
|
||||
event.preventDefault();
|
||||
offsetDiff = 0;
|
||||
onMouseWheel(event.delta);
|
||||
}
|
||||
|
||||
@@ -102,7 +107,7 @@ class ListView<V:View<Dynamic>, D> extends GroupView implements ScrollListener {
|
||||
|
||||
private function render():Void {
|
||||
if (data != null && renderer != null) {
|
||||
scroll.ratio = Math.min(1.0, size / data.length);
|
||||
scroll.ratio = Math.min(1.0, (size - sizeDiff) / data.length);
|
||||
scroll.position = (offset / data.length);
|
||||
for (i in 0...size) {
|
||||
var item:ListItem<V, D> = items[i];
|
||||
@@ -145,9 +150,9 @@ class ListView<V:View<Dynamic>, D> extends GroupView implements ScrollListener {
|
||||
return size;
|
||||
}
|
||||
|
||||
private function set_diff(value:Float):Float {
|
||||
diff = value;
|
||||
return diff;
|
||||
private function set_offsetDiff(value:Float):Float {
|
||||
offsetDiff = value;
|
||||
return offsetDiff;
|
||||
}
|
||||
|
||||
private function setClickListener(item:ListItem<V, D>):Void {
|
||||
|
||||
@@ -17,14 +17,15 @@ class VListView<V:View<Dynamic>, D> extends ListView<V, D> {
|
||||
|
||||
override private function recalcSize(item:ListItem<V, D>):Void {
|
||||
var view:IView<Dynamic> = item.view;
|
||||
itemSize = view.height + view.topMargin + view.bottomMargin + layoutMargin;
|
||||
size = Math.round(Math.max(0, height / itemSize)) + 1;
|
||||
itemSize = view.height + view.topMargin + view.bottomMargin + container.layoutMargin;
|
||||
size = Math.ceil(Math.max(0, height / itemSize)) + 2;
|
||||
sizeDiff = size - (height / itemSize);
|
||||
}
|
||||
|
||||
override private function set_diff(value:Float):Float {
|
||||
override private function set_offsetDiff(value:Float):Float {
|
||||
container.topPadding = -value * itemSize;
|
||||
mask.topMargin = -container.topPadding;
|
||||
return super.set_diff(value);
|
||||
return super.set_offsetDiff(value);
|
||||
}
|
||||
|
||||
override private function onMouseWheel(value:Int):Void {
|
||||
|
||||
@@ -46,11 +46,14 @@ class BaseLoader<T> implements ILoader<T> {
|
||||
//L.d(TAG, "Request: " + prepareUrl(url));
|
||||
//internalRequest(prepareUrl(url));
|
||||
Provider.get(ILoaderManager).add(this);
|
||||
return callback;
|
||||
}
|
||||
|
||||
private function cockTimeout():Void {
|
||||
if (timeout > 0) {
|
||||
timer = new Timer(timeout);
|
||||
timer.run = callTimeout;
|
||||
}
|
||||
return callback;
|
||||
}
|
||||
|
||||
public function fromBytes(data:ByteArray):ICallback<T> {
|
||||
|
||||
@@ -41,6 +41,7 @@ class BaseMediaLoader<T> extends BaseLoader<T> {
|
||||
}*/
|
||||
|
||||
override private function internalRequest(url:String):Void {
|
||||
cockTimeout();
|
||||
loader = buildLoader();
|
||||
loader.load(new URLRequest(url), buildLoaderContext());
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ class BaseURLLoader<T> extends BaseLoader<T> {
|
||||
}
|
||||
|
||||
override private function internalRequest(url:String):Void {
|
||||
cockTimeout();
|
||||
loader = buildLoader();
|
||||
var request:URLRequest = new URLRequest(url);
|
||||
if (method != URLRequestMethod.POST && method != URLRequestMethod.GET) {
|
||||
|
||||
Reference in New Issue
Block a user