File: dialogs.html

package info (click to toggle)
wxglade 1%3A1.1.1%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,592 kB
  • sloc: python: 30,644; javascript: 740; makefile: 169; cpp: 99; perl: 90; lisp: 62; xml: 61; sh: 3
file content (174 lines) | stat: -rw-r--r-- 10,443 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174

<!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>Dialogs &#8212; wxGlade 1.1.1 documentation</title>
    <link rel="stylesheet" href="_static/classic.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="_static/css/custom.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    './',
        VERSION:     '1.1.1',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Custom Widget" href="custom_widgets.html" />
    <link rel="prev" title="Create and Use Source Code" href="source_code.html" /> 
  </head>
  <body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="custom_widgets.html" title="Custom Widget"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="source_code.html" title="Create and Use Source Code"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">wxGlade 1.1.1 documentation</a> &#187;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="dialogs">
<h1>Dialogs<a class="headerlink" href="#dialogs" title="Permalink to this headline">¶</a></h1>
<p>Most applications consist of a ‘permanent’ main window - typically a frame - and ‘temporary’ dialogs.</p>
<p>See <code class="docutils literal"><span class="pre">wxglade/examples/dialog</span></code> for an example application how to create and use dialogs.
The example opens the dialog on pressing a button or selecting a menu entry.</p>
<table border="1" class="docutils">
<colgroup>
<col width="100%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="first last reference internal image-reference" href="_images/DialogExample.png"><img alt="screenshot from running examples/dialog/dialog.py with the dialog open" src="_images/DialogExample.png" style="width: 200px;" /></a>
</td>
</tr>
</tbody>
</table>
<p>When you add a new dialog <img alt="dialog" src="_images/dialog.png" />, you will be offered to add some default buttons like <span class="guilabel">OK</span> and <span class="guilabel">Cancel</span>:</p>
<table border="1" class="docutils">
<colgroup>
<col width="100%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="first last reference internal image-reference" href="_images/NewDialog.png"><img alt="screenshot for new dialog" src="_images/NewDialog.png" style="height: 200px;" /></a>
</td>
</tr>
</tbody>
</table>
<p>These will be placed in a <span class="guilabel">StdDialogButtonSizer</span> which will arrange the buttons such that the ordering matches
the OS style guide.</p>
<p>Also, the buttons will use <span class="guilabel">StockItems</span> and e.g. <code class="code docutils literal"><span class="pre">button.SetDefault</span></code>,
<code class="code docutils literal"><span class="pre">dialog.SetAffirmativeId</span></code> and <code class="code docutils literal"><span class="pre">dialog.SetEscapeId</span></code> will be called.</p>
<p>These are the generated lines of code that are specific for stock item buttons and using them in a dialog:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">sizer_2</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StdDialogButtonSizer</span><span class="p">()</span>
<span class="o">...</span>
<span class="bp">self</span><span class="o">.</span><span class="n">button_OK</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">button_OK</span><span class="o">.</span><span class="n">SetDefault</span><span class="p">()</span>
<span class="n">sizer_2</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_OK</span><span class="p">)</span>

<span class="bp">self</span><span class="o">.</span><span class="n">button_CANCEL</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">)</span>
<span class="n">sizer_2</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_CANCEL</span><span class="p">)</span>

<span class="n">sizer_2</span><span class="o">.</span><span class="n">Realize</span><span class="p">()</span>
<span class="o">...</span>
<span class="bp">self</span><span class="o">.</span><span class="n">SetAffirmativeId</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_OK</span><span class="o">.</span><span class="n">GetId</span><span class="p">())</span>   <span class="c1"># select this button when Enter is hit</span>
<span class="bp">self</span><span class="o">.</span><span class="n">SetEscapeId</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_CANCEL</span><span class="o">.</span><span class="n">GetId</span><span class="p">())</span>    <span class="c1"># select this button when Escape is hit</span>
</pre></div>
</div>
<p>The dialog is created and used like this:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">MyDialog</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="k">as</span> <span class="n">dlg</span><span class="p">:</span>
    <span class="c1"># fill dialog widgets with values here</span>
    <span class="c1"># show as modal dialog</span>
    <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">:</span>
        <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;User has hit OK&quot;</span><span class="p">)</span>
</pre></div>
</div>
<p>Please note that the dialog in the example file does not have the size property defined.
Therefore the dialog will be created with the minimum size that fits the content.</p>
<dl class="docutils">
<dt>The files can be found in the folder <code class="docutils literal"><span class="pre">wxglade/examples/dialog</span></code>:</dt>
<dd><ul class="first last simple">
<li><a class="reference external" href="../../examples/dialog/dialog.wxg">dialog.wxg</a></li>
<li><a class="reference external" href="../../examples/dialog/dialog.py">dialog.py</a></li>
</ul>
</dd>
</dl>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
            <p class="logo"><a href="index.html">
              <img class="logo" src="_static/wxglade.png" alt="Logo"/>
            </a></p>
  <h4>Previous topic</h4>
  <p class="topless"><a href="source_code.html"
                        title="previous chapter">Create and Use Source Code</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="custom_widgets.html"
                        title="next chapter">Custom Widget</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="_sources/dialogs.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3>Quick search</h3>
    <form class="search" action="search.html" method="get">
      <div><input type="text" name="q" /></div>
      <div><input type="submit" value="Go" /></div>
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="custom_widgets.html" title="Custom Widget"
             >next</a> |</li>
        <li class="right" >
          <a href="source_code.html" title="Create and Use Source Code"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">wxGlade 1.1.1 documentation</a> &#187;</li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
        &#169; Copyright 2017-2025, Dietmar Schwertberger.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.6.4.
    </div>
  </body>
</html>