Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > c93db43b3e0e63e53aa645da566a833a > files > 84

python-urwid-1.0.1-1mdv2010.2.i586.rpm

<html>
<head>
<title>Urwid 1.0.1 Reference</title>
<style type="text/css">
    h1 { text-align: center; }
    h2 { margin: 40px 0 0 0; padding: 10px;  background: #6d96e8;}
    h3 { margin: 0 0 3px 0; padding: 12px 6px 6px 6px; background: #efef96;}
    .l1 { margin: 12px 0 0 0; }
    .l2 { margin-left: 20px; }
</style>
<body>
<a name="top"></a>
<h1>Urwid 1.0.1 Reference</h1>

<div style="text-align: center;">
<a href="http://excess.org/urwid/">Urwid Home Page</a> /
<a href="http://excess.org/urwid/examples.html">Example Screenshots</a> /
<a href="http://excess.org/urwid/utf8examples.html">UTF-8 Screenshots</a> /
<a href="tutorial.html">Tutorial</a> /
Reference
</div>
<br>
<table width="100%"><tr><td width="33%" valign="top"><div class="l1">MainLoop & event loops</div><div class="l2"><a href="#MainLoop">MainLoop</a> </div><div class="l2"><a href="#SelectEventLoop">SelectEventLoop</a> </div><div class="l2"><a href="#GLibEventLoop">GLibEventLoop</a> </div><div class="l2"><a href="#TwistedEventLoop">TwistedEventLoop</a> </div><div class="l1">Widget base class</div><div class="l2"><a href="#Widget">Widget</a> </div><div class="l1">Decorations</div><div class="l2"><a href="#AttrMap">AttrMap</a> [<b>F</b>/<b>B</b>]</div><div class="l2"><a href="#Padding">Padding</a> [<b>F</b>/<b>B</b>]</div><div class="l2"><a href="#Filler">Filler</a> [<b>B</b>]</div><div class="l2"><a href="#Divider">Divider</a> [<b>F</b>]</div><div class="l2"><a href="#LineBox">LineBox</a> [<b>F</b>/<b>B</b>]</div><div class="l2"><a href="#SolidFill">SolidFill</a> [<b>B</b>]</div><div class="l1">Container widgets</div><div class="l2"><a href="#Frame">Frame</a> [<b>B</b>]</div><div class="l2"><a href="#ListBox">ListBox</a> [<b>B</b>]</div><div class="l2"><a href="#Columns">Columns</a> [<b>F</b>/<b>B</b>]</div><div class="l2"><a href="#Pile">Pile</a> [<b>F</b>/<b>B</b>]</div><div class="l2"><a href="#GridFlow">GridFlow</a> [<b>F</b>]</div><div class="l2"><a href="#BoxAdapter">BoxAdapter</a> [<b>F</b>]</div><div class="l2"><a href="#Overlay">Overlay</a> [<b>B</b>]</div><div class="l1">Content widgets</div><div class="l2"><a href="#Text">Text</a> [<b>F</b>]</div><div class="l2"><a href="#Edit">Edit</a> [<b>F</b>]</div><div class="l2"><a href="#IntEdit">IntEdit</a> [<b>F</b>]</div><div class="l2"><a href="#Button">Button</a> [<b>F</b>]</div><div class="l2"><a href="#CheckBox">CheckBox</a> [<b>F</b>]</div><div class="l2"><a href="#RadioButton">RadioButton</a> [<b>F</b>]</div></td><td width="33%" valign="top"><div class="l1">Graphics</div><div class="l2"><a href="#BarGraph">BarGraph</a> [<b>B</b>]</div><div class="l2"><a href="#GraphVScale">GraphVScale</a> [<b>B</b>]</div><div class="l2"><a href="#ProgressBar">ProgressBar</a> [<b>F</b>]</div><div class="l2"><a href="#PopUpLauncher">PopUpLauncher</a> </div><div class="l2"><a href="#PopUpTarget">PopUpTarget</a> [<b>B</b>]</div><div class="l2"><a href="#BigText">BigText</a> [<b>X</b>]</div><div class="l2"><a href="#get_all_fonts">get_all_fonts</a> </div><div class="l1">Build custom widgets</div><div class="l2"><a href="#WidgetWrap">WidgetWrap</a> </div><div class="l2"><a href="#WidgetDecoration">WidgetDecoration</a> </div><div class="l2"><a href="#WidgetPlaceholder">WidgetPlaceholder</a> </div><div class="l1">Abstract widgets & interfaces</div><div class="l2"><a href="#Widget_interface_definition">Widget interface definition</a> </div><div class="l2"><a href="#BoxWidget">BoxWidget</a> </div><div class="l2"><a href="#FlowWidget">FlowWidget</a> </div><div class="l2"><a href="#FixedWidget">FixedWidget</a> </div><div class="l1">ListBox list walkers</div><div class="l2"><a href="#List_Walker_interface_definition">List Walker interface definition</a> </div><div class="l2"><a href="#ListWalker">ListWalker</a> </div><div class="l2"><a href="#SimpleListWalker">SimpleListWalker</a> </div><div class="l2"><a href="#PollingListWalker">PollingListWalker</a> </div><div class="l1">Dynamic tree views</div><div class="l2"><a href="#TreeWidget">TreeWidget</a> </div><div class="l2"><a href="#TreeNode">TreeNode</a> </div><div class="l2"><a href="#ParentNode">ParentNode</a> </div><div class="l2"><a href="#TreeWalker">TreeWalker</a> </div><div class="l2"><a href="#TreeListBox">TreeListBox</a> </div><div class="l1">Experimental</div><div class="l2"><a href="#Terminal">Terminal</a> [<b>B</b>]</div></td><td width="33%" valign="top"><div class="l1">Canvas painting</div><div class="l2"><a href="#Canvas">Canvas</a> </div><div class="l2"><a href="#TextCanvas">TextCanvas</a> </div><div class="l2"><a href="#CompositeCanvas">CompositeCanvas</a> </div><div class="l2"><a href="#BlankCanvas">BlankCanvas</a> </div><div class="l2"><a href="#SolidCanvas">SolidCanvas</a> </div><div class="l2"><a href="#CanvasCombine">CanvasCombine</a> </div><div class="l2"><a href="#CanvasJoin">CanvasJoin</a> </div><div class="l2"><a href="#CanvasOverlay">CanvasOverlay</a> </div><div class="l1">Raw screen attributes</div><div class="l2"><a href="#AttrSpec">AttrSpec</a> </div><div class="l1">Custom formatting rules</div><div class="l2"><a href="#TextLayout">TextLayout</a> </div><div class="l2"><a href="#StandardTextLayout">StandardTextLayout</a> </div><div class="l1">Character encoding</div><div class="l2"><a href="#set_encoding">set_encoding</a> </div><div class="l2"><a href="#get_encoding_mode">get_encoding_mode</a> </div><div class="l2"><a href="#supports_unicode">supports_unicode</a> </div><div class="l1">Signals</div><div class="l2"><a href="#connect_signal">connect_signal</a> </div><div class="l2"><a href="#disconnect_signal">disconnect_signal</a> </div><div class="l2"><a href="#register_signal">register_signal</a> </div><div class="l2"><a href="#emit_signal">emit_signal</a> </div><div class="l1">Display modules</div><div class="l2"><a href="#raw_display.Screen">raw_display.Screen</a> </div><div class="l2"><a href="#curses_display.Screen">curses_display.Screen</a> </div><div class="l2"><a href="#web_display.Screen">web_display.Screen</a> </div><div class="l1">Screen capture</div><div class="l2"><a href="#html_fragment.screenshot_init">html_fragment.screenshot_init</a> </div><div class="l2"><a href="#html_fragment.screenshot_collect">html_fragment.screenshot_collect</a> </div><div class="l2"><a href="#html_fragment.HtmlGenerator">html_fragment.HtmlGenerator</a> </div></td></tr></table>
<br>
[<b>F</b>] = Flow Widget displayed with assigned screen columns and variable screen rows<br>
[<b>B</b>] = Box Widget displayed with assigned screen columns and assigned screen rows<br>
[<b>F</b>/<b>B</b>] = May behave as either Flow Widget or Box Widget<br>
[<b>X</b>] = Fixed Widget has a fixed number of screen columns and rows
<br>
<h2>MainLoop & event loops</h2><a name="MainLoop"></a><h3>function MainLoop <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="MainLoop">class <strong>MainLoop</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="MainLoop-__init__"><strong>__init__</strong></a>(self, widget, palette<font color="#909090">=[]</font>, screen<font color="#909090">=None</font>, handle_mouse<font color="#909090">=True</font>, input_filter<font color="#909090">=None</font>, unhandled_input<font color="#909090">=None</font>, event_loop<font color="#909090">=None</font>, pop_ups<font color="#909090">=False</font>)</dt><dd><tt>Simple&nbsp;main&nbsp;loop&nbsp;implementation.<br>
&nbsp;<br>
widget&nbsp;--&nbsp;topmost&nbsp;widget&nbsp;used&nbsp;for&nbsp;painting&nbsp;the&nbsp;screen,<br>
&nbsp;&nbsp;&nbsp;&nbsp;stored&nbsp;as&nbsp;self.<strong>widget</strong>&nbsp;and&nbsp;may&nbsp;be&nbsp;modified<br>
palette&nbsp;--&nbsp;initial&nbsp;palette&nbsp;for&nbsp;screen<br>
screen&nbsp;--&nbsp;screen&nbsp;object&nbsp;or&nbsp;None&nbsp;to&nbsp;use&nbsp;raw_display.Screen,<br>
&nbsp;&nbsp;&nbsp;&nbsp;stored&nbsp;as&nbsp;self.<strong>screen</strong><br>
handle_mouse&nbsp;--&nbsp;True&nbsp;to&nbsp;process&nbsp;mouse&nbsp;events,&nbsp;passed&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;self.<strong>screen</strong><br>
input_filter&nbsp;--&nbsp;a&nbsp;function&nbsp;to&nbsp;filter&nbsp;input&nbsp;before&nbsp;sending<br>
&nbsp;&nbsp;&nbsp;&nbsp;it&nbsp;to&nbsp;self.<strong>widget</strong>,&nbsp;called&nbsp;from&nbsp;self.<strong>input_filter</strong><br>
unhandled_input&nbsp;--&nbsp;a&nbsp;function&nbsp;called&nbsp;when&nbsp;input&nbsp;is&nbsp;not<br>
&nbsp;&nbsp;&nbsp;&nbsp;handled&nbsp;by&nbsp;self.<strong>widget</strong>,&nbsp;called&nbsp;from&nbsp;self.<strong>unhandled_input</strong><br>
event_loop&nbsp;--&nbsp;if&nbsp;screen&nbsp;supports&nbsp;external&nbsp;an&nbsp;event&nbsp;loop&nbsp;it<br>
&nbsp;&nbsp;&nbsp;&nbsp;may&nbsp;be&nbsp;given&nbsp;here,&nbsp;or&nbsp;leave&nbsp;as&nbsp;None&nbsp;to&nbsp;use<br>
&nbsp;&nbsp;&nbsp;&nbsp;SelectEventLoop,&nbsp;stored&nbsp;as&nbsp;self.<strong>event_loop</strong><br>
pop_ups&nbsp;--&nbsp;True&nbsp;to&nbsp;wrap&nbsp;self.<strong>widget</strong>&nbsp;with&nbsp;a&nbsp;PopUpTarget<br>
&nbsp;&nbsp;&nbsp;&nbsp;instance&nbsp;to&nbsp;allow&nbsp;any&nbsp;widget&nbsp;to&nbsp;open&nbsp;a&nbsp;pop-up&nbsp;anywhere&nbsp;on<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;screen<br>
&nbsp;<br>
This&nbsp;is&nbsp;the&nbsp;standard&nbsp;main&nbsp;loop&nbsp;implementation&nbsp;with&nbsp;a&nbsp;single<br>
screen.<br>
&nbsp;<br>
The&nbsp;widget&nbsp;passed&nbsp;must&nbsp;be&nbsp;a&nbsp;box&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="MainLoop-draw_screen"><strong>draw_screen</strong></a>(self)</dt><dd><tt>Renter&nbsp;the&nbsp;widgets&nbsp;and&nbsp;paint&nbsp;the&nbsp;screen.&nbsp;&nbsp;This&nbsp;function&nbsp;is<br>
called&nbsp;automatically&nbsp;from&nbsp;run()&nbsp;but&nbsp;may&nbsp;be&nbsp;called&nbsp;additional<br>
times&nbsp;if&nbsp;repainting&nbsp;is&nbsp;required&nbsp;without&nbsp;also&nbsp;processing&nbsp;input.</tt></dd></dl>

<dl><dt><a name="MainLoop-entering_idle"><strong>entering_idle</strong></a>(self)</dt><dd><tt>This&nbsp;function&nbsp;is&nbsp;called&nbsp;whenever&nbsp;the&nbsp;event&nbsp;loop&nbsp;is&nbsp;about<br>
to&nbsp;enter&nbsp;the&nbsp;idle&nbsp;state.&nbsp;&nbsp;draw_screen()&nbsp;is&nbsp;called&nbsp;here<br>
to&nbsp;update&nbsp;the&nbsp;screen&nbsp;if&nbsp;anything&nbsp;has&nbsp;changed.</tt></dd></dl>

<dl><dt><a name="MainLoop-input_filter"><strong>input_filter</strong></a>(self, keys, raw)</dt><dd><tt>This&nbsp;function&nbsp;is&nbsp;passed&nbsp;each&nbsp;all&nbsp;the&nbsp;input&nbsp;events&nbsp;and&nbsp;raw<br>
keystroke&nbsp;values.&nbsp;&nbsp;These&nbsp;values&nbsp;are&nbsp;passed&nbsp;to&nbsp;the<br>
input_filter&nbsp;function&nbsp;passed&nbsp;to&nbsp;the&nbsp;constructor.&nbsp;&nbsp;That<br>
function&nbsp;must&nbsp;return&nbsp;a&nbsp;list&nbsp;of&nbsp;keys&nbsp;to&nbsp;be&nbsp;passed&nbsp;to&nbsp;the<br>
widgets&nbsp;to&nbsp;handle.&nbsp;&nbsp;If&nbsp;no&nbsp;input_filter&nbsp;was&nbsp;defined&nbsp;this<br>
implementation&nbsp;will&nbsp;return&nbsp;all&nbsp;the&nbsp;input&nbsp;events.<br>
&nbsp;<br>
input&nbsp;--&nbsp;keyboard&nbsp;or&nbsp;mouse&nbsp;input</tt></dd></dl>

<dl><dt><a name="MainLoop-process_input"><strong>process_input</strong></a>(self, keys)</dt><dd><tt>This&nbsp;function&nbsp;will&nbsp;pass&nbsp;keyboard&nbsp;input&nbsp;and&nbsp;mouse&nbsp;events<br>
to&nbsp;self.<strong>widget</strong>.&nbsp;&nbsp;This&nbsp;function&nbsp;is&nbsp;called&nbsp;automatically<br>
from&nbsp;the&nbsp;run()&nbsp;method&nbsp;when&nbsp;there&nbsp;is&nbsp;input,&nbsp;but&nbsp;may&nbsp;also&nbsp;be<br>
called&nbsp;to&nbsp;simulate&nbsp;input&nbsp;from&nbsp;the&nbsp;user.<br>
&nbsp;<br>
keys&nbsp;--&nbsp;list&nbsp;of&nbsp;input&nbsp;returned&nbsp;from&nbsp;self.<strong>screen</strong>.get_input()<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;any&nbsp;key&nbsp;was&nbsp;handled&nbsp;by&nbsp;a&nbsp;widget&nbsp;or&nbsp;the<br>
unhandled_input()&nbsp;method.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;w&nbsp;=&nbsp;_refl("widget")<br>
&gt;&gt;&gt;&nbsp;w.selectable_rval&nbsp;=&nbsp;True<br>
&gt;&gt;&gt;&nbsp;scr&nbsp;=&nbsp;_refl("screen")<br>
&gt;&gt;&gt;&nbsp;scr.get_cols_rows_rval&nbsp;=&nbsp;(10,&nbsp;5)<br>
&gt;&gt;&gt;&nbsp;ml&nbsp;=&nbsp;MainLoop(w,&nbsp;[],&nbsp;scr)<br>
&gt;&gt;&gt;&nbsp;ml.process_input(['enter',&nbsp;('mouse&nbsp;drag',&nbsp;1,&nbsp;14,&nbsp;20)])<br>
screen.get_cols_rows()<br>
widget.selectable()<br>
widget.keypress((10,&nbsp;5),&nbsp;'enter')<br>
widget.mouse_event((10,&nbsp;5),&nbsp;'mouse&nbsp;drag',&nbsp;1,&nbsp;14,&nbsp;20,&nbsp;focus=True)<br>
True</tt></dd></dl>

<dl><dt><a name="MainLoop-remove_alarm"><strong>remove_alarm</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;alarm.<br>
&nbsp;<br>
Return&nbsp;True&nbsp;if&nbsp;the&nbsp;handle&nbsp;was&nbsp;found,&nbsp;False&nbsp;otherwise.</tt></dd></dl>

<dl><dt><a name="MainLoop-remove_watch_file"><strong>remove_watch_file</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;a&nbsp;watch&nbsp;file.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;watch&nbsp;file&nbsp;exists,&nbsp;False&nbsp;otherwise.</tt></dd></dl>

<dl><dt><a name="MainLoop-remove_watch_pipe"><strong>remove_watch_pipe</strong></a>(self, write_fd)</dt><dd><tt>Close&nbsp;the&nbsp;read&nbsp;end&nbsp;of&nbsp;the&nbsp;pipe&nbsp;and&nbsp;remove&nbsp;the&nbsp;watch&nbsp;created<br>
by&nbsp;watch_pipe().&nbsp;&nbsp;You&nbsp;are&nbsp;responsible&nbsp;for&nbsp;closing&nbsp;the&nbsp;write<br>
end&nbsp;of&nbsp;the&nbsp;pipe.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;watch&nbsp;pipe&nbsp;exists,&nbsp;False&nbsp;otherwise</tt></dd></dl>

<dl><dt><a name="MainLoop-run"><strong>run</strong></a>(self)</dt><dd><tt>Start&nbsp;the&nbsp;main&nbsp;loop&nbsp;handling&nbsp;input&nbsp;events&nbsp;and&nbsp;updating&nbsp;<br>
the&nbsp;screen.&nbsp;&nbsp;The&nbsp;loop&nbsp;will&nbsp;continue&nbsp;until&nbsp;an&nbsp;ExitMainLoop&nbsp;<br>
exception&nbsp;is&nbsp;raised.&nbsp;&nbsp;<br>
&nbsp;<br>
This&nbsp;function&nbsp;will&nbsp;call&nbsp;screen.run_wrapper()&nbsp;if&nbsp;screen.start()&nbsp;<br>
has&nbsp;not&nbsp;already&nbsp;been&nbsp;called.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;w&nbsp;=&nbsp;_refl("widget")&nbsp;&nbsp;&nbsp;#&nbsp;_refl&nbsp;prints&nbsp;out&nbsp;function&nbsp;calls<br>
&gt;&gt;&gt;&nbsp;w.render_rval&nbsp;=&nbsp;"fake&nbsp;canvas"&nbsp;&nbsp;#&nbsp;*_rval&nbsp;is&nbsp;used&nbsp;for&nbsp;return&nbsp;values<br>
&gt;&gt;&gt;&nbsp;scr&nbsp;=&nbsp;_refl("screen")<br>
&gt;&gt;&gt;&nbsp;scr.get_input_descriptors_rval&nbsp;=&nbsp;[42]<br>
&gt;&gt;&gt;&nbsp;scr.get_cols_rows_rval&nbsp;=&nbsp;(20,&nbsp;10)<br>
&gt;&gt;&gt;&nbsp;scr.started&nbsp;=&nbsp;True<br>
&gt;&gt;&gt;&nbsp;scr._urwid_signals&nbsp;=&nbsp;{}<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;_refl("event_loop")<br>
&gt;&gt;&gt;&nbsp;evl.enter_idle_rval&nbsp;=&nbsp;1<br>
&gt;&gt;&gt;&nbsp;evl.watch_file_rval&nbsp;=&nbsp;2<br>
&gt;&gt;&gt;&nbsp;ml&nbsp;=&nbsp;MainLoop(w,&nbsp;[],&nbsp;scr,&nbsp;event_loop=evl)<br>
&gt;&gt;&gt;&nbsp;ml.run()&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;doctest:+ELLIPSIS<br>
screen.set_mouse_tracking()<br>
screen.get_cols_rows()<br>
widget.render((20,&nbsp;10),&nbsp;focus=True)<br>
screen.draw_screen((20,&nbsp;10),&nbsp;'fake&nbsp;canvas')<br>
screen.get_input_descriptors()<br>
event_loop.watch_file(42,&nbsp;&lt;bound&nbsp;method&nbsp;...&gt;)<br>
event_loop.enter_idle(&lt;bound&nbsp;method&nbsp;...&gt;)<br>
event_loop.run()<br>
event_loop.remove_enter_idle(1)<br>
event_loop.remove_watch_file(2)<br>
&gt;&gt;&gt;&nbsp;scr.started&nbsp;=&nbsp;False<br>
&gt;&gt;&gt;&nbsp;ml.run()&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;doctest:+ELLIPSIS<br>
screen.run_wrapper(&lt;bound&nbsp;method&nbsp;...&gt;)</tt></dd></dl>

<dl><dt><a name="MainLoop-set_alarm_at"><strong>set_alarm_at</strong></a>(self, tm, callback, user_data<font color="#909090">=None</font>)</dt><dd><tt>Schedule&nbsp;at&nbsp;tm&nbsp;time&nbsp;that&nbsp;will&nbsp;call&nbsp;<br>
callback(main_loop,&nbsp;user_data)&nbsp;from&nbsp;the&nbsp;within&nbsp;the&nbsp;run()<br>
function.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_alarm()<br>
&nbsp;<br>
tm&nbsp;--&nbsp;floating&nbsp;point&nbsp;local&nbsp;time&nbsp;of&nbsp;alarm<br>
callback&nbsp;--&nbsp;callback(main_loop,&nbsp;user_data)&nbsp;callback&nbsp;function<br>
user_data&nbsp;--&nbsp;object&nbsp;to&nbsp;pass&nbsp;to&nbsp;callback</tt></dd></dl>

<dl><dt><a name="MainLoop-set_alarm_in"><strong>set_alarm_in</strong></a>(self, sec, callback, user_data<font color="#909090">=None</font>)</dt><dd><tt>Schedule&nbsp;an&nbsp;alarm&nbsp;in&nbsp;sec&nbsp;seconds&nbsp;that&nbsp;will&nbsp;call<br>
callback(main_loop,&nbsp;user_data)&nbsp;from&nbsp;the&nbsp;within&nbsp;the&nbsp;run()<br>
function.<br>
&nbsp;<br>
sec&nbsp;--&nbsp;floating&nbsp;point&nbsp;seconds&nbsp;until&nbsp;alarm<br>
callback&nbsp;--&nbsp;callback(main_loop,&nbsp;user_data)&nbsp;callback&nbsp;function<br>
user_data&nbsp;--&nbsp;object&nbsp;to&nbsp;pass&nbsp;to&nbsp;callback</tt></dd></dl>

<dl><dt><a name="MainLoop-unhandled_input"><strong>unhandled_input</strong></a>(self, input)</dt><dd><tt>This&nbsp;function&nbsp;is&nbsp;called&nbsp;with&nbsp;any&nbsp;input&nbsp;that&nbsp;was&nbsp;not&nbsp;handled<br>
by&nbsp;the&nbsp;widgets,&nbsp;and&nbsp;calls&nbsp;the&nbsp;unhandled_input&nbsp;function&nbsp;passed<br>
to&nbsp;the&nbsp;constructor.&nbsp;&nbsp;If&nbsp;no&nbsp;unhandled_input&nbsp;was&nbsp;defined&nbsp;then<br>
the&nbsp;input&nbsp;will&nbsp;be&nbsp;ignored.<br>
&nbsp;<br>
input&nbsp;--&nbsp;keyboard&nbsp;or&nbsp;mouse&nbsp;input<br>
&nbsp;<br>
The&nbsp;unhandled_input&nbsp;method&nbsp;should&nbsp;return&nbsp;True&nbsp;if&nbsp;it&nbsp;handled<br>
the&nbsp;input.</tt></dd></dl>

<dl><dt><a name="MainLoop-watch_file"><strong>watch_file</strong></a>(self, fd, callback)</dt><dd><tt>Call&nbsp;callback()&nbsp;when&nbsp;fd&nbsp;has&nbsp;some&nbsp;data&nbsp;to&nbsp;read.&nbsp;&nbsp;No&nbsp;parameters<br>
are&nbsp;passed&nbsp;to&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_watch_file()<br>
&nbsp;<br>
fd&nbsp;--&nbsp;file&nbsp;descriptor&nbsp;to&nbsp;watch&nbsp;for&nbsp;input<br>
callback&nbsp;--&nbsp;function&nbsp;to&nbsp;call&nbsp;when&nbsp;input&nbsp;is&nbsp;available</tt></dd></dl>

<dl><dt><a name="MainLoop-watch_pipe"><strong>watch_pipe</strong></a>(self, callback)</dt><dd><tt>Create&nbsp;a&nbsp;pipe&nbsp;for&nbsp;use&nbsp;by&nbsp;a&nbsp;subprocess&nbsp;or&nbsp;thread&nbsp;to&nbsp;trigger<br>
a&nbsp;callback&nbsp;in&nbsp;the&nbsp;process/thread&nbsp;running&nbsp;the&nbsp;MainLoop.<br>
&nbsp;<br>
callback&nbsp;--&nbsp;function&nbsp;to&nbsp;call&nbsp;MainLoop.run&nbsp;thread/process<br>
&nbsp;<br>
This&nbsp;function&nbsp;returns&nbsp;a&nbsp;file&nbsp;descriptor&nbsp;attached&nbsp;to&nbsp;the<br>
write&nbsp;end&nbsp;of&nbsp;a&nbsp;pipe.&nbsp;&nbsp;The&nbsp;read&nbsp;end&nbsp;of&nbsp;the&nbsp;pipe&nbsp;is&nbsp;added&nbsp;to<br>
the&nbsp;list&nbsp;of&nbsp;files&nbsp;the&nbsp;event&nbsp;loop&nbsp;is&nbsp;watching.&nbsp;When<br>
data&nbsp;is&nbsp;written&nbsp;to&nbsp;the&nbsp;pipe&nbsp;the&nbsp;callback&nbsp;function&nbsp;will&nbsp;be<br>
called&nbsp;and&nbsp;passed&nbsp;a&nbsp;single&nbsp;value&nbsp;containing&nbsp;data&nbsp;read.<br>
&nbsp;<br>
This&nbsp;method&nbsp;should&nbsp;be&nbsp;used&nbsp;any&nbsp;time&nbsp;you&nbsp;want&nbsp;to&nbsp;update<br>
widgets&nbsp;from&nbsp;another&nbsp;thread&nbsp;or&nbsp;subprocess.<br>
&nbsp;<br>
Data&nbsp;may&nbsp;be&nbsp;written&nbsp;to&nbsp;the&nbsp;returned&nbsp;file&nbsp;descriptor&nbsp;with<br>
os.write(fd,&nbsp;data).&nbsp;&nbsp;Ensure&nbsp;that&nbsp;data&nbsp;is&nbsp;less&nbsp;than&nbsp;512<br>
bytes&nbsp;(or&nbsp;4K&nbsp;on&nbsp;Linux)&nbsp;so&nbsp;that&nbsp;the&nbsp;callback&nbsp;will&nbsp;be<br>
triggered&nbsp;just&nbsp;once&nbsp;with&nbsp;the&nbsp;complete&nbsp;value&nbsp;of&nbsp;data<br>
passed&nbsp;in.<br>
&nbsp;<br>
If&nbsp;the&nbsp;callback&nbsp;returns&nbsp;False&nbsp;then&nbsp;the&nbsp;watch&nbsp;will&nbsp;be<br>
removed&nbsp;and&nbsp;the&nbsp;read&nbsp;end&nbsp;of&nbsp;the&nbsp;pipe&nbsp;will&nbsp;be&nbsp;closed.<br>
You&nbsp;are&nbsp;responsible&nbsp;for&nbsp;closing&nbsp;the&nbsp;write&nbsp;end&nbsp;of&nbsp;the&nbsp;pipe.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>pop_ups</strong></dt>
</dl>
<dl><dt><strong>widget</strong></dt>
</dl>
<a name="SelectEventLoop"></a><h3>function SelectEventLoop <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="SelectEventLoop">class <strong>SelectEventLoop</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="SelectEventLoop-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Event&nbsp;loop&nbsp;based&nbsp;on&nbsp;select.select()<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;import&nbsp;os<br>
&gt;&gt;&gt;&nbsp;rd,&nbsp;wr&nbsp;=&nbsp;os.pipe()<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;SelectEventLoop()<br>
&gt;&gt;&gt;&nbsp;def&nbsp;step1():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"writing"<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.write(wr,&nbsp;"hi".encode('ascii'))<br>
&gt;&gt;&gt;&nbsp;def&nbsp;step2():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;os.read(rd,&nbsp;2).decode('ascii')<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise&nbsp;ExitMainLoop<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0,&nbsp;step1)<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(rd,&nbsp;step2)<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
writing<br>
hi</tt></dd></dl>

<dl><dt><a name="SelectEventLoop-alarm"><strong>alarm</strong></a>(self, seconds, callback)</dt><dd><tt>Call&nbsp;callback()&nbsp;given&nbsp;time&nbsp;from&nbsp;from&nbsp;now.&nbsp;&nbsp;No&nbsp;parameters&nbsp;are<br>
passed&nbsp;to&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_alarm()<br>
&nbsp;<br>
seconds&nbsp;--&nbsp;floating&nbsp;point&nbsp;time&nbsp;to&nbsp;wait&nbsp;before&nbsp;calling&nbsp;callback<br>
callback&nbsp;--&nbsp;function&nbsp;to&nbsp;call&nbsp;from&nbsp;event&nbsp;loop</tt></dd></dl>

<dl><dt><a name="SelectEventLoop-enter_idle"><strong>enter_idle</strong></a>(self, callback)</dt><dd><tt>Add&nbsp;a&nbsp;callback&nbsp;for&nbsp;entering&nbsp;idle.&nbsp;&nbsp;<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_idle()</tt></dd></dl>

<dl><dt><a name="SelectEventLoop-remove_alarm"><strong>remove_alarm</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;alarm.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;alarm&nbsp;exists,&nbsp;False&nbsp;otherwise<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;SelectEventLoop()<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(50,&nbsp;lambda:&nbsp;None)<br>
&gt;&gt;&gt;&nbsp;evl.remove_alarm(handle)<br>
True<br>
&gt;&gt;&gt;&nbsp;evl.remove_alarm(handle)<br>
False</tt></dd></dl>

<dl><dt><a name="SelectEventLoop-remove_enter_idle"><strong>remove_enter_idle</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;idle&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;handle&nbsp;was&nbsp;removed.</tt></dd></dl>

<dl><dt><a name="SelectEventLoop-remove_watch_file"><strong>remove_watch_file</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;input&nbsp;file.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;input&nbsp;file&nbsp;exists,&nbsp;False&nbsp;otherwise<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;SelectEventLoop()<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(5,&nbsp;lambda:&nbsp;None)<br>
&gt;&gt;&gt;&nbsp;evl.remove_watch_file(handle)<br>
True<br>
&gt;&gt;&gt;&nbsp;evl.remove_watch_file(handle)<br>
False</tt></dd></dl>

<dl><dt><a name="SelectEventLoop-run"><strong>run</strong></a>(self)</dt><dd><tt>Start&nbsp;the&nbsp;event&nbsp;loop.&nbsp;&nbsp;Exit&nbsp;the&nbsp;loop&nbsp;when&nbsp;any&nbsp;callback&nbsp;raises<br>
an&nbsp;exception.&nbsp;&nbsp;If&nbsp;ExitMainLoop&nbsp;is&nbsp;raised,&nbsp;exit&nbsp;cleanly.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;import&nbsp;os<br>
&gt;&gt;&gt;&nbsp;rd,&nbsp;wr&nbsp;=&nbsp;os.pipe()<br>
&gt;&gt;&gt;&nbsp;os.write(wr,&nbsp;"data".encode('ascii'))&nbsp;#&nbsp;something&nbsp;to&nbsp;read&nbsp;from&nbsp;rd<br>
4<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;SelectEventLoop()<br>
&gt;&gt;&gt;&nbsp;def&nbsp;say_hello():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"hello"<br>
&gt;&gt;&gt;&nbsp;def&nbsp;say_waiting():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"waiting"<br>
&gt;&gt;&gt;&nbsp;def&nbsp;exit_clean():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"clean&nbsp;exit"<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise&nbsp;ExitMainLoop<br>
&gt;&gt;&gt;&nbsp;def&nbsp;exit_error():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1/0<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0.01,&nbsp;exit_clean)<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0.005,&nbsp;say_hello)<br>
&gt;&gt;&gt;&nbsp;evl.enter_idle(say_waiting)<br>
1<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
waiting<br>
hello<br>
waiting<br>
clean&nbsp;exit<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(rd,&nbsp;exit_clean)<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
clean&nbsp;exit<br>
&gt;&gt;&gt;&nbsp;evl.remove_watch_file(handle)<br>
True<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0,&nbsp;exit_error)<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
&nbsp;&nbsp;&nbsp;...<br>
ZeroDivisionError:&nbsp;integer&nbsp;division&nbsp;or&nbsp;modulo&nbsp;by&nbsp;zero<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(rd,&nbsp;exit_error)<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
&nbsp;&nbsp;&nbsp;...<br>
ZeroDivisionError:&nbsp;integer&nbsp;division&nbsp;or&nbsp;modulo&nbsp;by&nbsp;zero</tt></dd></dl>

<dl><dt><a name="SelectEventLoop-watch_file"><strong>watch_file</strong></a>(self, fd, callback)</dt><dd><tt>Call&nbsp;callback()&nbsp;when&nbsp;fd&nbsp;has&nbsp;some&nbsp;data&nbsp;to&nbsp;read.&nbsp;&nbsp;No&nbsp;parameters<br>
are&nbsp;passed&nbsp;to&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_watch_file()<br>
&nbsp;<br>
fd&nbsp;--&nbsp;file&nbsp;descriptor&nbsp;to&nbsp;watch&nbsp;for&nbsp;input<br>
callback&nbsp;--&nbsp;function&nbsp;to&nbsp;call&nbsp;when&nbsp;input&nbsp;is&nbsp;available</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<a name="GLibEventLoop"></a><h3>function GLibEventLoop <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="GLibEventLoop">class <strong>GLibEventLoop</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="GLibEventLoop-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Event&nbsp;loop&nbsp;based&nbsp;on&nbsp;gobject.MainLoop<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;import&nbsp;os<br>
&gt;&gt;&gt;&nbsp;rd,&nbsp;wr&nbsp;=&nbsp;os.pipe()<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;GLibEventLoop()<br>
&gt;&gt;&gt;&nbsp;def&nbsp;step1():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"writing"<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.write(wr,&nbsp;"hi")<br>
&gt;&gt;&gt;&nbsp;def&nbsp;step2():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;os.read(rd,&nbsp;2)<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise&nbsp;ExitMainLoop<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0,&nbsp;step1)<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(rd,&nbsp;step2)<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
writing<br>
hi</tt></dd></dl>

<dl><dt><a name="GLibEventLoop-alarm"><strong>alarm</strong></a>(self, seconds, callback)</dt><dd><tt>Call&nbsp;callback()&nbsp;given&nbsp;time&nbsp;from&nbsp;from&nbsp;now.&nbsp;&nbsp;No&nbsp;parameters&nbsp;are<br>
passed&nbsp;to&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_alarm()<br>
&nbsp;<br>
seconds&nbsp;--&nbsp;floating&nbsp;point&nbsp;time&nbsp;to&nbsp;wait&nbsp;before&nbsp;calling&nbsp;callback<br>
callback&nbsp;--&nbsp;function&nbsp;to&nbsp;call&nbsp;from&nbsp;event&nbsp;loop</tt></dd></dl>

<dl><dt><a name="GLibEventLoop-enter_idle"><strong>enter_idle</strong></a>(self, callback)</dt><dd><tt>Add&nbsp;a&nbsp;callback&nbsp;for&nbsp;entering&nbsp;idle.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_enter_idle()</tt></dd></dl>

<dl><dt><a name="GLibEventLoop-handle_exit"><strong>handle_exit</strong></a>(self, f)</dt><dd><tt>Decorator&nbsp;that&nbsp;cleanly&nbsp;exits&nbsp;the&nbsp;GLibEventLoop&nbsp;if&nbsp;ExitMainLoop&nbsp;is<br>
thrown&nbsp;inside&nbsp;of&nbsp;the&nbsp;wrapped&nbsp;function.&nbsp;&nbsp;Store&nbsp;the&nbsp;exception&nbsp;info&nbsp;if&nbsp;<br>
some&nbsp;other&nbsp;exception&nbsp;occurs,&nbsp;it&nbsp;will&nbsp;be&nbsp;reraised&nbsp;after&nbsp;the&nbsp;loop&nbsp;quits.<br>
f&nbsp;--&nbsp;function&nbsp;to&nbsp;be&nbsp;wrapped</tt></dd></dl>

<dl><dt><a name="GLibEventLoop-remove_alarm"><strong>remove_alarm</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;alarm.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;alarm&nbsp;exists,&nbsp;False&nbsp;otherwise<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;GLibEventLoop()<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(50,&nbsp;lambda:&nbsp;None)<br>
&gt;&gt;&gt;&nbsp;evl.remove_alarm(handle)<br>
True<br>
&gt;&gt;&gt;&nbsp;evl.remove_alarm(handle)<br>
False</tt></dd></dl>

<dl><dt><a name="GLibEventLoop-remove_enter_idle"><strong>remove_enter_idle</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;idle&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;handle&nbsp;was&nbsp;removed.</tt></dd></dl>

<dl><dt><a name="GLibEventLoop-remove_watch_file"><strong>remove_watch_file</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;input&nbsp;file.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;input&nbsp;file&nbsp;exists,&nbsp;False&nbsp;otherwise<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;GLibEventLoop()<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(1,&nbsp;lambda:&nbsp;None)<br>
&gt;&gt;&gt;&nbsp;evl.remove_watch_file(handle)<br>
True<br>
&gt;&gt;&gt;&nbsp;evl.remove_watch_file(handle)<br>
False</tt></dd></dl>

<dl><dt><a name="GLibEventLoop-run"><strong>run</strong></a>(self)</dt><dd><tt>Start&nbsp;the&nbsp;event&nbsp;loop.&nbsp;&nbsp;Exit&nbsp;the&nbsp;loop&nbsp;when&nbsp;any&nbsp;callback&nbsp;raises<br>
an&nbsp;exception.&nbsp;&nbsp;If&nbsp;ExitMainLoop&nbsp;is&nbsp;raised,&nbsp;exit&nbsp;cleanly.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;import&nbsp;os<br>
&gt;&gt;&gt;&nbsp;rd,&nbsp;wr&nbsp;=&nbsp;os.pipe()<br>
&gt;&gt;&gt;&nbsp;os.write(wr,&nbsp;"data")&nbsp;#&nbsp;something&nbsp;to&nbsp;read&nbsp;from&nbsp;rd<br>
4<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;GLibEventLoop()<br>
&gt;&gt;&gt;&nbsp;def&nbsp;say_hello():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"hello"<br>
&gt;&gt;&gt;&nbsp;def&nbsp;say_waiting():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"waiting"<br>
&gt;&gt;&gt;&nbsp;def&nbsp;exit_clean():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"clean&nbsp;exit"<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise&nbsp;ExitMainLoop<br>
&gt;&gt;&gt;&nbsp;def&nbsp;exit_error():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1/0<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0.01,&nbsp;exit_clean)<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0.005,&nbsp;say_hello)<br>
&gt;&gt;&gt;&nbsp;evl.enter_idle(say_waiting)<br>
1<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
waiting<br>
hello<br>
waiting<br>
clean&nbsp;exit<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(rd,&nbsp;exit_clean)<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
clean&nbsp;exit<br>
&gt;&gt;&gt;&nbsp;evl.remove_watch_file(handle)<br>
True<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0,&nbsp;exit_error)<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
&nbsp;&nbsp;&nbsp;...<br>
ZeroDivisionError:&nbsp;integer&nbsp;division&nbsp;or&nbsp;modulo&nbsp;by&nbsp;zero<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(rd,&nbsp;exit_error)<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
&nbsp;&nbsp;&nbsp;...<br>
ZeroDivisionError:&nbsp;integer&nbsp;division&nbsp;or&nbsp;modulo&nbsp;by&nbsp;zero</tt></dd></dl>

<dl><dt><a name="GLibEventLoop-watch_file"><strong>watch_file</strong></a>(self, fd, callback)</dt><dd><tt>Call&nbsp;callback()&nbsp;when&nbsp;fd&nbsp;has&nbsp;some&nbsp;data&nbsp;to&nbsp;read.&nbsp;&nbsp;No&nbsp;parameters<br>
are&nbsp;passed&nbsp;to&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_watch_file()<br>
&nbsp;<br>
fd&nbsp;--&nbsp;file&nbsp;descriptor&nbsp;to&nbsp;watch&nbsp;for&nbsp;input<br>
callback&nbsp;--&nbsp;function&nbsp;to&nbsp;call&nbsp;when&nbsp;input&nbsp;is&nbsp;available</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<a name="TwistedEventLoop"></a><h3>function TwistedEventLoop <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="TwistedEventLoop">class <strong>TwistedEventLoop</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="TwistedEventLoop-__init__"><strong>__init__</strong></a>(self, reactor<font color="#909090">=None</font>, manage_reactor<font color="#909090">=True</font>)</dt><dd><tt>Event&nbsp;loop&nbsp;based&nbsp;on&nbsp;Twisted<br>
&nbsp;<br>
reactor&nbsp;--&nbsp;reactor&nbsp;object&nbsp;to&nbsp;use,&nbsp;if&nbsp;None&nbsp;defaults&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;twisted.internet.reactor<br>
manage_reactor&nbsp;--&nbsp;True&nbsp;if&nbsp;you&nbsp;want&nbsp;this&nbsp;event&nbsp;loop&nbsp;to&nbsp;run<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;stop&nbsp;the&nbsp;reactor<br>
&nbsp;<br>
***&nbsp;WARNING&nbsp;***<br>
Twisted's&nbsp;reactor&nbsp;doesn't&nbsp;like&nbsp;to&nbsp;be&nbsp;stopped&nbsp;and&nbsp;run&nbsp;again.<br>
If&nbsp;you&nbsp;need&nbsp;to&nbsp;stop&nbsp;and&nbsp;run&nbsp;your&nbsp;MainLoop,&nbsp;consider&nbsp;setting<br>
manage_reactor=False&nbsp;and&nbsp;take&nbsp;care&nbsp;of&nbsp;running/stopping<br>
the&nbsp;reactor&nbsp;at&nbsp;the&nbsp;beginning/ending&nbsp;of&nbsp;your&nbsp;program&nbsp;yourself.</tt></dd></dl>

<dl><dt><a name="TwistedEventLoop-alarm"><strong>alarm</strong></a>(self, seconds, callback)</dt><dd><tt>Call&nbsp;callback()&nbsp;given&nbsp;time&nbsp;from&nbsp;from&nbsp;now.&nbsp;&nbsp;No&nbsp;parameters&nbsp;are<br>
passed&nbsp;to&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_alarm()<br>
&nbsp;<br>
seconds&nbsp;--&nbsp;floating&nbsp;point&nbsp;time&nbsp;to&nbsp;wait&nbsp;before&nbsp;calling&nbsp;callback<br>
callback&nbsp;--&nbsp;function&nbsp;to&nbsp;call&nbsp;from&nbsp;event&nbsp;loop</tt></dd></dl>

<dl><dt><a name="TwistedEventLoop-enter_idle"><strong>enter_idle</strong></a>(self, callback)</dt><dd><tt>Add&nbsp;a&nbsp;callback&nbsp;for&nbsp;entering&nbsp;idle.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_enter_idle()</tt></dd></dl>

<dl><dt><a name="TwistedEventLoop-handle_exit"><strong>handle_exit</strong></a>(self, f, enable_idle<font color="#909090">=True</font>)</dt><dd><tt>Decorator&nbsp;that&nbsp;cleanly&nbsp;exits&nbsp;the&nbsp;TwistedEventLoop&nbsp;if&nbsp;ExitMainLoop&nbsp;is<br>
thrown&nbsp;inside&nbsp;of&nbsp;the&nbsp;wrapped&nbsp;function.&nbsp;&nbsp;Store&nbsp;the&nbsp;exception&nbsp;info&nbsp;if<br>
some&nbsp;other&nbsp;exception&nbsp;occurs,&nbsp;it&nbsp;will&nbsp;be&nbsp;reraised&nbsp;after&nbsp;the&nbsp;loop&nbsp;quits.<br>
f&nbsp;--&nbsp;function&nbsp;to&nbsp;be&nbsp;wrapped</tt></dd></dl>

<dl><dt><a name="TwistedEventLoop-remove_alarm"><strong>remove_alarm</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;alarm.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;alarm&nbsp;exists,&nbsp;False&nbsp;otherwise<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;TwistedEventLoop()<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(50,&nbsp;lambda:&nbsp;None)<br>
&gt;&gt;&gt;&nbsp;evl.remove_alarm(handle)<br>
True<br>
&gt;&gt;&gt;&nbsp;evl.remove_alarm(handle)<br>
False</tt></dd></dl>

<dl><dt><a name="TwistedEventLoop-remove_enter_idle"><strong>remove_enter_idle</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;idle&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;handle&nbsp;was&nbsp;removed.</tt></dd></dl>

<dl><dt><a name="TwistedEventLoop-remove_watch_file"><strong>remove_watch_file</strong></a>(self, handle)</dt><dd><tt>Remove&nbsp;an&nbsp;input&nbsp;file.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;the&nbsp;input&nbsp;file&nbsp;exists,&nbsp;False&nbsp;otherwise<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;TwistedEventLoop()<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(1,&nbsp;lambda:&nbsp;None)<br>
&gt;&gt;&gt;&nbsp;evl.remove_watch_file(handle)<br>
True<br>
&gt;&gt;&gt;&nbsp;evl.remove_watch_file(handle)<br>
False</tt></dd></dl>

<dl><dt><a name="TwistedEventLoop-run"><strong>run</strong></a>(self)</dt><dd><tt>Start&nbsp;the&nbsp;event&nbsp;loop.&nbsp;&nbsp;Exit&nbsp;the&nbsp;loop&nbsp;when&nbsp;any&nbsp;callback&nbsp;raises<br>
an&nbsp;exception.&nbsp;&nbsp;If&nbsp;ExitMainLoop&nbsp;is&nbsp;raised,&nbsp;exit&nbsp;cleanly.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;import&nbsp;os<br>
&gt;&gt;&gt;&nbsp;rd,&nbsp;wr&nbsp;=&nbsp;os.pipe()<br>
&gt;&gt;&gt;&nbsp;os.write(wr,&nbsp;"data")&nbsp;#&nbsp;something&nbsp;to&nbsp;read&nbsp;from&nbsp;rd<br>
4<br>
&gt;&gt;&gt;&nbsp;evl&nbsp;=&nbsp;TwistedEventLoop()<br>
&gt;&gt;&gt;&nbsp;def&nbsp;say_hello_data():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"hello&nbsp;data"<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.read(rd,&nbsp;4)<br>
&gt;&gt;&gt;&nbsp;def&nbsp;say_waiting():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"waiting"<br>
&gt;&gt;&gt;&nbsp;def&nbsp;say_hello():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"hello"<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.watch_file(rd,&nbsp;say_hello_data)<br>
&gt;&gt;&gt;&nbsp;def&nbsp;say_being_twisted():<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;"oh&nbsp;I'm&nbsp;messed&nbsp;up"<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise&nbsp;ExitMainLoop<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0.0625,&nbsp;say_being_twisted)<br>
&gt;&gt;&gt;&nbsp;handle&nbsp;=&nbsp;evl.alarm(0.03125,&nbsp;say_hello)<br>
&gt;&gt;&gt;&nbsp;evl.enter_idle(say_waiting)<br>
1<br>
&gt;&gt;&gt;&nbsp;evl.run()<br>
hello&nbsp;data<br>
waiting<br>
hello<br>
waiting<br>
oh&nbsp;I'm&nbsp;messed&nbsp;up</tt></dd></dl>

<dl><dt><a name="TwistedEventLoop-watch_file"><strong>watch_file</strong></a>(self, fd, callback)</dt><dd><tt>Call&nbsp;callback()&nbsp;when&nbsp;fd&nbsp;has&nbsp;some&nbsp;data&nbsp;to&nbsp;read.&nbsp;&nbsp;No&nbsp;parameters<br>
are&nbsp;passed&nbsp;to&nbsp;callback.<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;handle&nbsp;that&nbsp;may&nbsp;be&nbsp;passed&nbsp;to&nbsp;remove_watch_file()<br>
&nbsp;<br>
fd&nbsp;--&nbsp;file&nbsp;descriptor&nbsp;to&nbsp;watch&nbsp;for&nbsp;input<br>
callback&nbsp;--&nbsp;function&nbsp;to&nbsp;call&nbsp;when&nbsp;input&nbsp;is&nbsp;available</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<h2>Widget base class</h2><a name="Widget"></a><h3>function Widget <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Widget">class <strong>Widget</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="Widget-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Widget-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="Widget-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="Widget-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<h2>Decorations</h2><a name="AttrMap"></a><h3>function AttrMap <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="AttrMap">class <strong>AttrMap</strong></a>(DelegateToWidgetMixin, WidgetDecoration) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>AttrMap</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>WidgetDecoration</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="AttrMap-__init__"><strong>__init__</strong></a>(self, w, attr_map, focus_map<font color="#909090">=None</font>)</dt><dd><tt>w&nbsp;--&nbsp;widget&nbsp;to&nbsp;wrap&nbsp;(stored&nbsp;as&nbsp;self.<strong>original_widget</strong>)<br>
attr_map&nbsp;--&nbsp;attribute&nbsp;to&nbsp;apply&nbsp;to&nbsp;w,&nbsp;or&nbsp;dictionary&nbsp;of&nbsp;attribute&nbsp;mappings<br>
focus_map&nbsp;--&nbsp;attribute&nbsp;to&nbsp;apply&nbsp;when&nbsp;in&nbsp;focus&nbsp;or&nbsp;dictionary&nbsp;of<br>
&nbsp;&nbsp;&nbsp;&nbsp;attribute&nbsp;mappings,&nbsp;if&nbsp;None&nbsp;use&nbsp;attr<br>
&nbsp;<br>
This&nbsp;object&nbsp;will&nbsp;pass&nbsp;all&nbsp;function&nbsp;calls&nbsp;and&nbsp;variable&nbsp;references<br>
to&nbsp;the&nbsp;wrapped&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;AttrMap(Divider(u"!"),&nbsp;'bright')<br>
&lt;AttrMap&nbsp;flow&nbsp;widget&nbsp;&lt;Divider&nbsp;flow&nbsp;widget&nbsp;'!'&gt;&nbsp;attr_map={None:&nbsp;'bright'}&gt;<br>
&gt;&gt;&gt;&nbsp;AttrMap(Edit(),&nbsp;'notfocus',&nbsp;'focus')<br>
&lt;AttrMap&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;''&nbsp;edit_pos=0&gt;&nbsp;attr_map={None:&nbsp;'notfocus'}&nbsp;focus_map={None:&nbsp;'focus'}&gt;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(5,)<br>
&gt;&gt;&gt;&nbsp;am&nbsp;=&nbsp;AttrMap(Text(u"hi"),&nbsp;'greeting',&nbsp;'fgreet')<br>
&gt;&gt;&gt;&nbsp;am.render(size,&nbsp;focus=False).content().next()&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[('greeting',&nbsp;None,&nbsp;...'hi&nbsp;&nbsp;&nbsp;')]<br>
&gt;&gt;&gt;&nbsp;am.render(size,&nbsp;focus=True).content().next()<br>
[('fgreet',&nbsp;None,&nbsp;...'hi&nbsp;&nbsp;&nbsp;')]<br>
&gt;&gt;&gt;&nbsp;am2&nbsp;=&nbsp;AttrMap(Text(('word',&nbsp;u"hi")),&nbsp;{'word':'greeting',&nbsp;None:'bg'})<br>
&gt;&gt;&gt;&nbsp;am2<br>
&lt;AttrMap&nbsp;flow&nbsp;widget&nbsp;&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&gt;&nbsp;attr_map={'word':&nbsp;'greeting',&nbsp;None:&nbsp;'bg'}&gt;<br>
&gt;&gt;&gt;&nbsp;am2.render(size).content().next()<br>
[('greeting',&nbsp;None,&nbsp;...'hi'),&nbsp;('bg',&nbsp;None,&nbsp;...'&nbsp;&nbsp;&nbsp;')]</tt></dd></dl>

<dl><dt><a name="AttrMap-get_attr_map"><strong>get_attr_map</strong></a>(self)</dt></dl>

<dl><dt><a name="AttrMap-get_focus_map"><strong>get_focus_map</strong></a>(self)</dt></dl>

<dl><dt><a name="AttrMap-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;wrapped&nbsp;widget&nbsp;and&nbsp;apply&nbsp;attribute.&nbsp;Return&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="AttrMap-set_attr_map"><strong>set_attr_map</strong></a>(self, attr_map)</dt><dd><tt>Set&nbsp;the&nbsp;attribute&nbsp;mapping&nbsp;dictionary&nbsp;{from_attr:&nbsp;to_attr,&nbsp;...}<br>
&nbsp;<br>
Note&nbsp;this&nbsp;function&nbsp;does&nbsp;not&nbsp;accept&nbsp;a&nbsp;single&nbsp;attribute&nbsp;the&nbsp;way&nbsp;the<br>
constructor&nbsp;does.&nbsp;&nbsp;You&nbsp;must&nbsp;specify&nbsp;{None:&nbsp;attribute}&nbsp;instead.<br>
&nbsp;<br>
&gt;&gt;&nbsp;w&nbsp;=&nbsp;AttrMap(Text("hi"),&nbsp;None)<br>
&gt;&gt;&nbsp;w.set_attr({'a':'b'})<br>
&gt;&gt;&nbsp;w<br>
&lt;AttrMap&nbsp;flow&nbsp;widget&nbsp;&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&gt;&nbsp;attr_map={'a':&nbsp;'b'}&gt;</tt></dd></dl>

<dl><dt><a name="AttrMap-set_focus_map"><strong>set_focus_map</strong></a>(self, focus_map)</dt><dd><tt>Set&nbsp;the&nbsp;focus&nbsp;attribute&nbsp;mapping&nbsp;dictionary&nbsp;<br>
{from_attr:&nbsp;to_attr,&nbsp;...}<br>
&nbsp;<br>
If&nbsp;None&nbsp;this&nbsp;widget&nbsp;will&nbsp;use&nbsp;the&nbsp;attr&nbsp;mapping&nbsp;instead&nbsp;(no&nbsp;change&nbsp;<br>
when&nbsp;in&nbsp;focus).<br>
&nbsp;<br>
Note&nbsp;this&nbsp;function&nbsp;does&nbsp;not&nbsp;accept&nbsp;a&nbsp;single&nbsp;attribute&nbsp;the&nbsp;way&nbsp;the<br>
constructor&nbsp;does.&nbsp;&nbsp;You&nbsp;must&nbsp;specify&nbsp;{None:&nbsp;attribute}&nbsp;instead.<br>
&nbsp;<br>
&gt;&gt;&nbsp;w&nbsp;=&nbsp;AttrMap(Text("hi"),&nbsp;{})<br>
&gt;&gt;&nbsp;w.set_focus_map({'a':'b'})<br>
&gt;&gt;&nbsp;w<br>
&lt;AttrMap&nbsp;flow&nbsp;widget&nbsp;&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&gt;&nbsp;attr_map={}&nbsp;focus_map={'a':&nbsp;'b'}&gt;<br>
&gt;&gt;&nbsp;w.set_focus_map(None)<br>
&gt;&gt;&nbsp;w<br>
&lt;AttrMap&nbsp;flow&nbsp;widget&nbsp;&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&gt;&nbsp;attr_map={}&gt;</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>attr_map</strong></dt>
</dl>
<dl><dt><strong>focus_map</strong></dt>
</dl>
<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>keypress</strong></dt>
</dl>
<dl><dt><strong>mouse_event</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<dl><dt><strong>selectable</strong></dt>
</dl>
<dl><dt><strong>sizing</strong></dt>
</dl>
<hr>
Data descriptors inherited from WidgetDecoration:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="AttrMap-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="Padding"></a><h3>function Padding <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Padding">class <strong>Padding</strong></a>(WidgetDecoration) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Padding</dd>
<dd>WidgetDecoration</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Padding-__init__"><strong>__init__</strong></a>(self, w, align<font color="#909090">='left'</font>, width<font color="#909090">='pack'</font>, min_width<font color="#909090">=None</font>, left<font color="#909090">=0</font>, right<font color="#909090">=0</font>)</dt><dd><tt>w&nbsp;--&nbsp;a&nbsp;box,&nbsp;flow&nbsp;or&nbsp;fixed&nbsp;widget&nbsp;to&nbsp;pad&nbsp;on&nbsp;the&nbsp;left&nbsp;and/or&nbsp;right<br>
&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;widget&nbsp;is&nbsp;stored&nbsp;as&nbsp;self.<strong>original_widget</strong><br>
align&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'left',&nbsp;'center',&nbsp;'right'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;0=left&nbsp;100=right)<br>
width&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;fixed&nbsp;number&nbsp;of&nbsp;columns&nbsp;for&nbsp;self.<strong>original_widget</strong>&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;'pack'&nbsp;&nbsp;&nbsp;try&nbsp;to&nbsp;pack&nbsp;self.<strong>original_widget</strong>&nbsp;to&nbsp;its&nbsp;ideal&nbsp;size<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;of&nbsp;total&nbsp;width)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'clip'&nbsp;&nbsp;&nbsp;to&nbsp;enable&nbsp;clipping&nbsp;mode&nbsp;for&nbsp;a&nbsp;fixed&nbsp;widget<br>
min_width&nbsp;--&nbsp;the&nbsp;minimum&nbsp;number&nbsp;of&nbsp;columns&nbsp;for&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;self.<strong>original_widget</strong>&nbsp;or&nbsp;None<br>
left&nbsp;--&nbsp;a&nbsp;fixed&nbsp;number&nbsp;of&nbsp;columns&nbsp;to&nbsp;pad&nbsp;on&nbsp;the&nbsp;left<br>
right&nbsp;--&nbsp;a&nbsp;fixed&nbsp;number&nbsp;of&nbsp;columns&nbsp;to&nbsp;pad&nbsp;on&nbsp;thr&nbsp;right<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
Clipping&nbsp;Mode:&nbsp;(width='clip')<br>
In&nbsp;clipping&nbsp;mode&nbsp;this&nbsp;padding&nbsp;widget&nbsp;will&nbsp;behave&nbsp;as&nbsp;a&nbsp;flow<br>
widget&nbsp;and&nbsp;self.<strong>original_widget</strong>&nbsp;will&nbsp;be&nbsp;treated&nbsp;as&nbsp;a&nbsp;fixed&nbsp;<br>
widget.&nbsp;&nbsp;self.<strong>original_widget</strong>&nbsp;will&nbsp;will&nbsp;be&nbsp;clipped&nbsp;to&nbsp;fit<br>
the&nbsp;available&nbsp;number&nbsp;of&nbsp;columns.&nbsp;&nbsp;For&nbsp;example&nbsp;if&nbsp;align&nbsp;is&nbsp;<br>
'left'&nbsp;then&nbsp;self.<strong>original_widget</strong>&nbsp;may&nbsp;be&nbsp;clipped&nbsp;on&nbsp;the&nbsp;right.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(7,)<br>
&gt;&gt;&gt;&nbsp;Padding(Text(u"Head"),&nbsp;('relative',&nbsp;20)).render(size).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'&nbsp;Head&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;Padding(Divider(u"-"),&nbsp;left=2,&nbsp;right=1).render(size).text<br>
[...'&nbsp;&nbsp;----&nbsp;']<br>
&gt;&gt;&gt;&nbsp;Padding(Divider(u"*"),&nbsp;'center',&nbsp;3).render(size).text<br>
[...'&nbsp;&nbsp;***&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;p=Padding(Text(u"1234"),&nbsp;'left',&nbsp;2,&nbsp;None,&nbsp;1,&nbsp;1)<br>
&gt;&gt;&gt;&nbsp;p<br>
&lt;Padding&nbsp;flow&nbsp;widget&nbsp;&lt;Text&nbsp;flow&nbsp;widget&nbsp;'1234'&gt;&nbsp;left=1&nbsp;right=1&nbsp;width=2&gt;<br>
&gt;&gt;&gt;&nbsp;p.render(size).text&nbsp;&nbsp;&nbsp;#&nbsp;align&nbsp;against&nbsp;left<br>
[...'&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;',&nbsp;...'&nbsp;34&nbsp;&nbsp;&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;p.align&nbsp;=&nbsp;'right'<br>
&gt;&gt;&gt;&nbsp;p.render(size).text&nbsp;&nbsp;&nbsp;#&nbsp;align&nbsp;against&nbsp;right<br>
[...'&nbsp;&nbsp;&nbsp;&nbsp;12&nbsp;',&nbsp;...'&nbsp;&nbsp;&nbsp;&nbsp;34&nbsp;']<br>
&gt;&gt;&gt;&nbsp;Padding(Text(u"hi\nthere"),&nbsp;'right').render(size).text<br>
[...'&nbsp;&nbsp;hi&nbsp;&nbsp;&nbsp;',&nbsp;...'&nbsp;&nbsp;there']</tt></dd></dl>

<dl><dt><a name="Padding-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;(x,y)&nbsp;coordinates&nbsp;of&nbsp;cursor&nbsp;within&nbsp;self.<strong>_original_widget</strong>.</tt></dd></dl>

<dl><dt><a name="Padding-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;preferred&nbsp;column&nbsp;from&nbsp;self.<strong>_original_widget</strong>,&nbsp;or&nbsp;None.</tt></dd></dl>

<dl><dt><a name="Padding-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Pass&nbsp;keypress&nbsp;to&nbsp;self.<strong>_original_widget</strong>.</tt></dd></dl>

<dl><dt><a name="Padding-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, x, y, focus)</dt><dd><tt>Send&nbsp;mouse&nbsp;event&nbsp;if&nbsp;position&nbsp;is&nbsp;within&nbsp;self.<strong>_original_widget</strong>.</tt></dd></dl>

<dl><dt><a name="Padding-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, x, y)</dt><dd><tt>Set&nbsp;the&nbsp;cursor&nbsp;position&nbsp;with&nbsp;(x,y)&nbsp;coordinates&nbsp;of&nbsp;self.<strong>_original_widget</strong>.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;move&nbsp;succeeded,&nbsp;False&nbsp;otherwise.</tt></dd></dl>

<dl><dt><a name="Padding-padding_values"><strong>padding_values</strong></a>(self, size, focus)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;columns&nbsp;to&nbsp;pad&nbsp;on&nbsp;the&nbsp;left&nbsp;and&nbsp;right.<br>
&nbsp;<br>
Override&nbsp;this&nbsp;method&nbsp;to&nbsp;define&nbsp;custom&nbsp;padding&nbsp;behaviour.</tt></dd></dl>

<dl><dt><a name="Padding-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="Padding-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;rows&nbsp;needed&nbsp;for&nbsp;self.<strong>original_widget</strong>.</tt></dd></dl>

<dl><dt><a name="Padding-sizing"><strong>sizing</strong></a>(self)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>align</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;padding&nbsp;alignment&nbsp;setting.</tt></dd>
</dl>
<dl><dt><strong>width</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;padding&nbsp;widthment&nbsp;setting.</tt></dd>
</dl>
<hr>
Methods inherited from WidgetDecoration:<br>
<dl><dt><a name="Padding-selectable"><strong>selectable</strong></a>(self)</dt></dl>

<hr>
Data descriptors inherited from WidgetDecoration:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Padding-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Padding-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="Filler"></a><h3>function Filler <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Filler">class <strong>Filler</strong></a>(WidgetDecoration) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Filler</dd>
<dd>WidgetDecoration</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Filler-__init__"><strong>__init__</strong></a>(self, body, valign<font color="#909090">='middle'</font>, height<font color="#909090">=None</font>, min_height<font color="#909090">=None</font>)</dt><dd><tt>body&nbsp;--&nbsp;a&nbsp;flow&nbsp;widget&nbsp;or&nbsp;box&nbsp;widget&nbsp;to&nbsp;be&nbsp;filled&nbsp;around&nbsp;(stored&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;as&nbsp;self.<strong>original_widget</strong>)<br>
valign&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'top',&nbsp;'middle',&nbsp;'bottom'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;top',&nbsp;rows)<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;bottom',&nbsp;rows)<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;0=top&nbsp;100=bottom)<br>
height&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;if&nbsp;body&nbsp;is&nbsp;a&nbsp;flow&nbsp;widget<br>
&nbsp;&nbsp;&nbsp;&nbsp;number&nbsp;of&nbsp;rows&nbsp;high&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;bottom',&nbsp;rows)&nbsp;&nbsp;Only&nbsp;if&nbsp;valign&nbsp;is&nbsp;'fixed&nbsp;top'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;top',&nbsp;rows)&nbsp;&nbsp;Only&nbsp;if&nbsp;valign&nbsp;is&nbsp;'fixed&nbsp;bottom'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;of&nbsp;total&nbsp;height)<br>
min_height&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;if&nbsp;no&nbsp;minimum&nbsp;or&nbsp;if&nbsp;body&nbsp;is&nbsp;a&nbsp;flow&nbsp;widget<br>
&nbsp;&nbsp;&nbsp;&nbsp;minimum&nbsp;number&nbsp;of&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;height&nbsp;not&nbsp;fixed<br>
&nbsp;<br>
If&nbsp;body&nbsp;is&nbsp;a&nbsp;flow&nbsp;widget&nbsp;then&nbsp;height&nbsp;and&nbsp;min_height&nbsp;must&nbsp;be&nbsp;set<br>
to&nbsp;None.<br>
&nbsp;<br>
Filler&nbsp;widgets&nbsp;will&nbsp;try&nbsp;to&nbsp;satisfy&nbsp;height&nbsp;argument&nbsp;first&nbsp;by<br>
reducing&nbsp;the&nbsp;valign&nbsp;amount&nbsp;when&nbsp;necessary.&nbsp;&nbsp;If&nbsp;height&nbsp;still&nbsp;<br>
cannot&nbsp;be&nbsp;satisfied&nbsp;it&nbsp;will&nbsp;also&nbsp;be&nbsp;reduced.</tt></dd></dl>

<dl><dt><a name="Filler-filler_values"><strong>filler_values</strong></a>(self, size, focus)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;to&nbsp;pad&nbsp;on&nbsp;the&nbsp;top&nbsp;and&nbsp;bottom.<br>
&nbsp;<br>
Override&nbsp;this&nbsp;method&nbsp;to&nbsp;define&nbsp;custom&nbsp;padding&nbsp;behaviour.</tt></dd></dl>

<dl><dt><a name="Filler-get_body"><strong>get_body</strong></a> = _get_original_widget(self)</dt></dl>

<dl><dt><a name="Filler-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>Return&nbsp;cursor&nbsp;coords&nbsp;from&nbsp;self.<strong>original_widget</strong>&nbsp;if&nbsp;any.</tt></dd></dl>

<dl><dt><a name="Filler-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt><dd><tt>Return&nbsp;pref_col&nbsp;from&nbsp;self.<strong>original_widget</strong>&nbsp;if&nbsp;any.</tt></dd></dl>

<dl><dt><a name="Filler-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Pass&nbsp;keypress&nbsp;to&nbsp;self.<strong>original_widget</strong>.</tt></dd></dl>

<dl><dt><a name="Filler-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt><dd><tt>Pass&nbsp;to&nbsp;self.<strong>original_widget</strong>.</tt></dd></dl>

<dl><dt><a name="Filler-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, col, row)</dt><dd><tt>Pass&nbsp;to&nbsp;self.<strong>original_widget</strong>.</tt></dd></dl>

<dl><dt><a name="Filler-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;self.<strong>original_widget</strong>&nbsp;with&nbsp;space&nbsp;above&nbsp;and/or&nbsp;below.</tt></dd></dl>

<dl><dt><a name="Filler-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;selectable&nbsp;from&nbsp;body.</tt></dd></dl>

<dl><dt><a name="Filler-set_body"><strong>set_body</strong></a> = _set_original_widget(self, original_widget)</dt></dl>

<dl><dt><a name="Filler-sizing"><strong>sizing</strong></a>(self)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>body</strong></dt>
</dl>
<hr>
Data descriptors inherited from WidgetDecoration:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Filler-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Filler-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="Divider"></a><h3>function Divider <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Divider">class <strong>Divider</strong></a>(FlowWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Divider</dd>
<dd>FlowWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Divider-__init__"><strong>__init__</strong></a>(self, div_char<font color="#909090">=u' '</font>, top<font color="#909090">=0</font>, bottom<font color="#909090">=0</font>)</dt><dd><tt>Create&nbsp;a&nbsp;horizontal&nbsp;divider&nbsp;widget.<br>
&nbsp;<br>
div_char&nbsp;--&nbsp;character&nbsp;to&nbsp;repeat&nbsp;across&nbsp;line<br>
top&nbsp;--&nbsp;number&nbsp;of&nbsp;blank&nbsp;lines&nbsp;above<br>
bottom&nbsp;--&nbsp;number&nbsp;of&nbsp;blank&nbsp;lines&nbsp;below<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Divider()<br>
&lt;Divider&nbsp;flow&nbsp;widget&gt;<br>
&gt;&gt;&gt;&nbsp;Divider(u'-')<br>
&lt;Divider&nbsp;flow&nbsp;widget&nbsp;'-'&gt;<br>
&gt;&gt;&gt;&nbsp;Divider(u'x',&nbsp;1,&nbsp;2)<br>
&lt;Divider&nbsp;flow&nbsp;widget&nbsp;'x'&nbsp;bottom=2&nbsp;top=1&gt;</tt></dd></dl>

<dl><dt><a name="Divider-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;the&nbsp;divider&nbsp;as&nbsp;a&nbsp;canvas&nbsp;and&nbsp;return&nbsp;it.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Divider().render((10,)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;Divider(u'-',&nbsp;top=1).render((10,)).text<br>
[...'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',&nbsp;...'----------']<br>
&gt;&gt;&gt;&nbsp;Divider(u'x',&nbsp;bottom=2).render((5,)).text<br>
[...'xxxxx',&nbsp;...'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',&nbsp;...'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;']</tt></dd></dl>

<dl><dt><a name="Divider-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;lines&nbsp;that&nbsp;will&nbsp;be&nbsp;rendered.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Divider().rows((10,))<br>
1<br>
&gt;&gt;&gt;&nbsp;Divider(u'x',&nbsp;1,&nbsp;2).rows((10,))<br>
4</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Divider-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Divider-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="Divider-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="Divider-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="LineBox"></a><h3>function LineBox <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="LineBox">class <strong>LineBox</strong></a>(WidgetDecoration, WidgetWrap) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>LineBox</dd>
<dd>WidgetDecoration</dd>
<dd>WidgetWrap</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="LineBox-__init__"><strong>__init__</strong></a>(self, original_widget, title<font color="#909090">=''</font>, tlcorner<font color="#909090">=u'<font color="#c040c0">\u250c</font>'</font>, tline<font color="#909090">=u'<font color="#c040c0">\u2500</font>'</font>, lline<font color="#909090">=u'<font color="#c040c0">\u2502</font>'</font>, trcorner<font color="#909090">=u'<font color="#c040c0">\u2510</font>'</font>, blcorner<font color="#909090">=u'<font color="#c040c0">\u2514</font>'</font>, rline<font color="#909090">=u'<font color="#c040c0">\u2502</font>'</font>, bline<font color="#909090">=u'<font color="#c040c0">\u2500</font>'</font>, brcorner<font color="#909090">=u'<font color="#c040c0">\u2518</font>'</font>)</dt><dd><tt>Draw&nbsp;a&nbsp;line&nbsp;around&nbsp;original_widget.<br>
&nbsp;<br>
Use&nbsp;'title'&nbsp;to&nbsp;set&nbsp;an&nbsp;initial&nbsp;title&nbsp;text&nbsp;with&nbsp;will&nbsp;be&nbsp;centered<br>
on&nbsp;top&nbsp;of&nbsp;the&nbsp;box.<br>
&nbsp;<br>
You&nbsp;can&nbsp;also&nbsp;override&nbsp;the&nbsp;widgets&nbsp;used&nbsp;for&nbsp;the&nbsp;lines/corners:<br>
&nbsp;&nbsp;&nbsp;&nbsp;tline:&nbsp;top&nbsp;line<br>
&nbsp;&nbsp;&nbsp;&nbsp;bline:&nbsp;bottom&nbsp;line<br>
&nbsp;&nbsp;&nbsp;&nbsp;lline:&nbsp;left&nbsp;line<br>
&nbsp;&nbsp;&nbsp;&nbsp;rline:&nbsp;right&nbsp;line<br>
&nbsp;&nbsp;&nbsp;&nbsp;tlcorner:&nbsp;top&nbsp;left&nbsp;corner<br>
&nbsp;&nbsp;&nbsp;&nbsp;trcorner:&nbsp;top&nbsp;right&nbsp;corner<br>
&nbsp;&nbsp;&nbsp;&nbsp;blcorner:&nbsp;bottom&nbsp;left&nbsp;corner<br>
&nbsp;&nbsp;&nbsp;&nbsp;brcorner:&nbsp;bottom&nbsp;right&nbsp;corner</tt></dd></dl>

<dl><dt><a name="LineBox-format_title"><strong>format_title</strong></a>(self, text)</dt></dl>

<dl><dt><a name="LineBox-set_title"><strong>set_title</strong></a>(self, text)</dt></dl>

<hr>
Methods inherited from WidgetDecoration:<br>
<dl><dt><a name="LineBox-selectable"><strong>selectable</strong></a>(self)</dt></dl>

<dl><dt><a name="LineBox-sizing"><strong>sizing</strong></a>(self)</dt></dl>

<hr>
Data descriptors inherited from WidgetDecoration:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</dl>
<hr>
Methods inherited from DelegateToWidgetMixin:<br>
<dl><dt><a name="LineBox-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>keypress</strong></dt>
</dl>
<dl><dt><strong>mouse_event</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="LineBox-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="SolidFill"></a><h3>function SolidFill <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="SolidFill">class <strong>SolidFill</strong></a>(BoxWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>SolidFill</dd>
<dd>BoxWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="SolidFill-__init__"><strong>__init__</strong></a>(self, fill_char<font color="#909090">=' '</font>)</dt><dd><tt>Create&nbsp;a&nbsp;box&nbsp;widget&nbsp;that&nbsp;will&nbsp;fill&nbsp;an&nbsp;area&nbsp;with&nbsp;a&nbsp;single&nbsp;<br>
character.<br>
&nbsp;<br>
fill_char&nbsp;--&nbsp;character&nbsp;to&nbsp;fill&nbsp;area&nbsp;with<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;SolidFill(u'8')<br>
&lt;SolidFill&nbsp;box&nbsp;widget&nbsp;'8'&gt;</tt></dd></dl>

<dl><dt><a name="SolidFill-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;the&nbsp;Fill&nbsp;as&nbsp;a&nbsp;canvas&nbsp;and&nbsp;return&nbsp;it.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;SolidFill().render((4,2)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'&nbsp;&nbsp;&nbsp;&nbsp;',&nbsp;...'&nbsp;&nbsp;&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;SolidFill('#').render((5,3)).text<br>
[...'#####',&nbsp;...'#####',&nbsp;...'#####']</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="SolidFill-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="SolidFill-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="SolidFill-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="SolidFill-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<h2>Container widgets</h2><a name="Frame"></a><h3>function Frame <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Frame">class <strong>Frame</strong></a>(BoxWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Frame</dd>
<dd>BoxWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Frame-__init__"><strong>__init__</strong></a>(self, body, header<font color="#909090">=None</font>, footer<font color="#909090">=None</font>, focus_part<font color="#909090">='body'</font>)</dt><dd><tt>body&nbsp;--&nbsp;a&nbsp;box&nbsp;widget&nbsp;for&nbsp;the&nbsp;body&nbsp;of&nbsp;the&nbsp;frame<br>
header&nbsp;--&nbsp;a&nbsp;flow&nbsp;widget&nbsp;for&nbsp;above&nbsp;the&nbsp;body&nbsp;(or&nbsp;None)<br>
footer&nbsp;--&nbsp;a&nbsp;flow&nbsp;widget&nbsp;for&nbsp;below&nbsp;the&nbsp;body&nbsp;(or&nbsp;None)<br>
focus_part&nbsp;--&nbsp;'header',&nbsp;'footer'&nbsp;or&nbsp;'body'</tt></dd></dl>

<dl><dt><a name="Frame-frame_top_bottom"><strong>frame_top_bottom</strong></a>(self, size, focus)</dt><dd><tt>Calculate&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;for&nbsp;the&nbsp;header&nbsp;and&nbsp;footer.<br>
&nbsp;<br>
Returns&nbsp;(head&nbsp;rows,&nbsp;foot&nbsp;rows),(orig&nbsp;head,&nbsp;orig&nbsp;foot).<br>
orig&nbsp;head/foot&nbsp;are&nbsp;from&nbsp;rows()&nbsp;calls.</tt></dd></dl>

<dl><dt><a name="Frame-get_body"><strong>get_body</strong></a>(self)</dt></dl>

<dl><dt><a name="Frame-get_focus"><strong>get_focus</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;part&nbsp;of&nbsp;the&nbsp;frame&nbsp;that&nbsp;is&nbsp;in&nbsp;focus.<br>
&nbsp;<br>
Will&nbsp;be&nbsp;one&nbsp;of&nbsp;'header',&nbsp;'footer'&nbsp;or&nbsp;'body'.</tt></dd></dl>

<dl><dt><a name="Frame-get_footer"><strong>get_footer</strong></a>(self)</dt></dl>

<dl><dt><a name="Frame-get_header"><strong>get_header</strong></a>(self)</dt></dl>

<dl><dt><a name="Frame-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Pass&nbsp;keypress&nbsp;to&nbsp;widget&nbsp;in&nbsp;focus.</tt></dd></dl>

<dl><dt><a name="Frame-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt><dd><tt>Pass&nbsp;mouse&nbsp;event&nbsp;to&nbsp;appropriate&nbsp;part&nbsp;of&nbsp;frame.<br>
Focus&nbsp;may&nbsp;be&nbsp;changed&nbsp;on&nbsp;button&nbsp;1&nbsp;press.</tt></dd></dl>

<dl><dt><a name="Frame-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;frame&nbsp;and&nbsp;return&nbsp;it.</tt></dd></dl>

<dl><dt><a name="Frame-set_body"><strong>set_body</strong></a>(self, body)</dt></dl>

<dl><dt><a name="Frame-set_focus"><strong>set_focus</strong></a>(self, part)</dt><dd><tt>Set&nbsp;the&nbsp;part&nbsp;of&nbsp;the&nbsp;frame&nbsp;that&nbsp;is&nbsp;in&nbsp;focus.<br>
&nbsp;<br>
part&nbsp;--&nbsp;'header',&nbsp;'footer'&nbsp;or&nbsp;'body'</tt></dd></dl>

<dl><dt><a name="Frame-set_footer"><strong>set_footer</strong></a>(self, footer)</dt></dl>

<dl><dt><a name="Frame-set_header"><strong>set_header</strong></a>(self, header)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>body</strong></dt>
</dl>
<dl><dt><strong>footer</strong></dt>
</dl>
<dl><dt><strong>header</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Frame-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Frame-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="Frame-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="Frame-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="ListBox"></a><h3>function ListBox <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="ListBox">class <strong>ListBox</strong></a>(BoxWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>ListBox</dd>
<dd>BoxWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="ListBox-__init__"><strong>__init__</strong></a>(self, body)</dt><dd><tt>body&nbsp;--&nbsp;a&nbsp;ListWalker-like&nbsp;object&nbsp;that&nbsp;contains<br>
&nbsp;&nbsp;&nbsp;&nbsp;widgets&nbsp;to&nbsp;be&nbsp;displayed&nbsp;inside&nbsp;the&nbsp;list&nbsp;box</tt></dd></dl>

<dl><dt><a name="ListBox-calculate_visible"><strong>calculate_visible</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;(middle,top,bottom)&nbsp;or&nbsp;None,None,None.<br>
&nbsp;<br>
middle&nbsp;--&nbsp;(&nbsp;row&nbsp;offset(when&nbsp;+ve)&nbsp;or&nbsp;inset(when&nbsp;-ve),<br>
&nbsp;&nbsp;&nbsp;&nbsp;focus&nbsp;widget,&nbsp;focus&nbsp;position,&nbsp;focus&nbsp;rows,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;cursor&nbsp;coords&nbsp;or&nbsp;None&nbsp;)<br>
top&nbsp;--&nbsp;(&nbsp;#&nbsp;lines&nbsp;to&nbsp;trim&nbsp;off&nbsp;top,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;of&nbsp;(widget,&nbsp;position,&nbsp;rows)&nbsp;tuples&nbsp;above&nbsp;focus<br>
&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;order&nbsp;from&nbsp;bottom&nbsp;to&nbsp;top&nbsp;)<br>
bottom&nbsp;--&nbsp;(&nbsp;#&nbsp;lines&nbsp;to&nbsp;trim&nbsp;off&nbsp;bottom,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;of&nbsp;(widget,&nbsp;position,&nbsp;rows)&nbsp;tuples&nbsp;below&nbsp;focus<br>
&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;order&nbsp;from&nbsp;top&nbsp;to&nbsp;bottom&nbsp;)</tt></dd></dl>

<dl><dt><a name="ListBox-change_focus"><strong>change_focus</strong></a>(self, size, position, offset_inset<font color="#909090">=0</font>, coming_from<font color="#909090">=None</font>, cursor_coords<font color="#909090">=None</font>, snap_rows<font color="#909090">=None</font>)</dt><dd><tt>Change&nbsp;the&nbsp;current&nbsp;focus&nbsp;widget.<br>
&nbsp;<br>
position&nbsp;--&nbsp;a&nbsp;position&nbsp;compatible&nbsp;with&nbsp;self.<strong>body</strong>.set_focus<br>
offset_inset&nbsp;--&nbsp;either&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;between&nbsp;the&nbsp;<br>
&nbsp;&nbsp;top&nbsp;of&nbsp;the&nbsp;listbox&nbsp;and&nbsp;the&nbsp;start&nbsp;of&nbsp;the&nbsp;focus&nbsp;widget&nbsp;(+ve<br>
&nbsp;&nbsp;value)&nbsp;or&nbsp;the&nbsp;number&nbsp;of&nbsp;lines&nbsp;of&nbsp;the&nbsp;focus&nbsp;widget&nbsp;hidden&nbsp;off&nbsp;<br>
&nbsp;&nbsp;the&nbsp;top&nbsp;edge&nbsp;of&nbsp;the&nbsp;listbox&nbsp;(-ve&nbsp;value)&nbsp;or&nbsp;0&nbsp;if&nbsp;the&nbsp;top&nbsp;edge<br>
&nbsp;&nbsp;of&nbsp;the&nbsp;focus&nbsp;widget&nbsp;is&nbsp;aligned&nbsp;with&nbsp;the&nbsp;top&nbsp;edge&nbsp;of&nbsp;the<br>
&nbsp;&nbsp;listbox&nbsp;(default&nbsp;if&nbsp;unspecified)<br>
coming_from&nbsp;--&nbsp;eiter&nbsp;'above',&nbsp;'below'&nbsp;or&nbsp;unspecified&nbsp;(None)<br>
cursor_coords&nbsp;--&nbsp;(x,&nbsp;y)&nbsp;tuple&nbsp;indicating&nbsp;the&nbsp;desired<br>
&nbsp;&nbsp;column&nbsp;and&nbsp;row&nbsp;for&nbsp;the&nbsp;cursor,&nbsp;a&nbsp;(x,)&nbsp;tuple&nbsp;indicating&nbsp;only<br>
&nbsp;&nbsp;the&nbsp;column&nbsp;for&nbsp;the&nbsp;cursor,&nbsp;or&nbsp;unspecified&nbsp;(None)<br>
snap_rows&nbsp;--&nbsp;the&nbsp;maximum&nbsp;number&nbsp;of&nbsp;extra&nbsp;rows&nbsp;to&nbsp;scroll<br>
&nbsp;&nbsp;when&nbsp;trying&nbsp;to&nbsp;"snap"&nbsp;a&nbsp;selectable&nbsp;focus&nbsp;into&nbsp;the&nbsp;view</tt></dd></dl>

<dl><dt><a name="ListBox-ends_visible"><strong>ends_visible</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;list&nbsp;that&nbsp;may&nbsp;contain&nbsp;'top'&nbsp;and/or&nbsp;'bottom'.<br>
&nbsp;<br>
convenience&nbsp;function&nbsp;for&nbsp;checking&nbsp;whether&nbsp;the&nbsp;top&nbsp;and&nbsp;bottom<br>
of&nbsp;the&nbsp;list&nbsp;are&nbsp;visible</tt></dd></dl>

<dl><dt><a name="ListBox-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt></dl>

<dl><dt><a name="ListBox-get_focus"><strong>get_focus</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;(focus&nbsp;widget,&nbsp;focus&nbsp;position)&nbsp;tuple.</tt></dd></dl>

<dl><dt><a name="ListBox-get_focus_offset_inset"><strong>get_focus_offset_inset</strong></a>(self, size)</dt><dd><tt>Return&nbsp;(offset&nbsp;rows,&nbsp;inset&nbsp;rows)&nbsp;for&nbsp;focus&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="ListBox-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Move&nbsp;selection&nbsp;through&nbsp;the&nbsp;list&nbsp;elements&nbsp;scrolling&nbsp;when&nbsp;<br>
necessary.&nbsp;'up'&nbsp;and&nbsp;'down'&nbsp;are&nbsp;first&nbsp;passed&nbsp;to&nbsp;widget&nbsp;in&nbsp;focus<br>
in&nbsp;case&nbsp;that&nbsp;widget&nbsp;can&nbsp;handle&nbsp;them.&nbsp;'page&nbsp;up'&nbsp;and&nbsp;'page&nbsp;down'<br>
are&nbsp;always&nbsp;handled&nbsp;by&nbsp;the&nbsp;ListBox.<br>
&nbsp;<br>
Keystrokes&nbsp;handled&nbsp;by&nbsp;this&nbsp;widget&nbsp;are:<br>
&nbsp;'up'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;up&nbsp;one&nbsp;line&nbsp;(or&nbsp;widget)<br>
&nbsp;'down'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;down&nbsp;one&nbsp;line&nbsp;(or&nbsp;widget)<br>
&nbsp;'page&nbsp;up'&nbsp;&nbsp;&nbsp;move&nbsp;cursor&nbsp;up&nbsp;one&nbsp;listbox&nbsp;length<br>
&nbsp;'page&nbsp;down'&nbsp;move&nbsp;cursor&nbsp;down&nbsp;one&nbsp;listbox&nbsp;length</tt></dd></dl>

<dl><dt><a name="ListBox-make_cursor_visible"><strong>make_cursor_visible</strong></a>(self, size)</dt><dd><tt>Shift&nbsp;the&nbsp;focus&nbsp;widget&nbsp;so&nbsp;that&nbsp;its&nbsp;cursor&nbsp;is&nbsp;visible.</tt></dd></dl>

<dl><dt><a name="ListBox-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt><dd><tt>Pass&nbsp;the&nbsp;event&nbsp;to&nbsp;the&nbsp;contained&nbsp;widgets.<br>
May&nbsp;change&nbsp;focus&nbsp;on&nbsp;button&nbsp;1&nbsp;press.</tt></dd></dl>

<dl><dt><a name="ListBox-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;listbox&nbsp;and&nbsp;return&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="ListBox-set_focus"><strong>set_focus</strong></a>(self, position, coming_from<font color="#909090">=None</font>)</dt><dd><tt>Set&nbsp;the&nbsp;focus&nbsp;position&nbsp;and&nbsp;try&nbsp;to&nbsp;keep&nbsp;the&nbsp;old&nbsp;focus&nbsp;in&nbsp;view.<br>
&nbsp;<br>
position&nbsp;--&nbsp;a&nbsp;position&nbsp;compatible&nbsp;with&nbsp;self.<strong>body</strong>.set_focus<br>
coming_from&nbsp;--&nbsp;set&nbsp;to&nbsp;'above'&nbsp;or&nbsp;'below'&nbsp;if&nbsp;you&nbsp;know&nbsp;that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;old&nbsp;position&nbsp;is&nbsp;above&nbsp;or&nbsp;below&nbsp;the&nbsp;new&nbsp;position.</tt></dd></dl>

<dl><dt><a name="ListBox-set_focus_valign"><strong>set_focus_valign</strong></a>(self, valign)</dt><dd><tt>Set&nbsp;the&nbsp;focus&nbsp;widget's&nbsp;display&nbsp;offset&nbsp;and&nbsp;inset.<br>
&nbsp;<br>
valign&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'top',&nbsp;'middle',&nbsp;'bottom'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;top',&nbsp;rows)<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;bottom',&nbsp;rows)<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;0=top&nbsp;100=bottom)</tt></dd></dl>

<dl><dt><a name="ListBox-shift_focus"><strong>shift_focus</strong></a>(self, size, offset_inset)</dt><dd><tt>Move&nbsp;the&nbsp;location&nbsp;of&nbsp;the&nbsp;current&nbsp;focus&nbsp;relative&nbsp;to&nbsp;the&nbsp;top.<br>
&nbsp;<br>
offset_inset&nbsp;--&nbsp;either&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;between&nbsp;the&nbsp;<br>
&nbsp;&nbsp;top&nbsp;of&nbsp;the&nbsp;listbox&nbsp;and&nbsp;the&nbsp;start&nbsp;of&nbsp;the&nbsp;focus&nbsp;widget&nbsp;(+ve<br>
&nbsp;&nbsp;value)&nbsp;or&nbsp;the&nbsp;number&nbsp;of&nbsp;lines&nbsp;of&nbsp;the&nbsp;focus&nbsp;widget&nbsp;hidden&nbsp;off&nbsp;<br>
&nbsp;&nbsp;the&nbsp;top&nbsp;edge&nbsp;of&nbsp;the&nbsp;listbox&nbsp;(-ve&nbsp;value)&nbsp;or&nbsp;0&nbsp;if&nbsp;the&nbsp;top&nbsp;edge<br>
&nbsp;&nbsp;of&nbsp;the&nbsp;focus&nbsp;widget&nbsp;is&nbsp;aligned&nbsp;with&nbsp;the&nbsp;top&nbsp;edge&nbsp;of&nbsp;the<br>
&nbsp;&nbsp;listbox</tt></dd></dl>

<dl><dt><a name="ListBox-update_pref_col_from_focus"><strong>update_pref_col_from_focus</strong></a>(self, size)</dt><dd><tt>Update&nbsp;self.<strong>pref_col</strong>&nbsp;from&nbsp;the&nbsp;focus&nbsp;widget.</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="ListBox-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="ListBox-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="ListBox-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="ListBox-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="Columns"></a><h3>function Columns <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Columns">class <strong>Columns</strong></a>(Widget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Columns</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Columns-__init__"><strong>__init__</strong></a>(self, widget_list, dividechars<font color="#909090">=0</font>, focus_column<font color="#909090">=None</font>, min_width<font color="#909090">=1</font>, box_columns<font color="#909090">=None</font>)</dt><dd><tt>widget_list&nbsp;--&nbsp;list&nbsp;of&nbsp;flow&nbsp;widgets&nbsp;or&nbsp;list&nbsp;of&nbsp;box&nbsp;widgets<br>
dividechars&nbsp;--&nbsp;blank&nbsp;characters&nbsp;between&nbsp;columns<br>
focus_column&nbsp;--&nbsp;index&nbsp;into&nbsp;widget_list&nbsp;of&nbsp;column&nbsp;in&nbsp;focus,<br>
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;None&nbsp;the&nbsp;first&nbsp;selectable&nbsp;widget&nbsp;will&nbsp;be&nbsp;chosen.<br>
min_width&nbsp;--&nbsp;minimum&nbsp;width&nbsp;for&nbsp;each&nbsp;column&nbsp;which&nbsp;is&nbsp;not<br>
&nbsp;&nbsp;&nbsp;&nbsp;designated&nbsp;as&nbsp;flow&nbsp;widget&nbsp;in&nbsp;widget_list.<br>
box_columns&nbsp;--&nbsp;a&nbsp;list&nbsp;of&nbsp;column&nbsp;indexes&nbsp;containing&nbsp;box&nbsp;widgets<br>
&nbsp;&nbsp;&nbsp;&nbsp;whose&nbsp;maxrow&nbsp;is&nbsp;set&nbsp;to&nbsp;the&nbsp;maximum&nbsp;of&nbsp;the&nbsp;rows<br>
&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;by&nbsp;columns&nbsp;not&nbsp;listed&nbsp;in&nbsp;box_columns.<br>
&nbsp;<br>
widget_list&nbsp;may&nbsp;also&nbsp;contain&nbsp;tuples&nbsp;such&nbsp;as:<br>
('flow',&nbsp;widget)&nbsp;always&nbsp;treat&nbsp;widget&nbsp;as&nbsp;a&nbsp;flow&nbsp;widget<br>
('fixed',&nbsp;width,&nbsp;widget)&nbsp;give&nbsp;this&nbsp;column&nbsp;a&nbsp;fixed&nbsp;width<br>
('weight',&nbsp;weight,&nbsp;widget)&nbsp;give&nbsp;this&nbsp;column&nbsp;a&nbsp;relative&nbsp;weight<br>
&nbsp;<br>
widgets&nbsp;not&nbsp;in&nbsp;a&nbsp;tuple&nbsp;are&nbsp;the&nbsp;same&nbsp;as&nbsp;('weight',&nbsp;1,&nbsp;widget)<br>
&nbsp;<br>
box_columns&nbsp;is&nbsp;ignored&nbsp;when&nbsp;this&nbsp;widget&nbsp;is&nbsp;being&nbsp;used&nbsp;as&nbsp;a<br>
box&nbsp;widget&nbsp;because&nbsp;in&nbsp;that&nbsp;case&nbsp;all&nbsp;columns&nbsp;are&nbsp;treated&nbsp;as&nbsp;box<br>
widgets.</tt></dd></dl>

<dl><dt><a name="Columns-column_widths"><strong>column_widths</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;list&nbsp;of&nbsp;column&nbsp;widths.<br>
&nbsp;<br>
size&nbsp;--&nbsp;(maxcol,)&nbsp;if&nbsp;self.<strong>widget_list</strong>&nbsp;contains&nbsp;flow&nbsp;widgets&nbsp;or<br>
&nbsp;&nbsp;&nbsp;&nbsp;(maxcol,&nbsp;maxrow)&nbsp;if&nbsp;it&nbsp;contains&nbsp;box&nbsp;widgets.</tt></dd></dl>

<dl><dt><a name="Columns-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;cursor&nbsp;coordinates&nbsp;from&nbsp;the&nbsp;focus&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="Columns-get_focus"><strong>get_focus</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;widget&nbsp;in&nbsp;focus.</tt></dd></dl>

<dl><dt><a name="Columns-get_focus_column"><strong>get_focus_column</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;focus&nbsp;column&nbsp;index.</tt></dd></dl>

<dl><dt><a name="Columns-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;pref&nbsp;col&nbsp;from&nbsp;the&nbsp;column&nbsp;in&nbsp;focus.</tt></dd></dl>

<dl><dt><a name="Columns-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Pass&nbsp;keypress&nbsp;to&nbsp;the&nbsp;focus&nbsp;column.<br>
&nbsp;<br>
size&nbsp;--&nbsp;(maxcol,)&nbsp;if&nbsp;self.<strong>widget_list</strong>&nbsp;contains&nbsp;flow&nbsp;widgets&nbsp;or<br>
&nbsp;&nbsp;&nbsp;&nbsp;(maxcol,&nbsp;maxrow)&nbsp;if&nbsp;it&nbsp;contains&nbsp;box&nbsp;widgets.</tt></dd></dl>

<dl><dt><a name="Columns-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt><dd><tt>Send&nbsp;event&nbsp;to&nbsp;appropriate&nbsp;column.<br>
May&nbsp;change&nbsp;focus&nbsp;on&nbsp;button&nbsp;1&nbsp;press.</tt></dd></dl>

<dl><dt><a name="Columns-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, col, row)</dt><dd><tt>Choose&nbsp;a&nbsp;selectable&nbsp;column&nbsp;to&nbsp;focus&nbsp;based&nbsp;on&nbsp;the&nbsp;coords.</tt></dd></dl>

<dl><dt><a name="Columns-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;columns&nbsp;and&nbsp;return&nbsp;canvas.<br>
&nbsp;<br>
size&nbsp;--&nbsp;(maxcol,)&nbsp;if&nbsp;self.<strong>widget_list</strong>&nbsp;contains&nbsp;flow&nbsp;widgets&nbsp;or<br>
&nbsp;&nbsp;&nbsp;&nbsp;(maxcol,&nbsp;maxrow)&nbsp;if&nbsp;it&nbsp;contains&nbsp;box&nbsp;widgets.</tt></dd></dl>

<dl><dt><a name="Columns-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;required&nbsp;by&nbsp;the&nbsp;columns.<br>
Only&nbsp;makes&nbsp;sense&nbsp;if&nbsp;self.<strong>widget_list</strong>&nbsp;contains&nbsp;flow&nbsp;widgets.</tt></dd></dl>

<dl><dt><a name="Columns-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;selectable&nbsp;value&nbsp;of&nbsp;the&nbsp;focus&nbsp;column.</tt></dd></dl>

<dl><dt><a name="Columns-set_focus"><strong>set_focus</strong></a>(self, item)</dt><dd><tt>Set&nbsp;the&nbsp;item&nbsp;in&nbsp;focus.&nbsp;&nbsp;<br>
&nbsp;<br>
item&nbsp;--&nbsp;widget&nbsp;or&nbsp;integer&nbsp;index</tt></dd></dl>

<dl><dt><a name="Columns-set_focus_column"><strong>set_focus_column</strong></a>(self, num)</dt><dd><tt>Set&nbsp;the&nbsp;column&nbsp;in&nbsp;focus&nbsp;by&nbsp;its&nbsp;index&nbsp;in&nbsp;self.<strong>widget_list</strong>.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>contents</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Columns-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Columns-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="Columns-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="Pile"></a><h3>function Pile <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Pile">class <strong>Pile</strong></a>(Widget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Pile</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Pile-__init__"><strong>__init__</strong></a>(self, widget_list, focus_item<font color="#909090">=None</font>)</dt><dd><tt>widget_list&nbsp;--&nbsp;list&nbsp;of&nbsp;widgets<br>
focus_item&nbsp;--&nbsp;widget&nbsp;or&nbsp;integer&nbsp;index,&nbsp;if&nbsp;None&nbsp;the&nbsp;first<br>
&nbsp;&nbsp;&nbsp;&nbsp;selectable&nbsp;widget&nbsp;will&nbsp;be&nbsp;chosen.<br>
&nbsp;<br>
widget_list&nbsp;may&nbsp;also&nbsp;contain&nbsp;tuples&nbsp;such&nbsp;as:<br>
('flow',&nbsp;widget)&nbsp;always&nbsp;treat&nbsp;widget&nbsp;as&nbsp;a&nbsp;flow&nbsp;widget<br>
('fixed',&nbsp;height,&nbsp;widget)&nbsp;give&nbsp;this&nbsp;box&nbsp;widget&nbsp;a&nbsp;fixed&nbsp;height<br>
('weight',&nbsp;weight,&nbsp;widget)&nbsp;if&nbsp;the&nbsp;pile&nbsp;is&nbsp;treated&nbsp;as&nbsp;a&nbsp;box<br>
&nbsp;&nbsp;&nbsp;&nbsp;widget&nbsp;then&nbsp;treat&nbsp;widget&nbsp;as&nbsp;a&nbsp;box&nbsp;widget&nbsp;with&nbsp;a<br>
&nbsp;&nbsp;&nbsp;&nbsp;height&nbsp;based&nbsp;on&nbsp;its&nbsp;relative&nbsp;weight&nbsp;value,&nbsp;otherwise<br>
&nbsp;&nbsp;&nbsp;&nbsp;treat&nbsp;widget&nbsp;as&nbsp;a&nbsp;flow&nbsp;widget<br>
&nbsp;<br>
widgets&nbsp;not&nbsp;in&nbsp;a&nbsp;tuple&nbsp;are&nbsp;the&nbsp;same&nbsp;as&nbsp;('weight',&nbsp;1,&nbsp;widget)<br>
&nbsp;<br>
If&nbsp;the&nbsp;pile&nbsp;is&nbsp;treated&nbsp;as&nbsp;a&nbsp;box&nbsp;widget&nbsp;there&nbsp;must&nbsp;be&nbsp;at&nbsp;least<br>
one&nbsp;'weight'&nbsp;tuple&nbsp;in&nbsp;widget_list.</tt></dd></dl>

<dl><dt><a name="Pile-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;cursor&nbsp;coordinates&nbsp;of&nbsp;the&nbsp;focus&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="Pile-get_focus"><strong>get_focus</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;widget&nbsp;in&nbsp;focus.</tt></dd></dl>

<dl><dt><a name="Pile-get_item_rows"><strong>get_item_rows</strong></a>(self, size, focus)</dt><dd><tt>Return&nbsp;a&nbsp;list&nbsp;of&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;used&nbsp;by&nbsp;each&nbsp;widget<br>
in&nbsp;self.<strong>item_list</strong>.</tt></dd></dl>

<dl><dt><a name="Pile-get_item_size"><strong>get_item_size</strong></a>(self, size, i, focus, item_rows<font color="#909090">=None</font>)</dt><dd><tt>Return&nbsp;a&nbsp;size&nbsp;appropriate&nbsp;for&nbsp;passing&nbsp;to&nbsp;self.<strong>widget_list</strong>[i]</tt></dd></dl>

<dl><dt><a name="Pile-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;preferred&nbsp;column&nbsp;for&nbsp;the&nbsp;cursor,&nbsp;or&nbsp;None.</tt></dd></dl>

<dl><dt><a name="Pile-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Pass&nbsp;the&nbsp;keypress&nbsp;to&nbsp;the&nbsp;widget&nbsp;in&nbsp;focus.<br>
Unhandled&nbsp;'up'&nbsp;and&nbsp;'down'&nbsp;keys&nbsp;may&nbsp;cause&nbsp;a&nbsp;focus&nbsp;change.</tt></dd></dl>

<dl><dt><a name="Pile-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt><dd><tt>Pass&nbsp;the&nbsp;event&nbsp;to&nbsp;the&nbsp;contained&nbsp;widget.<br>
May&nbsp;change&nbsp;focus&nbsp;on&nbsp;button&nbsp;1&nbsp;press.</tt></dd></dl>

<dl><dt><a name="Pile-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, col, row)</dt><dd><tt>Capture&nbsp;pref&nbsp;col&nbsp;and&nbsp;set&nbsp;new&nbsp;focus.</tt></dd></dl>

<dl><dt><a name="Pile-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;all&nbsp;widgets&nbsp;in&nbsp;self.<strong>widget_list</strong>&nbsp;and&nbsp;return&nbsp;the&nbsp;results<br>
stacked&nbsp;one&nbsp;on&nbsp;top&nbsp;of&nbsp;the&nbsp;next.</tt></dd></dl>

<dl><dt><a name="Pile-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;required&nbsp;for&nbsp;this&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="Pile-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;the&nbsp;focus&nbsp;item&nbsp;is&nbsp;selectable.</tt></dd></dl>

<dl><dt><a name="Pile-set_focus"><strong>set_focus</strong></a>(self, item)</dt><dd><tt>Set&nbsp;the&nbsp;item&nbsp;in&nbsp;focus.&nbsp;&nbsp;<br>
&nbsp;<br>
item&nbsp;--&nbsp;widget&nbsp;or&nbsp;integer&nbsp;index</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>contents</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Pile-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Pile-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="Pile-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="GridFlow"></a><h3>function GridFlow <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="GridFlow">class <strong>GridFlow</strong></a>(FlowWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>GridFlow</dd>
<dd>FlowWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="GridFlow-__init__"><strong>__init__</strong></a>(self, cells, cell_width, h_sep, v_sep, align)</dt><dd><tt>cells&nbsp;--&nbsp;list&nbsp;of&nbsp;flow&nbsp;widgets&nbsp;to&nbsp;display<br>
cell_width&nbsp;--&nbsp;column&nbsp;width&nbsp;for&nbsp;each&nbsp;cell<br>
h_sep&nbsp;--&nbsp;blank&nbsp;columns&nbsp;between&nbsp;each&nbsp;cell&nbsp;horizontally<br>
v_sep&nbsp;--&nbsp;blank&nbsp;rows&nbsp;between&nbsp;cells&nbsp;vertically&nbsp;(if&nbsp;more&nbsp;than<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one&nbsp;row&nbsp;is&nbsp;required&nbsp;to&nbsp;display&nbsp;all&nbsp;the&nbsp;cells)<br>
align&nbsp;--&nbsp;horizontal&nbsp;alignment&nbsp;of&nbsp;cells,&nbsp;see&nbsp;"align"&nbsp;parameter<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;Padding&nbsp;widget&nbsp;for&nbsp;available&nbsp;options</tt></dd></dl>

<dl><dt><a name="GridFlow-generate_display_widget"><strong>generate_display_widget</strong></a>(self, size)</dt><dd><tt>Actually&nbsp;generate&nbsp;display&nbsp;widget&nbsp;(ignoring&nbsp;cache)</tt></dd></dl>

<dl><dt><a name="GridFlow-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>Get&nbsp;cursor&nbsp;from&nbsp;display&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="GridFlow-get_display_widget"><strong>get_display_widget</strong></a>(self, size)</dt><dd><tt>Arrange&nbsp;the&nbsp;cells&nbsp;into&nbsp;columns&nbsp;(and&nbsp;possibly&nbsp;a&nbsp;pile)&nbsp;for&nbsp;<br>
display,&nbsp;input&nbsp;or&nbsp;to&nbsp;calculate&nbsp;rows.</tt></dd></dl>

<dl><dt><a name="GridFlow-get_focus"><strong>get_focus</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;widget&nbsp;in&nbsp;focus.</tt></dd></dl>

<dl><dt><a name="GridFlow-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt><dd><tt>Return&nbsp;pref&nbsp;col&nbsp;from&nbsp;display&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="GridFlow-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Pass&nbsp;keypress&nbsp;to&nbsp;display&nbsp;widget&nbsp;for&nbsp;handling.&nbsp;&nbsp;<br>
Capture&nbsp;&nbsp;&nbsp;&nbsp;focus&nbsp;changes.</tt></dd></dl>

<dl><dt><a name="GridFlow-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt><dd><tt>Send&nbsp;mouse&nbsp;event&nbsp;to&nbsp;contained&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="GridFlow-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, col, row)</dt><dd><tt>Set&nbsp;the&nbsp;widget&nbsp;in&nbsp;focus&nbsp;based&nbsp;on&nbsp;the&nbsp;col&nbsp;+&nbsp;row.</tt></dd></dl>

<dl><dt><a name="GridFlow-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Use&nbsp;display&nbsp;widget&nbsp;to&nbsp;render.</tt></dd></dl>

<dl><dt><a name="GridFlow-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;rows&nbsp;used&nbsp;by&nbsp;this&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="GridFlow-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;the&nbsp;cell&nbsp;in&nbsp;focus&nbsp;is&nbsp;selectable.</tt></dd></dl>

<dl><dt><a name="GridFlow-set_focus"><strong>set_focus</strong></a>(self, cell)</dt><dd><tt>Set&nbsp;the&nbsp;cell&nbsp;in&nbsp;focus.&nbsp;&nbsp;<br>
&nbsp;<br>
cell&nbsp;--&nbsp;widget&nbsp;or&nbsp;integer&nbsp;index&nbsp;into&nbsp;self.<strong>cells</strong></tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="GridFlow-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="GridFlow-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="GridFlow-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="BoxAdapter"></a><h3>function BoxAdapter <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="BoxAdapter">class <strong>BoxAdapter</strong></a>(WidgetDecoration) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>BoxAdapter</dd>
<dd>WidgetDecoration</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="BoxAdapter-__getattr__"><strong>__getattr__</strong></a>(self, name)</dt><dd><tt>Pass&nbsp;calls&nbsp;to&nbsp;box&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="BoxAdapter-__init__"><strong>__init__</strong></a>(self, box_widget, height)</dt><dd><tt>Create&nbsp;a&nbsp;flow&nbsp;widget&nbsp;that&nbsp;contains&nbsp;a&nbsp;box&nbsp;widget<br>
&nbsp;<br>
box_widget&nbsp;--&nbsp;box&nbsp;widget&nbsp;(stored&nbsp;as&nbsp;self.<strong>original_widget</strong>)<br>
height&nbsp;--&nbsp;number&nbsp;of&nbsp;rows&nbsp;for&nbsp;box&nbsp;widget<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;BoxAdapter(SolidFill(u"x"),&nbsp;5)&nbsp;#&nbsp;5-rows&nbsp;of&nbsp;x's<br>
&lt;BoxAdapter&nbsp;flow&nbsp;widget&nbsp;&lt;SolidFill&nbsp;box&nbsp;widget&nbsp;'x'&gt;&nbsp;height=5&gt;</tt></dd></dl>

<dl><dt><a name="BoxAdapter-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>#&nbsp;The&nbsp;next&nbsp;few&nbsp;functions&nbsp;simply&nbsp;tack-on&nbsp;our&nbsp;height&nbsp;and&nbsp;pass&nbsp;through<br>
#&nbsp;to&nbsp;self.<strong>_original_widget</strong></tt></dd></dl>

<dl><dt><a name="BoxAdapter-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt></dl>

<dl><dt><a name="BoxAdapter-keypress"><strong>keypress</strong></a>(self, size, key)</dt></dl>

<dl><dt><a name="BoxAdapter-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt></dl>

<dl><dt><a name="BoxAdapter-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, col, row)</dt></dl>

<dl><dt><a name="BoxAdapter-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="BoxAdapter-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;predetermined&nbsp;height&nbsp;(behave&nbsp;like&nbsp;a&nbsp;flow&nbsp;widget)<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;BoxAdapter(SolidFill(u"x"),&nbsp;5).rows((20,))<br>
5</tt></dd></dl>

<dl><dt><a name="BoxAdapter-sizing"><strong>sizing</strong></a>(self)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>box_widget</strong></dt>
</dl>
<hr>
Methods inherited from WidgetDecoration:<br>
<dl><dt><a name="BoxAdapter-selectable"><strong>selectable</strong></a>(self)</dt></dl>

<hr>
Data descriptors inherited from WidgetDecoration:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="BoxAdapter-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="BoxAdapter-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="Overlay"></a><h3>function Overlay <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Overlay">class <strong>Overlay</strong></a>(BoxWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Overlay</dd>
<dd>BoxWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Overlay-__init__"><strong>__init__</strong></a>(self, top_w, bottom_w, align, width, valign, height, min_width<font color="#909090">=None</font>, min_height<font color="#909090">=None</font>)</dt><dd><tt>top_w&nbsp;--&nbsp;a&nbsp;flow,&nbsp;box&nbsp;or&nbsp;fixed&nbsp;widget&nbsp;to&nbsp;overlay&nbsp;"on&nbsp;top"<br>
bottom_w&nbsp;--&nbsp;a&nbsp;box&nbsp;widget&nbsp;to&nbsp;appear&nbsp;"below"&nbsp;previous&nbsp;widget<br>
align&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'left',&nbsp;'center',&nbsp;'right'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;left',&nbsp;columns)<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;right',&nbsp;columns)<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;0=left&nbsp;100=right)<br>
width&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;if&nbsp;top_w&nbsp;is&nbsp;a&nbsp;fixed&nbsp;widget<br>
&nbsp;&nbsp;&nbsp;&nbsp;number&nbsp;of&nbsp;columns&nbsp;wide<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;right',&nbsp;columns)&nbsp;&nbsp;Only&nbsp;if&nbsp;align&nbsp;is&nbsp;'fixed&nbsp;left'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;left',&nbsp;columns)&nbsp;&nbsp;Only&nbsp;if&nbsp;align&nbsp;is&nbsp;'fixed&nbsp;right'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;of&nbsp;total&nbsp;width)<br>
valign&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'top',&nbsp;'middle',&nbsp;'bottom'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;top',&nbsp;rows)<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;bottom',&nbsp;rows)<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;0=top&nbsp;100=bottom)<br>
height&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;if&nbsp;top_w&nbsp;is&nbsp;a&nbsp;flow&nbsp;or&nbsp;fixed&nbsp;widget<br>
&nbsp;&nbsp;&nbsp;&nbsp;number&nbsp;of&nbsp;rows&nbsp;high<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;bottom',&nbsp;rows)&nbsp;&nbsp;Only&nbsp;if&nbsp;valign&nbsp;is&nbsp;'fixed&nbsp;top'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;top',&nbsp;rows)&nbsp;&nbsp;Only&nbsp;if&nbsp;valign&nbsp;is&nbsp;'fixed&nbsp;bottom'<br>
&nbsp;&nbsp;&nbsp;&nbsp;('relative',&nbsp;percentage&nbsp;of&nbsp;total&nbsp;height)<br>
min_width&nbsp;--&nbsp;the&nbsp;minimum&nbsp;number&nbsp;of&nbsp;columns&nbsp;for&nbsp;top_w<br>
&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;width&nbsp;is&nbsp;not&nbsp;fixed<br>
min_height&nbsp;--&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;minimum&nbsp;number&nbsp;of&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;height&nbsp;not&nbsp;fixed<br>
&nbsp;<br>
Overlay&nbsp;widgets&nbsp;behave&nbsp;similarly&nbsp;to&nbsp;Padding&nbsp;and&nbsp;Filler&nbsp;widgets<br>
when&nbsp;determining&nbsp;the&nbsp;size&nbsp;and&nbsp;position&nbsp;of&nbsp;top_w.&nbsp;&nbsp;bottom_w&nbsp;is<br>
always&nbsp;rendered&nbsp;the&nbsp;full&nbsp;size&nbsp;available&nbsp;"below"&nbsp;top_w.</tt></dd></dl>

<dl><dt><a name="Overlay-calculate_padding_filler"><strong>calculate_padding_filler</strong></a>(self, size, focus)</dt><dd><tt>Return&nbsp;(padding&nbsp;left,&nbsp;right,&nbsp;filler&nbsp;top,&nbsp;bottom).</tt></dd></dl>

<dl><dt><a name="Overlay-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>Return&nbsp;cursor&nbsp;coords&nbsp;from&nbsp;top_w,&nbsp;if&nbsp;any.</tt></dd></dl>

<dl><dt><a name="Overlay-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Pass&nbsp;keypress&nbsp;to&nbsp;top_w.</tt></dd></dl>

<dl><dt><a name="Overlay-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt><dd><tt>Pass&nbsp;event&nbsp;to&nbsp;top_w,&nbsp;ignore&nbsp;if&nbsp;outside&nbsp;of&nbsp;top_w.</tt></dd></dl>

<dl><dt><a name="Overlay-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;top_w&nbsp;overlayed&nbsp;on&nbsp;bottom_w.</tt></dd></dl>

<dl><dt><a name="Overlay-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;selectable&nbsp;from&nbsp;top_w.</tt></dd></dl>

<dl><dt><a name="Overlay-set_overlay_parameters"><strong>set_overlay_parameters</strong></a>(self, align, width, valign, height, min_width<font color="#909090">=None</font>, min_height<font color="#909090">=None</font>)</dt><dd><tt>Adjust&nbsp;the&nbsp;overlay&nbsp;size&nbsp;and&nbsp;position&nbsp;parameters.<br>
&nbsp;<br>
See&nbsp;__init__()&nbsp;for&nbsp;a&nbsp;description&nbsp;of&nbsp;the&nbsp;parameters.</tt></dd></dl>

<dl><dt><a name="Overlay-top_w_size"><strong>top_w_size</strong></a>(self, size, left, right, top, bottom)</dt><dd><tt>Return&nbsp;the&nbsp;size&nbsp;to&nbsp;pass&nbsp;to&nbsp;top_w.</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Overlay-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Overlay-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="Overlay-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<h2>Content widgets</h2><a name="Text"></a><h3>function Text <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Text">class <strong>Text</strong></a>(FlowWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Text</dd>
<dd>FlowWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Text-__init__"><strong>__init__</strong></a>(self, markup, align<font color="#909090">='left'</font>, wrap<font color="#909090">='space'</font>, layout<font color="#909090">=None</font>)</dt><dd><tt>markup&nbsp;--&nbsp;content&nbsp;of&nbsp;text&nbsp;widget,&nbsp;one&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;plain&nbsp;string&nbsp;--&nbsp;string&nbsp;is&nbsp;displayed<br>
&nbsp;&nbsp;&nbsp;&nbsp;(&nbsp;attr,&nbsp;markup2&nbsp;)&nbsp;--&nbsp;markup2&nbsp;is&nbsp;given&nbsp;attribute&nbsp;attr<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;markupA,&nbsp;markupB,&nbsp;...&nbsp;]&nbsp;--&nbsp;list&nbsp;items&nbsp;joined&nbsp;together<br>
align&nbsp;--&nbsp;align&nbsp;mode&nbsp;for&nbsp;text&nbsp;layout<br>
wrap&nbsp;--&nbsp;wrap&nbsp;mode&nbsp;for&nbsp;text&nbsp;layout<br>
layout&nbsp;--&nbsp;layout&nbsp;object&nbsp;to&nbsp;use,&nbsp;defaults&nbsp;to&nbsp;StandardTextLayout<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"Hello")<br>
&lt;Text&nbsp;flow&nbsp;widget&nbsp;'Hello'&gt;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(('bold',&nbsp;u"stuff"),&nbsp;'right',&nbsp;'any')<br>
&gt;&gt;&gt;&nbsp;t<br>
&lt;Text&nbsp;flow&nbsp;widget&nbsp;'stuff'&nbsp;align='right'&nbsp;wrap='any'&gt;<br>
&gt;&gt;&gt;&nbsp;print&nbsp;t.text<br>
stuff<br>
&gt;&gt;&gt;&nbsp;t.attrib<br>
[('bold',&nbsp;5)]</tt></dd></dl>

<dl><dt><a name="Text-get_line_translation"><strong>get_line_translation</strong></a>(self, maxcol, ta<font color="#909090">=None</font>)</dt><dd><tt>Return&nbsp;layout&nbsp;structure&nbsp;used&nbsp;to&nbsp;map&nbsp;self.<strong>text</strong>&nbsp;to&nbsp;a&nbsp;canvas.<br>
This&nbsp;method&nbsp;is&nbsp;used&nbsp;internally,&nbsp;but&nbsp;may&nbsp;be&nbsp;useful&nbsp;for<br>
debugging&nbsp;custom&nbsp;layout&nbsp;classes.<br>
&nbsp;<br>
maxcol&nbsp;--&nbsp;columns&nbsp;available&nbsp;for&nbsp;display<br>
ta&nbsp;--&nbsp;None&nbsp;or&nbsp;the&nbsp;(text,&nbsp;attr)&nbsp;tuple&nbsp;returned&nbsp;from<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get_text()</tt></dd></dl>

<dl><dt><a name="Text-get_text"><strong>get_text</strong></a>(self)</dt><dd><tt>Returns&nbsp;(text,&nbsp;attributes).<br>
&nbsp;<br>
text&nbsp;--&nbsp;complete&nbsp;string&nbsp;content&nbsp;(unicode)&nbsp;of&nbsp;text&nbsp;widget<br>
attributes&nbsp;--&nbsp;run&nbsp;length&nbsp;encoded&nbsp;attributes&nbsp;for&nbsp;text<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"Hello").get_text()&nbsp;#&nbsp;...&nbsp;=&nbsp;u&nbsp;in&nbsp;Python&nbsp;2<br>
(...'Hello',&nbsp;[])<br>
&gt;&gt;&gt;&nbsp;Text(('bright',&nbsp;u"Headline")).get_text()<br>
(...'Headline',&nbsp;[('bright',&nbsp;8)])<br>
&gt;&gt;&gt;&nbsp;Text([('a',&nbsp;u"one"),&nbsp;u"two",&nbsp;('b',&nbsp;u"three")]).get_text()<br>
(...'onetwothree',&nbsp;[('a',&nbsp;3),&nbsp;(None,&nbsp;3),&nbsp;('b',&nbsp;5)])</tt></dd></dl>

<dl><dt><a name="Text-pack"><strong>pack</strong></a>(self, size<font color="#909090">=None</font>, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;screen&nbsp;columns&nbsp;and&nbsp;rows&nbsp;required&nbsp;for<br>
this&nbsp;Text&nbsp;widget&nbsp;to&nbsp;be&nbsp;displayed&nbsp;without&nbsp;wrapping&nbsp;or&nbsp;<br>
clipping,&nbsp;as&nbsp;a&nbsp;single&nbsp;element&nbsp;tuple.<br>
&nbsp;<br>
size&nbsp;--&nbsp;None&nbsp;for&nbsp;unlimited&nbsp;screen&nbsp;columns&nbsp;or&nbsp;(maxcol,)&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;specify&nbsp;a&nbsp;maximum&nbsp;column&nbsp;size<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack()<br>
(16,&nbsp;1)<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack((15,))<br>
(9,&nbsp;2)<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack((8,))<br>
(8,&nbsp;2)</tt></dd></dl>

<dl><dt><a name="Text-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;contents&nbsp;with&nbsp;wrapping&nbsp;and&nbsp;alignment.&nbsp;&nbsp;Return&nbsp;canvas.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").render((18,)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'important&nbsp;things&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").render((11,)).text<br>
[...'important&nbsp;&nbsp;',&nbsp;...'things&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;']</tt></dd></dl>

<dl><dt><a name="Text-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;the&nbsp;rendered&nbsp;text&nbsp;spans.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").rows((18,))<br>
1<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").rows((11,))<br>
2</tt></dd></dl>

<dl><dt><a name="Text-set_align_mode"><strong>set_align_mode</strong></a>(self, mode)</dt><dd><tt>Set&nbsp;text&nbsp;alignment&nbsp;/&nbsp;justification.<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'left',&nbsp;'center'&nbsp;and&nbsp;'right'<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"word")<br>
&gt;&gt;&gt;&nbsp;t.set_align_mode('right')<br>
&gt;&gt;&gt;&nbsp;t.align<br>
'right'<br>
&gt;&gt;&gt;&nbsp;t.render((10,)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;word']<br>
&gt;&gt;&gt;&nbsp;t.align&nbsp;=&nbsp;'center'<br>
&gt;&gt;&gt;&nbsp;t.render((10,)).text<br>
[...'&nbsp;&nbsp;&nbsp;word&nbsp;&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.align&nbsp;=&nbsp;'somewhere'<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
TextError:&nbsp;Alignment&nbsp;mode&nbsp;'somewhere'&nbsp;not&nbsp;supported.</tt></dd></dl>

<dl><dt><a name="Text-set_layout"><strong>set_layout</strong></a>(self, align, wrap, layout<font color="#909090">=None</font>)</dt><dd><tt>Set&nbsp;layout&nbsp;object,&nbsp;align&nbsp;and&nbsp;wrap&nbsp;modes.<br>
&nbsp;<br>
align&nbsp;--&nbsp;align&nbsp;mode&nbsp;for&nbsp;text&nbsp;layout<br>
wrap&nbsp;--&nbsp;wrap&nbsp;mode&nbsp;for&nbsp;text&nbsp;layout<br>
layout&nbsp;--&nbsp;layout&nbsp;object&nbsp;to&nbsp;use,&nbsp;defaults&nbsp;to&nbsp;StandardTextLayout<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"hi")<br>
&gt;&gt;&gt;&nbsp;t.set_layout('right',&nbsp;'clip')<br>
&gt;&gt;&gt;&nbsp;t<br>
&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&nbsp;align='right'&nbsp;wrap='clip'&gt;</tt></dd></dl>

<dl><dt><a name="Text-set_text"><strong>set_text</strong></a>(self, markup)</dt><dd><tt>Set&nbsp;content&nbsp;of&nbsp;text&nbsp;widget.<br>
&nbsp;<br>
markup&nbsp;--&nbsp;see&nbsp;__init__()&nbsp;for&nbsp;description.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"foo")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;t.text<br>
foo<br>
&gt;&gt;&gt;&nbsp;t.set_text(u"bar")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;t.text<br>
bar<br>
&gt;&gt;&gt;&nbsp;t.text&nbsp;=&nbsp;u"baz"&nbsp;&nbsp;#&nbsp;not&nbsp;supported&nbsp;because&nbsp;text&nbsp;stores&nbsp;text&nbsp;but&nbsp;set_text()&nbsp;takes&nbsp;markup<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
AttributeError:&nbsp;can't&nbsp;set&nbsp;attribute</tt></dd></dl>

<dl><dt><a name="Text-set_wrap_mode"><strong>set_wrap_mode</strong></a>(self, mode)</dt><dd><tt>Set&nbsp;wrap&nbsp;mode.<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'any'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;at&nbsp;any&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;'space'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;on&nbsp;space&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;'clip'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;truncate&nbsp;lines&nbsp;instead&nbsp;of&nbsp;wrapping<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"some&nbsp;words")<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'some&nbsp;&nbsp;',&nbsp;...'words&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.set_wrap_mode('clip')<br>
&gt;&gt;&gt;&nbsp;t.wrap<br>
'clip'<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text<br>
[...'some&nbsp;w']<br>
&gt;&gt;&gt;&nbsp;t.wrap&nbsp;=&nbsp;'any'&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text<br>
[...'some&nbsp;w',&nbsp;...'ords&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.wrap&nbsp;=&nbsp;'somehow'<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
TextError:&nbsp;Wrap&nbsp;mode&nbsp;'somehow'&nbsp;not&nbsp;supported.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>align</strong></dt>
</dl>
<dl><dt><strong>attrib</strong></dt>
</dl>
<dl><dt><strong>layout</strong></dt>
</dl>
<dl><dt><strong>text</strong></dt>
</dl>
<dl><dt><strong>wrap</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Text-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Text-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="Text-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="Edit"></a><h3>function Edit <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Edit">class <strong>Edit</strong></a>(Text) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Edit</dd>
<dd>Text</dd>
<dd>FlowWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Edit-__init__"><strong>__init__</strong></a>(self, caption<font color="#909090">=u''</font>, edit_text<font color="#909090">=u''</font>, multiline<font color="#909090">=False</font>, align<font color="#909090">='left'</font>, wrap<font color="#909090">='space'</font>, allow_tab<font color="#909090">=False</font>, edit_pos<font color="#909090">=None</font>, layout<font color="#909090">=None</font>, mask<font color="#909090">=None</font>)</dt><dd><tt>caption&nbsp;--&nbsp;markup&nbsp;for&nbsp;caption&nbsp;preceeding&nbsp;edit_text<br>
edit_text&nbsp;--&nbsp;text&nbsp;string&nbsp;for&nbsp;editing<br>
multiline&nbsp;--&nbsp;True:&nbsp;'enter'&nbsp;inserts&nbsp;newline&nbsp;&nbsp;False:&nbsp;return&nbsp;it<br>
align&nbsp;--&nbsp;align&nbsp;mode<br>
wrap&nbsp;--&nbsp;wrap&nbsp;mode<br>
allow_tab&nbsp;--&nbsp;True:&nbsp;'tab'&nbsp;inserts&nbsp;1-8&nbsp;spaces&nbsp;&nbsp;False:&nbsp;return&nbsp;it<br>
edit_pos&nbsp;--&nbsp;initial&nbsp;position&nbsp;for&nbsp;cursor,&nbsp;None:at&nbsp;end<br>
layout&nbsp;--&nbsp;layout&nbsp;object<br>
mask&nbsp;--&nbsp;character&nbsp;to&nbsp;mask&nbsp;away&nbsp;text&nbsp;with,&nbsp;None&nbsp;means&nbsp;no&nbsp;masking<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit()<br>
&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;''&nbsp;edit_pos=0&gt;<br>
&gt;&gt;&gt;&nbsp;Edit(u"Y/n?&nbsp;",&nbsp;u"yes")<br>
&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;'yes'&nbsp;caption='Y/n?&nbsp;'&nbsp;edit_pos=3&gt;<br>
&gt;&gt;&gt;&nbsp;Edit(u"Name&nbsp;",&nbsp;u"Smith",&nbsp;edit_pos=1)<br>
&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;'Smith'&nbsp;caption='Name&nbsp;'&nbsp;edit_pos=1&gt;<br>
&gt;&gt;&gt;&nbsp;Edit(u"",&nbsp;u"3.14",&nbsp;align='right')<br>
&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;'3.14'&nbsp;align='right'&nbsp;edit_pos=4&gt;</tt></dd></dl>

<dl><dt><a name="Edit-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;(x,y)&nbsp;coordinates&nbsp;of&nbsp;cursor&nbsp;within&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit("?&nbsp;","yes").get_cursor_coords((10,))<br>
(5,&nbsp;0)</tt></dd></dl>

<dl><dt><a name="Edit-get_edit_text"><strong>get_edit_text</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;edit&nbsp;text&nbsp;for&nbsp;this&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit(u"What?&nbsp;",&nbsp;u"oh,&nbsp;nothing.")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.get_edit_text()<br>
oh,&nbsp;nothing.<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
oh,&nbsp;nothing.</tt></dd></dl>

<dl><dt><a name="Edit-get_line_translation"><strong>get_line_translation</strong></a>(self, maxcol, ta<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="Edit-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;preferred&nbsp;column&nbsp;for&nbsp;the&nbsp;cursor,&nbsp;or&nbsp;the<br>
current&nbsp;cursor&nbsp;x&nbsp;value.&nbsp;&nbsp;May&nbsp;also&nbsp;return&nbsp;'left'&nbsp;or&nbsp;'right'<br>
to&nbsp;indicate&nbsp;the&nbsp;leftmost&nbsp;or&nbsp;rightmost&nbsp;column&nbsp;available.<br>
&nbsp;<br>
This&nbsp;method&nbsp;is&nbsp;used&nbsp;internally&nbsp;and&nbsp;by&nbsp;other&nbsp;widgets&nbsp;when<br>
moving&nbsp;the&nbsp;cursor&nbsp;up&nbsp;or&nbsp;down&nbsp;between&nbsp;widgets&nbsp;so&nbsp;that&nbsp;the&nbsp;<br>
column&nbsp;selected&nbsp;is&nbsp;one&nbsp;that&nbsp;the&nbsp;user&nbsp;would&nbsp;expect.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(10,)<br>
&gt;&gt;&gt;&nbsp;Edit().get_pref_col(size)<br>
0<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("","word")<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
4<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'left')<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
3<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'end')<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
'right'<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("","2\nwords")<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'left')<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'up')<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
4<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'left')<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
0</tt></dd></dl>

<dl><dt><a name="Edit-get_text"><strong>get_text</strong></a>(self)</dt><dd><tt>Returns&nbsp;(text,&nbsp;attributes).<br>
&nbsp;<br>
text&nbsp;--&nbsp;complete&nbsp;text&nbsp;of&nbsp;caption&nbsp;and&nbsp;edit_text,&nbsp;maybe&nbsp;masked&nbsp;away<br>
attributes&nbsp;--&nbsp;run&nbsp;length&nbsp;encoded&nbsp;attributes&nbsp;for&nbsp;text<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit("What?&nbsp;","oh,&nbsp;nothing.").get_text()&nbsp;#&nbsp;...&nbsp;=&nbsp;u&nbsp;in&nbsp;Python&nbsp;2<br>
(...'What?&nbsp;oh,&nbsp;nothing.',&nbsp;[])<br>
&gt;&gt;&gt;&nbsp;Edit(('bright',"user@host:~$&nbsp;"),"ls").get_text()<br>
(...'user@host:~$&nbsp;ls',&nbsp;[('bright',&nbsp;13)])</tt></dd></dl>

<dl><dt><a name="Edit-insert_text"><strong>insert_text</strong></a>(self, text)</dt><dd><tt>Insert&nbsp;text&nbsp;at&nbsp;the&nbsp;cursor&nbsp;position&nbsp;and&nbsp;update&nbsp;cursor.<br>
This&nbsp;method&nbsp;is&nbsp;used&nbsp;by&nbsp;the&nbsp;keypress()&nbsp;method&nbsp;when&nbsp;inserting<br>
one&nbsp;or&nbsp;more&nbsp;characters&nbsp;into&nbsp;edit_text.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit(u"",&nbsp;u"42")<br>
&gt;&gt;&gt;&nbsp;e.insert_text(u".5")<br>
&gt;&gt;&gt;&nbsp;e<br>
&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;'42.5'&nbsp;edit_pos=4&gt;<br>
&gt;&gt;&gt;&nbsp;e.set_edit_pos(2)<br>
&gt;&gt;&gt;&nbsp;e.insert_text(u"a")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
42a.5</tt></dd></dl>

<dl><dt><a name="Edit-insert_text_result"><strong>insert_text_result</strong></a>(self, text)</dt><dd><tt>Return&nbsp;result&nbsp;of&nbsp;insert_text(text)&nbsp;without&nbsp;actually&nbsp;performing&nbsp;the<br>
insertion.&nbsp;&nbsp;Handy&nbsp;for&nbsp;pre-validation.</tt></dd></dl>

<dl><dt><a name="Edit-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Handle&nbsp;editing&nbsp;keystrokes,&nbsp;return&nbsp;others.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e,&nbsp;size&nbsp;=&nbsp;Edit(),&nbsp;(20,)<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'x')<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'left')<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'1')<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
1x<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'backspace')<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'end')<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'2')<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
x2<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'shift&nbsp;f1')<br>
'shift&nbsp;f1'</tt></dd></dl>

<dl><dt><a name="Edit-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, x, y, focus)</dt><dd><tt>Move&nbsp;the&nbsp;cursor&nbsp;to&nbsp;the&nbsp;location&nbsp;clicked&nbsp;for&nbsp;button&nbsp;1.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(20,)<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("","words&nbsp;here")<br>
&gt;&gt;&gt;&nbsp;e.mouse_event(size,&nbsp;'mouse&nbsp;press',&nbsp;1,&nbsp;2,&nbsp;0,&nbsp;True)<br>
True<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
2</tt></dd></dl>

<dl><dt><a name="Edit-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, x, y)</dt><dd><tt>Set&nbsp;the&nbsp;cursor&nbsp;position&nbsp;with&nbsp;(x,y)&nbsp;coordinates.<br>
Returns&nbsp;True&nbsp;if&nbsp;move&nbsp;succeeded,&nbsp;False&nbsp;otherwise.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(10,)<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("","edit\ntext")<br>
&gt;&gt;&gt;&nbsp;e.move_cursor_to_coords(size,&nbsp;5,&nbsp;0)<br>
True<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
4<br>
&gt;&gt;&gt;&nbsp;e.move_cursor_to_coords(size,&nbsp;5,&nbsp;3)<br>
False<br>
&gt;&gt;&gt;&nbsp;e.move_cursor_to_coords(size,&nbsp;0,&nbsp;1)<br>
True<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
5</tt></dd></dl>

<dl><dt><a name="Edit-position_coords"><strong>position_coords</strong></a>(self, maxcol, pos)</dt><dd><tt>Return&nbsp;(x,y)&nbsp;coordinates&nbsp;for&nbsp;an&nbsp;offset&nbsp;into&nbsp;self.<strong>edit_text</strong>.</tt></dd></dl>

<dl><dt><a name="Edit-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;edit&nbsp;widget&nbsp;and&nbsp;return&nbsp;canvas.&nbsp;&nbsp;Include&nbsp;cursor&nbsp;when&nbsp;in<br>
focus.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;c&nbsp;=&nbsp;Edit("?&nbsp;","yes").render((10,),&nbsp;focus=True)<br>
&gt;&gt;&gt;&nbsp;c.text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'?&nbsp;yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;c.cursor<br>
(5,&nbsp;0)</tt></dd></dl>

<dl><dt><a name="Edit-selectable"><strong>selectable</strong></a>(self)</dt></dl>

<dl><dt><a name="Edit-set_caption"><strong>set_caption</strong></a>(self, caption)</dt><dd><tt>Set&nbsp;the&nbsp;caption&nbsp;markup&nbsp;for&nbsp;this&nbsp;widget.<br>
&nbsp;<br>
caption&nbsp;--&nbsp;see&nbsp;Text.__init__()&nbsp;for&nbsp;description&nbsp;of&nbsp;markup<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("")<br>
&gt;&gt;&gt;&nbsp;e.set_caption("cap1")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.caption<br>
cap1<br>
&gt;&gt;&gt;&nbsp;e.set_caption(('bold',&nbsp;"cap2"))<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.caption<br>
cap2<br>
&gt;&gt;&gt;&nbsp;e.attrib<br>
[('bold',&nbsp;4)]<br>
&gt;&gt;&gt;&nbsp;e.caption&nbsp;=&nbsp;"cap3"&nbsp;&nbsp;#&nbsp;not&nbsp;supported&nbsp;because&nbsp;caption&nbsp;stores&nbsp;text&nbsp;but&nbsp;set_caption()&nbsp;takes&nbsp;markup<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
AttributeError:&nbsp;can't&nbsp;set&nbsp;attribute</tt></dd></dl>

<dl><dt><a name="Edit-set_edit_pos"><strong>set_edit_pos</strong></a>(self, pos)</dt><dd><tt>Set&nbsp;the&nbsp;cursor&nbsp;position&nbsp;with&nbsp;a&nbsp;self.<strong>edit_text</strong>&nbsp;offset.&nbsp;&nbsp;<br>
Clips&nbsp;pos&nbsp;to&nbsp;[0,&nbsp;len(edit_text)].<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit(u"",&nbsp;u"word")<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
4<br>
&gt;&gt;&gt;&nbsp;e.set_edit_pos(2)<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
2<br>
&gt;&gt;&gt;&nbsp;e.edit_pos&nbsp;=&nbsp;-1&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
0<br>
&gt;&gt;&gt;&nbsp;e.edit_pos&nbsp;=&nbsp;20<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
4</tt></dd></dl>

<dl><dt><a name="Edit-set_edit_text"><strong>set_edit_text</strong></a>(self, text)</dt><dd><tt>Set&nbsp;the&nbsp;edit&nbsp;text&nbsp;for&nbsp;this&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit()<br>
&gt;&gt;&gt;&nbsp;e.set_edit_text(u"yes")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
yes<br>
&gt;&gt;&gt;&nbsp;e<br>
&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;'yes'&nbsp;edit_pos=0&gt;<br>
&gt;&gt;&gt;&nbsp;e.edit_text&nbsp;=&nbsp;u"no"&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
no</tt></dd></dl>

<dl><dt><a name="Edit-set_mask"><strong>set_mask</strong></a>(self, mask)</dt><dd><tt>Set&nbsp;the&nbsp;character&nbsp;for&nbsp;masking&nbsp;text&nbsp;away.&nbsp;Empty&nbsp;means&nbsp;no&nbsp;masking.</tt></dd></dl>

<dl><dt><a name="Edit-set_text"><strong>set_text</strong></a>(self, markup)</dt><dd><tt>Not&nbsp;supported&nbsp;by&nbsp;Edit&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit().set_text("test")<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
EditError:&nbsp;set_text()&nbsp;not&nbsp;supported.&nbsp;&nbsp;Use&nbsp;set_caption()&nbsp;or&nbsp;set_edit_text()&nbsp;instead.</tt></dd></dl>

<dl><dt><a name="Edit-update_text"><strong>update_text</strong></a>(self)</dt><dd><tt>No&nbsp;longer&nbsp;supported.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit().update_text()<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
EditError:&nbsp;update_text()&nbsp;has&nbsp;been&nbsp;removed.&nbsp;&nbsp;Use&nbsp;set_caption()&nbsp;or&nbsp;set_edit_text()&nbsp;instead.</tt></dd></dl>

<dl><dt><a name="Edit-valid_char"><strong>valid_char</strong></a>(self, ch)</dt><dd><tt>Return&nbsp;true&nbsp;for&nbsp;printable&nbsp;characters.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>caption</strong></dt>
</dl>
<dl><dt><strong>edit_pos</strong></dt>
</dl>
<dl><dt><strong>edit_text</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;edit&nbsp;text&nbsp;for&nbsp;this&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit(u"What?&nbsp;",&nbsp;u"oh,&nbsp;nothing.")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.get_edit_text()<br>
oh,&nbsp;nothing.<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
oh,&nbsp;nothing.</tt></dd>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>signals</strong> = ['change']</dl>

<hr>
Methods inherited from Text:<br>
<dl><dt><a name="Edit-pack"><strong>pack</strong></a>(self, size<font color="#909090">=None</font>, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;screen&nbsp;columns&nbsp;and&nbsp;rows&nbsp;required&nbsp;for<br>
this&nbsp;Text&nbsp;widget&nbsp;to&nbsp;be&nbsp;displayed&nbsp;without&nbsp;wrapping&nbsp;or&nbsp;<br>
clipping,&nbsp;as&nbsp;a&nbsp;single&nbsp;element&nbsp;tuple.<br>
&nbsp;<br>
size&nbsp;--&nbsp;None&nbsp;for&nbsp;unlimited&nbsp;screen&nbsp;columns&nbsp;or&nbsp;(maxcol,)&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;specify&nbsp;a&nbsp;maximum&nbsp;column&nbsp;size<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack()<br>
(16,&nbsp;1)<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack((15,))<br>
(9,&nbsp;2)<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack((8,))<br>
(8,&nbsp;2)</tt></dd></dl>

<dl><dt><a name="Edit-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;the&nbsp;rendered&nbsp;text&nbsp;spans.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").rows((18,))<br>
1<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").rows((11,))<br>
2</tt></dd></dl>

<dl><dt><a name="Edit-set_align_mode"><strong>set_align_mode</strong></a>(self, mode)</dt><dd><tt>Set&nbsp;text&nbsp;alignment&nbsp;/&nbsp;justification.<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'left',&nbsp;'center'&nbsp;and&nbsp;'right'<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"word")<br>
&gt;&gt;&gt;&nbsp;t.set_align_mode('right')<br>
&gt;&gt;&gt;&nbsp;t.align<br>
'right'<br>
&gt;&gt;&gt;&nbsp;t.render((10,)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;word']<br>
&gt;&gt;&gt;&nbsp;t.align&nbsp;=&nbsp;'center'<br>
&gt;&gt;&gt;&nbsp;t.render((10,)).text<br>
[...'&nbsp;&nbsp;&nbsp;word&nbsp;&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.align&nbsp;=&nbsp;'somewhere'<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
TextError:&nbsp;Alignment&nbsp;mode&nbsp;'somewhere'&nbsp;not&nbsp;supported.</tt></dd></dl>

<dl><dt><a name="Edit-set_layout"><strong>set_layout</strong></a>(self, align, wrap, layout<font color="#909090">=None</font>)</dt><dd><tt>Set&nbsp;layout&nbsp;object,&nbsp;align&nbsp;and&nbsp;wrap&nbsp;modes.<br>
&nbsp;<br>
align&nbsp;--&nbsp;align&nbsp;mode&nbsp;for&nbsp;text&nbsp;layout<br>
wrap&nbsp;--&nbsp;wrap&nbsp;mode&nbsp;for&nbsp;text&nbsp;layout<br>
layout&nbsp;--&nbsp;layout&nbsp;object&nbsp;to&nbsp;use,&nbsp;defaults&nbsp;to&nbsp;StandardTextLayout<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"hi")<br>
&gt;&gt;&gt;&nbsp;t.set_layout('right',&nbsp;'clip')<br>
&gt;&gt;&gt;&nbsp;t<br>
&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&nbsp;align='right'&nbsp;wrap='clip'&gt;</tt></dd></dl>

<dl><dt><a name="Edit-set_wrap_mode"><strong>set_wrap_mode</strong></a>(self, mode)</dt><dd><tt>Set&nbsp;wrap&nbsp;mode.<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'any'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;at&nbsp;any&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;'space'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;on&nbsp;space&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;'clip'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;truncate&nbsp;lines&nbsp;instead&nbsp;of&nbsp;wrapping<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"some&nbsp;words")<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'some&nbsp;&nbsp;',&nbsp;...'words&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.set_wrap_mode('clip')<br>
&gt;&gt;&gt;&nbsp;t.wrap<br>
'clip'<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text<br>
[...'some&nbsp;w']<br>
&gt;&gt;&gt;&nbsp;t.wrap&nbsp;=&nbsp;'any'&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text<br>
[...'some&nbsp;w',&nbsp;...'ords&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.wrap&nbsp;=&nbsp;'somehow'<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
TextError:&nbsp;Wrap&nbsp;mode&nbsp;'somehow'&nbsp;not&nbsp;supported.</tt></dd></dl>

<hr>
Data descriptors inherited from Text:<br>
<dl><dt><strong>align</strong></dt>
</dl>
<dl><dt><strong>attrib</strong></dt>
</dl>
<dl><dt><strong>layout</strong></dt>
</dl>
<dl><dt><strong>text</strong></dt>
</dl>
<dl><dt><strong>wrap</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Edit-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Edit-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="IntEdit"></a><h3>function IntEdit <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="IntEdit">class <strong>IntEdit</strong></a>(Edit) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>IntEdit</dd>
<dd>Edit</dd>
<dd>Text</dd>
<dd>FlowWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="IntEdit-__init__"><strong>__init__</strong></a>(self, caption<font color="#909090">=''</font>, default<font color="#909090">=None</font>)</dt><dd><tt>caption&nbsp;--&nbsp;caption&nbsp;markup<br>
default&nbsp;--&nbsp;default&nbsp;edit&nbsp;value<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;IntEdit(u"",&nbsp;42)<br>
&lt;IntEdit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;'42'&nbsp;edit_pos=2&gt;</tt></dd></dl>

<dl><dt><a name="IntEdit-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Handle&nbsp;editing&nbsp;keystrokes.&nbsp;&nbsp;Remove&nbsp;leading&nbsp;zeros.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e,&nbsp;size&nbsp;=&nbsp;IntEdit(u"",&nbsp;5002),&nbsp;(10,)<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'home')<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'delete')<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
002<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'end')<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
2</tt></dd></dl>

<dl><dt><a name="IntEdit-valid_char"><strong>valid_char</strong></a>(self, ch)</dt><dd><tt>Return&nbsp;true&nbsp;for&nbsp;decimal&nbsp;digits.</tt></dd></dl>

<dl><dt><a name="IntEdit-value"><strong>value</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;numeric&nbsp;value&nbsp;of&nbsp;self.<strong>edit_text</strong>.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e,&nbsp;size&nbsp;=&nbsp;IntEdit(),&nbsp;(10,)<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'5')<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'1')<br>
&gt;&gt;&gt;&nbsp;e.value()&nbsp;==&nbsp;51<br>
True</tt></dd></dl>

<hr>
Methods inherited from Edit:<br>
<dl><dt><a name="IntEdit-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;(x,y)&nbsp;coordinates&nbsp;of&nbsp;cursor&nbsp;within&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit("?&nbsp;","yes").get_cursor_coords((10,))<br>
(5,&nbsp;0)</tt></dd></dl>

<dl><dt><a name="IntEdit-get_edit_text"><strong>get_edit_text</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;edit&nbsp;text&nbsp;for&nbsp;this&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit(u"What?&nbsp;",&nbsp;u"oh,&nbsp;nothing.")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.get_edit_text()<br>
oh,&nbsp;nothing.<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
oh,&nbsp;nothing.</tt></dd></dl>

<dl><dt><a name="IntEdit-get_line_translation"><strong>get_line_translation</strong></a>(self, maxcol, ta<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="IntEdit-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt><dd><tt>Return&nbsp;the&nbsp;preferred&nbsp;column&nbsp;for&nbsp;the&nbsp;cursor,&nbsp;or&nbsp;the<br>
current&nbsp;cursor&nbsp;x&nbsp;value.&nbsp;&nbsp;May&nbsp;also&nbsp;return&nbsp;'left'&nbsp;or&nbsp;'right'<br>
to&nbsp;indicate&nbsp;the&nbsp;leftmost&nbsp;or&nbsp;rightmost&nbsp;column&nbsp;available.<br>
&nbsp;<br>
This&nbsp;method&nbsp;is&nbsp;used&nbsp;internally&nbsp;and&nbsp;by&nbsp;other&nbsp;widgets&nbsp;when<br>
moving&nbsp;the&nbsp;cursor&nbsp;up&nbsp;or&nbsp;down&nbsp;between&nbsp;widgets&nbsp;so&nbsp;that&nbsp;the&nbsp;<br>
column&nbsp;selected&nbsp;is&nbsp;one&nbsp;that&nbsp;the&nbsp;user&nbsp;would&nbsp;expect.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(10,)<br>
&gt;&gt;&gt;&nbsp;Edit().get_pref_col(size)<br>
0<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("","word")<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
4<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'left')<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
3<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'end')<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
'right'<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("","2\nwords")<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'left')<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'up')<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
4<br>
&gt;&gt;&gt;&nbsp;e.keypress(size,&nbsp;'left')<br>
&gt;&gt;&gt;&nbsp;e.get_pref_col(size)<br>
0</tt></dd></dl>

<dl><dt><a name="IntEdit-get_text"><strong>get_text</strong></a>(self)</dt><dd><tt>Returns&nbsp;(text,&nbsp;attributes).<br>
&nbsp;<br>
text&nbsp;--&nbsp;complete&nbsp;text&nbsp;of&nbsp;caption&nbsp;and&nbsp;edit_text,&nbsp;maybe&nbsp;masked&nbsp;away<br>
attributes&nbsp;--&nbsp;run&nbsp;length&nbsp;encoded&nbsp;attributes&nbsp;for&nbsp;text<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit("What?&nbsp;","oh,&nbsp;nothing.").get_text()&nbsp;#&nbsp;...&nbsp;=&nbsp;u&nbsp;in&nbsp;Python&nbsp;2<br>
(...'What?&nbsp;oh,&nbsp;nothing.',&nbsp;[])<br>
&gt;&gt;&gt;&nbsp;Edit(('bright',"user@host:~$&nbsp;"),"ls").get_text()<br>
(...'user@host:~$&nbsp;ls',&nbsp;[('bright',&nbsp;13)])</tt></dd></dl>

<dl><dt><a name="IntEdit-insert_text"><strong>insert_text</strong></a>(self, text)</dt><dd><tt>Insert&nbsp;text&nbsp;at&nbsp;the&nbsp;cursor&nbsp;position&nbsp;and&nbsp;update&nbsp;cursor.<br>
This&nbsp;method&nbsp;is&nbsp;used&nbsp;by&nbsp;the&nbsp;keypress()&nbsp;method&nbsp;when&nbsp;inserting<br>
one&nbsp;or&nbsp;more&nbsp;characters&nbsp;into&nbsp;edit_text.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit(u"",&nbsp;u"42")<br>
&gt;&gt;&gt;&nbsp;e.insert_text(u".5")<br>
&gt;&gt;&gt;&nbsp;e<br>
&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;'42.5'&nbsp;edit_pos=4&gt;<br>
&gt;&gt;&gt;&nbsp;e.set_edit_pos(2)<br>
&gt;&gt;&gt;&nbsp;e.insert_text(u"a")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
42a.5</tt></dd></dl>

<dl><dt><a name="IntEdit-insert_text_result"><strong>insert_text_result</strong></a>(self, text)</dt><dd><tt>Return&nbsp;result&nbsp;of&nbsp;insert_text(text)&nbsp;without&nbsp;actually&nbsp;performing&nbsp;the<br>
insertion.&nbsp;&nbsp;Handy&nbsp;for&nbsp;pre-validation.</tt></dd></dl>

<dl><dt><a name="IntEdit-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, x, y, focus)</dt><dd><tt>Move&nbsp;the&nbsp;cursor&nbsp;to&nbsp;the&nbsp;location&nbsp;clicked&nbsp;for&nbsp;button&nbsp;1.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(20,)<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("","words&nbsp;here")<br>
&gt;&gt;&gt;&nbsp;e.mouse_event(size,&nbsp;'mouse&nbsp;press',&nbsp;1,&nbsp;2,&nbsp;0,&nbsp;True)<br>
True<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
2</tt></dd></dl>

<dl><dt><a name="IntEdit-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, x, y)</dt><dd><tt>Set&nbsp;the&nbsp;cursor&nbsp;position&nbsp;with&nbsp;(x,y)&nbsp;coordinates.<br>
Returns&nbsp;True&nbsp;if&nbsp;move&nbsp;succeeded,&nbsp;False&nbsp;otherwise.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(10,)<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("","edit\ntext")<br>
&gt;&gt;&gt;&nbsp;e.move_cursor_to_coords(size,&nbsp;5,&nbsp;0)<br>
True<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
4<br>
&gt;&gt;&gt;&nbsp;e.move_cursor_to_coords(size,&nbsp;5,&nbsp;3)<br>
False<br>
&gt;&gt;&gt;&nbsp;e.move_cursor_to_coords(size,&nbsp;0,&nbsp;1)<br>
True<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
5</tt></dd></dl>

<dl><dt><a name="IntEdit-position_coords"><strong>position_coords</strong></a>(self, maxcol, pos)</dt><dd><tt>Return&nbsp;(x,y)&nbsp;coordinates&nbsp;for&nbsp;an&nbsp;offset&nbsp;into&nbsp;self.<strong>edit_text</strong>.</tt></dd></dl>

<dl><dt><a name="IntEdit-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;edit&nbsp;widget&nbsp;and&nbsp;return&nbsp;canvas.&nbsp;&nbsp;Include&nbsp;cursor&nbsp;when&nbsp;in<br>
focus.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;c&nbsp;=&nbsp;Edit("?&nbsp;","yes").render((10,),&nbsp;focus=True)<br>
&gt;&gt;&gt;&nbsp;c.text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'?&nbsp;yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;c.cursor<br>
(5,&nbsp;0)</tt></dd></dl>

<dl><dt><a name="IntEdit-selectable"><strong>selectable</strong></a>(self)</dt></dl>

<dl><dt><a name="IntEdit-set_caption"><strong>set_caption</strong></a>(self, caption)</dt><dd><tt>Set&nbsp;the&nbsp;caption&nbsp;markup&nbsp;for&nbsp;this&nbsp;widget.<br>
&nbsp;<br>
caption&nbsp;--&nbsp;see&nbsp;Text.__init__()&nbsp;for&nbsp;description&nbsp;of&nbsp;markup<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit("")<br>
&gt;&gt;&gt;&nbsp;e.set_caption("cap1")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.caption<br>
cap1<br>
&gt;&gt;&gt;&nbsp;e.set_caption(('bold',&nbsp;"cap2"))<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.caption<br>
cap2<br>
&gt;&gt;&gt;&nbsp;e.attrib<br>
[('bold',&nbsp;4)]<br>
&gt;&gt;&gt;&nbsp;e.caption&nbsp;=&nbsp;"cap3"&nbsp;&nbsp;#&nbsp;not&nbsp;supported&nbsp;because&nbsp;caption&nbsp;stores&nbsp;text&nbsp;but&nbsp;set_caption()&nbsp;takes&nbsp;markup<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
AttributeError:&nbsp;can't&nbsp;set&nbsp;attribute</tt></dd></dl>

<dl><dt><a name="IntEdit-set_edit_pos"><strong>set_edit_pos</strong></a>(self, pos)</dt><dd><tt>Set&nbsp;the&nbsp;cursor&nbsp;position&nbsp;with&nbsp;a&nbsp;self.<strong>edit_text</strong>&nbsp;offset.&nbsp;&nbsp;<br>
Clips&nbsp;pos&nbsp;to&nbsp;[0,&nbsp;len(edit_text)].<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit(u"",&nbsp;u"word")<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
4<br>
&gt;&gt;&gt;&nbsp;e.set_edit_pos(2)<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
2<br>
&gt;&gt;&gt;&nbsp;e.edit_pos&nbsp;=&nbsp;-1&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
0<br>
&gt;&gt;&gt;&nbsp;e.edit_pos&nbsp;=&nbsp;20<br>
&gt;&gt;&gt;&nbsp;e.edit_pos<br>
4</tt></dd></dl>

<dl><dt><a name="IntEdit-set_edit_text"><strong>set_edit_text</strong></a>(self, text)</dt><dd><tt>Set&nbsp;the&nbsp;edit&nbsp;text&nbsp;for&nbsp;this&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit()<br>
&gt;&gt;&gt;&nbsp;e.set_edit_text(u"yes")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
yes<br>
&gt;&gt;&gt;&nbsp;e<br>
&lt;Edit&nbsp;selectable&nbsp;flow&nbsp;widget&nbsp;'yes'&nbsp;edit_pos=0&gt;<br>
&gt;&gt;&gt;&nbsp;e.edit_text&nbsp;=&nbsp;u"no"&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
no</tt></dd></dl>

<dl><dt><a name="IntEdit-set_mask"><strong>set_mask</strong></a>(self, mask)</dt><dd><tt>Set&nbsp;the&nbsp;character&nbsp;for&nbsp;masking&nbsp;text&nbsp;away.&nbsp;Empty&nbsp;means&nbsp;no&nbsp;masking.</tt></dd></dl>

<dl><dt><a name="IntEdit-set_text"><strong>set_text</strong></a>(self, markup)</dt><dd><tt>Not&nbsp;supported&nbsp;by&nbsp;Edit&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit().set_text("test")<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
EditError:&nbsp;set_text()&nbsp;not&nbsp;supported.&nbsp;&nbsp;Use&nbsp;set_caption()&nbsp;or&nbsp;set_edit_text()&nbsp;instead.</tt></dd></dl>

<dl><dt><a name="IntEdit-update_text"><strong>update_text</strong></a>(self)</dt><dd><tt>No&nbsp;longer&nbsp;supported.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Edit().update_text()<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
EditError:&nbsp;update_text()&nbsp;has&nbsp;been&nbsp;removed.&nbsp;&nbsp;Use&nbsp;set_caption()&nbsp;or&nbsp;set_edit_text()&nbsp;instead.</tt></dd></dl>

<hr>
Data descriptors inherited from Edit:<br>
<dl><dt><strong>caption</strong></dt>
</dl>
<dl><dt><strong>edit_pos</strong></dt>
</dl>
<dl><dt><strong>edit_text</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;edit&nbsp;text&nbsp;for&nbsp;this&nbsp;widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;e&nbsp;=&nbsp;Edit(u"What?&nbsp;",&nbsp;u"oh,&nbsp;nothing.")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.get_edit_text()<br>
oh,&nbsp;nothing.<br>
&gt;&gt;&gt;&nbsp;print&nbsp;e.edit_text<br>
oh,&nbsp;nothing.</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Edit:<br>
<dl><dt><strong>signals</strong> = ['change']</dl>

<hr>
Methods inherited from Text:<br>
<dl><dt><a name="IntEdit-pack"><strong>pack</strong></a>(self, size<font color="#909090">=None</font>, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;screen&nbsp;columns&nbsp;and&nbsp;rows&nbsp;required&nbsp;for<br>
this&nbsp;Text&nbsp;widget&nbsp;to&nbsp;be&nbsp;displayed&nbsp;without&nbsp;wrapping&nbsp;or&nbsp;<br>
clipping,&nbsp;as&nbsp;a&nbsp;single&nbsp;element&nbsp;tuple.<br>
&nbsp;<br>
size&nbsp;--&nbsp;None&nbsp;for&nbsp;unlimited&nbsp;screen&nbsp;columns&nbsp;or&nbsp;(maxcol,)&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;specify&nbsp;a&nbsp;maximum&nbsp;column&nbsp;size<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack()<br>
(16,&nbsp;1)<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack((15,))<br>
(9,&nbsp;2)<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").pack((8,))<br>
(8,&nbsp;2)</tt></dd></dl>

<dl><dt><a name="IntEdit-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;the&nbsp;rendered&nbsp;text&nbsp;spans.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").rows((18,))<br>
1<br>
&gt;&gt;&gt;&nbsp;Text(u"important&nbsp;things").rows((11,))<br>
2</tt></dd></dl>

<dl><dt><a name="IntEdit-set_align_mode"><strong>set_align_mode</strong></a>(self, mode)</dt><dd><tt>Set&nbsp;text&nbsp;alignment&nbsp;/&nbsp;justification.<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'left',&nbsp;'center'&nbsp;and&nbsp;'right'<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"word")<br>
&gt;&gt;&gt;&nbsp;t.set_align_mode('right')<br>
&gt;&gt;&gt;&nbsp;t.align<br>
'right'<br>
&gt;&gt;&gt;&nbsp;t.render((10,)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;word']<br>
&gt;&gt;&gt;&nbsp;t.align&nbsp;=&nbsp;'center'<br>
&gt;&gt;&gt;&nbsp;t.render((10,)).text<br>
[...'&nbsp;&nbsp;&nbsp;word&nbsp;&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.align&nbsp;=&nbsp;'somewhere'<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
TextError:&nbsp;Alignment&nbsp;mode&nbsp;'somewhere'&nbsp;not&nbsp;supported.</tt></dd></dl>

<dl><dt><a name="IntEdit-set_layout"><strong>set_layout</strong></a>(self, align, wrap, layout<font color="#909090">=None</font>)</dt><dd><tt>Set&nbsp;layout&nbsp;object,&nbsp;align&nbsp;and&nbsp;wrap&nbsp;modes.<br>
&nbsp;<br>
align&nbsp;--&nbsp;align&nbsp;mode&nbsp;for&nbsp;text&nbsp;layout<br>
wrap&nbsp;--&nbsp;wrap&nbsp;mode&nbsp;for&nbsp;text&nbsp;layout<br>
layout&nbsp;--&nbsp;layout&nbsp;object&nbsp;to&nbsp;use,&nbsp;defaults&nbsp;to&nbsp;StandardTextLayout<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"hi")<br>
&gt;&gt;&gt;&nbsp;t.set_layout('right',&nbsp;'clip')<br>
&gt;&gt;&gt;&nbsp;t<br>
&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&nbsp;align='right'&nbsp;wrap='clip'&gt;</tt></dd></dl>

<dl><dt><a name="IntEdit-set_wrap_mode"><strong>set_wrap_mode</strong></a>(self, mode)</dt><dd><tt>Set&nbsp;wrap&nbsp;mode.<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'any'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;at&nbsp;any&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;'space'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;on&nbsp;space&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;'clip'&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;truncate&nbsp;lines&nbsp;instead&nbsp;of&nbsp;wrapping<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text(u"some&nbsp;words")<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'some&nbsp;&nbsp;',&nbsp;...'words&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.set_wrap_mode('clip')<br>
&gt;&gt;&gt;&nbsp;t.wrap<br>
'clip'<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text<br>
[...'some&nbsp;w']<br>
&gt;&gt;&gt;&nbsp;t.wrap&nbsp;=&nbsp;'any'&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
&gt;&gt;&gt;&nbsp;t.render((6,)).text<br>
[...'some&nbsp;w',&nbsp;...'ords&nbsp;&nbsp;']<br>
&gt;&gt;&gt;&nbsp;t.wrap&nbsp;=&nbsp;'somehow'<br>
Traceback&nbsp;(most&nbsp;recent&nbsp;call&nbsp;last):<br>
TextError:&nbsp;Wrap&nbsp;mode&nbsp;'somehow'&nbsp;not&nbsp;supported.</tt></dd></dl>

<hr>
Data descriptors inherited from Text:<br>
<dl><dt><strong>align</strong></dt>
</dl>
<dl><dt><strong>attrib</strong></dt>
</dl>
<dl><dt><strong>layout</strong></dt>
</dl>
<dl><dt><strong>text</strong></dt>
</dl>
<dl><dt><strong>wrap</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="IntEdit-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="IntEdit-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="Button"></a><h3>function Button <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Button">class <strong>Button</strong></a>(WidgetWrap) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Button</dd>
<dd>WidgetWrap</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Button-__init__"><strong>__init__</strong></a>(self, label, on_press<font color="#909090">=None</font>, user_data<font color="#909090">=None</font>)</dt><dd><tt>label&nbsp;--&nbsp;markup&nbsp;for&nbsp;button&nbsp;label<br>
on_press,&nbsp;user_data&nbsp;--&nbsp;shorthand&nbsp;for&nbsp;connect_signal()<br>
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;call&nbsp;for&nbsp;a&nbsp;single&nbsp;callback<br>
&nbsp;<br>
Signals&nbsp;supported:&nbsp;'click'<br>
Register&nbsp;signal&nbsp;handler&nbsp;with:<br>
&nbsp;&nbsp;connect_signal(button,&nbsp;'click',&nbsp;callback&nbsp;[,user_data])<br>
where&nbsp;callback&nbsp;is&nbsp;callback(button&nbsp;[,user_data])<br>
Unregister&nbsp;signal&nbsp;handlers&nbsp;with:<br>
&nbsp;&nbsp;disconnect_signal(button,&nbsp;'click',&nbsp;callback&nbsp;[,user_data])<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;Button(u"Ok")<br>
&lt;Button&nbsp;selectable&nbsp;widget&nbsp;'Ok'&gt;<br>
&gt;&gt;&gt;&nbsp;b&nbsp;=&nbsp;Button("Cancel")<br>
&gt;&gt;&gt;&nbsp;b.render((15,),&nbsp;focus=True).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'&lt;&nbsp;Cancel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;']</tt></dd></dl>

<dl><dt><a name="Button-get_label"><strong>get_label</strong></a>(self)</dt><dd><tt>Return&nbsp;label&nbsp;text.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;b&nbsp;=&nbsp;Button(u"Ok")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;b.get_label()<br>
Ok<br>
&gt;&gt;&gt;&nbsp;print&nbsp;b.label&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
Ok</tt></dd></dl>

<dl><dt><a name="Button-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Send&nbsp;'click'&nbsp;signal&nbsp;on&nbsp;'activate'&nbsp;command.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;assert&nbsp;Button._command_map['&nbsp;']&nbsp;==&nbsp;'activate'<br>
&gt;&gt;&gt;&nbsp;assert&nbsp;Button._command_map['enter']&nbsp;==&nbsp;'activate'<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(15,)<br>
&gt;&gt;&gt;&nbsp;b&nbsp;=&nbsp;Button(u"Cancel")<br>
&gt;&gt;&gt;&nbsp;clicked_buttons&nbsp;=&nbsp;[]<br>
&gt;&gt;&gt;&nbsp;def&nbsp;handle_click(button):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clicked_buttons.append(button.label)<br>
&gt;&gt;&gt;&nbsp;connect_signal(b,&nbsp;'click',&nbsp;handle_click)<br>
&gt;&gt;&gt;&nbsp;b.keypress(size,&nbsp;'enter')<br>
&gt;&gt;&gt;&nbsp;b.keypress(size,&nbsp;'&nbsp;')<br>
&gt;&gt;&gt;&nbsp;clicked_buttons&nbsp;#&nbsp;...&nbsp;=&nbsp;u&nbsp;in&nbsp;Python&nbsp;2<br>
[...'Cancel',&nbsp;...'Cancel']</tt></dd></dl>

<dl><dt><a name="Button-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, x, y, focus)</dt><dd><tt>Send&nbsp;'click'&nbsp;signal&nbsp;on&nbsp;button&nbsp;1&nbsp;press.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(15,)<br>
&gt;&gt;&gt;&nbsp;b&nbsp;=&nbsp;Button(u"Ok")<br>
&gt;&gt;&gt;&nbsp;clicked_buttons&nbsp;=&nbsp;[]<br>
&gt;&gt;&gt;&nbsp;def&nbsp;handle_click(button):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clicked_buttons.append(button.label)<br>
&gt;&gt;&gt;&nbsp;connect_signal(b,&nbsp;'click',&nbsp;handle_click)<br>
&gt;&gt;&gt;&nbsp;b.mouse_event(size,&nbsp;'mouse&nbsp;press',&nbsp;1,&nbsp;4,&nbsp;0,&nbsp;True)<br>
True<br>
&gt;&gt;&gt;&nbsp;b.mouse_event(size,&nbsp;'mouse&nbsp;press',&nbsp;2,&nbsp;4,&nbsp;0,&nbsp;True)&nbsp;#&nbsp;ignored<br>
False<br>
&gt;&gt;&gt;&nbsp;clicked_buttons&nbsp;#&nbsp;...&nbsp;=&nbsp;u&nbsp;in&nbsp;Python&nbsp;2<br>
[...'Ok']</tt></dd></dl>

<dl><dt><a name="Button-set_label"><strong>set_label</strong></a>(self, label)</dt><dd><tt>Change&nbsp;the&nbsp;button&nbsp;label.<br>
&nbsp;<br>
label&nbsp;--&nbsp;markup&nbsp;for&nbsp;button&nbsp;label<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;b&nbsp;=&nbsp;Button("Ok")<br>
&gt;&gt;&gt;&nbsp;b.set_label(u"Yup&nbsp;yup")<br>
&gt;&gt;&gt;&nbsp;b<br>
&lt;Button&nbsp;selectable&nbsp;widget&nbsp;'Yup&nbsp;yup'&gt;</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>label</strong></dt>
<dd><tt>Return&nbsp;label&nbsp;text.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;b&nbsp;=&nbsp;Button(u"Ok")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;b.get_label()<br>
Ok<br>
&gt;&gt;&gt;&nbsp;print&nbsp;b.label&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
Ok</tt></dd>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>button_left</strong> = &lt;Text flow widget b'&lt;'&gt;</dl>

<dl><dt><strong>button_right</strong> = &lt;Text flow widget b'&gt;'&gt;</dl>

<dl><dt><strong>signals</strong> = ['click']</dl>

<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</dl>
<hr>
Methods inherited from DelegateToWidgetMixin:<br>
<dl><dt><a name="Button-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<dl><dt><strong>selectable</strong></dt>
</dl>
<dl><dt><strong>sizing</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Button-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="CheckBox"></a><h3>function CheckBox <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="CheckBox">class <strong>CheckBox</strong></a>(WidgetWrap) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>CheckBox</dd>
<dd>WidgetWrap</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="CheckBox-__init__"><strong>__init__</strong></a>(self, label, state<font color="#909090">=False</font>, has_mixed<font color="#909090">=False</font>, on_state_change<font color="#909090">=None</font>, user_data<font color="#909090">=None</font>)</dt><dd><tt>label&nbsp;--&nbsp;markup&nbsp;for&nbsp;check&nbsp;box&nbsp;label<br>
state&nbsp;--&nbsp;False,&nbsp;True&nbsp;or&nbsp;"mixed"<br>
has_mixed&nbsp;--&nbsp;True&nbsp;if&nbsp;"mixed"&nbsp;is&nbsp;a&nbsp;state&nbsp;to&nbsp;cycle&nbsp;through<br>
on_state_change,&nbsp;user_data&nbsp;--&nbsp;shorthand&nbsp;for&nbsp;connect_signal()<br>
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;call&nbsp;for&nbsp;a&nbsp;single&nbsp;callback<br>
&nbsp;<br>
Signals&nbsp;supported:&nbsp;'change'<br>
Register&nbsp;signal&nbsp;handler&nbsp;with:<br>
&nbsp;&nbsp;connect_signal(check_box,&nbsp;'change',&nbsp;callback&nbsp;[,user_data])<br>
where&nbsp;callback&nbsp;is&nbsp;callback(check_box,&nbsp;new_state&nbsp;[,user_data])<br>
Unregister&nbsp;signal&nbsp;handlers&nbsp;with:<br>
&nbsp;&nbsp;disconnect_signal(check_box,&nbsp;'change',&nbsp;callback&nbsp;[,user_data])<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;CheckBox(u"Confirm")<br>
&lt;CheckBox&nbsp;selectable&nbsp;widget&nbsp;'Confirm'&nbsp;state=False&gt;<br>
&gt;&gt;&gt;&nbsp;CheckBox(u"Yogourt",&nbsp;"mixed",&nbsp;True)<br>
&lt;CheckBox&nbsp;selectable&nbsp;widget&nbsp;'Yogourt'&nbsp;state='mixed'&gt;<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox(u"Extra&nbsp;onions",&nbsp;True)<br>
&gt;&gt;&gt;&nbsp;cb<br>
&lt;CheckBox&nbsp;selectable&nbsp;widget&nbsp;'Extra&nbsp;onions'&nbsp;state=True&gt;<br>
&gt;&gt;&gt;&nbsp;cb.render((20,),&nbsp;focus=True).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'[X]&nbsp;Extra&nbsp;onions&nbsp;&nbsp;&nbsp;&nbsp;']</tt></dd></dl>

<dl><dt><a name="CheckBox-get_label"><strong>get_label</strong></a>(self)</dt><dd><tt>Return&nbsp;label&nbsp;text.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox(u"Seriously")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.get_label()<br>
Seriously<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.label&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
Seriously<br>
&gt;&gt;&gt;&nbsp;cb.set_label([('bright_attr',&nbsp;u"flashy"),&nbsp;u"&nbsp;normal"])<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.label&nbsp;&nbsp;#&nbsp;&nbsp;only&nbsp;text&nbsp;is&nbsp;returned<br>
flashy&nbsp;normal</tt></dd></dl>

<dl><dt><a name="CheckBox-get_state"><strong>get_state</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;checkbox.</tt></dd></dl>

<dl><dt><a name="CheckBox-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Toggle&nbsp;state&nbsp;on&nbsp;'activate'&nbsp;command.&nbsp;&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;assert&nbsp;CheckBox._command_map['&nbsp;']&nbsp;==&nbsp;'activate'<br>
&gt;&gt;&gt;&nbsp;assert&nbsp;CheckBox._command_map['enter']&nbsp;==&nbsp;'activate'<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(10,)<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox('press&nbsp;me')<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False<br>
&gt;&gt;&gt;&nbsp;cb.keypress(size,&nbsp;'&nbsp;')<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
True<br>
&gt;&gt;&gt;&nbsp;cb.keypress(size,&nbsp;'&nbsp;')<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False</tt></dd></dl>

<dl><dt><a name="CheckBox-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, x, y, focus)</dt><dd><tt>Toggle&nbsp;state&nbsp;on&nbsp;button&nbsp;1&nbsp;press.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(20,)<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox("clickme")<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False<br>
&gt;&gt;&gt;&nbsp;cb.mouse_event(size,&nbsp;'mouse&nbsp;press',&nbsp;1,&nbsp;2,&nbsp;0,&nbsp;True)<br>
True<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
True</tt></dd></dl>

<dl><dt><a name="CheckBox-set_label"><strong>set_label</strong></a>(self, label)</dt><dd><tt>Change&nbsp;the&nbsp;check&nbsp;box&nbsp;label.<br>
&nbsp;<br>
label&nbsp;--&nbsp;markup&nbsp;for&nbsp;label.&nbsp;&nbsp;See&nbsp;Text&nbsp;widget&nbsp;for&nbsp;description<br>
of&nbsp;text&nbsp;markup.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox(u"foo")<br>
&gt;&gt;&gt;&nbsp;cb<br>
&lt;CheckBox&nbsp;selectable&nbsp;widget&nbsp;'foo'&nbsp;state=False&gt;<br>
&gt;&gt;&gt;&nbsp;cb.set_label(('bright_attr',&nbsp;u"bar"))<br>
&gt;&gt;&gt;&nbsp;cb<br>
&lt;CheckBox&nbsp;selectable&nbsp;widget&nbsp;'bar'&nbsp;state=False&gt;</tt></dd></dl>

<dl><dt><a name="CheckBox-set_state"><strong>set_state</strong></a>(self, state, do_callback<font color="#909090">=True</font>)</dt><dd><tt>Set&nbsp;the&nbsp;CheckBox&nbsp;state.<br>
&nbsp;<br>
state&nbsp;--&nbsp;True,&nbsp;False&nbsp;or&nbsp;"mixed"<br>
do_callback&nbsp;--&nbsp;False&nbsp;to&nbsp;supress&nbsp;signal&nbsp;from&nbsp;this&nbsp;change<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;changes&nbsp;=&nbsp;[]<br>
&gt;&gt;&gt;&nbsp;def&nbsp;callback_a(cb,&nbsp;state,&nbsp;user_data):&nbsp;<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes.append("A&nbsp;%r&nbsp;%r"&nbsp;%&nbsp;(state,&nbsp;user_data))<br>
&gt;&gt;&gt;&nbsp;def&nbsp;callback_b(cb,&nbsp;state):&nbsp;<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes.append("B&nbsp;%r"&nbsp;%&nbsp;state)<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox('test',&nbsp;False,&nbsp;False)<br>
&gt;&gt;&gt;&nbsp;connect_signal(cb,&nbsp;'change',&nbsp;callback_a,&nbsp;"user_a")<br>
&gt;&gt;&gt;&nbsp;connect_signal(cb,&nbsp;'change',&nbsp;callback_b)<br>
&gt;&gt;&gt;&nbsp;cb.set_state(True)&nbsp;#&nbsp;both&nbsp;callbacks&nbsp;will&nbsp;be&nbsp;triggered<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
True<br>
&gt;&gt;&gt;&nbsp;disconnect_signal(cb,&nbsp;'change',&nbsp;callback_a,&nbsp;"user_a")<br>
&gt;&gt;&gt;&nbsp;cb.state&nbsp;=&nbsp;False&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False<br>
&gt;&gt;&gt;&nbsp;cb.set_state(True)<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
True<br>
&gt;&gt;&gt;&nbsp;cb.set_state(False,&nbsp;False)&nbsp;#&nbsp;don't&nbsp;send&nbsp;signal<br>
&gt;&gt;&gt;&nbsp;changes<br>
["A&nbsp;True&nbsp;'user_a'",&nbsp;'B&nbsp;True',&nbsp;'B&nbsp;False',&nbsp;'B&nbsp;True']</tt></dd></dl>

<dl><dt><a name="CheckBox-toggle_state"><strong>toggle_state</strong></a>(self)</dt><dd><tt>Cycle&nbsp;to&nbsp;the&nbsp;next&nbsp;valid&nbsp;state.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox("3-state",&nbsp;has_mixed=True)<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False<br>
&gt;&gt;&gt;&nbsp;cb.toggle_state()<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
True<br>
&gt;&gt;&gt;&nbsp;cb.toggle_state()<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
'mixed'<br>
&gt;&gt;&gt;&nbsp;cb.toggle_state()<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>label</strong></dt>
<dd><tt>Return&nbsp;label&nbsp;text.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox(u"Seriously")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.get_label()<br>
Seriously<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.label&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
Seriously<br>
&gt;&gt;&gt;&nbsp;cb.set_label([('bright_attr',&nbsp;u"flashy"),&nbsp;u"&nbsp;normal"])<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.label&nbsp;&nbsp;#&nbsp;&nbsp;only&nbsp;text&nbsp;is&nbsp;returned<br>
flashy&nbsp;normal</tt></dd>
</dl>
<dl><dt><strong>state</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;checkbox.</tt></dd>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>reserve_columns</strong> = 4</dl>

<dl><dt><strong>signals</strong> = ['change']</dl>

<dl><dt><strong>states</strong> = {False: &lt;SelectableIcon selectable flow widget b'[ ]'&gt;, True: &lt;SelectableIcon selectable flow widget b'[X]'&gt;, 'mixed': &lt;SelectableIcon selectable flow widget b'[#]'&gt;}</dl>

<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</dl>
<hr>
Methods inherited from DelegateToWidgetMixin:<br>
<dl><dt><a name="CheckBox-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<dl><dt><strong>selectable</strong></dt>
</dl>
<dl><dt><strong>sizing</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="CheckBox-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="RadioButton"></a><h3>function RadioButton <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="RadioButton">class <strong>RadioButton</strong></a>(CheckBox) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>RadioButton</dd>
<dd>CheckBox</dd>
<dd>WidgetWrap</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="RadioButton-__init__"><strong>__init__</strong></a>(self, group, label, state<font color="#909090">='first True'</font>, on_state_change<font color="#909090">=None</font>, user_data<font color="#909090">=None</font>)</dt><dd><tt>group&nbsp;--&nbsp;list&nbsp;for&nbsp;radio&nbsp;buttons&nbsp;in&nbsp;same&nbsp;group<br>
label&nbsp;--&nbsp;markup&nbsp;for&nbsp;radio&nbsp;button&nbsp;label<br>
state&nbsp;--&nbsp;False,&nbsp;True,&nbsp;"mixed"&nbsp;or&nbsp;"first&nbsp;True"<br>
on_state_change,&nbsp;user_data&nbsp;--&nbsp;shorthand&nbsp;for&nbsp;connect_signal()<br>
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;call&nbsp;for&nbsp;a&nbsp;single&nbsp;'change'&nbsp;callback<br>
&nbsp;<br>
This&nbsp;function&nbsp;will&nbsp;append&nbsp;the&nbsp;new&nbsp;radio&nbsp;button&nbsp;to&nbsp;group.<br>
"first&nbsp;True"&nbsp;will&nbsp;set&nbsp;to&nbsp;True&nbsp;if&nbsp;group&nbsp;is&nbsp;empty.<br>
&nbsp;<br>
Signals&nbsp;supported:&nbsp;'change'<br>
Register&nbsp;signal&nbsp;handler&nbsp;with:<br>
&nbsp;&nbsp;connect_signal(radio_button,&nbsp;'change',&nbsp;callback&nbsp;[,user_data])<br>
where&nbsp;callback&nbsp;is&nbsp;callback(radio_button,&nbsp;new_state&nbsp;[,user_data])<br>
Unregister&nbsp;signal&nbsp;handlers&nbsp;with:<br>
&nbsp;&nbsp;disconnect_signal(radio_button,&nbsp;'change',&nbsp;callback&nbsp;[,user_data])<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;bgroup&nbsp;=&nbsp;[]&nbsp;#&nbsp;button&nbsp;group<br>
&gt;&gt;&gt;&nbsp;b1&nbsp;=&nbsp;RadioButton(bgroup,&nbsp;u"Agree")<br>
&gt;&gt;&gt;&nbsp;b2&nbsp;=&nbsp;RadioButton(bgroup,&nbsp;u"Disagree")<br>
&gt;&gt;&gt;&nbsp;len(bgroup)<br>
2<br>
&gt;&gt;&gt;&nbsp;b1<br>
&lt;RadioButton&nbsp;selectable&nbsp;widget&nbsp;'Agree'&nbsp;state=True&gt;<br>
&gt;&gt;&gt;&nbsp;b2<br>
&lt;RadioButton&nbsp;selectable&nbsp;widget&nbsp;'Disagree'&nbsp;state=False&gt;<br>
&gt;&gt;&gt;&nbsp;b2.render((15,),&nbsp;focus=True).text&nbsp;#&nbsp;...&nbsp;=&nbsp;b&nbsp;in&nbsp;Python&nbsp;3<br>
[...'(&nbsp;)&nbsp;Disagree&nbsp;&nbsp;&nbsp;']</tt></dd></dl>

<dl><dt><a name="RadioButton-set_state"><strong>set_state</strong></a>(self, state, do_callback<font color="#909090">=True</font>)</dt><dd><tt>Set&nbsp;the&nbsp;RadioButton&nbsp;state.<br>
&nbsp;<br>
state&nbsp;--&nbsp;True,&nbsp;False&nbsp;or&nbsp;"mixed"<br>
do_callback&nbsp;--&nbsp;False&nbsp;to&nbsp;supress&nbsp;signal&nbsp;from&nbsp;this&nbsp;change<br>
&nbsp;<br>
If&nbsp;state&nbsp;is&nbsp;True&nbsp;all&nbsp;other&nbsp;radio&nbsp;buttons&nbsp;in&nbsp;the&nbsp;same&nbsp;button<br>
group&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;False.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;bgroup&nbsp;=&nbsp;[]&nbsp;#&nbsp;button&nbsp;group<br>
&gt;&gt;&gt;&nbsp;b1&nbsp;=&nbsp;RadioButton(bgroup,&nbsp;u"Agree")<br>
&gt;&gt;&gt;&nbsp;b2&nbsp;=&nbsp;RadioButton(bgroup,&nbsp;u"Disagree")<br>
&gt;&gt;&gt;&nbsp;b3&nbsp;=&nbsp;RadioButton(bgroup,&nbsp;u"Unsure")<br>
&gt;&gt;&gt;&nbsp;b1.state,&nbsp;b2.state,&nbsp;b3.state<br>
(True,&nbsp;False,&nbsp;False)<br>
&gt;&gt;&gt;&nbsp;b2.set_state(True)<br>
&gt;&gt;&gt;&nbsp;b1.state,&nbsp;b2.state,&nbsp;b3.state<br>
(False,&nbsp;True,&nbsp;False)<br>
&gt;&gt;&gt;&nbsp;def&nbsp;relabel_button(radio_button,&nbsp;new_state):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;radio_button.set_label(u"Think&nbsp;Harder!")<br>
&gt;&gt;&gt;&nbsp;connect_signal(b3,&nbsp;'change',&nbsp;relabel_button)<br>
&gt;&gt;&gt;&nbsp;b3<br>
&lt;RadioButton&nbsp;selectable&nbsp;widget&nbsp;'Unsure'&nbsp;state=False&gt;<br>
&gt;&gt;&gt;&nbsp;b3.set_state(True)&nbsp;#&nbsp;this&nbsp;will&nbsp;trigger&nbsp;the&nbsp;callback<br>
&gt;&gt;&gt;&nbsp;b3<br>
&lt;RadioButton&nbsp;selectable&nbsp;widget&nbsp;'Think&nbsp;Harder!'&nbsp;state=True&gt;</tt></dd></dl>

<dl><dt><a name="RadioButton-toggle_state"><strong>toggle_state</strong></a>(self)</dt><dd><tt>Set&nbsp;state&nbsp;to&nbsp;True.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;bgroup&nbsp;=&nbsp;[]&nbsp;#&nbsp;button&nbsp;group<br>
&gt;&gt;&gt;&nbsp;b1&nbsp;=&nbsp;RadioButton(bgroup,&nbsp;"Agree")<br>
&gt;&gt;&gt;&nbsp;b2&nbsp;=&nbsp;RadioButton(bgroup,&nbsp;"Disagree")<br>
&gt;&gt;&gt;&nbsp;b1.state,&nbsp;b2.state<br>
(True,&nbsp;False)<br>
&gt;&gt;&gt;&nbsp;b2.toggle_state()<br>
&gt;&gt;&gt;&nbsp;b1.state,&nbsp;b2.state<br>
(False,&nbsp;True)<br>
&gt;&gt;&gt;&nbsp;b2.toggle_state()<br>
&gt;&gt;&gt;&nbsp;b1.state,&nbsp;b2.state<br>
(False,&nbsp;True)</tt></dd></dl>

<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>reserve_columns</strong> = 4</dl>

<dl><dt><strong>states</strong> = {False: &lt;SelectableIcon selectable flow widget b'( )'&gt;, True: &lt;SelectableIcon selectable flow widget b'(X)'&gt;, 'mixed': &lt;SelectableIcon selectable flow widget b'(#)'&gt;}</dl>

<hr>
Methods inherited from CheckBox:<br>
<dl><dt><a name="RadioButton-get_label"><strong>get_label</strong></a>(self)</dt><dd><tt>Return&nbsp;label&nbsp;text.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox(u"Seriously")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.get_label()<br>
Seriously<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.label&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
Seriously<br>
&gt;&gt;&gt;&nbsp;cb.set_label([('bright_attr',&nbsp;u"flashy"),&nbsp;u"&nbsp;normal"])<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.label&nbsp;&nbsp;#&nbsp;&nbsp;only&nbsp;text&nbsp;is&nbsp;returned<br>
flashy&nbsp;normal</tt></dd></dl>

<dl><dt><a name="RadioButton-get_state"><strong>get_state</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;checkbox.</tt></dd></dl>

<dl><dt><a name="RadioButton-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Toggle&nbsp;state&nbsp;on&nbsp;'activate'&nbsp;command.&nbsp;&nbsp;<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;assert&nbsp;CheckBox._command_map['&nbsp;']&nbsp;==&nbsp;'activate'<br>
&gt;&gt;&gt;&nbsp;assert&nbsp;CheckBox._command_map['enter']&nbsp;==&nbsp;'activate'<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(10,)<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox('press&nbsp;me')<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False<br>
&gt;&gt;&gt;&nbsp;cb.keypress(size,&nbsp;'&nbsp;')<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
True<br>
&gt;&gt;&gt;&nbsp;cb.keypress(size,&nbsp;'&nbsp;')<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False</tt></dd></dl>

<dl><dt><a name="RadioButton-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, x, y, focus)</dt><dd><tt>Toggle&nbsp;state&nbsp;on&nbsp;button&nbsp;1&nbsp;press.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;size&nbsp;=&nbsp;(20,)<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox("clickme")<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
False<br>
&gt;&gt;&gt;&nbsp;cb.mouse_event(size,&nbsp;'mouse&nbsp;press',&nbsp;1,&nbsp;2,&nbsp;0,&nbsp;True)<br>
True<br>
&gt;&gt;&gt;&nbsp;cb.state<br>
True</tt></dd></dl>

<dl><dt><a name="RadioButton-set_label"><strong>set_label</strong></a>(self, label)</dt><dd><tt>Change&nbsp;the&nbsp;check&nbsp;box&nbsp;label.<br>
&nbsp;<br>
label&nbsp;--&nbsp;markup&nbsp;for&nbsp;label.&nbsp;&nbsp;See&nbsp;Text&nbsp;widget&nbsp;for&nbsp;description<br>
of&nbsp;text&nbsp;markup.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox(u"foo")<br>
&gt;&gt;&gt;&nbsp;cb<br>
&lt;CheckBox&nbsp;selectable&nbsp;widget&nbsp;'foo'&nbsp;state=False&gt;<br>
&gt;&gt;&gt;&nbsp;cb.set_label(('bright_attr',&nbsp;u"bar"))<br>
&gt;&gt;&gt;&nbsp;cb<br>
&lt;CheckBox&nbsp;selectable&nbsp;widget&nbsp;'bar'&nbsp;state=False&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from CheckBox:<br>
<dl><dt><strong>label</strong></dt>
<dd><tt>Return&nbsp;label&nbsp;text.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;cb&nbsp;=&nbsp;CheckBox(u"Seriously")<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.get_label()<br>
Seriously<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.label&nbsp;&nbsp;#&nbsp;Urwid&nbsp;0.9.9&nbsp;or&nbsp;later<br>
Seriously<br>
&gt;&gt;&gt;&nbsp;cb.set_label([('bright_attr',&nbsp;u"flashy"),&nbsp;u"&nbsp;normal"])<br>
&gt;&gt;&gt;&nbsp;print&nbsp;cb.label&nbsp;&nbsp;#&nbsp;&nbsp;only&nbsp;text&nbsp;is&nbsp;returned<br>
flashy&nbsp;normal</tt></dd>
</dl>
<dl><dt><strong>state</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;checkbox.</tt></dd>
</dl>
<hr>
Data and other attributes inherited from CheckBox:<br>
<dl><dt><strong>signals</strong> = ['change']</dl>

<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</dl>
<hr>
Methods inherited from DelegateToWidgetMixin:<br>
<dl><dt><a name="RadioButton-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<dl><dt><strong>selectable</strong></dt>
</dl>
<dl><dt><strong>sizing</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="RadioButton-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<h2>Graphics</h2><a name="BarGraph"></a><h3>function BarGraph <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="BarGraph">class <strong>BarGraph</strong></a>(BoxWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>BarGraph</dd>
<dd>BoxWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="BarGraph-__init__"><strong>__init__</strong></a>(self, attlist, hatt<font color="#909090">=None</font>, satt<font color="#909090">=None</font>)</dt><dd><tt>Create&nbsp;a&nbsp;bar&nbsp;graph&nbsp;with&nbsp;the&nbsp;passed&nbsp;display&nbsp;characteristics.<br>
see&nbsp;set_segment_attributes&nbsp;for&nbsp;a&nbsp;description&nbsp;of&nbsp;the&nbsp;parameters.</tt></dd></dl>

<dl><dt><a name="BarGraph-calculate_bar_widths"><strong>calculate_bar_widths</strong></a>(self, size, bardata)</dt><dd><tt>Return&nbsp;a&nbsp;list&nbsp;of&nbsp;bar&nbsp;widths,&nbsp;one&nbsp;for&nbsp;each&nbsp;bar&nbsp;in&nbsp;data.<br>
&nbsp;<br>
If&nbsp;self.<strong>bar_width</strong>&nbsp;is&nbsp;None&nbsp;this&nbsp;implementation&nbsp;will&nbsp;stretch&nbsp;<br>
the&nbsp;bars&nbsp;across&nbsp;the&nbsp;available&nbsp;space&nbsp;specified&nbsp;by&nbsp;maxcol.</tt></dd></dl>

<dl><dt><a name="BarGraph-calculate_display"><strong>calculate_display</strong></a>(self, size)</dt><dd><tt>Calculate&nbsp;display&nbsp;data.</tt></dd></dl>

<dl><dt><a name="BarGraph-hlines_display"><strong>hlines_display</strong></a>(self, disp, top, hlines, maxrow)</dt><dd><tt>Add&nbsp;hlines&nbsp;to&nbsp;display&nbsp;structure&nbsp;represented&nbsp;as&nbsp;bar_type&nbsp;tuple<br>
values:<br>
(bg,&nbsp;0-5)<br>
bg&nbsp;is&nbsp;the&nbsp;segment&nbsp;that&nbsp;has&nbsp;the&nbsp;hline&nbsp;on&nbsp;it<br>
0-5&nbsp;is&nbsp;the&nbsp;hline&nbsp;graphic&nbsp;to&nbsp;use&nbsp;where&nbsp;0&nbsp;is&nbsp;a&nbsp;regular&nbsp;underscore<br>
and&nbsp;1-5&nbsp;are&nbsp;the&nbsp;UTF-8&nbsp;horizontal&nbsp;scan&nbsp;line&nbsp;characters.</tt></dd></dl>

<dl><dt><a name="BarGraph-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;BarGraph.</tt></dd></dl>

<dl><dt><a name="BarGraph-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;False.</tt></dd></dl>

<dl><dt><a name="BarGraph-set_bar_width"><strong>set_bar_width</strong></a>(self, width)</dt><dd><tt>Set&nbsp;a&nbsp;preferred&nbsp;bar&nbsp;width&nbsp;for&nbsp;calculate_bar_widths&nbsp;to&nbsp;use.<br>
&nbsp;<br>
width&nbsp;--&nbsp;width&nbsp;of&nbsp;bar&nbsp;or&nbsp;None&nbsp;for&nbsp;automatic&nbsp;width&nbsp;adjustment</tt></dd></dl>

<dl><dt><a name="BarGraph-set_data"><strong>set_data</strong></a>(self, bardata, top, hlines<font color="#909090">=None</font>)</dt><dd><tt>Store&nbsp;bar&nbsp;data,&nbsp;bargraph&nbsp;top&nbsp;and&nbsp;horizontal&nbsp;line&nbsp;positions.<br>
&nbsp;<br>
bardata&nbsp;--&nbsp;a&nbsp;list&nbsp;of&nbsp;bar&nbsp;values.<br>
top&nbsp;--&nbsp;maximum&nbsp;value&nbsp;for&nbsp;segments&nbsp;within&nbsp;bardata<br>
hlines&nbsp;--&nbsp;None&nbsp;or&nbsp;a&nbsp;bar&nbsp;value&nbsp;marking&nbsp;horizontal&nbsp;line&nbsp;positions<br>
&nbsp;<br>
bar&nbsp;values&nbsp;are&nbsp;[&nbsp;segment1,&nbsp;segment2,&nbsp;...&nbsp;]&nbsp;lists&nbsp;where&nbsp;top&nbsp;is&nbsp;<br>
the&nbsp;maximal&nbsp;value&nbsp;corresponding&nbsp;to&nbsp;the&nbsp;top&nbsp;of&nbsp;the&nbsp;bar&nbsp;graph&nbsp;and<br>
segment1,&nbsp;segment2,&nbsp;...&nbsp;are&nbsp;the&nbsp;values&nbsp;for&nbsp;the&nbsp;top&nbsp;of&nbsp;each&nbsp;<br>
segment&nbsp;of&nbsp;this&nbsp;bar.&nbsp;&nbsp;Simple&nbsp;bar&nbsp;graphs&nbsp;will&nbsp;only&nbsp;have&nbsp;one<br>
segment&nbsp;in&nbsp;each&nbsp;bar&nbsp;value.<br>
&nbsp;<br>
Eg:&nbsp;if&nbsp;top&nbsp;is&nbsp;100&nbsp;and&nbsp;there&nbsp;is&nbsp;a&nbsp;bar&nbsp;value&nbsp;of&nbsp;[&nbsp;80,&nbsp;30&nbsp;]&nbsp;then<br>
the&nbsp;top&nbsp;of&nbsp;this&nbsp;bar&nbsp;will&nbsp;be&nbsp;at&nbsp;80%&nbsp;of&nbsp;full&nbsp;height&nbsp;of&nbsp;the&nbsp;graph<br>
and&nbsp;it&nbsp;will&nbsp;have&nbsp;a&nbsp;second&nbsp;segment&nbsp;that&nbsp;starts&nbsp;at&nbsp;30%.</tt></dd></dl>

<dl><dt><a name="BarGraph-set_segment_attributes"><strong>set_segment_attributes</strong></a>(self, attlist, hatt<font color="#909090">=None</font>, satt<font color="#909090">=None</font>)</dt><dd><tt>attlist&nbsp;--&nbsp;list&nbsp;containing&nbsp;attribute&nbsp;or&nbsp;(attribute,&nbsp;character)<br>
&nbsp;&nbsp;&nbsp;&nbsp;tuple&nbsp;for&nbsp;background,&nbsp;first&nbsp;segment,&nbsp;and&nbsp;optionally<br>
&nbsp;&nbsp;&nbsp;&nbsp;following&nbsp;segments.&nbsp;ie.&nbsp;len(attlist)&nbsp;==&nbsp;num&nbsp;segments+1<br>
&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp;defaults&nbsp;to&nbsp;'&nbsp;'&nbsp;if&nbsp;not&nbsp;specified.<br>
hatt&nbsp;--&nbsp;list&nbsp;containing&nbsp;attributes&nbsp;for&nbsp;horizontal&nbsp;lines.&nbsp;First&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;lement&nbsp;is&nbsp;for&nbsp;lines&nbsp;on&nbsp;background,&nbsp;second&nbsp;is&nbsp;for&nbsp;lines<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;first&nbsp;segment,&nbsp;third&nbsp;is&nbsp;for&nbsp;lines&nbsp;on&nbsp;second&nbsp;segment<br>
&nbsp;&nbsp;&nbsp;&nbsp;etc..<br>
satt&nbsp;--&nbsp;dictionary&nbsp;containing&nbsp;attributes&nbsp;for&nbsp;smoothed&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;transitions&nbsp;of&nbsp;bars&nbsp;in&nbsp;UTF-8&nbsp;display&nbsp;mode.&nbsp;The&nbsp;values<br>
&nbsp;&nbsp;&nbsp;&nbsp;are&nbsp;in&nbsp;the&nbsp;form:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fg,bg)&nbsp;:&nbsp;attr<br>
&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;and&nbsp;bg&nbsp;are&nbsp;integers&nbsp;where&nbsp;0&nbsp;is&nbsp;the&nbsp;graph&nbsp;background,<br>
&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;is&nbsp;the&nbsp;first&nbsp;segment,&nbsp;2&nbsp;is&nbsp;the&nbsp;second,&nbsp;...&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;fg&nbsp;&gt;&nbsp;bg&nbsp;in&nbsp;all&nbsp;values.&nbsp;&nbsp;attr&nbsp;is&nbsp;an&nbsp;attribute&nbsp;with&nbsp;a&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;foreground&nbsp;corresponding&nbsp;to&nbsp;fg&nbsp;and&nbsp;a&nbsp;background&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;corresponding&nbsp;to&nbsp;bg.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
If&nbsp;satt&nbsp;is&nbsp;not&nbsp;None&nbsp;and&nbsp;the&nbsp;bar&nbsp;graph&nbsp;is&nbsp;being&nbsp;displayed&nbsp;in<br>
a&nbsp;terminal&nbsp;using&nbsp;the&nbsp;UTF-8&nbsp;encoding&nbsp;then&nbsp;the&nbsp;character&nbsp;cell<br>
that&nbsp;is&nbsp;shared&nbsp;between&nbsp;the&nbsp;segments&nbsp;specified&nbsp;will&nbsp;be&nbsp;smoothed<br>
with&nbsp;using&nbsp;the&nbsp;UTF-8&nbsp;vertical&nbsp;eighth&nbsp;characters.<br>
&nbsp;<br>
eg:&nbsp;set_segment_attributes(&nbsp;['no',&nbsp;('unsure',"?"),&nbsp;'yes']&nbsp;)<br>
will&nbsp;use&nbsp;the&nbsp;attribute&nbsp;'no'&nbsp;for&nbsp;the&nbsp;background&nbsp;(the&nbsp;area&nbsp;from<br>
the&nbsp;top&nbsp;of&nbsp;the&nbsp;graph&nbsp;to&nbsp;the&nbsp;top&nbsp;of&nbsp;the&nbsp;bar),&nbsp;question&nbsp;marks&nbsp;<br>
with&nbsp;the&nbsp;attribute&nbsp;'unsure'&nbsp;will&nbsp;be&nbsp;used&nbsp;for&nbsp;the&nbsp;topmost&nbsp;<br>
segment&nbsp;of&nbsp;the&nbsp;bar,&nbsp;and&nbsp;the&nbsp;attribute&nbsp;'yes'&nbsp;will&nbsp;be&nbsp;used&nbsp;for<br>
the&nbsp;bottom&nbsp;segment&nbsp;of&nbsp;the&nbsp;bar.</tt></dd></dl>

<dl><dt><a name="BarGraph-smooth_display"><strong>smooth_display</strong></a>(self, disp)</dt><dd><tt>smooth&nbsp;(col,&nbsp;row*8)&nbsp;display&nbsp;into&nbsp;(col,&nbsp;row)&nbsp;display&nbsp;using<br>
UTF&nbsp;vertical&nbsp;eighth&nbsp;characters&nbsp;represented&nbsp;as&nbsp;bar_type<br>
tuple&nbsp;values:<br>
(&nbsp;fg,&nbsp;bg,&nbsp;1-7&nbsp;)<br>
where&nbsp;fg&nbsp;is&nbsp;the&nbsp;lower&nbsp;segment,&nbsp;bg&nbsp;is&nbsp;the&nbsp;upper&nbsp;segment&nbsp;and<br>
1-7&nbsp;is&nbsp;the&nbsp;vertical&nbsp;eighth&nbsp;character&nbsp;to&nbsp;use.</tt></dd></dl>

<dl><dt><a name="BarGraph-use_smoothed"><strong>use_smoothed</strong></a>(self)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>get_data</strong></dt>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.graphics.BarGraphMeta'&gt;<dd><tt>Detect&nbsp;subclass&nbsp;get_data()&nbsp;method&nbsp;and&nbsp;dynamic&nbsp;change&nbsp;to<br>
get_data()&nbsp;method&nbsp;and&nbsp;disable&nbsp;caching&nbsp;in&nbsp;these&nbsp;cases.<br>
&nbsp;<br>
This&nbsp;is&nbsp;for&nbsp;backwards&nbsp;compatibility&nbsp;only,&nbsp;new&nbsp;programs<br>
should&nbsp;use&nbsp;set_data()&nbsp;instead&nbsp;of&nbsp;overriding&nbsp;get_data().</tt></dl>

<dl><dt><strong>eighths</strong> = u' <font color="#c040c0">\u2581\u2582\u2583\u2584\u2585\u2586\u2587</font>'</dl>

<dl><dt><strong>hlines</strong> = u'_<font color="#c040c0">\u23ba\u23bb\u2500\u23bc\u23bd</font>'</dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="BarGraph-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="BarGraph-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="BarGraph-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<a name="GraphVScale"></a><h3>function GraphVScale <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="GraphVScale">class <strong>GraphVScale</strong></a>(BoxWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>GraphVScale</dd>
<dd>BoxWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="GraphVScale-__init__"><strong>__init__</strong></a>(self, labels, top)</dt><dd><tt>GraphVScale(&nbsp;[(label1&nbsp;position,&nbsp;label1&nbsp;markup),...],&nbsp;top&nbsp;)<br>
label&nbsp;position&nbsp;--&nbsp;0&nbsp;&lt;&nbsp;position&nbsp;&lt;&nbsp;top&nbsp;for&nbsp;the&nbsp;y&nbsp;position<br>
label&nbsp;markup&nbsp;--&nbsp;text&nbsp;markup&nbsp;for&nbsp;this&nbsp;label<br>
top&nbsp;--&nbsp;top&nbsp;y&nbsp;position<br>
&nbsp;<br>
This&nbsp;widget&nbsp;is&nbsp;a&nbsp;vertical&nbsp;scale&nbsp;for&nbsp;the&nbsp;BarGraph&nbsp;widget&nbsp;that<br>
can&nbsp;correspond&nbsp;to&nbsp;the&nbsp;BarGraph's&nbsp;horizontal&nbsp;lines</tt></dd></dl>

<dl><dt><a name="GraphVScale-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;GraphVScale.</tt></dd></dl>

<dl><dt><a name="GraphVScale-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;False.</tt></dd></dl>

<dl><dt><a name="GraphVScale-set_scale"><strong>set_scale</strong></a>(self, labels, top)</dt><dd><tt>set_scale(&nbsp;[(label1&nbsp;position,&nbsp;label1&nbsp;markup),...],&nbsp;top&nbsp;)<br>
label&nbsp;position&nbsp;--&nbsp;0&nbsp;&lt;&nbsp;position&nbsp;&lt;&nbsp;top&nbsp;for&nbsp;the&nbsp;y&nbsp;position<br>
label&nbsp;markup&nbsp;--&nbsp;text&nbsp;markup&nbsp;for&nbsp;this&nbsp;label<br>
top&nbsp;--&nbsp;top&nbsp;y&nbsp;position</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="GraphVScale-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="GraphVScale-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="GraphVScale-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="ProgressBar"></a><h3>function ProgressBar <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="ProgressBar">class <strong>ProgressBar</strong></a>(FlowWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>ProgressBar</dd>
<dd>FlowWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="ProgressBar-__init__"><strong>__init__</strong></a>(self, normal, complete, current<font color="#909090">=0</font>, done<font color="#909090">=100</font>, satt<font color="#909090">=None</font>)</dt><dd><tt>normal&nbsp;--&nbsp;attribute&nbsp;for&nbsp;uncomplete&nbsp;part&nbsp;of&nbsp;progress&nbsp;bar<br>
complete&nbsp;--&nbsp;attribute&nbsp;for&nbsp;complete&nbsp;part&nbsp;of&nbsp;progress&nbsp;bar<br>
current&nbsp;--&nbsp;current&nbsp;progress<br>
done&nbsp;--&nbsp;progress&nbsp;amount&nbsp;at&nbsp;100%<br>
satt&nbsp;--&nbsp;attribute&nbsp;for&nbsp;smoothed&nbsp;part&nbsp;of&nbsp;bar&nbsp;where&nbsp;the&nbsp;foreground<br>
&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;satt&nbsp;corresponds&nbsp;to&nbsp;the&nbsp;normal&nbsp;part&nbsp;and&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;background&nbsp;corresponds&nbsp;to&nbsp;the&nbsp;complete&nbsp;part.&nbsp;&nbsp;If&nbsp;satt<br>
&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;None&nbsp;then&nbsp;no&nbsp;smoothing&nbsp;will&nbsp;be&nbsp;done.</tt></dd></dl>

<dl><dt><a name="ProgressBar-get_text"><strong>get_text</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;progress&nbsp;bar&nbsp;percentage&nbsp;text.</tt></dd></dl>

<dl><dt><a name="ProgressBar-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Render&nbsp;the&nbsp;progress&nbsp;bar.</tt></dd></dl>

<dl><dt><a name="ProgressBar-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="ProgressBar-set_completion"><strong>set_completion</strong></a>(self, current)</dt><dd><tt>current&nbsp;--&nbsp;current&nbsp;progress</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>current</strong></dt>
</dl>
<dl><dt><strong>done</strong></dt>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>eighths</strong> = u' <font color="#c040c0">\u258f\u258e\u258d\u258c\u258b\u258a\u2589</font>'</dl>

<dl><dt><strong>text_align</strong> = 'center'</dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="ProgressBar-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="ProgressBar-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="ProgressBar-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="ProgressBar-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="PopUpLauncher"></a><h3>function PopUpLauncher <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="PopUpLauncher">class <strong>PopUpLauncher</strong></a>(DelegateToWidgetMixin, WidgetDecoration) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>PopUpLauncher</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>WidgetDecoration</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="PopUpLauncher-__init__"><strong>__init__</strong></a>(self, original_widget)</dt></dl>

<dl><dt><a name="PopUpLauncher-close_pop_up"><strong>close_pop_up</strong></a>(self)</dt></dl>

<dl><dt><a name="PopUpLauncher-create_pop_up"><strong>create_pop_up</strong></a>(self)</dt><dd><tt>Subclass&nbsp;must&nbsp;override&nbsp;this&nbsp;method&nbsp;and&nbsp;have&nbsp;is&nbsp;return&nbsp;a&nbsp;widget<br>
to&nbsp;be&nbsp;used&nbsp;for&nbsp;the&nbsp;pop-up.&nbsp;&nbsp;This&nbsp;method&nbsp;is&nbsp;called&nbsp;once&nbsp;each&nbsp;time<br>
the&nbsp;pop-up&nbsp;is&nbsp;opened.</tt></dd></dl>

<dl><dt><a name="PopUpLauncher-get_pop_up_parameters"><strong>get_pop_up_parameters</strong></a>(self)</dt><dd><tt>Subclass&nbsp;must&nbsp;override&nbsp;this&nbsp;method&nbsp;and&nbsp;have&nbsp;it&nbsp;return&nbsp;a&nbsp;dict,&nbsp;eg:<br>
&nbsp;<br>
{'left':0,&nbsp;'top':1,&nbsp;'overlay_width':30,&nbsp;'overlay_height':4}<br>
&nbsp;<br>
This&nbsp;method&nbsp;is&nbsp;called&nbsp;each&nbsp;time&nbsp;this&nbsp;widget&nbsp;is&nbsp;rendered.</tt></dd></dl>

<dl><dt><a name="PopUpLauncher-open_pop_up"><strong>open_pop_up</strong></a>(self)</dt></dl>

<dl><dt><a name="PopUpLauncher-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>keypress</strong></dt>
</dl>
<dl><dt><strong>mouse_event</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<dl><dt><strong>selectable</strong></dt>
</dl>
<dl><dt><strong>sizing</strong></dt>
</dl>
<hr>
Data descriptors inherited from WidgetDecoration:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="PopUpLauncher-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="PopUpTarget"></a><h3>function PopUpTarget <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="PopUpTarget">class <strong>PopUpTarget</strong></a>(WidgetDecoration) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>PopUpTarget</dd>
<dd>WidgetDecoration</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="PopUpTarget-__init__"><strong>__init__</strong></a>(self, original_widget)</dt></dl>

<dl><dt><a name="PopUpTarget-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt></dl>

<dl><dt><a name="PopUpTarget-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt></dl>

<dl><dt><a name="PopUpTarget-keypress"><strong>keypress</strong></a>(self, size, key)</dt></dl>

<dl><dt><a name="PopUpTarget-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, x, y, focus)</dt></dl>

<dl><dt><a name="PopUpTarget-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, x, y)</dt></dl>

<dl><dt><a name="PopUpTarget-pack"><strong>pack</strong></a>(self, size<font color="#909090">=None</font>, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="PopUpTarget-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Methods inherited from WidgetDecoration:<br>
<dl><dt><a name="PopUpTarget-selectable"><strong>selectable</strong></a>(self)</dt></dl>

<dl><dt><a name="PopUpTarget-sizing"><strong>sizing</strong></a>(self)</dt></dl>

<hr>
Data descriptors inherited from WidgetDecoration:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="PopUpTarget-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="BigText"></a><h3>function BigText <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="BigText">class <strong>BigText</strong></a>(FixedWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>BigText</dd>
<dd>FixedWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="BigText-__init__"><strong>__init__</strong></a>(self, markup, font)</dt><dd><tt>markup&nbsp;--&nbsp;same&nbsp;as&nbsp;Text&nbsp;widget&nbsp;markup<br>
font&nbsp;--&nbsp;instance&nbsp;of&nbsp;a&nbsp;Font&nbsp;class</tt></dd></dl>

<dl><dt><a name="BigText-get_text"><strong>get_text</strong></a>(self)</dt><dd><tt>Returns&nbsp;(text,&nbsp;attributes).</tt></dd></dl>

<dl><dt><a name="BigText-pack"><strong>pack</strong></a>(self, size<font color="#909090">=None</font>, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="BigText-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="BigText-set_font"><strong>set_font</strong></a>(self, font)</dt></dl>

<dl><dt><a name="BigText-set_text"><strong>set_text</strong></a>(self, markup)</dt></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="BigText-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="BigText-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="BigText-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="get_all_fonts"></a><h3>function get_all_fonts <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-get_all_fonts"><strong>get_all_fonts</strong></a>()</dt><dd><tt>Return&nbsp;a&nbsp;list&nbsp;of&nbsp;(font&nbsp;name,&nbsp;font&nbsp;class)&nbsp;tuples.</tt></dd></dl>
<h2>Build custom widgets</h2><a name="WidgetWrap"></a><h3>function WidgetWrap <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="WidgetWrap">class <strong>WidgetWrap</strong></a>(DelegateToWidgetMixin, Widget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>WidgetWrap</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="WidgetWrap-__init__"><strong>__init__</strong></a>(self, w)</dt><dd><tt>w&nbsp;--&nbsp;widget&nbsp;to&nbsp;wrap,&nbsp;stored&nbsp;as&nbsp;self.<strong>_w</strong><br>
&nbsp;<br>
This&nbsp;object&nbsp;will&nbsp;pass&nbsp;the&nbsp;functions&nbsp;defined&nbsp;in&nbsp;Widget&nbsp;interface<br>
definition&nbsp;to&nbsp;self.<strong>_w</strong>.<br>
&nbsp;<br>
The&nbsp;purpose&nbsp;of&nbsp;this&nbsp;widget&nbsp;is&nbsp;to&nbsp;provide&nbsp;a&nbsp;base&nbsp;class&nbsp;for<br>
widgets&nbsp;that&nbsp;compose&nbsp;other&nbsp;widgets&nbsp;for&nbsp;their&nbsp;display&nbsp;and<br>
behaviour.&nbsp;&nbsp;The&nbsp;details&nbsp;of&nbsp;that&nbsp;composition&nbsp;should&nbsp;not&nbsp;affect<br>
users&nbsp;of&nbsp;the&nbsp;subclass.&nbsp;&nbsp;The&nbsp;subclass&nbsp;may&nbsp;decide&nbsp;to&nbsp;expose&nbsp;some<br>
of&nbsp;the&nbsp;wrapped&nbsp;widgets&nbsp;by&nbsp;behaving&nbsp;like&nbsp;a&nbsp;ContainerWidget&nbsp;or<br>
WidgetDecoration,&nbsp;or&nbsp;it&nbsp;may&nbsp;hide&nbsp;them&nbsp;from&nbsp;outside&nbsp;access.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>w</strong></dt>
</dl>
<hr>
Methods inherited from DelegateToWidgetMixin:<br>
<dl><dt><a name="WidgetWrap-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>keypress</strong></dt>
</dl>
<dl><dt><strong>mouse_event</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<dl><dt><strong>selectable</strong></dt>
</dl>
<dl><dt><strong>sizing</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="WidgetWrap-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="WidgetDecoration"></a><h3>function WidgetDecoration <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="WidgetDecoration">class <strong>WidgetDecoration</strong></a>(Widget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>WidgetDecoration</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="WidgetDecoration-__init__"><strong>__init__</strong></a>(self, original_widget)</dt><dd><tt>original_widget&nbsp;--&nbsp;the&nbsp;widget&nbsp;being&nbsp;decorated<br>
&nbsp;<br>
This&nbsp;is&nbsp;a&nbsp;base&nbsp;class&nbsp;for&nbsp;decoration&nbsp;widgets,&nbsp;widgets<br>
that&nbsp;contain&nbsp;one&nbsp;or&nbsp;more&nbsp;widgets&nbsp;and&nbsp;only&nbsp;ever&nbsp;have<br>
a&nbsp;single&nbsp;focus.&nbsp;&nbsp;This&nbsp;type&nbsp;of&nbsp;widget&nbsp;will&nbsp;affect&nbsp;the<br>
display&nbsp;or&nbsp;behaviour&nbsp;of&nbsp;the&nbsp;original_widget&nbsp;but&nbsp;it&nbsp;is<br>
not&nbsp;part&nbsp;of&nbsp;determining&nbsp;a&nbsp;chain&nbsp;of&nbsp;focus.<br>
&nbsp;<br>
Don't&nbsp;actually&nbsp;do&nbsp;this&nbsp;--&nbsp;use&nbsp;a&nbsp;WidgetDecoration&nbsp;subclass<br>
instead,&nbsp;these&nbsp;are&nbsp;not&nbsp;real&nbsp;widgets:<br>
&gt;&gt;&gt;&nbsp;WidgetDecoration(Text(u"hi"))<br>
&lt;WidgetDecoration&nbsp;flow&nbsp;widget&nbsp;&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&gt;&gt;</tt></dd></dl>

<dl><dt><a name="WidgetDecoration-selectable"><strong>selectable</strong></a>(self)</dt></dl>

<dl><dt><a name="WidgetDecoration-sizing"><strong>sizing</strong></a>(self)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="WidgetDecoration-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="WidgetDecoration-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="WidgetPlaceholder"></a><h3>function WidgetPlaceholder <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="WidgetPlaceholder">class <strong>WidgetPlaceholder</strong></a>(DelegateToWidgetMixin, WidgetDecoration) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>WidgetPlaceholder</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>WidgetDecoration</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods inherited from DelegateToWidgetMixin:<br>
<dl><dt><a name="WidgetPlaceholder-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>keypress</strong></dt>
</dl>
<dl><dt><strong>mouse_event</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<dl><dt><strong>selectable</strong></dt>
</dl>
<dl><dt><strong>sizing</strong></dt>
</dl>
<hr>
Methods inherited from WidgetDecoration:<br>
<dl><dt><a name="WidgetPlaceholder-__init__"><strong>__init__</strong></a>(self, original_widget)</dt><dd><tt>original_widget&nbsp;--&nbsp;the&nbsp;widget&nbsp;being&nbsp;decorated<br>
&nbsp;<br>
This&nbsp;is&nbsp;a&nbsp;base&nbsp;class&nbsp;for&nbsp;decoration&nbsp;widgets,&nbsp;widgets<br>
that&nbsp;contain&nbsp;one&nbsp;or&nbsp;more&nbsp;widgets&nbsp;and&nbsp;only&nbsp;ever&nbsp;have<br>
a&nbsp;single&nbsp;focus.&nbsp;&nbsp;This&nbsp;type&nbsp;of&nbsp;widget&nbsp;will&nbsp;affect&nbsp;the<br>
display&nbsp;or&nbsp;behaviour&nbsp;of&nbsp;the&nbsp;original_widget&nbsp;but&nbsp;it&nbsp;is<br>
not&nbsp;part&nbsp;of&nbsp;determining&nbsp;a&nbsp;chain&nbsp;of&nbsp;focus.<br>
&nbsp;<br>
Don't&nbsp;actually&nbsp;do&nbsp;this&nbsp;--&nbsp;use&nbsp;a&nbsp;WidgetDecoration&nbsp;subclass<br>
instead,&nbsp;these&nbsp;are&nbsp;not&nbsp;real&nbsp;widgets:<br>
&gt;&gt;&gt;&nbsp;WidgetDecoration(Text(u"hi"))<br>
&lt;WidgetDecoration&nbsp;flow&nbsp;widget&nbsp;&lt;Text&nbsp;flow&nbsp;widget&nbsp;'hi'&gt;&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from WidgetDecoration:<br>
<dl><dt><strong>base_widget</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;widget&nbsp;without&nbsp;decorations.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;only&nbsp;one<br>
Decoration&nbsp;then&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;original_widget.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;t&nbsp;=&nbsp;Text('hello')<br>
&gt;&gt;&gt;&nbsp;wd1&nbsp;=&nbsp;WidgetDecoration(t)<br>
&gt;&gt;&gt;&nbsp;wd2&nbsp;=&nbsp;WidgetDecoration(wd1)<br>
&gt;&gt;&gt;&nbsp;wd3&nbsp;=&nbsp;WidgetDecoration(wd2)<br>
&gt;&gt;&gt;&nbsp;wd3.original_widget&nbsp;is&nbsp;wd2<br>
True<br>
&gt;&gt;&gt;&nbsp;wd3.base_widget&nbsp;is&nbsp;t<br>
True</tt></dd>
</dl>
<dl><dt><strong>original_widget</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="WidgetPlaceholder-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<h2>Abstract widgets & interfaces</h2><h3><a name="Widget_interface_definition"></a><strong>Widget interface definition</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="WidgetInterface-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, size)</dt><dd><tt>size&nbsp;--&nbsp;flow&nbsp;widgets:&nbsp;(maxcol,)&nbsp;&nbsp;box&nbsp;widgets:&nbsp;(maxcol,maxrow)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;maxcol&nbsp;and&nbsp;maxrow&nbsp;are&nbsp;the&nbsp;maximum&nbsp;screen&nbsp;columns<br>
&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;rendered<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
Returns&nbsp;(col,row)&nbsp;coordinates&nbsp;for&nbsp;cursor&nbsp;or&nbsp;None&nbsp;if&nbsp;no&nbsp;cursor.<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented&nbsp;if&nbsp;render&nbsp;function&nbsp;returns&nbsp;a&nbsp;canvas&nbsp;with<br>
a&nbsp;cursor.&nbsp;&nbsp;<br>
MUST&nbsp;match&nbsp;the&nbsp;cursor&nbsp;in&nbsp;the&nbsp;canvas&nbsp;returned&nbsp;by&nbsp;render&nbsp;function<br>
when&nbsp;focus=True.<br>
Caller&nbsp;MUST&nbsp;treat&nbsp;no&nbsp;implementation&nbsp;as&nbsp;equivalent&nbsp;to&nbsp;an&nbsp;<br>
implementation&nbsp;that&nbsp;always&nbsp;returns&nbsp;None.</tt></dd></dl>

<dl><dt><a name="WidgetInterface-get_pref_col"><strong>get_pref_col</strong></a>(self, size)</dt><dd><tt>size&nbsp;--&nbsp;flow&nbsp;widgets:&nbsp;(maxcol,)&nbsp;&nbsp;box&nbsp;widgets:&nbsp;(maxcol,maxrow)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;maxcol&nbsp;and&nbsp;maxrow&nbsp;are&nbsp;the&nbsp;maximum&nbsp;screen&nbsp;columns<br>
&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;rendered<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
Returns&nbsp;the&nbsp;preferred&nbsp;screen&nbsp;column&nbsp;as&nbsp;an&nbsp;integer&nbsp;or&nbsp;None.<br>
&nbsp;<br>
Caller&nbsp;MUST&nbsp;treat&nbsp;no&nbsp;implementation&nbsp;as&nbsp;equivalent&nbsp;to&nbsp;an&nbsp;<br>
implementation&nbsp;that&nbsp;always&nbsp;returns&nbsp;None.</tt></dd></dl>

<dl><dt><a name="WidgetInterface-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>size&nbsp;--&nbsp;flow&nbsp;widgets:&nbsp;(maxcol,)&nbsp;&nbsp;box&nbsp;widgets:&nbsp;(maxcol,maxrow)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;maxcol&nbsp;and&nbsp;maxrow&nbsp;are&nbsp;the&nbsp;maximum&nbsp;screen&nbsp;columns<br>
&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;rendered<br>
key&nbsp;--&nbsp;key&nbsp;pressed<br>
&nbsp;<br>
Returns&nbsp;None&nbsp;if&nbsp;key&nbsp;was&nbsp;handled,&nbsp;returns&nbsp;key&nbsp;if&nbsp;not&nbsp;handled.<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented&nbsp;if&nbsp;selectable&nbsp;function&nbsp;returns&nbsp;True.<br>
MUST&nbsp;NOT&nbsp;be&nbsp;called&nbsp;if&nbsp;selectable&nbsp;function&nbsp;returns&nbsp;False.</tt></dd></dl>

<dl><dt><a name="WidgetInterface-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt><dd><tt>size&nbsp;--&nbsp;flow&nbsp;widgets:&nbsp;(maxcol,)&nbsp;&nbsp;box&nbsp;widgets:&nbsp;(maxcol,maxrow)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;maxcol&nbsp;and&nbsp;maxrow&nbsp;are&nbsp;the&nbsp;maximum&nbsp;screen&nbsp;columns<br>
&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;rendered<br>
event&nbsp;--&nbsp;event&nbsp;part&nbsp;of&nbsp;mouse&nbsp;event&nbsp;structure,&nbsp;eg.&nbsp;'press',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'release',&nbsp;'drag',&nbsp;'meta&nbsp;press'&nbsp;etc..<br>
button&nbsp;--&nbsp;button&nbsp;number&nbsp;for&nbsp;event&nbsp;between&nbsp;1&nbsp;and&nbsp;5,&nbsp;may&nbsp;be&nbsp;0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;button&nbsp;release&nbsp;events&nbsp;if&nbsp;button&nbsp;is&nbsp;unknown<br>
col&nbsp;--&nbsp;screen&nbsp;column&nbsp;of&nbsp;event,&nbsp;relative&nbsp;to&nbsp;left&nbsp;edge&nbsp;of&nbsp;widget<br>
row&nbsp;--&nbsp;screen&nbsp;row&nbsp;of&nbsp;event,&nbsp;relative&nbsp;to&nbsp;top&nbsp;edge&nbsp;of&nbsp;widget<br>
focus&nbsp;--&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;is&nbsp;in&nbsp;focus<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;event&nbsp;was&nbsp;handled,&nbsp;False&nbsp;otherwise.<br>
&nbsp;<br>
Caller&nbsp;MUST&nbsp;treat&nbsp;no&nbsp;implementation&nbsp;as&nbsp;equivalent&nbsp;to&nbsp;an<br>
implementation&nbsp;that&nbsp;always&nbsp;returns&nbsp;False.</tt></dd></dl>

<dl><dt><a name="WidgetInterface-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, size, col, row)</dt><dd><tt>size&nbsp;--&nbsp;flow&nbsp;widgets:&nbsp;(maxcol,)&nbsp;&nbsp;box&nbsp;widgets:&nbsp;(maxcol,maxrow)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;maxcol&nbsp;and&nbsp;maxrow&nbsp;are&nbsp;the&nbsp;maximum&nbsp;screen&nbsp;columns<br>
&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;rendered<br>
col&nbsp;--&nbsp;desired&nbsp;screen&nbsp;column&nbsp;for&nbsp;cursor&nbsp;to&nbsp;appear,&nbsp;relative<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;left&nbsp;edge&nbsp;of&nbsp;widget<br>
row&nbsp;--&nbsp;desired&nbsp;screen&nbsp;row&nbsp;for&nbsp;cursor&nbsp;to&nbsp;appear,&nbsp;relative&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;top&nbsp;edge&nbsp;of&nbsp;widget<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
Returns&nbsp;True&nbsp;on&nbsp;success,&nbsp;False&nbsp;on&nbsp;failure.<br>
&nbsp;<br>
MUST&nbsp;succeed&nbsp;if&nbsp;there&nbsp;is&nbsp;any&nbsp;column&nbsp;on&nbsp;passed&nbsp;row&nbsp;that&nbsp;the<br>
cursor&nbsp;may&nbsp;be&nbsp;moved&nbsp;to.<br>
Caller&nbsp;MUST&nbsp;treat&nbsp;no&nbsp;implementation&nbsp;as&nbsp;equivalent&nbsp;to&nbsp;an<br>
implementation&nbsp;that&nbsp;always&nbsp;returns&nbsp;True.</tt></dd></dl>

<dl><dt><a name="WidgetInterface-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>size&nbsp;--&nbsp;flow&nbsp;widgets:&nbsp;(maxcol,)&nbsp;&nbsp;box&nbsp;widgets:&nbsp;(maxcol,maxrow)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;maxcol&nbsp;and&nbsp;maxrow&nbsp;are&nbsp;the&nbsp;maximum&nbsp;screen&nbsp;columns<br>
&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;rows&nbsp;for&nbsp;the&nbsp;canvas&nbsp;returned<br>
focus&nbsp;--&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;is&nbsp;in&nbsp;focus<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;canvas&nbsp;object.<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented.<br>
MUST&nbsp;NOT&nbsp;return&nbsp;a&nbsp;canvas&nbsp;with&nbsp;a&nbsp;cursor&nbsp;when&nbsp;focus=False.</tt></dd></dl>

<dl><dt><a name="WidgetInterface-rows"><strong>rows</strong></a>(self, (maxcol,), focus<font color="#909090">=False</font>)</dt><dd><tt>maxcol&nbsp;--&nbsp;maximum&nbsp;screen&nbsp;columns&nbsp;for&nbsp;rendered&nbsp;widget<br>
focus&nbsp;--&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;is&nbsp;in&nbsp;focus<br>
&nbsp;<br>
Returns&nbsp;an&nbsp;integer&nbsp;number&nbsp;or&nbsp;screen&nbsp;rows&nbsp;required.<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented&nbsp;by&nbsp;all&nbsp;flow&nbsp;widgets.<br>
MUST&nbsp;match&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;in&nbsp;the&nbsp;canvas&nbsp;returned&nbsp;by<br>
render&nbsp;function&nbsp;called&nbsp;with&nbsp;the&nbsp;same&nbsp;parameters.</tt></dd></dl>

<dl><dt><a name="WidgetInterface-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Returns&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;will&nbsp;accept&nbsp;keyboard&nbsp;input&nbsp;and<br>
should&nbsp;take&nbsp;the&nbsp;focus&nbsp;when&nbsp;changing&nbsp;focus&nbsp;between&nbsp;widgets.<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented.</tt></dd></dl>

<a name="BoxWidget"></a><h3>function BoxWidget <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="BoxWidget">class <strong>BoxWidget</strong></a>(Widget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>BoxWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="BoxWidget-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>All&nbsp;widgets&nbsp;must&nbsp;implement&nbsp;this&nbsp;function.</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="BoxWidget-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="BoxWidget-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="BoxWidget-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="BoxWidget-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="FlowWidget"></a><h3>function FlowWidget <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="FlowWidget">class <strong>FlowWidget</strong></a>(Widget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>FlowWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="FlowWidget-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>All&nbsp;widgets&nbsp;must&nbsp;implement&nbsp;this&nbsp;function.</tt></dd></dl>

<dl><dt><a name="FlowWidget-rows"><strong>rows</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>All&nbsp;flow&nbsp;widgets&nbsp;must&nbsp;implement&nbsp;this&nbsp;function.</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="FlowWidget-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="FlowWidget-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="FlowWidget-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="FlowWidget-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="FixedWidget"></a><h3>function FixedWidget <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="FixedWidget">class <strong>FixedWidget</strong></a>(Widget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>FixedWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="FixedWidget-pack"><strong>pack</strong></a>(self, size<font color="#909090">=None</font>, focus<font color="#909090">=False</font>)</dt><dd><tt>All&nbsp;fixed&nbsp;widgets&nbsp;must&nbsp;implement&nbsp;this&nbsp;function.</tt></dd></dl>

<dl><dt><a name="FixedWidget-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>All&nbsp;widgets&nbsp;must&nbsp;implement&nbsp;this&nbsp;function.</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="FixedWidget-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="FixedWidget-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;widget&nbsp;should&nbsp;take&nbsp;focus.&nbsp;&nbsp;Default<br>
implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of&nbsp;self.<strong>_selectable</strong>.</tt></dd></dl>

<dl><dt><a name="FixedWidget-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<h2>ListBox list walkers</h2><h3><a name="List_Walker_interface_definition"></a><strong>List Walker interface definition</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="ListWalkerInterface-get_focus"><strong>get_focus</strong></a>(self)</dt><dd><tt>Returns&nbsp;(widget,&nbsp;position).<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented.<br>
Caller&nbsp;MUST&nbsp;NOT&nbsp;assume&nbsp;that&nbsp;position&nbsp;object&nbsp;may&nbsp;be&nbsp;stored&nbsp;and<br>
reused&nbsp;after&nbsp;contents&nbsp;of&nbsp;list&nbsp;change.</tt></dd></dl>

<dl><dt><a name="ListWalkerInterface-get_next"><strong>get_next</strong></a>(self, position)</dt><dd><tt>position&nbsp;--&nbsp;a&nbsp;position&nbsp;returned&nbsp;by&nbsp;get_focus&nbsp;or&nbsp;get_next<br>
&nbsp;<br>
Returns&nbsp;(widget&nbsp;below,&nbsp;position&nbsp;below).<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented.<br>
Caller&nbsp;MUST&nbsp;NOT&nbsp;assume&nbsp;that&nbsp;position&nbsp;object&nbsp;may&nbsp;be&nbsp;stored&nbsp;and<br>
reused&nbsp;after&nbsp;contents&nbsp;of&nbsp;list&nbsp;change.</tt></dd></dl>

<dl><dt><a name="ListWalkerInterface-get_prev"><strong>get_prev</strong></a>(self, position)</dt><dd><tt>position&nbsp;--&nbsp;a&nbsp;position&nbsp;returned&nbsp;by&nbsp;get_focus&nbsp;or&nbsp;get_prev<br>
&nbsp;<br>
Returns&nbsp;(widget&nbsp;above,&nbsp;position&nbsp;above).<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented.<br>
Caller&nbsp;MUST&nbsp;NOT&nbsp;assume&nbsp;that&nbsp;position&nbsp;object&nbsp;may&nbsp;be&nbsp;stored&nbsp;and<br>
reused&nbsp;after&nbsp;contents&nbsp;of&nbsp;list&nbsp;change.</tt></dd></dl>

<dl><dt><a name="ListWalkerInterface-set_focus"><strong>set_focus</strong></a>(self, position)</dt><dd><tt>position&nbsp;--&nbsp;a&nbsp;position&nbsp;returned&nbsp;by&nbsp;get_focus,&nbsp;get_next&nbsp;or<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get_prev<br>
&nbsp;<br>
Returns&nbsp;None.<br>
&nbsp;<br>
MUST&nbsp;be&nbsp;implemented.&nbsp;&nbsp;Should&nbsp;send&nbsp;"modified"&nbsp;signal&nbsp;(or&nbsp;call<br>
self.<strong>_modified</strong>&nbsp;if&nbsp;inheriting&nbsp;from&nbsp;ListWalker)</tt></dd></dl>

<a name="ListWalker"></a><h3>function ListWalker <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="ListWalker">class <strong>ListWalker</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="ListWalker-__hash__"><strong>__hash__</strong></a>(self)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.signals.MetaSignals'&gt;<dd><tt>register&nbsp;the&nbsp;list&nbsp;of&nbsp;signals&nbsp;in&nbsp;the&nbsp;class&nbsp;varable&nbsp;signals,<br>
including&nbsp;signals&nbsp;in&nbsp;superclasses.</tt></dl>

<dl><dt><strong>signals</strong> = ['modified']</dl>

<a name="SimpleListWalker"></a><h3>function SimpleListWalker <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="SimpleListWalker">class <strong>SimpleListWalker</strong></a>(MonitoredList, ListWalker) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>SimpleListWalker</dd>
<dd>MonitoredList</dd>
<dd>list</dd>
<dd>ListWalker</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="SimpleListWalker-__hash__"><strong>__hash__</strong></a>(self)</dt></dl>

<dl><dt><a name="SimpleListWalker-__init__"><strong>__init__</strong></a>(self, contents)</dt><dd><tt>contents&nbsp;--&nbsp;list&nbsp;to&nbsp;copy&nbsp;into&nbsp;this&nbsp;object<br>
&nbsp;<br>
Changes&nbsp;made&nbsp;to&nbsp;this&nbsp;object&nbsp;(when&nbsp;it&nbsp;is&nbsp;treated&nbsp;as&nbsp;a&nbsp;list)&nbsp;are<br>
detected&nbsp;automatically&nbsp;and&nbsp;will&nbsp;cause&nbsp;ListBox&nbsp;objects&nbsp;using<br>
this&nbsp;list&nbsp;walker&nbsp;to&nbsp;be&nbsp;updated.</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-get_focus"><strong>get_focus</strong></a>(self)</dt><dd><tt>Return&nbsp;(focus&nbsp;widget,&nbsp;focus&nbsp;position).</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-get_next"><strong>get_next</strong></a>(self, start_from)</dt><dd><tt>Return&nbsp;(widget&nbsp;after&nbsp;start_from,&nbsp;position&nbsp;after&nbsp;start_from).</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-get_prev"><strong>get_prev</strong></a>(self, start_from)</dt><dd><tt>Return&nbsp;(widget&nbsp;before&nbsp;start_from,&nbsp;position&nbsp;before&nbsp;start_from).</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-set_focus"><strong>set_focus</strong></a>(self, position)</dt><dd><tt>Set&nbsp;focus&nbsp;position.</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-set_modified_callback"><strong>set_modified_callback</strong></a>(self, callback)</dt><dd><tt>This&nbsp;function&nbsp;inherited&nbsp;from&nbsp;MonitoredList&nbsp;is&nbsp;not&nbsp;<br>
implemented&nbsp;in&nbsp;SimleListWalker.<br>
&nbsp;<br>
Use&nbsp;connect_signal(list_walker,&nbsp;"modified",&nbsp;...)&nbsp;instead.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>contents</strong></dt>
<dd><tt>Return&nbsp;self.<br>
&nbsp;<br>
Provides&nbsp;compatibility&nbsp;with&nbsp;old&nbsp;SimpleListWalker&nbsp;class.</tt></dd>
</dl>
<hr>
Methods inherited from MonitoredList:<br>
<dl><dt><a name="SimpleListWalker-__add__"><strong>__add__</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-__delitem__"><strong>__delitem__</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-__delslice__"><strong>__delslice__</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-__iadd__"><strong>__iadd__</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-__imul__"><strong>__imul__</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>

<dl><dt><a name="SimpleListWalker-__rmul__"><strong>__rmul__</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-__setitem__"><strong>__setitem__</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-__setslice__"><strong>__setslice__</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-append"><strong>append</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-extend"><strong>extend</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-insert"><strong>insert</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-pop"><strong>pop</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-remove"><strong>remove</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-reverse"><strong>reverse</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<dl><dt><a name="SimpleListWalker-sort"><strong>sort</strong></a> = call_modified_wrapper(self, *args, **kwargs)</dt></dl>

<hr>
Data descriptors inherited from MonitoredList:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Methods inherited from list:<br>
<dl><dt><a name="SimpleListWalker-__contains__"><strong>__contains__</strong></a>(...)</dt><dd><tt>x.__contains__(y)&nbsp;&lt;==&gt;&nbsp;y&nbsp;in&nbsp;x</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__eq__"><strong>__eq__</strong></a>(...)</dt><dd><tt>x.__eq__(y)&nbsp;&lt;==&gt;&nbsp;x==y</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__ge__"><strong>__ge__</strong></a>(...)</dt><dd><tt>x.__ge__(y)&nbsp;&lt;==&gt;&nbsp;x&gt;=y</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.__getattribute__('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.__getitem__(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__getslice__"><strong>__getslice__</strong></a>(...)</dt><dd><tt>x.__getslice__(i,&nbsp;j)&nbsp;&lt;==&gt;&nbsp;x[i:j]<br>
&nbsp;<br>
Use&nbsp;of&nbsp;negative&nbsp;indices&nbsp;is&nbsp;not&nbsp;supported.</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__gt__"><strong>__gt__</strong></a>(...)</dt><dd><tt>x.__gt__(y)&nbsp;&lt;==&gt;&nbsp;x&gt;y</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__iter__"><strong>__iter__</strong></a>(...)</dt><dd><tt>x.__iter__()&nbsp;&lt;==&gt;&nbsp;iter(x)</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__le__"><strong>__le__</strong></a>(...)</dt><dd><tt>x.__le__(y)&nbsp;&lt;==&gt;&nbsp;x&lt;=y</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__len__"><strong>__len__</strong></a>(...)</dt><dd><tt>x.__len__()&nbsp;&lt;==&gt;&nbsp;len(x)</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__lt__"><strong>__lt__</strong></a>(...)</dt><dd><tt>x.__lt__(y)&nbsp;&lt;==&gt;&nbsp;x&lt;y</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__mul__"><strong>__mul__</strong></a>(...)</dt><dd><tt>x.__mul__(n)&nbsp;&lt;==&gt;&nbsp;x*n</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__ne__"><strong>__ne__</strong></a>(...)</dt><dd><tt>x.__ne__(y)&nbsp;&lt;==&gt;&nbsp;x!=y</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__reversed__"><strong>__reversed__</strong></a>(...)</dt><dd><tt>L.__reversed__()&nbsp;--&nbsp;return&nbsp;a&nbsp;reverse&nbsp;iterator&nbsp;over&nbsp;the&nbsp;list</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-__sizeof__"><strong>__sizeof__</strong></a>(...)</dt><dd><tt>L.__sizeof__()&nbsp;--&nbsp;size&nbsp;of&nbsp;L&nbsp;in&nbsp;memory,&nbsp;in&nbsp;bytes</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-count"><strong>count</strong></a>(...)</dt><dd><tt>L.count(value)&nbsp;-&gt;&nbsp;integer&nbsp;--&nbsp;return&nbsp;number&nbsp;of&nbsp;occurrences&nbsp;of&nbsp;value</tt></dd></dl>

<dl><dt><a name="SimpleListWalker-index"><strong>index</strong></a>(...)</dt><dd><tt>L.index(value,&nbsp;[start,&nbsp;[stop]])&nbsp;-&gt;&nbsp;integer&nbsp;--&nbsp;return&nbsp;first&nbsp;index&nbsp;of&nbsp;value.<br>
Raises&nbsp;ValueError&nbsp;if&nbsp;the&nbsp;value&nbsp;is&nbsp;not&nbsp;present.</tt></dd></dl>

<hr>
Data and other attributes inherited from list:<br>
<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object&gt;<dd><tt>T.__new__(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>

<hr>
Data and other attributes inherited from ListWalker:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.signals.MetaSignals'&gt;<dd><tt>register&nbsp;the&nbsp;list&nbsp;of&nbsp;signals&nbsp;in&nbsp;the&nbsp;class&nbsp;varable&nbsp;signals,<br>
including&nbsp;signals&nbsp;in&nbsp;superclasses.</tt></dl>

<dl><dt><strong>signals</strong> = ['modified']</dl>

<a name="PollingListWalker"></a><h3>function PollingListWalker <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="PollingListWalker">class <strong>PollingListWalker</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="PollingListWalker-__init__"><strong>__init__</strong></a>(self, contents)</dt><dd><tt>contents&nbsp;--&nbsp;list&nbsp;to&nbsp;poll&nbsp;for&nbsp;changes<br>
&nbsp;<br>
This&nbsp;class&nbsp;is&nbsp;deprecated.&nbsp;&nbsp;Use&nbsp;SimpleListWalker&nbsp;instead.</tt></dd></dl>

<dl><dt><a name="PollingListWalker-get_focus"><strong>get_focus</strong></a>(self)</dt><dd><tt>Return&nbsp;(focus&nbsp;widget,&nbsp;focus&nbsp;position).</tt></dd></dl>

<dl><dt><a name="PollingListWalker-get_next"><strong>get_next</strong></a>(self, start_from)</dt><dd><tt>Return&nbsp;(widget&nbsp;after&nbsp;start_from,&nbsp;position&nbsp;after&nbsp;start_from).</tt></dd></dl>

<dl><dt><a name="PollingListWalker-get_prev"><strong>get_prev</strong></a>(self, start_from)</dt><dd><tt>Return&nbsp;(widget&nbsp;before&nbsp;start_from,&nbsp;position&nbsp;before&nbsp;start_from).</tt></dd></dl>

<dl><dt><a name="PollingListWalker-set_focus"><strong>set_focus</strong></a>(self, position)</dt><dd><tt>Set&nbsp;focus&nbsp;position.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<h2>Dynamic tree views</h2><a name="TreeWidget"></a><h3>function TreeWidget <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="TreeWidget">class <strong>TreeWidget</strong></a>(WidgetWrap) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>TreeWidget</dd>
<dd>WidgetWrap</dd>
<dd>DelegateToWidgetMixin</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="TreeWidget-__init__"><strong>__init__</strong></a>(self, node)</dt></dl>

<dl><dt><a name="TreeWidget-first_child"><strong>first_child</strong></a>(self)</dt><dd><tt>Return&nbsp;first&nbsp;child&nbsp;if&nbsp;expanded.</tt></dd></dl>

<dl><dt><a name="TreeWidget-get_display_text"><strong>get_display_text</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeWidget-get_indent_cols"><strong>get_indent_cols</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeWidget-get_indented_widget"><strong>get_indented_widget</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeWidget-get_inner_widget"><strong>get_inner_widget</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeWidget-get_node"><strong>get_node</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeWidget-keypress"><strong>keypress</strong></a>(self, size, key)</dt><dd><tt>Handle&nbsp;expand&nbsp;&amp;&nbsp;collapse&nbsp;requests&nbsp;(non-leaf&nbsp;nodes)</tt></dd></dl>

<dl><dt><a name="TreeWidget-last_child"><strong>last_child</strong></a>(self)</dt><dd><tt>Return&nbsp;last&nbsp;child&nbsp;if&nbsp;expanded.</tt></dd></dl>

<dl><dt><a name="TreeWidget-load_inner_widget"><strong>load_inner_widget</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeWidget-mouse_event"><strong>mouse_event</strong></a>(self, size, event, button, col, row, focus)</dt></dl>

<dl><dt><a name="TreeWidget-next_inorder"><strong>next_inorder</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;next&nbsp;TreeWidget&nbsp;depth&nbsp;first&nbsp;from&nbsp;this&nbsp;one.</tt></dd></dl>

<dl><dt><a name="TreeWidget-prev_inorder"><strong>prev_inorder</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;previous&nbsp;TreeWidget&nbsp;depth&nbsp;first&nbsp;from&nbsp;this&nbsp;one.</tt></dd></dl>

<dl><dt><a name="TreeWidget-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Allow&nbsp;selection&nbsp;of&nbsp;non-leaf&nbsp;nodes&nbsp;so&nbsp;children&nbsp;may&nbsp;be&nbsp;(un)expanded</tt></dd></dl>

<dl><dt><a name="TreeWidget-update_expanded_icon"><strong>update_expanded_icon</strong></a>(self)</dt><dd><tt>Update&nbsp;display&nbsp;widget&nbsp;text&nbsp;for&nbsp;parent&nbsp;widgets</tt></dd></dl>

<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>expanded_icon</strong> = &lt;SelectableIcon selectable flow widget b'-'&gt;</dl>

<dl><dt><strong>indent_cols</strong> = 3</dl>

<dl><dt><strong>unexpanded_icon</strong> = &lt;SelectableIcon selectable flow widget b'+'&gt;</dl>

<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</dl>
<hr>
Methods inherited from DelegateToWidgetMixin:<br>
<dl><dt><a name="TreeWidget-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Data descriptors inherited from DelegateToWidgetMixin:<br>
<dl><dt><strong>get_cursor_coords</strong></dt>
</dl>
<dl><dt><strong>get_pref_col</strong></dt>
</dl>
<dl><dt><strong>move_cursor_to_coords</strong></dt>
</dl>
<dl><dt><strong>pack</strong></dt>
</dl>
<dl><dt><strong>rows</strong></dt>
</dl>
<dl><dt><strong>sizing</strong></dt>
</dl>
<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="TreeWidget-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<a name="TreeNode"></a><h3>function TreeNode <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="TreeNode">class <strong>TreeNode</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="TreeNode-__init__"><strong>__init__</strong></a>(self, value, parent<font color="#909090">=None</font>, key<font color="#909090">=None</font>, depth<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="TreeNode-change_key"><strong>change_key</strong></a>(self, key)</dt></dl>

<dl><dt><a name="TreeNode-get_depth"><strong>get_depth</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_index"><strong>get_index</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_key"><strong>get_key</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_parent"><strong>get_parent</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_root"><strong>get_root</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_value"><strong>get_value</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_widget"><strong>get_widget</strong></a>(self, reload<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;widget&nbsp;for&nbsp;this&nbsp;node.</tt></dd></dl>

<dl><dt><a name="TreeNode-is_root"><strong>is_root</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-load_parent"><strong>load_parent</strong></a>(self)</dt><dd><tt>Provide&nbsp;TreeNode&nbsp;with&nbsp;a&nbsp;parent&nbsp;for&nbsp;the&nbsp;current&nbsp;node.&nbsp;&nbsp;This&nbsp;function<br>
is&nbsp;only&nbsp;required&nbsp;if&nbsp;the&nbsp;tree&nbsp;was&nbsp;instantiated&nbsp;from&nbsp;a&nbsp;child&nbsp;node<br>
(virtual&nbsp;function)</tt></dd></dl>

<dl><dt><a name="TreeNode-load_widget"><strong>load_widget</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-next_sibling"><strong>next_sibling</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-prev_sibling"><strong>prev_sibling</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-set_key"><strong>set_key</strong></a>(self, key)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<a name="ParentNode"></a><h3>function ParentNode <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="ParentNode"></a><strong>ParentNode</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="TreeNode-__init__"><strong>__init__</strong></a>(self, value, parent<font color="#909090">=None</font>, key<font color="#909090">=None</font>, depth<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="TreeNode-change_key"><strong>change_key</strong></a>(self, key)</dt></dl>

<dl><dt><a name="TreeNode-get_depth"><strong>get_depth</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_index"><strong>get_index</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_key"><strong>get_key</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_parent"><strong>get_parent</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_root"><strong>get_root</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_value"><strong>get_value</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_widget"><strong>get_widget</strong></a>(self, reload<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;widget&nbsp;for&nbsp;this&nbsp;node.</tt></dd></dl>

<dl><dt><a name="TreeNode-is_root"><strong>is_root</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-load_parent"><strong>load_parent</strong></a>(self)</dt><dd><tt>Provide&nbsp;TreeNode&nbsp;with&nbsp;a&nbsp;parent&nbsp;for&nbsp;the&nbsp;current&nbsp;node.&nbsp;&nbsp;This&nbsp;function<br>
is&nbsp;only&nbsp;required&nbsp;if&nbsp;the&nbsp;tree&nbsp;was&nbsp;instantiated&nbsp;from&nbsp;a&nbsp;child&nbsp;node<br>
(virtual&nbsp;function)</tt></dd></dl>

<dl><dt><a name="TreeNode-load_widget"><strong>load_widget</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-next_sibling"><strong>next_sibling</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-prev_sibling"><strong>prev_sibling</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-set_key"><strong>set_key</strong></a>(self, key)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<a name="TreeWalker"></a><h3>function TreeWalker <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="TreeWalker"></a><strong>TreeWalker</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="TreeNode-__init__"><strong>__init__</strong></a>(self, value, parent<font color="#909090">=None</font>, key<font color="#909090">=None</font>, depth<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="TreeNode-change_key"><strong>change_key</strong></a>(self, key)</dt></dl>

<dl><dt><a name="TreeNode-get_depth"><strong>get_depth</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_index"><strong>get_index</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_key"><strong>get_key</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_parent"><strong>get_parent</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_root"><strong>get_root</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_value"><strong>get_value</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_widget"><strong>get_widget</strong></a>(self, reload<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;widget&nbsp;for&nbsp;this&nbsp;node.</tt></dd></dl>

<dl><dt><a name="TreeNode-is_root"><strong>is_root</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-load_parent"><strong>load_parent</strong></a>(self)</dt><dd><tt>Provide&nbsp;TreeNode&nbsp;with&nbsp;a&nbsp;parent&nbsp;for&nbsp;the&nbsp;current&nbsp;node.&nbsp;&nbsp;This&nbsp;function<br>
is&nbsp;only&nbsp;required&nbsp;if&nbsp;the&nbsp;tree&nbsp;was&nbsp;instantiated&nbsp;from&nbsp;a&nbsp;child&nbsp;node<br>
(virtual&nbsp;function)</tt></dd></dl>

<dl><dt><a name="TreeNode-load_widget"><strong>load_widget</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-next_sibling"><strong>next_sibling</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-prev_sibling"><strong>prev_sibling</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-set_key"><strong>set_key</strong></a>(self, key)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<a name="TreeListBox"></a><h3>function TreeListBox <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="TreeListBox"></a><strong>TreeListBox</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="TreeNode-__init__"><strong>__init__</strong></a>(self, value, parent<font color="#909090">=None</font>, key<font color="#909090">=None</font>, depth<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="TreeNode-change_key"><strong>change_key</strong></a>(self, key)</dt></dl>

<dl><dt><a name="TreeNode-get_depth"><strong>get_depth</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_index"><strong>get_index</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_key"><strong>get_key</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_parent"><strong>get_parent</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_root"><strong>get_root</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_value"><strong>get_value</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-get_widget"><strong>get_widget</strong></a>(self, reload<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;widget&nbsp;for&nbsp;this&nbsp;node.</tt></dd></dl>

<dl><dt><a name="TreeNode-is_root"><strong>is_root</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-load_parent"><strong>load_parent</strong></a>(self)</dt><dd><tt>Provide&nbsp;TreeNode&nbsp;with&nbsp;a&nbsp;parent&nbsp;for&nbsp;the&nbsp;current&nbsp;node.&nbsp;&nbsp;This&nbsp;function<br>
is&nbsp;only&nbsp;required&nbsp;if&nbsp;the&nbsp;tree&nbsp;was&nbsp;instantiated&nbsp;from&nbsp;a&nbsp;child&nbsp;node<br>
(virtual&nbsp;function)</tt></dd></dl>

<dl><dt><a name="TreeNode-load_widget"><strong>load_widget</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-next_sibling"><strong>next_sibling</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-prev_sibling"><strong>prev_sibling</strong></a>(self)</dt></dl>

<dl><dt><a name="TreeNode-set_key"><strong>set_key</strong></a>(self, key)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<h2>Experimental</h2><a name="Terminal"></a><h3>function Terminal <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Terminal">class <strong>Terminal</strong></a>(BoxWidget) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Terminal</dd>
<dd>BoxWidget</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Terminal-__init__"><strong>__init__</strong></a>(self, command, env<font color="#909090">=None</font>, main_loop<font color="#909090">=None</font>, escape_sequence<font color="#909090">=None</font>)</dt><dd><tt>A&nbsp;terminal&nbsp;emulator&nbsp;within&nbsp;a&nbsp;widget.<br>
&nbsp;<br>
'command'&nbsp;is&nbsp;the&nbsp;command&nbsp;to&nbsp;execute&nbsp;inside&nbsp;the&nbsp;terminal,&nbsp;provided&nbsp;as&nbsp;a<br>
list&nbsp;of&nbsp;the&nbsp;command&nbsp;followed&nbsp;by&nbsp;its&nbsp;arguments.&nbsp;&nbsp;If&nbsp;'command'&nbsp;is&nbsp;None,<br>
the&nbsp;command&nbsp;is&nbsp;the&nbsp;current&nbsp;user's&nbsp;shell.&nbsp;You&nbsp;can&nbsp;also&nbsp;provide&nbsp;a&nbsp;callable<br>
instead&nbsp;of&nbsp;a&nbsp;command,&nbsp;which&nbsp;will&nbsp;be&nbsp;executed&nbsp;in&nbsp;the&nbsp;subprocess.<br>
&nbsp;<br>
'env'&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;pass&nbsp;custom&nbsp;environment&nbsp;variables.&nbsp;If&nbsp;omitted,<br>
os.environ&nbsp;is&nbsp;used.<br>
&nbsp;<br>
'main_loop'&nbsp;should&nbsp;be&nbsp;provided,&nbsp;because&nbsp;the&nbsp;canvas&nbsp;state&nbsp;machine&nbsp;needs<br>
to&nbsp;act&nbsp;on&nbsp;input&nbsp;from&nbsp;the&nbsp;PTY&nbsp;master&nbsp;device.&nbsp;This&nbsp;object&nbsp;must&nbsp;have<br>
watch_file&nbsp;and&nbsp;remove_watch_file&nbsp;methods.<br>
&nbsp;<br>
'escape_sequence'&nbsp;is&nbsp;the&nbsp;urwid&nbsp;key&nbsp;symbol&nbsp;which&nbsp;should&nbsp;be&nbsp;used&nbsp;to&nbsp;break<br>
out&nbsp;of&nbsp;the&nbsp;terminal&nbsp;widget.&nbsp;If&nbsp;it's&nbsp;not&nbsp;specified,&nbsp;"ctrl&nbsp;a"&nbsp;is&nbsp;used.</tt></dd></dl>

<dl><dt><a name="Terminal-add_watch"><strong>add_watch</strong></a>(self)</dt></dl>

<dl><dt><a name="Terminal-beep"><strong>beep</strong></a>(self)</dt></dl>

<dl><dt><a name="Terminal-change_focus"><strong>change_focus</strong></a>(self, has_focus)</dt><dd><tt>Ignore&nbsp;SIGINT&nbsp;if&nbsp;this&nbsp;widget&nbsp;has&nbsp;focus.</tt></dd></dl>

<dl><dt><a name="Terminal-feed"><strong>feed</strong></a>(self)</dt></dl>

<dl><dt><a name="Terminal-flush_responses"><strong>flush_responses</strong></a>(self)</dt></dl>

<dl><dt><a name="Terminal-keypress"><strong>keypress</strong></a>(self, size, key)</dt></dl>

<dl><dt><a name="Terminal-leds"><strong>leds</strong></a>(self, which)</dt></dl>

<dl><dt><a name="Terminal-remove_watch"><strong>remove_watch</strong></a>(self)</dt></dl>

<dl><dt><a name="Terminal-render"><strong>render</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="Terminal-respond"><strong>respond</strong></a>(self, string)</dt><dd><tt>Respond&nbsp;to&nbsp;the&nbsp;underlying&nbsp;application&nbsp;with&nbsp;'string'.</tt></dd></dl>

<dl><dt><a name="Terminal-selectable"><strong>selectable</strong></a>(self)</dt></dl>

<dl><dt><a name="Terminal-set_termsize"><strong>set_termsize</strong></a>(self, width, height)</dt></dl>

<dl><dt><a name="Terminal-set_title"><strong>set_title</strong></a>(self, title)</dt></dl>

<dl><dt><a name="Terminal-spawn"><strong>spawn</strong></a>(self)</dt></dl>

<dl><dt><a name="Terminal-terminate"><strong>terminate</strong></a>(self)</dt></dl>

<dl><dt><a name="Terminal-touch_term"><strong>touch_term</strong></a>(self, width, height)</dt></dl>

<dl><dt><a name="Terminal-wait_and_feed"><strong>wait_and_feed</strong></a>(self, timeout<font color="#909090">=1.0</font>)</dt></dl>

<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>signals</strong> = ['closed', 'beep', 'leds', 'title']</dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Terminal-__repr__"><strong>__repr__</strong></a> = split_repr(self)</dt><dd><tt>Return&nbsp;a&nbsp;helpful&nbsp;description&nbsp;of&nbsp;the&nbsp;object&nbsp;using<br>
_repr_words()&nbsp;and&nbsp;_repr_attrs()&nbsp;to&nbsp;add<br>
to&nbsp;the&nbsp;description.&nbsp;&nbsp;This&nbsp;function&nbsp;may&nbsp;be&nbsp;used&nbsp;by<br>
adding&nbsp;code&nbsp;to&nbsp;your&nbsp;class&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Foo(object):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__repr__&nbsp;=&nbsp;split_repr<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;["words",&nbsp;"here"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{'attrs':&nbsp;"appear&nbsp;too"}<br>
&gt;&gt;&gt;&nbsp;Foo()<br>
&lt;Foo&nbsp;words&nbsp;here&nbsp;attrs='appear&nbsp;too'&gt;<br>
&gt;&gt;&gt;&nbsp;class&nbsp;Bar(Foo):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_words(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;Foo._repr_words(self)&nbsp;+&nbsp;["too"]<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;_repr_attrs(self):<br>
...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dict(Foo._repr_attrs(self),&nbsp;barttr=42)<br>
&gt;&gt;&gt;&nbsp;Bar()<br>
&lt;Bar&nbsp;words&nbsp;here&nbsp;too&nbsp;attrs='appear&nbsp;too'&nbsp;barttr=42&gt;</tt></dd></dl>

<dl><dt><a name="Terminal-pack"><strong>pack</strong></a>(self, size, focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;a&nbsp;'packed'&nbsp;(maxcol,&nbsp;maxrow)&nbsp;for&nbsp;this&nbsp;widget.&nbsp;&nbsp;Default&nbsp;<br>
implementation&nbsp;(no&nbsp;packing&nbsp;defined)&nbsp;returns&nbsp;size,&nbsp;and<br>
calculates&nbsp;maxrow&nbsp;if&nbsp;not&nbsp;given.</tt></dd></dl>

<dl><dt><a name="Terminal-sizing"><strong>sizing</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;including&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;'box',&nbsp;'flow'&nbsp;and<br>
'fixed'.&nbsp;&nbsp;Default&nbsp;implementation&nbsp;returns&nbsp;the&nbsp;value&nbsp;of<br>
self.<strong>_sizing</strong>.</tt></dd></dl>

<hr>
Data descriptors inherited from Widget:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>base_widget</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Widget:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.widget.WidgetMeta'&gt;<dd><tt>Automatic&nbsp;caching&nbsp;of&nbsp;render&nbsp;and&nbsp;rows&nbsp;methods.<br>
&nbsp;<br>
Class&nbsp;variable&nbsp;no_cache&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;names&nbsp;of&nbsp;methods&nbsp;to&nbsp;not&nbsp;cache.<br>
Class&nbsp;variable&nbsp;ignore_focus&nbsp;if&nbsp;defined&nbsp;and&nbsp;True&nbsp;indicates&nbsp;that&nbsp;this<br>
widget&nbsp;is&nbsp;not&nbsp;affected&nbsp;by&nbsp;the&nbsp;focus&nbsp;parameter,&nbsp;so&nbsp;it&nbsp;may&nbsp;be&nbsp;ignored<br>
when&nbsp;caching.</tt></dl>

<h2>Canvas painting</h2><a name="Canvas"></a><h3>function Canvas <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="Canvas">class <strong>Canvas</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="Canvas-__init__"><strong>__init__</strong></a>(self, value1<font color="#909090">=None</font>, value2<font color="#909090">=None</font>, value3<font color="#909090">=None</font>)</dt><dd><tt>value1,&nbsp;value2,&nbsp;value3&nbsp;--&nbsp;if&nbsp;not&nbsp;None,&nbsp;raise&nbsp;a&nbsp;helpful&nbsp;error:<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;old&nbsp;Canvas&nbsp;class&nbsp;is&nbsp;now&nbsp;called&nbsp;TextCanvas.</tt></dd></dl>

<dl><dt><a name="Canvas-cols"><strong>cols</strong></a>(self)</dt></dl>

<dl><dt><a name="Canvas-content"><strong>content</strong></a>(self, trim_left<font color="#909090">=0</font>, trim_top<font color="#909090">=0</font>, cols<font color="#909090">=None</font>, rows<font color="#909090">=None</font>, attr<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="Canvas-content_delta"><strong>content_delta</strong></a>(self)</dt></dl>

<dl><dt><a name="Canvas-finalize"><strong>finalize</strong></a>(self, widget, size, focus)</dt><dd><tt>Mark&nbsp;this&nbsp;canvas&nbsp;as&nbsp;finalized&nbsp;(should&nbsp;not&nbsp;be&nbsp;any&nbsp;future<br>
changes&nbsp;to&nbsp;its&nbsp;content).&nbsp;This&nbsp;is&nbsp;required&nbsp;before&nbsp;caching<br>
the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;happens&nbsp;automatically&nbsp;after&nbsp;a&nbsp;widget's<br>
'render&nbsp;call&nbsp;returns&nbsp;the&nbsp;canvas&nbsp;thanks&nbsp;to&nbsp;some&nbsp;metaclass<br>
magic.<br>
&nbsp;<br>
widget&nbsp;--&nbsp;widget&nbsp;that&nbsp;rendered&nbsp;this&nbsp;canvas<br>
size&nbsp;--&nbsp;size&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method<br>
focus&nbsp;--&nbsp;focus&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method</tt></dd></dl>

<dl><dt><a name="Canvas-get_cursor"><strong>get_cursor</strong></a>(self)</dt></dl>

<dl><dt><a name="Canvas-get_pop_up"><strong>get_pop_up</strong></a>(self)</dt></dl>

<dl><dt><a name="Canvas-rows"><strong>rows</strong></a>(self)</dt></dl>

<dl><dt><a name="Canvas-set_cursor"><strong>set_cursor</strong></a>(self, c)</dt></dl>

<dl><dt><a name="Canvas-set_pop_up"><strong>set_pop_up</strong></a>(self, w, left, top, overlay_width, overlay_height)</dt><dd><tt>This&nbsp;method&nbsp;adds&nbsp;pop-up&nbsp;information&nbsp;to&nbsp;the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;information<br>
is&nbsp;intercepted&nbsp;by&nbsp;a&nbsp;PopUpTarget&nbsp;widget&nbsp;higher&nbsp;in&nbsp;the&nbsp;chain&nbsp;to<br>
display&nbsp;a&nbsp;pop-up&nbsp;at&nbsp;the&nbsp;given&nbsp;(left,&nbsp;top)&nbsp;position&nbsp;relative&nbsp;to&nbsp;the<br>
current&nbsp;canvas.<br>
&nbsp;<br>
w&nbsp;--&nbsp;widget&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;pop-up<br>
left,&nbsp;top&nbsp;--&nbsp;integer&nbsp;x,&nbsp;y&nbsp;position&nbsp;&nbsp;eg.&nbsp;(0,&nbsp;1)&nbsp;would&nbsp;align&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;pop-up&nbsp;with&nbsp;this&nbsp;widget's&nbsp;left&nbsp;side&nbsp;and&nbsp;put&nbsp;its&nbsp;top&nbsp;one&nbsp;row&nbsp;below<br>
&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;widget's&nbsp;top<br>
overlay_width,&nbsp;overlay_height&nbsp;--&nbsp;width&nbsp;and&nbsp;height&nbsp;parameters&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Overlay&nbsp;widget&nbsp;used&nbsp;to&nbsp;position&nbsp;the&nbsp;pop-up</tt></dd></dl>

<dl><dt><a name="Canvas-translate_coords"><strong>translate_coords</strong></a>(self, dx, dy)</dt><dd><tt>Return&nbsp;coords&nbsp;shifted&nbsp;by&nbsp;(dx,&nbsp;dy).</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>attr</strong></dt>
</dl>
<dl><dt><strong>cs</strong></dt>
</dl>
<dl><dt><strong>cursor</strong></dt>
</dl>
<dl><dt><strong>text</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;text&nbsp;content&nbsp;of&nbsp;the&nbsp;canvas&nbsp;as&nbsp;a&nbsp;list&nbsp;of&nbsp;strings,<br>
one&nbsp;for&nbsp;each&nbsp;row.</tt></dd>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>cacheable</strong> = True</dl>

<a name="TextCanvas"></a><h3>function TextCanvas <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="TextCanvas">class <strong>TextCanvas</strong></a>(Canvas) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>TextCanvas</dd>
<dd>Canvas</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="TextCanvas-__init__"><strong>__init__</strong></a>(self, text<font color="#909090">=None</font>, attr<font color="#909090">=None</font>, cs<font color="#909090">=None</font>, cursor<font color="#909090">=None</font>, maxcol<font color="#909090">=None</font>, check_width<font color="#909090">=True</font>)</dt><dd><tt>text&nbsp;--&nbsp;list&nbsp;of&nbsp;strings,&nbsp;one&nbsp;for&nbsp;each&nbsp;line<br>
attr&nbsp;--&nbsp;list&nbsp;of&nbsp;run&nbsp;length&nbsp;encoded&nbsp;attributes&nbsp;for&nbsp;text<br>
cs&nbsp;--&nbsp;list&nbsp;of&nbsp;run&nbsp;length&nbsp;encoded&nbsp;character&nbsp;set&nbsp;for&nbsp;text<br>
cursor&nbsp;--&nbsp;(x,y)&nbsp;of&nbsp;cursor&nbsp;or&nbsp;None<br>
maxcol&nbsp;--&nbsp;screen&nbsp;columns&nbsp;taken&nbsp;by&nbsp;this&nbsp;canvas<br>
check_width&nbsp;--&nbsp;check&nbsp;and&nbsp;fix&nbsp;width&nbsp;of&nbsp;all&nbsp;lines&nbsp;in&nbsp;text</tt></dd></dl>

<dl><dt><a name="TextCanvas-cols"><strong>cols</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;screen&nbsp;column&nbsp;width&nbsp;of&nbsp;this&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="TextCanvas-content"><strong>content</strong></a>(self, trim_left<font color="#909090">=0</font>, trim_top<font color="#909090">=0</font>, cols<font color="#909090">=None</font>, rows<font color="#909090">=None</font>, attr_map<font color="#909090">=None</font>)</dt><dd><tt>Return&nbsp;the&nbsp;canvas&nbsp;content&nbsp;as&nbsp;a&nbsp;list&nbsp;of&nbsp;rows&nbsp;where&nbsp;each&nbsp;row<br>
is&nbsp;a&nbsp;list&nbsp;of&nbsp;(attr,&nbsp;cs,&nbsp;text)&nbsp;tuples.<br>
&nbsp;<br>
trim_left,&nbsp;trim_top,&nbsp;cols,&nbsp;rows&nbsp;may&nbsp;be&nbsp;set&nbsp;by&nbsp;<br>
CompositeCanvas&nbsp;when&nbsp;rendering&nbsp;a&nbsp;partially&nbsp;obscured<br>
canvas.</tt></dd></dl>

<dl><dt><a name="TextCanvas-content_delta"><strong>content_delta</strong></a>(self, other)</dt><dd><tt>Return&nbsp;the&nbsp;differences&nbsp;between&nbsp;other&nbsp;and&nbsp;this&nbsp;canvas.<br>
&nbsp;<br>
If&nbsp;other&nbsp;is&nbsp;the&nbsp;same&nbsp;object&nbsp;as&nbsp;self&nbsp;this&nbsp;will&nbsp;return&nbsp;no&nbsp;<br>
differences,&nbsp;otherwise&nbsp;this&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;calling&nbsp;<br>
content().</tt></dd></dl>

<dl><dt><a name="TextCanvas-rows"><strong>rows</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;number&nbsp;of&nbsp;rows&nbsp;in&nbsp;this&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="TextCanvas-translated_coords"><strong>translated_coords</strong></a>(self, dx, dy)</dt><dd><tt>Return&nbsp;cursor&nbsp;coords&nbsp;shifted&nbsp;by&nbsp;(dx,&nbsp;dy),&nbsp;or&nbsp;None&nbsp;if&nbsp;there<br>
is&nbsp;no&nbsp;cursor.</tt></dd></dl>

<hr>
Methods inherited from Canvas:<br>
<dl><dt><a name="TextCanvas-finalize"><strong>finalize</strong></a>(self, widget, size, focus)</dt><dd><tt>Mark&nbsp;this&nbsp;canvas&nbsp;as&nbsp;finalized&nbsp;(should&nbsp;not&nbsp;be&nbsp;any&nbsp;future<br>
changes&nbsp;to&nbsp;its&nbsp;content).&nbsp;This&nbsp;is&nbsp;required&nbsp;before&nbsp;caching<br>
the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;happens&nbsp;automatically&nbsp;after&nbsp;a&nbsp;widget's<br>
'render&nbsp;call&nbsp;returns&nbsp;the&nbsp;canvas&nbsp;thanks&nbsp;to&nbsp;some&nbsp;metaclass<br>
magic.<br>
&nbsp;<br>
widget&nbsp;--&nbsp;widget&nbsp;that&nbsp;rendered&nbsp;this&nbsp;canvas<br>
size&nbsp;--&nbsp;size&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method<br>
focus&nbsp;--&nbsp;focus&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method</tt></dd></dl>

<dl><dt><a name="TextCanvas-get_cursor"><strong>get_cursor</strong></a>(self)</dt></dl>

<dl><dt><a name="TextCanvas-get_pop_up"><strong>get_pop_up</strong></a>(self)</dt></dl>

<dl><dt><a name="TextCanvas-set_cursor"><strong>set_cursor</strong></a>(self, c)</dt></dl>

<dl><dt><a name="TextCanvas-set_pop_up"><strong>set_pop_up</strong></a>(self, w, left, top, overlay_width, overlay_height)</dt><dd><tt>This&nbsp;method&nbsp;adds&nbsp;pop-up&nbsp;information&nbsp;to&nbsp;the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;information<br>
is&nbsp;intercepted&nbsp;by&nbsp;a&nbsp;PopUpTarget&nbsp;widget&nbsp;higher&nbsp;in&nbsp;the&nbsp;chain&nbsp;to<br>
display&nbsp;a&nbsp;pop-up&nbsp;at&nbsp;the&nbsp;given&nbsp;(left,&nbsp;top)&nbsp;position&nbsp;relative&nbsp;to&nbsp;the<br>
current&nbsp;canvas.<br>
&nbsp;<br>
w&nbsp;--&nbsp;widget&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;pop-up<br>
left,&nbsp;top&nbsp;--&nbsp;integer&nbsp;x,&nbsp;y&nbsp;position&nbsp;&nbsp;eg.&nbsp;(0,&nbsp;1)&nbsp;would&nbsp;align&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;pop-up&nbsp;with&nbsp;this&nbsp;widget's&nbsp;left&nbsp;side&nbsp;and&nbsp;put&nbsp;its&nbsp;top&nbsp;one&nbsp;row&nbsp;below<br>
&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;widget's&nbsp;top<br>
overlay_width,&nbsp;overlay_height&nbsp;--&nbsp;width&nbsp;and&nbsp;height&nbsp;parameters&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Overlay&nbsp;widget&nbsp;used&nbsp;to&nbsp;position&nbsp;the&nbsp;pop-up</tt></dd></dl>

<dl><dt><a name="TextCanvas-translate_coords"><strong>translate_coords</strong></a>(self, dx, dy)</dt><dd><tt>Return&nbsp;coords&nbsp;shifted&nbsp;by&nbsp;(dx,&nbsp;dy).</tt></dd></dl>

<hr>
Data descriptors inherited from Canvas:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>attr</strong></dt>
</dl>
<dl><dt><strong>cs</strong></dt>
</dl>
<dl><dt><strong>cursor</strong></dt>
</dl>
<dl><dt><strong>text</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;text&nbsp;content&nbsp;of&nbsp;the&nbsp;canvas&nbsp;as&nbsp;a&nbsp;list&nbsp;of&nbsp;strings,<br>
one&nbsp;for&nbsp;each&nbsp;row.</tt></dd>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Canvas:<br>
<dl><dt><strong>cacheable</strong> = True</dl>

<a name="CompositeCanvas"></a><h3>function CompositeCanvas <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="CompositeCanvas">class <strong>CompositeCanvas</strong></a>(Canvas) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>CompositeCanvas</dd>
<dd>Canvas</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="CompositeCanvas-__init__"><strong>__init__</strong></a>(self, canv<font color="#909090">=None</font>)</dt><dd><tt>canv&nbsp;--&nbsp;a&nbsp;Canvas&nbsp;object&nbsp;to&nbsp;wrap&nbsp;this&nbsp;CompositeCanvas&nbsp;around.<br>
&nbsp;<br>
if&nbsp;canv&nbsp;is&nbsp;a&nbsp;CompositeCanvas,&nbsp;make&nbsp;a&nbsp;copy&nbsp;of&nbsp;its&nbsp;contents</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-cols"><strong>cols</strong></a>(self)</dt></dl>

<dl><dt><a name="CompositeCanvas-content"><strong>content</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;canvas&nbsp;content&nbsp;as&nbsp;a&nbsp;list&nbsp;of&nbsp;rows&nbsp;where&nbsp;each&nbsp;row<br>
is&nbsp;a&nbsp;list&nbsp;of&nbsp;(attr,&nbsp;cs,&nbsp;text)&nbsp;tuples.</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-content_delta"><strong>content_delta</strong></a>(self, other)</dt><dd><tt>Return&nbsp;the&nbsp;differences&nbsp;between&nbsp;other&nbsp;and&nbsp;this&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-fill_attr"><strong>fill_attr</strong></a>(self, a)</dt><dd><tt>Apply&nbsp;attribute&nbsp;a&nbsp;to&nbsp;all&nbsp;areas&nbsp;of&nbsp;this&nbsp;canvas&nbsp;with&nbsp;default<br>
attribute&nbsp;currently&nbsp;set&nbsp;to&nbsp;None,&nbsp;leaving&nbsp;other&nbsp;attributes<br>
intact.</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-fill_attr_apply"><strong>fill_attr_apply</strong></a>(self, mapping)</dt><dd><tt>Apply&nbsp;an&nbsp;attribute-mapping&nbsp;dictionary&nbsp;to&nbsp;the&nbsp;canvas.<br>
&nbsp;<br>
mapping&nbsp;--&nbsp;dictionary&nbsp;of&nbsp;original-attribute:new-attribute&nbsp;items</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-overlay"><strong>overlay</strong></a>(self, other, left, top)</dt><dd><tt>Overlay&nbsp;other&nbsp;onto&nbsp;this&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-pad_trim_left_right"><strong>pad_trim_left_right</strong></a>(self, left, right)</dt><dd><tt>Pad&nbsp;or&nbsp;trim&nbsp;this&nbsp;canvas&nbsp;on&nbsp;the&nbsp;left&nbsp;and&nbsp;right<br>
&nbsp;<br>
values&nbsp;&gt;&nbsp;0&nbsp;indicate&nbsp;screen&nbsp;columns&nbsp;to&nbsp;pad<br>
values&nbsp;&lt;&nbsp;0&nbsp;indicate&nbsp;screen&nbsp;columns&nbsp;to&nbsp;trim</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-pad_trim_top_bottom"><strong>pad_trim_top_bottom</strong></a>(self, top, bottom)</dt><dd><tt>Pad&nbsp;or&nbsp;trim&nbsp;this&nbsp;canvas&nbsp;on&nbsp;the&nbsp;top&nbsp;and&nbsp;bottom.</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-rows"><strong>rows</strong></a>(self)</dt></dl>

<dl><dt><a name="CompositeCanvas-set_depends"><strong>set_depends</strong></a>(self, widget_list)</dt><dd><tt>Explicitly&nbsp;specify&nbsp;the&nbsp;list&nbsp;of&nbsp;widgets&nbsp;that&nbsp;this&nbsp;canvas<br>
depends&nbsp;on.&nbsp;&nbsp;If&nbsp;any&nbsp;of&nbsp;these&nbsp;widgets&nbsp;change&nbsp;this&nbsp;canvas<br>
will&nbsp;have&nbsp;to&nbsp;be&nbsp;updated.</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-trim"><strong>trim</strong></a>(self, top, count<font color="#909090">=None</font>)</dt><dd><tt>Trim&nbsp;lines&nbsp;from&nbsp;the&nbsp;top&nbsp;and/or&nbsp;bottom&nbsp;of&nbsp;canvas.<br>
&nbsp;<br>
top&nbsp;--&nbsp;number&nbsp;of&nbsp;lines&nbsp;to&nbsp;remove&nbsp;from&nbsp;top<br>
count&nbsp;--&nbsp;number&nbsp;of&nbsp;lines&nbsp;to&nbsp;keep,&nbsp;or&nbsp;None&nbsp;for&nbsp;all&nbsp;the&nbsp;rest</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-trim_end"><strong>trim_end</strong></a>(self, end)</dt><dd><tt>Trim&nbsp;lines&nbsp;from&nbsp;the&nbsp;bottom&nbsp;of&nbsp;the&nbsp;canvas.<br>
&nbsp;<br>
end&nbsp;--&nbsp;number&nbsp;of&nbsp;lines&nbsp;to&nbsp;remove&nbsp;from&nbsp;the&nbsp;end</tt></dd></dl>

<hr>
Methods inherited from Canvas:<br>
<dl><dt><a name="CompositeCanvas-finalize"><strong>finalize</strong></a>(self, widget, size, focus)</dt><dd><tt>Mark&nbsp;this&nbsp;canvas&nbsp;as&nbsp;finalized&nbsp;(should&nbsp;not&nbsp;be&nbsp;any&nbsp;future<br>
changes&nbsp;to&nbsp;its&nbsp;content).&nbsp;This&nbsp;is&nbsp;required&nbsp;before&nbsp;caching<br>
the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;happens&nbsp;automatically&nbsp;after&nbsp;a&nbsp;widget's<br>
'render&nbsp;call&nbsp;returns&nbsp;the&nbsp;canvas&nbsp;thanks&nbsp;to&nbsp;some&nbsp;metaclass<br>
magic.<br>
&nbsp;<br>
widget&nbsp;--&nbsp;widget&nbsp;that&nbsp;rendered&nbsp;this&nbsp;canvas<br>
size&nbsp;--&nbsp;size&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method<br>
focus&nbsp;--&nbsp;focus&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-get_cursor"><strong>get_cursor</strong></a>(self)</dt></dl>

<dl><dt><a name="CompositeCanvas-get_pop_up"><strong>get_pop_up</strong></a>(self)</dt></dl>

<dl><dt><a name="CompositeCanvas-set_cursor"><strong>set_cursor</strong></a>(self, c)</dt></dl>

<dl><dt><a name="CompositeCanvas-set_pop_up"><strong>set_pop_up</strong></a>(self, w, left, top, overlay_width, overlay_height)</dt><dd><tt>This&nbsp;method&nbsp;adds&nbsp;pop-up&nbsp;information&nbsp;to&nbsp;the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;information<br>
is&nbsp;intercepted&nbsp;by&nbsp;a&nbsp;PopUpTarget&nbsp;widget&nbsp;higher&nbsp;in&nbsp;the&nbsp;chain&nbsp;to<br>
display&nbsp;a&nbsp;pop-up&nbsp;at&nbsp;the&nbsp;given&nbsp;(left,&nbsp;top)&nbsp;position&nbsp;relative&nbsp;to&nbsp;the<br>
current&nbsp;canvas.<br>
&nbsp;<br>
w&nbsp;--&nbsp;widget&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;pop-up<br>
left,&nbsp;top&nbsp;--&nbsp;integer&nbsp;x,&nbsp;y&nbsp;position&nbsp;&nbsp;eg.&nbsp;(0,&nbsp;1)&nbsp;would&nbsp;align&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;pop-up&nbsp;with&nbsp;this&nbsp;widget's&nbsp;left&nbsp;side&nbsp;and&nbsp;put&nbsp;its&nbsp;top&nbsp;one&nbsp;row&nbsp;below<br>
&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;widget's&nbsp;top<br>
overlay_width,&nbsp;overlay_height&nbsp;--&nbsp;width&nbsp;and&nbsp;height&nbsp;parameters&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Overlay&nbsp;widget&nbsp;used&nbsp;to&nbsp;position&nbsp;the&nbsp;pop-up</tt></dd></dl>

<dl><dt><a name="CompositeCanvas-translate_coords"><strong>translate_coords</strong></a>(self, dx, dy)</dt><dd><tt>Return&nbsp;coords&nbsp;shifted&nbsp;by&nbsp;(dx,&nbsp;dy).</tt></dd></dl>

<hr>
Data descriptors inherited from Canvas:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>attr</strong></dt>
</dl>
<dl><dt><strong>cs</strong></dt>
</dl>
<dl><dt><strong>cursor</strong></dt>
</dl>
<dl><dt><strong>text</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;text&nbsp;content&nbsp;of&nbsp;the&nbsp;canvas&nbsp;as&nbsp;a&nbsp;list&nbsp;of&nbsp;strings,<br>
one&nbsp;for&nbsp;each&nbsp;row.</tt></dd>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Canvas:<br>
<dl><dt><strong>cacheable</strong> = True</dl>

<a name="BlankCanvas"></a><h3>function BlankCanvas <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="BlankCanvas"></a><strong>BlankCanvas</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>SolidCanvas</dd>
<dd>Canvas</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="SolidCanvas-__init__"><strong>__init__</strong></a>(self, fill_char, cols, rows)</dt></dl>

<dl><dt><a name="SolidCanvas-cols"><strong>cols</strong></a>(self)</dt></dl>

<dl><dt><a name="SolidCanvas-content"><strong>content</strong></a>(self, trim_left<font color="#909090">=0</font>, trim_top<font color="#909090">=0</font>, cols<font color="#909090">=None</font>, rows<font color="#909090">=None</font>, attr<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="SolidCanvas-content_delta"><strong>content_delta</strong></a>(self, other)</dt><dd><tt>Return&nbsp;the&nbsp;differences&nbsp;between&nbsp;other&nbsp;and&nbsp;this&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="SolidCanvas-rows"><strong>rows</strong></a>(self)</dt></dl>

<hr>
Methods inherited from Canvas:<br>
<dl><dt><a name="SolidCanvas-finalize"><strong>finalize</strong></a>(self, widget, size, focus)</dt><dd><tt>Mark&nbsp;this&nbsp;canvas&nbsp;as&nbsp;finalized&nbsp;(should&nbsp;not&nbsp;be&nbsp;any&nbsp;future<br>
changes&nbsp;to&nbsp;its&nbsp;content).&nbsp;This&nbsp;is&nbsp;required&nbsp;before&nbsp;caching<br>
the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;happens&nbsp;automatically&nbsp;after&nbsp;a&nbsp;widget's<br>
'render&nbsp;call&nbsp;returns&nbsp;the&nbsp;canvas&nbsp;thanks&nbsp;to&nbsp;some&nbsp;metaclass<br>
magic.<br>
&nbsp;<br>
widget&nbsp;--&nbsp;widget&nbsp;that&nbsp;rendered&nbsp;this&nbsp;canvas<br>
size&nbsp;--&nbsp;size&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method<br>
focus&nbsp;--&nbsp;focus&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method</tt></dd></dl>

<dl><dt><a name="SolidCanvas-get_cursor"><strong>get_cursor</strong></a>(self)</dt></dl>

<dl><dt><a name="SolidCanvas-get_pop_up"><strong>get_pop_up</strong></a>(self)</dt></dl>

<dl><dt><a name="SolidCanvas-set_cursor"><strong>set_cursor</strong></a>(self, c)</dt></dl>

<dl><dt><a name="SolidCanvas-set_pop_up"><strong>set_pop_up</strong></a>(self, w, left, top, overlay_width, overlay_height)</dt><dd><tt>This&nbsp;method&nbsp;adds&nbsp;pop-up&nbsp;information&nbsp;to&nbsp;the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;information<br>
is&nbsp;intercepted&nbsp;by&nbsp;a&nbsp;PopUpTarget&nbsp;widget&nbsp;higher&nbsp;in&nbsp;the&nbsp;chain&nbsp;to<br>
display&nbsp;a&nbsp;pop-up&nbsp;at&nbsp;the&nbsp;given&nbsp;(left,&nbsp;top)&nbsp;position&nbsp;relative&nbsp;to&nbsp;the<br>
current&nbsp;canvas.<br>
&nbsp;<br>
w&nbsp;--&nbsp;widget&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;pop-up<br>
left,&nbsp;top&nbsp;--&nbsp;integer&nbsp;x,&nbsp;y&nbsp;position&nbsp;&nbsp;eg.&nbsp;(0,&nbsp;1)&nbsp;would&nbsp;align&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;pop-up&nbsp;with&nbsp;this&nbsp;widget's&nbsp;left&nbsp;side&nbsp;and&nbsp;put&nbsp;its&nbsp;top&nbsp;one&nbsp;row&nbsp;below<br>
&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;widget's&nbsp;top<br>
overlay_width,&nbsp;overlay_height&nbsp;--&nbsp;width&nbsp;and&nbsp;height&nbsp;parameters&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Overlay&nbsp;widget&nbsp;used&nbsp;to&nbsp;position&nbsp;the&nbsp;pop-up</tt></dd></dl>

<dl><dt><a name="SolidCanvas-translate_coords"><strong>translate_coords</strong></a>(self, dx, dy)</dt><dd><tt>Return&nbsp;coords&nbsp;shifted&nbsp;by&nbsp;(dx,&nbsp;dy).</tt></dd></dl>

<hr>
Data descriptors inherited from Canvas:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>attr</strong></dt>
</dl>
<dl><dt><strong>cs</strong></dt>
</dl>
<dl><dt><strong>cursor</strong></dt>
</dl>
<dl><dt><strong>text</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;text&nbsp;content&nbsp;of&nbsp;the&nbsp;canvas&nbsp;as&nbsp;a&nbsp;list&nbsp;of&nbsp;strings,<br>
one&nbsp;for&nbsp;each&nbsp;row.</tt></dd>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Canvas:<br>
<dl><dt><strong>cacheable</strong> = True</dl>

<a name="SolidCanvas"></a><h3>function SolidCanvas <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="SolidCanvas">class <strong>SolidCanvas</strong></a>(Canvas) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>SolidCanvas</dd>
<dd>Canvas</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="SolidCanvas-__init__"><strong>__init__</strong></a>(self, fill_char, cols, rows)</dt></dl>

<dl><dt><a name="SolidCanvas-cols"><strong>cols</strong></a>(self)</dt></dl>

<dl><dt><a name="SolidCanvas-content"><strong>content</strong></a>(self, trim_left<font color="#909090">=0</font>, trim_top<font color="#909090">=0</font>, cols<font color="#909090">=None</font>, rows<font color="#909090">=None</font>, attr<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="SolidCanvas-content_delta"><strong>content_delta</strong></a>(self, other)</dt><dd><tt>Return&nbsp;the&nbsp;differences&nbsp;between&nbsp;other&nbsp;and&nbsp;this&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="SolidCanvas-rows"><strong>rows</strong></a>(self)</dt></dl>

<hr>
Methods inherited from Canvas:<br>
<dl><dt><a name="SolidCanvas-finalize"><strong>finalize</strong></a>(self, widget, size, focus)</dt><dd><tt>Mark&nbsp;this&nbsp;canvas&nbsp;as&nbsp;finalized&nbsp;(should&nbsp;not&nbsp;be&nbsp;any&nbsp;future<br>
changes&nbsp;to&nbsp;its&nbsp;content).&nbsp;This&nbsp;is&nbsp;required&nbsp;before&nbsp;caching<br>
the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;happens&nbsp;automatically&nbsp;after&nbsp;a&nbsp;widget's<br>
'render&nbsp;call&nbsp;returns&nbsp;the&nbsp;canvas&nbsp;thanks&nbsp;to&nbsp;some&nbsp;metaclass<br>
magic.<br>
&nbsp;<br>
widget&nbsp;--&nbsp;widget&nbsp;that&nbsp;rendered&nbsp;this&nbsp;canvas<br>
size&nbsp;--&nbsp;size&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method<br>
focus&nbsp;--&nbsp;focus&nbsp;parameter&nbsp;passed&nbsp;to&nbsp;widget's&nbsp;render&nbsp;method</tt></dd></dl>

<dl><dt><a name="SolidCanvas-get_cursor"><strong>get_cursor</strong></a>(self)</dt></dl>

<dl><dt><a name="SolidCanvas-get_pop_up"><strong>get_pop_up</strong></a>(self)</dt></dl>

<dl><dt><a name="SolidCanvas-set_cursor"><strong>set_cursor</strong></a>(self, c)</dt></dl>

<dl><dt><a name="SolidCanvas-set_pop_up"><strong>set_pop_up</strong></a>(self, w, left, top, overlay_width, overlay_height)</dt><dd><tt>This&nbsp;method&nbsp;adds&nbsp;pop-up&nbsp;information&nbsp;to&nbsp;the&nbsp;canvas.&nbsp;&nbsp;This&nbsp;information<br>
is&nbsp;intercepted&nbsp;by&nbsp;a&nbsp;PopUpTarget&nbsp;widget&nbsp;higher&nbsp;in&nbsp;the&nbsp;chain&nbsp;to<br>
display&nbsp;a&nbsp;pop-up&nbsp;at&nbsp;the&nbsp;given&nbsp;(left,&nbsp;top)&nbsp;position&nbsp;relative&nbsp;to&nbsp;the<br>
current&nbsp;canvas.<br>
&nbsp;<br>
w&nbsp;--&nbsp;widget&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;pop-up<br>
left,&nbsp;top&nbsp;--&nbsp;integer&nbsp;x,&nbsp;y&nbsp;position&nbsp;&nbsp;eg.&nbsp;(0,&nbsp;1)&nbsp;would&nbsp;align&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;pop-up&nbsp;with&nbsp;this&nbsp;widget's&nbsp;left&nbsp;side&nbsp;and&nbsp;put&nbsp;its&nbsp;top&nbsp;one&nbsp;row&nbsp;below<br>
&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;widget's&nbsp;top<br>
overlay_width,&nbsp;overlay_height&nbsp;--&nbsp;width&nbsp;and&nbsp;height&nbsp;parameters&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Overlay&nbsp;widget&nbsp;used&nbsp;to&nbsp;position&nbsp;the&nbsp;pop-up</tt></dd></dl>

<dl><dt><a name="SolidCanvas-translate_coords"><strong>translate_coords</strong></a>(self, dx, dy)</dt><dd><tt>Return&nbsp;coords&nbsp;shifted&nbsp;by&nbsp;(dx,&nbsp;dy).</tt></dd></dl>

<hr>
Data descriptors inherited from Canvas:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>attr</strong></dt>
</dl>
<dl><dt><strong>cs</strong></dt>
</dl>
<dl><dt><strong>cursor</strong></dt>
</dl>
<dl><dt><strong>text</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;text&nbsp;content&nbsp;of&nbsp;the&nbsp;canvas&nbsp;as&nbsp;a&nbsp;list&nbsp;of&nbsp;strings,<br>
one&nbsp;for&nbsp;each&nbsp;row.</tt></dd>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</dl>
<hr>
Data and other attributes inherited from Canvas:<br>
<dl><dt><strong>cacheable</strong> = True</dl>

<a name="CanvasCombine"></a><h3>function CanvasCombine <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-CanvasCombine"><strong>CanvasCombine</strong></a>(l)</dt><dd><tt>Stack&nbsp;canvases&nbsp;in&nbsp;l&nbsp;vertically&nbsp;and&nbsp;return&nbsp;resulting&nbsp;canvas.<br>
&nbsp;<br>
l&nbsp;--&nbsp;list&nbsp;of&nbsp;(canvas,&nbsp;position,&nbsp;focus)&nbsp;tuples.&nbsp;&nbsp;position&nbsp;is&nbsp;a&nbsp;value<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;widget.set_focus&nbsp;will&nbsp;accept,&nbsp;or&nbsp;None&nbsp;if&nbsp;not&nbsp;allowed.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;focus&nbsp;is&nbsp;True&nbsp;if&nbsp;this&nbsp;canvas&nbsp;is&nbsp;the&nbsp;one&nbsp;that&nbsp;would&nbsp;be&nbsp;in&nbsp;focus<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;the&nbsp;whole&nbsp;widget&nbsp;is&nbsp;in&nbsp;focus.</tt></dd></dl>
<a name="CanvasJoin"></a><h3>function CanvasJoin <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-CanvasJoin"><strong>CanvasJoin</strong></a>(l)</dt><dd><tt>Join&nbsp;canvases&nbsp;in&nbsp;l&nbsp;horizontally.&nbsp;Return&nbsp;result.<br>
l&nbsp;--&nbsp;list&nbsp;of&nbsp;(canvas,&nbsp;position,&nbsp;focus,&nbsp;cols)&nbsp;tuples.&nbsp;&nbsp;position&nbsp;is&nbsp;a&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;that&nbsp;widget.set_focus&nbsp;will&nbsp;accept,&nbsp;&nbsp;or&nbsp;None&nbsp;if&nbsp;not&nbsp;allowed.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;focus&nbsp;is&nbsp;True&nbsp;if&nbsp;this&nbsp;canvas&nbsp;is&nbsp;the&nbsp;one&nbsp;that&nbsp;would&nbsp;be&nbsp;in&nbsp;focus&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;whole&nbsp;widget&nbsp;is&nbsp;in&nbsp;focus.&nbsp;&nbsp;cols&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;screen<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;columns&nbsp;that&nbsp;this&nbsp;widget&nbsp;will&nbsp;require,&nbsp;if&nbsp;larger&nbsp;than&nbsp;the&nbsp;actual<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;canvas.cols()&nbsp;value&nbsp;then&nbsp;this&nbsp;widget&nbsp;will&nbsp;be&nbsp;padded&nbsp;on&nbsp;the&nbsp;right.</tt></dd></dl>
<a name="CanvasOverlay"></a><h3>function CanvasOverlay <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-CanvasOverlay"><strong>CanvasOverlay</strong></a>(top_c, bottom_c, left, top)</dt><dd><tt>Overlay&nbsp;canvas&nbsp;top_c&nbsp;onto&nbsp;bottom_c&nbsp;at&nbsp;position&nbsp;(left,&nbsp;top).</tt></dd></dl>
<h2>Raw screen attributes</h2><a name="AttrSpec"></a><h3>function AttrSpec <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="AttrSpec">class <strong>AttrSpec</strong></a>(object) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="AttrSpec-__init__"><strong>__init__</strong></a>(self, fg, bg, colors<font color="#909090">=256</font>)</dt><dd><tt>fg&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;a&nbsp;comma-separated&nbsp;foreground&nbsp;color<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;settings<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;(use&nbsp;the&nbsp;terminal's&nbsp;default&nbsp;foreground),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'black',&nbsp;'dark&nbsp;red',&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;magenta',&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray',&nbsp;'dark&nbsp;gray',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;red',&nbsp;'light&nbsp;green',&nbsp;'yellow',&nbsp;'light&nbsp;blue',&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;magenta',&nbsp;'light&nbsp;cyan',&nbsp;'white'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;High-color&nbsp;example&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'#009'&nbsp;(0%&nbsp;red,&nbsp;0%&nbsp;green,&nbsp;60%&nbsp;red,&nbsp;like&nbsp;HTML&nbsp;colors)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'#fcc'&nbsp;(100%&nbsp;red,&nbsp;80%&nbsp;green,&nbsp;80%&nbsp;blue)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'g40'&nbsp;(40%&nbsp;gray,&nbsp;decimal),&nbsp;'g#cc'&nbsp;(80%&nbsp;gray,&nbsp;hex),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'#000',&nbsp;'g0',&nbsp;'g#00'&nbsp;(black),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'#fff',&nbsp;'g100',&nbsp;'g#ff'&nbsp;(white)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'h8'&nbsp;(color&nbsp;number&nbsp;8),&nbsp;'h255'&nbsp;(color&nbsp;number&nbsp;255)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setting:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'bold',&nbsp;'underline',&nbsp;'blink',&nbsp;'standout'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;terminals&nbsp;use&nbsp;'bold'&nbsp;for&nbsp;bright&nbsp;colors.&nbsp;&nbsp;Most&nbsp;terminals<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ignore&nbsp;the&nbsp;'blink'&nbsp;setting.&nbsp;&nbsp;If&nbsp;the&nbsp;color&nbsp;is&nbsp;not&nbsp;given&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;will&nbsp;be&nbsp;assumed.<br>
&nbsp;<br>
bg&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;the&nbsp;background&nbsp;color<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;(use&nbsp;the&nbsp;terminal's&nbsp;default&nbsp;background),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'black',&nbsp;'dark&nbsp;red',&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;magenta',&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;High-color&nbsp;exaples:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;see&nbsp;fg&nbsp;examples&nbsp;above<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An&nbsp;empty&nbsp;string&nbsp;will&nbsp;be&nbsp;treated&nbsp;the&nbsp;same&nbsp;as&nbsp;'default'.<br>
&nbsp;<br>
colors&nbsp;--&nbsp;the&nbsp;maximum&nbsp;colors&nbsp;available&nbsp;for&nbsp;the&nbsp;specification<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Valid&nbsp;values&nbsp;include:&nbsp;1,&nbsp;16,&nbsp;88&nbsp;and&nbsp;256.&nbsp;&nbsp;High-color&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;values&nbsp;are&nbsp;only&nbsp;usable&nbsp;with&nbsp;88&nbsp;or&nbsp;256&nbsp;colors.&nbsp;&nbsp;With<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;color&nbsp;only&nbsp;the&nbsp;foreground&nbsp;settings&nbsp;may&nbsp;be&nbsp;used.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;AttrSpec('dark&nbsp;red',&nbsp;'light&nbsp;gray',&nbsp;16)<br>
AttrSpec('dark&nbsp;red',&nbsp;'light&nbsp;gray')<br>
&gt;&gt;&gt;&nbsp;AttrSpec('yellow,&nbsp;underline,&nbsp;bold',&nbsp;'dark&nbsp;blue')<br>
AttrSpec('yellow,bold,underline',&nbsp;'dark&nbsp;blue')<br>
&gt;&gt;&gt;&nbsp;AttrSpec('#ddb',&nbsp;'#004',&nbsp;256)&nbsp;#&nbsp;closest&nbsp;colors&nbsp;will&nbsp;be&nbsp;found<br>
AttrSpec('#dda',&nbsp;'#006')<br>
&gt;&gt;&gt;&nbsp;AttrSpec('#ddb',&nbsp;'#004',&nbsp;88)<br>
AttrSpec('#ccc',&nbsp;'#000',&nbsp;colors=88)</tt></dd></dl>

<dl><dt><a name="AttrSpec-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Return&nbsp;an&nbsp;executable&nbsp;python&nbsp;representation&nbsp;of&nbsp;the&nbsp;AttrSpec<br>
object.</tt></dd></dl>

<dl><dt><a name="AttrSpec-get_rgb_values"><strong>get_rgb_values</strong></a>(self)</dt><dd><tt>Return&nbsp;(fg_red,&nbsp;fg_green,&nbsp;fg_blue,&nbsp;bg_red,&nbsp;bg_green,&nbsp;bg_blue)&nbsp;color<br>
components.&nbsp;&nbsp;Each&nbsp;component&nbsp;is&nbsp;in&nbsp;the&nbsp;range&nbsp;0-255.&nbsp;&nbsp;Values&nbsp;are&nbsp;taken<br>
from&nbsp;the&nbsp;XTerm&nbsp;defaults&nbsp;and&nbsp;may&nbsp;not&nbsp;exactly&nbsp;match&nbsp;the&nbsp;user's&nbsp;terminal.<br>
&nbsp;<br>
If&nbsp;the&nbsp;foreground&nbsp;or&nbsp;background&nbsp;is&nbsp;'default'&nbsp;then&nbsp;all&nbsp;their&nbsp;compenents<br>
will&nbsp;be&nbsp;returned&nbsp;as&nbsp;None.<br>
&nbsp;<br>
&gt;&gt;&gt;&nbsp;AttrSpec('yellow',&nbsp;'#ccf',&nbsp;colors=88).get_rgb_values()<br>
(255,&nbsp;255,&nbsp;0,&nbsp;205,&nbsp;205,&nbsp;255)<br>
&gt;&gt;&gt;&nbsp;AttrSpec('default',&nbsp;'g92').get_rgb_values()<br>
(None,&nbsp;None,&nbsp;None,&nbsp;238,&nbsp;238,&nbsp;238)</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>background</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;background&nbsp;color.</tt></dd>
</dl>
<dl><dt><strong>background_basic</strong></dt>
</dl>
<dl><dt><strong>background_high</strong></dt>
</dl>
<dl><dt><strong>background_number</strong></dt>
</dl>
<dl><dt><strong>blink</strong></dt>
</dl>
<dl><dt><strong>bold</strong></dt>
</dl>
<dl><dt><strong>colors</strong></dt>
<dd><tt>Return&nbsp;the&nbsp;maximum&nbsp;colors&nbsp;required&nbsp;for&nbsp;this&nbsp;object.<br>
&nbsp;<br>
Returns&nbsp;256,&nbsp;88,&nbsp;16&nbsp;or&nbsp;1.</tt></dd>
</dl>
<dl><dt><strong>foreground</strong></dt>
</dl>
<dl><dt><strong>foreground_basic</strong></dt>
</dl>
<dl><dt><strong>foreground_high</strong></dt>
</dl>
<dl><dt><strong>foreground_number</strong></dt>
</dl>
<dl><dt><strong>standout</strong></dt>
</dl>
<dl><dt><strong>underline</strong></dt>
</dl>
<h2>Custom formatting rules</h2><h3><a name="TextLayout">class <strong>TextLayout</strong></a> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="TextLayout-layout"><strong>layout</strong></a>(self, text, width, align, wrap)</dt><dd><tt>Return&nbsp;a&nbsp;layout&nbsp;structure&nbsp;for&nbsp;text.<br>
&nbsp;<br>
text&nbsp;--&nbsp;string&nbsp;in&nbsp;current&nbsp;encoding&nbsp;or&nbsp;unicode&nbsp;string<br>
width&nbsp;--&nbsp;number&nbsp;of&nbsp;screen&nbsp;columns&nbsp;available<br>
align&nbsp;--&nbsp;align&nbsp;mode&nbsp;for&nbsp;text<br>
wrap&nbsp;--&nbsp;wrap&nbsp;mode&nbsp;for&nbsp;text<br>
&nbsp;<br>
Layout&nbsp;structure&nbsp;is&nbsp;a&nbsp;list&nbsp;of&nbsp;line&nbsp;layouts,&nbsp;one&nbsp;per&nbsp;output&nbsp;line.<br>
Line&nbsp;layouts&nbsp;are&nbsp;lists&nbsp;than&nbsp;may&nbsp;contain&nbsp;the&nbsp;following&nbsp;tuples:<br>
&nbsp;&nbsp;(&nbsp;column&nbsp;width&nbsp;of&nbsp;text&nbsp;segment,&nbsp;start&nbsp;offset,&nbsp;end&nbsp;offset&nbsp;)<br>
&nbsp;&nbsp;(&nbsp;number&nbsp;of&nbsp;space&nbsp;characters&nbsp;to&nbsp;insert,&nbsp;offset&nbsp;or&nbsp;None)<br>
&nbsp;&nbsp;(&nbsp;column&nbsp;width&nbsp;of&nbsp;insert&nbsp;text,&nbsp;offset,&nbsp;"insert&nbsp;text"&nbsp;)<br>
&nbsp;<br>
The&nbsp;offset&nbsp;in&nbsp;the&nbsp;last&nbsp;two&nbsp;tuples&nbsp;is&nbsp;used&nbsp;to&nbsp;determine&nbsp;the<br>
attribute&nbsp;used&nbsp;for&nbsp;the&nbsp;inserted&nbsp;spaces&nbsp;or&nbsp;text&nbsp;respectively.&nbsp;&nbsp;<br>
The&nbsp;attribute&nbsp;used&nbsp;will&nbsp;be&nbsp;the&nbsp;same&nbsp;as&nbsp;the&nbsp;attribute&nbsp;at&nbsp;that&nbsp;<br>
text&nbsp;offset.&nbsp;&nbsp;If&nbsp;the&nbsp;offset&nbsp;is&nbsp;None&nbsp;when&nbsp;inserting&nbsp;spaces<br>
then&nbsp;no&nbsp;attribute&nbsp;will&nbsp;be&nbsp;used.</tt></dd></dl>

<dl><dt><a name="TextLayout-supports_align_mode"><strong>supports_align_mode</strong></a>(self, align)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;align&nbsp;is&nbsp;a&nbsp;supported&nbsp;align&nbsp;mode.</tt></dd></dl>

<dl><dt><a name="TextLayout-supports_wrap_mode"><strong>supports_wrap_mode</strong></a>(self, wrap)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;wrap&nbsp;is&nbsp;a&nbsp;supported&nbsp;wrap&nbsp;mode.</tt></dd></dl>

<h3><a name="StandardTextLayout">class <strong>StandardTextLayout</strong></a>(TextLayout) <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="StandardTextLayout-__init__"><strong>__init__</strong></a>(self)</dt></dl>

<dl><dt><a name="StandardTextLayout-align_layout"><strong>align_layout</strong></a>(self, text, width, segs, wrap, align)</dt><dd><tt>Convert&nbsp;the&nbsp;layout&nbsp;segs&nbsp;to&nbsp;an&nbsp;aligned&nbsp;layout.</tt></dd></dl>

<dl><dt><a name="StandardTextLayout-calculate_text_segments"><strong>calculate_text_segments</strong></a>(self, text, width, wrap)</dt><dd><tt>Calculate&nbsp;the&nbsp;segments&nbsp;of&nbsp;text&nbsp;to&nbsp;display&nbsp;given&nbsp;width&nbsp;screen<br>
columns&nbsp;to&nbsp;display&nbsp;them.<br>
&nbsp;<br>
text&nbsp;-&nbsp;unicode&nbsp;text&nbsp;or&nbsp;byte&nbsp;string&nbsp;to&nbsp;display<br>
width&nbsp;-&nbsp;number&nbsp;of&nbsp;available&nbsp;screen&nbsp;columns<br>
wrap&nbsp;-&nbsp;wrapping&nbsp;mode&nbsp;used<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;layout&nbsp;structure&nbsp;without&nbsp;aligmnent&nbsp;applied.</tt></dd></dl>

<dl><dt><a name="StandardTextLayout-layout"><strong>layout</strong></a>(self, text, width, align, wrap)</dt><dd><tt>Return&nbsp;a&nbsp;layout&nbsp;structure&nbsp;for&nbsp;text.</tt></dd></dl>

<dl><dt><a name="StandardTextLayout-pack"><strong>pack</strong></a>(self, maxcol, layout)</dt><dd><tt>Return&nbsp;a&nbsp;minimal&nbsp;maxcol&nbsp;value&nbsp;that&nbsp;would&nbsp;result&nbsp;in&nbsp;the&nbsp;same<br>
number&nbsp;of&nbsp;lines&nbsp;for&nbsp;layout.&nbsp;&nbsp;layout&nbsp;must&nbsp;be&nbsp;a&nbsp;layout&nbsp;structure<br>
returned&nbsp;by&nbsp;layout().</tt></dd></dl>

<dl><dt><a name="StandardTextLayout-supports_align_mode"><strong>supports_align_mode</strong></a>(self, align)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;align&nbsp;is&nbsp;'left',&nbsp;'center'&nbsp;or&nbsp;'right'.</tt></dd></dl>

<dl><dt><a name="StandardTextLayout-supports_wrap_mode"><strong>supports_wrap_mode</strong></a>(self, wrap)</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;wrap&nbsp;is&nbsp;'any',&nbsp;'space'&nbsp;or&nbsp;'clip'.</tt></dd></dl>

<h2>Character encoding</h2><a name="set_encoding"></a><h3>function set_encoding <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-set_encoding"><strong>set_encoding</strong></a>(encoding)</dt><dd><tt>Set&nbsp;the&nbsp;byte&nbsp;encoding&nbsp;to&nbsp;assume&nbsp;when&nbsp;processing&nbsp;strings&nbsp;and&nbsp;the<br>
encoding&nbsp;to&nbsp;use&nbsp;when&nbsp;converting&nbsp;unicode&nbsp;strings.</tt></dd></dl>
<a name="get_encoding_mode"></a><h3>function get_encoding_mode <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-get_encoding_mode"><strong>get_encoding_mode</strong></a>()</dt><dd><tt>Get&nbsp;the&nbsp;mode&nbsp;Urwid&nbsp;is&nbsp;using&nbsp;when&nbsp;processing&nbsp;text&nbsp;strings.<br>
Returns&nbsp;'narrow'&nbsp;for&nbsp;8-bit&nbsp;encodings,&nbsp;'wide'&nbsp;for&nbsp;CJK&nbsp;encodings<br>
or&nbsp;'utf8'&nbsp;for&nbsp;UTF-8&nbsp;encodings.</tt></dd></dl>
<a name="supports_unicode"></a><h3>function supports_unicode <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-supports_unicode"><strong>supports_unicode</strong></a>()</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;python&nbsp;is&nbsp;able&nbsp;to&nbsp;convert&nbsp;non-ascii&nbsp;unicode&nbsp;strings<br>
to&nbsp;the&nbsp;current&nbsp;encoding.</tt></dd></dl>
<h2>Signals</h2><a name="connect_signal"></a><h3>function connect_signal <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-connect_signal"><strong>connect_signal</strong></a> = connect(self, obj, name, callback, user_arg<font color="#909090">=None</font>)<font color="#909090"><font face="helvetica, arial"> method of Signals instance</font></font></dt><dd><tt>Available&nbsp;as:<br>
urwid.connect_signal(obj,&nbsp;name,&nbsp;callback,&nbsp;user_arg=None)<br>
&nbsp;<br>
obj&nbsp;--&nbsp;the&nbsp;object&nbsp;sending&nbsp;a&nbsp;signal<br>
name&nbsp;--&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;signal,&nbsp;typically&nbsp;a&nbsp;string<br>
callback&nbsp;--&nbsp;the&nbsp;function&nbsp;to&nbsp;call&nbsp;when&nbsp;that&nbsp;signal&nbsp;is&nbsp;sent<br>
user_arg&nbsp;--&nbsp;optional&nbsp;additional&nbsp;argument&nbsp;to&nbsp;callback,&nbsp;if&nbsp;None<br>
&nbsp;&nbsp;&nbsp;&nbsp;no&nbsp;arguments&nbsp;will&nbsp;be&nbsp;added<br>
&nbsp;<br>
When&nbsp;a&nbsp;matching&nbsp;signal&nbsp;is&nbsp;sent,&nbsp;callback&nbsp;will&nbsp;be&nbsp;called&nbsp;with<br>
all&nbsp;the&nbsp;positional&nbsp;parameters&nbsp;sent&nbsp;with&nbsp;the&nbsp;signal.&nbsp;&nbsp;If&nbsp;user_arg<br>
is&nbsp;not&nbsp;None&nbsp;it&nbsp;will&nbsp;be&nbsp;sent&nbsp;added&nbsp;to&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;positional<br>
parameters&nbsp;sent&nbsp;to&nbsp;callback.</tt></dd></dl>
<a name="disconnect_signal"></a><h3>function disconnect_signal <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-disconnect_signal"><strong>disconnect_signal</strong></a> = disconnect(self, obj, name, callback, user_arg<font color="#909090">=None</font>)<font color="#909090"><font face="helvetica, arial"> method of Signals instance</font></font></dt><dd><tt>Available&nbsp;as:<br>
urwid.disconnect_signal(obj,&nbsp;name,&nbsp;callback,&nbsp;user_arg=None)<br>
&nbsp;<br>
This&nbsp;function&nbsp;will&nbsp;remove&nbsp;a&nbsp;callback&nbsp;from&nbsp;the&nbsp;list&nbsp;connected<br>
to&nbsp;a&nbsp;signal&nbsp;with&nbsp;connect_signal().</tt></dd></dl>
<a name="register_signal"></a><h3>function register_signal <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-register_signal"><strong>register_signal</strong></a> = register(self, sig_cls, signals)<font color="#909090"><font face="helvetica, arial"> method of Signals instance</font></font></dt><dd><tt>Available&nbsp;as:<br>
urwid.regsiter_signal(sig_cls,&nbsp;signals)<br>
&nbsp;<br>
sig_class&nbsp;--&nbsp;the&nbsp;class&nbsp;of&nbsp;an&nbsp;object&nbsp;that&nbsp;will&nbsp;be&nbsp;sending&nbsp;signals<br>
signals&nbsp;--&nbsp;a&nbsp;list&nbsp;of&nbsp;signals&nbsp;that&nbsp;may&nbsp;be&nbsp;sent,&nbsp;typically&nbsp;each<br>
&nbsp;&nbsp;&nbsp;&nbsp;signal&nbsp;is&nbsp;represented&nbsp;by&nbsp;a&nbsp;string<br>
&nbsp;<br>
This&nbsp;function&nbsp;must&nbsp;be&nbsp;called&nbsp;for&nbsp;a&nbsp;class&nbsp;before&nbsp;connecting&nbsp;any<br>
signal&nbsp;callbacks&nbsp;or&nbsp;emiting&nbsp;any&nbsp;signals&nbsp;from&nbsp;that&nbsp;class'&nbsp;objects</tt></dd></dl>
<a name="emit_signal"></a><h3>function emit_signal <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-emit_signal"><strong>emit_signal</strong></a> = emit(self, obj, name, *args)<font color="#909090"><font face="helvetica, arial"> method of Signals instance</font></font></dt><dd><tt>Available&nbsp;as:<br>
urwid.emit_signal(obj,&nbsp;name,&nbsp;*args)<br>
&nbsp;<br>
obj&nbsp;--&nbsp;the&nbsp;object&nbsp;sending&nbsp;a&nbsp;signal<br>
name&nbsp;--&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;signal,&nbsp;typically&nbsp;a&nbsp;string<br>
*args&nbsp;--&nbsp;zero&nbsp;or&nbsp;more&nbsp;positional&nbsp;arguments&nbsp;to&nbsp;pass&nbsp;to&nbsp;the&nbsp;signal<br>
&nbsp;&nbsp;&nbsp;&nbsp;callback&nbsp;functions<br>
&nbsp;<br>
This&nbsp;function&nbsp;calls&nbsp;each&nbsp;of&nbsp;the&nbsp;callbacks&nbsp;connected&nbsp;to&nbsp;this&nbsp;signal<br>
with&nbsp;the&nbsp;args&nbsp;arguments&nbsp;as&nbsp;positional&nbsp;parameters.<br>
&nbsp;<br>
This&nbsp;function&nbsp;returns&nbsp;True&nbsp;if&nbsp;any&nbsp;of&nbsp;the&nbsp;callbacks&nbsp;returned&nbsp;True.</tt></dd></dl>
<h2>Display modules</h2><a name="raw_display.Screen"></a><h3>function raw_display.Screen <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="raw_display.Screen"></a><strong>raw_display.Screen</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Screen</dd>
<dd>BaseScreen</dd>
<dd>RealTerminal</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><strong>AttrSpec</strong> <em>lambda</em> self, fg, bg</dt><dd><tt>#&nbsp;shortcut&nbsp;for&nbsp;creating&nbsp;an&nbsp;AttrSpec&nbsp;with&nbsp;this&nbsp;screen&nbsp;object's<br>
#&nbsp;number&nbsp;of&nbsp;colors</tt></dd></dl>

<dl><dt><a name="Screen-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Initialize&nbsp;a&nbsp;screen&nbsp;that&nbsp;directly&nbsp;prints&nbsp;escape&nbsp;codes&nbsp;to&nbsp;an&nbsp;output<br>
terminal.</tt></dd></dl>

<dl><dt><a name="Screen-clear"><strong>clear</strong></a>(self)</dt><dd><tt>Force&nbsp;the&nbsp;screen&nbsp;to&nbsp;be&nbsp;completely&nbsp;repainted&nbsp;on&nbsp;the&nbsp;next<br>
call&nbsp;to&nbsp;draw_screen().</tt></dd></dl>

<dl><dt><a name="Screen-draw_screen"><strong>draw_screen</strong></a>(self, (maxcol, maxrow), r)</dt><dd><tt>Paint&nbsp;screen&nbsp;with&nbsp;rendered&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="Screen-get_cols_rows"><strong>get_cols_rows</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;terminal&nbsp;dimensions&nbsp;(num&nbsp;columns,&nbsp;num&nbsp;rows).</tt></dd></dl>

<dl><dt><a name="Screen-get_input"><strong>get_input</strong></a>(self, raw_keys<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;pending&nbsp;input&nbsp;as&nbsp;a&nbsp;list.<br>
&nbsp;<br>
raw_keys&nbsp;--&nbsp;return&nbsp;raw&nbsp;keycodes&nbsp;as&nbsp;well&nbsp;as&nbsp;translated&nbsp;versions<br>
&nbsp;<br>
This&nbsp;function&nbsp;will&nbsp;immediately&nbsp;return&nbsp;all&nbsp;the&nbsp;input&nbsp;since&nbsp;the<br>
last&nbsp;time&nbsp;it&nbsp;was&nbsp;called.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;no&nbsp;input&nbsp;pending&nbsp;it&nbsp;will<br>
wait&nbsp;before&nbsp;returning&nbsp;an&nbsp;empty&nbsp;list.&nbsp;&nbsp;The&nbsp;wait&nbsp;time&nbsp;may&nbsp;be<br>
configured&nbsp;with&nbsp;the&nbsp;set_input_timeouts&nbsp;function.<br>
&nbsp;<br>
If&nbsp;raw_keys&nbsp;is&nbsp;False&nbsp;(default)&nbsp;this&nbsp;function&nbsp;will&nbsp;return&nbsp;a&nbsp;list<br>
of&nbsp;keys&nbsp;pressed.&nbsp;&nbsp;If&nbsp;raw_keys&nbsp;is&nbsp;True&nbsp;this&nbsp;function&nbsp;will&nbsp;return<br>
a&nbsp;(&nbsp;keys&nbsp;pressed,&nbsp;raw&nbsp;keycodes&nbsp;)&nbsp;tuple&nbsp;instead.<br>
&nbsp;<br>
Examples&nbsp;of&nbsp;keys&nbsp;returned<br>
-------------------------<br>
ASCII&nbsp;printable&nbsp;characters:&nbsp;&nbsp;"&nbsp;",&nbsp;"a",&nbsp;"0",&nbsp;"A",&nbsp;"-",&nbsp;"/"&nbsp;<br>
ASCII&nbsp;control&nbsp;characters:&nbsp;&nbsp;"tab",&nbsp;"enter"<br>
Escape&nbsp;sequences:&nbsp;&nbsp;"up",&nbsp;"page&nbsp;up",&nbsp;"home",&nbsp;"insert",&nbsp;"f1"<br>
Key&nbsp;combinations:&nbsp;&nbsp;"shift&nbsp;f1",&nbsp;"meta&nbsp;a",&nbsp;"ctrl&nbsp;b"<br>
Window&nbsp;events:&nbsp;&nbsp;"window&nbsp;resize"<br>
&nbsp;<br>
When&nbsp;a&nbsp;narrow&nbsp;encoding&nbsp;is&nbsp;not&nbsp;enabled<br>
"Extended&nbsp;ASCII"&nbsp;characters:&nbsp;&nbsp;"\xa1",&nbsp;"\xb2",&nbsp;"\xfe"<br>
&nbsp;<br>
When&nbsp;a&nbsp;wide&nbsp;encoding&nbsp;is&nbsp;enabled<br>
Double-byte&nbsp;characters:&nbsp;&nbsp;"\xa1\xea",&nbsp;"\xb2\xd4"<br>
&nbsp;<br>
When&nbsp;utf8&nbsp;encoding&nbsp;is&nbsp;enabled<br>
Unicode&nbsp;characters:&nbsp;u"\u00a5",&nbsp;u'\u253c"<br>
&nbsp;<br>
Examples&nbsp;of&nbsp;mouse&nbsp;events&nbsp;returned<br>
---------------------------------<br>
Mouse&nbsp;button&nbsp;press:&nbsp;('mouse&nbsp;press',&nbsp;1,&nbsp;15,&nbsp;13),&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('meta&nbsp;mouse&nbsp;press',&nbsp;2,&nbsp;17,&nbsp;23)<br>
Mouse&nbsp;drag:&nbsp;('mouse&nbsp;drag',&nbsp;1,&nbsp;16,&nbsp;13),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('mouse&nbsp;drag',&nbsp;1,&nbsp;17,&nbsp;13),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('ctrl&nbsp;mouse&nbsp;drag',&nbsp;1,&nbsp;18,&nbsp;13)<br>
Mouse&nbsp;button&nbsp;release:&nbsp;('mouse&nbsp;release',&nbsp;0,&nbsp;18,&nbsp;13),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('ctrl&nbsp;mouse&nbsp;release',&nbsp;0,&nbsp;17,&nbsp;23)</tt></dd></dl>

<dl><dt><a name="Screen-get_input_descriptors"><strong>get_input_descriptors</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;list&nbsp;of&nbsp;integer&nbsp;file&nbsp;descriptors&nbsp;that&nbsp;should&nbsp;be<br>
polled&nbsp;in&nbsp;external&nbsp;event&nbsp;loops&nbsp;to&nbsp;check&nbsp;for&nbsp;user&nbsp;input.<br>
&nbsp;<br>
Use&nbsp;this&nbsp;method&nbsp;if&nbsp;you&nbsp;are&nbsp;implementing&nbsp;yout&nbsp;own&nbsp;event&nbsp;loop.</tt></dd></dl>

<dl><dt><a name="Screen-get_input_nonblocking"><strong>get_input_nonblocking</strong></a>(self)</dt><dd><tt>Return&nbsp;a&nbsp;(next_input_timeout,&nbsp;keys_pressed,&nbsp;raw_keycodes)&nbsp;<br>
tuple.<br>
&nbsp;<br>
Use&nbsp;this&nbsp;method&nbsp;if&nbsp;you&nbsp;are&nbsp;implementing&nbsp;your&nbsp;own&nbsp;event&nbsp;loop.<br>
&nbsp;<br>
When&nbsp;there&nbsp;is&nbsp;input&nbsp;waiting&nbsp;on&nbsp;one&nbsp;of&nbsp;the&nbsp;descriptors&nbsp;returned<br>
by&nbsp;get_input_descriptors()&nbsp;this&nbsp;method&nbsp;should&nbsp;be&nbsp;called&nbsp;to<br>
read&nbsp;and&nbsp;process&nbsp;the&nbsp;input.<br>
&nbsp;<br>
This&nbsp;method&nbsp;expects&nbsp;to&nbsp;be&nbsp;called&nbsp;in&nbsp;next_input_timeout&nbsp;seconds<br>
(a&nbsp;floating&nbsp;point&nbsp;number)&nbsp;if&nbsp;there&nbsp;is&nbsp;no&nbsp;input&nbsp;waiting.</tt></dd></dl>

<dl><dt><a name="Screen-modify_terminal_palette"><strong>modify_terminal_palette</strong></a>(self, entries)</dt><dd><tt>entries&nbsp;-&nbsp;list&nbsp;of&nbsp;(index,&nbsp;red,&nbsp;green,&nbsp;blue)&nbsp;tuples.<br>
&nbsp;<br>
Attempt&nbsp;to&nbsp;set&nbsp;part&nbsp;of&nbsp;the&nbsp;terminal&nbsp;pallette&nbsp;(this&nbsp;does&nbsp;not&nbsp;work<br>
on&nbsp;all&nbsp;terminals.)&nbsp;&nbsp;The&nbsp;changes&nbsp;are&nbsp;sent&nbsp;as&nbsp;a&nbsp;single&nbsp;escape<br>
sequence&nbsp;so&nbsp;they&nbsp;should&nbsp;all&nbsp;take&nbsp;effect&nbsp;at&nbsp;the&nbsp;same&nbsp;time.<br>
&nbsp;<br>
0&nbsp;&lt;=&nbsp;index&nbsp;&lt;&nbsp;256&nbsp;(some&nbsp;terminals&nbsp;will&nbsp;only&nbsp;have&nbsp;16&nbsp;or&nbsp;88&nbsp;colors)<br>
0&nbsp;&lt;=&nbsp;red,&nbsp;green,&nbsp;blue&nbsp;&lt;&nbsp;256</tt></dd></dl>

<dl><dt><a name="Screen-reset_default_terminal_palette"><strong>reset_default_terminal_palette</strong></a>(self)</dt><dd><tt>Attempt&nbsp;to&nbsp;set&nbsp;the&nbsp;terminal&nbsp;palette&nbsp;to&nbsp;default&nbsp;values&nbsp;as&nbsp;taken<br>
from&nbsp;xterm.&nbsp;&nbsp;Uses&nbsp;number&nbsp;of&nbsp;colors&nbsp;from&nbsp;current&nbsp;<br>
set_terminal_properties()&nbsp;screen&nbsp;setting.</tt></dd></dl>

<dl><dt><a name="Screen-run_wrapper"><strong>run_wrapper</strong></a>(self, fn, alternate_buffer<font color="#909090">=True</font>)</dt><dd><tt>Call&nbsp;start&nbsp;to&nbsp;initialize&nbsp;screen,&nbsp;then&nbsp;call&nbsp;fn.&nbsp;&nbsp;<br>
When&nbsp;fn&nbsp;exits&nbsp;call&nbsp;stop&nbsp;to&nbsp;restore&nbsp;the&nbsp;screen&nbsp;to&nbsp;normal.<br>
&nbsp;<br>
alternate_buffer&nbsp;--&nbsp;use&nbsp;alternate&nbsp;screen&nbsp;buffer&nbsp;and&nbsp;restore<br>
&nbsp;&nbsp;&nbsp;&nbsp;normal&nbsp;screen&nbsp;buffer&nbsp;on&nbsp;exit</tt></dd></dl>

<dl><dt><a name="Screen-set_input_timeouts"><strong>set_input_timeouts</strong></a>(self, max_wait<font color="#909090">=None</font>, complete_wait<font color="#909090">=0.125</font>, resize_wait<font color="#909090">=0.125</font>)</dt><dd><tt>Set&nbsp;the&nbsp;get_input&nbsp;timeout&nbsp;values.&nbsp;&nbsp;All&nbsp;values&nbsp;are&nbsp;in&nbsp;floating<br>
point&nbsp;numbers&nbsp;of&nbsp;seconds.<br>
&nbsp;<br>
max_wait&nbsp;--&nbsp;amount&nbsp;of&nbsp;time&nbsp;in&nbsp;seconds&nbsp;to&nbsp;wait&nbsp;for&nbsp;input&nbsp;when<br>
&nbsp;&nbsp;&nbsp;&nbsp;there&nbsp;is&nbsp;no&nbsp;input&nbsp;pending,&nbsp;wait&nbsp;forever&nbsp;if&nbsp;None<br>
complete_wait&nbsp;--&nbsp;amount&nbsp;of&nbsp;time&nbsp;in&nbsp;seconds&nbsp;to&nbsp;wait&nbsp;when<br>
&nbsp;&nbsp;&nbsp;&nbsp;get_input&nbsp;detects&nbsp;an&nbsp;incomplete&nbsp;escape&nbsp;sequence&nbsp;at&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;of&nbsp;the&nbsp;available&nbsp;input<br>
resize_wait&nbsp;--&nbsp;amount&nbsp;of&nbsp;time&nbsp;in&nbsp;seconds&nbsp;to&nbsp;wait&nbsp;for&nbsp;more&nbsp;input<br>
&nbsp;&nbsp;&nbsp;&nbsp;after&nbsp;receiving&nbsp;two&nbsp;screen&nbsp;resize&nbsp;requests&nbsp;in&nbsp;a&nbsp;row&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;stop&nbsp;Urwid&nbsp;from&nbsp;consuming&nbsp;100%&nbsp;cpu&nbsp;during&nbsp;a&nbsp;gradual<br>
&nbsp;&nbsp;&nbsp;&nbsp;window&nbsp;resize&nbsp;operation</tt></dd></dl>

<dl><dt><a name="Screen-set_mouse_tracking"><strong>set_mouse_tracking</strong></a>(self)</dt><dd><tt>Enable&nbsp;mouse&nbsp;tracking.&nbsp;&nbsp;<br>
&nbsp;<br>
After&nbsp;calling&nbsp;this&nbsp;function&nbsp;get_input&nbsp;will&nbsp;include&nbsp;mouse<br>
click&nbsp;events&nbsp;along&nbsp;with&nbsp;keystrokes.</tt></dd></dl>

<dl><dt><a name="Screen-set_terminal_properties"><strong>set_terminal_properties</strong></a>(self, colors<font color="#909090">=None</font>, bright_is_bold<font color="#909090">=None</font>, has_underline<font color="#909090">=None</font>)</dt><dd><tt>colors&nbsp;--&nbsp;number&nbsp;of&nbsp;colors&nbsp;terminal&nbsp;supports&nbsp;(1,&nbsp;16,&nbsp;88&nbsp;or&nbsp;256)<br>
&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;None&nbsp;to&nbsp;leave&nbsp;unchanged<br>
bright_is_bold&nbsp;--&nbsp;set&nbsp;to&nbsp;True&nbsp;if&nbsp;this&nbsp;terminal&nbsp;uses&nbsp;the&nbsp;bold&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;setting&nbsp;to&nbsp;create&nbsp;bright&nbsp;colors&nbsp;(numbers&nbsp;8-15),&nbsp;set&nbsp;to&nbsp;False<br>
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;this&nbsp;Terminal&nbsp;can&nbsp;create&nbsp;bright&nbsp;colors&nbsp;without&nbsp;bold&nbsp;or<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;to&nbsp;leave&nbsp;unchanged<br>
has_underline&nbsp;--&nbsp;set&nbsp;to&nbsp;True&nbsp;if&nbsp;this&nbsp;terminal&nbsp;can&nbsp;use&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;underline&nbsp;setting,&nbsp;False&nbsp;if&nbsp;it&nbsp;cannot&nbsp;or&nbsp;None&nbsp;to&nbsp;leave<br>
&nbsp;&nbsp;&nbsp;&nbsp;unchanged</tt></dd></dl>

<dl><dt><a name="Screen-signal_init"><strong>signal_init</strong></a>(self)</dt><dd><tt>Called&nbsp;in&nbsp;the&nbsp;startup&nbsp;of&nbsp;run&nbsp;wrapper&nbsp;to&nbsp;set&nbsp;the&nbsp;SIGWINCH&nbsp;<br>
signal&nbsp;handler&nbsp;to&nbsp;self.<strong>_sigwinch_handler</strong>.<br>
&nbsp;<br>
Override&nbsp;this&nbsp;function&nbsp;to&nbsp;call&nbsp;from&nbsp;main&nbsp;thread&nbsp;in&nbsp;threaded<br>
applications.</tt></dd></dl>

<dl><dt><a name="Screen-signal_restore"><strong>signal_restore</strong></a>(self)</dt><dd><tt>Called&nbsp;in&nbsp;the&nbsp;finally&nbsp;block&nbsp;of&nbsp;run&nbsp;wrapper&nbsp;to&nbsp;restore&nbsp;the<br>
SIGWINCH&nbsp;handler&nbsp;to&nbsp;the&nbsp;default&nbsp;handler.<br>
&nbsp;<br>
Override&nbsp;this&nbsp;function&nbsp;to&nbsp;call&nbsp;from&nbsp;main&nbsp;thread&nbsp;in&nbsp;threaded<br>
applications.</tt></dd></dl>

<dl><dt><a name="Screen-start"><strong>start</strong></a>(self, alternate_buffer<font color="#909090">=True</font>)</dt><dd><tt>Initialize&nbsp;the&nbsp;screen&nbsp;and&nbsp;input&nbsp;mode.<br>
&nbsp;<br>
alternate_buffer&nbsp;--&nbsp;use&nbsp;alternate&nbsp;screen&nbsp;buffer</tt></dd></dl>

<dl><dt><a name="Screen-stop"><strong>stop</strong></a>(self)</dt><dd><tt>Restore&nbsp;the&nbsp;screen.</tt></dd></dl>

<hr>
Methods inherited from BaseScreen:<br>
<dl><dt><a name="Screen-register_palette"><strong>register_palette</strong></a>(self, palette)</dt><dd><tt>Register&nbsp;a&nbsp;set&nbsp;of&nbsp;palette&nbsp;entries.<br>
&nbsp;<br>
palette&nbsp;--&nbsp;a&nbsp;list&nbsp;of&nbsp;(name,&nbsp;like_other_name)&nbsp;or&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;(name,&nbsp;foreground,&nbsp;background,&nbsp;mono,&nbsp;foreground_high,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;background_high)&nbsp;tuples<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;(name,&nbsp;like_other_name)&nbsp;format&nbsp;will&nbsp;copy&nbsp;the&nbsp;settings<br>
&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;the&nbsp;palette&nbsp;entry&nbsp;like_other_name,&nbsp;which&nbsp;must&nbsp;appear<br>
&nbsp;&nbsp;&nbsp;&nbsp;before&nbsp;this&nbsp;tuple&nbsp;in&nbsp;the&nbsp;list.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;mono&nbsp;and&nbsp;foreground/background_high&nbsp;values&nbsp;are&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;optional&nbsp;ie.&nbsp;the&nbsp;second&nbsp;tuple&nbsp;format&nbsp;may&nbsp;have&nbsp;3,&nbsp;4&nbsp;or&nbsp;6&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;values.&nbsp;&nbsp;See&nbsp;register_palette_entry()&nbsp;for&nbsp;a&nbsp;description&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;tuple&nbsp;values.</tt></dd></dl>

<dl><dt><a name="Screen-register_palette_entry"><strong>register_palette_entry</strong></a>(self, name, foreground, background, mono<font color="#909090">=None</font>, foreground_high<font color="#909090">=None</font>, background_high<font color="#909090">=None</font>)</dt><dd><tt>Register&nbsp;a&nbsp;single&nbsp;palette&nbsp;entry.<br>
&nbsp;<br>
name&nbsp;--&nbsp;new&nbsp;entry/attribute&nbsp;name<br>
foreground&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;a&nbsp;comma-separated&nbsp;foreground&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;and&nbsp;settings<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;(use&nbsp;the&nbsp;terminal's&nbsp;default&nbsp;foreground),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'black',&nbsp;'dark&nbsp;red',&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;magenta',&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray',&nbsp;'dark&nbsp;gray',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;red',&nbsp;'light&nbsp;green',&nbsp;'yellow',&nbsp;'light&nbsp;blue',&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;magenta',&nbsp;'light&nbsp;cyan',&nbsp;'white'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Settings:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'bold',&nbsp;'underline',&nbsp;'blink',&nbsp;'standout'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;terminals&nbsp;use&nbsp;'bold'&nbsp;for&nbsp;bright&nbsp;colors.&nbsp;&nbsp;Most&nbsp;terminals<br>
&nbsp;&nbsp;&nbsp;&nbsp;ignore&nbsp;the&nbsp;'blink'&nbsp;setting.&nbsp;&nbsp;If&nbsp;the&nbsp;color&nbsp;is&nbsp;not&nbsp;given&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;will&nbsp;be&nbsp;assumed.&nbsp;<br>
&nbsp;<br>
background&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;the&nbsp;background&nbsp;color<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Background&nbsp;color&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;(use&nbsp;the&nbsp;terminal's&nbsp;default&nbsp;background),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'black',&nbsp;'dark&nbsp;red',&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;magenta',&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray'<br>
&nbsp;<br>
mono&nbsp;--&nbsp;a&nbsp;comma-separated&nbsp;string&nbsp;containing&nbsp;monochrome&nbsp;terminal&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;settings&nbsp;(see&nbsp;"Settings"&nbsp;above.)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;no&nbsp;terminal&nbsp;settings&nbsp;(same&nbsp;as&nbsp;'default')<br>
&nbsp;<br>
foreground_high&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;a&nbsp;comma-separated&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;foreground&nbsp;color&nbsp;and&nbsp;settings,&nbsp;standard&nbsp;foreground<br>
&nbsp;&nbsp;&nbsp;&nbsp;colors&nbsp;(see&nbsp;"Color&nbsp;values"&nbsp;above)&nbsp;or&nbsp;high-colors&nbsp;may&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;used<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;High-color&nbsp;example&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#009'&nbsp;(0%&nbsp;red,&nbsp;0%&nbsp;green,&nbsp;60%&nbsp;red,&nbsp;like&nbsp;HTML&nbsp;colors)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#fcc'&nbsp;(100%&nbsp;red,&nbsp;80%&nbsp;green,&nbsp;80%&nbsp;blue)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'g40'&nbsp;(40%&nbsp;gray,&nbsp;decimal),&nbsp;'g#cc'&nbsp;(80%&nbsp;gray,&nbsp;hex),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#000',&nbsp;'g0',&nbsp;'g#00'&nbsp;(black),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#fff',&nbsp;'g100',&nbsp;'g#ff'&nbsp;(white)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'h8'&nbsp;(color&nbsp;number&nbsp;8),&nbsp;'h255'&nbsp;(color&nbsp;number&nbsp;255)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;use&nbsp;foreground&nbsp;parameter&nbsp;value<br>
&nbsp;<br>
background_high&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;the&nbsp;background&nbsp;color,<br>
&nbsp;&nbsp;&nbsp;&nbsp;standard&nbsp;background&nbsp;colors&nbsp;(see&nbsp;"Background&nbsp;colors"&nbsp;above)<br>
&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;high-colors&nbsp;(see&nbsp;"High-color&nbsp;example&nbsp;values"&nbsp;above)<br>
&nbsp;&nbsp;&nbsp;&nbsp;may&nbsp;be&nbsp;used<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;use&nbsp;background&nbsp;parameter&nbsp;value</tt></dd></dl>

<hr>
Data descriptors inherited from BaseScreen:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>started</strong></dt>
</dl>
<hr>
Data and other attributes inherited from BaseScreen:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.signals.MetaSignals'&gt;<dd><tt>register&nbsp;the&nbsp;list&nbsp;of&nbsp;signals&nbsp;in&nbsp;the&nbsp;class&nbsp;varable&nbsp;signals,<br>
including&nbsp;signals&nbsp;in&nbsp;superclasses.</tt></dl>

<dl><dt><strong>signals</strong> = ['update palette entry', 'input descriptors changed']</dl>

<hr>
Methods inherited from RealTerminal:<br>
<dl><dt><a name="Screen-tty_signal_keys"><strong>tty_signal_keys</strong></a>(self, intr<font color="#909090">=None</font>, quit<font color="#909090">=None</font>, start<font color="#909090">=None</font>, stop<font color="#909090">=None</font>, susp<font color="#909090">=None</font>, fileno<font color="#909090">=None</font>)</dt><dd><tt>Read&nbsp;and/or&nbsp;set&nbsp;the&nbsp;tty's&nbsp;signal&nbsp;charater&nbsp;settings.<br>
This&nbsp;function&nbsp;returns&nbsp;the&nbsp;current&nbsp;settings&nbsp;as&nbsp;a&nbsp;tuple.<br>
&nbsp;<br>
Use&nbsp;the&nbsp;string&nbsp;'undefined'&nbsp;to&nbsp;unmap&nbsp;keys&nbsp;from&nbsp;their&nbsp;signals.<br>
The&nbsp;value&nbsp;None&nbsp;is&nbsp;used&nbsp;when&nbsp;no&nbsp;change&nbsp;is&nbsp;being&nbsp;made.<br>
Setting&nbsp;signal&nbsp;keys&nbsp;is&nbsp;done&nbsp;using&nbsp;the&nbsp;integer&nbsp;ascii<br>
code&nbsp;for&nbsp;the&nbsp;key,&nbsp;eg.&nbsp;&nbsp;3&nbsp;for&nbsp;CTRL+C.<br>
&nbsp;<br>
If&nbsp;this&nbsp;function&nbsp;is&nbsp;called&nbsp;after&nbsp;start()&nbsp;has&nbsp;been&nbsp;called<br>
then&nbsp;the&nbsp;original&nbsp;settings&nbsp;will&nbsp;be&nbsp;restored&nbsp;when&nbsp;stop()<br>
is&nbsp;called.</tt></dd></dl>

<a name="curses_display.Screen"></a><h3>function curses_display.Screen <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="curses_display.Screen"></a><strong>curses_display.Screen</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>Screen</dd>
<dd>BaseScreen</dd>
<dd>RealTerminal</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Screen-__init__"><strong>__init__</strong></a>(self)</dt></dl>

<dl><dt><a name="Screen-clear"><strong>clear</strong></a>(self)</dt><dd><tt>Force&nbsp;the&nbsp;screen&nbsp;to&nbsp;be&nbsp;completely&nbsp;repainted&nbsp;on&nbsp;the&nbsp;next<br>
call&nbsp;to&nbsp;draw_screen().</tt></dd></dl>

<dl><dt><a name="Screen-draw_screen"><strong>draw_screen</strong></a>(self, (cols, rows), r)</dt><dd><tt>Paint&nbsp;screen&nbsp;with&nbsp;rendered&nbsp;canvas.</tt></dd></dl>

<dl><dt><a name="Screen-get_cols_rows"><strong>get_cols_rows</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;terminal&nbsp;dimensions&nbsp;(num&nbsp;columns,&nbsp;num&nbsp;rows).</tt></dd></dl>

<dl><dt><a name="Screen-get_input"><strong>get_input</strong></a>(self, raw_keys<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;pending&nbsp;input&nbsp;as&nbsp;a&nbsp;list.<br>
&nbsp;<br>
raw_keys&nbsp;--&nbsp;return&nbsp;raw&nbsp;keycodes&nbsp;as&nbsp;well&nbsp;as&nbsp;translated&nbsp;versions<br>
&nbsp;<br>
This&nbsp;function&nbsp;will&nbsp;immediately&nbsp;return&nbsp;all&nbsp;the&nbsp;input&nbsp;since&nbsp;the<br>
last&nbsp;time&nbsp;it&nbsp;was&nbsp;called.&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;no&nbsp;input&nbsp;pending&nbsp;it&nbsp;will<br>
wait&nbsp;before&nbsp;returning&nbsp;an&nbsp;empty&nbsp;list.&nbsp;&nbsp;The&nbsp;wait&nbsp;time&nbsp;may&nbsp;be<br>
configured&nbsp;with&nbsp;the&nbsp;set_input_timeouts&nbsp;function.<br>
&nbsp;<br>
If&nbsp;raw_keys&nbsp;is&nbsp;False&nbsp;(default)&nbsp;this&nbsp;function&nbsp;will&nbsp;return&nbsp;a&nbsp;list<br>
of&nbsp;keys&nbsp;pressed.&nbsp;&nbsp;If&nbsp;raw_keys&nbsp;is&nbsp;True&nbsp;this&nbsp;function&nbsp;will&nbsp;return<br>
a&nbsp;(&nbsp;keys&nbsp;pressed,&nbsp;raw&nbsp;keycodes&nbsp;)&nbsp;tuple&nbsp;instead.<br>
&nbsp;<br>
Examples&nbsp;of&nbsp;keys&nbsp;returned<br>
-------------------------<br>
ASCII&nbsp;printable&nbsp;characters:&nbsp;&nbsp;"&nbsp;",&nbsp;"a",&nbsp;"0",&nbsp;"A",&nbsp;"-",&nbsp;"/"&nbsp;<br>
ASCII&nbsp;control&nbsp;characters:&nbsp;&nbsp;"tab",&nbsp;"enter"<br>
Escape&nbsp;sequences:&nbsp;&nbsp;"up",&nbsp;"page&nbsp;up",&nbsp;"home",&nbsp;"insert",&nbsp;"f1"<br>
Key&nbsp;combinations:&nbsp;&nbsp;"shift&nbsp;f1",&nbsp;"meta&nbsp;a",&nbsp;"ctrl&nbsp;b"<br>
Window&nbsp;events:&nbsp;&nbsp;"window&nbsp;resize"<br>
&nbsp;<br>
When&nbsp;a&nbsp;narrow&nbsp;encoding&nbsp;is&nbsp;not&nbsp;enabled<br>
"Extended&nbsp;ASCII"&nbsp;characters:&nbsp;&nbsp;"\xa1",&nbsp;"\xb2",&nbsp;"\xfe"<br>
&nbsp;<br>
When&nbsp;a&nbsp;wide&nbsp;encoding&nbsp;is&nbsp;enabled<br>
Double-byte&nbsp;characters:&nbsp;&nbsp;"\xa1\xea",&nbsp;"\xb2\xd4"<br>
&nbsp;<br>
When&nbsp;utf8&nbsp;encoding&nbsp;is&nbsp;enabled<br>
Unicode&nbsp;characters:&nbsp;u"\u00a5",&nbsp;u'\u253c"<br>
&nbsp;<br>
Examples&nbsp;of&nbsp;mouse&nbsp;events&nbsp;returned<br>
---------------------------------<br>
Mouse&nbsp;button&nbsp;press:&nbsp;('mouse&nbsp;press',&nbsp;1,&nbsp;15,&nbsp;13),&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('meta&nbsp;mouse&nbsp;press',&nbsp;2,&nbsp;17,&nbsp;23)<br>
Mouse&nbsp;button&nbsp;release:&nbsp;('mouse&nbsp;release',&nbsp;0,&nbsp;18,&nbsp;13),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('ctrl&nbsp;mouse&nbsp;release',&nbsp;0,&nbsp;17,&nbsp;23)</tt></dd></dl>

<dl><dt><a name="Screen-run_wrapper"><strong>run_wrapper</strong></a>(self, fn)</dt><dd><tt>Call&nbsp;fn&nbsp;in&nbsp;fullscreen&nbsp;mode.&nbsp;&nbsp;Return&nbsp;to&nbsp;normal&nbsp;on&nbsp;exit.<br>
&nbsp;<br>
This&nbsp;function&nbsp;should&nbsp;be&nbsp;called&nbsp;to&nbsp;wrap&nbsp;your&nbsp;main&nbsp;program&nbsp;loop.<br>
Exception&nbsp;tracebacks&nbsp;will&nbsp;be&nbsp;displayed&nbsp;in&nbsp;normal&nbsp;mode.</tt></dd></dl>

<dl><dt><a name="Screen-set_input_timeouts"><strong>set_input_timeouts</strong></a>(self, max_wait<font color="#909090">=None</font>, complete_wait<font color="#909090">=0.10000000000000001</font>, resize_wait<font color="#909090">=0.10000000000000001</font>)</dt><dd><tt>Set&nbsp;the&nbsp;get_input&nbsp;timeout&nbsp;values.&nbsp;&nbsp;All&nbsp;values&nbsp;have&nbsp;a&nbsp;granularity<br>
of&nbsp;0.1s,&nbsp;ie.&nbsp;any&nbsp;value&nbsp;between&nbsp;0.15&nbsp;and&nbsp;0.05&nbsp;will&nbsp;be&nbsp;treated&nbsp;as<br>
0.1&nbsp;and&nbsp;any&nbsp;value&nbsp;less&nbsp;than&nbsp;0.05&nbsp;will&nbsp;be&nbsp;treated&nbsp;as&nbsp;0.&nbsp;&nbsp;The<br>
maximum&nbsp;timeout&nbsp;value&nbsp;for&nbsp;this&nbsp;module&nbsp;is&nbsp;25.5&nbsp;seconds.<br>
&nbsp;<br>
max_wait&nbsp;--&nbsp;amount&nbsp;of&nbsp;time&nbsp;in&nbsp;seconds&nbsp;to&nbsp;wait&nbsp;for&nbsp;input&nbsp;when<br>
&nbsp;&nbsp;&nbsp;&nbsp;there&nbsp;is&nbsp;no&nbsp;input&nbsp;pending,&nbsp;wait&nbsp;forever&nbsp;if&nbsp;None<br>
complete_wait&nbsp;--&nbsp;amount&nbsp;of&nbsp;time&nbsp;in&nbsp;seconds&nbsp;to&nbsp;wait&nbsp;when<br>
&nbsp;&nbsp;&nbsp;&nbsp;get_input&nbsp;detects&nbsp;an&nbsp;incomplete&nbsp;escape&nbsp;sequence&nbsp;at&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;of&nbsp;the&nbsp;available&nbsp;input<br>
resize_wait&nbsp;--&nbsp;amount&nbsp;of&nbsp;time&nbsp;in&nbsp;seconds&nbsp;to&nbsp;wait&nbsp;for&nbsp;more&nbsp;input<br>
&nbsp;&nbsp;&nbsp;&nbsp;after&nbsp;receiving&nbsp;two&nbsp;screen&nbsp;resize&nbsp;requests&nbsp;in&nbsp;a&nbsp;row&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;stop&nbsp;urwid&nbsp;from&nbsp;consuming&nbsp;100%&nbsp;cpu&nbsp;during&nbsp;a&nbsp;gradual<br>
&nbsp;&nbsp;&nbsp;&nbsp;window&nbsp;resize&nbsp;operation</tt></dd></dl>

<dl><dt><a name="Screen-set_mouse_tracking"><strong>set_mouse_tracking</strong></a>(self)</dt><dd><tt>Enable&nbsp;mouse&nbsp;tracking.&nbsp;&nbsp;<br>
&nbsp;<br>
After&nbsp;calling&nbsp;this&nbsp;function&nbsp;get_input&nbsp;will&nbsp;include&nbsp;mouse<br>
click&nbsp;events&nbsp;along&nbsp;with&nbsp;keystrokes.</tt></dd></dl>

<dl><dt><a name="Screen-start"><strong>start</strong></a>(self)</dt><dd><tt>Initialize&nbsp;the&nbsp;screen&nbsp;and&nbsp;input&nbsp;mode.</tt></dd></dl>

<dl><dt><a name="Screen-stop"><strong>stop</strong></a>(self)</dt><dd><tt>Restore&nbsp;the&nbsp;screen.</tt></dd></dl>

<hr>
Methods inherited from BaseScreen:<br>
<dl><dt><a name="Screen-register_palette"><strong>register_palette</strong></a>(self, palette)</dt><dd><tt>Register&nbsp;a&nbsp;set&nbsp;of&nbsp;palette&nbsp;entries.<br>
&nbsp;<br>
palette&nbsp;--&nbsp;a&nbsp;list&nbsp;of&nbsp;(name,&nbsp;like_other_name)&nbsp;or&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;(name,&nbsp;foreground,&nbsp;background,&nbsp;mono,&nbsp;foreground_high,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;background_high)&nbsp;tuples<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;(name,&nbsp;like_other_name)&nbsp;format&nbsp;will&nbsp;copy&nbsp;the&nbsp;settings<br>
&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;the&nbsp;palette&nbsp;entry&nbsp;like_other_name,&nbsp;which&nbsp;must&nbsp;appear<br>
&nbsp;&nbsp;&nbsp;&nbsp;before&nbsp;this&nbsp;tuple&nbsp;in&nbsp;the&nbsp;list.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;mono&nbsp;and&nbsp;foreground/background_high&nbsp;values&nbsp;are&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;optional&nbsp;ie.&nbsp;the&nbsp;second&nbsp;tuple&nbsp;format&nbsp;may&nbsp;have&nbsp;3,&nbsp;4&nbsp;or&nbsp;6&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;values.&nbsp;&nbsp;See&nbsp;register_palette_entry()&nbsp;for&nbsp;a&nbsp;description&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;tuple&nbsp;values.</tt></dd></dl>

<dl><dt><a name="Screen-register_palette_entry"><strong>register_palette_entry</strong></a>(self, name, foreground, background, mono<font color="#909090">=None</font>, foreground_high<font color="#909090">=None</font>, background_high<font color="#909090">=None</font>)</dt><dd><tt>Register&nbsp;a&nbsp;single&nbsp;palette&nbsp;entry.<br>
&nbsp;<br>
name&nbsp;--&nbsp;new&nbsp;entry/attribute&nbsp;name<br>
foreground&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;a&nbsp;comma-separated&nbsp;foreground&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;and&nbsp;settings<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;(use&nbsp;the&nbsp;terminal's&nbsp;default&nbsp;foreground),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'black',&nbsp;'dark&nbsp;red',&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;magenta',&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray',&nbsp;'dark&nbsp;gray',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;red',&nbsp;'light&nbsp;green',&nbsp;'yellow',&nbsp;'light&nbsp;blue',&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;magenta',&nbsp;'light&nbsp;cyan',&nbsp;'white'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Settings:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'bold',&nbsp;'underline',&nbsp;'blink',&nbsp;'standout'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;terminals&nbsp;use&nbsp;'bold'&nbsp;for&nbsp;bright&nbsp;colors.&nbsp;&nbsp;Most&nbsp;terminals<br>
&nbsp;&nbsp;&nbsp;&nbsp;ignore&nbsp;the&nbsp;'blink'&nbsp;setting.&nbsp;&nbsp;If&nbsp;the&nbsp;color&nbsp;is&nbsp;not&nbsp;given&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;will&nbsp;be&nbsp;assumed.&nbsp;<br>
&nbsp;<br>
background&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;the&nbsp;background&nbsp;color<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Background&nbsp;color&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;(use&nbsp;the&nbsp;terminal's&nbsp;default&nbsp;background),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'black',&nbsp;'dark&nbsp;red',&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;magenta',&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray'<br>
&nbsp;<br>
mono&nbsp;--&nbsp;a&nbsp;comma-separated&nbsp;string&nbsp;containing&nbsp;monochrome&nbsp;terminal&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;settings&nbsp;(see&nbsp;"Settings"&nbsp;above.)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;no&nbsp;terminal&nbsp;settings&nbsp;(same&nbsp;as&nbsp;'default')<br>
&nbsp;<br>
foreground_high&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;a&nbsp;comma-separated&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;foreground&nbsp;color&nbsp;and&nbsp;settings,&nbsp;standard&nbsp;foreground<br>
&nbsp;&nbsp;&nbsp;&nbsp;colors&nbsp;(see&nbsp;"Color&nbsp;values"&nbsp;above)&nbsp;or&nbsp;high-colors&nbsp;may&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;used<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;High-color&nbsp;example&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#009'&nbsp;(0%&nbsp;red,&nbsp;0%&nbsp;green,&nbsp;60%&nbsp;red,&nbsp;like&nbsp;HTML&nbsp;colors)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#fcc'&nbsp;(100%&nbsp;red,&nbsp;80%&nbsp;green,&nbsp;80%&nbsp;blue)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'g40'&nbsp;(40%&nbsp;gray,&nbsp;decimal),&nbsp;'g#cc'&nbsp;(80%&nbsp;gray,&nbsp;hex),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#000',&nbsp;'g0',&nbsp;'g#00'&nbsp;(black),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#fff',&nbsp;'g100',&nbsp;'g#ff'&nbsp;(white)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'h8'&nbsp;(color&nbsp;number&nbsp;8),&nbsp;'h255'&nbsp;(color&nbsp;number&nbsp;255)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;use&nbsp;foreground&nbsp;parameter&nbsp;value<br>
&nbsp;<br>
background_high&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;the&nbsp;background&nbsp;color,<br>
&nbsp;&nbsp;&nbsp;&nbsp;standard&nbsp;background&nbsp;colors&nbsp;(see&nbsp;"Background&nbsp;colors"&nbsp;above)<br>
&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;high-colors&nbsp;(see&nbsp;"High-color&nbsp;example&nbsp;values"&nbsp;above)<br>
&nbsp;&nbsp;&nbsp;&nbsp;may&nbsp;be&nbsp;used<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;use&nbsp;background&nbsp;parameter&nbsp;value</tt></dd></dl>

<hr>
Data descriptors inherited from BaseScreen:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>started</strong></dt>
</dl>
<hr>
Data and other attributes inherited from BaseScreen:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.signals.MetaSignals'&gt;<dd><tt>register&nbsp;the&nbsp;list&nbsp;of&nbsp;signals&nbsp;in&nbsp;the&nbsp;class&nbsp;varable&nbsp;signals,<br>
including&nbsp;signals&nbsp;in&nbsp;superclasses.</tt></dl>

<dl><dt><strong>signals</strong> = ['update palette entry', 'input descriptors changed']</dl>

<hr>
Methods inherited from RealTerminal:<br>
<dl><dt><a name="Screen-tty_signal_keys"><strong>tty_signal_keys</strong></a>(self, intr<font color="#909090">=None</font>, quit<font color="#909090">=None</font>, start<font color="#909090">=None</font>, stop<font color="#909090">=None</font>, susp<font color="#909090">=None</font>, fileno<font color="#909090">=None</font>)</dt><dd><tt>Read&nbsp;and/or&nbsp;set&nbsp;the&nbsp;tty's&nbsp;signal&nbsp;charater&nbsp;settings.<br>
This&nbsp;function&nbsp;returns&nbsp;the&nbsp;current&nbsp;settings&nbsp;as&nbsp;a&nbsp;tuple.<br>
&nbsp;<br>
Use&nbsp;the&nbsp;string&nbsp;'undefined'&nbsp;to&nbsp;unmap&nbsp;keys&nbsp;from&nbsp;their&nbsp;signals.<br>
The&nbsp;value&nbsp;None&nbsp;is&nbsp;used&nbsp;when&nbsp;no&nbsp;change&nbsp;is&nbsp;being&nbsp;made.<br>
Setting&nbsp;signal&nbsp;keys&nbsp;is&nbsp;done&nbsp;using&nbsp;the&nbsp;integer&nbsp;ascii<br>
code&nbsp;for&nbsp;the&nbsp;key,&nbsp;eg.&nbsp;&nbsp;3&nbsp;for&nbsp;CTRL+C.<br>
&nbsp;<br>
If&nbsp;this&nbsp;function&nbsp;is&nbsp;called&nbsp;after&nbsp;start()&nbsp;has&nbsp;been&nbsp;called<br>
then&nbsp;the&nbsp;original&nbsp;settings&nbsp;will&nbsp;be&nbsp;restored&nbsp;when&nbsp;stop()<br>
is&nbsp;called.</tt></dd></dl>

<h3><a name="web_display.Screen"></a><strong>web_display.Screen</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3>Methods defined here:<br>
<dl><dt><a name="Screen-__init__"><strong>__init__</strong></a>(self)</dt></dl>

<dl><dt><a name="Screen-clear"><strong>clear</strong></a>(self)</dt><dd><tt>Force&nbsp;the&nbsp;screen&nbsp;to&nbsp;be&nbsp;completely&nbsp;repainted&nbsp;on&nbsp;the&nbsp;next<br>
call&nbsp;to&nbsp;draw_screen().<br>
&nbsp;<br>
(does&nbsp;nothing&nbsp;for&nbsp;web_display)</tt></dd></dl>

<dl><dt><a name="Screen-draw_screen"><strong>draw_screen</strong></a>(self, (cols, rows), r)</dt><dd><tt>Send&nbsp;a&nbsp;screen&nbsp;update&nbsp;to&nbsp;the&nbsp;client.</tt></dd></dl>

<dl><dt><a name="Screen-get_cols_rows"><strong>get_cols_rows</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;screen&nbsp;size.</tt></dd></dl>

<dl><dt><a name="Screen-get_input"><strong>get_input</strong></a>(self, raw_keys<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;pending&nbsp;input&nbsp;as&nbsp;a&nbsp;list.</tt></dd></dl>

<dl><dt><a name="Screen-register_palette"><strong>register_palette</strong></a>(self, l)</dt><dd><tt>Register&nbsp;a&nbsp;list&nbsp;of&nbsp;palette&nbsp;entries.<br>
&nbsp;<br>
l&nbsp;--&nbsp;list&nbsp;of&nbsp;(name,&nbsp;foreground,&nbsp;background)&nbsp;or<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(name,&nbsp;same_as_other_name)&nbsp;palette&nbsp;entries.<br>
&nbsp;<br>
calls&nbsp;self.<strong>register_palette_entry</strong>&nbsp;for&nbsp;each&nbsp;item&nbsp;in&nbsp;l</tt></dd></dl>

<dl><dt><a name="Screen-register_palette_entry"><strong>register_palette_entry</strong></a>(self, name, foreground, background, mono<font color="#909090">=None</font>)</dt><dd><tt>Register&nbsp;a&nbsp;single&nbsp;palette&nbsp;entry.<br>
&nbsp;<br>
name&nbsp;--&nbsp;new&nbsp;entry/attribute&nbsp;name<br>
foreground&nbsp;--&nbsp;foreground&nbsp;colour<br>
background&nbsp;--&nbsp;background&nbsp;colour<br>
mono&nbsp;--&nbsp;monochrome&nbsp;terminal&nbsp;attribute<br>
&nbsp;<br>
See&nbsp;curses_display.register_palette_entry&nbsp;for&nbsp;more&nbsp;info.</tt></dd></dl>

<dl><dt><a name="Screen-run_wrapper"><strong>run_wrapper</strong></a>(self, fn)</dt><dd><tt>Run&nbsp;the&nbsp;application&nbsp;main&nbsp;loop,&nbsp;calling&nbsp;start()&nbsp;first<br>
and&nbsp;stop()&nbsp;on&nbsp;exit.</tt></dd></dl>

<dl><dt><a name="Screen-set_input_timeouts"><strong>set_input_timeouts</strong></a>(self, *args)</dt></dl>

<dl><dt><a name="Screen-set_mouse_tracking"><strong>set_mouse_tracking</strong></a>(self)</dt><dd><tt>Not&nbsp;yet&nbsp;implemented</tt></dd></dl>

<dl><dt><a name="Screen-start"><strong>start</strong></a>(self)</dt><dd><tt>This&nbsp;function&nbsp;reads&nbsp;the&nbsp;initial&nbsp;screen&nbsp;size,&nbsp;generates&nbsp;a<br>
unique&nbsp;id&nbsp;and&nbsp;handles&nbsp;cleanup&nbsp;when&nbsp;fn&nbsp;exits.<br>
&nbsp;<br>
web_display.set_preferences(..)&nbsp;must&nbsp;be&nbsp;called&nbsp;before&nbsp;calling<br>
this&nbsp;function&nbsp;for&nbsp;the&nbsp;preferences&nbsp;to&nbsp;take&nbsp;effect</tt></dd></dl>

<dl><dt><a name="Screen-stop"><strong>stop</strong></a>(self)</dt><dd><tt>Restore&nbsp;settings&nbsp;and&nbsp;clean&nbsp;up.</tt></dd></dl>

<dl><dt><a name="Screen-tty_signal_keys"><strong>tty_signal_keys</strong></a>(self, *args, **vargs)</dt><dd><tt>Do&nbsp;nothing.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>started</strong></dt>
</dl>
<h2>Screen capture</h2><a name="html_fragment.screenshot_init"></a><h3>function html_fragment.screenshot_init <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-html_fragment.screenshot_init"><strong>html_fragment.screenshot_init</strong></a> = screenshot_init(sizes, keys)</dt><dd><tt>Replace&nbsp;curses_display.Screen&nbsp;and&nbsp;raw_display.Screen&nbsp;class&nbsp;with&nbsp;<br>
HtmlGenerator.<br>
&nbsp;<br>
Call&nbsp;this&nbsp;function&nbsp;before&nbsp;executing&nbsp;an&nbsp;application&nbsp;that&nbsp;uses&nbsp;<br>
curses_display.Screen&nbsp;to&nbsp;have&nbsp;that&nbsp;code&nbsp;use&nbsp;HtmlGenerator&nbsp;instead.<br>
&nbsp;<br>
sizes&nbsp;--&nbsp;list&nbsp;of&nbsp;(&nbsp;columns,&nbsp;rows&nbsp;)&nbsp;tuples&nbsp;to&nbsp;be&nbsp;returned&nbsp;by&nbsp;each&nbsp;call<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;HtmlGenerator.get_cols_rows()<br>
keys&nbsp;--&nbsp;list&nbsp;of&nbsp;lists&nbsp;of&nbsp;keys&nbsp;to&nbsp;be&nbsp;returned&nbsp;by&nbsp;each&nbsp;call&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HtmlGenerator.get_input()<br>
&nbsp;<br>
Lists&nbsp;of&nbsp;keys&nbsp;may&nbsp;include&nbsp;"window&nbsp;resize"&nbsp;to&nbsp;force&nbsp;the&nbsp;application&nbsp;to<br>
call&nbsp;get_cols_rows&nbsp;and&nbsp;read&nbsp;a&nbsp;new&nbsp;screen&nbsp;size.<br>
&nbsp;<br>
For&nbsp;example,&nbsp;the&nbsp;following&nbsp;call&nbsp;will&nbsp;prepare&nbsp;an&nbsp;application&nbsp;to:<br>
&nbsp;1.&nbsp;start&nbsp;in&nbsp;80x25&nbsp;with&nbsp;its&nbsp;first&nbsp;call&nbsp;to&nbsp;get_cols_rows()<br>
&nbsp;2.&nbsp;take&nbsp;a&nbsp;screenshot&nbsp;when&nbsp;it&nbsp;calls&nbsp;draw_screen(..)<br>
&nbsp;3.&nbsp;simulate&nbsp;5&nbsp;"down"&nbsp;keys&nbsp;from&nbsp;get_input()<br>
&nbsp;4.&nbsp;take&nbsp;a&nbsp;screenshot&nbsp;when&nbsp;it&nbsp;calls&nbsp;draw_screen(..)<br>
&nbsp;5.&nbsp;simulate&nbsp;keys&nbsp;"a",&nbsp;"b",&nbsp;"c"&nbsp;and&nbsp;a&nbsp;"window&nbsp;resize"<br>
&nbsp;6.&nbsp;resize&nbsp;to&nbsp;20x10&nbsp;on&nbsp;its&nbsp;second&nbsp;call&nbsp;to&nbsp;get_cols_rows()<br>
&nbsp;7.&nbsp;take&nbsp;a&nbsp;screenshot&nbsp;when&nbsp;it&nbsp;calls&nbsp;draw_screen(..)<br>
&nbsp;8.&nbsp;simulate&nbsp;a&nbsp;"Q"&nbsp;keypress&nbsp;to&nbsp;quit&nbsp;the&nbsp;application<br>
&nbsp;<br>
screenshot_init(&nbsp;[&nbsp;(80,25),&nbsp;(20,10)&nbsp;],<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;["down"]*5,&nbsp;["a","b","c","window&nbsp;resize"],&nbsp;["Q"]&nbsp;]&nbsp;)</tt></dd></dl>
<a name="html_fragment.screenshot_collect"></a><h3>function html_fragment.screenshot_collect <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-html_fragment.screenshot_collect"><strong>html_fragment.screenshot_collect</strong></a> = screenshot_collect()</dt><dd><tt>Return&nbsp;screenshots&nbsp;as&nbsp;a&nbsp;list&nbsp;of&nbsp;HTML&nbsp;fragments.</tt></dd></dl>
<a name="html_fragment.HtmlGenerator"></a><h3>function html_fragment.HtmlGenerator <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="html_fragment.HtmlGenerator"></a><strong>html_fragment.HtmlGenerator</strong> <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt>Method resolution order:</dt>
<dd>HtmlGenerator</dd>
<dd>BaseScreen</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="HtmlGenerator-__init__"><strong>__init__</strong></a>(self)</dt></dl>

<dl><dt><a name="HtmlGenerator-clear"><strong>clear</strong></a>(self)</dt><dd><tt>Force&nbsp;the&nbsp;screen&nbsp;to&nbsp;be&nbsp;completely&nbsp;repainted&nbsp;on&nbsp;the&nbsp;next<br>
call&nbsp;to&nbsp;draw_screen().<br>
&nbsp;<br>
(does&nbsp;nothing&nbsp;for&nbsp;html_fragment)</tt></dd></dl>

<dl><dt><a name="HtmlGenerator-draw_screen"><strong>draw_screen</strong></a>(self, (cols, rows), r)</dt><dd><tt>Create&nbsp;an&nbsp;html&nbsp;fragment&nbsp;from&nbsp;the&nbsp;render&nbsp;object.&nbsp;<br>
Append&nbsp;it&nbsp;to&nbsp;HtmlGenerator.fragments&nbsp;list.</tt></dd></dl>

<dl><dt><a name="HtmlGenerator-get_cols_rows"><strong>get_cols_rows</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;next&nbsp;screen&nbsp;size&nbsp;in&nbsp;HtmlGenerator.sizes.</tt></dd></dl>

<dl><dt><a name="HtmlGenerator-get_input"><strong>get_input</strong></a>(self, raw_keys<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;the&nbsp;next&nbsp;list&nbsp;of&nbsp;keypresses&nbsp;in&nbsp;HtmlGenerator.keys.</tt></dd></dl>

<dl><dt><a name="HtmlGenerator-reset_default_terminal_palette"><strong>reset_default_terminal_palette</strong></a>(self, *args)</dt></dl>

<dl><dt><a name="HtmlGenerator-run_wrapper"><strong>run_wrapper</strong></a>(self, fn)</dt><dd><tt>Call&nbsp;fn.</tt></dd></dl>

<dl><dt><a name="HtmlGenerator-set_input_timeouts"><strong>set_input_timeouts</strong></a>(self, *args)</dt></dl>

<dl><dt><a name="HtmlGenerator-set_mouse_tracking"><strong>set_mouse_tracking</strong></a>(self)</dt><dd><tt>Not&nbsp;yet&nbsp;implemented</tt></dd></dl>

<dl><dt><a name="HtmlGenerator-set_terminal_properties"><strong>set_terminal_properties</strong></a>(self, colors<font color="#909090">=None</font>, bright_is_bold<font color="#909090">=None</font>, has_underline<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="HtmlGenerator-start"><strong>start</strong></a>(self)</dt></dl>

<dl><dt><a name="HtmlGenerator-stop"><strong>stop</strong></a>(self)</dt></dl>

<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>fragments</strong> = []</dl>

<dl><dt><strong>keys</strong> = []</dl>

<dl><dt><strong>sizes</strong> = []</dl>

<dl><dt><strong>started</strong> = True</dl>

<hr>
Methods inherited from BaseScreen:<br>
<dl><dt><a name="HtmlGenerator-register_palette"><strong>register_palette</strong></a>(self, palette)</dt><dd><tt>Register&nbsp;a&nbsp;set&nbsp;of&nbsp;palette&nbsp;entries.<br>
&nbsp;<br>
palette&nbsp;--&nbsp;a&nbsp;list&nbsp;of&nbsp;(name,&nbsp;like_other_name)&nbsp;or&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;(name,&nbsp;foreground,&nbsp;background,&nbsp;mono,&nbsp;foreground_high,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;background_high)&nbsp;tuples<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;(name,&nbsp;like_other_name)&nbsp;format&nbsp;will&nbsp;copy&nbsp;the&nbsp;settings<br>
&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;the&nbsp;palette&nbsp;entry&nbsp;like_other_name,&nbsp;which&nbsp;must&nbsp;appear<br>
&nbsp;&nbsp;&nbsp;&nbsp;before&nbsp;this&nbsp;tuple&nbsp;in&nbsp;the&nbsp;list.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;mono&nbsp;and&nbsp;foreground/background_high&nbsp;values&nbsp;are&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;optional&nbsp;ie.&nbsp;the&nbsp;second&nbsp;tuple&nbsp;format&nbsp;may&nbsp;have&nbsp;3,&nbsp;4&nbsp;or&nbsp;6&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;values.&nbsp;&nbsp;See&nbsp;register_palette_entry()&nbsp;for&nbsp;a&nbsp;description&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;tuple&nbsp;values.</tt></dd></dl>

<dl><dt><a name="HtmlGenerator-register_palette_entry"><strong>register_palette_entry</strong></a>(self, name, foreground, background, mono<font color="#909090">=None</font>, foreground_high<font color="#909090">=None</font>, background_high<font color="#909090">=None</font>)</dt><dd><tt>Register&nbsp;a&nbsp;single&nbsp;palette&nbsp;entry.<br>
&nbsp;<br>
name&nbsp;--&nbsp;new&nbsp;entry/attribute&nbsp;name<br>
foreground&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;a&nbsp;comma-separated&nbsp;foreground&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;and&nbsp;settings<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;(use&nbsp;the&nbsp;terminal's&nbsp;default&nbsp;foreground),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'black',&nbsp;'dark&nbsp;red',&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;magenta',&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray',&nbsp;'dark&nbsp;gray',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;red',&nbsp;'light&nbsp;green',&nbsp;'yellow',&nbsp;'light&nbsp;blue',&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;magenta',&nbsp;'light&nbsp;cyan',&nbsp;'white'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Settings:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'bold',&nbsp;'underline',&nbsp;'blink',&nbsp;'standout'<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;terminals&nbsp;use&nbsp;'bold'&nbsp;for&nbsp;bright&nbsp;colors.&nbsp;&nbsp;Most&nbsp;terminals<br>
&nbsp;&nbsp;&nbsp;&nbsp;ignore&nbsp;the&nbsp;'blink'&nbsp;setting.&nbsp;&nbsp;If&nbsp;the&nbsp;color&nbsp;is&nbsp;not&nbsp;given&nbsp;then<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;will&nbsp;be&nbsp;assumed.&nbsp;<br>
&nbsp;<br>
background&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;the&nbsp;background&nbsp;color<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Background&nbsp;color&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'default'&nbsp;(use&nbsp;the&nbsp;terminal's&nbsp;default&nbsp;background),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'black',&nbsp;'dark&nbsp;red',&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',<br>
&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;magenta',&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray'<br>
&nbsp;<br>
mono&nbsp;--&nbsp;a&nbsp;comma-separated&nbsp;string&nbsp;containing&nbsp;monochrome&nbsp;terminal&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;settings&nbsp;(see&nbsp;"Settings"&nbsp;above.)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;no&nbsp;terminal&nbsp;settings&nbsp;(same&nbsp;as&nbsp;'default')<br>
&nbsp;<br>
foreground_high&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;a&nbsp;comma-separated&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;foreground&nbsp;color&nbsp;and&nbsp;settings,&nbsp;standard&nbsp;foreground<br>
&nbsp;&nbsp;&nbsp;&nbsp;colors&nbsp;(see&nbsp;"Color&nbsp;values"&nbsp;above)&nbsp;or&nbsp;high-colors&nbsp;may&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;used<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;High-color&nbsp;example&nbsp;values:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#009'&nbsp;(0%&nbsp;red,&nbsp;0%&nbsp;green,&nbsp;60%&nbsp;red,&nbsp;like&nbsp;HTML&nbsp;colors)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#fcc'&nbsp;(100%&nbsp;red,&nbsp;80%&nbsp;green,&nbsp;80%&nbsp;blue)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'g40'&nbsp;(40%&nbsp;gray,&nbsp;decimal),&nbsp;'g#cc'&nbsp;(80%&nbsp;gray,&nbsp;hex),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#000',&nbsp;'g0',&nbsp;'g#00'&nbsp;(black),<br>
&nbsp;&nbsp;&nbsp;&nbsp;'#fff',&nbsp;'g100',&nbsp;'g#ff'&nbsp;(white)<br>
&nbsp;&nbsp;&nbsp;&nbsp;'h8'&nbsp;(color&nbsp;number&nbsp;8),&nbsp;'h255'&nbsp;(color&nbsp;number&nbsp;255)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;use&nbsp;foreground&nbsp;parameter&nbsp;value<br>
&nbsp;<br>
background_high&nbsp;--&nbsp;a&nbsp;string&nbsp;containing&nbsp;the&nbsp;background&nbsp;color,<br>
&nbsp;&nbsp;&nbsp;&nbsp;standard&nbsp;background&nbsp;colors&nbsp;(see&nbsp;"Background&nbsp;colors"&nbsp;above)<br>
&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;high-colors&nbsp;(see&nbsp;"High-color&nbsp;example&nbsp;values"&nbsp;above)<br>
&nbsp;&nbsp;&nbsp;&nbsp;may&nbsp;be&nbsp;used<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;=&nbsp;use&nbsp;background&nbsp;parameter&nbsp;value</tt></dd></dl>

<hr>
Data descriptors inherited from BaseScreen:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Data and other attributes inherited from BaseScreen:<br>
<dl><dt><strong>__metaclass__</strong> = &lt;class 'urwid.signals.MetaSignals'&gt;<dd><tt>register&nbsp;the&nbsp;list&nbsp;of&nbsp;signals&nbsp;in&nbsp;the&nbsp;class&nbsp;varable&nbsp;signals,<br>
including&nbsp;signals&nbsp;in&nbsp;superclasses.</tt></dl>

<dl><dt><strong>signals</strong> = ['update palette entry', 'input descriptors changed']</dl>


</body>
</html>