<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- projectsettingslistmodel.cpp -->
  <title>ProjectSettingsListModel Class | ScreenPlay</title>
<link rel="stylesheet" type="text/css" href="../css/style.css"/> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css"/>
</head>
<body>
<div class="container-fullwidth nav sticky-top"><div class="container navWrapper"><a href="../index.html"><span class="logo">ScreenPlay Generated Docs </span></a><span class="navHome"><a href="../index.html">Home</a></span></div></div> <div id= mainWrapper class="wrapper container ">
<li>ProjectSettingsListModel</li>
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#reimplemented-public-functions">Reimplemented Public Functions</a></li>
<li class="level1"><a href="#public-slots">Public Slots</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">ProjectSettingsListModel Class</h1>
<span class="small-subtitle">class <a href="screenplay-module.html">ScreenPlay</a>::ProjectSettingsListModel</span>
<!-- $$$ProjectSettingsListModel-brief -->
<p>ProjectSettingsListModel used for the dynamic loading of the properties json object inside a project.json. <a href="#details">More...</a></p>
<!-- @@@ProjectSettingsListModel -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include &lt;ProjectSettingsListModel&gt;</span>
</td></tr></table></div><ul>
<li><a href="screenplay-projectsettingslistmodel-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-functions"></a>
<h2 id="public-functions">Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-projectsettingslistmodel.html#append">append</a></b>(const ScreenPlay::SettingsItem &amp;&amp;<i>item</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QJsonObject </td><td class="memItemRight bottomAlign"><b><a href="screenplay-projectsettingslistmodel.html#getActiveSettingsJson">getActiveSettingsJson</a></b>()</td></tr>
</table></div>
<a name="reimplemented-public-functions"></a>
<h2 id="reimplemented-public-functions">Reimplemented Public Functions</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> virtual QVariant </td><td class="memItemRight bottomAlign"><b><a href="screenplay-projectsettingslistmodel.html#data">data</a></b>(const QModelIndex &amp;<i>index</i>, int <i>role</i> = Qt::DisplayRole) const override</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual QHash&lt;int, QByteArray&gt; </td><td class="memItemRight bottomAlign"><b><a href="screenplay-projectsettingslistmodel.html#roleNames">roleNames</a></b>() const override</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual int </td><td class="memItemRight bottomAlign"><b><a href="screenplay-projectsettingslistmodel.html#rowCount">rowCount</a></b>(const QModelIndex &amp;<i>parent</i> = QModelIndex()) const override</td></tr>
</table></div>
<a name="public-slots"></a>
<h2 id="public-slots">Public Slots</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="screenplay-projectsettingslistmodel.html#setValueAtIndex">setValueAtIndex</a></b>(const int <i>row</i>, const QString &amp;<i>key</i>, const QJsonObject &amp;<i>value</i>)</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$ProjectSettingsListModel-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>The loaded properties are allowed to have one level of nesting to simulate headlines:</p>
<pre class="cpp"><span class="string">&quot;properties&quot;</span>: {
    <span class="string">&quot;Attractor&quot;</span>: {
        <span class="string">&quot;attStrength&quot;</span>: {
            <span class="string">&quot;from&quot;</span>: <span class="number">0</span><span class="operator">,</span>
            <span class="string">&quot;stepSize&quot;</span>: <span class="number">100</span><span class="operator">,</span>
            <span class="string">&quot;to&quot;</span>: <span class="number">100000</span><span class="operator">,</span>
            <span class="string">&quot;type&quot;</span>: <span class="string">&quot;slider&quot;</span><span class="operator">,</span>
            <span class="string">&quot;value&quot;</span>: <span class="number">8000000</span>
        }
    }<span class="operator">,</span>
    <span class="string">&quot;Emitter&quot;</span>: {
        <span class="string">&quot;emitRate&quot;</span>: {
            <span class="string">&quot;from&quot;</span>: <span class="number">0</span><span class="operator">,</span>
            <span class="string">&quot;stepSize&quot;</span>: <span class="number">1</span><span class="operator">,</span>
            <span class="string">&quot;to&quot;</span>: <span class="number">2500</span><span class="operator">,</span>
            <span class="string">&quot;type&quot;</span>: <span class="string">&quot;slider&quot;</span><span class="operator">,</span>
            <span class="string">&quot;value&quot;</span>: <span class="number">25</span>
        }
    }
}</pre>
<p>In this example the Attractor and Emitter would be a headline. In the UI we then displays it for the user to modify. Otherwhise it is a regular QAbstractListModel based list model.</p>
</div>
<!-- @@@ProjectSettingsListModel -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$setValueAtIndex[overload1]$$$setValueAtIndexconstintconstQString&constQJsonObject& -->
<h3 class="fn" id="setValueAtIndex"><a name="setValueAtIndex"></a><code>[slot] </code><span class="type">void</span> ProjectSettingsListModel::<span class="name">setValueAtIndex</span>(const <span class="type">int</span> <i>row</i>, const <span class="type">QString</span> &amp;<i>key</i>, const <span class="type">QJsonObject</span> &amp;<i>value</i>)</h3>
<p>.</p>
<!-- @@@setValueAtIndex -->
<!-- $$$append[overload1]$$$appendconstScreenPlay::SettingsItem&& -->
<h3 class="fn" id="append"><a name="append"></a><span class="type">void</span> ProjectSettingsListModel::<span class="name">append</span>(const <span class="type">ScreenPlay::SettingsItem</span> &amp;&amp;<i>item</i>)</h3>
<p>appends an SettingsItem.</p>
<!-- @@@append -->
<!-- $$$data[overload1]$$$dataconstQModelIndex&int -->
<h3 class="fn" id="data"><a name="data"></a><code>[override virtual] </code><span class="type">QVariant</span> ProjectSettingsListModel::<span class="name">data</span>(const <span class="type">QModelIndex</span> &amp;<i>index</i>, <span class="type">int</span> <i>role</i> = Qt::DisplayRole) const</h3>
<p>.</p>
<!-- @@@data -->
<!-- $$$getActiveSettingsJson[overload1]$$$getActiveSettingsJson -->
<h3 class="fn" id="getActiveSettingsJson"><a name="getActiveSettingsJson"></a><span class="type">QJsonObject</span> ProjectSettingsListModel::<span class="name">getActiveSettingsJson</span>()</h3>
<p>ProjectSettingsListModel::getActiveSettingsJson</p>
<!-- @@@getActiveSettingsJson -->
<!-- $$$roleNames[overload1]$$$roleNames -->
<h3 class="fn" id="roleNames"><a name="roleNames"></a><code>[override virtual] </code><span class="type">QHash</span>&lt;<span class="type">int</span>, <span class="type">QByteArray</span>&gt; ProjectSettingsListModel::<span class="name">roleNames</span>() const</h3>
<p>.</p>
<!-- @@@roleNames -->
<!-- $$$rowCount[overload1]$$$rowCountconstQModelIndex& -->
<h3 class="fn" id="rowCount"><a name="rowCount"></a><code>[override virtual] </code><span class="type">int</span> ProjectSettingsListModel::<span class="name">rowCount</span>(const <span class="type">QModelIndex</span> &amp;<i>parent</i> = QModelIndex()) const</h3>
<p>.</p>
<!-- @@@rowCount -->
</div>
<div id= license  class="footer center"><p>This documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p></div> <script src="../js/bootstrap.bundle.min.js"></script> <script src="../js/mermaid.min.js"></script> <script>var config = {startOnLoad:true,flowchart:{useMaxWidth:true,htmlLabels:true}};mermaid.initialize(config);</script></body>
</html>
