Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > e0d111e7fae97da504c0f5b69b059e0c > files > 41

python-urwid-0.9.8.4-2mdv2010.0.i586.rpm

<html>
<head>
<title>Urwid 0.9.8.4 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 0.9.8.4 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">User interface wrappers</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">Top-level widgets</div><div class="l2"><a href="#Frame">Frame</a> [<b>B</b>]</div><div class="l2"><a href="#Filler">Filler</a> [<b>B</b>]</div><div class="l2"><a href="#ListBox">ListBox</a> [<b>B</b>]</div><div class="l1">Decorations</div><div class="l2"><a href="#WidgetWrap">WidgetWrap</a> [<b>F</b>/<b>B</b>]</div><div class="l2"><a href="#AttrWrap">AttrWrap</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="#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">Composite widgets</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></td><td width="33%" valign="top"><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><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="#BigText">BigText</a> [<b>X</b>]</div><div class="l2"><a href="#get_all_fonts">get_all_fonts</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="#Widget">Widget</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="l2"><a href="#List_Walker_interface_definition">List Walker interface definition</a> </div><div class="l2"><a href="#ListWalker">ListWalker</a> </div><div class="l1">ListBox list walkers</div><div class="l2"><a href="#PollingListWalker">PollingListWalker</a> </div><div class="l2"><a href="#SimpleListWalker">SimpleListWalker</a> </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="#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">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">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><div class="l1">Web Application Interface</div><div class="l2"><a href="#web_display.is_web_request">web_display.is_web_request</a> </div><div class="l2"><a href="#web_display.set_preferences">web_display.set_preferences</a> </div><div class="l2"><a href="#web_display.handle_short_request">web_display.handle_short_request</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>User interface wrappers</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>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, (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;&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-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;mono),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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,&nbsp;one&nbsp;of:&nbsp;'black',&nbsp;'dark&nbsp;red',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',&nbsp;'dark&nbsp;magenta',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray',&nbsp;'dark&nbsp;gray',&nbsp;'light&nbsp;red',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;green',&nbsp;'yellow',&nbsp;'light&nbsp;blue',&nbsp;'light&nbsp;magenta',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;cyan',&nbsp;'white',&nbsp;'default'&nbsp;(black&nbsp;if&nbsp;unable&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use&nbsp;terminal's&nbsp;default)<br>
background&nbsp;--&nbsp;background&nbsp;colour,&nbsp;one&nbsp;of:&nbsp;'black',&nbsp;'dark&nbsp;red',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',&nbsp;'dark&nbsp;magenta',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray',&nbsp;'default'&nbsp;(light&nbsp;gray&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unable&nbsp;to&nbsp;use&nbsp;terminal's&nbsp;default)<br>
mono&nbsp;--&nbsp;monochrome&nbsp;terminal&nbsp;attribute,&nbsp;one&nbsp;of:&nbsp;None&nbsp;(default),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'bold',&nbsp;'underline',&nbsp;'standout',&nbsp;or&nbsp;a&nbsp;tuple&nbsp;containing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;combination&nbsp;eg.&nbsp;('bold','underline')</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;&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">=0.5</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;are&nbsp;floating<br>
point&nbsp;number&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;&nbsp;&nbsp;&nbsp;&nbsp;there&nbsp;is&nbsp;no&nbsp;input&nbsp;pending<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;&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;&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;&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;&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;&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-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>
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="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>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-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;mono),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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,&nbsp;one&nbsp;of:&nbsp;'black',&nbsp;'dark&nbsp;red',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',&nbsp;'dark&nbsp;magenta',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray',&nbsp;'dark&nbsp;gray',&nbsp;'light&nbsp;red',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;green',&nbsp;'yellow',&nbsp;'light&nbsp;blue',&nbsp;'light&nbsp;magenta',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'light&nbsp;cyan',&nbsp;'white',&nbsp;'default'&nbsp;(black&nbsp;if&nbsp;unable&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use&nbsp;terminal's&nbsp;default)<br>
background&nbsp;--&nbsp;background&nbsp;colour,&nbsp;one&nbsp;of:&nbsp;'black',&nbsp;'dark&nbsp;red',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;green',&nbsp;'brown',&nbsp;'dark&nbsp;blue',&nbsp;'dark&nbsp;magenta',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'dark&nbsp;cyan',&nbsp;'light&nbsp;gray',&nbsp;'default'&nbsp;(light&nbsp;gray&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unable&nbsp;to&nbsp;use&nbsp;terminal's&nbsp;default)<br>
mono&nbsp;--&nbsp;monochrome&nbsp;terminal&nbsp;attribute,&nbsp;one&nbsp;of:&nbsp;None&nbsp;(default),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'bold',&nbsp;'underline',&nbsp;'standout',&nbsp;or&nbsp;a&nbsp;tuple&nbsp;containing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;combination&nbsp;eg.&nbsp;('bold','underline')</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">=0.5</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;<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;&nbsp;&nbsp;&nbsp;&nbsp;there&nbsp;is&nbsp;no&nbsp;input&nbsp;pending<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;&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;&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;&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;&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;&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>
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>
<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_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>

<h2>Top-level 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, (maxcol, maxrow), 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_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, (maxcol, maxrow), 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, (maxcol, maxrow), 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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></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-selectable"><strong>selectable</strong></a>(self)</dt></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>(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>Filler</dd>
<dd>BoxWidget</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<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, (maxcol, maxrow), 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>(self)</dt></dl>

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

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

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

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

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

<dl><dt><a name="Filler-render"><strong>render</strong></a> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></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>(self, body)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>body</strong></dt>
</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="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;&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, (maxcol, maxrow), 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;&nbsp;&nbsp;&nbsp;&nbsp;focus&nbsp;widget,&nbsp;focus&nbsp;position,&nbsp;focus&nbsp;rows,&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;of&nbsp;(widget,&nbsp;position,&nbsp;rows)&nbsp;tuples&nbsp;above&nbsp;focus<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;of&nbsp;(widget,&nbsp;position,&nbsp;rows)&nbsp;tuples&nbsp;below&nbsp;focus<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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, (maxcol, maxrow), 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_rows&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, (maxcol, maxrow), 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_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, (maxcol, maxrow))</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, (maxcol, maxrow), 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, (maxcol, maxrow))</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, (maxcol, maxrow), 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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></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;&nbsp;&nbsp;&nbsp;&nbsp;'top',&nbsp;'middle',&nbsp;'bottom'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;top',&nbsp;rows)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;('fixed&nbsp;bottom',&nbsp;rows)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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, (maxcol, maxrow), 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, (maxcol, maxrow))</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-selectable"><strong>selectable</strong></a>(self)</dt></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>Decorations</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>(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>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="WidgetWrap-__getattr__"><strong>__getattr__</strong></a>(self, name)</dt><dd><tt>Call&nbsp;self.<strong>w</strong>&nbsp;if&nbsp;name&nbsp;is&nbsp;in&nbsp;Widget&nbsp;interface&nbsp;definition.</tt></dd></dl>

<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>.</tt></dd></dl>

<dl><dt><a name="WidgetWrap-get_w"><strong>get_w</strong></a>(self)</dt></dl>

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

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

<dl><dt><a name="WidgetWrap-set_w"><strong>set_w</strong></a>(self, w)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>w</strong></dt>
</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="AttrWrap"></a><h3>function AttrWrap <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><h3><a name="AttrWrap">class <strong>AttrWrap</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>AttrWrap</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="AttrWrap-__getattr__"><strong>__getattr__</strong></a>(self, name)</dt><dd><tt>Call&nbsp;getattr&nbsp;on&nbsp;wrapped&nbsp;widget.</tt></dd></dl>

<dl><dt><a name="AttrWrap-__init__"><strong>__init__</strong></a>(self, w, attr, focus_attr<font color="#909090">=None</font>)</dt><dd><tt>w&nbsp;--&nbsp;widget&nbsp;to&nbsp;wrap<br>
attr&nbsp;--&nbsp;attribute&nbsp;to&nbsp;apply&nbsp;to&nbsp;w<br>
focus_attr&nbsp;--&nbsp;attribute&nbsp;to&nbsp;apply&nbsp;when&nbsp;in&nbsp;focus,&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.</tt></dd></dl>

<dl><dt><a name="AttrWrap-get_attr"><strong>get_attr</strong></a>(self)</dt></dl>

<dl><dt><a name="AttrWrap-get_focus_attr"><strong>get_focus_attr</strong></a>(self)</dt></dl>

<dl><dt><a name="AttrWrap-get_w"><strong>get_w</strong></a>(self)</dt></dl>

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

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

<dl><dt><a name="AttrWrap-set_attr"><strong>set_attr</strong></a>(self, attr)</dt></dl>

<dl><dt><a name="AttrWrap-set_focus_attr"><strong>set_focus_attr</strong></a>(self, focus_attr)</dt></dl>

<dl><dt><a name="AttrWrap-set_w"><strong>set_w</strong></a>(self, w)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>attr</strong></dt>
</dl>
<dl><dt><strong>focus_attr</strong></dt>
</dl>
<dl><dt><strong>w</strong></dt>
</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>(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>Padding</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, width, min_width<font color="#909090">=None</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>
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;number&nbsp;of&nbsp;columns&nbsp;wide&nbsp;<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>
&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;to&nbsp;enable&nbsp;clipping&nbsp;mode<br>
min_width&nbsp;--&nbsp;the&nbsp;minimum&nbsp;number&nbsp;of&nbsp;columns&nbsp;for&nbsp;w&nbsp;or&nbsp;None<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
Padding&nbsp;widgets&nbsp;will&nbsp;try&nbsp;to&nbsp;satisfy&nbsp;width&nbsp;argument&nbsp;first&nbsp;by<br>
reducing&nbsp;the&nbsp;align&nbsp;amount&nbsp;when&nbsp;necessary.&nbsp;&nbsp;If&nbsp;width&nbsp;still&nbsp;<br>
cannot&nbsp;be&nbsp;satisfied&nbsp;it&nbsp;will&nbsp;also&nbsp;be&nbsp;reduced.<br>
&nbsp;<br>
Clipping&nbsp;Mode:<br>
In&nbsp;clipping&nbsp;mode&nbsp;w&nbsp;is&nbsp;treated&nbsp;as&nbsp;a&nbsp;fixed&nbsp;widget&nbsp;and&nbsp;this&nbsp;<br>
widget&nbsp;expects&nbsp;to&nbsp;be&nbsp;treated&nbsp;as&nbsp;a&nbsp;flow&nbsp;widget.&nbsp;&nbsp;w&nbsp;will<br>
be&nbsp;clipped&nbsp;to&nbsp;fit&nbsp;within&nbsp;the&nbsp;space&nbsp;given.&nbsp;&nbsp;For&nbsp;example,<br>
if&nbsp;align&nbsp;is&nbsp;'left'&nbsp;then&nbsp;w&nbsp;may&nbsp;be&nbsp;clipped&nbsp;on&nbsp;the&nbsp;right.</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>w</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>w</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>w</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>w</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>w</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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></dl>

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

<dl><dt><a name="Padding-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;selectable&nbsp;value&nbsp;of&nbsp;self.<strong>w</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>
<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">=' '</font>, top<font color="#909090">=0</font>, bottom<font color="#909090">=0</font>)</dt><dd><tt>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</tt></dd></dl>

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

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

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Divider-selectable"><strong>selectable</strong></a>(self)</dt></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="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>(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>WidgetWrap</dd>
<dd>Widget</dd>
<dd>object</dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="LineBox-__init__"><strong>__init__</strong></a>(self, w)</dt><dd><tt>Draw&nbsp;a&nbsp;line&nbsp;around&nbsp;w.</tt></dd></dl>

<hr>
Methods inherited from WidgetWrap:<br>
<dl><dt><a name="LineBox-__getattr__"><strong>__getattr__</strong></a>(self, name)</dt><dd><tt>Call&nbsp;self.<strong>w</strong>&nbsp;if&nbsp;name&nbsp;is&nbsp;in&nbsp;Widget&nbsp;interface&nbsp;definition.</tt></dd></dl>

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

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

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

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

<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</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>fill_char&nbsp;--&nbsp;character&nbsp;to&nbsp;fill&nbsp;area&nbsp;with</tt></dd></dl>

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

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="SolidFill-selectable"><strong>selectable</strong></a>(self)</dt></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>Composite widgets</h2><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;&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;before&nbsp;it&nbsp;is&nbsp;hidden<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;&nbsp;&nbsp;&nbsp;&nbsp;whose&nbsp;maxrow&nbsp;is&nbsp;set&nbsp;to&nbsp;the&nbsp;maximum&nbsp;of&nbsp;the&nbsp;rows&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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>
('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)&nbsp;&nbsp;&nbsp;&nbsp;<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)</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;&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;&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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="Columns-rows"><strong>rows</strong></a> = cached_rows(self, size, focus<font color="#909090">=False</font>)</dt></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 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="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;&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;&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;&nbsp;&nbsp;&nbsp;&nbsp;height&nbsp;based&nbsp;on&nbsp;its&nbsp;relative&nbsp;weight&nbsp;value,&nbsp;otherwise<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="Pile-rows"><strong>rows</strong></a> = cached_rows(self, size, focus<font color="#909090">=False</font>)</dt></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 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="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, (maxcol,))</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, (maxcol,))</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, (maxcol,))</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_pref_col"><strong>get_pref_col</strong></a>(self, (maxcol,))</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, (maxcol,), key)</dt><dd><tt>Pass&nbsp;keypress&nbsp;to&nbsp;display&nbsp;widget&nbsp;for&nbsp;handling.&nbsp;&nbsp;<br>
Capture&nbsp;focus&nbsp;changes.</tt></dd></dl>

<dl><dt><a name="GridFlow-mouse_event"><strong>mouse_event</strong></a>(self, (maxcol,), 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, (maxcol,), 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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="GridFlow-rows"><strong>rows</strong></a> = cached_rows(self, size, focus<font color="#909090">=False</font>)</dt></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>
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="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>(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>BoxAdapter</dd>
<dd>FlowWidget</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<br>
height&nbsp;--&nbsp;number&nbsp;of&nbsp;rows&nbsp;for&nbsp;box&nbsp;widget</tt></dd></dl>

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

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

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

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

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

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

<dl><dt><a name="BoxAdapter-rows"><strong>rows</strong></a>(self, (maxcol,), focus<font color="#909090">=False</font>)</dt><dd><tt>Return&nbsp;self.<strong>height</strong></tt></dd></dl>

<dl><dt><a name="BoxAdapter-selectable"><strong>selectable</strong></a>(self)</dt><dd><tt>Return&nbsp;box&nbsp;widget's&nbsp;selectable&nbsp;value</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&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_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, (maxcol, maxrow), 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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></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-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>
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>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;&nbsp;&nbsp;&nbsp;&nbsp;plain&nbsp;string&nbsp;--&nbsp;string&nbsp;is&nbsp;displayed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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;&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</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;for&nbsp;mapping&nbsp;self.<strong>text</strong>&nbsp;to&nbsp;a&nbsp;canvas.</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;of&nbsp;text&nbsp;widget<br>
attributes&nbsp;--&nbsp;run&nbsp;length&nbsp;encoded&nbsp;attributes&nbsp;for&nbsp;text</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;required&nbsp;for&nbsp;this&nbsp;Text<br>
widget&nbsp;to&nbsp;be&nbsp;displayed&nbsp;without&nbsp;wrapping&nbsp;or&nbsp;clipping,&nbsp;as&nbsp;a&nbsp;<br>
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</tt></dd></dl>

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

<dl><dt><a name="Text-rows"><strong>rows</strong></a> = cached_rows(self, size, focus<font color="#909090">=False</font>)</dt></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.&nbsp;&nbsp;<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'left',&nbsp;'center'&nbsp;and&nbsp;'right'</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</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.</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.&nbsp;&nbsp;<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'any'&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;at&nbsp;any&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'space'&nbsp;:&nbsp;wrap&nbsp;on&nbsp;space&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'clip'&nbsp;&nbsp;:&nbsp;truncate&nbsp;lines&nbsp;instead&nbsp;of&nbsp;wrapping</tt></dd></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="Text-selectable"><strong>selectable</strong></a>(self)</dt></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="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">=''</font>, edit_text<font color="#909090">=''</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>)</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</tt></dd></dl>

<dl><dt><a name="Edit-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, (maxcol,))</dt><dd><tt>Return&nbsp;the&nbsp;(x,y)&nbsp;coordinates&nbsp;of&nbsp;cursor&nbsp;within&nbsp;widget.</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.</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, (maxcol,))</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.</tt></dd></dl>

<dl><dt><a name="Edit-get_text"><strong>get_text</strong></a>(self)</dt><dd><tt>get_text()&nbsp;-&gt;&nbsp;text,&nbsp;attributes<br>
&nbsp;<br>
text&nbsp;--&nbsp;complete&nbsp;text&nbsp;of&nbsp;caption&nbsp;and&nbsp;edit_text<br>
attributes&nbsp;--&nbsp;run&nbsp;length&nbsp;encoded&nbsp;attributes&nbsp;for&nbsp;text</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.</tt></dd></dl>

<dl><dt><a name="Edit-keypress"><strong>keypress</strong></a>(self, (maxcol,), key)</dt><dd><tt>Handle&nbsp;editing&nbsp;keystrokes,&nbsp;return&nbsp;others.</tt></dd></dl>

<dl><dt><a name="Edit-mouse_event"><strong>mouse_event</strong></a>(self, (maxcol,), 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.</tt></dd></dl>

<dl><dt><a name="Edit-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, (maxcol,), x, y)</dt><dd><tt>Set&nbsp;the&nbsp;cursor&nbsp;position&nbsp;with&nbsp;(x,y)&nbsp;coordinates.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;move&nbsp;succeeded,&nbsp;False&nbsp;otherwise.</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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></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.</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.</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.</tt></dd></dl>

<dl><dt><a name="Edit-update_text"><strong>update_text</strong></a>(self)</dt><dd><tt>Deprecated.&nbsp;&nbsp;Use&nbsp;set_caption&nbsp;and/or&nbsp;set_edit_text&nbsp;instead.<br>
&nbsp;<br>
Make&nbsp;sure&nbsp;any&nbsp;cached&nbsp;line&nbsp;translation&nbsp;is&nbsp;not&nbsp;reused.</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>
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;required&nbsp;for&nbsp;this&nbsp;Text<br>
widget&nbsp;to&nbsp;be&nbsp;displayed&nbsp;without&nbsp;wrapping&nbsp;or&nbsp;clipping,&nbsp;as&nbsp;a&nbsp;<br>
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</tt></dd></dl>

<dl><dt><a name="Edit-rows"><strong>rows</strong></a> = cached_rows(self, size, focus<font color="#909090">=False</font>)</dt></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.&nbsp;&nbsp;<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'left',&nbsp;'center'&nbsp;and&nbsp;'right'</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</tt></dd></dl>

<dl><dt><a name="Edit-set_text"><strong>set_text</strong></a>(self, markup)</dt><dd><tt>Set&nbsp;content&nbsp;of&nbsp;text&nbsp;widget.</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.&nbsp;&nbsp;<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'any'&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;at&nbsp;any&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'space'&nbsp;:&nbsp;wrap&nbsp;on&nbsp;space&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'clip'&nbsp;&nbsp;:&nbsp;truncate&nbsp;lines&nbsp;instead&nbsp;of&nbsp;wrapping</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="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</tt></dd></dl>

<dl><dt><a name="IntEdit-keypress"><strong>keypress</strong></a>(self, (maxcol,), key)</dt><dd><tt>Handle&nbsp;editing&nbsp;keystrokes.&nbsp;&nbsp;Return&nbsp;others.</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>.</tt></dd></dl>

<hr>
Methods inherited from Edit:<br>
<dl><dt><a name="IntEdit-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, (maxcol,))</dt><dd><tt>Return&nbsp;the&nbsp;(x,y)&nbsp;coordinates&nbsp;of&nbsp;cursor&nbsp;within&nbsp;widget.</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.</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, (maxcol,))</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.</tt></dd></dl>

<dl><dt><a name="IntEdit-get_text"><strong>get_text</strong></a>(self)</dt><dd><tt>get_text()&nbsp;-&gt;&nbsp;text,&nbsp;attributes<br>
&nbsp;<br>
text&nbsp;--&nbsp;complete&nbsp;text&nbsp;of&nbsp;caption&nbsp;and&nbsp;edit_text<br>
attributes&nbsp;--&nbsp;run&nbsp;length&nbsp;encoded&nbsp;attributes&nbsp;for&nbsp;text</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.</tt></dd></dl>

<dl><dt><a name="IntEdit-mouse_event"><strong>mouse_event</strong></a>(self, (maxcol,), 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.</tt></dd></dl>

<dl><dt><a name="IntEdit-move_cursor_to_coords"><strong>move_cursor_to_coords</strong></a>(self, (maxcol,), x, y)</dt><dd><tt>Set&nbsp;the&nbsp;cursor&nbsp;position&nbsp;with&nbsp;(x,y)&nbsp;coordinates.<br>
&nbsp;<br>
Returns&nbsp;True&nbsp;if&nbsp;move&nbsp;succeeded,&nbsp;False&nbsp;otherwise.</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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></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.</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.</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.</tt></dd></dl>

<dl><dt><a name="IntEdit-update_text"><strong>update_text</strong></a>(self)</dt><dd><tt>Deprecated.&nbsp;&nbsp;Use&nbsp;set_caption&nbsp;and/or&nbsp;set_edit_text&nbsp;instead.<br>
&nbsp;<br>
Make&nbsp;sure&nbsp;any&nbsp;cached&nbsp;line&nbsp;translation&nbsp;is&nbsp;not&nbsp;reused.</tt></dd></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;required&nbsp;for&nbsp;this&nbsp;Text<br>
widget&nbsp;to&nbsp;be&nbsp;displayed&nbsp;without&nbsp;wrapping&nbsp;or&nbsp;clipping,&nbsp;as&nbsp;a&nbsp;<br>
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</tt></dd></dl>

<dl><dt><a name="IntEdit-rows"><strong>rows</strong></a> = cached_rows(self, size, focus<font color="#909090">=False</font>)</dt></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.&nbsp;&nbsp;<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'left',&nbsp;'center'&nbsp;and&nbsp;'right'</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</tt></dd></dl>

<dl><dt><a name="IntEdit-set_text"><strong>set_text</strong></a>(self, markup)</dt><dd><tt>Set&nbsp;content&nbsp;of&nbsp;text&nbsp;widget.</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.&nbsp;&nbsp;<br>
&nbsp;<br>
Valid&nbsp;modes&nbsp;for&nbsp;StandardTextLayout&nbsp;are&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'any'&nbsp;&nbsp;&nbsp;:&nbsp;wrap&nbsp;at&nbsp;any&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'space'&nbsp;:&nbsp;wrap&nbsp;on&nbsp;space&nbsp;character<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'clip'&nbsp;&nbsp;:&nbsp;truncate&nbsp;lines&nbsp;instead&nbsp;of&nbsp;wrapping</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="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>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;--&nbsp;callback&nbsp;function&nbsp;for&nbsp;button&nbsp;"press"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on_press(&nbsp;button&nbsp;object,&nbsp;user_data=None)<br>
user_data&nbsp;--&nbsp;additional&nbsp;param&nbsp;for&nbsp;on_press&nbsp;callback,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ommited&nbsp;if&nbsp;None&nbsp;for&nbsp;compatibility&nbsp;reasons</tt></dd></dl>

<dl><dt><a name="Button-get_cursor_coords"><strong>get_cursor_coords</strong></a>(self, (maxcol,))</dt><dd><tt>Return&nbsp;the&nbsp;location&nbsp;of&nbsp;the&nbsp;cursor.</tt></dd></dl>

<dl><dt><a name="Button-get_label"><strong>get_label</strong></a>(self)</dt></dl>

<dl><dt><a name="Button-keypress"><strong>keypress</strong></a>(self, (maxcol,), key)</dt><dd><tt>Call&nbsp;on_press&nbsp;on&nbsp;spage&nbsp;or&nbsp;enter.</tt></dd></dl>

<dl><dt><a name="Button-mouse_event"><strong>mouse_event</strong></a>(self, (maxcol,), event, button, x, y, focus)</dt><dd><tt>Call&nbsp;on_press&nbsp;on&nbsp;button&nbsp;1&nbsp;press.</tt></dd></dl>

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

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

<dl><dt><a name="Button-set_label"><strong>set_label</strong></a>(self, label)</dt></dl>

<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>button_left</strong> = &lt;urwid.widget.Text object at 0x1dfe550&gt;</dl>

<dl><dt><strong>button_right</strong> = &lt;urwid.widget.Text object at 0x1dfe5d0&gt;</dl>

<hr>
Methods inherited from WidgetWrap:<br>
<dl><dt><a name="Button-__getattr__"><strong>__getattr__</strong></a>(self, name)</dt><dd><tt>Call&nbsp;self.<strong>w</strong>&nbsp;if&nbsp;name&nbsp;is&nbsp;in&nbsp;Widget&nbsp;interface&nbsp;definition.</tt></dd></dl>

<dl><dt><a name="Button-get_w"><strong>get_w</strong></a>(self)</dt></dl>

<dl><dt><a name="Button-set_w"><strong>set_w</strong></a>(self, w)</dt></dl>

<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</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="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>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;--&nbsp;callback&nbsp;function&nbsp;for&nbsp;state&nbsp;changes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on_state_change(&nbsp;check&nbsp;box,&nbsp;new&nbsp;state,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user_data=None)<br>
user_data&nbsp;--&nbsp;additional&nbsp;param&nbsp;for&nbsp;on_press&nbsp;callback,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ommited&nbsp;if&nbsp;None&nbsp;for&nbsp;compatibility&nbsp;reasons</tt></dd></dl>

<dl><dt><a name="CheckBox-get_label"><strong>get_label</strong></a>(self)</dt><dd><tt>Return&nbsp;label&nbsp;text.</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, (maxcol,), key)</dt><dd><tt>Toggle&nbsp;state&nbsp;on&nbsp;space&nbsp;or&nbsp;enter.</tt></dd></dl>

<dl><dt><a name="CheckBox-mouse_event"><strong>mouse_event</strong></a>(self, (maxcol,), event, button, x, y, focus)</dt><dd><tt>Toggle&nbsp;state&nbsp;on&nbsp;button&nbsp;1&nbsp;press.</tt></dd></dl>

<dl><dt><a name="CheckBox-selectable"><strong>selectable</strong></a>(self)</dt></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.</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>Call&nbsp;on_state_change&nbsp;if&nbsp;do_callback&nbsp;is&nbsp;True,<br>
then&nbsp;change&nbsp;the&nbsp;check&nbsp;box&nbsp;state.</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.</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;urwid.widget.SelectableIcon object at 0x1dfe350&gt;, True: &lt;urwid.widget.SelectableIcon object at 0x1dfe2d0&gt;, 'mixed': &lt;urwid.widget.SelectableIcon object at 0x1dfe390&gt;}</dl>

<hr>
Methods inherited from WidgetWrap:<br>
<dl><dt><a name="CheckBox-__getattr__"><strong>__getattr__</strong></a>(self, name)</dt><dd><tt>Call&nbsp;self.<strong>w</strong>&nbsp;if&nbsp;name&nbsp;is&nbsp;in&nbsp;Widget&nbsp;interface&nbsp;definition.</tt></dd></dl>

<dl><dt><a name="CheckBox-get_w"><strong>get_w</strong></a>(self)</dt></dl>

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

<dl><dt><a name="CheckBox-set_w"><strong>set_w</strong></a>(self, w)</dt></dl>

<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</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="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>(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>RadioButton</dd>
<dd>WidgetWrap</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;--&nbsp;callback&nbsp;function&nbsp;for&nbsp;state&nbsp;changes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on_state_change(&nbsp;radio_button,&nbsp;new_state,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user_data=None)<br>
user_data&nbsp;--&nbsp;additional&nbsp;param&nbsp;for&nbsp;on_press&nbsp;callback,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ommited&nbsp;if&nbsp;None&nbsp;for&nbsp;compatibility&nbsp;reasons<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.</tt></dd></dl>

<dl><dt><a name="RadioButton-get_label"><strong>get_label</strong></a>(self)</dt><dd><tt>Return&nbsp;label&nbsp;text.</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;radio&nbsp;button.</tt></dd></dl>

<dl><dt><a name="RadioButton-keypress"><strong>keypress</strong></a>(self, (maxcol,), key)</dt><dd><tt>Set&nbsp;state&nbsp;to&nbsp;True&nbsp;on&nbsp;space&nbsp;or&nbsp;enter.</tt></dd></dl>

<dl><dt><a name="RadioButton-mouse_event"><strong>mouse_event</strong></a>(self, (maxcol,), event, button, x, y, focus)</dt><dd><tt>Set&nbsp;state&nbsp;to&nbsp;True&nbsp;on&nbsp;button&nbsp;1&nbsp;press.</tt></dd></dl>

<dl><dt><a name="RadioButton-selectable"><strong>selectable</strong></a>(self)</dt></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.</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>Call&nbsp;on_state_change&nbsp;if&nbsp;do_callback&nbsp;is&nbsp;True,<br>
then&nbsp;change&nbsp;the&nbsp;radio&nbsp;button&nbsp;state.<br>
if&nbsp;state&nbsp;is&nbsp;True&nbsp;set&nbsp;all&nbsp;other&nbsp;radio&nbsp;buttons&nbsp;in&nbsp;group&nbsp;to&nbsp;False.</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;urwid.widget.SelectableIcon object at 0x1dfe490&gt;, True: &lt;urwid.widget.SelectableIcon object at 0x1dfe410&gt;, 'mixed': &lt;urwid.widget.SelectableIcon object at 0x1dfe4d0&gt;}</dl>

<hr>
Methods inherited from WidgetWrap:<br>
<dl><dt><a name="RadioButton-__getattr__"><strong>__getattr__</strong></a>(self, name)</dt><dd><tt>Call&nbsp;self.<strong>w</strong>&nbsp;if&nbsp;name&nbsp;is&nbsp;in&nbsp;Widget&nbsp;interface&nbsp;definition.</tt></dd></dl>

<dl><dt><a name="RadioButton-get_w"><strong>get_w</strong></a>(self)</dt></dl>

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

<dl><dt><a name="RadioButton-set_w"><strong>set_w</strong></a>(self, w)</dt></dl>

<hr>
Data descriptors inherited from WidgetWrap:<br>
<dl><dt><strong>w</strong></dt>
</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>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, (maxcol, maxrow), 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, (maxcol, maxrow))</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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></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;&nbsp;&nbsp;&nbsp;&nbsp;tuple&nbsp;for&nbsp;background,&nbsp;first&nbsp;segment,&nbsp;and&nbsp;optionally<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;following&nbsp;segments.&nbsp;ie.&nbsp;len(attlist)&nbsp;==&nbsp;num&nbsp;segments+1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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;&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;on&nbsp;first&nbsp;segment,&nbsp;third&nbsp;is&nbsp;for&nbsp;lines&nbsp;on&nbsp;second&nbsp;segment<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;etc..<br>
satt&nbsp;--&nbsp;dictionary&nbsp;containing&nbsp;attributes&nbsp;for&nbsp;smoothed&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;are&nbsp;in&nbsp;the&nbsp;form:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fg,bg)&nbsp;:&nbsp;attr<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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;&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;&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;&nbsp;&nbsp;&nbsp;&nbsp;foreground&nbsp;corresponding&nbsp;to&nbsp;fg&nbsp;and&nbsp;a&nbsp;background&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;corresponding&nbsp;to&nbsp;bg.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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>
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>
<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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></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>
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="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;&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;&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;&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-render"><strong>render</strong></a> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<dl><dt><a name="ProgressBar-rows"><strong>rows</strong></a> = cached_rows(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 and other attributes defined here:<br>
<dl><dt><strong>eighths</strong> = u' <font color="#c040c0">\u258f\u258e\u258d\u258c\u258b\u258a\u2589</font>'</dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="ProgressBar-selectable"><strong>selectable</strong></a>(self)</dt></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> = cached_render(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-selectable"><strong>selectable</strong></a>(self)</dt></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="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>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;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;rendered<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;rows&nbsp;for&nbsp;the&nbsp;widget&nbsp;when&nbsp;rendered<br>
&nbsp;&nbsp;&nbsp;&nbsp;&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;&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;&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;&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;&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;&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="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-selectable"><strong>selectable</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.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="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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="BoxWidget-selectable"><strong>selectable</strong></a>(self)</dt></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="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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></dl>

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

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="FlowWidget-selectable"><strong>selectable</strong></a>(self)</dt></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="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> = cached_render(self, size, focus<font color="#909090">=False</font>)</dt></dl>

<hr>
Methods inherited from Widget:<br>
<dl><dt><a name="FixedWidget-selectable"><strong>selectable</strong></a>(self)</dt></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>

<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.util.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>

<h2>ListBox list walkers</h2><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</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>
<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;Signals.connect(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)</dt></dl>

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

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

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

<dl><dt><a name="SimpleListWalker-__imul__"><strong>__imul__</strong></a> = call_modified_wrapper(self, *args)</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)</dt></dl>

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

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

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

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

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

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

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

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

<dl><dt><a name="SimpleListWalker-sort"><strong>sort</strong></a> = call_modified_wrapper(self, *args)</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-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</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 at 0x72ce20&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.util.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>

<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;&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-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-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>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</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>, def_attr<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-set_cursor"><strong>set_cursor</strong></a>(self, c)</dt></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>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</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-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-set_cursor"><strong>set_cursor</strong></a>(self, c)</dt></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>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</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-set_cursor"><strong>set_cursor</strong></a>(self, c)</dt></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>
</dl>
<dl><dt><strong>widget_info</strong></dt>
</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>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&nbsp;<br>
columns&nbsp;to&nbsp;display&nbsp;them.&nbsp;&nbsp;<br>
&nbsp;<br>
text&nbsp;-&nbsp;text&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>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;&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>
<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>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)</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-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="HtmlGenerator-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="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_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-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>

<h2>Web Application Interface</h2><a name="web_display.is_web_request"></a><h3>function web_display.is_web_request <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-web_display.is_web_request"><strong>web_display.is_web_request</strong></a> = is_web_request()</dt><dd><tt>Return&nbsp;True&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;CGI&nbsp;web&nbsp;request.</tt></dd></dl>
<a name="web_display.set_preferences"></a><h3>function web_display.set_preferences <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-web_display.set_preferences"><strong>web_display.set_preferences</strong></a> = set_preferences(app_name, pipe_dir<font color="#909090">='/tmp'</font>, allow_polling<font color="#909090">=True</font>, max_clients<font color="#909090">=20</font>)</dt><dd><tt>Set&nbsp;web_display&nbsp;preferences.<br>
&nbsp;<br>
app_name&nbsp;--&nbsp;application&nbsp;name&nbsp;to&nbsp;appear&nbsp;in&nbsp;html&nbsp;interface<br>
pipe_dir&nbsp;--&nbsp;directory&nbsp;for&nbsp;input&nbsp;pipes,&nbsp;daemon&nbsp;update&nbsp;sockets&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;daemon&nbsp;error&nbsp;logs<br>
allow_polling&nbsp;--&nbsp;allow&nbsp;creation&nbsp;of&nbsp;daemon&nbsp;processes&nbsp;for&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;browsers&nbsp;without&nbsp;multipart&nbsp;support&nbsp;<br>
max_clients&nbsp;--&nbsp;maximum&nbsp;concurrent&nbsp;client&nbsp;connections.&nbsp;This<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool&nbsp;is&nbsp;shared&nbsp;by&nbsp;all&nbsp;urwid&nbsp;applications<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;the&nbsp;same&nbsp;pipe_dir</tt></dd></dl>
<a name="web_display.handle_short_request"></a><h3>function web_display.handle_short_request <span style="font-size:small; padding-left: 20px">[<a href="#top">back to top</a>]</span></h3><dl><dt><a name="-web_display.handle_short_request"><strong>web_display.handle_short_request</strong></a> = handle_short_request()</dt><dd><tt>Handle&nbsp;short&nbsp;requests&nbsp;such&nbsp;as&nbsp;passing&nbsp;keystrokes&nbsp;to&nbsp;the&nbsp;application<br>
or&nbsp;sending&nbsp;the&nbsp;initial&nbsp;html&nbsp;page.&nbsp;&nbsp;If&nbsp;returns&nbsp;True,&nbsp;then&nbsp;this<br>
function&nbsp;recognised&nbsp;and&nbsp;handled&nbsp;a&nbsp;short&nbsp;request,&nbsp;and&nbsp;the&nbsp;calling<br>
script&nbsp;should&nbsp;immediately&nbsp;exit.<br>
&nbsp;<br>
web_display.set_preferences(..)&nbsp;should&nbsp;be&nbsp;called&nbsp;before&nbsp;calling&nbsp;this<br>
function&nbsp;for&nbsp;the&nbsp;preferences&nbsp;to&nbsp;take&nbsp;effect</tt></dd></dl>

</body>
</html>