Sophie

Sophie

distrib > Mageia > 6 > x86_64 > by-pkgid > 2cba8df17162abb32fcb8e6852f3eacc > files > 99

qtdeclarative5-doc-5.9.4-1.mga6.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- signaltransition.cpp -->
  <title>SignalTransition QML Type | Qt QML 5.9</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td >Qt 5.9</td><td ><a href="qtqml-index.html">Qt QML</a></td><td ><a href="qtqml-qmlmodule.html">QML Types</a></td><td >SignalTransition QML Type</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.9.4 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#properties">Properties</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
<li class="level2"><a href="#example-usage">Example Usage</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">SignalTransition QML Type</h1>
<span class="subtitle"></span>
<!-- $$$SignalTransition-brief -->
<p>The <a href="qml-qtqml-statemachine-signaltransition.html">SignalTransition</a> type provides a transition based on a Qt signal. <a href="#details">More...</a></p>
<!-- @@@SignalTransition -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Import Statement:</td><td class="memItemRight bottomAlign"> import QtQml.StateMachine 1.0</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign">  Qt 5.4</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <p><a href="qml-qtqml-statemachine-qsignaltransition.html">QSignalTransition</a></p>
</td></tr></table></div><ul>
<li><a href="qml-qtqml-statemachine-signaltransition-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="properties"></a>
<h2 id="properties">Properties</h2>
<ul>
<li class="fn"><b><b><a href="qml-qtqml-statemachine-signaltransition.html#guard-prop">guard</a></b></b> : bool</li>
<li class="fn"><b><b><a href="qml-qtqml-statemachine-signaltransition.html#signal-prop">signal</a></b></b> : signal</li>
</ul>
<!-- $$$SignalTransition-description -->
<a name="details"></a>
<h2 id="details">Detailed Description</h2>
<p><a href="qml-qtqml-statemachine-signaltransition.html">SignalTransition</a> is part of <a href="qmlstatemachine.html">The Declarative State Machine Framework</a>.</p>
<a name="example-usage"></a>
<h2 id="example-usage">Example Usage</h2>
<pre class="qml">

  import QtQuick 2.0
  import QtQml.StateMachine 1.0 as DSM

  <span class="type">Rectangle</span> {
      <span class="type">DSM</span>.StateMachine {
          <span class="name">id</span>: <span class="name">stateMachine</span>
          <span class="name">initialState</span>: <span class="name">state</span>
          <span class="name">running</span>: <span class="number">true</span>
          <span class="type">DSM</span>.State {
              <span class="name">id</span>: <span class="name">state</span>
              <span class="type">DSM</span>.SignalTransition {
                  <span class="name">targetState</span>: <span class="name">finalState</span>
                  <span class="name">signal</span>: <span class="name">button</span>.<span class="name">clicked</span>
                  <span class="name">guard</span>: <span class="name">guardButton</span>.<span class="name">checked</span>
              }
          }
          <span class="type">DSM</span>.FinalState {
              <span class="name">id</span>: <span class="name">finalState</span>
          }
          <span class="name">onFinished</span>: <span class="name">Qt</span>.<span class="name">quit</span>()
      }
      <span class="type">Row</span> {
          <span class="name">spacing</span>: <span class="number">2</span>
          <span class="type">Button</span> {
              <span class="name">id</span>: <span class="name">button</span>
              <span class="name">text</span>: <span class="string">&quot;Finish state&quot;</span>
          }

          <span class="type">Button</span> {
              <span class="name">id</span>: <span class="name">guardButton</span>
              <span class="name">checkable</span>: <span class="number">true</span>
              <span class="name">text</span>: <span class="name">checked</span> ? <span class="string">&quot;Press to block the SignalTransition&quot;</span> : <span class="string">&quot;Press to unblock the SignalTransition&quot;</span>
          }
      }
  }

</pre>
<br style="clear: both" /><p><b>See also </b><a href="qml-qtqml-statemachine-statemachine.html">StateMachine</a>, <a href="qml-qtqml-statemachine-finalstate.html">FinalState</a>, and <a href="qml-qtqml-statemachine-timeouttransition.html">TimeoutTransition</a>.</p>
<!-- @@@SignalTransition -->
<h2>Property Documentation</h2>
<!-- $$$guard -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="guard-prop">
<td class="tblQmlPropNode"><p>
<a name="guard-prop"></a><span class="name">guard</span> : <span class="type">bool</span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>Guard conditions affect the behavior of a state machine by enabling transitions only when they evaluate to true and disabling them when they evaluate to false.</p>
<p>When the signal associated with this signal transition is emitted the guard condition is evaluated. In the guard condition the arguments of the signal can be used as demonstrated in the example below.</p>
<pre class="qml">

  import QtQuick 2.0
  import QtQml.StateMachine 1.0 as DSM

  <span class="type">Rectangle</span> {
      <span class="type">Button</span> {
          <span class="name">anchors</span>.fill: <span class="name">parent</span>
          <span class="name">id</span>: <span class="name">button</span>
          <span class="type">DSM</span>.StateMachine {
              <span class="type">DSM</span>.State {
                  <span class="type">DSM</span>.SignalTransition {
                      <span class="name">targetState</span>: <span class="name">finalState</span>
                      <span class="name">signal</span>: <span class="name">button</span>.<span class="name">mysignal</span>
                      <span class="comment">// the guard condition uses the mystr string argument from mysignal</span>
                      <span class="name">guard</span>: <span class="name">mystr</span> <span class="operator">==</span> <span class="string">&quot;test&quot;</span>
                  }
              }
              <span class="type">DSM</span>.FinalState {
                  <span class="name">id</span>: <span class="name">finalState</span>
              }
          }
          <span class="comment">// define the signal the SignalTransition is connected with</span>
          signal <span class="type">mysignal</span>(string mystr)
          <span class="comment">// on clicking the button emit the signal with a single string argument</span>
          <span class="name">onClicked</span>: <span class="name">button</span>.<span class="name">mysignal</span>(<span class="string">&quot;test&quot;</span>)
      }
  }

</pre>
<p><b>See also </b><a href="qml-qtqml-statemachine-signaltransition.html#signal-prop">signal</a>.</p>
</div></div><!-- @@@guard -->
<br/>
<!-- $$$signal -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="signal-prop">
<td class="tblQmlPropNode"><p>
<a name="signal-prop"></a><span class="name">signal</span> : <span class="type"><a href="qml-qtqml-statemachine-signaltransition.html#signal-prop">signal</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>The signal which is associated with this signal transition.</p>
<pre class="qml">

  import QtQuick 2.0
  import QtQml.StateMachine 1.0 as DSM

  <span class="type">Rectangle</span> {
      <span class="type">Button</span> {
          <span class="name">anchors</span>.fill: <span class="name">parent</span>
          <span class="name">id</span>: <span class="name">button</span>
          <span class="type">DSM</span>.StateMachine {
              <span class="type">DSM</span>.State {
                  <span class="type">DSM</span>.SignalTransition {
                      <span class="name">targetState</span>: <span class="name">finalState</span>
                      <span class="name">signal</span>: <span class="name">button</span>.<span class="name">clicked</span>
                  }
              }
              <span class="type">DSM</span>.FinalState {
                  <span class="name">id</span>: <span class="name">finalState</span>
              }
          }
      }
  }

</pre>
</div></div><!-- @@@signal -->
<br/>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2017 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>