203 lines
15 KiB
HTML
Executable File
203 lines
15 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="description" content="API docs for the addScopedWillPopCallback method from the NoAnimationMaterialPageRoute class, for the Dart programming language.">
|
|
<title>addScopedWillPopCallback method - NoAnimationMaterialPageRoute class - noAnimationMaterialPageRoute library - Dart API</title>
|
|
<!-- required because all the links are pseudo-absolute -->
|
|
<base href="../..">
|
|
|
|
<link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
|
|
<link rel="stylesheet" href="static-assets/github.css">
|
|
<link rel="stylesheet" href="static-assets/styles.css">
|
|
<link rel="icon" href="static-assets/favicon.png">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="overlay-under-drawer"></div>
|
|
|
|
<header id="title">
|
|
<button id="sidenav-left-toggle" type="button"> </button>
|
|
<ol class="breadcrumbs gt-separated dark hidden-xs">
|
|
<li><a href="index.html">touch_demonstrator</a></li>
|
|
<li><a href="ui_noAnimationMaterialPageRoute/ui_noAnimationMaterialPageRoute-library.html">noAnimationMaterialPageRoute</a></li>
|
|
<li><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute-class.html">NoAnimationMaterialPageRoute<span class="signature"><<wbr><span class="type-parameter">T</span>></span></a></li>
|
|
<li class="self-crumb">addScopedWillPopCallback method</li>
|
|
</ol>
|
|
<div class="self-name">addScopedWillPopCallback</div>
|
|
<form class="search navbar-right" role="search">
|
|
<input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
|
|
</form>
|
|
</header>
|
|
|
|
<main>
|
|
|
|
<div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
|
|
<h5>NoAnimationMaterialPageRoute class</h5>
|
|
<ol>
|
|
<li class="section-title"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute-class.html#constructors">Constructors</a></li>
|
|
<li><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/NoAnimationMaterialPageRoute.html">NoAnimationMaterialPageRoute</a></li>
|
|
|
|
<li class="section-title inherited">
|
|
<a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute-class.html#instance-properties">Properties</a>
|
|
</li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/animation.html">animation</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/barrierColor.html">barrierColor</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/barrierDismissible.html">barrierDismissible</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/barrierLabel.html">barrierLabel</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/builder.html">builder</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/canPop.html">canPop</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/completed.html">completed</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/controller.html">controller</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/currentResult.html">currentResult</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/debugLabel.html">debugLabel</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/finishedWhenPopped.html">finishedWhenPopped</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/focusScopeNode.html">focusScopeNode</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/fullscreenDialog.html">fullscreenDialog</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/hashCode.html">hashCode</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/hasScopedWillPopCallback.html">hasScopedWillPopCallback</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/isActive.html">isActive</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/isCurrent.html">isCurrent</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/isFirst.html">isFirst</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/maintainState.html">maintainState</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/navigator.html">navigator</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/offstage.html">offstage</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/opaque.html">opaque</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/overlayEntries.html">overlayEntries</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/popped.html">popped</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/runtimeType.html">runtimeType</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/secondaryAnimation.html">secondaryAnimation</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/semanticsDismissible.html">semanticsDismissible</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/settings.html">settings</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/subtreeContext.html">subtreeContext</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/transitionDuration.html">transitionDuration</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/willHandlePopInternally.html">willHandlePopInternally</a></li>
|
|
|
|
<li class="section-title"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute-class.html#instance-methods">Methods</a></li>
|
|
<li><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/buildTransitions.html">buildTransitions</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/addLocalHistoryEntry.html">addLocalHistoryEntry</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/addScopedWillPopCallback.html">addScopedWillPopCallback</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/buildPage.html">buildPage</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/canTransitionFrom.html">canTransitionFrom</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/canTransitionTo.html">canTransitionTo</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/changedExternalState.html">changedExternalState</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/changedInternalState.html">changedInternalState</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/createAnimation.html">createAnimation</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/createAnimationController.html">createAnimationController</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/createOverlayEntries.html">createOverlayEntries</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/didChangeNext.html">didChangeNext</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/didChangePrevious.html">didChangePrevious</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/didComplete.html">didComplete</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/didPop.html">didPop</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/didPopNext.html">didPopNext</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/didPush.html">didPush</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/didReplace.html">didReplace</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/dispose.html">dispose</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/install.html">install</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/noSuchMethod.html">noSuchMethod</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/removeLocalHistoryEntry.html">removeLocalHistoryEntry</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/removeScopedWillPopCallback.html">removeScopedWillPopCallback</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/setState.html">setState</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/toString.html">toString</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/willPop.html">willPop</a></li>
|
|
|
|
<li class="section-title inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute-class.html#operators">Operators</a></li>
|
|
<li class="inherited"><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/operator_equals.html">operator ==</a></li>
|
|
|
|
|
|
|
|
</ol>
|
|
</div><!--/.sidebar-offcanvas-->
|
|
|
|
<div class="col-xs-12 col-sm-9 col-md-8 main-content">
|
|
<h1>addScopedWillPopCallback method</h1>
|
|
|
|
<section class="multi-line-signature">
|
|
<span class="returntype">void</span>
|
|
<span class="name ">addScopedWillPopCallback</span>
|
|
(<wbr><span class="parameter" id="addScopedWillPopCallback-param-callback"><span class="type-annotation">WillPopCallback</span> <span class="parameter-name">callback</span></span>)
|
|
<div class="features">inherited</div>
|
|
</section>
|
|
<section class="desc markdown">
|
|
<p>Enables this route to veto attempts by the user to dismiss it.</p>
|
|
<p>This callback is typically added using a <code>WillPopScope</code> widget. That
|
|
widget finds the enclosing <code>ModalRoute</code> and uses this function to register
|
|
this callback:</p>
|
|
<pre class="language-dart"><code class="language-dart">Widget build(BuildContext context) {
|
|
return WillPopScope(
|
|
onWillPop: askTheUserIfTheyAreSure,
|
|
child: ...,
|
|
);
|
|
}
|
|
</code></pre>
|
|
<p>This callback runs asynchronously and it's possible that it will be called
|
|
after its route has been disposed. The callback should check <code>State.mounted</code>
|
|
before doing anything.</p>
|
|
<p>A typical application of this callback would be to warn the user about
|
|
unsaved <code>Form</code> data if the user attempts to back out of the form. In that
|
|
case, use the <code>Form.onWillPop</code> property to register the callback.</p>
|
|
<p>To register a callback manually, look up the enclosing <code>ModalRoute</code> in a
|
|
<code>State.didChangeDependencies</code> callback:</p>
|
|
<pre class="language-dart"><code class="language-dart">ModalRoute<dynamic> _route;
|
|
|
|
@override
|
|
void didChangeDependencies() {
|
|
super.didChangeDependencies();
|
|
_route?.removeScopedWillPopCallback(askTheUserIfTheyAreSure);
|
|
_route = ModalRoute.of(context);
|
|
_route?.addScopedWillPopCallback(askTheUserIfTheyAreSure);
|
|
}
|
|
</code></pre>
|
|
<p>If you register a callback manually, be sure to remove the callback with
|
|
<a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/removeScopedWillPopCallback.html">removeScopedWillPopCallback</a> by the time the widget has been disposed. A
|
|
stateful widget can do this in its dispose method (continuing the previous
|
|
example):</p>
|
|
<pre class="language-dart"><code class="language-dart">@override
|
|
void dispose() {
|
|
_route?.removeScopedWillPopCallback(askTheUserIfTheyAreSure);
|
|
_route = null;
|
|
super.dispose();
|
|
}
|
|
</code></pre>
|
|
<p>See also:</p><ul><li><code>WillPopScope</code>, which manages the registration and unregistration
|
|
process automatically.</li><li><code>Form</code>, which provides an <code>onWillPop</code> callback that uses this mechanism.</li><li><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/willPop.html">willPop</a>, which runs the callbacks added with this method.</li><li><a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/removeScopedWillPopCallback.html">removeScopedWillPopCallback</a>, which removes a callback from the list
|
|
that <a href="ui_noAnimationMaterialPageRoute/NoAnimationMaterialPageRoute/willPop.html">willPop</a> checks.</li></ul>
|
|
</section>
|
|
|
|
<section class="summary source-code" id="source">
|
|
<h2><span>Implementation</span> </h2>
|
|
<pre class="language-dart"><code class="language-dart">void addScopedWillPopCallback(WillPopCallback callback) {
|
|
assert(_scopeKey.currentState != null, 'Tried to add a willPop callback to a route that is not currently in the tree.');
|
|
_willPopCallbacks.add(callback);
|
|
}</code></pre>
|
|
</section>
|
|
|
|
</div> <!-- /.main-content -->
|
|
|
|
<div class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
|
|
</div><!--/.sidebar-offcanvas-->
|
|
|
|
</main>
|
|
|
|
<footer>
|
|
<span class="no-break">
|
|
touch_demonstrator 1.0.0+1
|
|
</span>
|
|
|
|
</footer>
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
|
<script src="static-assets/typeahead.bundle.min.js"></script>
|
|
<script src="static-assets/highlight.pack.js"></script>
|
|
<script src="static-assets/URI.js"></script>
|
|
<script src="static-assets/script.js"></script>
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|