You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qubes-installer-qubes-os/anaconda/docs/html/pyanaconda.ui.gui.html

1082 lines
72 KiB

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pyanaconda.ui.gui package &mdash; Anaconda 25.14 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="top" title="Anaconda 25.14 documentation" href="index.html"/>
<link rel="up" title="pyanaconda.ui package" href="pyanaconda.ui.html"/>
<link rel="next" title="pyanaconda.ui.gui.hubs package" href="pyanaconda.ui.gui.hubs.html"/>
<link rel="prev" title="pyanaconda.ui.categories package" href="pyanaconda.ui.categories.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> Anaconda
</a>
<div class="version">
25.14
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction to Anaconda</a></li>
<li class="toctree-l1"><a class="reference internal" href="release.html">Building a Release</a></li>
<li class="toctree-l1"><a class="reference internal" href="boot-options.html">Anaconda Boot Options</a></li>
<li class="toctree-l1"><a class="reference internal" href="kickstart.html">Anaconda Kickstart Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="commit-log.html">Rules for commit messages</a></li>
<li class="toctree-l1"><a class="reference internal" href="driverdisc.html">Brief description of DriverDisc version 3</a></li>
<li class="toctree-l1"><a class="reference internal" href="iscsi.html">iSCSI and Anaconda</a></li>
<li class="toctree-l1"><a class="reference internal" href="multipath.html">Multipath and Anaconda</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="modules.html">pyanaconda</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="pyanaconda.html">pyanaconda package</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="pyanaconda.html#subpackages">Subpackages</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.installclasses.html">pyanaconda.installclasses package</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.isys.html">pyanaconda.isys package</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.packaging.html">pyanaconda.packaging package</a></li>
<li class="toctree-l4 current"><a class="reference internal" href="pyanaconda.ui.html">pyanaconda.ui package</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#submodules">Submodules</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.addons">pyanaconda.addons module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.anaconda">pyanaconda.anaconda module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.anaconda_argparse">pyanaconda.anaconda_argparse module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.anaconda_log">pyanaconda.anaconda_log module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.bootloader">pyanaconda.bootloader module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.constants">pyanaconda.constants module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.constants_text">pyanaconda.constants_text module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.desktop">pyanaconda.desktop module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.errors">pyanaconda.errors module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.exception">pyanaconda.exception module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.flags">pyanaconda.flags module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.geoloc">pyanaconda.geoloc module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.i18n">pyanaconda.i18n module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.ihelp">pyanaconda.ihelp module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.image">pyanaconda.image module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.install">pyanaconda.install module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.installclass">pyanaconda.installclass module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.iutil">pyanaconda.iutil module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.kexec">pyanaconda.kexec module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.keyboard">pyanaconda.keyboard module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.kickstart">pyanaconda.kickstart module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.localization">pyanaconda.localization module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.network">pyanaconda.network module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.nm">pyanaconda.nm module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.ntp">pyanaconda.ntp module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.product">pyanaconda.product module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.progress">pyanaconda.progress module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.pwpolicy">pyanaconda.pwpolicy module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.queuefactory">pyanaconda.queuefactory module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.regexes">pyanaconda.regexes module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.rescue">pyanaconda.rescue module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.safe_dbus">pyanaconda.safe_dbus module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.screensaver">pyanaconda.screensaver module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.simpleconfig">pyanaconda.simpleconfig module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.startup_utils">pyanaconda.startup_utils module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.storage_utils">pyanaconda.storage_utils module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.threads">pyanaconda.threads module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.timezone">pyanaconda.timezone module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.users">pyanaconda.users module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda.vnc">pyanaconda.vnc module</a></li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.html#module-pyanaconda">Module contents</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="tests/modules.html">tests</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Anaconda</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li><a href="modules.html">pyanaconda</a> &raquo;</li>
<li><a href="pyanaconda.html">pyanaconda package</a> &raquo;</li>
<li><a href="pyanaconda.ui.html">pyanaconda.ui package</a> &raquo;</li>
<li>pyanaconda.ui.gui package</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/pyanaconda.ui.gui.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="pyanaconda-ui-gui-package">
<h1>pyanaconda.ui.gui package<a class="headerlink" href="#pyanaconda-ui-gui-package" title="Permalink to this headline"></a></h1>
<div class="section" id="subpackages">
<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="pyanaconda.ui.gui.hubs.html">pyanaconda.ui.gui.hubs package</a><ul>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.hubs.html#submodules">Submodules</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.hubs.html#module-pyanaconda.ui.gui.hubs.progress">pyanaconda.ui.gui.hubs.progress module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.hubs.html#module-pyanaconda.ui.gui.hubs.summary">pyanaconda.ui.gui.hubs.summary module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.hubs.html#module-pyanaconda.ui.gui.hubs">Module contents</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html">pyanaconda.ui.gui.spokes package</a><ul>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#subpackages">Subpackages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.ui.gui.spokes.advstorage.html">pyanaconda.ui.gui.spokes.advstorage package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.advstorage.html#submodules">Submodules</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.advstorage.html#module-pyanaconda.ui.gui.spokes.advstorage.dasd">pyanaconda.ui.gui.spokes.advstorage.dasd module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.advstorage.html#module-pyanaconda.ui.gui.spokes.advstorage.fcoe">pyanaconda.ui.gui.spokes.advstorage.fcoe module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.advstorage.html#module-pyanaconda.ui.gui.spokes.advstorage.iscsi">pyanaconda.ui.gui.spokes.advstorage.iscsi module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.advstorage.html#module-pyanaconda.ui.gui.spokes.advstorage.zfcp">pyanaconda.ui.gui.spokes.advstorage.zfcp module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.advstorage.html#module-pyanaconda.ui.gui.spokes.advstorage">Module contents</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html">pyanaconda.ui.gui.spokes.lib package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#submodules">Submodules</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.accordion">pyanaconda.ui.gui.spokes.lib.accordion module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.cart">pyanaconda.ui.gui.spokes.lib.cart module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.custom_storage_helpers">pyanaconda.ui.gui.spokes.lib.custom_storage_helpers module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.dasdfmt">pyanaconda.ui.gui.spokes.lib.dasdfmt module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.detailederror">pyanaconda.ui.gui.spokes.lib.detailederror module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.entropy_dialog">pyanaconda.ui.gui.spokes.lib.entropy_dialog module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.lang_locale_handler">pyanaconda.ui.gui.spokes.lib.lang_locale_handler module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.passphrase">pyanaconda.ui.gui.spokes.lib.passphrase module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.refresh">pyanaconda.ui.gui.spokes.lib.refresh module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.resize">pyanaconda.ui.gui.spokes.lib.resize module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib.summary">pyanaconda.ui.gui.spokes.lib.summary module</a></li>
<li class="toctree-l4"><a class="reference internal" href="pyanaconda.ui.gui.spokes.lib.html#module-pyanaconda.ui.gui.spokes.lib">Module contents</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#submodules">Submodules</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.custom">pyanaconda.ui.gui.spokes.custom module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.datetime_spoke">pyanaconda.ui.gui.spokes.datetime_spoke module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.filter">pyanaconda.ui.gui.spokes.filter module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.keyboard">pyanaconda.ui.gui.spokes.keyboard module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.langsupport">pyanaconda.ui.gui.spokes.langsupport module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#pyanaconda-ui-gui-spokes-network-module">pyanaconda.ui.gui.spokes.network module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.password">pyanaconda.ui.gui.spokes.password module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.software">pyanaconda.ui.gui.spokes.software module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.source">pyanaconda.ui.gui.spokes.source module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.storage">pyanaconda.ui.gui.spokes.storage module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.user">pyanaconda.ui.gui.spokes.user module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes.welcome">pyanaconda.ui.gui.spokes.welcome module</a></li>
<li class="toctree-l2"><a class="reference internal" href="pyanaconda.ui.gui.spokes.html#module-pyanaconda.ui.gui.spokes">Module contents</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="section" id="submodules">
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="module-pyanaconda.ui.gui.helpers">
<span id="pyanaconda-ui-gui-helpers-module"></span><h2>pyanaconda.ui.gui.helpers module<a class="headerlink" href="#module-pyanaconda.ui.gui.helpers" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="pyanaconda.ui.gui.helpers.GUIDialogInputCheckHandler">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.helpers.</code><code class="descname">GUIDialogInputCheckHandler</code><span class="sig-paren">(</span><em>ok_button=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUIDialogInputCheckHandler" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pyanaconda.ui.gui.helpers.GUIInputCheckHandler" title="pyanaconda.ui.gui.helpers.GUIInputCheckHandler"><code class="xref py py-class docutils literal"><span class="pre">pyanaconda.ui.gui.helpers.GUIInputCheckHandler</span></code></a></p>
<p>Provide InputCheckHandler functionality for Gtk dialogs.</p>
<p>If an OK button is provided in the constructor, this class will
handle setting the sensitivity of the button to match the input
check result. A method on_ok_clicked is provided to determine whether
the dialog can be exited, similar to on_back_clicked for spokes.</p>
<p>It&#8217;s not possible (or at least not easy) to prent a GtkDialog from
returning a response, so the caller of gtk_dialog_run needs to check
whether the input is valid and decide based on that whether to destroy
the dialog or call gtk_dialog_run again.</p>
<dl class="method">
<dt id="pyanaconda.ui.gui.helpers.GUIDialogInputCheckHandler.on_ok_clicked">
<code class="descname">on_ok_clicked</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUIDialogInputCheckHandler.on_ok_clicked" title="Permalink to this definition"></a></dt>
<dd><p>Return whether the input validation checks allow the dialog to be exited.</p>
<p>Unlike GUISpokeInputCheckHandler.on_back_clicked, it is not expected that
subclasses will implement this method.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.helpers.GUIDialogInputCheckHandler.set_status">
<code class="descname">set_status</code><span class="sig-paren">(</span><em>inputcheck</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUIDialogInputCheckHandler.set_status" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="pyanaconda.ui.gui.helpers.GUIInputCheck">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.helpers.</code><code class="descname">GUIInputCheck</code><span class="sig-paren">(</span><em>parent</em>, <em>input_obj</em>, <em>run_check</em>, <em>data=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUIInputCheck" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="pyanaconda.ui.html#pyanaconda.ui.helpers.InputCheck" title="pyanaconda.ui.helpers.InputCheck"><code class="xref py py-class docutils literal"><span class="pre">pyanaconda.ui.helpers.InputCheck</span></code></a></p>
<p>Add timer awareness to an InputCheck.</p>
<p>Add a delay before running the validation function so that the
function is not run for every keystroke. Run any pending actions
before returning a status.</p>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.helpers.GUIInputCheck.check_status">
<code class="descname">check_status</code><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUIInputCheck.check_status" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="pyanaconda.ui.gui.helpers.GUIInputCheckHandler">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.helpers.</code><code class="descname">GUIInputCheckHandler</code><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUIInputCheckHandler" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="pyanaconda.ui.html#pyanaconda.ui.helpers.InputCheckHandler" title="pyanaconda.ui.helpers.InputCheckHandler"><code class="xref py py-class docutils literal"><span class="pre">pyanaconda.ui.helpers.InputCheckHandler</span></code></a></p>
<p>Provide InputCheckHandler functionality for Gtk input screens.</p>
<p>This class assumes that all input objects are of type GtkEditable and
attaches InputCheck.update_check_status to the changed signal.</p>
<dl class="method">
<dt id="pyanaconda.ui.gui.helpers.GUIInputCheckHandler.add_check">
<code class="descname">add_check</code><span class="sig-paren">(</span><em>input_obj</em>, <em>run_check</em>, <em>data=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUIInputCheckHandler.add_check" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.helpers.GUIInputCheckHandler.get_input">
<code class="descname">get_input</code><span class="sig-paren">(</span><em>input_obj</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUIInputCheckHandler.get_input" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.helpers.</code><code class="descname">GUISpokeInputCheckHandler</code><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#pyanaconda.ui.gui.helpers.GUIInputCheckHandler" title="pyanaconda.ui.gui.helpers.GUIInputCheckHandler"><code class="xref py py-class docutils literal"><span class="pre">pyanaconda.ui.gui.helpers.GUIInputCheckHandler</span></code></a></p>
<p>Provide InputCheckHandler functionality for graphical spokes.</p>
<p>This class implements set_status to set a message in the warning area of
the spoke window and provides an implementation of on_back_clicked to
prevent the user from exiting a spoke with bad input.</p>
<dl class="method">
<dt id="pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.clear_info">
<code class="descname">clear_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.clear_info" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.on_back_clicked">
<code class="descname">on_back_clicked</code><span class="sig-paren">(</span><em>window</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.on_back_clicked" title="Permalink to this definition"></a></dt>
<dd><p>Check whether the input validation checks allow the spoke to be exited.</p>
<p>Unlike NormalSpoke.on_back_clicked, this function returns a boolean value.
Classes implementing this class should run GUISpokeInputCheckHandler.on_back_clicked,
and if it succeeded, run NormalSpoke.on_back_clicked.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.set_status">
<code class="descname">set_status</code><span class="sig-paren">(</span><em>inputcheck</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.set_status" title="Permalink to this definition"></a></dt>
<dd><p>Update the warning with the input validation error from the first
error message.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.set_warning">
<code class="descname">set_warning</code><span class="sig-paren">(</span><em>msg</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.set_warning" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.window">
<code class="descname">window</code><a class="headerlink" href="#pyanaconda.ui.gui.helpers.GUISpokeInputCheckHandler.window" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="section" id="module-pyanaconda.ui.gui.utils">
<span id="pyanaconda-ui-gui-utils-module"></span><h2>pyanaconda.ui.gui.utils module<a class="headerlink" href="#module-pyanaconda.ui.gui.utils" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="pyanaconda.ui.gui.utils.GtkActionList">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">GtkActionList</code><a class="headerlink" href="#pyanaconda.ui.gui.utils.GtkActionList" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.5)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Class for scheduling Gtk actions to be all run at once.</p>
<dl class="method">
<dt id="pyanaconda.ui.gui.utils.GtkActionList.add_action">
<code class="descname">add_action</code><span class="sig-paren">(</span><em>func</em>, <em>*args</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.GtkActionList.add_action" title="Permalink to this definition"></a></dt>
<dd><p>Add Gtk action to be run later.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.utils.GtkActionList.fire">
<code class="descname">fire</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.GtkActionList.fire" title="Permalink to this definition"></a></dt>
<dd><p>Run all scheduled Gtk actions.</p>
</dd></dl>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.blockedHandler">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">blockedHandler</code><span class="sig-paren">(</span><em>obj</em>, <em>func</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.blockedHandler" title="Permalink to this definition"></a></dt>
<dd><p>Prevent a GLib signal handling function from being called during some
block of code.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.busyCursor">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">busyCursor</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.busyCursor" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.escape_markup">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">escape_markup</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.escape_markup" title="Permalink to this definition"></a></dt>
<dd><p>Escape strings for use within Pango markup.</p>
<p>This function converts the value to a string before passing markup_escape_text().</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.fancy_set_sensitive">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">fancy_set_sensitive</code><span class="sig-paren">(</span><em>widget</em>, <em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.fancy_set_sensitive" title="Permalink to this definition"></a></dt>
<dd><p>Set the sensitivity of a widget, and then set the sensitivity of
all widgets it is a mnemonic widget for. This has the effect of
marking both an entry and its label as sensitive/insensitive, for
instance.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.find_first_child">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">find_first_child</code><span class="sig-paren">(</span><em>parent</em>, <em>match_func</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.find_first_child" title="Permalink to this definition"></a></dt>
<dd><p>Find the first child widget of a container matching the given function.</p>
<p>This method performs a breadth-first search for the widget. match_func
takes the widget as a paramter, and the return value will be evaulated as
a bool.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>parent</strong> (<em>GtkContainer</em>) &#8211; the container to search</li>
<li><strong>match_func</strong> (<em>function</em>) &#8211; The function defining the condition to match</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The first matching widget</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">GtkWidget or None</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.fire_gtk_action">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">fire_gtk_action</code><span class="sig-paren">(</span><em>func</em>, <em>*args</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.fire_gtk_action" title="Permalink to this definition"></a></dt>
<dd><p>Run some Gtk action in the main thread and wait for it.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.gtk_action_nowait">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">gtk_action_nowait</code><span class="sig-paren">(</span><em>func</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.gtk_action_nowait" title="Permalink to this definition"></a></dt>
<dd><p>Decorator method which ensures every call of the decorated function to be
executed in the context of Gtk main loop even if called from a non-main
thread. The new method does not wait for the callback to finish.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.gtk_action_wait">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">gtk_action_wait</code><span class="sig-paren">(</span><em>func</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.gtk_action_wait" title="Permalink to this definition"></a></dt>
<dd><p>Decorator method which ensures every call of the decorated function to be
executed in the context of Gtk main loop even if called from a non-main
thread and returns the ret value after the decorated method finishes.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.gtk_batch_map">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">gtk_batch_map</code><span class="sig-paren">(</span><em>action</em>, <em>items</em>, <em>args=()</em>, <em>pre_func=None</em>, <em>batch_size=1</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.gtk_batch_map" title="Permalink to this definition"></a></dt>
<dd><p>Function that maps an action on items in a way that makes the action run in
the main thread, but without blocking the main thread for a noticeable
time. If a pre-processing function is given it is mapped on the items first
before the action happens in the main thread.</p>
<div class="admonition danger">
<p class="first admonition-title">Danger</p>
<p class="last">MUST NOT BE CALLED NOR WAITED FOR FROM THE MAIN THREAD.</p>
</div>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>action</strong> (<em>(action_item, *args) -&gt; None</em>) &#8211; any action that has to be done on the items in the main
thread</li>
<li><strong>items</strong> (<em>iterable</em>) &#8211; an iterable of items that the action should be mapped on</li>
<li><strong>args</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.5)"><em>tuple</em></a>) &#8211; additional arguments passed to the action function</li>
<li><strong>pre_func</strong> (<em>item -&gt; action_item</em>) &#8211; a function that is mapped on the items before they are
passed to the action function</li>
<li><strong>batch_size</strong> &#8211; how many items should be processed in one run in the main loop</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name" colspan="2">Raises <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#AssertionError" title="(in Python v3.5)">AssertionError</a>:</th></tr>
<tr class="field-even field"><td>&nbsp;</td><td class="field-body"><p class="first">if called from the main thread</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">None</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.gtk_call_once">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">gtk_call_once</code><span class="sig-paren">(</span><em>func</em>, <em>*args</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.gtk_call_once" title="Permalink to this definition"></a></dt>
<dd><p>Wrapper for GLib.idle_add call that ensures the func is called
only once.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.ignoreEscape">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">ignoreEscape</code><span class="sig-paren">(</span><em>dlg</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.ignoreEscape" title="Permalink to this definition"></a></dt>
<dd><p>Prevent a dialog from accepting the escape keybinding, which emits a
close signal and will cause the dialog to close with some return value
we are likely not expecting. Instead, this method will cause the
escape key to do nothing for the given GtkDialog.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.override_cell_property">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">override_cell_property</code><span class="sig-paren">(</span><em>tree_column</em>, <em>cell_renderer</em>, <em>propname</em>, <em>property_func</em>, <em>data=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.override_cell_property" title="Permalink to this definition"></a></dt>
<dd><p>Override a single property of a cell renderer.</p>
<p>property_func takes the same arguments as GtkTreeCellDataFunc:
(TreeViewColumn, CellRenderer, TreeModel, TreeIter, data). Instead of being
expected to manipulate the CellRenderer itself, this method should instead
return the value to which the property should be set.</p>
<p>This method calls set_cell_data_func on the column and renderer.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>column</strong> (<em>GtkTreeViewColumn</em>) &#8211; the column to override</li>
<li><strong>cell_renderer</strong> (<em>GtkCellRenderer</em>) &#8211; the cell renderer to override</li>
<li><strong>propname</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.5)"><em>str</em></a>) &#8211; the property to set on the renderer</li>
<li><strong>property_func</strong> (<em>function</em>) &#8211; a function that returns the value of the property to set</li>
<li><strong>data</strong> &#8211; Optional data to pass to property_func</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.really_hide">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">really_hide</code><span class="sig-paren">(</span><em>widget</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.really_hide" title="Permalink to this definition"></a></dt>
<dd><p>Some widgets need to be both hidden, and have no_show_all set on them
to prevent them from being shown later when the screen is redrawn.
This method takes care of that.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.really_show">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">really_show</code><span class="sig-paren">(</span><em>widget</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.really_show" title="Permalink to this definition"></a></dt>
<dd><p>Some widgets need to have no_show_all unset before they can also be
shown, so they are displayed later when the screen is redrawn. This
method takes care of that.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.setViewportBackground">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">setViewportBackground</code><span class="sig-paren">(</span><em>vp</em>, <em>color='&#64;theme_bg_color'</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.setViewportBackground" title="Permalink to this definition"></a></dt>
<dd><p>Set the background color of the GtkViewport vp to be the same as the
overall UI background. This should not be called for every viewport,
as that will affect things like TreeViews as well.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.set_treeview_selection">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">set_treeview_selection</code><span class="sig-paren">(</span><em>treeview</em>, <em>item</em>, <em>col=0</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.set_treeview_selection" title="Permalink to this definition"></a></dt>
<dd><p>Select the given item in the given treeview and scroll to it.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>treeview</strong> (<em>GtkTreeView</em>) &#8211; treeview to select and item in</li>
<li><strong>item</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.5)"><em>str</em></a>) &#8211; item to be selected</li>
<li><strong>col</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.5)"><em>int</em></a>) &#8211; column to search for the item in</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">selected iterator or None if item was not found</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">GtkTreeIter or None</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.setup_gtk_direction">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">setup_gtk_direction</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.setup_gtk_direction" title="Permalink to this definition"></a></dt>
<dd><p>Set the right direction (RTL/LTR) of the Gtk widget&#8217;s and their layout based
on the current language configuration.</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.timed_action">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">timed_action</code><span class="sig-paren">(</span><em>delay=300</em>, <em>threshold=750</em>, <em>busy_cursor=True</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.timed_action" title="Permalink to this definition"></a></dt>
<dd><p>Function returning decorator for decorating often repeated actions that need
to happen in the main loop (entry/slider change callbacks, typically), but
that may take a long time causing the GUI freeze for a noticeable time.</p>
<p>The return value of the decorator function returned by this function&#8211;i.e.,
the value of timed_action()(function_to_be_decorated)&#8211;is an instance of
the TimedAction class, which besides being callable provides a run_now
method to shortcut the timer and run the action immediately. run_now will
also be run in the main loop.</p>
<p>If timed_action is used to decorate a method of a class, the decorated
method will actually be a functools.partial instance. In this case, the
TimedAction instance is accessible as the &#8220;func&#8221; property of the decorated
method. Note that the func property will not have self applied.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>delay</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.5)"><em>int</em></a>) &#8211; number of milliseconds to wait for another invocation of the
decorated function before it is actually called</li>
<li><strong>threshold</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.5)"><em>int</em></a>) &#8211; upper bound (in milliseconds) to wait for the decorated
function to be called from the first/last time</li>
<li><strong>busy_cursor</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.5)"><em>bool</em></a>) &#8211; whether the cursor should be made busy or not in the
meantime of the decorated function being invocated from
outside and it actually being called</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.unbusyCursor">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">unbusyCursor</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.unbusyCursor" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.unwatch_children">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">unwatch_children</code><span class="sig-paren">(</span><em>widget</em>, <em>callback</em>, <em>user_data=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.unwatch_children" title="Permalink to this definition"></a></dt>
<dd><p>Unregister a callback previously added with watch_children.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>widget</strong> (<em>GtkWidget</em>) &#8211; the widget to unwatch</li>
<li><strong>callback</strong> (<em>function</em>) &#8211; the callback that was previously added to the widget</li>
<li><strong>user_data</strong> &#8211; the user_data that was previously added to the widget</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.utils.watch_children">
<code class="descclassname">pyanaconda.ui.gui.utils.</code><code class="descname">watch_children</code><span class="sig-paren">(</span><em>widget</em>, <em>callback</em>, <em>user_data=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.utils.watch_children" title="Permalink to this definition"></a></dt>
<dd><p>Call callback on widget and all children of widget as they are added.</p>
<p>Callback is a function that takes widget and user_data as arguments. No
return value is expected.</p>
<p>Callback will be called immediately for widget, and, if widget is a
GtkContainer, for all children of widget. If widget is a container it will
be then be watched for new widgets added to the container, and callback
will be called on the new children as they are added.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>widget</strong> (<em>GtkWidget</em>) &#8211; the widget to watch</li>
<li><strong>callback</strong> (<em>function</em>) &#8211; the callback function</li>
<li><strong>user_data</strong> &#8211; optional user_data to pass to callback</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
<div class="section" id="module-pyanaconda.ui.gui.xkl_wrapper">
<span id="pyanaconda-ui-gui-xkl-wrapper-module"></span><h2>pyanaconda.ui.gui.xkl_wrapper module<a class="headerlink" href="#module-pyanaconda.ui.gui.xkl_wrapper" title="Permalink to this headline"></a></h2>
<p>This module include functions and classes for dealing with multiple layouts in
Anaconda. It wraps the libxklavier functionality to protect Anaconda from
dealing with its &#8220;nice&#8221; API that looks like a Lisp-influenced &#8220;good old C&#8221; and
also systemd-localed functionality.</p>
<p>It provides a XklWrapper class with several methods that can be used for listing
and various modifications of keyboard layouts settings.</p>
<dl class="class">
<dt id="pyanaconda.ui.gui.xkl_wrapper.LayoutInfo">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.xkl_wrapper.</code><code class="descname">LayoutInfo</code><span class="sig-paren">(</span><em>lang</em>, <em>desc</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.LayoutInfo" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.5)"><code class="xref py py-class docutils literal"><span class="pre">tuple</span></code></a></p>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.xkl_wrapper.LayoutInfo.desc">
<code class="descname">desc</code><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.LayoutInfo.desc" title="Permalink to this definition"></a></dt>
<dd><p>Alias for field number 1</p>
</dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.xkl_wrapper.LayoutInfo.lang">
<code class="descname">lang</code><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.LayoutInfo.lang" title="Permalink to this definition"></a></dt>
<dd><p>Alias for field number 0</p>
</dd></dl>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.xkl_wrapper.Xkb_">
<code class="descclassname">pyanaconda.ui.gui.xkl_wrapper.</code><code class="descname">Xkb_</code><span class="sig-paren">(</span><em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.Xkb_" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.xkl_wrapper.</code><code class="descname">XklWrapper</code><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.5)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Class wrapping the libxklavier functionality</p>
<p>Use this class as a singleton class because it provides read-only data
and initialization (that takes quite a lot of time) reads always the
same data. It doesn&#8217;t have sense to make multiple instances</p>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.activate_default_layout">
<code class="descname">activate_default_layout</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.activate_default_layout" title="Permalink to this definition"></a></dt>
<dd><p>The new body for the decorated method. If needed, it uses closure
bound queue_instance variable which is valid until the reference to this
method is destroyed.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.add_layout">
<code class="descname">add_layout</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.add_layout" title="Permalink to this definition"></a></dt>
<dd><p>The new body for the decorated method. If needed, it uses closure
bound queue_instance variable which is valid until the reference to this
method is destroyed.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_available_layouts">
<code class="descname">get_available_layouts</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_available_layouts" title="Permalink to this definition"></a></dt>
<dd><p>A list of layouts</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_current_layout">
<code class="descname">get_current_layout</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_current_layout" title="Permalink to this definition"></a></dt>
<dd><p>Get current activated X layout and variant</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">current activated X layout and variant (e.g. &#8220;cz (qwerty)&#8221;)</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="staticmethod">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_instance">
<em class="property">static </em><code class="descname">get_instance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_instance" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_layout_variant_description">
<code class="descname">get_layout_variant_description</code><span class="sig-paren">(</span><em>layout_variant</em>, <em>with_lang=True</em>, <em>xlated=True</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_layout_variant_description" title="Permalink to this definition"></a></dt>
<dd><p>Get description of the given layout-variant.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>layout_variant</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.5)"><em>str</em></a>) &#8211; layout-variant specification (e.g. &#8216;cz (qwerty)&#8217;)</li>
<li><strong>with_lang</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.5)"><em>bool</em></a>) &#8211; whether to include language of the layout-variant (if defined)
in the description or not</li>
<li><strong>xlated</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.5)"><em>bool</em></a>) &#8211; whethe to return translated or english version of the description</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">description of the layout-variant specification (e.g. &#8216;Czech (qwerty)&#8217;)</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.5)">str</a></p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_switch_opt_description">
<code class="descname">get_switch_opt_description</code><span class="sig-paren">(</span><em>switch_opt</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_switch_opt_description" title="Permalink to this definition"></a></dt>
<dd><p>Get description of the given layout switching option.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>switch_opt</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.5)"><em>str</em></a>) &#8211; switching option name/ID (e.g. &#8216;grp:alt_shift_toggle&#8217;)</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">description of the layout switching option (e.g. &#8216;Alt + Shift&#8217;)</td>
</tr>
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.5)">str</a></td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_switching_options">
<code class="descname">get_switching_options</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.get_switching_options" title="Permalink to this definition"></a></dt>
<dd><p>Method returning list of available layout switching options</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.is_valid_layout">
<code class="descname">is_valid_layout</code><span class="sig-paren">(</span><em>layout</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.is_valid_layout" title="Permalink to this definition"></a></dt>
<dd><p>Return if given layout is valid layout or not</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.remove_layout">
<code class="descname">remove_layout</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.remove_layout" title="Permalink to this definition"></a></dt>
<dd><p>The new body for the decorated method. If needed, it uses closure
bound queue_instance variable which is valid until the reference to this
method is destroyed.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.replace_layouts">
<code class="descname">replace_layouts</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.replace_layouts" title="Permalink to this definition"></a></dt>
<dd><p>The new body for the decorated method. If needed, it uses closure
bound queue_instance variable which is valid until the reference to this
method is destroyed.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapper.set_switching_options">
<code class="descname">set_switching_options</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapper.set_switching_options" title="Permalink to this definition"></a></dt>
<dd><p>The new body for the decorated method. If needed, it uses closure
bound queue_instance variable which is valid until the reference to this
method is destroyed.</p>
</dd></dl>
</dd></dl>
<dl class="exception">
<dt id="pyanaconda.ui.gui.xkl_wrapper.XklWrapperError">
<em class="property">exception </em><code class="descclassname">pyanaconda.ui.gui.xkl_wrapper.</code><code class="descname">XklWrapperError</code><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.XklWrapperError" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="pyanaconda.html#pyanaconda.keyboard.KeyboardConfigError" title="pyanaconda.keyboard.KeyboardConfigError"><code class="xref py py-class docutils literal"><span class="pre">pyanaconda.keyboard.KeyboardConfigError</span></code></a></p>
<p>Exception class for reporting libxklavier-related problems</p>
</dd></dl>
<dl class="function">
<dt id="pyanaconda.ui.gui.xkl_wrapper.iso_">
<code class="descclassname">pyanaconda.ui.gui.xkl_wrapper.</code><code class="descname">iso_</code><span class="sig-paren">(</span><em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.xkl_wrapper.iso_" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-pyanaconda.ui.gui">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-pyanaconda.ui.gui" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.</code><code class="descname">GraphicalUserInterface</code><span class="sig-paren">(</span><em>storage</em>, <em>payload</em>, <em>instclass</em>, <em>distributionText=&lt;function distributionText&gt;</em>, <em>isFinal=False</em>, <em>quitDialog=&lt;class 'pyanaconda.ui.gui.QuitDialog'&gt;</em>, <em>gui_lock=None</em>, <em>fullscreen=False</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="pyanaconda.ui.html#pyanaconda.ui.UserInterface" title="pyanaconda.ui.UserInterface"><code class="xref py py-class docutils literal"><span class="pre">pyanaconda.ui.UserInterface</span></code></a></p>
<p>This is the standard GTK+ interface we try to steer everything to using.
It is suitable for use both directly and via VNC.</p>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.basemask">
<code class="descname">basemask</code><em class="property"> = 'pyanaconda.ui'</em><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.basemask" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.basepath">
<code class="descname">basepath</code><em class="property"> = '/builddir/anaconda/pyanaconda/ui'</em><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.basepath" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.getActionClasses">
<code class="descname">getActionClasses</code><span class="sig-paren">(</span><em>hubs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.getActionClasses" title="Permalink to this definition"></a></dt>
<dd><p>Grab all relevant standalone spokes, add them to the passed
list of hubs and order the list according to the
relationships between hubs and standalones.</p>
</dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.meh_interface">
<code class="descname">meh_interface</code><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.meh_interface" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.path">
<code class="descname">path</code><em class="property"> = '/tmp/updates/pyanaconda/ui'</em><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.pathlist">
<code class="descname">pathlist</code><em class="property"> = {'/builddir/anaconda/pyanaconda/ui', '/usr/lib64/python3.5/site-packages/pyanaconda/ui', '/usr/lib/python3.5/site-packages/pyanaconda/ui', '/tmp/updates/pyanaconda/ui'}</em><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.pathlist" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.paths">
<code class="descname">paths</code><em class="property"> = {'hubs': [('pyanaconda.ui.gui.hubs.%s', '/builddir/anaconda/pyanaconda/ui/gui/hubs'), ('pyanaconda.ui.gui.hubs.%s', '/usr/lib64/python3.5/site-packages/pyanaconda/ui/gui/hubs'), ('pyanaconda.ui.gui.hubs.%s', '/usr/lib/python3.5/site-packages/pyanaconda/ui/gui/hubs'), ('pyanaconda.ui.gui.hubs.%s', '/tmp/updates/pyanaconda/ui/gui/hubs')], 'categories': [('pyanaconda.ui.categories.%s', '/builddir/anaconda/pyanaconda/ui/categories'), ('pyanaconda.ui.categories.%s', '/usr/lib64/python3.5/site-packages/pyanaconda/ui/categories'), ('pyanaconda.ui.categories.%s', '/usr/lib/python3.5/site-packages/pyanaconda/ui/categories'), ('pyanaconda.ui.categories.%s', '/tmp/updates/pyanaconda/ui/categories')], 'spokes': [('pyanaconda.ui.gui.spokes.%s', '/builddir/anaconda/pyanaconda/ui/gui/spokes'), ('pyanaconda.ui.gui.spokes.%s', '/usr/lib64/python3.5/site-packages/pyanaconda/ui/gui/spokes'), ('pyanaconda.ui.gui.spokes.%s', '/usr/lib/python3.5/site-packages/pyanaconda/ui/gui/spokes'), ('pyanaconda.ui.gui.spokes.%s', '/tmp/updates/pyanaconda/ui/gui/spokes')]}</em><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.paths" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.run">
<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.run" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.setup">
<code class="descname">setup</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.setup" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.showDetailedError">
<code class="descname">showDetailedError</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.showDetailedError" title="Permalink to this definition"></a></dt>
<dd><p>The new body for the decorated method. If needed, it uses closure
bound queue_instance variable which is valid until the reference to this
method is destroyed.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.showError">
<code class="descname">showError</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.showError" title="Permalink to this definition"></a></dt>
<dd><p>The new body for the decorated method. If needed, it uses closure
bound queue_instance variable which is valid until the reference to this
method is destroyed.</p>
</dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.showYesNoQuestion">
<code class="descname">showYesNoQuestion</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.showYesNoQuestion" title="Permalink to this definition"></a></dt>
<dd><p>The new body for the decorated method. If needed, it uses closure
bound queue_instance variable which is valid until the reference to this
method is destroyed.</p>
</dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.sitepackages">
<code class="descname">sitepackages</code><em class="property"> = ['/usr/lib64/python3.5/site-packages/pyanaconda/ui', '/usr/lib/python3.5/site-packages/pyanaconda/ui']</em><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.sitepackages" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.tty_num">
<code class="descname">tty_num</code><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.tty_num" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.GraphicalUserInterface.updatepath">
<code class="descname">updatepath</code><em class="property"> = '/tmp/updates/pyanaconda/ui'</em><a class="headerlink" href="#pyanaconda.ui.gui.GraphicalUserInterface.updatepath" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="pyanaconda.ui.gui.QuitDialog">
<em class="property">class </em><code class="descclassname">pyanaconda.ui.gui.</code><code class="descname">QuitDialog</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.QuitDialog" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">pyanaconda.ui.gui.GUIObject</span></code></p>
<p>Create a new UIObject instance, including loading its uiFile and
all UI-related objects.</p>
<p>Instance attributes:</p>
<dl class="docutils">
<dt>data &#8211; An instance of a pykickstart Handler object. The Hub</dt>
<dd>never directly uses this instance. Instead, it passes
it down into Spokes when they are created and applied.
The Hub simply stores this instance so it doesn&#8217;t need
to be passed by the user.</dd>
<dt>skipTo &#8211; If this attribute is set to something other than None,</dt>
<dd><p class="first">it must be the name of a class (as a string). Then,
the interface will skip to the first instance of that
class in the action list instead of going on to
whatever the next action is normally.</p>
<p class="last">Note that actions may only skip ahead, never backwards.
Also, standalone spokes may not skip to an individual
spoke off a hub. They can only skip to the hub
itself.</p>
</dd>
</dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.QuitDialog.MESSAGE">
<code class="descname">MESSAGE</code><em class="property"> = ''</em><a class="headerlink" href="#pyanaconda.ui.gui.QuitDialog.MESSAGE" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.QuitDialog.builderObjects">
<code class="descname">builderObjects</code><em class="property"> = ['quitDialog']</em><a class="headerlink" href="#pyanaconda.ui.gui.QuitDialog.builderObjects" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.QuitDialog.mainWidgetName">
<code class="descname">mainWidgetName</code><em class="property"> = 'quitDialog'</em><a class="headerlink" href="#pyanaconda.ui.gui.QuitDialog.mainWidgetName" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pyanaconda.ui.gui.QuitDialog.run">
<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#pyanaconda.ui.gui.QuitDialog.run" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="pyanaconda.ui.gui.QuitDialog.uiFile">
<code class="descname">uiFile</code><em class="property"> = 'main.glade'</em><a class="headerlink" href="#pyanaconda.ui.gui.QuitDialog.uiFile" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="pyanaconda.ui.gui.hubs.html" class="btn btn-neutral float-right" title="pyanaconda.ui.gui.hubs package" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="pyanaconda.ui.categories.html" class="btn btn-neutral" title="pyanaconda.ui.categories package" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2015, Red Hat, Inc..
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'25.14',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
</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/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>