source: sasview/_modules/sas/guiframe/local_perspectives/plotting/plotting.html @ a462c6a

gh-pages
Last change on this file since a462c6a was a462c6a, checked in by ajj, 9 years ago

Rebuild to fix index and modules docs

  • Property mode set to 100644
File size: 56.1 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4
5<html xmlns="http://www.w3.org/1999/xhtml">
6  <head>
7    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8   
9    <title>sas.guiframe.local_perspectives.plotting.plotting &mdash; SasView 3.0.0 documentation</title>
10   
11    <link rel="stylesheet" href="../../../../../_static/default.css" type="text/css" />
12    <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
13   
14    <script type="text/javascript">
15      var DOCUMENTATION_OPTIONS = {
16        URL_ROOT:    '../../../../../',
17        VERSION:     '3.0.0',
18        COLLAPSE_INDEX: false,
19        FILE_SUFFIX: '.html',
20        HAS_SOURCE:  true
21      };
22    </script>
23    <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
24    <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
25    <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
26    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
27    <link rel="top" title="SasView 3.0.0 documentation" href="../../../../../index.html" />
28    <link rel="up" title="sas.guiframe" href="../../../guiframe.html" /> 
29  </head>
30  <body>
31    <div class="related">
32      <h3>Navigation</h3>
33      <ul>
34        <li class="right" style="margin-right: 10px">
35          <a href="../../../../../genindex.html" title="General Index"
36             accesskey="I">index</a></li>
37        <li class="right" >
38          <a href="../../../../../py-modindex.html" title="Python Module Index"
39             >modules</a> |</li>
40        <li><a href="../../../../../index.html">SasView 3.0.0 documentation</a> &raquo;</li>
41          <li><a href="../../../../index.html" >Module code</a> &raquo;</li>
42          <li><a href="../../../guiframe.html" accesskey="U">sas.guiframe</a> &raquo;</li> 
43      </ul>
44    </div> 
45
46    <div class="document">
47      <div class="documentwrapper">
48        <div class="bodywrapper">
49          <div class="body">
50           
51  <h1>Source code for sas.guiframe.local_perspectives.plotting.plotting</h1><div class="highlight"><pre>
52<span class="c">################################################################################</span>
53<span class="c">#This software was developed by the University of Tennessee as part of the</span>
54<span class="c">#Distributed Data Analysis of Neutron Scattering Experiments (DANSE)</span>
55<span class="c">#project funded by the US National Science Foundation. </span>
56<span class="c">#</span>
57<span class="c">#See the license text in license.txt</span>
58<span class="c">#</span>
59<span class="c">#copyright 2008, University of Tennessee</span>
60<span class="c">################################################################################</span>
61
62<span class="kn">import</span> <span class="nn">wx</span>
63<span class="kn">import</span> <span class="nn">sys</span>
64<span class="kn">from</span> <span class="nn">sas.guiframe.events</span> <span class="kn">import</span> <span class="n">EVT_NEW_PLOT</span>
65<span class="kn">from</span> <span class="nn">sas.guiframe.events</span> <span class="kn">import</span> <span class="n">EVT_PLOT_QRANGE</span>
66<span class="kn">from</span> <span class="nn">sas.guiframe.events</span> <span class="kn">import</span> <span class="n">StatusEvent</span> 
67<span class="kn">from</span> <span class="nn">sas.guiframe.events</span> <span class="kn">import</span> <span class="n">DeletePlotPanelEvent</span>
68<span class="kn">from</span> <span class="nn">sas.guiframe.plugin_base</span> <span class="kn">import</span> <span class="n">PluginBase</span>
69<span class="kn">from</span> <span class="nn">sas.guiframe.dataFitting</span> <span class="kn">import</span> <span class="n">Data1D</span>
70<span class="kn">from</span> <span class="nn">sas.guiframe.dataFitting</span> <span class="kn">import</span> <span class="n">Data2D</span>
71<span class="kn">from</span> <span class="nn">sas.guiframe.gui_manager</span> <span class="kn">import</span> <span class="n">MDIFrame</span>
72<span class="n">DEFAULT_MENU_ITEM_LABEL</span> <span class="o">=</span> <span class="s">&quot;No graph available&quot;</span>
73<span class="n">DEFAULT_MENU_ITEM_ID</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span>
74
75<span class="n">IS_WIN</span> <span class="o">=</span> <span class="bp">True</span>   
76<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">platform</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s">&quot;win32&quot;</span><span class="p">)</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span>
77    <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">__version__</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;.&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
78        <span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">__version__</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;.&#39;</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span> <span class="o">&lt;</span> <span class="mi">9</span><span class="p">:</span>
79            <span class="n">IS_WIN</span> <span class="o">=</span> <span class="bp">False</span>
80
81
82<span class="k">class</span> <span class="nc">Plugin</span><span class="p">(</span><span class="n">PluginBase</span><span class="p">):</span>
83    <span class="sd">&quot;&quot;&quot;</span>
84<span class="sd">    Plug-in class to be instantiated by the GUI manager</span>
85<div class="viewcode-block" id="Plugin"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin">[docs]</a><span class="sd">    &quot;&quot;&quot;</span>
86   
87    <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">standalone</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
88        <span class="n">PluginBase</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="n">name</span><span class="o">=</span><span class="s">&quot;Plotting&quot;</span><span class="p">,</span> <span class="n">standalone</span><span class="o">=</span><span class="n">standalone</span><span class="p">)</span>
89     
90        <span class="c">## Plot panels</span>
91        <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span> <span class="o">=</span> <span class="p">{}</span>
92        <span class="bp">self</span><span class="o">.</span><span class="n">_panel_on_focus</span> <span class="o">=</span> <span class="bp">None</span>
93        <span class="bp">self</span><span class="o">.</span><span class="n">menu_default_id</span> <span class="o">=</span> <span class="bp">None</span>
94        <span class="c"># Plot menu</span>
95        <span class="bp">self</span><span class="o">.</span><span class="n">menu</span> <span class="o">=</span> <span class="bp">None</span>
96
97     
98    <span class="k">def</span> <span class="nf">set_panel_on_focus</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">panel</span><span class="p">):</span>
99        <span class="sd">&quot;&quot;&quot;</span>
100<span class="sd">        &quot;&quot;&quot;</span>
101<div class="viewcode-block" id="Plugin.set_panel_on_focus"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.set_panel_on_focus">[docs]</a>        <span class="bp">self</span><span class="o">.</span><span class="n">_panel_on_focus</span> <span class="o">=</span> <span class="n">panel</span>
102       
103    <span class="k">def</span> <span class="nf">is_always_active</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
104        <span class="sd">&quot;&quot;&quot;</span>
105<span class="sd">        return True is this plugin is always active even if the user is </span></div>
106<div class="viewcode-block" id="Plugin.is_always_active"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.is_always_active">[docs]</a><span class="sd">        switching between perspectives</span>
107<span class="sd">        &quot;&quot;&quot;</span>
108        <span class="k">return</span> <span class="bp">True</span>
109   
110    <span class="k">def</span> <span class="nf">populate_menu</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="p">):</span>
111        <span class="sd">&quot;&quot;&quot;</span>
112<span class="sd">        Create a &#39;Plot&#39; menu to list the panels</span></div>
113<div class="viewcode-block" id="Plugin.populate_menu"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.populate_menu">[docs]</a><span class="sd">        available for displaying</span>
114<span class="sd">        </span>
115<span class="sd">        :param id: next available unique ID for wx events</span>
116<span class="sd">        :param parent: parent window</span>
117<span class="sd">        </span>
118<span class="sd">        &quot;&quot;&quot;</span>
119        <span class="k">return</span> <span class="p">[]</span>
120        <span class="sd">&quot;&quot;&quot;</span>
121<span class="sd">        self.menu = wx.Menu()</span>
122<span class="sd">        self.menu.Append(DEFAULT_MENU_ITEM_ID, DEFAULT_MENU_ITEM_LABEL, </span>
123<span class="sd">                             &quot;No graph available&quot;)</span>
124<span class="sd">        self.menu.FindItemByPosition(0).Enable(False)</span>
125<span class="sd">        return [(self.menu, &quot;Show&quot;)]</span>
126<span class="sd">        &quot;&quot;&quot;</span>
127   
128    <span class="k">def</span> <span class="nf">get_panels</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="p">):</span>
129        <span class="sd">&quot;&quot;&quot;</span>
130<span class="sd">        Create and return a list of panel objects</span></div>
131<div class="viewcode-block" id="Plugin.get_panels"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.get_panels">[docs]</a><span class="sd">        &quot;&quot;&quot;</span>
132        <span class="c">## Save a reference to the parent</span>
133        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">parent</span>
134        <span class="c"># Connect to plotting events</span>
135        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">EVT_NEW_PLOT</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_on_plot_event</span><span class="p">)</span>
136        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">EVT_PLOT_QRANGE</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_on_plot_qrange</span><span class="p">)</span>
137        <span class="c"># We have no initial panels for this plug-in</span>
138        <span class="k">return</span> <span class="p">[]</span>
139   
140    <span class="k">def</span> <span class="nf">_on_plot_qrange</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="o">=</span> <span class="bp">None</span><span class="p">):</span>
141        <span class="sd">&quot;&quot;&quot;</span>
142<span class="sd">        On Qmin Qmax vertical line event</span></div>
143<span class="sd">        &quot;&quot;&quot;</span>
144        <span class="k">if</span> <span class="n">event</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span>
145            <span class="k">return</span>
146        <span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
147            <span class="n">panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">event</span><span class="o">.</span><span class="n">id</span><span class="p">]</span>
148        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">group_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
149            <span class="n">panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">event</span><span class="o">.</span><span class="n">group_id</span><span class="p">]</span>
150        <span class="k">else</span><span class="p">:</span>
151            <span class="k">return</span>
152        <span class="n">panel</span><span class="o">.</span><span class="n">on_plot_qrange</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
153           
154    <span class="k">def</span> <span class="nf">_on_show_panel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
155        <span class="sd">&quot;&quot;&quot;show plug-in panel&quot;&quot;&quot;</span>
156        <span class="k">pass</span>
157   
158    <span class="k">def</span> <span class="nf">remove_plot</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group_id</span><span class="p">,</span> <span class="nb">id</span><span class="p">):</span>
159        <span class="sd">&quot;&quot;&quot;</span>
160<span class="sd">        remove plot of ID = id from a panel of group ID =group_id</span>
161<div class="viewcode-block" id="Plugin.remove_plot"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.remove_plot">[docs]</a><span class="sd">        &quot;&quot;&quot;</span>
162       
163        <span class="k">if</span> <span class="n">group_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
164            <span class="n">panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span>
165            <span class="n">panel</span><span class="o">.</span><span class="n">remove_data_by_id</span><span class="p">(</span><span class="nb">id</span><span class="o">=</span><span class="nb">id</span><span class="p">)</span>
166           
167            <span class="k">return</span> <span class="bp">True</span>
168        <span class="k">return</span> <span class="bp">False</span>
169       
170    <span class="k">def</span> <span class="nf">clear_panel</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
171        <span class="sd">&quot;&quot;&quot;</span>
172<span class="sd">        Clear and Hide all plot panels, and remove them from menu</span></div>
173<div class="viewcode-block" id="Plugin.clear_panel"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.clear_panel">[docs]</a><span class="sd">        &quot;&quot;&quot;</span>
174        <span class="k">for</span> <span class="n">group_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
175            <span class="n">panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span>
176            <span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
177            <span class="bp">self</span><span class="o">.</span><span class="n">hide_panel</span><span class="p">(</span><span class="n">group_id</span><span class="p">)</span>
178        <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span> <span class="o">=</span> <span class="p">{}</span>
179   
180    <span class="k">def</span> <span class="nf">clear_panel_by_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group_id</span><span class="p">):</span>
181        <span class="sd">&quot;&quot;&quot;</span>
182<span class="sd">        clear the graph</span></div>
183<div class="viewcode-block" id="Plugin.clear_panel_by_id"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.clear_panel_by_id">[docs]</a><span class="sd">        &quot;&quot;&quot;</span>
184        <span class="k">if</span> <span class="n">group_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
185            <span class="n">panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span>
186            <span class="k">for</span> <span class="n">plottable</span> <span class="ow">in</span> <span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">plottables</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
187                <span class="bp">self</span><span class="o">.</span><span class="n">remove_plot</span><span class="p">(</span><span class="n">group_id</span><span class="p">,</span> <span class="n">plottable</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
188            <span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">reset</span><span class="p">()</span>
189            <span class="k">return</span> <span class="bp">True</span>
190        <span class="k">return</span> <span class="bp">False</span>
191           
192    <span class="k">def</span> <span class="nf">hide_panel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group_id</span><span class="p">):</span>
193        <span class="sd">&quot;&quot;&quot;</span>
194<span class="sd">        hide panel with group ID = group_id</span></div>
195<div class="viewcode-block" id="Plugin.hide_panel"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.hide_panel">[docs]</a><span class="sd">        &quot;&quot;&quot;</span>
196        <span class="c"># Not implemeted</span>
197        <span class="k">return</span> <span class="bp">False</span>
198   
199    <span class="k">def</span> <span class="nf">create_panel_helper</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">new_panel</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">group_id</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
200        <span class="sd">&quot;&quot;&quot;</span>
201<span class="sd">        &quot;&quot;&quot;</span></div>
202<div class="viewcode-block" id="Plugin.create_panel_helper"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.create_panel_helper">[docs]</a>        <span class="c">## Set group ID if available</span>
203        <span class="c">## Assign data properties to the new create panel</span>
204        <span class="n">new_panel</span><span class="o">.</span><span class="n">set_manager</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
205        <span class="n">new_panel</span><span class="o">.</span><span class="n">group_id</span> <span class="o">=</span> <span class="n">group_id</span>
206        <span class="k">if</span> <span class="n">group_id</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">list_group_id</span><span class="p">:</span>
207            <span class="n">data</span><span class="o">.</span><span class="n">list_group_id</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">group_id</span><span class="p">)</span>
208        <span class="k">if</span> <span class="n">title</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
209            <span class="n">title</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">title</span>
210        <span class="n">new_panel</span><span class="o">.</span><span class="n">window_caption</span> <span class="o">=</span> <span class="n">title</span>
211        <span class="n">new_panel</span><span class="o">.</span><span class="n">window_name</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">title</span>
212        <span class="n">event_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">popup_panel</span><span class="p">(</span><span class="n">new_panel</span><span class="p">)</span>
213
214        <span class="c"># Set UID to allow us to reference the panel later</span>
215        <span class="n">new_panel</span><span class="o">.</span><span class="n">uid</span> <span class="o">=</span> <span class="n">event_id</span>
216        <span class="c"># Ship the plottable to its panel</span>
217        <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">new_panel</span><span class="o">.</span><span class="n">plot_data</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span> 
218        <span class="c">#new_panel.canvas.set_resizing(new_panel.resizing)</span>
219        <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">new_panel</span><span class="o">.</span><span class="n">group_id</span><span class="p">]</span> <span class="o">=</span> <span class="n">new_panel</span>
220       
221        <span class="c"># Set Graph menu and help string        </span>
222        <span class="bp">self</span><span class="o">.</span><span class="n">help_string</span> <span class="o">=</span> <span class="s">&#39; Graph: &#39;</span>
223        <span class="k">for</span> <span class="n">plot</span> <span class="ow">in</span>  <span class="n">new_panel</span><span class="o">.</span><span class="n">plots</span><span class="o">.</span><span class="n">itervalues</span><span class="p">():</span>
224            <span class="n">help_string</span> <span class="o">+=</span> <span class="p">(</span><span class="s">&#39; &#39;</span> <span class="o">+</span> <span class="n">plot</span><span class="o">.</span><span class="n">label</span> <span class="o">+</span> <span class="s">&#39;;&#39;</span><span class="p">)</span>
225        <span class="c">#self.menu.AppendCheckItem(event_id, new_panel.window_caption, </span>
226        <span class="c">#                          helpString)</span>
227        <span class="c">#self.menu.Check(event_id, IS_WIN)</span>
228        <span class="c">#wx.EVT_MENU(self.parent, event_id, self._on_check_menu)</span>
229
230       
231    <span class="k">def</span> <span class="nf">create_1d_panel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">group_id</span><span class="p">):</span>
232        <span class="sd">&quot;&quot;&quot;</span>
233<span class="sd">        &quot;&quot;&quot;</span></div>
234<div class="viewcode-block" id="Plugin.create_1d_panel"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.create_1d_panel">[docs]</a>        <span class="c"># Create a new plot panel if none was available        </span>
235        <span class="k">if</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span> <span class="n">Data1D</span><span class="p">):</span>
236            <span class="kn">from</span> <span class="nn">Plotter1D</span> <span class="kn">import</span> <span class="n">ModelPanel1D</span>
237            <span class="c">## get the data representation label of the data to plot</span>
238            <span class="c">## when even the user select &quot;change scale&quot;</span>
239            <span class="n">xtransform</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">xtransform</span>
240            <span class="n">ytransform</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">ytransform</span>
241            <span class="c">## create a plotpanel for 1D Data</span>
242            <span class="n">win</span> <span class="o">=</span> <span class="n">MDIFrame</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="s">&#39;None&#39;</span><span class="p">,</span> <span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="mi">200</span><span class="p">))</span>
243            <span class="n">new_panel</span> <span class="o">=</span> <span class="n">ModelPanel1D</span><span class="p">(</span><span class="n">win</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">xtransform</span><span class="o">=</span><span class="n">xtransform</span><span class="p">,</span>
244                     <span class="n">ytransform</span><span class="o">=</span><span class="n">ytransform</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">RAISED_BORDER</span><span class="p">)</span>
245            <span class="n">win</span><span class="o">.</span><span class="n">set_panel</span><span class="p">(</span><span class="n">new_panel</span><span class="p">)</span>
246            <span class="n">win</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
247            <span class="n">new_panel</span><span class="o">.</span><span class="n">frame</span> <span class="o">=</span> <span class="n">win</span>
248            <span class="c">#win.Show(True)</span>
249            <span class="k">return</span>  <span class="n">new_panel</span>
250       
251        <span class="n">msg</span> <span class="o">=</span> <span class="s">&quot;1D Panel of group ID </span><span class="si">%s</span><span class="s"> could not be created&quot;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">group_id</span><span class="p">)</span>
252        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">,</span> <span class="n">msg</span>
253   
254    <span class="k">def</span> <span class="nf">create_2d_panel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">group_id</span><span class="p">):</span>
255        <span class="sd">&quot;&quot;&quot;</span>
256<span class="sd">        &quot;&quot;&quot;</span></div>
257<div class="viewcode-block" id="Plugin.create_2d_panel"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.create_2d_panel">[docs]</a>        <span class="k">if</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span> <span class="n">Data2D</span><span class="p">):</span>
258            <span class="c">##Create a new plotpanel for 2D data</span>
259            <span class="kn">from</span> <span class="nn">Plotter2D</span> <span class="kn">import</span> <span class="n">ModelPanel2D</span>
260            <span class="n">scale</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">scale</span>
261            <span class="n">win</span> <span class="o">=</span> <span class="n">MDIFrame</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="s">&#39;None&#39;</span><span class="p">,</span> <span class="p">(</span><span class="mi">200</span><span class="p">,</span> <span class="mi">150</span><span class="p">))</span>
262            <span class="n">win</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
263            <span class="n">new_panel</span> <span class="o">=</span> <span class="n">ModelPanel2D</span><span class="p">(</span><span class="n">win</span><span class="p">,</span> <span class="nb">id</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
264                                <span class="n">data2d</span><span class="o">=</span><span class="n">data</span><span class="p">,</span> <span class="n">scale</span> <span class="o">=</span> <span class="n">scale</span><span class="p">,</span> 
265                                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">RAISED_BORDER</span><span class="p">)</span>
266            <span class="n">win</span><span class="o">.</span><span class="n">set_panel</span><span class="p">(</span><span class="n">new_panel</span><span class="p">)</span>
267            <span class="n">new_panel</span><span class="o">.</span><span class="n">frame</span> <span class="o">=</span> <span class="n">win</span>
268            <span class="c">#win.Show(True)</span>
269            <span class="k">return</span> <span class="n">new_panel</span>
270        <span class="n">msg</span> <span class="o">=</span> <span class="s">&quot;2D Panel of group ID </span><span class="si">%s</span><span class="s"> could not be created&quot;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">group_id</span><span class="p">)</span>
271        <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">,</span> <span class="n">msg</span>
272   
273    <span class="k">def</span> <span class="nf">update_panel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">panel</span><span class="p">):</span>
274        <span class="sd">&quot;&quot;&quot;</span>
275<span class="sd">        update the graph of a given panel</span></div>
276<div class="viewcode-block" id="Plugin.update_panel"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.update_panel">[docs]</a><span class="sd">        &quot;&quot;&quot;</span>
277        <span class="c"># Check whether we already have a graph with the same units</span>
278        <span class="c"># as the plottable we just received. </span>
279        <span class="n">_</span><span class="p">,</span> <span class="n">x_unit</span> <span class="o">=</span>  <span class="n">data</span><span class="o">.</span><span class="n">get_xaxis</span><span class="p">()</span>
280        <span class="n">_</span><span class="p">,</span> <span class="n">y_unit</span> <span class="o">=</span>  <span class="n">data</span><span class="o">.</span><span class="n">get_yaxis</span><span class="p">()</span>
281        <span class="n">flag_x</span> <span class="o">=</span> <span class="p">(</span><span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">prop</span><span class="p">[</span><span class="s">&quot;xunit&quot;</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">)</span> <span class="ow">and</span> \
282                    <span class="p">(</span><span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">prop</span><span class="p">[</span><span class="s">&quot;xunit&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="o">!=</span> <span class="s">&quot;&quot;</span><span class="p">)</span> <span class="ow">and</span>\
283                    <span class="p">(</span><span class="n">x_unit</span> <span class="o">!=</span> <span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">prop</span><span class="p">[</span><span class="s">&quot;xunit&quot;</span><span class="p">])</span> <span class="ow">and</span> <span class="bp">False</span>
284        <span class="n">flag_y</span> <span class="o">=</span> <span class="p">(</span><span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">prop</span><span class="p">[</span><span class="s">&quot;yunit&quot;</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">)</span> <span class="ow">and</span> \
285                    <span class="p">(</span><span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">prop</span><span class="p">[</span><span class="s">&quot;yunit&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="o">!=</span> <span class="s">&quot;&quot;</span><span class="p">)</span> <span class="ow">and</span>\
286                    <span class="p">(</span><span class="n">y_unit</span> <span class="o">!=</span> <span class="n">panel</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">prop</span><span class="p">[</span><span class="s">&quot;yunit&quot;</span><span class="p">])</span> <span class="ow">and</span> <span class="bp">False</span>
287        <span class="k">if</span> <span class="p">(</span><span class="n">flag_x</span> <span class="ow">and</span> <span class="n">flag_y</span><span class="p">):</span>
288            <span class="n">msg</span> <span class="o">=</span> <span class="s">&quot;Cannot add </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
289            <span class="n">msg</span> <span class="o">+=</span> <span class="s">&quot; to panel </span><span class="si">%s</span><span class="se">\n</span><span class="s">&quot;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">panel</span><span class="o">.</span><span class="n">window_caption</span><span class="p">)</span>
290            <span class="n">msg</span> <span class="o">+=</span> <span class="s">&quot;Please edit </span><span class="si">%s</span><span class="s">&#39;s units, labels&quot;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
291            <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">,</span> <span class="n">msg</span>
292        <span class="k">else</span><span class="p">:</span>
293            <span class="k">if</span> <span class="n">panel</span><span class="o">.</span><span class="n">group_id</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">list_group_id</span><span class="p">:</span>
294                <span class="n">data</span><span class="o">.</span><span class="n">list_group_id</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">panel</span><span class="o">.</span><span class="n">group_id</span><span class="p">)</span>
295            <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">panel</span><span class="o">.</span><span class="n">plot_data</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span>
296
297    <span class="k">def</span> <span class="nf">delete_panel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group_id</span><span class="p">):</span>
298        <span class="sd">&quot;&quot;&quot;</span>
299<span class="sd">        &quot;&quot;&quot;</span></div>
300<div class="viewcode-block" id="Plugin.delete_panel"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.delete_panel">[docs]</a>        <span class="k">if</span> <span class="n">group_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
301            <span class="n">panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span>
302            <span class="n">uid</span> <span class="o">=</span> <span class="n">panel</span><span class="o">.</span><span class="n">uid</span>
303            <span class="n">wx</span><span class="o">.</span><span class="n">PostEvent</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span> 
304                         <span class="n">DeletePlotPanelEvent</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">panel</span><span class="o">.</span><span class="n">window_caption</span><span class="p">,</span>
305                                    <span class="n">caption</span><span class="o">=</span><span class="n">panel</span><span class="o">.</span><span class="n">window_caption</span><span class="p">))</span>
306            <span class="c">#remove menu item</span>
307            <span class="c">#self.delete_menu_item(panel.window_caption, panel.uid)</span>
308            <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span>
309            <span class="k">if</span> <span class="n">uid</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
310                <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">uid</span><span class="p">]</span>
311                <span class="n">panel</span><span class="o">.</span><span class="n">frame</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
312            <span class="k">return</span> <span class="bp">True</span>
313
314        <span class="k">return</span> <span class="bp">False</span>
315   
316    <span class="k">def</span> <span class="nf">_on_plot_event</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
317        <span class="sd">&quot;&quot;&quot;</span>
318<span class="sd">        A new plottable is being shipped to the plotting plug-in.</span></div>
319<span class="sd">        Check whether we have a panel to put in on, or create</span>
320<span class="sd">        a new one</span>
321<span class="sd">        </span>
322<span class="sd">        :param event: EVT_NEW_PLOT event</span>
323<span class="sd">        </span>
324<span class="sd">        &quot;&quot;&quot;</span>
325        <span class="n">action_check</span> <span class="o">=</span> <span class="bp">False</span>
326        <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">event</span><span class="p">,</span> <span class="s">&#39;action&#39;</span><span class="p">):</span>
327            <span class="n">action_string</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">action</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
328            <span class="k">if</span> <span class="n">action_string</span> <span class="o">==</span> <span class="s">&#39;check&#39;</span><span class="p">:</span>
329                <span class="n">action_check</span> <span class="o">=</span> <span class="bp">True</span>
330            <span class="k">else</span><span class="p">:</span>
331                <span class="n">group_id</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">group_id</span>
332                <span class="k">if</span> <span class="n">group_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
333                    <span class="c">#remove data from panel</span>
334                    <span class="k">if</span> <span class="n">action_string</span> <span class="o">==</span> <span class="s">&#39;remove&#39;</span><span class="p">:</span>
335                        <span class="nb">id</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">id</span>
336                        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">remove_plot</span><span class="p">(</span><span class="n">group_id</span><span class="p">,</span> <span class="nb">id</span><span class="p">)</span>
337                    <span class="k">if</span> <span class="n">action_string</span> <span class="o">==</span> <span class="s">&#39;hide&#39;</span><span class="p">:</span>
338                        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hide_panel</span><span class="p">(</span><span class="n">group_id</span><span class="p">)</span>
339                    <span class="k">if</span> <span class="n">action_string</span> <span class="o">==</span> <span class="s">&#39;delete&#39;</span><span class="p">:</span>
340                        <span class="n">panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span>
341                        <span class="n">uid</span> <span class="o">=</span> <span class="n">panel</span><span class="o">.</span><span class="n">uid</span>
342                        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">delete_panel</span><span class="p">(</span><span class="n">uid</span><span class="p">)</span>
343                    <span class="k">if</span> <span class="n">action_string</span> <span class="o">==</span> <span class="s">&quot;clear&quot;</span><span class="p">:</span>
344                        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">clear_panel_by_id</span><span class="p">(</span><span class="n">group_id</span><span class="p">)</span>
345                   
346        <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">event</span><span class="p">,</span> <span class="s">&#39;plot&#39;</span><span class="p">):</span>   
347            <span class="k">return</span>
348        <span class="n">title</span> <span class="o">=</span> <span class="bp">None</span>
349        <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">event</span><span class="p">,</span> <span class="s">&#39;title&#39;</span><span class="p">):</span>
350            <span class="n">title</span> <span class="o">=</span> <span class="s">&#39;Graph&#39;</span><span class="c">#event.title      </span>
351        <span class="n">data</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">plot</span>
352        <span class="n">group_id</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">group_id</span>   
353        <span class="k">if</span> <span class="n">group_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
354            <span class="k">if</span> <span class="n">action_check</span><span class="p">:</span>
355                <span class="c"># Check if the plot already exist. if it does, do nothing.</span>
356                <span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span><span class="o">.</span><span class="n">plots</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
357                    <span class="k">return</span> 
358            <span class="c">#update a panel graph </span>
359            <span class="n">panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span>
360            <span class="bp">self</span><span class="o">.</span><span class="n">update_panel</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">panel</span><span class="p">)</span>
361        <span class="k">else</span><span class="p">:</span>
362            <span class="c">#create a new panel</span>
363            <span class="k">if</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span> <span class="n">Data1D</span><span class="p">):</span>
364                <span class="n">new_panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_1d_panel</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">group_id</span><span class="p">)</span>
365            <span class="k">else</span><span class="p">:</span>
366                <span class="c"># Need to make the group_id consistent with 1D thus no if below</span>
367                <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">plot_panels</span><span class="o">.</span><span class="n">values</span><span class="p">())</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
368                    <span class="k">for</span> <span class="n">p_group_id</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
369                        <span class="n">p_plot</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">p_group_id</span><span class="p">]</span>
370                        <span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">id</span> <span class="ow">in</span> <span class="n">p_plot</span><span class="o">.</span><span class="n">plots</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
371                            <span class="n">p_plot</span><span class="o">.</span><span class="n">plots</span><span class="p">[</span><span class="n">data</span><span class="o">.</span><span class="n">id</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span>
372                            <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">group_id</span><span class="p">]</span> <span class="o">=</span> <span class="n">p_plot</span>
373                            <span class="k">if</span> <span class="n">group_id</span> <span class="o">!=</span> <span class="n">p_group_id</span><span class="p">:</span>
374                                <span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">plot_panels</span><span class="p">[</span><span class="n">p_group_id</span><span class="p">]</span>
375                                <span class="k">if</span> <span class="n">p_group_id</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">list_group_id</span><span class="p">:</span>
376                                    <span class="n">data</span><span class="o">.</span><span class="n">list_group_id</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">p_group_id</span><span class="p">)</span>
377                                <span class="k">if</span> <span class="n">group_id</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">list_group_id</span><span class="p">:</span>
378                                    <span class="n">data</span><span class="o">.</span><span class="n">list_group_id</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">group_id</span><span class="p">)</span>
379                            <span class="n">p_plot</span><span class="o">.</span><span class="n">group_id</span> <span class="o">=</span> <span class="n">group_id</span>
380                            <span class="k">return</span>
381               
382                <span class="n">new_panel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_2d_panel</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">group_id</span><span class="p">)</span>
383            <span class="bp">self</span><span class="o">.</span><span class="n">create_panel_helper</span><span class="p">(</span><span class="n">new_panel</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">group_id</span><span class="p">,</span> <span class="n">title</span><span class="p">)</span> 
384        <span class="k">return</span>
385       
386    <span class="k">def</span> <span class="nf">help</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">evt</span><span class="p">):</span>
387        <span class="sd">&quot;&quot;&quot;</span>
388<span class="sd">        Show a general help dialog. </span>
389<div class="viewcode-block" id="Plugin.help"><a class="viewcode-back" href="../../../../../dev/api/sas.guiframe.local_perspectives.plotting.html#sas.guiframe.local_perspectives.plotting.plotting.Plugin.help">[docs]</a><span class="sd">        &quot;&quot;&quot;</span>
390        <span class="kn">from</span> <span class="nn">help_panel</span> <span class="kn">import</span>  <span class="n">HelpWindow</span>
391        <span class="n">frame</span> <span class="o">=</span> <span class="n">HelpWindow</span><span class="p">(</span><span class="bp">None</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> 
392        <span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="s">&quot;IsIconized&quot;</span><span class="p">):</span>
393            <span class="k">if</span> <span class="ow">not</span> <span class="n">frame</span><span class="o">.</span><span class="n">IsIconized</span><span class="p">():</span>
394                <span class="k">try</span><span class="p">:</span>
395                    <span class="n">icon</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">GetIcon</span><span class="p">()</span>
396                    <span class="n">frame</span><span class="o">.</span><span class="n">SetIcon</span><span class="p">(</span><span class="n">icon</span><span class="p">)</span>
397                <span class="k">except</span><span class="p">:</span>
398                    <span class="k">pass</span> 
399        <span class="n">frame</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
400</pre></div></div></div>
401
402          </div>
403        </div>
404      </div>
405      <div class="sphinxsidebar">
406        <div class="sphinxsidebarwrapper">
407<div id="searchbox" style="display: none">
408  <h3>Quick search</h3>
409    <form class="search" action="../../../../../search.html" method="get">
410      <input type="text" name="q" />
411      <input type="submit" value="Go" />
412      <input type="hidden" name="check_keywords" value="yes" />
413      <input type="hidden" name="area" value="default" />
414    </form>
415    <p class="searchtip" style="font-size: 90%">
416    Enter search terms or a module, class or function name.
417    </p>
418</div>
419<script type="text/javascript">$('#searchbox').show(0);</script>
420        </div>
421      </div>
422      <div class="clearer"></div>
423    </div>
424    <div class="related">
425      <h3>Navigation</h3>
426      <ul>
427        <li class="right" style="margin-right: 10px">
428          <a href="../../../../../genindex.html" title="General Index"
429             >index</a></li>
430        <li class="right" >
431          <a href="../../../../../py-modindex.html" title="Python Module Index"
432             >modules</a> |</li>
433        <li><a href="../../../../../index.html">SasView 3.0.0 documentation</a> &raquo;</li>
434          <li><a href="../../../../index.html" >Module code</a> &raquo;</li>
435          <li><a href="../../../guiframe.html" >sas.guiframe</a> &raquo;</li> 
436      </ul>
437    </div>
438    <div class="footer">
439        &copy; Copyright 2013, The SasView Project.
440      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
441    </div>
442  </body>
443</html>
Note: See TracBrowser for help on using the repository browser.