diff options
Diffstat (limited to '_build/html/_modules/desktop/icon.html')
-rw-r--r-- | _build/html/_modules/desktop/icon.html | 948 |
1 files changed, 0 insertions, 948 deletions
diff --git a/_build/html/_modules/desktop/icon.html b/_build/html/_modules/desktop/icon.html deleted file mode 100644 index c702dfe..0000000 --- a/_build/html/_modules/desktop/icon.html +++ /dev/null @@ -1,948 +0,0 @@ - - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - - <title>desktop.icon — Sweetener 0.7 documentation</title> - - <link rel="stylesheet" href="../../_static/default.css" type="text/css" /> - <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> - - <script type="text/javascript"> - var DOCUMENTATION_OPTIONS = { - URL_ROOT: '../../', - VERSION: '0.7', - 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> - <link rel="top" title="Sweetener 0.7 documentation" href="../../index.html" /> - <link rel="up" title="Module code" href="../index.html" /> - </head> - <body> - <div class="related"> - <h3>Navigation</h3> - <ul> - <li class="right" style="margin-right: 10px"> - <a href="../../genindex.html" title="General Index" - accesskey="I">index</a></li> - <li><a href="../../index.html">Sweetener 0.7 documentation</a> »</li> - <li><a href="../index.html" accesskey="U">Module code</a> »</li> - </ul> - </div> - - <div class="document"> - <div class="documentwrapper"> - <div class="bodywrapper"> - <div class="body"> - - <h1>Source code for desktop.icon</h1><div class="highlight"><pre> -<span class="c"># Copyright (C) 2006-2007 Red Hat, Inc.</span> -<span class="c">#</span> -<span class="c"># This library is free software; you can redistribute it and/or</span> -<span class="c"># modify it under the terms of the GNU Lesser General Public</span> -<span class="c"># License as published by the Free Software Foundation; either</span> -<span class="c"># version 2 of the License, or (at your option) any later version.</span> -<span class="c">#</span> -<span class="c"># This library is distributed in the hope that it will be useful,</span> -<span class="c"># but WITHOUT ANY WARRANTY; without even the implied warranty of</span> -<span class="c"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span> -<span class="c"># Lesser General Public License for more details.</span> -<span class="c">#</span> -<span class="c"># You should have received a copy of the GNU Lesser General Public</span> -<span class="c"># License along with this library; if not, write to the</span> -<span class="c"># Free Software Foundation, Inc., 59 Temple Place - Suite 330,</span> -<span class="c"># Boston, MA 02111-1307, USA.</span> - -<span class="sd">"""</span> -<span class="sd">A small fixed size picture, typically used to decorate components.</span> - -<span class="sd">STABLE.</span> -<span class="sd">"""</span> - -<span class="kn">import</span> <span class="nn">re</span> -<span class="kn">import</span> <span class="nn">math</span> -<span class="kn">import</span> <span class="nn">logging</span> - -<span class="kn">import</span> <span class="nn">gobject</span> -<span class="kn">import</span> <span class="nn">gtk</span> -<span class="kn">import</span> <span class="nn">cairo</span> - -<span class="kn">from</span> <span class="nn">colors</span> <span class="kn">import</span> <span class="n">XoColor</span> - - -<div class="viewcode-block" id="Node"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Node">[docs]</a><span class="k">class</span> <span class="nc">Node</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> - - <span class="n">__slots__</span> <span class="o">=</span> <span class="p">[</span><span class="s">'prev'</span><span class="p">,</span> <span class="s">'next'</span><span class="p">,</span> <span class="s">'me'</span><span class="p">]</span> - - <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">prev</span><span class="p">,</span> <span class="n">me</span><span class="p">):</span> - <span class="bp">self</span><span class="o">.</span><span class="n">prev</span> <span class="o">=</span> <span class="n">prev</span> - <span class="bp">self</span><span class="o">.</span><span class="n">me</span> <span class="o">=</span> <span class="n">me</span> - <span class="bp">self</span><span class="o">.</span><span class="n">next</span> <span class="o">=</span> <span class="bp">None</span> - -</div> -<div class="viewcode-block" id="LRU"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.LRU">[docs]</a><span class="k">class</span> <span class="nc">LRU</span><span class="p">:</span> - <span class="sd">"""</span> -<span class="sd"> Implementation of a length-limited O(1) LRU queue.</span> -<span class="sd"> Built for and used by PyPE:</span> -<span class="sd"> http://pype.sourceforge.net</span> -<span class="sd"> Copyright 2003 Josiah Carlson.</span> -<span class="sd"> """</span> - - <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">count</span><span class="p">,</span> <span class="n">pairs</span><span class="o">=</span><span class="p">[]):</span> - <span class="c"># pylint: disable=W0102,W0612</span> - <span class="bp">self</span><span class="o">.</span><span class="n">count</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">count</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> - <span class="bp">self</span><span class="o">.</span><span class="n">d</span> <span class="o">=</span> <span class="p">{}</span> - <span class="bp">self</span><span class="o">.</span><span class="n">first</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">last</span> <span class="o">=</span> <span class="bp">None</span> - <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">pairs</span><span class="p">:</span> - <span class="bp">self</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> - - <span class="k">def</span> <span class="nf">__contains__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">):</span> - <span class="k">return</span> <span class="n">obj</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span> - - <span class="k">def</span> <span class="nf">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">):</span> - <span class="n">a</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="p">[</span><span class="n">obj</span><span class="p">]</span><span class="o">.</span><span class="n">me</span> - <span class="bp">self</span><span class="p">[</span><span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> - <span class="k">return</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> - - <span class="k">def</span> <span class="nf">__setitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">,</span> <span class="n">val</span><span class="p">):</span> - <span class="k">if</span> <span class="n">obj</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="p">:</span> - <span class="k">del</span> <span class="bp">self</span><span class="p">[</span><span class="n">obj</span><span class="p">]</span> - <span class="n">nobj</span> <span class="o">=</span> <span class="n">Node</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">last</span><span class="p">,</span> <span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">val</span><span class="p">))</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">first</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">first</span> <span class="o">=</span> <span class="n">nobj</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">last</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">last</span><span class="o">.</span><span class="n">next</span> <span class="o">=</span> <span class="n">nobj</span> - <span class="bp">self</span><span class="o">.</span><span class="n">last</span> <span class="o">=</span> <span class="n">nobj</span> - <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="p">[</span><span class="n">obj</span><span class="p">]</span> <span class="o">=</span> <span class="n">nobj</span> - <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="p">)</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">count</span><span class="p">:</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">first</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">last</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">first</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">last</span> <span class="o">=</span> <span class="bp">None</span> - <span class="k">return</span> - <span class="n">a</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">first</span> - <span class="n">a</span><span class="o">.</span><span class="n">next</span><span class="o">.</span><span class="n">prev</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">first</span> <span class="o">=</span> <span class="n">a</span><span class="o">.</span><span class="n">next</span> - <span class="n">a</span><span class="o">.</span><span class="n">next</span> <span class="o">=</span> <span class="bp">None</span> - <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="p">[</span><span class="n">a</span><span class="o">.</span><span class="n">me</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> - <span class="k">del</span> <span class="n">a</span> - - <span class="k">def</span> <span class="nf">__delitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">):</span> - <span class="n">nobj</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="p">[</span><span class="n">obj</span><span class="p">]</span> - <span class="k">if</span> <span class="n">nobj</span><span class="o">.</span><span class="n">prev</span><span class="p">:</span> - <span class="n">nobj</span><span class="o">.</span><span class="n">prev</span><span class="o">.</span><span class="n">next</span> <span class="o">=</span> <span class="n">nobj</span><span class="o">.</span><span class="n">next</span> - <span class="k">else</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">first</span> <span class="o">=</span> <span class="n">nobj</span><span class="o">.</span><span class="n">next</span> - <span class="k">if</span> <span class="n">nobj</span><span class="o">.</span><span class="n">next</span><span class="p">:</span> - <span class="n">nobj</span><span class="o">.</span><span class="n">next</span><span class="o">.</span><span class="n">prev</span> <span class="o">=</span> <span class="n">nobj</span><span class="o">.</span><span class="n">prev</span> - <span class="k">else</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">last</span> <span class="o">=</span> <span class="n">nobj</span><span class="o">.</span><span class="n">prev</span> - <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="p">[</span><span class="n">obj</span><span class="p">]</span> - - <span class="k">def</span> <span class="nf">__iter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="n">cur</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">first</span> - <span class="k">while</span> <span class="n">cur</span> <span class="o">!=</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">cur2</span> <span class="o">=</span> <span class="n">cur</span><span class="o">.</span><span class="n">next</span> - <span class="k">yield</span> <span class="n">cur</span><span class="o">.</span><span class="n">me</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> - <span class="n">cur</span> <span class="o">=</span> <span class="n">cur2</span> - -<div class="viewcode-block" id="LRU.iteritems"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.LRU.iteritems">[docs]</a> <span class="k">def</span> <span class="nf">iteritems</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="n">cur</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">first</span> - <span class="k">while</span> <span class="n">cur</span> <span class="o">!=</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">cur2</span> <span class="o">=</span> <span class="n">cur</span><span class="o">.</span><span class="n">next</span> - <span class="k">yield</span> <span class="n">cur</span><span class="o">.</span><span class="n">me</span> - <span class="n">cur</span> <span class="o">=</span> <span class="n">cur2</span> -</div> -<div class="viewcode-block" id="LRU.iterkeys"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.LRU.iterkeys">[docs]</a> <span class="k">def</span> <span class="nf">iterkeys</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">return</span> <span class="nb">iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="p">)</span> -</div> -<div class="viewcode-block" id="LRU.itervalues"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.LRU.itervalues">[docs]</a> <span class="k">def</span> <span class="nf">itervalues</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">for</span> <span class="n">i_</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span> - <span class="k">yield</span> <span class="n">j</span> -</div> -<div class="viewcode-block" id="LRU.keys"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.LRU.keys">[docs]</a> <span class="k">def</span> <span class="nf">keys</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span> - -</div></div> -<span class="n">_BADGE_SIZE</span> <span class="o">=</span> <span class="mf">0.45</span> - - -<span class="k">class</span> <span class="nc">_SVGLoader</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> - - <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="bp">self</span><span class="o">.</span><span class="n">_cache</span> <span class="o">=</span> <span class="n">LRU</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span> - - <span class="k">def</span> <span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_name</span><span class="p">,</span> <span class="n">entities</span><span class="p">,</span> <span class="n">cache</span><span class="p">):</span> - <span class="k">if</span> <span class="n">file_name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cache</span><span class="p">:</span> - <span class="n">icon</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cache</span><span class="p">[</span><span class="n">file_name</span><span class="p">]</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">icon_file</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s">'r'</span><span class="p">)</span> - <span class="n">icon</span> <span class="o">=</span> <span class="n">icon_file</span><span class="o">.</span><span class="n">read</span><span class="p">()</span> - <span class="n">icon_file</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> - - <span class="k">if</span> <span class="n">cache</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_cache</span><span class="p">[</span><span class="n">file_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">icon</span> - - <span class="k">for</span> <span class="n">entity</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">entities</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> - <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">basestring</span><span class="p">):</span> - <span class="n">xml</span> <span class="o">=</span> <span class="s">'<!ENTITY </span><span class="si">%s</span><span class="s"> "</span><span class="si">%s</span><span class="s">">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">entity</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span> - <span class="n">icon</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s">'<!ENTITY </span><span class="si">%s</span><span class="s"> .*>'</span> <span class="o">%</span> <span class="n">entity</span><span class="p">,</span> <span class="n">xml</span><span class="p">,</span> <span class="n">icon</span><span class="p">)</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">logging</span><span class="o">.</span><span class="n">error</span><span class="p">(</span> - <span class="s">'Icon </span><span class="si">%s</span><span class="s">, entity </span><span class="si">%s</span><span class="s"> is invalid.'</span><span class="p">,</span> <span class="n">file_name</span><span class="p">,</span> <span class="n">entity</span><span class="p">)</span> - - <span class="c"># XXX this is very slow! why?</span> - <span class="kn">import</span> <span class="nn">rsvg</span> - <span class="k">return</span> <span class="n">rsvg</span><span class="o">.</span><span class="n">Handle</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">icon</span><span class="p">)</span> - - -<span class="k">class</span> <span class="nc">_IconInfo</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> - - <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="bp">self</span><span class="o">.</span><span class="n">file_name</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">attach_x</span> <span class="o">=</span> <span class="mi">0</span> - <span class="bp">self</span><span class="o">.</span><span class="n">attach_y</span> <span class="o">=</span> <span class="mi">0</span> - - -<span class="k">class</span> <span class="nc">_BadgeInfo</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> - - <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="bp">self</span><span class="o">.</span><span class="n">attach_x</span> <span class="o">=</span> <span class="mi">0</span> - <span class="bp">self</span><span class="o">.</span><span class="n">attach_y</span> <span class="o">=</span> <span class="mi">0</span> - <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="mi">0</span> - <span class="bp">self</span><span class="o">.</span><span class="n">icon_padding</span> <span class="o">=</span> <span class="mi">0</span> - - -<span class="k">class</span> <span class="nc">_IconBuffer</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> - - <span class="n">_surface_cache</span> <span class="o">=</span> <span class="n">LRU</span><span class="p">(</span><span class="mi">50</span><span class="p">)</span> - <span class="n">_loader</span> <span class="o">=</span> <span class="n">_SVGLoader</span><span class="p">()</span> - - <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="bp">self</span><span class="o">.</span><span class="n">icon_name</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">icon_size</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">file_name</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">fill_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">background_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">stroke_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">badge_name</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">width</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">height</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">cache</span> <span class="o">=</span> <span class="bp">False</span> - <span class="bp">self</span><span class="o">.</span><span class="n">scale</span> <span class="o">=</span> <span class="mf">1.0</span> - - <span class="k">def</span> <span class="nf">_get_cache_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">background_color</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">color</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">background_color</span><span class="o">.</span><span class="n">red</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">background_color</span><span class="o">.</span><span class="n">green</span><span class="p">,</span> - <span class="bp">self</span><span class="o">.</span><span class="n">background_color</span><span class="o">.</span><span class="n">blue</span><span class="p">)</span> - <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">icon_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">fill_color</span><span class="p">,</span> - <span class="bp">self</span><span class="o">.</span><span class="n">stroke_color</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">badge_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">width</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">height</span><span class="p">,</span> - <span class="n">color</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">)</span> - - <span class="k">def</span> <span class="nf">_load_svg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_name</span><span class="p">):</span> - <span class="n">entities</span> <span class="o">=</span> <span class="p">{}</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fill_color</span><span class="p">:</span> - <span class="n">entities</span><span class="p">[</span><span class="s">'fill_color'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fill_color</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">stroke_color</span><span class="p">:</span> - <span class="n">entities</span><span class="p">[</span><span class="s">'stroke_color'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stroke_color</span> - - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="n">entities</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cache</span><span class="p">)</span> - - <span class="k">def</span> <span class="nf">_get_attach_points</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">info</span><span class="p">,</span> <span class="n">size_request</span><span class="p">):</span> - <span class="n">attach_points</span> <span class="o">=</span> <span class="n">info</span><span class="o">.</span><span class="n">get_attach_points</span><span class="p">()</span> - - <span class="k">if</span> <span class="n">attach_points</span><span class="p">:</span> - <span class="n">attach_x</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">attach_points</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="o">/</span> <span class="n">size_request</span> - <span class="n">attach_y</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">attach_points</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="n">size_request</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">attach_x</span> <span class="o">=</span> <span class="n">attach_y</span> <span class="o">=</span> <span class="mi">0</span> - - <span class="k">return</span> <span class="n">attach_x</span><span class="p">,</span> <span class="n">attach_y</span> - - <span class="k">def</span> <span class="nf">_get_icon_info</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="n">icon_info</span> <span class="o">=</span> <span class="n">_IconInfo</span><span class="p">()</span> - - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_name</span><span class="p">:</span> - <span class="n">icon_info</span><span class="o">.</span><span class="n">file_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_name</span> - <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">icon_name</span><span class="p">:</span> - <span class="n">theme</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">icon_theme_get_default</span><span class="p">()</span> - - <span class="n">size</span> <span class="o">=</span> <span class="mi">50</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">width</span> <span class="o">!=</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">width</span> - - <span class="n">info</span> <span class="o">=</span> <span class="n">theme</span><span class="o">.</span><span class="n">lookup_icon</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">icon_name</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">size</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span> - <span class="k">if</span> <span class="n">info</span><span class="p">:</span> - <span class="n">attach_x</span><span class="p">,</span> <span class="n">attach_y</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_attach_points</span><span class="p">(</span><span class="n">info</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span> - - <span class="n">icon_info</span><span class="o">.</span><span class="n">file_name</span> <span class="o">=</span> <span class="n">info</span><span class="o">.</span><span class="n">get_filename</span><span class="p">()</span> - <span class="n">icon_info</span><span class="o">.</span><span class="n">attach_x</span> <span class="o">=</span> <span class="n">attach_x</span> - <span class="n">icon_info</span><span class="o">.</span><span class="n">attach_y</span> <span class="o">=</span> <span class="n">attach_y</span> - - <span class="k">del</span> <span class="n">info</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">logging</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s">'No icon with the name </span><span class="si">%s</span><span class="s"> was found in the '</span> - <span class="s">'theme.'</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">icon_name</span><span class="p">)</span> - - <span class="k">return</span> <span class="n">icon_info</span> - - <span class="k">def</span> <span class="nf">_draw_badge</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span> - <span class="n">theme</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">icon_theme_get_default</span><span class="p">()</span> - <span class="n">badge_info</span> <span class="o">=</span> <span class="n">theme</span><span class="o">.</span><span class="n">lookup_icon</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">badge_name</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">size</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span> - <span class="k">if</span> <span class="n">badge_info</span><span class="p">:</span> - <span class="n">badge_file_name</span> <span class="o">=</span> <span class="n">badge_info</span><span class="o">.</span><span class="n">get_filename</span><span class="p">()</span> - <span class="k">if</span> <span class="n">badge_file_name</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s">'.svg'</span><span class="p">):</span> - <span class="n">handle</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_loader</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">badge_file_name</span><span class="p">,</span> <span class="p">{},</span> <span class="bp">self</span><span class="o">.</span><span class="n">cache</span><span class="p">)</span> - - <span class="n">dimensions</span> <span class="o">=</span> <span class="n">handle</span><span class="o">.</span><span class="n">get_dimension_data</span><span class="p">()</span> - <span class="n">icon_width</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">dimensions</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> - <span class="n">icon_height</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">dimensions</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> - - <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">handle</span><span class="o">.</span><span class="n">get_pixbuf</span><span class="p">()</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">pixbuf_new_from_file</span><span class="p">(</span><span class="n">badge_file_name</span><span class="p">)</span> - - <span class="n">icon_width</span> <span class="o">=</span> <span class="n">pixbuf</span><span class="o">.</span><span class="n">get_width</span><span class="p">()</span> - <span class="n">icon_height</span> <span class="o">=</span> <span class="n">pixbuf</span><span class="o">.</span><span class="n">get_height</span><span class="p">()</span> - - <span class="n">context</span><span class="o">.</span><span class="n">scale</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="n">size</span><span class="p">)</span> <span class="o">/</span> <span class="n">icon_width</span><span class="p">,</span> - <span class="nb">float</span><span class="p">(</span><span class="n">size</span><span class="p">)</span> <span class="o">/</span> <span class="n">icon_height</span><span class="p">)</span> - - <span class="k">if</span> <span class="ow">not</span> <span class="n">sensitive</span><span class="p">:</span> - <span class="n">pixbuf</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_insensitive_pixbuf</span><span class="p">(</span><span class="n">pixbuf</span><span class="p">,</span> <span class="n">widget</span><span class="p">)</span> - <span class="n">gdkcontext</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">CairoContext</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> - <span class="n">gdkcontext</span><span class="o">.</span><span class="n">set_source_pixbuf</span><span class="p">(</span><span class="n">pixbuf</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="n">gdkcontext</span><span class="o">.</span><span class="n">paint</span><span class="p">()</span> - - <span class="k">def</span> <span class="nf">_get_size</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">icon_width</span><span class="p">,</span> <span class="n">icon_height</span><span class="p">,</span> <span class="n">padding</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">width</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">height</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">width</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">width</span> <span class="o">+</span> <span class="n">padding</span> - <span class="n">height</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">height</span> <span class="o">+</span> <span class="n">padding</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">width</span> <span class="o">=</span> <span class="n">icon_width</span> <span class="o">+</span> <span class="n">padding</span> - <span class="n">height</span> <span class="o">=</span> <span class="n">icon_height</span> <span class="o">+</span> <span class="n">padding</span> - - <span class="k">return</span> <span class="n">width</span><span class="p">,</span> <span class="n">height</span> - - <span class="k">def</span> <span class="nf">_get_badge_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">icon_info</span><span class="p">,</span> <span class="n">icon_width</span><span class="p">,</span> <span class="n">icon_height</span><span class="p">):</span> - <span class="n">info</span> <span class="o">=</span> <span class="n">_BadgeInfo</span><span class="p">()</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">badge_name</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> - <span class="k">return</span> <span class="n">info</span> - - <span class="n">info</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">_BADGE_SIZE</span> <span class="o">*</span> <span class="n">icon_width</span><span class="p">)</span> - <span class="n">info</span><span class="o">.</span><span class="n">attach_x</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">icon_info</span><span class="o">.</span><span class="n">attach_x</span> <span class="o">*</span> <span class="n">icon_width</span> <span class="o">-</span> <span class="n">info</span><span class="o">.</span><span class="n">size</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)</span> - <span class="n">info</span><span class="o">.</span><span class="n">attach_y</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">icon_info</span><span class="o">.</span><span class="n">attach_y</span> <span class="o">*</span> <span class="n">icon_height</span> <span class="o">-</span> <span class="n">info</span><span class="o">.</span><span class="n">size</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)</span> - - <span class="k">if</span> <span class="n">info</span><span class="o">.</span><span class="n">attach_x</span> <span class="o"><</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">info</span><span class="o">.</span><span class="n">attach_y</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> - <span class="n">info</span><span class="o">.</span><span class="n">icon_padding</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="o">-</span><span class="n">info</span><span class="o">.</span><span class="n">attach_x</span><span class="p">,</span> <span class="o">-</span><span class="n">info</span><span class="o">.</span><span class="n">attach_y</span><span class="p">)</span> - <span class="k">elif</span> <span class="n">info</span><span class="o">.</span><span class="n">attach_x</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="n">size</span> <span class="o">></span> <span class="n">icon_width</span> <span class="ow">or</span> \ - <span class="n">info</span><span class="o">.</span><span class="n">attach_y</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="n">size</span> <span class="o">></span> <span class="n">icon_height</span><span class="p">:</span> - <span class="n">x_padding</span> <span class="o">=</span> <span class="n">info</span><span class="o">.</span><span class="n">attach_x</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="n">size</span> <span class="o">-</span> <span class="n">icon_width</span> - <span class="n">y_padding</span> <span class="o">=</span> <span class="n">info</span><span class="o">.</span><span class="n">attach_y</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="n">size</span> <span class="o">-</span> <span class="n">icon_height</span> - <span class="n">info</span><span class="o">.</span><span class="n">icon_padding</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">x_padding</span><span class="p">,</span> <span class="n">y_padding</span><span class="p">)</span> - - <span class="k">return</span> <span class="n">info</span> - - <span class="k">def</span> <span class="nf">_get_xo_color</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">stroke_color</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">fill_color</span><span class="p">:</span> - <span class="k">return</span> <span class="n">XoColor</span><span class="p">(</span><span class="s">'</span><span class="si">%s</span><span class="s">,</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">stroke_color</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">fill_color</span><span class="p">))</span> - <span class="k">else</span><span class="p">:</span> - <span class="k">return</span> <span class="bp">None</span> - - <span class="k">def</span> <span class="nf">_set_xo_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">xo_color</span><span class="p">):</span> - <span class="k">if</span> <span class="n">xo_color</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">stroke_color</span> <span class="o">=</span> <span class="n">xo_color</span><span class="o">.</span><span class="n">get_stroke_color</span><span class="p">()</span> - <span class="bp">self</span><span class="o">.</span><span class="n">fill_color</span> <span class="o">=</span> <span class="n">xo_color</span><span class="o">.</span><span class="n">get_fill_color</span><span class="p">()</span> - <span class="k">else</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">stroke_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">fill_color</span> <span class="o">=</span> <span class="bp">None</span> - - <span class="k">def</span> <span class="nf">_get_insensitive_pixbuf</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pixbuf</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span> - <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">widget</span> <span class="ow">and</span> <span class="n">widget</span><span class="o">.</span><span class="n">style</span><span class="p">):</span> - <span class="k">return</span> <span class="n">pixbuf</span> - - <span class="n">icon_source</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">IconSource</span><span class="p">()</span> - <span class="c"># Special size meaning "don't touch"</span> - <span class="n">icon_source</span><span class="o">.</span><span class="n">set_size</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> - <span class="n">icon_source</span><span class="o">.</span><span class="n">set_pixbuf</span><span class="p">(</span><span class="n">pixbuf</span><span class="p">)</span> - <span class="n">icon_source</span><span class="o">.</span><span class="n">set_state</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">STATE_INSENSITIVE</span><span class="p">)</span> - <span class="n">icon_source</span><span class="o">.</span><span class="n">set_direction_wildcarded</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> - <span class="n">icon_source</span><span class="o">.</span><span class="n">set_size_wildcarded</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> - - <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">style</span><span class="o">.</span><span class="n">render_icon</span><span class="p">(</span><span class="n">icon_source</span><span class="p">,</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_direction</span><span class="p">(),</span> - <span class="n">gtk</span><span class="o">.</span><span class="n">STATE_INSENSITIVE</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">widget</span><span class="p">,</span> - <span class="s">'sugar-icon'</span><span class="p">)</span> - - <span class="k">return</span> <span class="n">pixbuf</span> - - <span class="k">def</span> <span class="nf">get_surface</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sensitive</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">widget</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span> - <span class="n">cache_key</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_cache_key</span><span class="p">(</span><span class="n">sensitive</span><span class="p">)</span> - <span class="k">if</span> <span class="n">cache_key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_surface_cache</span><span class="p">:</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_surface_cache</span><span class="p">[</span><span class="n">cache_key</span><span class="p">]</span> - - <span class="n">icon_info</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_icon_info</span><span class="p">()</span> - <span class="k">if</span> <span class="n">icon_info</span><span class="o">.</span><span class="n">file_name</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> - <span class="k">return</span> <span class="bp">None</span> - - <span class="n">is_svg</span> <span class="o">=</span> <span class="n">icon_info</span><span class="o">.</span><span class="n">file_name</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s">'.svg'</span><span class="p">)</span> - - <span class="k">if</span> <span class="n">is_svg</span><span class="p">:</span> - <span class="n">handle</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_load_svg</span><span class="p">(</span><span class="n">icon_info</span><span class="o">.</span><span class="n">file_name</span><span class="p">)</span> - <span class="n">dimensions</span> <span class="o">=</span> <span class="n">handle</span><span class="o">.</span><span class="n">get_dimension_data</span><span class="p">()</span> - <span class="n">icon_width</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">dimensions</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> - <span class="n">icon_height</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">dimensions</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">pixbuf_new_from_file</span><span class="p">(</span><span class="n">icon_info</span><span class="o">.</span><span class="n">file_name</span><span class="p">)</span> - <span class="n">icon_width</span> <span class="o">=</span> <span class="n">pixbuf</span><span class="o">.</span><span class="n">get_width</span><span class="p">()</span> - <span class="n">icon_height</span> <span class="o">=</span> <span class="n">pixbuf</span><span class="o">.</span><span class="n">get_height</span><span class="p">()</span> - - <span class="n">badge_info</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_badge_info</span><span class="p">(</span><span class="n">icon_info</span><span class="p">,</span> <span class="n">icon_width</span><span class="p">,</span> <span class="n">icon_height</span><span class="p">)</span> - - <span class="n">padding</span> <span class="o">=</span> <span class="n">badge_info</span><span class="o">.</span><span class="n">icon_padding</span> - <span class="n">width</span><span class="p">,</span> <span class="n">height</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_size</span><span class="p">(</span><span class="n">icon_width</span><span class="p">,</span> <span class="n">icon_height</span><span class="p">,</span> <span class="n">padding</span><span class="p">)</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">background_color</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">surface</span> <span class="o">=</span> <span class="n">cairo</span><span class="o">.</span><span class="n">ImageSurface</span><span class="p">(</span><span class="n">cairo</span><span class="o">.</span><span class="n">FORMAT_ARGB32</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">width</span><span class="p">),</span> - <span class="nb">int</span><span class="p">(</span><span class="n">height</span><span class="p">))</span> - <span class="n">context</span> <span class="o">=</span> <span class="n">cairo</span><span class="o">.</span><span class="n">Context</span><span class="p">(</span><span class="n">surface</span><span class="p">)</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">surface</span> <span class="o">=</span> <span class="n">cairo</span><span class="o">.</span><span class="n">ImageSurface</span><span class="p">(</span><span class="n">cairo</span><span class="o">.</span><span class="n">FORMAT_RGB24</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">width</span><span class="p">),</span> - <span class="nb">int</span><span class="p">(</span><span class="n">height</span><span class="p">))</span> - <span class="n">context</span> <span class="o">=</span> <span class="n">cairo</span><span class="o">.</span><span class="n">Context</span><span class="p">(</span><span class="n">surface</span><span class="p">)</span> - <span class="n">context</span><span class="o">.</span><span class="n">set_source_rgb</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">background_color</span><span class="o">.</span><span class="n">red</span><span class="p">,</span> - <span class="bp">self</span><span class="o">.</span><span class="n">background_color</span><span class="o">.</span><span class="n">blue</span><span class="p">,</span> - <span class="bp">self</span><span class="o">.</span><span class="n">background_color</span><span class="o">.</span><span class="n">green</span><span class="p">)</span> - <span class="n">context</span><span class="o">.</span><span class="n">paint</span><span class="p">()</span> - - <span class="n">context</span><span class="o">.</span><span class="n">scale</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="n">width</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="n">icon_width</span> <span class="o">+</span> <span class="n">padding</span> <span class="o">*</span> <span class="mi">2</span><span class="p">),</span> - <span class="nb">float</span><span class="p">(</span><span class="n">height</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="n">icon_height</span> <span class="o">+</span> <span class="n">padding</span> <span class="o">*</span> <span class="mi">2</span><span class="p">))</span> - <span class="n">context</span><span class="o">.</span><span class="n">save</span><span class="p">()</span> - - <span class="n">context</span><span class="o">.</span><span class="n">translate</span><span class="p">(</span><span class="n">padding</span><span class="p">,</span> <span class="n">padding</span><span class="p">)</span> - <span class="k">if</span> <span class="n">is_svg</span><span class="p">:</span> - <span class="k">if</span> <span class="n">sensitive</span><span class="p">:</span> - <span class="n">handle</span><span class="o">.</span><span class="n">render_cairo</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">pixbuf</span> <span class="o">=</span> <span class="n">handle</span><span class="o">.</span><span class="n">get_pixbuf</span><span class="p">()</span> - <span class="n">pixbuf</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_insensitive_pixbuf</span><span class="p">(</span><span class="n">pixbuf</span><span class="p">,</span> <span class="n">widget</span><span class="p">)</span> - <span class="n">gdkcontext</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">CairoContext</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> - <span class="n">gdkcontext</span><span class="o">.</span><span class="n">set_source_pixbuf</span><span class="p">(</span><span class="n">pixbuf</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="n">gdkcontext</span><span class="o">.</span><span class="n">paint</span><span class="p">()</span> - <span class="k">else</span><span class="p">:</span> - <span class="k">if</span> <span class="ow">not</span> <span class="n">sensitive</span><span class="p">:</span> - <span class="n">pixbuf</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_insensitive_pixbuf</span><span class="p">(</span><span class="n">pixbuf</span><span class="p">,</span> <span class="n">widget</span><span class="p">)</span> - <span class="n">gdkcontext</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">CairoContext</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> - <span class="n">gdkcontext</span><span class="o">.</span><span class="n">set_source_pixbuf</span><span class="p">(</span><span class="n">pixbuf</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="n">gdkcontext</span><span class="o">.</span><span class="n">paint</span><span class="p">()</span> - - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">badge_name</span><span class="p">:</span> - <span class="n">context</span><span class="o">.</span><span class="n">restore</span><span class="p">()</span> - <span class="n">context</span><span class="o">.</span><span class="n">translate</span><span class="p">(</span><span class="n">badge_info</span><span class="o">.</span><span class="n">attach_x</span><span class="p">,</span> <span class="n">badge_info</span><span class="o">.</span><span class="n">attach_y</span><span class="p">)</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_draw_badge</span><span class="p">(</span><span class="n">context</span><span class="p">,</span> <span class="n">badge_info</span><span class="o">.</span><span class="n">size</span><span class="p">,</span> <span class="n">sensitive</span><span class="p">,</span> <span class="n">widget</span><span class="p">)</span> - - <span class="bp">self</span><span class="o">.</span><span class="n">_surface_cache</span><span class="p">[</span><span class="n">cache_key</span><span class="p">]</span> <span class="o">=</span> <span class="n">surface</span> - - <span class="k">return</span> <span class="n">surface</span> - - <span class="n">xo_color</span> <span class="o">=</span> <span class="nb">property</span><span class="p">(</span><span class="n">_get_xo_color</span><span class="p">,</span> <span class="n">_set_xo_color</span><span class="p">)</span> - - -<div class="viewcode-block" id="Icon"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon">[docs]</a><span class="k">class</span> <span class="nc">Icon</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">Image</span><span class="p">):</span> - - <span class="n">__gtype_name__</span> <span class="o">=</span> <span class="s">'SugarIcon'</span> - - <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="o">**</span><span class="n">kwargs</span><span class="p">):</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span> <span class="o">=</span> <span class="n">_IconBuffer</span><span class="p">()</span> - <span class="c"># HACK: need to keep a reference to the path so it doesn't get garbage</span> - <span class="c"># collected while it's still used if it's a sugar.util.TempFilePath.</span> - <span class="c"># See #1175</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_file</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_alpha</span> <span class="o">=</span> <span class="mf">1.0</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_scale</span> <span class="o">=</span> <span class="mf">1.0</span> - - <span class="n">gobject</span><span class="o">.</span><span class="n">GObject</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> - -<div class="viewcode-block" id="Icon.get_file"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.get_file">[docs]</a> <span class="k">def</span> <span class="nf">get_file</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_file</span> -</div> -<div class="viewcode-block" id="Icon.set_file"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.set_file">[docs]</a> <span class="k">def</span> <span class="nf">set_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_name</span><span class="p">):</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_file</span> <span class="o">=</span> <span class="n">file_name</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">file_name</span> <span class="o">=</span> <span class="n">file_name</span> -</div> - <span class="nb">file</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_file</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">get_file</span><span class="p">)</span> - - <span class="k">def</span> <span class="nf">_sync_image_properties</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">icon_name</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">icon_name</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">icon_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">icon_name</span> - - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">file_name</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">file</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">file_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">file</span> - - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">pixel_size</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span> - <span class="n">width</span><span class="p">,</span> <span class="n">height</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">icon_size_lookup</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">icon_size</span><span class="p">)</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">width</span> <span class="o">=</span> <span class="n">height</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">pixel_size</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> <span class="o">!=</span> <span class="n">width</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">height</span> <span class="o">!=</span> <span class="n">height</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> <span class="o">=</span> <span class="n">width</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">height</span> <span class="o">=</span> <span class="n">height</span> - - <span class="k">def</span> <span class="nf">_icon_size_changed_cb</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">image</span><span class="p">,</span> <span class="n">pspec</span><span class="p">):</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">icon_size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">icon_size</span> - - <span class="k">def</span> <span class="nf">_icon_name_changed_cb</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">image</span><span class="p">,</span> <span class="n">pspec</span><span class="p">):</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">icon_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">icon_name</span> - - <span class="k">def</span> <span class="nf">_file_changed_cb</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">image</span><span class="p">,</span> <span class="n">pspec</span><span class="p">):</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">file_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">file</span> - -<div class="viewcode-block" id="Icon.do_size_request"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.do_size_request">[docs]</a> <span class="k">def</span> <span class="nf">do_size_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">requisition</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Parameters</span> -<span class="sd"> ----------</span> -<span class="sd"> requisition :</span> - -<span class="sd"> Returns</span> -<span class="sd"> -------</span> -<span class="sd"> None</span> - -<span class="sd"> """</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_sync_image_properties</span><span class="p">()</span> - <span class="n">surface</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">get_surface</span><span class="p">()</span> - <span class="k">if</span> <span class="n">surface</span><span class="p">:</span> - <span class="n">requisition</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">surface</span><span class="o">.</span><span class="n">get_width</span><span class="p">()</span> - <span class="n">requisition</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">surface</span><span class="o">.</span><span class="n">get_height</span><span class="p">()</span> - <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">height</span><span class="p">:</span> - <span class="n">requisition</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> - <span class="n">requisition</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">requisition</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">requisition</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span> -</div> -<div class="viewcode-block" id="Icon.do_expose_event"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.do_expose_event">[docs]</a> <span class="k">def</span> <span class="nf">do_expose_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Parameters</span> -<span class="sd"> ----------</span> -<span class="sd"> event :</span> - -<span class="sd"> Returns:</span> -<span class="sd"> --------</span> -<span class="sd"> None</span> - -<span class="sd"> """</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_sync_image_properties</span><span class="p">()</span> - <span class="n">sensitive</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">state</span> <span class="o">!=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">STATE_INSENSITIVE</span><span class="p">)</span> - <span class="n">surface</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">get_surface</span><span class="p">(</span><span class="n">sensitive</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span> - <span class="k">if</span> <span class="n">surface</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> - <span class="k">return</span> - - <span class="n">xpad</span><span class="p">,</span> <span class="n">ypad</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_padding</span><span class="p">()</span> - <span class="n">xalign</span><span class="p">,</span> <span class="n">yalign</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_alignment</span><span class="p">()</span> - <span class="n">requisition</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_child_requisition</span><span class="p">()</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_direction</span><span class="p">()</span> <span class="o">!=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">TEXT_DIR_LTR</span><span class="p">:</span> - <span class="n">xalign</span> <span class="o">=</span> <span class="mf">1.0</span> <span class="o">-</span> <span class="n">xalign</span> - - <span class="n">allocation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_allocation</span><span class="p">()</span> - <span class="n">x</span> <span class="o">=</span> <span class="n">math</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span><span class="n">allocation</span><span class="o">.</span><span class="n">x</span> <span class="o">+</span> <span class="n">xpad</span> <span class="o">+</span> - <span class="p">(</span><span class="n">allocation</span><span class="o">.</span><span class="n">width</span> <span class="o">-</span> <span class="n">requisition</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">*</span> <span class="n">xalign</span><span class="p">)</span> - <span class="n">y</span> <span class="o">=</span> <span class="n">math</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span><span class="n">allocation</span><span class="o">.</span><span class="n">y</span> <span class="o">+</span> <span class="n">ypad</span> <span class="o">+</span> - <span class="p">(</span><span class="n">allocation</span><span class="o">.</span><span class="n">height</span> <span class="o">-</span> <span class="n">requisition</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">*</span> <span class="n">yalign</span><span class="p">)</span> - - <span class="n">cr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">window</span><span class="o">.</span><span class="n">cairo_create</span><span class="p">()</span> - - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scale</span> <span class="o">!=</span> <span class="mf">1.0</span><span class="p">:</span> - <span class="n">cr</span><span class="o">.</span><span class="n">scale</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_scale</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scale</span><span class="p">)</span> - - <span class="n">margin</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scale</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span> - <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">x</span> <span class="o">+</span> <span class="n">margin</span><span class="p">,</span> <span class="n">y</span> <span class="o">+</span> <span class="n">margin</span> - - <span class="n">x</span> <span class="o">=</span> <span class="n">x</span> <span class="o">/</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scale</span> - <span class="n">y</span> <span class="o">=</span> <span class="n">y</span> <span class="o">/</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scale</span> - - <span class="n">cr</span><span class="o">.</span><span class="n">set_source_surface</span><span class="p">(</span><span class="n">surface</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> - - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_alpha</span> <span class="o">==</span> <span class="mf">1.0</span><span class="p">:</span> - <span class="n">cr</span><span class="o">.</span><span class="n">paint</span><span class="p">()</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">cr</span><span class="o">.</span><span class="n">paint_with_alpha</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_alpha</span><span class="p">)</span> -</div> -<div class="viewcode-block" id="Icon.set_xo_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.set_xo_color">[docs]</a> <span class="k">def</span> <span class="nf">set_xo_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Parameters</span> -<span class="sd"> ----------</span> -<span class="sd"> value :</span> - -<span class="sd"> Returns</span> -<span class="sd"> -------</span> -<span class="sd"> None</span> - -<span class="sd"> """</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">xo_color</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">xo_color</span> <span class="o">=</span> <span class="n">value</span> - <span class="bp">self</span><span class="o">.</span><span class="n">queue_draw</span><span class="p">()</span> -</div> - <span class="n">xo_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span> - <span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_xo_color</span><span class="p">)</span> - -<div class="viewcode-block" id="Icon.set_fill_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.set_fill_color">[docs]</a> <span class="k">def</span> <span class="nf">set_fill_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Parameters</span> -<span class="sd"> ----------</span> -<span class="sd"> value :</span> - -<span class="sd"> Returns</span> -<span class="sd"> -------</span> -<span class="sd"> None</span> - -<span class="sd"> """</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">fill_color</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">fill_color</span> <span class="o">=</span> <span class="n">value</span> - <span class="bp">self</span><span class="o">.</span><span class="n">queue_draw</span><span class="p">()</span> -</div> -<div class="viewcode-block" id="Icon.get_fill_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.get_fill_color">[docs]</a> <span class="k">def</span> <span class="nf">get_fill_color</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Parameters</span> -<span class="sd"> ----------</span> -<span class="sd"> None</span> - -<span class="sd"> Returns</span> -<span class="sd"> -------</span> -<span class="sd"> fill_color :</span> - -<span class="sd"> """</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">fill_color</span> -</div> - <span class="n">fill_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span> - <span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">get_fill_color</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_fill_color</span><span class="p">)</span> - -<div class="viewcode-block" id="Icon.set_stroke_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.set_stroke_color">[docs]</a> <span class="k">def</span> <span class="nf">set_stroke_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Parameters</span> -<span class="sd"> ----------</span> -<span class="sd"> value :</span> - -<span class="sd"> Returns</span> -<span class="sd"> -------</span> -<span class="sd"> None</span> - -<span class="sd"> """</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">stroke_color</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">stroke_color</span> <span class="o">=</span> <span class="n">value</span> - <span class="bp">self</span><span class="o">.</span><span class="n">queue_draw</span><span class="p">()</span> -</div> -<div class="viewcode-block" id="Icon.get_stroke_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.get_stroke_color">[docs]</a> <span class="k">def</span> <span class="nf">get_stroke_color</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Parameters</span> -<span class="sd"> ----------</span> -<span class="sd"> None</span> - -<span class="sd"> Returns</span> -<span class="sd"> -------</span> -<span class="sd"> stroke_color :</span> - -<span class="sd"> """</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">stroke_color</span> -</div> - <span class="n">stroke_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span> - <span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">get_stroke_color</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_stroke_color</span><span class="p">)</span> - -<div class="viewcode-block" id="Icon.set_badge_name"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.set_badge_name">[docs]</a> <span class="k">def</span> <span class="nf">set_badge_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="sd">"""</span> -<span class="sd"> Parameters</span> -<span class="sd"> ----------</span> -<span class="sd"> value:</span> - -<span class="sd"> Returns</span> -<span class="sd"> -------</span> -<span class="sd"> None</span> - -<span class="sd"> """</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">badge_name</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">badge_name</span> <span class="o">=</span> <span class="n">value</span> - <span class="bp">self</span><span class="o">.</span><span class="n">queue_resize</span><span class="p">()</span> -</div> -<div class="viewcode-block" id="Icon.get_badge_name"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.get_badge_name">[docs]</a> <span class="k">def</span> <span class="nf">get_badge_name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">badge_name</span> -</div> - <span class="n">badge_name</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span> - <span class="nb">type</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span> <span class="n">getter</span><span class="o">=</span><span class="n">get_badge_name</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_badge_name</span><span class="p">)</span> - -<div class="viewcode-block" id="Icon.set_alpha"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.set_alpha">[docs]</a> <span class="k">def</span> <span class="nf">set_alpha</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_alpha</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_alpha</span> <span class="o">=</span> <span class="n">value</span> - <span class="bp">self</span><span class="o">.</span><span class="n">queue_draw</span><span class="p">()</span> -</div> - <span class="n">alpha</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span> - <span class="nb">type</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_alpha</span><span class="p">)</span> - -<div class="viewcode-block" id="Icon.set_scale"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.Icon.set_scale">[docs]</a> <span class="k">def</span> <span class="nf">set_scale</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_scale</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_scale</span> <span class="o">=</span> <span class="n">value</span> - <span class="bp">self</span><span class="o">.</span><span class="n">queue_draw</span><span class="p">()</span> -</div> - <span class="n">scale</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span> - <span class="nb">type</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_scale</span><span class="p">)</span> - -</div> -<div class="viewcode-block" id="CellRendererIcon"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon">[docs]</a><span class="k">class</span> <span class="nc">CellRendererIcon</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">GenericCellRenderer</span><span class="p">):</span> - - <span class="n">__gtype_name__</span> <span class="o">=</span> <span class="s">'SugarCellRendererIcon'</span> - - <span class="n">__gsignals__</span> <span class="o">=</span> <span class="p">{</span> - <span class="s">'clicked'</span><span class="p">:</span> <span class="p">(</span><span class="n">gobject</span><span class="o">.</span><span class="n">SIGNAL_RUN_FIRST</span><span class="p">,</span> <span class="n">gobject</span><span class="o">.</span><span class="n">TYPE_NONE</span><span class="p">,</span> <span class="p">[</span><span class="nb">object</span><span class="p">]),</span> - <span class="p">}</span> - - <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">tree_view</span><span class="p">):</span> - - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span> <span class="o">=</span> <span class="n">_IconBuffer</span><span class="p">()</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">cache</span> <span class="o">=</span> <span class="bp">True</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_xo_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_fill_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_stroke_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_prelit_fill_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_prelit_stroke_color</span> <span class="o">=</span> <span class="bp">None</span> - - <span class="n">gobject</span><span class="o">.</span><span class="n">GObject</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.set_file_name"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_file_name">[docs]</a> <span class="k">def</span> <span class="nf">set_file_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">file_name</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">file_name</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">file_name</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_file_name</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.set_icon_name"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_icon_name">[docs]</a> <span class="k">def</span> <span class="nf">set_icon_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">icon_name</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">icon_name</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">icon_name</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_icon_name</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.get_xo_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.get_xo_color">[docs]</a> <span class="k">def</span> <span class="nf">get_xo_color</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_xo_color</span> -</div> -<div class="viewcode-block" id="CellRendererIcon.set_xo_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_xo_color">[docs]</a> <span class="k">def</span> <span class="nf">set_xo_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_xo_color</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">xo_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> - <span class="n">getter</span><span class="o">=</span><span class="n">get_xo_color</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_xo_color</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.set_fill_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_fill_color">[docs]</a> <span class="k">def</span> <span class="nf">set_fill_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fill_color</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_fill_color</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">fill_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_fill_color</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.set_stroke_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_stroke_color">[docs]</a> <span class="k">def</span> <span class="nf">set_stroke_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_stroke_color</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_stroke_color</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">stroke_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_stroke_color</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.set_prelit_fill_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_prelit_fill_color">[docs]</a> <span class="k">def</span> <span class="nf">set_prelit_fill_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prelit_fill_color</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_prelit_fill_color</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">prelit_fill_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> - <span class="n">setter</span><span class="o">=</span><span class="n">set_prelit_fill_color</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.set_prelit_stroke_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_prelit_stroke_color">[docs]</a> <span class="k">def</span> <span class="nf">set_prelit_stroke_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prelit_stroke_color</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_prelit_stroke_color</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">prelit_stroke_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> - <span class="n">setter</span><span class="o">=</span><span class="n">set_prelit_stroke_color</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.set_background_color"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_background_color">[docs]</a> <span class="k">def</span> <span class="nf">set_background_color</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">background_color</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">background_color</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">background_color</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> - <span class="n">setter</span><span class="o">=</span><span class="n">set_background_color</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.set_size"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.set_size">[docs]</a> <span class="k">def</span> <span class="nf">set_size</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> <span class="o">!=</span> <span class="n">value</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> <span class="o">=</span> <span class="n">value</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">height</span> <span class="o">=</span> <span class="n">value</span> -</div> - <span class="n">size</span> <span class="o">=</span> <span class="n">gobject</span><span class="o">.</span><span class="n">property</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="nb">object</span><span class="p">,</span> <span class="n">setter</span><span class="o">=</span><span class="n">set_size</span><span class="p">)</span> - -<div class="viewcode-block" id="CellRendererIcon.on_get_size"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.on_get_size">[docs]</a> <span class="k">def</span> <span class="nf">on_get_size</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">,</span> <span class="n">cell_area</span><span class="p">):</span> - <span class="n">width</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">width</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">xpad</span> <span class="o">*</span> <span class="mi">2</span> - <span class="n">height</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">height</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">ypad</span> <span class="o">*</span> <span class="mi">2</span> - <span class="n">xoffset</span> <span class="o">=</span> <span class="mi">0</span> - <span class="n">yoffset</span> <span class="o">=</span> <span class="mi">0</span> - - <span class="k">if</span> <span class="n">width</span> <span class="o">></span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">height</span> <span class="o">></span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">cell_area</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> - - <span class="k">if</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_direction</span><span class="p">()</span> <span class="o">==</span> <span class="n">gtk</span><span class="o">.</span><span class="n">TEXT_DIR_RTL</span><span class="p">:</span> - <span class="n">xoffset</span> <span class="o">=</span> <span class="mf">1.0</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">xalign</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">xoffset</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">xalign</span> - - <span class="n">xoffset</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">xoffset</span> <span class="o">*</span> <span class="p">(</span><span class="n">cell_area</span><span class="o">.</span><span class="n">width</span> <span class="o">-</span> <span class="n">width</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span> - <span class="n">yoffset</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">props</span><span class="o">.</span><span class="n">yalign</span> <span class="o">*</span> <span class="p">(</span><span class="n">cell_area</span><span class="o">.</span><span class="n">height</span> <span class="o">-</span> <span class="n">height</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span> - - <span class="k">return</span> <span class="n">xoffset</span><span class="p">,</span> <span class="n">yoffset</span><span class="p">,</span> <span class="n">width</span><span class="p">,</span> <span class="n">height</span> -</div> -<div class="viewcode-block" id="CellRendererIcon.on_activate"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.on_activate">[docs]</a> <span class="k">def</span> <span class="nf">on_activate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">,</span> <span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">background_area</span><span class="p">,</span> <span class="n">cell_area</span><span class="p">,</span> - <span class="n">flags</span><span class="p">):</span> - <span class="k">pass</span> -</div> -<div class="viewcode-block" id="CellRendererIcon.on_start_editing"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.on_start_editing">[docs]</a> <span class="k">def</span> <span class="nf">on_start_editing</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">,</span> <span class="n">widget</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">background_area</span><span class="p">,</span> <span class="n">cell_area</span><span class="p">,</span> - <span class="n">flags</span><span class="p">):</span> - <span class="k">pass</span> -</div> - <span class="k">def</span> <span class="nf">_is_prelit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">tree_view</span><span class="p">):</span> - <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">tree_view</span><span class="o">.</span><span class="n">get_pointer</span><span class="p">()</span> - <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">tree_view</span><span class="o">.</span><span class="n">convert_widget_to_bin_window_coords</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> - <span class="n">pos</span> <span class="o">=</span> <span class="n">tree_view</span><span class="o">.</span><span class="n">get_path_at_pos</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> - <span class="k">if</span> <span class="n">pos</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> - <span class="k">return</span> <span class="bp">False</span> - - <span class="n">path_</span><span class="p">,</span> <span class="n">column</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">pos</span> - - <span class="k">for</span> <span class="n">cell_renderer</span> <span class="ow">in</span> <span class="n">column</span><span class="o">.</span><span class="n">get_cell_renderers</span><span class="p">():</span> - <span class="k">if</span> <span class="n">cell_renderer</span> <span class="o">==</span> <span class="bp">self</span><span class="p">:</span> - <span class="n">cell_x</span><span class="p">,</span> <span class="n">cell_width</span> <span class="o">=</span> <span class="n">column</span><span class="o">.</span><span class="n">cell_get_position</span><span class="p">(</span><span class="n">cell_renderer</span><span class="p">)</span> - <span class="k">if</span> <span class="n">x</span> <span class="o">></span> <span class="n">cell_x</span> <span class="ow">and</span> <span class="n">x</span> <span class="o"><</span> <span class="p">(</span><span class="n">cell_x</span> <span class="o">+</span> <span class="n">cell_width</span><span class="p">):</span> - <span class="k">return</span> <span class="bp">True</span> - <span class="k">return</span> <span class="bp">False</span> - - <span class="k">return</span> <span class="bp">False</span> - -<div class="viewcode-block" id="CellRendererIcon.on_render"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.CellRendererIcon.on_render">[docs]</a> <span class="k">def</span> <span class="nf">on_render</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">window</span><span class="p">,</span> <span class="n">widget</span><span class="p">,</span> <span class="n">background_area</span><span class="p">,</span> <span class="n">cell_area</span><span class="p">,</span> - <span class="n">expose_area</span><span class="p">,</span> <span class="n">flags</span><span class="p">):</span> - <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_xo_color</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> - <span class="n">stroke_color</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_xo_color</span><span class="o">.</span><span class="n">get_stroke_color</span><span class="p">()</span> - <span class="n">fill_color</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_xo_color</span><span class="o">.</span><span class="n">get_fill_color</span><span class="p">()</span> - <span class="n">prelit_fill_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="n">prelit_stroke_color</span> <span class="o">=</span> <span class="bp">None</span> - <span class="k">else</span><span class="p">:</span> - <span class="n">stroke_color</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_stroke_color</span> - <span class="n">fill_color</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fill_color</span> - <span class="n">prelit_fill_color</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prelit_fill_color</span> - <span class="n">prelit_stroke_color</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prelit_stroke_color</span> - - <span class="n">has_prelit_colors</span> <span class="o">=</span> <span class="bp">None</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="n">prelit_fill_color</span><span class="p">,</span> - <span class="n">prelit_stroke_color</span><span class="p">]</span> - - <span class="k">if</span> <span class="n">flags</span> <span class="o">&</span> <span class="n">gtk</span><span class="o">.</span><span class="n">CELL_RENDERER_PRELIT</span> <span class="ow">and</span> <span class="n">has_prelit_colors</span> <span class="ow">and</span> \ - <span class="bp">self</span><span class="o">.</span><span class="n">_is_prelit</span><span class="p">(</span><span class="n">widget</span><span class="p">):</span> - - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">fill_color</span> <span class="o">=</span> <span class="n">prelit_fill_color</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">stroke_color</span> <span class="o">=</span> <span class="n">prelit_stroke_color</span> - <span class="k">else</span><span class="p">:</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">fill_color</span> <span class="o">=</span> <span class="n">fill_color</span> - <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">stroke_color</span> <span class="o">=</span> <span class="n">stroke_color</span> - - <span class="n">surface</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_buffer</span><span class="o">.</span><span class="n">get_surface</span><span class="p">()</span> - <span class="k">if</span> <span class="n">surface</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> - <span class="k">return</span> - - <span class="n">xoffset</span><span class="p">,</span> <span class="n">yoffset</span><span class="p">,</span> <span class="n">width_</span><span class="p">,</span> <span class="n">height_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_get_size</span><span class="p">(</span><span class="n">widget</span><span class="p">,</span> <span class="n">cell_area</span><span class="p">)</span> - - <span class="n">x</span> <span class="o">=</span> <span class="n">cell_area</span><span class="o">.</span><span class="n">x</span> <span class="o">+</span> <span class="n">xoffset</span> - <span class="n">y</span> <span class="o">=</span> <span class="n">cell_area</span><span class="o">.</span><span class="n">y</span> <span class="o">+</span> <span class="n">yoffset</span> - - <span class="n">cr</span> <span class="o">=</span> <span class="n">window</span><span class="o">.</span><span class="n">cairo_create</span><span class="p">()</span> - <span class="n">cr</span><span class="o">.</span><span class="n">set_source_surface</span><span class="p">(</span><span class="n">surface</span><span class="p">,</span> <span class="n">math</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">math</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span><span class="n">y</span><span class="p">))</span> - <span class="n">cr</span><span class="o">.</span><span class="n">rectangle</span><span class="p">(</span><span class="n">expose_area</span><span class="p">)</span> - <span class="n">cr</span><span class="o">.</span><span class="n">paint</span><span class="p">()</span> - -</div></div> -<div class="viewcode-block" id="get_icon_state"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.get_icon_state">[docs]</a><span class="k">def</span> <span class="nf">get_icon_state</span><span class="p">(</span><span class="n">base_name</span><span class="p">,</span> <span class="n">perc</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">5</span><span class="p">):</span> - <span class="n">strength</span> <span class="o">=</span> <span class="nb">round</span><span class="p">(</span><span class="n">perc</span> <span class="o">/</span> <span class="n">step</span><span class="p">)</span> <span class="o">*</span> <span class="n">step</span> - <span class="n">icon_theme</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">icon_theme_get_default</span><span class="p">()</span> - - <span class="k">while</span> <span class="n">strength</span> <span class="o"><=</span> <span class="mi">100</span> <span class="ow">and</span> <span class="n">strength</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">:</span> - <span class="n">icon_name</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s">-</span><span class="si">%03d</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">base_name</span><span class="p">,</span> <span class="n">strength</span><span class="p">)</span> - <span class="k">if</span> <span class="n">icon_theme</span><span class="o">.</span><span class="n">has_icon</span><span class="p">(</span><span class="n">icon_name</span><span class="p">):</span> - <span class="k">return</span> <span class="n">icon_name</span> - - <span class="n">strength</span> <span class="o">=</span> <span class="n">strength</span> <span class="o">+</span> <span class="n">step</span> - -</div> -<div class="viewcode-block" id="get_icon_file_name"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.get_icon_file_name">[docs]</a><span class="k">def</span> <span class="nf">get_icon_file_name</span><span class="p">(</span><span class="n">icon_name</span><span class="p">):</span> - <span class="n">icon_theme</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">icon_theme_get_default</span><span class="p">()</span> - <span class="n">info</span> <span class="o">=</span> <span class="n">icon_theme</span><span class="o">.</span><span class="n">lookup_icon</span><span class="p">(</span><span class="n">icon_name</span><span class="p">,</span> <span class="n">gtk</span><span class="o">.</span><span class="n">ICON_SIZE_LARGE_TOOLBAR</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> - <span class="k">if</span> <span class="ow">not</span> <span class="n">info</span><span class="p">:</span> - <span class="k">return</span> <span class="bp">None</span> - <span class="n">filename</span> <span class="o">=</span> <span class="n">info</span><span class="o">.</span><span class="n">get_filename</span><span class="p">()</span> - <span class="k">del</span> <span class="n">info</span> - <span class="k">return</span> <span class="n">filename</span> - -</div> -<div class="viewcode-block" id="get_surface"><a class="viewcode-back" href="../../sweetener.html#desktop.icon.get_surface">[docs]</a><span class="k">def</span> <span class="nf">get_surface</span><span class="p">(</span><span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> - <span class="sd">"""Get cached cairo surface.</span> - -<span class="sd"> Keyword arguments:</span> -<span class="sd"> icon_name -- name of icon to load, default None</span> -<span class="sd"> file_name -- path to image file, default None</span> -<span class="sd"> fill_color -- for svg images, change default fill color</span> -<span class="sd"> default None</span> -<span class="sd"> stroke_color -- for svg images, change default stroke color</span> -<span class="sd"> default None</span> -<span class="sd"> background_color -- draw background or surface will be transparent</span> -<span class="sd"> default None</span> -<span class="sd"> badge_name -- name of icon which will be drawn on top of</span> -<span class="sd"> original image, default None</span> -<span class="sd"> width -- change image width, default None</span> -<span class="sd"> height -- change image height, default None</span> -<span class="sd"> cache -- if image is svg, keep svg file content for later</span> -<span class="sd"> scale -- scale image, default 1.0</span> - -<span class="sd"> Return: cairo surface or None if image was not found</span> - -<span class="sd"> """</span> - <span class="n">icon</span> <span class="o">=</span> <span class="n">_IconBuffer</span><span class="p">()</span> - <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> - <span class="n">icon</span><span class="o">.</span><span class="n">__setattr__</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span> - <span class="k">return</span> <span class="n">icon</span><span class="o">.</span><span class="n">get_surface</span><span class="p">()</span></div> -</pre></div> - - </div> - </div> - </div> - <div class="sphinxsidebar"> - <div class="sphinxsidebarwrapper"> -<div id="searchbox" style="display: none"> - <h3>Quick search</h3> - <form class="search" action="../../search.html" method="get"> - <input type="text" name="q" /> - <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> - </form> - <p class="searchtip" style="font-size: 90%"> - Enter search terms or a module, class or function name. - </p> -</div> -<script type="text/javascript">$('#searchbox').show(0);</script> - </div> - </div> - <div class="clearer"></div> - </div> - <div class="related"> - <h3>Navigation</h3> - <ul> - <li class="right" style="margin-right: 10px"> - <a href="../../genindex.html" title="General Index" - >index</a></li> - <li><a href="../../index.html">Sweetener 0.7 documentation</a> »</li> - <li><a href="../index.html" >Module code</a> »</li> - </ul> - </div> - <div class="footer"> - © Copyright 2012, Daniel Francis. - Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. - </div> - </body> -</html>
\ No newline at end of file |