aboutsummaryrefslogtreecommitdiff
path: root/Documentation/build/_modules/Interfaces/ART_BoneCounter.html
diff options
context:
space:
mode:
authorMobileMachine\jeremy <[email protected]>2017-06-06 22:59:03 -0400
committerMobileMachine\jeremy <[email protected]>2017-06-06 22:59:03 -0400
commit24725fa8681f906ab44d80687c09fecc171a2896 (patch)
tree312a601df29aca7f8db9f44082d96ebc7a679138 /Documentation/build/_modules/Interfaces/ART_BoneCounter.html
parentInitial commit (diff)
downloadartv2-24725fa8681f906ab44d80687c09fecc171a2896.tar.xz
artv2-24725fa8681f906ab44d80687c09fecc171a2896.zip
Initial Submission
First submission of current state of ARTv2. Currently considered to be in Alpha. There are a couple of animation tools not implemented yet, and one module not implemented yet, as well as incomplete documentation.
Diffstat (limited to 'Documentation/build/_modules/Interfaces/ART_BoneCounter.html')
-rw-r--r--Documentation/build/_modules/Interfaces/ART_BoneCounter.html440
1 files changed, 440 insertions, 0 deletions
diff --git a/Documentation/build/_modules/Interfaces/ART_BoneCounter.html b/Documentation/build/_modules/Interfaces/ART_BoneCounter.html
new file mode 100644
index 0000000..b82e18b
--- /dev/null
+++ b/Documentation/build/_modules/Interfaces/ART_BoneCounter.html
@@ -0,0 +1,440 @@
+
+
+<!doctype html>
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Interfaces.ART_BoneCounter &#8212; ARTv2 1.0 documentation</title>
+
+ <link rel="stylesheet" href="../../_static/bizstyle.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../../',
+ VERSION: '1.0',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/bizstyle.js"></script>
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
+ <!--[if lt IE 9]>
+ <script type="text/javascript" src="_static/css3-mediaqueries.js"></script>
+ <![endif]-->
+ </head>
+ <body role="document">
+ <div class="related" role="navigation" aria-label="related navigation">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../../genindex.html" title="General Index"
+ accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="../../py-modindex.html" title="Python Module Index"
+ >modules</a> |</li>
+ <li class="nav-item nav-item-0"><a href="../../index.html">ARTv2 1.0 documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
+ </ul>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<div id="searchbox" style="display: none" role="search">
+ <h3>Quick search</h3>
+ <form class="search" action="../../search.html" method="get">
+ <div><input type="text" name="q" /></div>
+ <div><input type="submit" value="Go" /></div>
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+ </div>
+ </div>
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+ <div class="body" role="main">
+
+ <h1>Source code for Interfaces.ART_BoneCounter</h1><div class="highlight"><pre>
+<span></span><span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">Author: Jeremy Ernst</span>
+<span class="sd">&quot;&quot;&quot;</span>
+
+<span class="kn">from</span> <span class="nn">functools</span> <span class="k">import</span> <span class="n">partial</span>
+
+<span class="kn">import</span> <span class="nn">maya.cmds</span> <span class="k">as</span> <span class="nn">cmds</span>
+<span class="kn">import</span> <span class="nn">System.utils</span> <span class="k">as</span> <span class="nn">utils</span>
+
+<span class="kn">from</span> <span class="nn">ThirdParty.Qt</span> <span class="k">import</span> <span class="n">QtGui</span><span class="p">,</span> <span class="n">QtCore</span><span class="p">,</span> <span class="n">QtWidgets</span>
+
+
+<div class="viewcode-block" id="ART_BoneCounter"><a class="viewcode-back" href="../../boneCounter.html#Interfaces.ART_BoneCounter.ART_BoneCounter">[docs]</a><span class="k">class</span> <span class="nc">ART_BoneCounter</span><span class="p">():</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> This class builds a simple interface that allows a user to see what the total bone count of their asset will be</span>
+<span class="sd"> given the current module settings. It also allows the user to set a bone count target.</span>
+
+<span class="sd"> It can be found on the Rig Creator toolbar with this icon:</span>
+<span class="sd"> .. image:: /images/boneCounterButton.png</span>
+
+<span class="sd"> The interface looks like this:</span>
+<span class="sd"> .. image:: /images/boneCounter.png</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+<div class="viewcode-block" id="ART_BoneCounter.__init__"><a class="viewcode-back" href="../../boneCounter.html#Interfaces.ART_BoneCounter.ART_BoneCounter.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mainUI</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Instantiates this class, getting the QSettings and calling on the method to build the interface for the tool.</span>
+
+<span class="sd"> :param mainUI: The instance of the Rig Creator UI from which this class was called.</span>
+
+<span class="sd"> .. seealso:: ART_BoneCounter.buildBoneCounterUI</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+ <span class="c1"># get the directory path of the tools</span>
+ <span class="n">settings</span> <span class="o">=</span> <span class="n">QtCore</span><span class="o">.</span><span class="n">QSettings</span><span class="p">(</span><span class="s2">&quot;Epic Games&quot;</span><span class="p">,</span> <span class="s2">&quot;ARTv2&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">toolsPath</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">value</span><span class="p">(</span><span class="s2">&quot;toolsPath&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">iconsPath</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">value</span><span class="p">(</span><span class="s2">&quot;iconPath&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">mainUI</span> <span class="o">=</span> <span class="n">mainUI</span>
+
+ <span class="c1"># build the UI</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">buildBoneCounterUI</span><span class="p">()</span></div>
+
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+<div class="viewcode-block" id="ART_BoneCounter.buildBoneCounterUI"><a class="viewcode-back" href="../../boneCounter.html#Interfaces.ART_BoneCounter.ART_BoneCounter.buildBoneCounterUI">[docs]</a> <span class="k">def</span> <span class="nf">buildBoneCounterUI</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Builds the interface for the bone counter tool, which is comprised off a QLineEdit that shows the current</span>
+<span class="sd"> bone count, a QPushButton to launch another simple UI that allows the user to set a bone count target,</span>
+<span class="sd"> and QProgressBar that shows a percentage to target bone count.</span>
+
+<span class="sd"> .. seealso:: ART_BoneCounter.setBoneCountTarget</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+ <span class="k">if</span> <span class="n">cmds</span><span class="o">.</span><span class="n">window</span><span class="p">(</span><span class="s2">&quot;ART_BoneCounterWin&quot;</span><span class="p">,</span> <span class="n">exists</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">deleteUI</span><span class="p">(</span><span class="s2">&quot;ART_BoneCounterWin&quot;</span><span class="p">,</span> <span class="n">wnd</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+
+ <span class="c1"># launch a UI to get the name information</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QMainWindow</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mainUI</span><span class="p">)</span>
+
+ <span class="c1"># size policies</span>
+ <span class="n">mainSizePolicy</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="p">(</span><span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="o">.</span><span class="n">Fixed</span><span class="p">,</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="o">.</span><span class="n">Fixed</span><span class="p">)</span>
+
+ <span class="c1"># create the main widget</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_mainWidget</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QWidget</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">setCentralWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_mainWidget</span><span class="p">)</span>
+
+ <span class="c1"># set qt object name</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">&quot;ART_BoneCounterWin&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">setWindowTitle</span><span class="p">(</span><span class="s2">&quot;Bone Counter&quot;</span><span class="p">)</span>
+
+ <span class="c1"># create the mainLayout for the rig creator UI</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_mainLayout</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QVBoxLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_mainWidget</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_mainLayout</span><span class="o">.</span><span class="n">setContentsMargins</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
+
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">resize</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">setSizePolicy</span><span class="p">(</span><span class="n">mainSizePolicy</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">setMinimumSize</span><span class="p">(</span><span class="n">QtCore</span><span class="o">.</span><span class="n">QSize</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span> <span class="mi">100</span><span class="p">))</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">setMaximumSize</span><span class="p">(</span><span class="n">QtCore</span><span class="o">.</span><span class="n">QSize</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span> <span class="mi">100</span><span class="p">))</span>
+
+ <span class="n">headerFont</span> <span class="o">=</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QFont</span><span class="p">()</span>
+ <span class="n">headerFont</span><span class="o">.</span><span class="n">setPointSize</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
+ <span class="n">headerFont</span><span class="o">.</span><span class="n">setBold</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
+
+ <span class="c1"># load toolbar stylesheet</span>
+ <span class="n">styleSheetFile</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">returnNicePath</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">toolsPath</span><span class="p">,</span> <span class="s2">&quot;Core/Scripts/Interfaces/StyleSheets/mainScheme.qss&quot;</span><span class="p">)</span>
+ <span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">styleSheetFile</span><span class="p">,</span> <span class="s2">&quot;r&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
+ <span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+
+ <span class="c1"># create the bone counter stylesheet</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">progBarStyle</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2"> QProgressBar{</span>
+<span class="s2"> border: 2px solid black;</span>
+<span class="s2"> border-radius: 5px;</span>
+<span class="s2"> text-align: center;</span>
+<span class="s2"> font: 87 10pt &quot;Arial&quot;;</span>
+<span class="s2"> color: rgb(255,255,255);</span>
+<span class="s2"> }</span>
+
+<span class="s2"> QProgressBar::chunk {</span>
+<span class="s2"> background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(25,175,255), stop:1 rgb(9,62,98));</span>
+<span class="s2"> width: 10px;</span>
+<span class="s2"> margin: 0.5px;</span>
+<span class="s2"> }</span>
+<span class="s2"> &quot;&quot;&quot;</span>
+
+ <span class="bp">self</span><span class="o">.</span><span class="n">progBarStyleMax</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2"> QProgressBar{</span>
+<span class="s2"> border: 2px solid black;</span>
+<span class="s2"> border-radius: 5px;</span>
+<span class="s2"> text-align: center;</span>
+<span class="s2"> font: 87 10pt &quot;Arial Black&quot;;</span>
+<span class="s2"> color: rgb(255,255,255);</span>
+<span class="s2"> }</span>
+
+<span class="s2"> QProgressBar::chunk {</span>
+<span class="s2"> background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(255,174,0), stop:1 rgb(30,30,30));</span>
+<span class="s2"> width: 10px;</span>
+<span class="s2"> margin: 0.5px;</span>
+<span class="s2"> }</span>
+<span class="s2"> &quot;&quot;&quot;</span>
+
+ <span class="c1"># create the background image</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_frame</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QFrame</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_mainLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_frame</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_frame</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">&quot;mid&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">style</span><span class="p">)</span>
+
+ <span class="c1"># create the layout for the widgets</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayoutMain</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QVBoxLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_frame</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayoutMain</span><span class="o">.</span><span class="n">setContentsMargins</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayout</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QHBoxLayout</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayoutMain</span><span class="o">.</span><span class="n">addLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayout</span><span class="p">)</span>
+
+ <span class="c1"># label creation</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCount</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QLabel</span><span class="p">(</span><span class="s2">&quot;Bone Count: &quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCount</span><span class="o">.</span><span class="n">setFont</span><span class="p">(</span><span class="n">headerFont</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneCount</span><span class="p">)</span>
+
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSpinBox</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="o">.</span><span class="n">setReadOnly</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="o">.</span><span class="n">setButtonSymbols</span><span class="p">(</span><span class="n">QtWidgets</span><span class="o">.</span><span class="n">QAbstractSpinBox</span><span class="o">.</span><span class="n">NoButtons</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="o">.</span><span class="n">setRange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">9999</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="o">.</span><span class="n">setMinimumWidth</span><span class="p">(</span><span class="mi">60</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="o">.</span><span class="n">setMaximumWidth</span><span class="p">(</span><span class="mi">60</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="p">)</span>
+
+ <span class="c1"># create the button</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneMaxButton</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QPushButton</span><span class="p">(</span><span class="s2">&quot;Set Target&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneMaxButton</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneMaxButton</span><span class="o">.</span><span class="n">clicked</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">partial</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">setBoneCountTarget</span><span class="p">))</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneMaxButton</span><span class="o">.</span><span class="n">setMinimumHeight</span><span class="p">(</span><span class="mi">30</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneMaxButton</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">style</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneMaxButton</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">&quot;blueButton&quot;</span><span class="p">)</span>
+
+ <span class="c1"># add the progress bar</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QProgressBar</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin_widgetLayoutMain</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyle</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setRange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setFormat</span><span class="p">(</span><span class="s2">&quot;target = %m&quot;</span><span class="p">)</span>
+
+ <span class="c1"># add the max range of the progress bar to the main network node</span>
+ <span class="k">if</span> <span class="n">cmds</span><span class="o">.</span><span class="n">objExists</span><span class="p">(</span><span class="s2">&quot;ART_Root_Module.target&quot;</span><span class="p">):</span>
+ <span class="n">value</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">getAttr</span><span class="p">(</span><span class="s2">&quot;ART_Root_Module.target&quot;</span><span class="p">)</span>
+ <span class="n">currentValue</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">value</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setMaximum</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="n">value</span> <span class="o">&lt;</span> <span class="n">currentValue</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="n">currentValue</span> <span class="o">&lt;=</span> <span class="n">value</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyle</span><span class="p">)</span>
+ <span class="k">if</span> <span class="n">currentValue</span> <span class="o">&gt;</span> <span class="n">value</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyleMax</span><span class="p">)</span>
+
+ <span class="k">else</span><span class="p">:</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">addAttr</span><span class="p">(</span><span class="s2">&quot;ART_Root_Module&quot;</span><span class="p">,</span> <span class="n">sn</span><span class="o">=</span><span class="s2">&quot;target&quot;</span><span class="p">,</span> <span class="n">keyable</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">setAttr</span><span class="p">(</span><span class="s2">&quot;ART_Root_Module.target&quot;</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="n">lock</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+
+ <span class="c1"># get the current bone count</span>
+ <span class="n">modules</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">returnRigModules</span><span class="p">()</span>
+ <span class="n">allBones</span> <span class="o">=</span> <span class="p">[]</span>
+ <span class="k">for</span> <span class="n">module</span> <span class="ow">in</span> <span class="n">modules</span><span class="p">:</span>
+ <span class="n">joints</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">getAttr</span><span class="p">(</span><span class="n">module</span> <span class="o">+</span> <span class="s2">&quot;.Created_Bones&quot;</span><span class="p">)</span>
+ <span class="n">splitJoints</span> <span class="o">=</span> <span class="n">joints</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;::&quot;</span><span class="p">)</span>
+
+ <span class="k">for</span> <span class="n">bone</span> <span class="ow">in</span> <span class="n">splitJoints</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">bone</span> <span class="o">!=</span> <span class="s2">&quot;&quot;</span><span class="p">:</span>
+ <span class="n">allBones</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">bone</span><span class="p">)</span>
+
+ <span class="c1"># update the spinBox and progress bar</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">allBones</span><span class="p">))</span>
+ <span class="nb">max</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">maximum</span><span class="p">()</span>
+
+ <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">allBones</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="nb">max</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">allBones</span><span class="p">))</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyle</span><span class="p">)</span>
+ <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">allBones</span><span class="p">)</span> <span class="o">&gt;</span> <span class="nb">max</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="nb">max</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyleMax</span><span class="p">)</span>
+
+ <span class="c1"># show window</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounterWin</span><span class="o">.</span><span class="n">show</span><span class="p">()</span></div>
+
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+<div class="viewcode-block" id="ART_BoneCounter.setBoneCountTarget"><a class="viewcode-back" href="../../boneCounter.html#Interfaces.ART_BoneCounter.ART_BoneCounter.setBoneCountTarget">[docs]</a> <span class="k">def</span> <span class="nf">setBoneCountTarget</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Builds a UI that allows the user to set the target bone count.</span>
+
+<span class="sd"> .. image:: /images/boneCountTarget.png</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+ <span class="c1"># launch a UI to get the name information</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QMainWindow</span><span class="p">()</span>
+
+ <span class="c1"># size policies</span>
+ <span class="n">mainSizePolicy</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="p">(</span><span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="o">.</span><span class="n">Fixed</span><span class="p">,</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSizePolicy</span><span class="o">.</span><span class="n">Fixed</span><span class="p">)</span>
+
+ <span class="c1"># create the main widget</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_mainWidget</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QWidget</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span><span class="o">.</span><span class="n">setCentralWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_mainWidget</span><span class="p">)</span>
+
+ <span class="c1"># set qt object name</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">&quot;ART_setBoneCountTarget_UI&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span><span class="o">.</span><span class="n">setWindowTitle</span><span class="p">(</span><span class="s2">&quot;Bone Count&quot;</span><span class="p">)</span>
+
+ <span class="c1"># create the mainLayout for the rig creator UI</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_topLayout</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QVBoxLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_mainWidget</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_mainLayout</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QFormLayout</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_topLayout</span><span class="o">.</span><span class="n">addLayout</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_mainLayout</span><span class="p">)</span>
+
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_topLayout</span><span class="o">.</span><span class="n">setContentsMargins</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span><span class="o">.</span><span class="n">resize</span><span class="p">(</span><span class="mi">250</span><span class="p">,</span> <span class="mi">70</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span><span class="o">.</span><span class="n">setSizePolicy</span><span class="p">(</span><span class="n">mainSizePolicy</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span><span class="o">.</span><span class="n">setMinimumSize</span><span class="p">(</span><span class="n">QtCore</span><span class="o">.</span><span class="n">QSize</span><span class="p">(</span><span class="mi">250</span><span class="p">,</span> <span class="mi">70</span><span class="p">))</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span><span class="o">.</span><span class="n">setMaximumSize</span><span class="p">(</span><span class="n">QtCore</span><span class="o">.</span><span class="n">QSize</span><span class="p">(</span><span class="mi">250</span><span class="p">,</span> <span class="mi">70</span><span class="p">))</span>
+
+ <span class="c1"># add label</span>
+ <span class="n">label</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QLabel</span><span class="p">(</span><span class="s2">&quot;Enter a target bone count: &quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_mainLayout</span><span class="o">.</span><span class="n">setWidget</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QFormLayout</span><span class="o">.</span><span class="n">LabelRole</span><span class="p">,</span> <span class="n">label</span><span class="p">)</span>
+
+ <span class="c1"># add spinBox</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QSpinBox</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span><span class="o">.</span><span class="n">setButtonSymbols</span><span class="p">(</span><span class="n">QtWidgets</span><span class="o">.</span><span class="n">QAbstractSpinBox</span><span class="o">.</span><span class="n">NoButtons</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span><span class="o">.</span><span class="n">setRange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">9999</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span><span class="o">.</span><span class="n">setMinimumWidth</span><span class="p">(</span><span class="mi">70</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="s2">&quot;background-color: rgb(255,255,255); color: rgb(0,0,0);&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_mainLayout</span><span class="o">.</span><span class="n">setWidget</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QFormLayout</span><span class="o">.</span><span class="n">FieldRole</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span><span class="o">.</span><span class="n">setObjectName</span><span class="p">(</span><span class="s2">&quot;ART_targetWindowSpinBox&quot;</span><span class="p">)</span>
+
+ <span class="c1"># add a confirm button</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_confirmButton</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QPushButton</span><span class="p">(</span><span class="s2">&quot;Confirm&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_topLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_confirmButton</span><span class="p">)</span>
+
+ <span class="n">buttonImage</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">returnNicePath</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">iconsPath</span><span class="p">,</span> <span class="s2">&quot;System/blue_field_background.png&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_confirmButton</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span>
+ <span class="s2">&quot;background-image: url(&quot;</span> <span class="o">+</span> <span class="n">buttonImage</span> <span class="o">+</span> <span class="s2">&quot;); background-color: rgb(0,0,0);&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_confirmButton</span><span class="o">.</span><span class="n">clicked</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">setBoneCountTarget_Confirm</span><span class="p">)</span>
+
+ <span class="c1"># show the window</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow</span><span class="o">.</span><span class="n">show</span><span class="p">()</span></div>
+
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+<div class="viewcode-block" id="ART_BoneCounter.setBoneCountTarget_Confirm"><a class="viewcode-back" href="../../boneCounter.html#Interfaces.ART_BoneCounter.ART_BoneCounter.setBoneCountTarget_Confirm">[docs]</a> <span class="k">def</span> <span class="nf">setBoneCountTarget_Confirm</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Take the QSpinBox value for the new target and refresh the main UI with the new data.</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+ <span class="n">newMax</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">targetWindow_SpinBox</span><span class="o">.</span><span class="n">value</span><span class="p">()</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">deleteUI</span><span class="p">(</span><span class="s2">&quot;ART_setBoneCountTarget_UI&quot;</span><span class="p">,</span> <span class="n">wnd</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+
+ <span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="o">.</span><span class="n">value</span><span class="p">()</span>
+ <span class="n">currentValue</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">value</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setMaximum</span><span class="p">(</span><span class="n">newMax</span><span class="p">)</span>
+ <span class="nb">max</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">maximum</span><span class="p">()</span>
+
+ <span class="n">cmds</span><span class="o">.</span><span class="n">setAttr</span><span class="p">(</span><span class="s2">&quot;ART_Root_Module.target&quot;</span><span class="p">,</span> <span class="n">lock</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">setAttr</span><span class="p">(</span><span class="s2">&quot;ART_Root_Module.target&quot;</span><span class="p">,</span> <span class="n">newMax</span><span class="p">,</span> <span class="n">lock</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="n">newMax</span> <span class="o">&lt;</span> <span class="n">currentValue</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="nb">max</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="n">value</span> <span class="o">&lt;=</span> <span class="nb">max</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyle</span><span class="p">)</span>
+ <span class="k">if</span> <span class="n">value</span> <span class="o">&gt;</span> <span class="nb">max</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyleMax</span><span class="p">)</span></div>
+
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+ <span class="c1"># # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #</span>
+<div class="viewcode-block" id="ART_BoneCounter.updateBoneCount"><a class="viewcode-back" href="../../boneCounter.html#Interfaces.ART_BoneCounter.ART_BoneCounter.updateBoneCount">[docs]</a> <span class="k">def</span> <span class="nf">updateBoneCount</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Updates the interface based on new module information. Usually triggered when a module has had its settings</span>
+<span class="sd"> changed.</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+ <span class="k">try</span><span class="p">:</span>
+ <span class="n">modules</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">returnRigModules</span><span class="p">()</span>
+ <span class="n">allBones</span> <span class="o">=</span> <span class="p">[]</span>
+ <span class="k">for</span> <span class="n">module</span> <span class="ow">in</span> <span class="n">modules</span><span class="p">:</span>
+ <span class="n">joints</span> <span class="o">=</span> <span class="n">cmds</span><span class="o">.</span><span class="n">getAttr</span><span class="p">(</span><span class="n">module</span> <span class="o">+</span> <span class="s2">&quot;.Created_Bones&quot;</span><span class="p">)</span>
+ <span class="n">splitJoints</span> <span class="o">=</span> <span class="n">joints</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;::&quot;</span><span class="p">)</span>
+
+ <span class="k">for</span> <span class="n">bone</span> <span class="ow">in</span> <span class="n">splitJoints</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">bone</span> <span class="o">!=</span> <span class="s2">&quot;&quot;</span><span class="p">:</span>
+ <span class="n">allBones</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">bone</span><span class="p">)</span>
+
+ <span class="c1"># update the spinBox and progress bar</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCounter</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">allBones</span><span class="p">))</span>
+ <span class="nb">max</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">maximum</span><span class="p">()</span>
+
+ <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">allBones</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="nb">max</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">allBones</span><span class="p">))</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyle</span><span class="p">)</span>
+ <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">allBones</span><span class="p">)</span> <span class="o">&gt;</span> <span class="nb">max</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setValue</span><span class="p">(</span><span class="nb">max</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneCountBar</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">progBarStyleMax</span><span class="p">)</span>
+ <span class="k">except</span><span class="p">:</span>
+ <span class="k">pass</span></div></div>
+</pre></div>
+
+ </div>
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="related" role="navigation" aria-label="related navigation">
+ <h3>Navigation</h3>
+ <ul>
+ <li class="right" style="margin-right: 10px">
+ <a href="../../genindex.html" title="General Index"
+ >index</a></li>
+ <li class="right" >
+ <a href="../../py-modindex.html" title="Python Module Index"
+ >modules</a> |</li>
+ <li class="nav-item nav-item-0"><a href="../../index.html">ARTv2 1.0 documentation</a> &#187;</li>
+ <li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
+ </ul>
+ </div>
+ <div class="footer" role="contentinfo">
+ &#169; Copyright 2017, Jeremy Ernst.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.2.
+ </div>
+ </body>
+</html> \ No newline at end of file