<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>Python: module ranger.gui.displayable</title> </head><body bgcolor="#f0f0f8"> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> <tr bgcolor="#7799ee"> <td valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.<a href="ranger.gui.html"><font color="#ffffff">gui</font></a>.displayable</strong></big></big></font></td ><td align=right valign=bottom ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/ranger/ranger/gui/displayable.py">/home/hut/ranger/ranger/gui/displayable.py</a></font></td></tr></table> <p><tt># Copyright (C) 2009, 2010 Roman Zimbelmann <romanz@lavabit.com><br> #<br> # This program is free software: you can redistribute it and/or modify<br> # it under the terms of the GNU General Public License as published by<br> # the Free Software Foundation, either version 3 of the License, or<br> # (at your option) any later version.<br> #<br> # This program is distributed in the hope that it will be useful,<br> # but WITHOUT ANY WARRANTY; without even the implied warranty of<br> # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br> # GNU General Public License for more details.<br> #<br> # You should have received a copy of the GNU General Public License<br> # along with this program. If not, see <<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>>.</tt></p> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#aa55cc"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="_curses.html">_curses</a><br> </td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ee77aa"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> <td width="100%"><dl> <dt><font face="helvetica, arial"><a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>(<a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#DisplayableContainer">DisplayableContainer</a> </font></dt></dl> </dd> </dl> </dd> <dt><font face="helvetica, arial"><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>(<a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#DisplayableContainer">DisplayableContainer</a> </font></dt></dl> </dd> </dl> </dd> <dt><font face="helvetica, arial"><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>(<a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#Displayable">Displayable</a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>) </font></dt><dd> <dl> <dt><font face="helvetica, arial"><a href="ranger.gui.displayable.html#DisplayableContainer">DisplayableContainer</a> </font></dt></dl> </dd> </dl> </dd> </dl> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="Displayable">class <strong>Displayable</strong></a>(<a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>, <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>, <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>)</font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>Displayables are objects which are displayed on the screen.<br> <br> This is just the abstract class, defining basic operations<br> such as resizing, printing, changing colors.<br> Subclasses of displayable can extend these methods:<br> <br> <a href="#Displayable-draw">draw</a>() -- draw the object. Is only called if visible.<br> <a href="#Displayable-poke">poke</a>() -- is called just before <a href="#Displayable-draw">draw</a>(), even if not visible.<br> <a href="#Displayable-finalize">finalize</a>() -- called after all objects finished drawing.<br> <a href="#Displayable-click">click</a>(event) -- called with a MouseEvent. This is called on all<br> visible objects under the mouse, until one returns True.<br> <a href="#Displayable-press">press</a>(key) -- called after a key press on focused objects.<br> <a href="#Displayable-destroy">destroy</a>() -- called before destroying the displayable object<br> <br> Additionally, there are these methods:<br> <br> <a href="#Displayable-__contains__">__contains__</a>(item) -- is the item (y, x) inside the widget?<br> <br> These attributes are set:<br> <br> Modifiable:<br> focused -- Focused objects receive <a href="#Displayable-press">press</a>() calls.<br> visible -- Visible objects receive <a href="#Displayable-draw">draw</a>() and <a href="#Displayable-finalize">finalize</a>() calls<br> need_redraw -- Should the widget be redrawn? This variable may<br> be set at various places in the script and should eventually be<br> handled (and unset) in the <a href="#Displayable-draw">draw</a>() method.<br> <br> Read-Only: (i.e. reccomended not to change manually)<br> win -- the own curses window object<br> parent -- the parent (<a href="#DisplayableContainer">DisplayableContainer</a>) object or None<br> x, y, wid, hei -- absolute coordinates and boundaries<br> settings, fm, env -- inherited shared variables<br> </tt></td></tr> <tr><td> </td> <td width="100%"><dl><dt>Method resolution order:</dt> <dd><a href="ranger.gui.displayable.html#Displayable">Displayable</a></dd> <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a></dd> <dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd> <dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd> <dd><a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd> <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd> <dd><a href="__builtin__.html#object">__builtin__.object</a></dd> </dl> <hr> Methods defined here:<br> <dl><dt><a name="Displayable-__bool__"><strong>__bool__</strong></a> = <a href="#Displayable-__nonzero__">__nonzero__</a>(self)</dt></dl> <dl><dt><a name="Displayable-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is item inside the boundaries?<br> item can be an iterable like [y, x] or an object with x and y methods.</tt></dd></dl> <dl><dt><a name="Displayable-__init__"><strong>__init__</strong></a>(self, win, env<font color="#909090">=None</font>, fm<font color="#909090">=None</font>, settings<font color="#909090">=None</font>)</dt></dl> <dl><dt><a name="Displayable-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always True</tt></dd></dl> <dl><dt><a name="Displayable-__str__"><strong>__str__</strong></a>(self)</dt></dl> <dl><dt><a name="Displayable-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Called when a mouse key is pressed and self.<strong>focused</strong> is True.<br> Override this!</tt></dd></dl> <dl><dt><a name="Displayable-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test whether the point (with absolute coordinates) lies<br> within the boundaries of this object.</tt></dd></dl> <dl><dt><a name="Displayable-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Called when the object is destroyed.<br> Override this!</tt></dd></dl> <dl><dt><a name="Displayable-draw"><strong>draw</strong></a>(self)</dt><dd><tt>Draw the object. Called on every main iteration if visible.<br> Containers should call <a href="#Displayable-draw">draw</a>() on their contained objects here.<br> Override this!</tt></dd></dl> <dl><dt><a name="Displayable-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Called after every displayable is done drawing.<br> Override this!</tt></dd></dl> <dl><dt><a name="Displayable-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Called before drawing, even if invisible</tt></dd></dl> <dl><dt><a name="Displayable-press"><strong>press</strong></a>(self, key)</dt><dd><tt>Called when a key is pressed and self.<strong>focused</strong> is True.<br> Override this!</tt></dd></dl> <dl><dt><a name="Displayable-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize the widget</tt></dd></dl> <hr> Data and other attributes inherited from <a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>:<br> <dl><dt><strong>env</strong> = None</dl> <hr> Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br> <dl><dt><strong>fm</strong> = None</dl> <hr> Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br> <dl><dt><strong>__dict__</strong></dt> <dd><tt>dictionary for instance variables (if defined)</tt></dd> </dl> <dl><dt><strong>__weakref__</strong></dt> <dd><tt>list of weak references to the object (if defined)</tt></dd> </dl> <hr> Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br> <dl><dt><a name="Displayable-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl> <dl><dt><a name="Displayable-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl> <dl><dt><a name="Displayable-color"><strong>color</strong></a>(self, *keys)</dt><dd><tt>Change the colors from now on.</tt></dd></dl> <dl><dt><a name="Displayable-color_at"><strong>color_at</strong></a>(self, y, x, wid, *keys)</dt><dd><tt>Change the colors at the specified position</tt></dd></dl> <dl><dt><a name="Displayable-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change the colors to the default colors</tt></dd></dl> <hr> Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br> <dl><dt><strong>settings</strong> = {}</dl> </td></tr></table> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="DisplayableContainer">class <strong>DisplayableContainer</strong></a>(<a href="ranger.gui.displayable.html#Displayable">Displayable</a>)</font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>DisplayableContainers are Displayables which contain other Displayables.<br> <br> This is also an abstract class. The methods draw, poke, finalize,<br> click, press and destroy are extended here and will recursively<br> call the function on all contained objects.<br> <br> New methods:<br> <br> <a href="#DisplayableContainer-add_child">add_child</a>(object) -- add the object to the container.<br> <a href="#DisplayableContainer-remove_child">remove_child</a>(object) -- remove the object from the container.<br> <br> New attributes:<br> <br> container -- a list with all contained objects (rw)<br> </tt></td></tr> <tr><td> </td> <td width="100%"><dl><dt>Method resolution order:</dt> <dd><a href="ranger.gui.displayable.html#DisplayableContainer">DisplayableContainer</a></dd> <dd><a href="ranger.gui.displayable.html#Displayable">Displayable</a></dd> <dd><a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a></dd> <dd><a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a></dd> <dd><a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a></dd> <dd><a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a></dd> <dd><a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a></dd> <dd><a href="__builtin__.html#object">__builtin__.object</a></dd> </dl> <hr> Methods defined here:<br> <dl><dt><a name="DisplayableContainer-__init__"><strong>__init__</strong></a>(self, win, env<font color="#909090">=None</font>, fm<font color="#909090">=None</font>, settings<font color="#909090">=None</font>)</dt></dl> <dl><dt><a name="DisplayableContainer-add_child"><strong>add_child</strong></a>(self, obj)</dt><dd><tt>Add the objects to the container.</tt></dd></dl> <dl><dt><a name="DisplayableContainer-click"><strong>click</strong></a>(self, event)</dt><dd><tt>Recursively called on objects in container</tt></dd></dl> <dl><dt><a name="DisplayableContainer-destroy"><strong>destroy</strong></a>(self)</dt><dd><tt>Recursively called on objects in container</tt></dd></dl> <dl><dt><a name="DisplayableContainer-draw"><strong>draw</strong></a>(self)</dt><dd><tt>Recursively called on visible objects in container</tt></dd></dl> <dl><dt><a name="DisplayableContainer-finalize"><strong>finalize</strong></a>(self)</dt><dd><tt>Recursively called on visible objects in container</tt></dd></dl> <dl><dt><a name="DisplayableContainer-poke"><strong>poke</strong></a>(self)</dt><dd><tt>Recursively called on objects in container</tt></dd></dl> <dl><dt><a name="DisplayableContainer-press"><strong>press</strong></a>(self, key)</dt><dd><tt>Recursively called on objects in container</tt></dd></dl> <dl><dt><a name="DisplayableContainer-remove_child"><strong>remove_child</strong></a>(self, obj)</dt><dd><tt>Remove the object from the container.</tt></dd></dl> <hr> Methods inherited from <a href="ranger.gui.displayable.html#Displayable">Displayable</a>:<br> <dl><dt><a name="DisplayableContainer-__bool__"><strong>__bool__</strong></a> = __nonzero__(self)</dt><dd><tt>Always True</tt></dd></dl> <dl><dt><a name="DisplayableContainer-__contains__"><strong>__contains__</strong></a>(self, item)</dt><dd><tt>Is item inside the boundaries?<br> item can be an iterable like [y, x] or an object with x and y methods.</tt></dd></dl> <dl><dt><a name="DisplayableContainer-__nonzero__"><strong>__nonzero__</strong></a>(self)</dt><dd><tt>Always True</tt></dd></dl> <dl><dt><a name="DisplayableContainer-__str__"><strong>__str__</strong></a>(self)</dt></dl> <dl><dt><a name="DisplayableContainer-contains_point"><strong>contains_point</strong></a>(self, y, x)</dt><dd><tt>Test whether the point (with absolute coordinates) lies<br> within the boundaries of this object.</tt></dd></dl> <dl><dt><a name="DisplayableContainer-resize"><strong>resize</strong></a>(self, y, x, hei<font color="#909090">=None</font>, wid<font color="#909090">=None</font>)</dt><dd><tt>Resize the widget</tt></dd></dl> <hr> Data and other attributes inherited from <a href="ranger.shared.html#EnvironmentAware">ranger.shared.EnvironmentAware</a>:<br> <dl><dt><strong>env</strong> = None</dl> <hr> Data and other attributes inherited from <a href="ranger.shared.html#FileManagerAware">ranger.shared.FileManagerAware</a>:<br> <dl><dt><strong>fm</strong> = None</dl> <hr> Data descriptors inherited from <a href="ranger.shared.html#Awareness">ranger.shared.Awareness</a>:<br> <dl><dt><strong>__dict__</strong></dt> <dd><tt>dictionary for instance variables (if defined)</tt></dd> </dl> <dl><dt><strong>__weakref__</strong></dt> <dd><tt>list of weak references to the object (if defined)</tt></dd> </dl> <hr> Methods inherited from <a href="ranger.gui.curses_shortcuts.html#CursesShortcuts">ranger.gui.curses_shortcuts.CursesShortcuts</a>:<br> <dl><dt><a name="DisplayableContainer-addnstr"><strong>addnstr</strong></a>(self, *args)</dt></dl> <dl><dt><a name="DisplayableContainer-addstr"><strong>addstr</strong></a>(self, *args)</dt></dl> <dl><dt><a name="DisplayableContainer-color"><strong>color</strong></a>(self, *keys)</dt><dd><tt>Change the colors from now on.</tt></dd></dl> <dl><dt><a name="DisplayableContainer-color_at"><strong>color_at</strong></a>(self, y, x, wid, *keys)</dt><dd><tt>Change the colors at the specified position</tt></dd></dl> <dl><dt><a name="DisplayableContainer-color_reset"><strong>color_reset</strong></a>(self)</dt><dd><tt>Change the colors to the default colors</tt></dd></dl> <hr> Data and other attributes inherited from <a href="ranger.shared.settings.html#SettingsAware">ranger.shared.settings.SettingsAware</a>:<br> <dl><dt><strong>settings</strong> = {}</dl> </td></tr></table></td></tr></table> </body></html>