[view] add focus method
This commit is contained in:
@@ -58,10 +58,7 @@ class FrameSwitcher extends GroupView {
|
||||
addView(current);
|
||||
toUpdate();
|
||||
update();
|
||||
//ToDo:
|
||||
if (content.stage != null) {
|
||||
content.stage.focus = current.content;
|
||||
}
|
||||
focus(current);
|
||||
current.onShow(data);
|
||||
if (animate != null) {
|
||||
animate.cancel();
|
||||
|
||||
@@ -67,7 +67,7 @@ class OverflowControl {
|
||||
}
|
||||
|
||||
@: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>>;
|
||||
@: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 {
|
||||
var result = super.get_rect();
|
||||
result.x += overflowControlX.offset;
|
||||
|
||||
@@ -11,7 +11,7 @@ interface IGroupView extends IView<Dynamic> {
|
||||
public var overflowX(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 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 removeAllViews():Void;
|
||||
|
||||
public function focus(?view:IView<Dynamic>):Void;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ class PopupManager {
|
||||
public function remove(popup:P):Void {
|
||||
if (root.containsView(popup)) {
|
||||
root.removeView(popup);
|
||||
root.focus();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user