[view] add focus method
This commit is contained in:
@@ -58,10 +58,7 @@ class FrameSwitcher extends GroupView {
|
|||||||
addView(current);
|
addView(current);
|
||||||
toUpdate();
|
toUpdate();
|
||||||
update();
|
update();
|
||||||
//ToDo:
|
focus(current);
|
||||||
if (content.stage != null) {
|
|
||||||
content.stage.focus = current.content;
|
|
||||||
}
|
|
||||||
current.onShow(data);
|
current.onShow(data);
|
||||||
if (animate != null) {
|
if (animate != null) {
|
||||||
animate.cancel();
|
animate.cancel();
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ class OverflowControl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@:style(true) class GroupView extends SpriteView implements IGroupView {
|
@:style(true) class GroupView extends SpriteView implements IGroupView {
|
||||||
public var container(null, null):DisplayObjectContainer;
|
public var container(default, null):DisplayObjectContainer;
|
||||||
|
|
||||||
public var views(default, set):Array<IView<Dynamic>>;
|
public var views(default, set):Array<IView<Dynamic>>;
|
||||||
@:style public var layout(default, default):ILayout;
|
@:style public var layout(default, default):ILayout;
|
||||||
@@ -253,6 +253,12 @@ class OverflowControl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function focus(?view:IView<Dynamic>):Void {
|
||||||
|
if (container.stage != null) {
|
||||||
|
container.stage.focus = view != null ? view.content : content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override private function get_rect():Rectangle {
|
override private function get_rect():Rectangle {
|
||||||
var result = super.get_rect();
|
var result = super.get_rect();
|
||||||
result.x += overflowControlX.offset;
|
result.x += overflowControlX.offset;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ interface IGroupView extends IView<Dynamic> {
|
|||||||
public var overflowX(default, set):Float;
|
public var overflowX(default, set):Float;
|
||||||
public var overflowY(default, set):Float;
|
public var overflowY(default, set):Float;
|
||||||
|
|
||||||
public var container(null, null):DisplayObjectContainer;
|
public var container(default, null):DisplayObjectContainer;
|
||||||
public var views(default, set):Array<IView<Dynamic>>;
|
public var views(default, set):Array<IView<Dynamic>>;
|
||||||
|
|
||||||
public function containsView(view:IView<Dynamic>):Bool;
|
public function containsView(view:IView<Dynamic>):Bool;
|
||||||
@@ -25,4 +25,6 @@ interface IGroupView extends IView<Dynamic> {
|
|||||||
public function removeView(view:IView<Dynamic>):IView<Dynamic>;
|
public function removeView(view:IView<Dynamic>):IView<Dynamic>;
|
||||||
|
|
||||||
public function removeAllViews():Void;
|
public function removeAllViews():Void;
|
||||||
|
|
||||||
|
public function focus(?view:IView<Dynamic>):Void;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class PopupManager {
|
|||||||
public function remove(popup:P):Void {
|
public function remove(popup:P):Void {
|
||||||
if (root.containsView(popup)) {
|
if (root.containsView(popup)) {
|
||||||
root.removeView(popup);
|
root.removeView(popup);
|
||||||
|
root.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user