Masterarbeit/doc/api/main/TouchDemonstrator/debugFillProperties.html

170 lines
9.5 KiB
HTML
Raw Normal View History

<!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 debugFillProperties method from the TouchDemonstrator class, for the Dart programming language.">
<title>debugFillProperties method - TouchDemonstrator class - main 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">&nbsp;</button>
<ol class="breadcrumbs gt-separated dark hidden-xs">
<li><a href="index.html">touch_demonstrator</a></li>
<li><a href="main/main-library.html">main</a></li>
<li><a href="main/TouchDemonstrator-class.html">TouchDemonstrator</a></li>
<li class="self-crumb">debugFillProperties method</li>
</ol>
<div class="self-name">debugFillProperties</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>TouchDemonstrator class</h5>
<ol>
<li class="section-title"><a href="main/TouchDemonstrator-class.html#constructors">Constructors</a></li>
<li><a href="main/TouchDemonstrator/TouchDemonstrator.html">TouchDemonstrator</a></li>
<li class="section-title">
<a href="main/TouchDemonstrator-class.html#instance-properties">Properties</a>
</li>
<li><a href="main/TouchDemonstrator/bloc.html">bloc</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/hashCode.html">hashCode</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/key.html">key</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/runtimeType.html">runtimeType</a></li>
<li class="section-title"><a href="main/TouchDemonstrator-class.html#instance-methods">Methods</a></li>
<li><a href="main/TouchDemonstrator/build.html">build</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/createElement.html">createElement</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/debugDescribeChildren.html">debugDescribeChildren</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/debugFillProperties.html">debugFillProperties</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/noSuchMethod.html">noSuchMethod</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/toDiagnosticsNode.html">toDiagnosticsNode</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/toString.html">toString</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/toStringDeep.html">toStringDeep</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/toStringShallow.html">toStringShallow</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/toStringShort.html">toStringShort</a></li>
<li class="section-title inherited"><a href="main/TouchDemonstrator-class.html#operators">Operators</a></li>
<li class="inherited"><a href="main/TouchDemonstrator/operator_equals.html">operator ==</a></li>
</ol>
</div><!--/.sidebar-offcanvas-->
<div class="col-xs-12 col-sm-9 col-md-8 main-content">
<h1>debugFillProperties method</h1>
<section class="multi-line-signature">
<div>
<ol class="annotation-list">
<li>@override</li>
</ol>
</div>
<span class="returntype">void</span>
<span class="name ">debugFillProperties</span>
(<wbr><span class="parameter" id="debugFillProperties-param-properties"><span class="type-annotation">DiagnosticPropertiesBuilder</span> <span class="parameter-name">properties</span></span>)
<div class="features">inherited</div>
</section>
<section class="desc markdown">
<p>Add additional properties associated with the node.</p>
<p>Use the most specific <code>DiagnosticsProperty</code> existing subclass to describe
each property instead of the <code>DiagnosticsProperty</code> base class. There are
only a small number of <code>DiagnosticsProperty</code> subclasses each covering a
common use case. Consider what values a property is relevant for users
debugging as users debugging large trees are overloaded with information.
Common named parameters in <code>DiagnosticsNode</code> subclasses help filter when
and how properties are displayed.</p>
<p><code>defaultValue</code>, <code>showName</code>, <code>showSeparator</code>, and <code>level</code> keep string
representations of diagnostics terse and hide properties when they are not
very useful.</p><ul><li>Use <code>defaultValue</code> any time the default value of a property is
uninteresting. For example, specify a default value of null any time
a property being null does not indicate an error.</li><li>Avoid specifying the <code>level</code> parameter unless the result you want
cannot be achieved by using the <code>defaultValue</code> parameter or using
the <code>ObjectFlagProperty</code> class to conditionally display the property
as a flag.</li><li>Specify <code>showName</code> and <code>showSeparator</code> in rare cases where the string
output would look clumsy if they were not set.
<pre class="language-dart"><code class="language-dart">DiagnosticsProperty&lt;Object&gt;('child(3, 4)', null, ifNull: 'is null', showSeparator: false).toString()
</code></pre>Shows using <code>showSeparator</code> to get output <code>child(3, 4) is null</code> which
is more polished than <code>child(3, 4): is null</code>.
<pre class="language-dart"><code class="language-dart">DiagnosticsProperty&lt;IconData&gt;('icon', icon, ifNull: '&lt;empty&gt;', showName: false)).toString()
</code></pre>Shows using <code>showName</code> to omit the property name as in this context the
property name does not add useful information.</li></ul>
<p><code>ifNull</code>, <code>ifEmpty</code>, <code>unit</code>, and <code>tooltip</code> make property
descriptions clearer. The examples in the code sample below illustrate
good uses of all of these parameters.</p>
<h2 id="diagnosticsproperty-subclasses-for-primitive-types">DiagnosticsProperty subclasses for primitive types</h2><ul><li><code>StringProperty</code>, which supports automatically enclosing a <code>String</code>
value in quotes.</li><li><code>DoubleProperty</code>, which supports specifying a unit of measurement for
a <code>double</code> value.</li><li><code>PercentProperty</code>, which clamps a <code>double</code> to between 0 and 1 and
formats it as a percentage.</li><li><code>IntProperty</code>, which supports specifying a unit of measurement for an
<code>int</code> value.</li><li><code>FlagProperty</code>, which formats a <code>bool</code> value as one or more flags.
Depending on the use case it is better to format a bool as
<code>DiagnosticsProperty&lt;bool&gt;</code> instead of using <code>FlagProperty</code> as the
output is more verbose but unambiguous.</li></ul>
<h2 id="other-important-diagnosticsproperty-variants">Other important <code>DiagnosticsProperty</code> variants</h2><ul><li><code>EnumProperty</code>, which provides terse descriptions of enum values
working around limitations of the <code>toString</code> implementation for Dart
enum types.</li><li><code>IterableProperty</code>, which handles iterable values with display
customizable depending on the <code>DiagnosticsTreeStyle</code> used.</li><li><code>ObjectFlagProperty</code>, which provides terse descriptions of whether a
property value is present or not. For example, whether an <code>onClick</code>
callback is specified or an animation is in progress.</li></ul>
<p>If none of these subclasses apply, use the <code>DiagnosticsProperty</code>
constructor or in rare cases create your own <code>DiagnosticsProperty</code>
subclass as in the case for <code>TransformProperty</code> which handles <code>Matrix4</code>
that represent transforms. Generally any property value with a good
<code>toString</code> method implementation works fine using <code>DiagnosticsProperty</code>
directly.</p>
<p>Used by <a href="pages_SideBarContent/SideBarContentState/toDiagnosticsNode.html">toDiagnosticsNode</a> and <code>toString</code>.</p>
</section>
<section class="summary source-code" id="source">
<h2><span>Implementation</span> </h2>
<pre class="language-dart"><code class="language-dart">@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.defaultDiagnosticsTreeStyle = DiagnosticsTreeStyle.dense;
}</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>