From 80997a68d67ea09954c7d0f17c876fb13d711af2 Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Fri, 25 Sep 2015 14:12:08 -0700 Subject: [PATCH] Add a currentWidget and currentState accessor to GlobalKeys --- packages/flutter/lib/src/fn3/framework.dart | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/flutter/lib/src/fn3/framework.dart b/packages/flutter/lib/src/fn3/framework.dart index d5b172c767..26fb2e149a 100644 --- a/packages/flutter/lib/src/fn3/framework.dart +++ b/packages/flutter/lib/src/fn3/framework.dart @@ -92,6 +92,15 @@ abstract class GlobalKey extends Key { } } + Element get currentElement => _registry[this]; + Widget get currentWidget => currentElement?.widget; + State get currentState { + Element element = currentElement; + if (element is StatefulComponentElement) + return element.state; + return null; + } + static void registerRemoveListener(GlobalKey key, GlobalKeyRemoveListener listener) { assert(key != null); Set listeners = @@ -109,11 +118,6 @@ abstract class GlobalKey extends Key { assert(removed); } - static Element getElement(GlobalKey key) { - assert(key != null); - return _registry[key]; - } - // TODO(ianh): call this static void _notifyListeners() { assert(() {