aboutsummaryrefslogtreecommitdiff
path: root/Documentation/build/_modules/Interfaces/ART_ChangeModuleParentUI.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_ChangeModuleParentUI.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_ChangeModuleParentUI.html')
-rw-r--r--Documentation/build/_modules/Interfaces/ART_ChangeModuleParentUI.html340
1 files changed, 340 insertions, 0 deletions
diff --git a/Documentation/build/_modules/Interfaces/ART_ChangeModuleParentUI.html b/Documentation/build/_modules/Interfaces/ART_ChangeModuleParentUI.html
new file mode 100644
index 0000000..69cdadf
--- /dev/null
+++ b/Documentation/build/_modules/Interfaces/ART_ChangeModuleParentUI.html
@@ -0,0 +1,340 @@
+
+
+<!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_ChangeModuleParentUI &#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_ChangeModuleParentUI</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">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.interfaceUtils</span> <span class="k">as</span> <span class="nn">interfaceUtils</span>
+<span class="kn">import</span> <span class="nn">System.riggingUtils</span> <span class="k">as</span> <span class="nn">riggingUtils</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>
+
+<span class="c1"># maya 2016&lt; maya2017&gt; compatability</span>
+<span class="k">try</span><span class="p">:</span>
+ <span class="kn">import</span> <span class="nn">shiboken</span> <span class="k">as</span> <span class="nn">shiboken</span>
+<span class="k">except</span><span class="p">:</span>
+ <span class="kn">import</span> <span class="nn">shiboken2</span> <span class="k">as</span> <span class="nn">shiboken</span>
+
+
+<div class="viewcode-block" id="getMainWindow"><a class="viewcode-back" href="../../changeModParent.html#Interfaces.ART_ChangeModuleParentUI.getMainWindow">[docs]</a><span class="k">def</span> <span class="nf">getMainWindow</span><span class="p">():</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Returns a pointer to Maya&#39;s window as a QWidget.</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+ <span class="kn">import</span> <span class="nn">maya.OpenMayaUI</span> <span class="k">as</span> <span class="nn">mui</span>
+ <span class="n">pointer</span> <span class="o">=</span> <span class="n">mui</span><span class="o">.</span><span class="n">MQtUtil</span><span class="o">.</span><span class="n">mainWindow</span><span class="p">()</span>
+ <span class="c1"># pyside QMainWindow takes in a QWidget rather than QObject</span>
+ <span class="k">return</span> <span class="n">shiboken</span><span class="o">.</span><span class="n">wrapInstance</span><span class="p">(</span><span class="n">long</span><span class="p">(</span><span class="n">pointer</span><span class="p">),</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QWidget</span><span class="p">)</span></div>
+
+
+<span class="n">windowTitle</span> <span class="o">=</span> <span class="s2">&quot;Change Module Parent&quot;</span>
+<span class="n">windowObject</span> <span class="o">=</span> <span class="s2">&quot;pyArtChangeModuleParentUi&quot;</span>
+
+
+<div class="viewcode-block" id="ART_ChangeModuleParent_UI"><a class="viewcode-back" href="../../changeModParent.html#Interfaces.ART_ChangeModuleParentUI.ART_ChangeModuleParent_UI">[docs]</a><span class="k">class</span> <span class="nc">ART_ChangeModuleParent_UI</span><span class="p">(</span><span class="n">QtWidgets</span><span class="o">.</span><span class="n">QMainWindow</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> This class allows the user to change the parent module bone of a given module. It is found within the</span>
+<span class="sd"> skeletonSettingsUI of an individual module in the Rig Creator.</span>
+
+<span class="sd"> .. image:: /images/changeModParent.png</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+<div class="viewcode-block" id="ART_ChangeModuleParent_UI.__init__"><a class="viewcode-back" href="../../changeModParent.html#Interfaces.ART_ChangeModuleParentUI.ART_ChangeModuleParent_UI.__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">currentParent</span><span class="p">,</span> <span class="n">moduleInst</span><span class="p">,</span> <span class="n">rigUiInst</span><span class="p">,</span> <span class="n">parent</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Instantiates the class, taking in current module information, and builds the interface.</span>
+
+<span class="sd"> :param currentParent: The current module parent bone of this module.</span>
+<span class="sd"> :param moduleInst: The instance in memory of the module whose name is to change.</span>
+<span class="sd"> :param rigUiInst: The instance in memory of the Rig Creator UI from which this class was called.</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+ <span class="nb">super</span><span class="p">(</span><span class="n">ART_ChangeModuleParent_UI</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">parent</span><span class="p">)</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="c1"># create class variables</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">currentParent</span> <span class="o">=</span> <span class="n">currentParent</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">modInst</span> <span class="o">=</span> <span class="n">moduleInst</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">rigUiInst</span> <span class="o">=</span> <span class="n">rigUiInst</span>
+
+ <span class="c1"># load 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="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="bp">self</span><span class="o">.</span><span class="n">setStyleSheet</span><span class="p">(</span><span class="n">style</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">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">setCentralWidget</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">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">setObjectName</span><span class="p">(</span><span class="n">windowObject</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">setWindowTitle</span><span class="p">(</span><span class="n">windowTitle</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">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">mainWidget</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">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">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">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">400</span><span class="p">))</span>
+ <span class="bp">self</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">400</span><span class="p">))</span>
+
+ <span class="c1"># create the background image</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">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">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">frame</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">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="c1"># create the layout for the widgets</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">widgetLayout</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">frame</span><span class="p">)</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;Choose New Parent:&quot;</span><span class="p">)</span>
+ <span class="n">font</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">font</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="n">label</span><span class="o">.</span><span class="n">setFont</span><span class="p">(</span><span class="n">font</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">widgetLayout</span><span class="o">.</span><span class="n">addWidget</span><span class="p">(</span><span class="n">label</span><span class="p">)</span>
+
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneSearch</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QLineEdit</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneSearch</span><span class="o">.</span><span class="n">setPlaceholderText</span><span class="p">(</span><span class="s2">&quot;Search..&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneSearch</span><span class="o">.</span><span class="n">textChanged</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">searchList</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">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">boneSearch</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneList</span> <span class="o">=</span> <span class="n">QtWidgets</span><span class="o">.</span><span class="n">QListWidget</span><span class="p">()</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">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">boneList</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneList</span><span class="o">.</span><span class="n">setMinimumHeight</span><span class="p">(</span><span class="mi">200</span><span class="p">)</span>
+
+ <span class="c1"># add items to comboBox</span>
+ <span class="n">bones</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">getViableParents</span><span class="p">()</span>
+
+ <span class="c1"># get our own bones</span>
+ <span class="n">modBones</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">returnCreatedJoints</span>
+
+ <span class="k">for</span> <span class="n">bone</span> <span class="ow">in</span> <span class="n">bones</span><span class="p">:</span>
+ <span class="k">if</span> <span class="n">bone</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">modBones</span><span class="p">:</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneList</span><span class="o">.</span><span class="n">addItem</span><span class="p">(</span><span class="n">bone</span><span class="p">)</span>
+ <span class="k">if</span> <span class="n">bone</span> <span class="o">==</span> <span class="s2">&quot;root&quot;</span><span class="p">:</span>
+ <span class="n">index</span> <span class="o">=</span> <span class="n">bones</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">bone</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">boneList</span><span class="o">.</span><span class="n">setCurrentRow</span><span class="p">(</span><span class="n">index</span><span class="p">)</span>
+
+ <span class="c1"># update button</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">updateBtn</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;UPDATE&quot;</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">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">updateBtn</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">updateBtn</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">230</span><span class="p">,</span> <span class="mi">40</span><span class="p">))</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">updateBtn</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">230</span><span class="p">,</span> <span class="mi">40</span><span class="p">))</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">updateBtn</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="n">font</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">font</span><span class="o">.</span><span class="n">setPointSize</span><span class="p">(</span><span class="mi">12</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">updateBtn</span><span class="o">.</span><span class="n">setFont</span><span class="p">(</span><span class="n">font</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">updateBtn</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"># hookup signal/slot on create button</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">updateBtn</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">applyModuleParentChange</span><span class="p">)</span>
+
+ <span class="bp">self</span><span class="o">.</span><span class="n">updateBtn</span><span class="o">.</span><span class="n">setFocus</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_ChangeModuleParent_UI.searchList"><a class="viewcode-back" href="../../changeModParent.html#Interfaces.ART_ChangeModuleParentUI.ART_ChangeModuleParent_UI.searchList">[docs]</a> <span class="k">def</span> <span class="nf">searchList</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Reads the text in the QLineEdit and searches the list widget for any items containing the search text,</span>
+<span class="sd"> hiding all listWidgetItems that do not contain the search text.</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+ <span class="n">searchText</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneSearch</span><span class="o">.</span><span class="n">text</span><span class="p">()</span>
+
+ <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">boneList</span><span class="o">.</span><span class="n">count</span><span class="p">()):</span>
+ <span class="n">lwItem</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneList</span><span class="o">.</span><span class="n">item</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
+ <span class="k">if</span> <span class="n">lwItem</span><span class="o">.</span><span class="n">text</span><span class="p">()</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">searchText</span><span class="p">)</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
+ <span class="n">lwItem</span><span class="o">.</span><span class="n">setHidden</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
+ <span class="k">else</span><span class="p">:</span>
+ <span class="n">lwItem</span><span class="o">.</span><span class="n">setHidden</span><span class="p">(</span><span class="kc">True</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_ChangeModuleParent_UI.applyModuleParentChange"><a class="viewcode-back" href="../../changeModParent.html#Interfaces.ART_ChangeModuleParentUI.ART_ChangeModuleParent_UI.applyModuleParentChange">[docs]</a> <span class="k">def</span> <span class="nf">applyModuleParentChange</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+ <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd"> Gets the new parent from the selected ListWidgetItem text and then checks to make sure the selected parent</span>
+<span class="sd"> isn&#39;t a bone that is part of the module we&#39;re trying to change the parent on. Then updates text and attribute</span>
+<span class="sd"> values where needed.</span>
+
+<span class="sd"> .. note::</span>
+<span class="sd"> The following things get updated:</span>
+<span class="sd"> * Current Parent text item in the Skeleton Settings UI</span>
+<span class="sd"> * Network Node .parentModuleBone attribute</span>
+<span class="sd"> * Constrains nodes based on new parenting relationship</span>
+
+<span class="sd"> &quot;&quot;&quot;</span>
+
+ <span class="c1"># get new parent</span>
+ <span class="n">newParent</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">boneList</span><span class="o">.</span><span class="n">currentItem</span><span class="p">()</span><span class="o">.</span><span class="n">text</span><span class="p">()</span>
+
+ <span class="c1"># check to make sure new parent is not in this module&#39;s created bones list</span>
+ <span class="n">createdBones</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">returnCreatedJoints</span>
+
+ <span class="k">if</span> <span class="n">newParent</span> <span class="ow">in</span> <span class="n">createdBones</span><span class="p">:</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">confirmDialog</span><span class="p">(</span><span class="n">title</span><span class="o">=</span><span class="s2">&quot;Error&quot;</span><span class="p">,</span> <span class="n">icon</span><span class="o">=</span><span class="s2">&quot;critical&quot;</span><span class="p">,</span>
+ <span class="n">message</span><span class="o">=</span><span class="s2">&quot;Cannot parent a module to a bone created by the module.&quot;</span><span class="p">)</span>
+ <span class="k">return</span>
+
+ <span class="c1"># update current parent text</span>
+ <span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">currentParent</span><span class="o">.</span><span class="n">setText</span><span class="p">(</span><span class="n">newParent</span><span class="p">)</span>
+
+ <span class="c1"># update network node parentModuleBone attribute</span>
+ <span class="n">networkNode</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">returnNetworkNode</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">setAttr</span><span class="p">(</span><span class="n">networkNode</span> <span class="o">+</span> <span class="s2">&quot;.parentModuleBone&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="n">networkNode</span> <span class="o">+</span> <span class="s2">&quot;.parentModuleBone&quot;</span><span class="p">,</span> <span class="n">newParent</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s2">&quot;string&quot;</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"># delete the existing bone connection and reparent to the new parent and recreate the bone connection</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="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_parentGrp&quot;</span><span class="p">):</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_parentGrp&quot;</span><span class="p">)</span>
+
+ <span class="c1"># parent under the new parent</span>
+ <span class="n">moverGrp</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">networkNode</span> <span class="o">+</span> <span class="s2">&quot;.moduleName&quot;</span><span class="p">)</span>
+ <span class="n">moverGrp</span> <span class="o">=</span> <span class="n">moverGrp</span> <span class="o">+</span> <span class="s2">&quot;_mover_grp&quot;</span>
+
+ <span class="k">if</span> <span class="n">newParent</span> <span class="o">==</span> <span class="s2">&quot;root&quot;</span><span class="p">:</span>
+ <span class="n">mover</span> <span class="o">=</span> <span class="s2">&quot;root_mover&quot;</span>
+ <span class="n">offsetMover</span> <span class="o">=</span> <span class="s2">&quot;root_mover&quot;</span>
+
+ <span class="k">else</span><span class="p">:</span>
+ <span class="n">networkNodes</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">mover</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">findMoverNodeFromJointName</span><span class="p">(</span><span class="n">networkNodes</span><span class="p">,</span> <span class="n">newParent</span><span class="p">,</span> <span class="kc">False</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
+ <span class="n">offsetMover</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">findMoverNodeFromJointName</span><span class="p">(</span><span class="n">networkNodes</span><span class="p">,</span> <span class="n">newParent</span><span class="p">)</span>
+
+ <span class="c1"># create the new bone representation</span>
+ <span class="n">childMover</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">findOffsetMoverFromName</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+ <span class="n">riggingUtils</span><span class="o">.</span><span class="n">createBoneConnection</span><span class="p">(</span><span class="n">offsetMover</span><span class="p">,</span> <span class="n">childMover</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
+
+ <span class="c1"># delete the old constraint and create the new one</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="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_mover_grp_parentConstraint*&quot;</span><span class="p">):</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_mover_grp_parentConstraint*&quot;</span><span class="p">)</span>
+
+ <span class="n">networkNodes</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">mover</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">findMoverNodeFromJointName</span><span class="p">(</span><span class="n">networkNodes</span><span class="p">,</span> <span class="n">newParent</span><span class="p">,</span> <span class="kc">False</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
+ <span class="k">if</span> <span class="n">mover</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">parentConstraint</span><span class="p">(</span><span class="n">mover</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_mover_grp&quot;</span><span class="p">,</span> <span class="n">mo</span><span class="o">=</span><span class="kc">True</span><span class="p">)</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="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_mover_grp_scaleConstraint*&quot;</span><span class="p">):</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_mover_grp_scaleConstraint*&quot;</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="n">mover</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
+ <span class="n">cmds</span><span class="o">.</span><span class="n">scaleConstraint</span><span class="p">(</span><span class="n">mover</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">modInst</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s2">&quot;_mover_grp&quot;</span><span class="p">,</span> <span class="n">mo</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+
+ <span class="c1"># delete the UI</span>
+ <span class="n">mayaWindow</span> <span class="o">=</span> <span class="n">interfaceUtils</span><span class="o">.</span><span class="n">getMainWindow</span><span class="p">()</span>
+ <span class="n">mayaWindow</span> <span class="o">=</span> <span class="n">mayaWindow</span><span class="o">.</span><span class="n">objectName</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="n">mayaWindow</span> <span class="o">+</span> <span class="s2">&quot;|&quot;</span> <span class="o">+</span> <span class="n">windowObject</span><span class="p">)</span>
+
+ <span class="n">cmds</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">clear</span><span class="o">=</span><span class="kc">True</span><span class="p">)</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