Lumpy
index
/home/downey/swampy/trunk/python2/Lumpy.py

This module is part of Swampy, a suite of programs available from
allendowney.com/swampy.
 
Copyright 2010 Allen B. Downey
Distributed under the GNU General Public License at gnu.org/licenses/gpl.html.
 
 
UML diagrams for Python
 
Lumpy generates UML diagrams (currently object and class diagrams)
from a running Python program. It is similar to a graphical debugger
in the sense that it generates a visualization of the state of a
running program, but it is different from a debugger in the sense that
it tries to generate high-level visualizations that are compliant (at
least in spirit) with standard UML.
 
There are three target audiences for this module: teachers, students
and software engineers. Teachers can use Lumpy to generate figures
that demonstrate a model of the execution of a Python
program. Students can use Lumpy to explore the behavior of the Python
interpreter. Software engineers can use Lumpy to extract the structure
of existing programs by diagramming the relationships among the
classes, including classes defined in libraries and the Python
interpreter.

 
Modules
       
Tkinter
Tkinter
inspect
sys

 
Classes
       
Gui.Gui(Tkinter.Tk)
Lumpy
Gui.GuiCanvas(Tkinter.Canvas)
DiagCanvas
__builtin__.object
Diagram
ClassDiagram
ObjectDiagram
MakeTag
Snapframe
Snapshot
Thing
Arrow
ContainsArrow
ParentArrow
ReferenceArrow
Binding
ClassDiagramClass
Dot
Mapping
Frame
Instance
Class
Sequence
Simple
Index
Stack

 
class Arrow(Thing)
    Parent class for arrows.
 
 
Method resolution order:
Arrow
Thing
__builtin__.object

Methods defined here:
update(self)
Redraws this arrow after something moves.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
drawme(self, diag, pos, flip, tags)
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Binding(Thing)
    Represents the binding between a key or variable and a value.
 
 
Method resolution order:
Binding
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, key, val)
draw_key(self, diag, pos, flip, tags)
Draws a reference to a previously-drawn key.
 
(Rather than drawing the key inside the mapping.)
drawme(self, diag, pos, flip, tags=())
Draws the Thing.
rebind(self, val)
Add to the list of values.
 
I don't remember what this is for and it is not in current use.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Class(Instance)
    Represents a Class.
 
Inherits from Instance, which controls how a Class appears in an
object diagram, and contains a ClassDiagramClass, which
controls how the Class appears in a class diagram.
 
 
Method resolution order:
Class
Instance
Mapping
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, classobj)
add_child(self, child)
Adds a child.
 
When a subclass is created, it notifies its parent
classes, who update their list of children.
add_hasa(self, child, n=1)
Increment the reference count from this class to a child.
add_ivar(self, var)
Adds to the set of instance variables for this class.
set_depth(self)
Compute the maximum depth between this class and a root class.
 
(A root class has no parent)
Sets the depth attribute.
set_height(self)
Computes the maximum height between this class and a leaf class.
 
(A leaf class has no children)
Sets the height attribute.

Methods inherited from Instance:
scan_bindings(self, cls)
Look for references to other types.
 
Invokes add_ivar and add_hasa on cls.
Records the names of the instance variables.
 
Args:
    cls: is the Class of the object that contains this mapping.

Methods inherited from Mapping:
drawme(self, diag, pos, flip, tags=())
Draws the Thing.
get_bbox(self)
Gets the bounding box for this Mapping.
 
The bbox of a Mapping is the bbox of its box item.
This is different from other Things.
scan_val(self, cls, val)
Looks for references to other types.
 
If we find a reference to an object type, make a note
of the HAS-A relationship.  If we find a reference to a
container type, scan it for references.
 
Args:
    cls: is the Class of the object that contains this mapping.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class ClassDiagram(Diagram)
    Represents a class diagram.
 
 
Method resolution order:
ClassDiagram
Diagram
__builtin__.object

Methods defined here:
__init__(self, lumpy, classes=None)
draw(self)
Draw the class diagram.
 
Includes the classes in self.classes,
or if there are none, then all the classes Lumpy has seen.
draw_classes(self, classes, pos, tags=())
Draw this list of classes and all their subclasses.
 
Starts at the given position.
 
Returns:
    list of all classes drawn

Methods inherited from Diagram:
add_arrow(self, arrow)
append a new arrow on the list
ca(self, width=100, height=100, **options)
make a canvas for the diagram
close(self)
close the window and exit
draw_arrows(self)
draw all the arrows on the list
printfile(self, filename)
Dumps the contents of the canvas to a file.
 
filename: string output file name
printfile_callback(self, event=None)
Dumps the contents of the canvas to a file.
 
Gets the filename from the filename entry.
setup(self)
create the gui for the diagram
update_arrows(self, n=None)
update up to n arrows (or all of them is n==None)

Data descriptors inherited from Diagram:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class ClassDiagramClass(Thing)
    Represents a class as it appears in a class diagram.
 
 
Method resolution order:
ClassDiagramClass
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, classobj)
arrow_head(self, diag, bbox, tags, size=0.5)
Draws the hollow arrow head.
 
Connects this class to classes that inherit from it.
drawme(self, diag, pos, flip, tags=())
Draws the Thing.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class ContainsArrow(Arrow)
    Represents a contains arrow.
 
Shows a has-a relationship between classes in a class diagram.
 
 
Method resolution order:
ContainsArrow
Arrow
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, parent, child, **options)
draw(self, diag)
Draw the Thing.
 
Overrides draw() rather than drawme() because arrows can't
be dragged and dropped.

Methods inherited from Arrow:
update(self)
Redraws this arrow after something moves.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
drawme(self, diag, pos, flip, tags)
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class DiagCanvas(Gui.GuiCanvas)
    Canvas for displaying Diagrams.
 
 
Method resolution order:
DiagCanvas
Gui.GuiCanvas
Tkinter.Canvas
Tkinter.Widget
Tkinter.BaseWidget
Tkinter.Misc
Tkinter.Pack
Tkinter.Place
Tkinter.Grid
Tkinter.XView
Tkinter.YView

Methods defined here:
arrow(self, start, end, **options)
Draws an arrow.
 
Args:
    start: Point or coordinate pair.
    end: Point or coordinate pair.
box(self, box, padx=0.4, pady=0.2, **options)
Draws a rectangle with the given bounding box.
 
Args:
    box: BBox object or list of coordinate pairs.
    padx, pady: padding
dot(self, pos, r=0.2, **options)
Draws a dot at the given position with radius r.
measure(self, t, **options)
Finds the bounding box of the list of words.
 
Draws the text, measures them, and then deletes them.
offset_text(self, pos, text, dx=0, dy=0, **options)
Draws the given text at the given position.
 
Args:
    pos: Point or coordinate pair
    text: string
    dx, dy: offset

Methods inherited from Gui.GuiCanvas:
__init__(self, w, scale=[1, 1], transforms=None, **options)
add_transform(self, transform, index=None)
Add a transform.
 
Args:
    transform: Transform object
    index: where in the list to insert it; appending is the default.
arc(self, coords, start=0, extent=90, fill='', **options)
Makes an arc item.
 
with bounding box (coords), sweeping out angle
(extent) starting at (start) both in degrees.
bbox(self, item)
Compute the bounding box of the given item.
 
Transforms from pixel coordinates to canvas coordinates.
 
Args:
    item: tag of a canvas item
 
Returns:
    Bbox object in canvas coordinates.
bitmap(self, coord, bitmap, **options)
Makes a bitmap item.
 
with the given bitmap at the given position.
The default anchor is center.
canvas_coords(self, coords)
Convert a position from pixel coordinates to Canvas coordinates.
 
Args:
    coords: Point object or list of coordinates.
canvas_itemcoords(self, item, coords=None)
Gets and sets item coordinates, with translation.
 
Args:
    item: tag of a canvas item
    coords: Point object or list of coordinates
circle(self, coord, r, fill='', **options)
Makes a circle.
 
with center at (x, y) and radius (r)
clear(self)
Deletes all items on the canvas.
clear_transforms(self)
Removes all existing transforms.
dump(self, filename='canvas.eps')
Create a PostScipt file and dumps the contents of the canvas.
get_height(self)
Gets the nominal height of this canvas.
get_width(self)
Gets the nominal width of this canvas.
image(self, coord, image, **options)
Makes an image item.
 
with the given image at the given position.
The default anchor is center.
invert(self, coords)
Applies the inverse of each transforms, in reverse order.
line(self, coords, fill='black', **options)
Makes a polyline.
 
with vertices at each point in (coords)
and pen color (fill).
move(self, item, dx, dy, transform=False)
Moves an item on the canvas.
 
Args:
    item: string tag of a canvas item
    dx: distance to move on the x axis
    dy: distance to move on the y axis
    transform: boolean, whether to transform dx, dy
oval(self, coords, fill='', **options)
Makes an oval.
 
with bounding box (coords) and fill color (fill)
polygon(self, coords, fill='', **options)
Makes a closed polygon.
 
with vertices at each point in (coords)
and fill color (fill).
rectangle(self, coords, fill='', **options)
Makes an oval.
 
with bounding box (coords) and fill color (fill)
scroll_config(self, tag='all')
Configure the canvas so the scroll region covers the given tag.
text(self, coord, text='', fill='black', **options)
Makes a text item.
 
with the given text and fill color.
The default anchor is center.
trans(self, coords)
Applies each of the transforms for this canvas, in order.
translate_event(self, event)
Translates event strings into a canonical form.
 
Args:
    event: Tkinter event string
 
Returns:
    Tkinter event string
window(self, coord, widget, **options)
Embeds a window (widget) in the canvas at the given coord.

Data descriptors inherited from Gui.GuiCanvas:
height
Gets the nominal height of this canvas.
width
Gets the nominal width of this canvas.

Methods inherited from Tkinter.Canvas:
addtag(self, *args)
Internal function.
addtag_above(self, newtag, tagOrId)
Add tag NEWTAG to all items above TAGORID.
addtag_all(self, newtag)
Add tag NEWTAG to all items.
addtag_below(self, newtag, tagOrId)
Add tag NEWTAG to all items below TAGORID.
addtag_closest(self, newtag, x, y, halo=None, start=None)
Add tag NEWTAG to item which is closest to pixel at X, Y.
If several match take the top-most.
All items closer than HALO are considered overlapping (all are
closests). If START is specified the next below this tag is taken.
addtag_enclosed(self, newtag, x1, y1, x2, y2)
Add tag NEWTAG to all items in the rectangle defined
by X1,Y1,X2,Y2.
addtag_overlapping(self, newtag, x1, y1, x2, y2)
Add tag NEWTAG to all items which overlap the rectangle
defined by X1,Y1,X2,Y2.
addtag_withtag(self, newtag, tagOrId)
Add tag NEWTAG to all items with TAGORID.
canvasx(self, screenx, gridspacing=None)
Return the canvas x coordinate of pixel position SCREENX rounded
to nearest multiple of GRIDSPACING units.
canvasy(self, screeny, gridspacing=None)
Return the canvas y coordinate of pixel position SCREENY rounded
to nearest multiple of GRIDSPACING units.
coords(self, *args)
Return a list of coordinates for the item given in ARGS.
create_arc(self, *args, **kw)
Create arc shaped region with coordinates x1,y1,x2,y2.
create_bitmap(self, *args, **kw)
Create bitmap with coordinates x1,y1.
create_image(self, *args, **kw)
Create image item with coordinates x1,y1.
create_line(self, *args, **kw)
Create line with coordinates x1,y1,...,xn,yn.
create_oval(self, *args, **kw)
Create oval with coordinates x1,y1,x2,y2.
create_polygon(self, *args, **kw)
Create polygon with coordinates x1,y1,...,xn,yn.
create_rectangle(self, *args, **kw)
Create rectangle with coordinates x1,y1,x2,y2.
create_text(self, *args, **kw)
Create text with coordinates x1,y1.
create_window(self, *args, **kw)
Create window with coordinates x1,y1,x2,y2.
dchars(self, *args)
Delete characters of text items identified by tag or id in ARGS (possibly
several times) from FIRST to LAST character (including).
delete(self, *args)
Delete items identified by all tag or ids contained in ARGS.
dtag(self, *args)
Delete tag or id given as last arguments in ARGS from items
identified by first argument in ARGS.
find(self, *args)
Internal function.
find_above(self, tagOrId)
Return items above TAGORID.
find_all(self)
Return all items.
find_below(self, tagOrId)
Return all items below TAGORID.
find_closest(self, x, y, halo=None, start=None)
Return item which is closest to pixel at X, Y.
If several match take the top-most.
All items closer than HALO are considered overlapping (all are
closests). If START is specified the next below this tag is taken.
find_enclosed(self, x1, y1, x2, y2)
Return all items in rectangle defined
by X1,Y1,X2,Y2.
find_overlapping(self, x1, y1, x2, y2)
Return all items which overlap the rectangle
defined by X1,Y1,X2,Y2.
find_withtag(self, tagOrId)
Return all items with TAGORID.
focus(self, *args)
Set focus to the first item specified in ARGS.
gettags(self, *args)
Return tags associated with the first item specified in ARGS.
icursor(self, *args)
Set cursor at position POS in the item identified by TAGORID.
In ARGS TAGORID must be first.
index(self, *args)
Return position of cursor as integer in item specified in ARGS.
insert(self, *args)
Insert TEXT in item TAGORID at position POS. ARGS must
be TAGORID POS TEXT.
itemcget(self, tagOrId, option)
Return the resource value for an OPTION for item TAGORID.
itemconfig = itemconfigure(self, tagOrId, cnf=None, **kw)
Configure resources of an item TAGORID.
 
The values for resources are specified as keyword
arguments. To get an overview about
the allowed keyword arguments call the method without arguments.
itemconfigure(self, tagOrId, cnf=None, **kw)
Configure resources of an item TAGORID.
 
The values for resources are specified as keyword
arguments. To get an overview about
the allowed keyword arguments call the method without arguments.
lift = tag_raise(self, *args)
Raise an item TAGORID given in ARGS
(optional above another item).
lower = tag_lower(self, *args)
Lower an item TAGORID given in ARGS
(optional below another item).
postscript(self, cnf={}, **kw)
Print the contents of the canvas to a postscript
file. Valid options: colormap, colormode, file, fontmap,
height, pageanchor, pageheight, pagewidth, pagex, pagey,
rotate, witdh, x, y.
scale(self, *args)
Scale item TAGORID with XORIGIN, YORIGIN, XSCALE, YSCALE.
scan_dragto(self, x, y, gain=10)
Adjust the view of the canvas to GAIN times the
difference between X and Y and the coordinates given in
scan_mark.
scan_mark(self, x, y)
Remember the current X, Y coordinates.
select_adjust(self, tagOrId, index)
Adjust the end of the selection near the cursor of an item TAGORID to index.
select_clear(self)
Clear the selection if it is in this widget.
select_from(self, tagOrId, index)
Set the fixed end of a selection in item TAGORID to INDEX.
select_item(self)
Return the item which has the selection.
select_to(self, tagOrId, index)
Set the variable end of a selection in item TAGORID to INDEX.
tag_bind(self, tagOrId, sequence=None, func=None, add=None)
Bind to all items with TAGORID at event SEQUENCE a call to function FUNC.
 
An additional boolean parameter ADD specifies whether FUNC will be
called additionally to the other bound function or whether it will
replace the previous function. See bind for the return value.
tag_lower(self, *args)
Lower an item TAGORID given in ARGS
(optional below another item).
tag_raise(self, *args)
Raise an item TAGORID given in ARGS
(optional above another item).
tag_unbind(self, tagOrId, sequence, funcid=None)
Unbind for all items with TAGORID for event SEQUENCE  the
function identified with FUNCID.
tkraise = tag_raise(self, *args)
Raise an item TAGORID given in ARGS
(optional above another item).
type(self, tagOrId)
Return the type of the item TAGORID.

Methods inherited from Tkinter.BaseWidget:
destroy(self)
Destroy this and all descendants widgets.

Methods inherited from Tkinter.Misc:
__contains__(self, key)
__getitem__ = cget(self, key)
Return the resource value for a KEY given as string.
__setitem__(self, key, value)
__str__(self)
Return the window path name of this widget.
after(self, ms, func=None, *args)
Call function once after given time.
 
MS specifies the time in milliseconds. FUNC gives the
function which shall be called. Additional parameters
are given as parameters to the function call.  Return
identifier to cancel scheduling with after_cancel.
after_cancel(self, id)
Cancel scheduling of function identified with ID.
 
Identifier returned by after or after_idle must be
given as first parameter.
after_idle(self, func, *args)
Call FUNC once if the Tcl main loop has no event to
process.
 
Return an identifier to cancel the scheduling with
after_cancel.
bell(self, displayof=0)
Ring a display's bell.
bind(self, sequence=None, func=None, add=None)
Bind to this widget at event SEQUENCE a call to function FUNC.
 
SEQUENCE is a string of concatenated event
patterns. An event pattern is of the form
<MODIFIER-MODIFIER-TYPE-DETAIL> where MODIFIER is one
of Control, Mod2, M2, Shift, Mod3, M3, Lock, Mod4, M4,
Button1, B1, Mod5, M5 Button2, B2, Meta, M, Button3,
B3, Alt, Button4, B4, Double, Button5, B5 Triple,
Mod1, M1. TYPE is one of Activate, Enter, Map,
ButtonPress, Button, Expose, Motion, ButtonRelease
FocusIn, MouseWheel, Circulate, FocusOut, Property,
Colormap, Gravity Reparent, Configure, KeyPress, Key,
Unmap, Deactivate, KeyRelease Visibility, Destroy,
Leave and DETAIL is the button number for ButtonPress,
ButtonRelease and DETAIL is the Keysym for KeyPress and
KeyRelease. Examples are
<Control-Button-1> for pressing Control and mouse button 1 or
<Alt-A> for pressing A and the Alt key (KeyPress can be omitted).
An event pattern can also be a virtual event of the form
<<AString>> where AString can be arbitrary. This
event can be generated by event_generate.
If events are concatenated they must appear shortly
after each other.
 
FUNC will be called if the event sequence occurs with an
instance of Event as argument. If the return value of FUNC is
"break" no further bound function is invoked.
 
An additional boolean parameter ADD specifies whether FUNC will
be called additionally to the other bound function or whether
it will replace the previous function.
 
Bind will return an identifier to allow deletion of the bound function with
unbind without memory leak.
 
If FUNC or SEQUENCE is omitted the bound function or list
of bound events are returned.
bind_all(self, sequence=None, func=None, add=None)
Bind to all widgets at an event SEQUENCE a call to function FUNC.
An additional boolean parameter ADD specifies whether FUNC will
be called additionally to the other bound function or whether
it will replace the previous function. See bind for the return value.
bind_class(self, className, sequence=None, func=None, add=None)
Bind to widgets with bindtag CLASSNAME at event
SEQUENCE a call of function FUNC. An additional
boolean parameter ADD specifies whether FUNC will be
called additionally to the other bound function or
whether it will replace the previous function. See bind for
the return value.
bindtags(self, tagList=None)
Set or get the list of bindtags for this widget.
 
With no argument return the list of all bindtags associated with
this widget. With a list of strings as argument the bindtags are
set to this list. The bindtags determine in which order events are
processed (see bind).
cget(self, key)
Return the resource value for a KEY given as string.
clipboard_append(self, string, **kw)
Append STRING to the Tk clipboard.
 
A widget specified at the optional displayof keyword
argument specifies the target display. The clipboard
can be retrieved with selection_get.
clipboard_clear(self, **kw)
Clear the data in the Tk clipboard.
 
A widget specified for the optional displayof keyword
argument specifies the target display.
clipboard_get(self, **kw)
Retrieve data from the clipboard on window's display.
 
The window keyword defaults to the root window of the Tkinter
application.
 
The type keyword specifies the form in which the data is
to be returned and should be an atom name such as STRING
or FILE_NAME.  Type defaults to STRING, except on X11, where the default
is to try UTF8_STRING and fall back to STRING.
 
This command is equivalent to:
 
selection_get(CLIPBOARD)
colormodel(self, value=None)
Useless. Not implemented in Tk.
columnconfigure = grid_columnconfigure(self, index, cnf={}, **kw)
Configure column INDEX of a grid.
 
Valid resources are minsize (minimum size of the column),
weight (how much does additional space propagate to this column)
and pad (how much space to let additionally).
config = configure(self, cnf=None, **kw)
Configure resources of a widget.
 
The values for resources are specified as keyword
arguments. To get an overview about
the allowed keyword arguments call the method keys.
configure(self, cnf=None, **kw)
Configure resources of a widget.
 
The values for resources are specified as keyword
arguments. To get an overview about
the allowed keyword arguments call the method keys.
deletecommand(self, name)
Internal function.
 
Delete the Tcl command provided in NAME.
event_add(self, virtual, *sequences)
Bind a virtual event VIRTUAL (of the form <<Name>>)
to an event SEQUENCE such that the virtual event is triggered
whenever SEQUENCE occurs.
event_delete(self, virtual, *sequences)
Unbind a virtual event VIRTUAL from SEQUENCE.
event_generate(self, sequence, **kw)
Generate an event SEQUENCE. Additional
keyword arguments specify parameter of the event
(e.g. x, y, rootx, rooty).
event_info(self, virtual=None)
Return a list of all virtual events or the information
about the SEQUENCE bound to the virtual event VIRTUAL.
focus_displayof(self)
Return the widget which has currently the focus on the
display where this widget is located.
 
Return None if the application does not have the focus.
focus_force(self)
Direct input focus to this widget even if the
application does not have the focus. Use with
caution!
focus_get(self)
Return the widget which has currently the focus in the
application.
 
Use focus_displayof to allow working with several
displays. Return None if application does not have
the focus.
focus_lastfor(self)
Return the widget which would have the focus if top level
for this widget gets the focus from the window manager.
focus_set(self)
Direct input focus to this widget.
 
If the application currently does not have the focus
this widget will get the focus if the application gets
the focus through the window manager.
getboolean(self, s)
Return a boolean value for Tcl boolean values true and false given as parameter.
getvar(self, name='PY_VAR')
Return value of Tcl variable NAME.
grab_current(self)
Return widget which has currently the grab in this application
or None.
grab_release(self)
Release grab for this widget if currently set.
grab_set(self)
Set grab for this widget.
 
A grab directs all events to this and descendant
widgets in the application.
grab_set_global(self)
Set global grab for this widget.
 
A global grab directs all events to this and
descendant widgets on the display. Use with caution -
other applications do not get events anymore.
grab_status(self)
Return None, "local" or "global" if this widget has
no, a local or a global grab.
grid_bbox(self, column=None, row=None, col2=None, row2=None)
Return a tuple of integer coordinates for the bounding
box of this widget controlled by the geometry manager grid.
 
If COLUMN, ROW is given the bounding box applies from
the cell with row and column 0 to the specified
cell. If COL2 and ROW2 are given the bounding box
starts at that cell.
 
The returned integers specify the offset of the upper left
corner in the master widget and the width and height.
grid_columnconfigure(self, index, cnf={}, **kw)
Configure column INDEX of a grid.
 
Valid resources are minsize (minimum size of the column),
weight (how much does additional space propagate to this column)
and pad (how much space to let additionally).
grid_location(self, x, y)
Return a tuple of column and row which identify the cell
at which the pixel at position X and Y inside the master
widget is located.
grid_propagate(self, flag=['_noarg_'])
Set or get the status for propagation of geometry information.
 
A boolean argument specifies whether the geometry information
of the slaves will determine the size of this widget. If no argument
is given, the current setting will be returned.
grid_rowconfigure(self, index, cnf={}, **kw)
Configure row INDEX of a grid.
 
Valid resources are minsize (minimum size of the row),
weight (how much does additional space propagate to this row)
and pad (how much space to let additionally).
grid_size(self)
Return a tuple of the number of column and rows in the grid.
grid_slaves(self, row=None, column=None)
Return a list of all slaves of this widget
in its packing order.
image_names(self)
Return a list of all existing image names.
image_types(self)
Return a list of all available image types (e.g. phote bitmap).
keys(self)
Return a list of all resource names of this widget.
mainloop(self, n=0)
Call the mainloop of Tk.
nametowidget(self, name)
Return the Tkinter instance of a widget identified by
its Tcl name NAME.
option_add(self, pattern, value, priority=None)
Set a VALUE (second parameter) for an option
PATTERN (first parameter).
 
An optional third parameter gives the numeric priority
(defaults to 80).
option_clear(self)
Clear the option database.
 
It will be reloaded if option_add is called.
option_get(self, name, className)
Return the value for an option NAME for this widget
with CLASSNAME.
 
Values with higher priority override lower values.
option_readfile(self, fileName, priority=None)
Read file FILENAME into the option database.
 
An optional second parameter gives the numeric
priority.
pack_propagate(self, flag=['_noarg_'])
Set or get the status for propagation of geometry information.
 
A boolean argument specifies whether the geometry information
of the slaves will determine the size of this widget. If no argument
is given the current setting will be returned.
pack_slaves(self)
Return a list of all slaves of this widget
in its packing order.
place_slaves(self)
Return a list of all slaves of this widget
in its packing order.
propagate = pack_propagate(self, flag=['_noarg_'])
Set or get the status for propagation of geometry information.
 
A boolean argument specifies whether the geometry information
of the slaves will determine the size of this widget. If no argument
is given the current setting will be returned.
quit(self)
Quit the Tcl interpreter. All widgets will be destroyed.
register = _register(self, func, subst=None, needcleanup=1)
Return a newly created Tcl function. If this
function is called, the Python function FUNC will
be executed. An optional function SUBST can
be given which will be executed before FUNC.
rowconfigure = grid_rowconfigure(self, index, cnf={}, **kw)
Configure row INDEX of a grid.
 
Valid resources are minsize (minimum size of the row),
weight (how much does additional space propagate to this row)
and pad (how much space to let additionally).
selection_clear(self, **kw)
Clear the current X selection.
selection_get(self, **kw)
Return the contents of the current X selection.
 
A keyword parameter selection specifies the name of
the selection and defaults to PRIMARY.  A keyword
parameter displayof specifies a widget on the display
to use. A keyword parameter type specifies the form of data to be
fetched, defaulting to STRING except on X11, where UTF8_STRING is tried
before STRING.
selection_handle(self, command, **kw)
Specify a function COMMAND to call if the X
selection owned by this widget is queried by another
application.
 
This function must return the contents of the
selection. The function will be called with the
arguments OFFSET and LENGTH which allows the chunking
of very long selections. The following keyword
parameters can be provided:
selection - name of the selection (default PRIMARY),
type - type of the selection (e.g. STRING, FILE_NAME).
selection_own(self, **kw)
Become owner of X selection.
 
A keyword parameter selection specifies the name of
the selection (default PRIMARY).
selection_own_get(self, **kw)
Return owner of X selection.
 
The following keyword parameter can
be provided:
selection - name of the selection (default PRIMARY),
type - type of the selection (e.g. STRING, FILE_NAME).
send(self, interp, cmd, *args)
Send Tcl command CMD to different interpreter INTERP to be executed.
setvar(self, name='PY_VAR', value='1')
Set Tcl variable NAME to VALUE.
size = grid_size(self)
Return a tuple of the number of column and rows in the grid.
slaves = pack_slaves(self)
Return a list of all slaves of this widget
in its packing order.
tk_bisque(self)
Change the color scheme to light brown as used in Tk 3.6 and before.
tk_focusFollowsMouse(self)
The widget under mouse will get automatically focus. Can not
be disabled easily.
tk_focusNext(self)
Return the next widget in the focus order which follows
widget which has currently the focus.
 
The focus order first goes to the next child, then to
the children of the child recursively and then to the
next sibling which is higher in the stacking order.  A
widget is omitted if it has the takefocus resource set
to 0.
tk_focusPrev(self)
Return previous widget in the focus order. See tk_focusNext for details.
tk_menuBar(self, *args)
Do not use. Needed in Tk 3.6 and earlier.
tk_setPalette(self, *args, **kw)
Set a new color scheme for all widget elements.
 
A single color as argument will cause that all colors of Tk
widget elements are derived from this.
Alternatively several keyword parameters and its associated
colors can be given. The following keywords are valid:
activeBackground, foreground, selectColor,
activeForeground, highlightBackground, selectBackground,
background, highlightColor, selectForeground,
disabledForeground, insertBackground, troughColor.
tk_strictMotif(self, boolean=None)
Set Tcl internal variable, whether the look and feel
should adhere to Motif.
 
A parameter of 1 means adhere to Motif (e.g. no color
change if mouse passes over slider).
Returns the set value.
unbind(self, sequence, funcid=None)
Unbind for this widget for event SEQUENCE  the
function identified with FUNCID.
unbind_all(self, sequence)
Unbind for all widgets for event SEQUENCE all functions.
unbind_class(self, className, sequence)
Unbind for a all widgets with bindtag CLASSNAME for event SEQUENCE
all functions.
update(self)
Enter event loop until all pending events have been processed by Tcl.
update_idletasks(self)
Enter event loop until all idle callbacks have been called. This
will update the display of windows but not process events caused by
the user.
wait_variable(self, name='PY_VAR')
Wait until the variable is modified.
 
A parameter of type IntVar, StringVar, DoubleVar or
BooleanVar must be given.
wait_visibility(self, window=None)
Wait until the visibility of a WIDGET changes
(e.g. it appears).
 
If no parameter is given self is used.
wait_window(self, window=None)
Wait until a WIDGET is destroyed.
 
If no parameter is given self is used.
waitvar = wait_variable(self, name='PY_VAR')
Wait until the variable is modified.
 
A parameter of type IntVar, StringVar, DoubleVar or
BooleanVar must be given.
winfo_atom(self, name, displayof=0)
Return integer which represents atom NAME.
winfo_atomname(self, id, displayof=0)
Return name of atom with identifier ID.
winfo_cells(self)
Return number of cells in the colormap for this widget.
winfo_children(self)
Return a list of all widgets which are children of this widget.
winfo_class(self)
Return window class name of this widget.
winfo_colormapfull(self)
Return true if at the last color request the colormap was full.
winfo_containing(self, rootX, rootY, displayof=0)
Return the widget which is at the root coordinates ROOTX, ROOTY.
winfo_depth(self)
Return the number of bits per pixel.
winfo_exists(self)
Return true if this widget exists.
winfo_fpixels(self, number)
Return the number of pixels for the given distance NUMBER
(e.g. "3c") as float.
winfo_geometry(self)
Return geometry string for this widget in the form "widthxheight+X+Y".
winfo_height(self)
Return height of this widget.
winfo_id(self)
Return identifier ID for this widget.
winfo_interps(self, displayof=0)
Return the name of all Tcl interpreters for this display.
winfo_ismapped(self)
Return true if this widget is mapped.
winfo_manager(self)
Return the window mananger name for this widget.
winfo_name(self)
Return the name of this widget.
winfo_parent(self)
Return the name of the parent of this widget.
winfo_pathname(self, id, displayof=0)
Return the pathname of the widget given by ID.
winfo_pixels(self, number)
Rounded integer value of winfo_fpixels.
winfo_pointerx(self)
Return the x coordinate of the pointer on the root window.
winfo_pointerxy(self)
Return a tuple of x and y coordinates of the pointer on the root window.
winfo_pointery(self)
Return the y coordinate of the pointer on the root window.
winfo_reqheight(self)
Return requested height of this widget.
winfo_reqwidth(self)
Return requested width of this widget.
winfo_rgb(self, color)
Return tuple of decimal values for red, green, blue for
COLOR in this widget.
winfo_rootx(self)
Return x coordinate of upper left corner of this widget on the
root window.
winfo_rooty(self)
Return y coordinate of upper left corner of this widget on the
root window.
winfo_screen(self)
Return the screen name of this widget.
winfo_screencells(self)
Return the number of the cells in the colormap of the screen
of this widget.
winfo_screendepth(self)
Return the number of bits per pixel of the root window of the
screen of this widget.
winfo_screenheight(self)
Return the number of pixels of the height of the screen of this widget
in pixel.
winfo_screenmmheight(self)
Return the number of pixels of the height of the screen of
this widget in mm.
winfo_screenmmwidth(self)
Return the number of pixels of the width of the screen of
this widget in mm.
winfo_screenvisual(self)
Return one of the strings directcolor, grayscale, pseudocolor,
staticcolor, staticgray, or truecolor for the default
colormodel of this screen.
winfo_screenwidth(self)
Return the number of pixels of the width of the screen of
this widget in pixel.
winfo_server(self)
Return information of the X-Server of the screen of this widget in
the form "XmajorRminor vendor vendorVersion".
winfo_toplevel(self)
Return the toplevel widget of this widget.
winfo_viewable(self)
Return true if the widget and all its higher ancestors are mapped.
winfo_visual(self)
Return one of the strings directcolor, grayscale, pseudocolor,
staticcolor, staticgray, or truecolor for the
colormodel of this widget.
winfo_visualid(self)
Return the X identifier for the visual for this widget.
winfo_visualsavailable(self, includeids=0)
Return a list of all visuals available for the screen
of this widget.
 
Each item in the list consists of a visual name (see winfo_visual), a
depth and if INCLUDEIDS=1 is given also the X identifier.
winfo_vrootheight(self)
Return the height of the virtual root window associated with this
widget in pixels. If there is no virtual root window return the
height of the screen.
winfo_vrootwidth(self)
Return the width of the virtual root window associated with this
widget in pixel. If there is no virtual root window return the
width of the screen.
winfo_vrootx(self)
Return the x offset of the virtual root relative to the root
window of the screen of this widget.
winfo_vrooty(self)
Return the y offset of the virtual root relative to the root
window of the screen of this widget.
winfo_width(self)
Return the width of this widget.
winfo_x(self)
Return the x coordinate of the upper left corner of this widget
in the parent.
winfo_y(self)
Return the y coordinate of the upper left corner of this widget
in the parent.

Data and other attributes inherited from Tkinter.Misc:
getdouble = <type 'float'>
float(x) -> floating point number
 
Convert a string or number to a floating point number, if possible.
getint = <type 'int'>
int(x=0) -> int or long
int(x, base=10) -> int or long
 
Convert a number or string to an integer, or return 0 if no arguments
are given.  If x is floating point, the conversion truncates towards zero.
If x is outside the integer range, the function returns a long instead.
 
If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base.  The
literal can be preceded by '+' or '-' and be surrounded by whitespace.
The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to
interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
4

Methods inherited from Tkinter.Pack:
forget = pack_forget(self)
Unmap this widget and do not use it for the packing order.
info = pack_info(self)
Return information about the packing options
for this widget.
pack = pack_configure(self, cnf={}, **kw)
Pack a widget in the parent widget. Use as options:
after=widget - pack it after you have packed widget
anchor=NSEW (or subset) - position widget according to
                          given direction
before=widget - pack it before you will pack widget
expand=bool - expand widget if parent size grows
fill=NONE or X or Y or BOTH - fill widget if widget grows
in=master - use master to contain this widget
in_=master - see 'in' option description
ipadx=amount - add internal padding in x direction
ipady=amount - add internal padding in y direction
padx=amount - add padding in x direction
pady=amount - add padding in y direction
side=TOP or BOTTOM or LEFT or RIGHT -  where to add this widget.
pack_configure(self, cnf={}, **kw)
Pack a widget in the parent widget. Use as options:
after=widget - pack it after you have packed widget
anchor=NSEW (or subset) - position widget according to
                          given direction
before=widget - pack it before you will pack widget
expand=bool - expand widget if parent size grows
fill=NONE or X or Y or BOTH - fill widget if widget grows
in=master - use master to contain this widget
in_=master - see 'in' option description
ipadx=amount - add internal padding in x direction
ipady=amount - add internal padding in y direction
padx=amount - add padding in x direction
pady=amount - add padding in y direction
side=TOP or BOTTOM or LEFT or RIGHT -  where to add this widget.
pack_forget(self)
Unmap this widget and do not use it for the packing order.
pack_info(self)
Return information about the packing options
for this widget.

Methods inherited from Tkinter.Place:
place = place_configure(self, cnf={}, **kw)
Place a widget in the parent widget. Use as options:
in=master - master relative to which the widget is placed
in_=master - see 'in' option description
x=amount - locate anchor of this widget at position x of master
y=amount - locate anchor of this widget at position y of master
relx=amount - locate anchor of this widget between 0.0 and 1.0
              relative to width of master (1.0 is right edge)
rely=amount - locate anchor of this widget between 0.0 and 1.0
              relative to height of master (1.0 is bottom edge)
anchor=NSEW (or subset) - position anchor according to given direction
width=amount - width of this widget in pixel
height=amount - height of this widget in pixel
relwidth=amount - width of this widget between 0.0 and 1.0
                  relative to width of master (1.0 is the same width
                  as the master)
relheight=amount - height of this widget between 0.0 and 1.0
                   relative to height of master (1.0 is the same
                   height as the master)
bordermode="inside" or "outside" - whether to take border width of
                                   master widget into account
place_configure(self, cnf={}, **kw)
Place a widget in the parent widget. Use as options:
in=master - master relative to which the widget is placed
in_=master - see 'in' option description
x=amount - locate anchor of this widget at position x of master
y=amount - locate anchor of this widget at position y of master
relx=amount - locate anchor of this widget between 0.0 and 1.0
              relative to width of master (1.0 is right edge)
rely=amount - locate anchor of this widget between 0.0 and 1.0
              relative to height of master (1.0 is bottom edge)
anchor=NSEW (or subset) - position anchor according to given direction
width=amount - width of this widget in pixel
height=amount - height of this widget in pixel
relwidth=amount - width of this widget between 0.0 and 1.0
                  relative to width of master (1.0 is the same width
                  as the master)
relheight=amount - height of this widget between 0.0 and 1.0
                   relative to height of master (1.0 is the same
                   height as the master)
bordermode="inside" or "outside" - whether to take border width of
                                   master widget into account
place_forget(self)
Unmap this widget.
place_info(self)
Return information about the placing options
for this widget.

Methods inherited from Tkinter.Grid:
grid = grid_configure(self, cnf={}, **kw)
Position a widget in the parent widget in a grid. Use as options:
column=number - use cell identified with given column (starting with 0)
columnspan=number - this widget will span several columns
in=master - use master to contain this widget
in_=master - see 'in' option description
ipadx=amount - add internal padding in x direction
ipady=amount - add internal padding in y direction
padx=amount - add padding in x direction
pady=amount - add padding in y direction
row=number - use cell identified with given row (starting with 0)
rowspan=number - this widget will span several rows
sticky=NSEW - if cell is larger on which sides will this
              widget stick to the cell boundary
grid_configure(self, cnf={}, **kw)
Position a widget in the parent widget in a grid. Use as options:
column=number - use cell identified with given column (starting with 0)
columnspan=number - this widget will span several columns
in=master - use master to contain this widget
in_=master - see 'in' option description
ipadx=amount - add internal padding in x direction
ipady=amount - add internal padding in y direction
padx=amount - add padding in x direction
pady=amount - add padding in y direction
row=number - use cell identified with given row (starting with 0)
rowspan=number - this widget will span several rows
sticky=NSEW - if cell is larger on which sides will this
              widget stick to the cell boundary
grid_forget(self)
Unmap this widget.
grid_info(self)
Return information about the options
for positioning this widget in a grid.
grid_remove(self)
Unmap this widget but remember the grid options.
location = grid_location(self, x, y)
Return a tuple of column and row which identify the cell
at which the pixel at position X and Y inside the master
widget is located.

Methods inherited from Tkinter.XView:
xview(self, *args)
Query and change the horizontal position of the view.
xview_moveto(self, fraction)
Adjusts the view in the window so that FRACTION of the
total width of the canvas is off-screen to the left.
xview_scroll(self, number, what)
Shift the x-view according to NUMBER which is measured in "units"
or "pages" (WHAT).

Methods inherited from Tkinter.YView:
yview(self, *args)
Query and change the vertical position of the view.
yview_moveto(self, fraction)
Adjusts the view in the window so that FRACTION of the
total height of the canvas is off-screen to the top.
yview_scroll(self, number, what)
Shift the y-view according to NUMBER which is measured in
"units" or "pages" (WHAT).

 
class Diagram(__builtin__.object)
    Parent class for ClassDiagram and ObjectDiagram.
 
  Methods defined here:
__init__(self, lumpy, title)
add_arrow(self, arrow)
append a new arrow on the list
ca(self, width=100, height=100, **options)
make a canvas for the diagram
close(self)
close the window and exit
draw_arrows(self)
draw all the arrows on the list
printfile(self, filename)
Dumps the contents of the canvas to a file.
 
filename: string output file name
printfile_callback(self, event=None)
Dumps the contents of the canvas to a file.
 
Gets the filename from the filename entry.
setup(self)
create the gui for the diagram
update_arrows(self, n=None)
update up to n arrows (or all of them is n==None)

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class Dot(Thing)
    Represents a dot in a diagram.
 
 
Method resolution order:
Dot
Thing
__builtin__.object

Methods defined here:
drawme(self, diag, pos, flip, tags=())
Draws the Thing.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Frame(Mapping)
    Represents a frame.
 
 
Method resolution order:
Frame
Mapping
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, frame)

Methods inherited from Mapping:
drawme(self, diag, pos, flip, tags=())
Draws the Thing.
get_bbox(self)
Gets the bounding box for this Mapping.
 
The bbox of a Mapping is the bbox of its box item.
This is different from other Things.
scan_bindings(self, cls)
Looks for references to other types.
 
Invokes add_hasa on cls.
 
Args:
    cls: is the Class of the object that contains this mapping.
scan_val(self, cls, val)
Looks for references to other types.
 
If we find a reference to an object type, make a note
of the HAS-A relationship.  If we find a reference to a
container type, scan it for references.
 
Args:
    cls: is the Class of the object that contains this mapping.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Index(Simple)
    Represents an index in a Sequence.
 
An Index object does not register with lumpy, so that even
in pedantic mode, it is always drawn, and it is never the
target of a reference (since it is not really a value at
run-time).
 
 
Method resolution order:
Index
Simple
Thing
__builtin__.object

Methods defined here:
__init__(self, _, val)
drawme(self, diag, pos, flip, tags=())
Draws the Thing.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Instance(Mapping)
    Represents an object (usually).
 
Anything with a __dict__ is treated as an Instance.
 
 
Method resolution order:
Instance
Mapping
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, val)
scan_bindings(self, cls)
Look for references to other types.
 
Invokes add_ivar and add_hasa on cls.
Records the names of the instance variables.
 
Args:
    cls: is the Class of the object that contains this mapping.

Methods inherited from Mapping:
drawme(self, diag, pos, flip, tags=())
Draws the Thing.
get_bbox(self)
Gets the bounding box for this Mapping.
 
The bbox of a Mapping is the bbox of its box item.
This is different from other Things.
scan_val(self, cls, val)
Looks for references to other types.
 
If we find a reference to an object type, make a note
of the HAS-A relationship.  If we find a reference to a
container type, scan it for references.
 
Args:
    cls: is the Class of the object that contains this mapping.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Lumpy(Gui.Gui)
    Container for the program state and its representations.
 
 
Method resolution order:
Lumpy
Gui.Gui
Tkinter.Tk
Tkinter.Misc
Tkinter.Wm

Methods defined here:
__init__(self, debug=False, pedantic=False)
Initializes Lumpy.
 
Args:
    debug: boolean that makes the outlines of the frames visible.
    pedantic: boolean whether to show aliasing for simple values.
 
If pedantic is false, simple values are replicated, rather
than, for example, having all references to 1 refer to the
same int object.
class_diagram(self, classes=None, loop=True)
Create a new object diagram based on the current state.
 
If a list of classes is provided, only those classes are
shown.  Otherwise, all classes that Lumpy know about are shown.
get_class_list(self)
Returns list of classes that should be drawn in a class diagram.
is_opaque(self, classobj)
Checks whether this class is completely opaque.
 
(restricted to _no_ instance variables)
lookup(self, val)
Check whether a value is already represented by a Thing.
 
Returns:
    an existing Thing or None.
make_reference(self)
Takes a snapshot of the current state.
 
Subsequent diagrams will be relative to this reference.
make_stack(self)
Takes a snapshot of the current state.
 
Subtract away the frames and variables that existed in the
previous reference, then makes a Stack.
object_diagram(self, obj=None, loop=True)
Creates a new object diagram based on the current state.
 
If an object is provided, draws the object.  Otherwise, draws
the current run-time stack (relative to the last reference).
opaque_class(self, classobj)
Restricts a class so that no variables are shown.
opaque_module(self, modobj)
Makes all classes defined in this module opaque.
register(self, thing, val)
Associates a value with the Thing that represents it.
 
Later we can check whether we have already created
Thing for a given value.
restrict_class(self, classobj, variables=None)
Restricts a class so that only the given variables are shown.
transparent_class(self, classobj)
Unrestricts a class so its variables are shown.
 
If the class is not restricted, raise an exception.

Methods inherited from Gui.Gui:
bu(self, text='', command=None, **options)
Makes a button
ca(self, width=100, height=100, **options)
Makes a canvas widget.
cb(self, **options)
Makes a checkbutton.
col(self, weights=[], **options)
Makes a frame that lays out widgets in a single column.
colweight(self, i, weight)
Assigns (weight) to column (i).
colweights(self, weights)
Attaches weights to the columns of the current grid.
 
Args:
weights: list of values, assigned to columns starting with 0.
 
These weights control how the columns in the grid expand
when the grid expands.  The default weight is 0, which
means that the column doesn't expand.  If only one
column has a value, it gets all the extra space.
en(self, **options)
Makes an entry widget.
endcol = endfr(self)
Ends the current frame (and returns the new current frame).
endfr(self)
Ends the current frame (and returns the new current frame).
endgr = endfr(self)
Ends the current frame (and returns the new current frame).
endrow = endfr(self)
Ends the current frame (and returns the new current frame).
fr(self, *args, **options)
Makes and returns a frame.
 
The new frame becomes the current frame.
By default, frames use the pack geometry manager, unless
self.gridding=True.
gr(self, cols, cweights=[], rweights=[], **options)
Makes a frame and switches to grid mode.
 
(cols) is the number of columns in the grid.
 
(cweights) and (rweights) control how the widgets expand
if the frame expands (see colweights
and rowweights below).  By default, the first 8 rows and
columns are set to expand.
 
(options) is a dictionary that is underridden and passed along.
grid(self, widget, i=None, j=None, **options)
Packs the given widget in the current grid.
 
By default, the widget is packed in the next available
space, but parameters i and j can specify the row
and column explicitly.
la(self, text='', **options)
Makes a label widget.
lb(self, **options)
Makes a listbox.
mb(self, **options)
Makes a menubutton
mi(self, mb, text='', **options)
Makes a menu item
popfr = endfr(self)
Ends the current frame (and returns the new current frame).
pushfr(self, frame)
Pushes a frame onto the frame stack.
rb(self, **options)
Makes a radiobutton
row(self, weights=[], **options)
Makes a frame that lays out widgets in a single row.
rowweight(self, i, weight)
Assigns (weight) to row (i).
rowweights(self, weights)
Attaches weights to the rows of the current grid.
 
Args:
weights: is a list of values, which are assigned to
rows starting with 0.
 
These weights control how the rows in the grid expand
when the grid expands.  The default weight is 0, which
means that the row doesn't expand.  If only one
row has a value, it gets all the extra space.
sb(self, **options)
Makes a text scrollbar
sc(self, **options)
Makes a scrollable canvas.
 
The options provided  apply to the frame only;
if you want to configure the other widgets, you have to do
it after invoking st.
st(self, **options)
Makes a scrollable text entry.
te(self, **options)
Makes a text entry
tl(self, **options)
Makes and returns a top level window.
widget(self, constructor, **options)
Makes a widget of the given type.
 
options is split into widget options, pack options and grid options.
 
Args:
    constructor: function called to build the new widget.
    options: option dictionary 
 
Returns:
    new widget

Data and other attributes inherited from Gui.Gui:
ScrollableCanvas = <class 'Gui.ScrollableCanvas'>
A grid with a canvas and two scrollbars.
ScrollableText = <class 'Gui.ScrollableText'>
A frame with a text entry and a scrollbar.

Methods inherited from Tkinter.Tk:
__getattr__(self, attr)
Delegate attribute access to the interpreter object
destroy(self)
Destroy this and all descendants widgets. This will
end the application of this Tcl interpreter.
loadtk(self)
readprofile(self, baseName, className)
Internal function. It reads BASENAME.tcl and CLASSNAME.tcl into
the Tcl Interpreter and calls execfile on BASENAME.py and CLASSNAME.py if
such a file exists in the home directory.
report_callback_exception(self, exc, val, tb)
Internal function. It reports exception on sys.stderr.

Methods inherited from Tkinter.Misc:
__contains__(self, key)
__getitem__ = cget(self, key)
Return the resource value for a KEY given as string.
__setitem__(self, key, value)
__str__(self)
Return the window path name of this widget.
after(self, ms, func=None, *args)
Call function once after given time.
 
MS specifies the time in milliseconds. FUNC gives the
function which shall be called. Additional parameters
are given as parameters to the function call.  Return
identifier to cancel scheduling with after_cancel.
after_cancel(self, id)
Cancel scheduling of function identified with ID.
 
Identifier returned by after or after_idle must be
given as first parameter.
after_idle(self, func, *args)
Call FUNC once if the Tcl main loop has no event to
process.
 
Return an identifier to cancel the scheduling with
after_cancel.
bbox = grid_bbox(self, column=None, row=None, col2=None, row2=None)
Return a tuple of integer coordinates for the bounding
box of this widget controlled by the geometry manager grid.
 
If COLUMN, ROW is given the bounding box applies from
the cell with row and column 0 to the specified
cell. If COL2 and ROW2 are given the bounding box
starts at that cell.
 
The returned integers specify the offset of the upper left
corner in the master widget and the width and height.
bell(self, displayof=0)
Ring a display's bell.
bind(self, sequence=None, func=None, add=None)
Bind to this widget at event SEQUENCE a call to function FUNC.
 
SEQUENCE is a string of concatenated event
patterns. An event pattern is of the form
<MODIFIER-MODIFIER-TYPE-DETAIL> where MODIFIER is one
of Control, Mod2, M2, Shift, Mod3, M3, Lock, Mod4, M4,
Button1, B1, Mod5, M5 Button2, B2, Meta, M, Button3,
B3, Alt, Button4, B4, Double, Button5, B5 Triple,
Mod1, M1. TYPE is one of Activate, Enter, Map,
ButtonPress, Button, Expose, Motion, ButtonRelease
FocusIn, MouseWheel, Circulate, FocusOut, Property,
Colormap, Gravity Reparent, Configure, KeyPress, Key,
Unmap, Deactivate, KeyRelease Visibility, Destroy,
Leave and DETAIL is the button number for ButtonPress,
ButtonRelease and DETAIL is the Keysym for KeyPress and
KeyRelease. Examples are
<Control-Button-1> for pressing Control and mouse button 1 or
<Alt-A> for pressing A and the Alt key (KeyPress can be omitted).
An event pattern can also be a virtual event of the form
<<AString>> where AString can be arbitrary. This
event can be generated by event_generate.
If events are concatenated they must appear shortly
after each other.
 
FUNC will be called if the event sequence occurs with an
instance of Event as argument. If the return value of FUNC is
"break" no further bound function is invoked.
 
An additional boolean parameter ADD specifies whether FUNC will
be called additionally to the other bound function or whether
it will replace the previous function.
 
Bind will return an identifier to allow deletion of the bound function with
unbind without memory leak.
 
If FUNC or SEQUENCE is omitted the bound function or list
of bound events are returned.
bind_all(self, sequence=None, func=None, add=None)
Bind to all widgets at an event SEQUENCE a call to function FUNC.
An additional boolean parameter ADD specifies whether FUNC will
be called additionally to the other bound function or whether
it will replace the previous function. See bind for the return value.
bind_class(self, className, sequence=None, func=None, add=None)
Bind to widgets with bindtag CLASSNAME at event
SEQUENCE a call of function FUNC. An additional
boolean parameter ADD specifies whether FUNC will be
called additionally to the other bound function or
whether it will replace the previous function. See bind for
the return value.
bindtags(self, tagList=None)
Set or get the list of bindtags for this widget.
 
With no argument return the list of all bindtags associated with
this widget. With a list of strings as argument the bindtags are
set to this list. The bindtags determine in which order events are
processed (see bind).
cget(self, key)
Return the resource value for a KEY given as string.
clipboard_append(self, string, **kw)
Append STRING to the Tk clipboard.
 
A widget specified at the optional displayof keyword
argument specifies the target display. The clipboard
can be retrieved with selection_get.
clipboard_clear(self, **kw)
Clear the data in the Tk clipboard.
 
A widget specified for the optional displayof keyword
argument specifies the target display.
clipboard_get(self, **kw)
Retrieve data from the clipboard on window's display.
 
The window keyword defaults to the root window of the Tkinter
application.
 
The type keyword specifies the form in which the data is
to be returned and should be an atom name such as STRING
or FILE_NAME.  Type defaults to STRING, except on X11, where the default
is to try UTF8_STRING and fall back to STRING.
 
This command is equivalent to:
 
selection_get(CLIPBOARD)
colormodel(self, value=None)
Useless. Not implemented in Tk.
columnconfigure = grid_columnconfigure(self, index, cnf={}, **kw)
Configure column INDEX of a grid.
 
Valid resources are minsize (minimum size of the column),
weight (how much does additional space propagate to this column)
and pad (how much space to let additionally).
config = configure(self, cnf=None, **kw)
Configure resources of a widget.
 
The values for resources are specified as keyword
arguments. To get an overview about
the allowed keyword arguments call the method keys.
configure(self, cnf=None, **kw)
Configure resources of a widget.
 
The values for resources are specified as keyword
arguments. To get an overview about
the allowed keyword arguments call the method keys.
deletecommand(self, name)
Internal function.
 
Delete the Tcl command provided in NAME.
event_add(self, virtual, *sequences)
Bind a virtual event VIRTUAL (of the form <<Name>>)
to an event SEQUENCE such that the virtual event is triggered
whenever SEQUENCE occurs.
event_delete(self, virtual, *sequences)
Unbind a virtual event VIRTUAL from SEQUENCE.
event_generate(self, sequence, **kw)
Generate an event SEQUENCE. Additional
keyword arguments specify parameter of the event
(e.g. x, y, rootx, rooty).
event_info(self, virtual=None)
Return a list of all virtual events or the information
about the SEQUENCE bound to the virtual event VIRTUAL.
focus = focus_set(self)
Direct input focus to this widget.
 
If the application currently does not have the focus
this widget will get the focus if the application gets
the focus through the window manager.
focus_displayof(self)
Return the widget which has currently the focus on the
display where this widget is located.
 
Return None if the application does not have the focus.
focus_force(self)
Direct input focus to this widget even if the
application does not have the focus. Use with
caution!
focus_get(self)
Return the widget which has currently the focus in the
application.
 
Use focus_displayof to allow working with several
displays. Return None if application does not have
the focus.
focus_lastfor(self)
Return the widget which would have the focus if top level
for this widget gets the focus from the window manager.
focus_set(self)
Direct input focus to this widget.
 
If the application currently does not have the focus
this widget will get the focus if the application gets
the focus through the window manager.
getboolean(self, s)
Return a boolean value for Tcl boolean values true and false given as parameter.
getvar(self, name='PY_VAR')
Return value of Tcl variable NAME.
grab_current(self)
Return widget which has currently the grab in this application
or None.
grab_release(self)
Release grab for this widget if currently set.
grab_set(self)
Set grab for this widget.
 
A grab directs all events to this and descendant
widgets in the application.
grab_set_global(self)
Set global grab for this widget.
 
A global grab directs all events to this and
descendant widgets on the display. Use with caution -
other applications do not get events anymore.
grab_status(self)
Return None, "local" or "global" if this widget has
no, a local or a global grab.
grid_bbox(self, column=None, row=None, col2=None, row2=None)
Return a tuple of integer coordinates for the bounding
box of this widget controlled by the geometry manager grid.
 
If COLUMN, ROW is given the bounding box applies from
the cell with row and column 0 to the specified
cell. If COL2 and ROW2 are given the bounding box
starts at that cell.
 
The returned integers specify the offset of the upper left
corner in the master widget and the width and height.
grid_columnconfigure(self, index, cnf={}, **kw)
Configure column INDEX of a grid.
 
Valid resources are minsize (minimum size of the column),
weight (how much does additional space propagate to this column)
and pad (how much space to let additionally).
grid_location(self, x, y)
Return a tuple of column and row which identify the cell
at which the pixel at position X and Y inside the master
widget is located.
grid_propagate(self, flag=['_noarg_'])
Set or get the status for propagation of geometry information.
 
A boolean argument specifies whether the geometry information
of the slaves will determine the size of this widget. If no argument
is given, the current setting will be returned.
grid_rowconfigure(self, index, cnf={}, **kw)
Configure row INDEX of a grid.
 
Valid resources are minsize (minimum size of the row),
weight (how much does additional space propagate to this row)
and pad (how much space to let additionally).
grid_size(self)
Return a tuple of the number of column and rows in the grid.
grid_slaves(self, row=None, column=None)
Return a list of all slaves of this widget
in its packing order.
image_names(self)
Return a list of all existing image names.
image_types(self)
Return a list of all available image types (e.g. phote bitmap).
keys(self)
Return a list of all resource names of this widget.
lift = tkraise(self, aboveThis=None)
Raise this widget in the stacking order.
lower(self, belowThis=None)
Lower this widget in the stacking order.
mainloop(self, n=0)
Call the mainloop of Tk.
nametowidget(self, name)
Return the Tkinter instance of a widget identified by
its Tcl name NAME.
option_add(self, pattern, value, priority=None)
Set a VALUE (second parameter) for an option
PATTERN (first parameter).
 
An optional third parameter gives the numeric priority
(defaults to 80).
option_clear(self)
Clear the option database.
 
It will be reloaded if option_add is called.
option_get(self, name, className)
Return the value for an option NAME for this widget
with CLASSNAME.
 
Values with higher priority override lower values.
option_readfile(self, fileName, priority=None)
Read file FILENAME into the option database.
 
An optional second parameter gives the numeric
priority.
pack_propagate(self, flag=['_noarg_'])
Set or get the status for propagation of geometry information.
 
A boolean argument specifies whether the geometry information
of the slaves will determine the size of this widget. If no argument
is given the current setting will be returned.
pack_slaves(self)
Return a list of all slaves of this widget
in its packing order.
place_slaves(self)
Return a list of all slaves of this widget
in its packing order.
propagate = pack_propagate(self, flag=['_noarg_'])
Set or get the status for propagation of geometry information.
 
A boolean argument specifies whether the geometry information
of the slaves will determine the size of this widget. If no argument
is given the current setting will be returned.
quit(self)
Quit the Tcl interpreter. All widgets will be destroyed.
rowconfigure = grid_rowconfigure(self, index, cnf={}, **kw)
Configure row INDEX of a grid.
 
Valid resources are minsize (minimum size of the row),
weight (how much does additional space propagate to this row)
and pad (how much space to let additionally).
selection_clear(self, **kw)
Clear the current X selection.
selection_get(self, **kw)
Return the contents of the current X selection.
 
A keyword parameter selection specifies the name of
the selection and defaults to PRIMARY.  A keyword
parameter displayof specifies a widget on the display
to use. A keyword parameter type specifies the form of data to be
fetched, defaulting to STRING except on X11, where UTF8_STRING is tried
before STRING.
selection_handle(self, command, **kw)
Specify a function COMMAND to call if the X
selection owned by this widget is queried by another
application.
 
This function must return the contents of the
selection. The function will be called with the
arguments OFFSET and LENGTH which allows the chunking
of very long selections. The following keyword
parameters can be provided:
selection - name of the selection (default PRIMARY),
type - type of the selection (e.g. STRING, FILE_NAME).
selection_own(self, **kw)
Become owner of X selection.
 
A keyword parameter selection specifies the name of
the selection (default PRIMARY).
selection_own_get(self, **kw)
Return owner of X selection.
 
The following keyword parameter can
be provided:
selection - name of the selection (default PRIMARY),
type - type of the selection (e.g. STRING, FILE_NAME).
send(self, interp, cmd, *args)
Send Tcl command CMD to different interpreter INTERP to be executed.
setvar(self, name='PY_VAR', value='1')
Set Tcl variable NAME to VALUE.
size = grid_size(self)
Return a tuple of the number of column and rows in the grid.
slaves = pack_slaves(self)
Return a list of all slaves of this widget
in its packing order.
tk_bisque(self)
Change the color scheme to light brown as used in Tk 3.6 and before.
tk_focusFollowsMouse(self)
The widget under mouse will get automatically focus. Can not
be disabled easily.
tk_focusNext(self)
Return the next widget in the focus order which follows
widget which has currently the focus.
 
The focus order first goes to the next child, then to
the children of the child recursively and then to the
next sibling which is higher in the stacking order.  A
widget is omitted if it has the takefocus resource set
to 0.
tk_focusPrev(self)
Return previous widget in the focus order. See tk_focusNext for details.
tk_menuBar(self, *args)
Do not use. Needed in Tk 3.6 and earlier.
tk_setPalette(self, *args, **kw)
Set a new color scheme for all widget elements.
 
A single color as argument will cause that all colors of Tk
widget elements are derived from this.
Alternatively several keyword parameters and its associated
colors can be given. The following keywords are valid:
activeBackground, foreground, selectColor,
activeForeground, highlightBackground, selectBackground,
background, highlightColor, selectForeground,
disabledForeground, insertBackground, troughColor.
tk_strictMotif(self, boolean=None)
Set Tcl internal variable, whether the look and feel
should adhere to Motif.
 
A parameter of 1 means adhere to Motif (e.g. no color
change if mouse passes over slider).
Returns the set value.
tkraise(self, aboveThis=None)
Raise this widget in the stacking order.
unbind(self, sequence, funcid=None)
Unbind for this widget for event SEQUENCE  the
function identified with FUNCID.
unbind_all(self, sequence)
Unbind for all widgets for event SEQUENCE all functions.
unbind_class(self, className, sequence)
Unbind for a all widgets with bindtag CLASSNAME for event SEQUENCE
all functions.
update(self)
Enter event loop until all pending events have been processed by Tcl.
update_idletasks(self)
Enter event loop until all idle callbacks have been called. This
will update the display of windows but not process events caused by
the user.
wait_variable(self, name='PY_VAR')
Wait until the variable is modified.
 
A parameter of type IntVar, StringVar, DoubleVar or
BooleanVar must be given.
wait_visibility(self, window=None)
Wait until the visibility of a WIDGET changes
(e.g. it appears).
 
If no parameter is given self is used.
wait_window(self, window=None)
Wait until a WIDGET is destroyed.
 
If no parameter is given self is used.
waitvar = wait_variable(self, name='PY_VAR')
Wait until the variable is modified.
 
A parameter of type IntVar, StringVar, DoubleVar or
BooleanVar must be given.
winfo_atom(self, name, displayof=0)
Return integer which represents atom NAME.
winfo_atomname(self, id, displayof=0)
Return name of atom with identifier ID.
winfo_cells(self)
Return number of cells in the colormap for this widget.
winfo_children(self)
Return a list of all widgets which are children of this widget.
winfo_class(self)
Return window class name of this widget.
winfo_colormapfull(self)
Return true if at the last color request the colormap was full.
winfo_containing(self, rootX, rootY, displayof=0)
Return the widget which is at the root coordinates ROOTX, ROOTY.
winfo_depth(self)
Return the number of bits per pixel.
winfo_exists(self)
Return true if this widget exists.
winfo_fpixels(self, number)
Return the number of pixels for the given distance NUMBER
(e.g. "3c") as float.
winfo_geometry(self)
Return geometry string for this widget in the form "widthxheight+X+Y".
winfo_height(self)
Return height of this widget.
winfo_id(self)
Return identifier ID for this widget.
winfo_interps(self, displayof=0)
Return the name of all Tcl interpreters for this display.
winfo_ismapped(self)
Return true if this widget is mapped.
winfo_manager(self)
Return the window mananger name for this widget.
winfo_name(self)
Return the name of this widget.
winfo_parent(self)
Return the name of the parent of this widget.
winfo_pathname(self, id, displayof=0)
Return the pathname of the widget given by ID.
winfo_pixels(self, number)
Rounded integer value of winfo_fpixels.
winfo_pointerx(self)
Return the x coordinate of the pointer on the root window.
winfo_pointerxy(self)
Return a tuple of x and y coordinates of the pointer on the root window.
winfo_pointery(self)
Return the y coordinate of the pointer on the root window.
winfo_reqheight(self)
Return requested height of this widget.
winfo_reqwidth(self)
Return requested width of this widget.
winfo_rgb(self, color)
Return tuple of decimal values for red, green, blue for
COLOR in this widget.
winfo_rootx(self)
Return x coordinate of upper left corner of this widget on the
root window.
winfo_rooty(self)
Return y coordinate of upper left corner of this widget on the
root window.
winfo_screen(self)
Return the screen name of this widget.
winfo_screencells(self)
Return the number of the cells in the colormap of the screen
of this widget.
winfo_screendepth(self)
Return the number of bits per pixel of the root window of the
screen of this widget.
winfo_screenheight(self)
Return the number of pixels of the height of the screen of this widget
in pixel.
winfo_screenmmheight(self)
Return the number of pixels of the height of the screen of
this widget in mm.
winfo_screenmmwidth(self)
Return the number of pixels of the width of the screen of
this widget in mm.
winfo_screenvisual(self)
Return one of the strings directcolor, grayscale, pseudocolor,
staticcolor, staticgray, or truecolor for the default
colormodel of this screen.
winfo_screenwidth(self)
Return the number of pixels of the width of the screen of
this widget in pixel.
winfo_server(self)
Return information of the X-Server of the screen of this widget in
the form "XmajorRminor vendor vendorVersion".
winfo_toplevel(self)
Return the toplevel widget of this widget.
winfo_viewable(self)
Return true if the widget and all its higher ancestors are mapped.
winfo_visual(self)
Return one of the strings directcolor, grayscale, pseudocolor,
staticcolor, staticgray, or truecolor for the
colormodel of this widget.
winfo_visualid(self)
Return the X identifier for the visual for this widget.
winfo_visualsavailable(self, includeids=0)
Return a list of all visuals available for the screen
of this widget.
 
Each item in the list consists of a visual name (see winfo_visual), a
depth and if INCLUDEIDS=1 is given also the X identifier.
winfo_vrootheight(self)
Return the height of the virtual root window associated with this
widget in pixels. If there is no virtual root window return the
height of the screen.
winfo_vrootwidth(self)
Return the width of the virtual root window associated with this
widget in pixel. If there is no virtual root window return the
width of the screen.
winfo_vrootx(self)
Return the x offset of the virtual root relative to the root
window of the screen of this widget.
winfo_vrooty(self)
Return the y offset of the virtual root relative to the root
window of the screen of this widget.
winfo_width(self)
Return the width of this widget.
winfo_x(self)
Return the x coordinate of the upper left corner of this widget
in the parent.
winfo_y(self)
Return the y coordinate of the upper left corner of this widget
in the parent.

Data and other attributes inherited from Tkinter.Misc:
getdouble = <type 'float'>
float(x) -> floating point number
 
Convert a string or number to a floating point number, if possible.
getint = <type 'int'>
int(x=0) -> int or long
int(x, base=10) -> int or long
 
Convert a number or string to an integer, or return 0 if no arguments
are given.  If x is floating point, the conversion truncates towards zero.
If x is outside the integer range, the function returns a long instead.
 
If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base.  The
literal can be preceded by '+' or '-' and be surrounded by whitespace.
The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to
interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
4

Methods inherited from Tkinter.Wm:
aspect = wm_aspect(self, minNumer=None, minDenom=None, maxNumer=None, maxDenom=None)
Instruct the window manager to set the aspect ratio (width/height)
of this widget to be between MINNUMER/MINDENOM and MAXNUMER/MAXDENOM. Return a tuple
of the actual values if no argument is given.
attributes = wm_attributes(self, *args)
This subcommand returns or sets platform specific attributes
 
The first form returns a list of the platform specific flags and
their values. The second form returns the value for the specific
option. The third form sets one or more of the values. The values
are as follows:
 
On Windows, -disabled gets or sets whether the window is in a
disabled state. -toolwindow gets or sets the style of the window
to toolwindow (as defined in the MSDN). -topmost gets or sets
whether this is a topmost window (displays above all other
windows).
 
On Macintosh, XXXXX
 
On Unix, there are currently no special attribute values.
client = wm_client(self, name=None)
Store NAME in WM_CLIENT_MACHINE property of this widget. Return
current value.
colormapwindows = wm_colormapwindows(self, *wlist)
Store list of window names (WLIST) into WM_COLORMAPWINDOWS property
of this widget. This list contains windows whose colormaps differ from their
parents. Return current list of widgets if WLIST is empty.
command = wm_command(self, value=None)
Store VALUE in WM_COMMAND property. It is the command
which shall be used to invoke the application. Return current
command if VALUE is None.
deiconify = wm_deiconify(self)
Deiconify this widget. If it was never mapped it will not be mapped.
On Windows it will raise this widget and give it the focus.
focusmodel = wm_focusmodel(self, model=None)
Set focus model to MODEL. "active" means that this widget will claim
the focus itself, "passive" means that the window manager shall give
the focus. Return current focus model if MODEL is None.
frame = wm_frame(self)
Return identifier for decorative frame of this widget if present.
geometry = wm_geometry(self, newGeometry=None)
Set geometry to NEWGEOMETRY of the form =widthxheight+x+y. Return
current value if None is given.
group = wm_group(self, pathName=None)
Set the group leader widgets for related widgets to PATHNAME. Return
the group leader of this widget if None is given.
iconbitmap = wm_iconbitmap(self, bitmap=None, default=None)
Set bitmap for the iconified widget to BITMAP. Return
the bitmap if None is given.
 
Under Windows, the DEFAULT parameter can be used to set the icon
for the widget and any descendents that don't have an icon set
explicitly.  DEFAULT can be the relative path to a .ico file
(example: root.iconbitmap(default='myicon.ico') ).  See Tk
documentation for more information.
iconify = wm_iconify(self)
Display widget as icon.
iconmask = wm_iconmask(self, bitmap=None)
Set mask for the icon bitmap of this widget. Return the
mask if None is given.
iconname = wm_iconname(self, newName=None)
Set the name of the icon for this widget. Return the name if
None is given.
iconposition = wm_iconposition(self, x=None, y=None)
Set the position of the icon of this widget to X and Y. Return
a tuple of the current values of X and X if None is given.
iconwindow = wm_iconwindow(self, pathName=None)
Set widget PATHNAME to be displayed instead of icon. Return the current
value if None is given.
maxsize = wm_maxsize(self, width=None, height=None)
Set max WIDTH and HEIGHT for this widget. If the window is gridded
the values are given in grid units. Return the current values if None
is given.
minsize = wm_minsize(self, width=None, height=None)
Set min WIDTH and HEIGHT for this widget. If the window is gridded
the values are given in grid units. Return the current values if None
is given.
overrideredirect = wm_overrideredirect(self, boolean=None)
Instruct the window manager to ignore this widget
if BOOLEAN is given with 1. Return the current value if None
is given.
positionfrom = wm_positionfrom(self, who=None)
Instruct the window manager that the position of this widget shall
be defined by the user if WHO is "user", and by its own policy if WHO is
"program".
protocol = wm_protocol(self, name=None, func=None)
Bind function FUNC to command NAME for this widget.
Return the function bound to NAME if None is given. NAME could be
e.g. "WM_SAVE_YOURSELF" or "WM_DELETE_WINDOW".
resizable = wm_resizable(self, width=None, height=None)
Instruct the window manager whether this width can be resized
in WIDTH or HEIGHT. Both values are boolean values.
sizefrom = wm_sizefrom(self, who=None)
Instruct the window manager that the size of this widget shall
be defined by the user if WHO is "user", and by its own policy if WHO is
"program".
state = wm_state(self, newstate=None)
Query or set the state of this widget as one of normal, icon,
iconic (see wm_iconwindow), withdrawn, or zoomed (Windows only).
title = wm_title(self, string=None)
Set the title of this widget.
transient = wm_transient(self, master=None)
Instruct the window manager that this widget is transient
with regard to widget MASTER.
withdraw = wm_withdraw(self)
Withdraw this widget from the screen such that it is unmapped
and forgotten by the window manager. Re-draw it with wm_deiconify.
wm_aspect(self, minNumer=None, minDenom=None, maxNumer=None, maxDenom=None)
Instruct the window manager to set the aspect ratio (width/height)
of this widget to be between MINNUMER/MINDENOM and MAXNUMER/MAXDENOM. Return a tuple
of the actual values if no argument is given.
wm_attributes(self, *args)
This subcommand returns or sets platform specific attributes
 
The first form returns a list of the platform specific flags and
their values. The second form returns the value for the specific
option. The third form sets one or more of the values. The values
are as follows:
 
On Windows, -disabled gets or sets whether the window is in a
disabled state. -toolwindow gets or sets the style of the window
to toolwindow (as defined in the MSDN). -topmost gets or sets
whether this is a topmost window (displays above all other
windows).
 
On Macintosh, XXXXX
 
On Unix, there are currently no special attribute values.
wm_client(self, name=None)
Store NAME in WM_CLIENT_MACHINE property of this widget. Return
current value.
wm_colormapwindows(self, *wlist)
Store list of window names (WLIST) into WM_COLORMAPWINDOWS property
of this widget. This list contains windows whose colormaps differ from their
parents. Return current list of widgets if WLIST is empty.
wm_command(self, value=None)
Store VALUE in WM_COMMAND property. It is the command
which shall be used to invoke the application. Return current
command if VALUE is None.
wm_deiconify(self)
Deiconify this widget. If it was never mapped it will not be mapped.
On Windows it will raise this widget and give it the focus.
wm_focusmodel(self, model=None)
Set focus model to MODEL. "active" means that this widget will claim
the focus itself, "passive" means that the window manager shall give
the focus. Return current focus model if MODEL is None.
wm_frame(self)
Return identifier for decorative frame of this widget if present.
wm_geometry(self, newGeometry=None)
Set geometry to NEWGEOMETRY of the form =widthxheight+x+y. Return
current value if None is given.
wm_grid(self, baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)
Instruct the window manager that this widget shall only be
resized on grid boundaries. WIDTHINC and HEIGHTINC are the width and
height of a grid unit in pixels. BASEWIDTH and BASEHEIGHT are the
number of grid units requested in Tk_GeometryRequest.
wm_group(self, pathName=None)
Set the group leader widgets for related widgets to PATHNAME. Return
the group leader of this widget if None is given.
wm_iconbitmap(self, bitmap=None, default=None)
Set bitmap for the iconified widget to BITMAP. Return
the bitmap if None is given.
 
Under Windows, the DEFAULT parameter can be used to set the icon
for the widget and any descendents that don't have an icon set
explicitly.  DEFAULT can be the relative path to a .ico file
(example: root.iconbitmap(default='myicon.ico') ).  See Tk
documentation for more information.
wm_iconify(self)
Display widget as icon.
wm_iconmask(self, bitmap=None)
Set mask for the icon bitmap of this widget. Return the
mask if None is given.
wm_iconname(self, newName=None)
Set the name of the icon for this widget. Return the name if
None is given.
wm_iconposition(self, x=None, y=None)
Set the position of the icon of this widget to X and Y. Return
a tuple of the current values of X and X if None is given.
wm_iconwindow(self, pathName=None)
Set widget PATHNAME to be displayed instead of icon. Return the current
value if None is given.
wm_maxsize(self, width=None, height=None)
Set max WIDTH and HEIGHT for this widget. If the window is gridded
the values are given in grid units. Return the current values if None
is given.
wm_minsize(self, width=None, height=None)
Set min WIDTH and HEIGHT for this widget. If the window is gridded
the values are given in grid units. Return the current values if None
is given.
wm_overrideredirect(self, boolean=None)
Instruct the window manager to ignore this widget
if BOOLEAN is given with 1. Return the current value if None
is given.
wm_positionfrom(self, who=None)
Instruct the window manager that the position of this widget shall
be defined by the user if WHO is "user", and by its own policy if WHO is
"program".
wm_protocol(self, name=None, func=None)
Bind function FUNC to command NAME for this widget.
Return the function bound to NAME if None is given. NAME could be
e.g. "WM_SAVE_YOURSELF" or "WM_DELETE_WINDOW".
wm_resizable(self, width=None, height=None)
Instruct the window manager whether this width can be resized
in WIDTH or HEIGHT. Both values are boolean values.
wm_sizefrom(self, who=None)
Instruct the window manager that the size of this widget shall
be defined by the user if WHO is "user", and by its own policy if WHO is
"program".
wm_state(self, newstate=None)
Query or set the state of this widget as one of normal, icon,
iconic (see wm_iconwindow), withdrawn, or zoomed (Windows only).
wm_title(self, string=None)
Set the title of this widget.
wm_transient(self, master=None)
Instruct the window manager that this widget is transient
with regard to widget MASTER.
wm_withdraw(self)
Withdraw this widget from the screen such that it is unmapped
and forgotten by the window manager. Re-draw it with wm_deiconify.

 
class MakeTag(__builtin__.object)
    Encapsulates a unique Tag generator.
 
  Class methods defined here:
make_tag(cls, prefix='Tag') from __builtin__.type
Return a tuple with a single element: a tag string.
 
Uses the given prefix and a unique id as a suffix.
 
prefix: string
 
returns: string

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
nextid = 0

 
class Mapping(Thing)
    Represents a mapping type (usually a dictionary).
 
Sequence and Instance inherit from Mapping.
 
 
Method resolution order:
Mapping
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, val)
drawme(self, diag, pos, flip, tags=())
Draws the Thing.
get_bbox(self)
Gets the bounding box for this Mapping.
 
The bbox of a Mapping is the bbox of its box item.
This is different from other Things.
scan_bindings(self, cls)
Looks for references to other types.
 
Invokes add_hasa on cls.
 
Args:
    cls: is the Class of the object that contains this mapping.
scan_val(self, cls, val)
Looks for references to other types.
 
If we find a reference to an object type, make a note
of the HAS-A relationship.  If we find a reference to a
container type, scan it for references.
 
Args:
    cls: is the Class of the object that contains this mapping.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class ObjectDiagram(Diagram)
    Represents an object diagram.
 
 
Method resolution order:
ObjectDiagram
Diagram
__builtin__.object

Methods defined here:
__init__(self, lumpy=None)
clear(self)
Clears the diagram.
draw(self, thing)
Draws the top-level Thing.

Methods inherited from Diagram:
add_arrow(self, arrow)
append a new arrow on the list
ca(self, width=100, height=100, **options)
make a canvas for the diagram
close(self)
close the window and exit
draw_arrows(self)
draw all the arrows on the list
printfile(self, filename)
Dumps the contents of the canvas to a file.
 
filename: string output file name
printfile_callback(self, event=None)
Dumps the contents of the canvas to a file.
 
Gets the filename from the filename entry.
setup(self)
create the gui for the diagram
update_arrows(self, n=None)
update up to n arrows (or all of them is n==None)

Data descriptors inherited from Diagram:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class ParentArrow(Arrow)
    Represents an inheritance arrow.
 
Shows an is-a relationship between classes in a class diagram.
 
 
Method resolution order:
ParentArrow
Arrow
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, parent, child, **options)
draw(self, diag)
Draw the Thing.
 
Overrides draw() rather than drawme() because arrows can't
be dragged and dropped.

Methods inherited from Arrow:
update(self)
Redraws this arrow after something moves.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
drawme(self, diag, pos, flip, tags)
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class ReferenceArrow(Arrow)
    Represents a reference in an object diagram.
 
 
Method resolution order:
ReferenceArrow
Arrow
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, key, val, **options)
draw(self, diag)
Draw the Thing.
 
Overrides draw() rather than drawme() because arrows can't
be dragged and dropped.
update(self)
Redraws this arrow after something moves.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
drawme(self, diag, pos, flip, tags)
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Sequence(Mapping)
    Represents a sequence type (mostly lists and tuples).
 
 
Method resolution order:
Sequence
Mapping
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, val)

Methods inherited from Mapping:
drawme(self, diag, pos, flip, tags=())
Draws the Thing.
get_bbox(self)
Gets the bounding box for this Mapping.
 
The bbox of a Mapping is the bbox of its box item.
This is different from other Things.
scan_bindings(self, cls)
Looks for references to other types.
 
Invokes add_hasa on cls.
 
Args:
    cls: is the Class of the object that contains this mapping.
scan_val(self, cls, val)
Looks for references to other types.
 
If we find a reference to an object type, make a note
of the HAS-A relationship.  If we find a reference to a
container type, scan it for references.
 
Args:
    cls: is the Class of the object that contains this mapping.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Simple(Thing)
    Represents a simple value like a number or a string.
 
 
Method resolution order:
Simple
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, val)
drawme(self, diag, pos, flip, tags=())
Draws the Thing.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Snapframe(__builtin__.object)
    A snapshot of a call frame.
 
  Methods defined here:
__init__(self, tup)
subtract(self, other)
Deletes the keys in other from self.

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class Snapshot(__builtin__.object)
    A snapshot of the call stack.
 
  Methods defined here:
__init__(self)
Converts from the format returned by inspect to a list of frames.
 
Drop the last three frames,
which are the Lumpy functions object_diagram, make_stack,
and Stack.__init__
clean(self, ref)
Remove all the variables in the reference stack from self.
 
NOTE: This currently only works on the top-most frame
spew(self)
Prints the frames in this snapshot.

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class Stack(Thing)
    Represents the call stack.
 
 
Method resolution order:
Stack
Thing
__builtin__.object

Methods defined here:
__init__(self, lumpy, snapshot)
drawme(self, diag, pos, flip, tags=())
Draws the Thing.

Methods inherited from Thing:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods inherited from Thing:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors inherited from Thing:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Thing:
things_created = 0
things_drawn = 0

 
class Thing(__builtin__.object)
    Parent class for objects that have a graphical representation. 
 
Each Thing object corresponds to an item
or set of items in a diagram.  A Thing can only be drawn in
one Diagram at a time.
 
  Methods defined here:
bind(self, tags=None)
Create bindings for the items with the given tags.
down(self, event)
Save state for the beginning of a drag and drop.
 
Callback invoked when the user clicks on an item.
draw(self, diag, pos, flip, tags=())
Draws this Thing at the given position.
 
Most child classes use this method as a template and
override drawme() to provide type-specific behavior.
 
draw() and drawme() are not allowed to modify pos.
 
Args:
   diag: which diagram to draw on
   pos: Point or coordinate pair
   flip: int (1 means draw left to right; flip=-1 means right to left)
   tags: additional tags to apply
 
Returns:
   list of Thing objects
drawme(self, diag, pos, flip, tags)
get_bbox(self)
Returns the bounding box of this object if it is drawn.
isdrawn(self)
Return True if the object has been drawn.
motion(self, event)
Move the Thing during a drag.
 
Callback invoked when the user drags an item
pos(self)
Computes the nominal position of a Thing.
 
Gets the current bounding box and adds the offset.
set_offset(self, pos)
Sets the offset attribute.
 
The offset attribute keeps track of the offset between
the bounding box of the Thing and its nominal position, so
that if the Thing is moved later, we can compute its new
nominal position.
up(self, event)
Release the object being dragged.
 
Callback invoked when the user releases the button.

Static methods defined here:
__new__(cls, *args, **kwds)
Override __new__ so we can count the number of Things.

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
things_created = 0
things_drawn = 0

 
Functions
       
hasclass(obj)
hasdiag(obj)
hasdict(obj)
hasname(obj)
# the following are short functions that check for certain attributes
hasslots(obj)
iscallable(obj)
main(script, *args, **kwds)
make_bindings(lumpy, iterator)
Make bindings for each key-value pair in iterator.
 
The keys are made into Index objects.
make_kvps(lumpy, iterator)
Make bindings for each key-value pair in iterator.
 
The keys are made into Thing objects.
make_thing(lumpy, val)
Make a Thing to represents this value.
 
Either by making a new one or looking up an existing one.
union(one, other)
Returns a new bbox that covers one and other.
 
Assumes that the positive y direction is DOWN.

 
Data
        ALL = 'all'
E = 'e'
FONT = ('Helvetica', 10)
HORIZONTAL = 'horizontal'
LAST = 'last'
MAJOR = 2
MINOR = 7
N = 'n'
S = 's'
SMALLFONT = ('Helvetica', 9)
SW = 'sw'
VERSION = ['2', '7', '4']
W = 'w'