class documentation

An abstract class for canvas widgets that contain a single child, such as BoxWidget and OvalWidget. Subclasses must define a constructor, which should create any new graphical elements and then call the AbstractCanvasContainer constructor. Subclasses must also define the _update method and the _tags method; and any subclasses that define attributes should define __setitem__ and __getitem__.

Method __init__ Create a new container widget. This constructor should only be called by subclass constructors.
Method __repr__ No summary
Method child No summary
Method set_child Change the child widget contained by this container widget.
Method _manage Arrange the child widgets of this canvas widget. This method is called when the canvas widget is initially created. It is also called if the user calls the manage method on this canvas widget or any of its ancestors.
Instance Variable _child Undocumented

Inherited from CanvasWidget:

Method __getitem__ No summary
Method __setitem__ Set the value of the attribute attr to value. See the class documentation for a list of attributes supported by this canvas widget.
Method bbox No summary
Method bind_click Register a new callback that will be called whenever this CanvasWidget is clicked on.
Method bind_drag Register a new callback that will be called after this CanvasWidget is dragged. This implicitly makes this CanvasWidget draggable.
Method canvas No summary
Method child_widgets No summary
Method destroy Remove this CanvasWidget from its Canvas. After a CanvasWidget has been destroyed, it should not be accessed.
Method height No summary
Method hidden No summary
Method hide Temporarily hide this canvas widget.
Method manage Arrange this canvas widget and all of its descendants.
Method move Move this canvas widget by a given distance. In particular, shift the canvas widget right by dx pixels, and down by dy pixels. Both dx and dy may be negative, resulting in leftward or upward movement.
Method moveto Move this canvas widget to the given location. In particular, shift the canvas widget such that the corner or side of the bounding box specified by anchor is at location (x, y).
Method parent No summary
Method show Show a hidden canvas widget.
Method tags No summary
Method unbind_click Remove a callback that was registered with bind_click.
Method unbind_drag Remove a callback that was registered with bind_drag.
Method update Update the graphical display of this canvas widget, and all of its ancestors, in response to a change in one of this canvas widget's children.
Method width No summary
Method __click If this CanvasWidget has a drag callback, then call it; otherwise, find the closest ancestor with a click callback, and call it. If no ancestors have a click callback, do nothing.
Method __drag If this CanvasWidget has a drag callback, then call it; otherwise, find the closest ancestor with a drag callback, and call it. If no ancestors have a drag callback, do nothing.
Method __motion_cb move this object to the new location
Method __press_cb record the button press event in self.__press
Method __release_cb unregister motion & button release callbacks.
Method __start_drag register a motion callback
Method _add_child_widget Register a hierarchical child widget. The child will be considered part of this canvas widget for purposes of user interaction. _add_child_widget has two direct effects:
Method _remove_child_widget Remove a hierarchical child widget. This child will no longer be considered part of this canvas widget for purposes of user interaction. _add_child_widget has two direct effects:
Method _tags No summary
Method _update Update this canvas widget in response to a change in one of its children.
Instance Variable __callbacks Registered callbacks. Currently, four keys are used: 1, 2, 3, and 'drag'. The values are callback functions. Each callback function takes a single argument, which is the CanvasWidget that triggered the callback.
Instance Variable __canvas This CanvasWidget's canvas.
Instance Variable __children This CanvasWidget's hierarchical child widgets.
Instance Variable __drag_x Where it's been moved to (to find dx)
Instance Variable __drag_y Where it's been moved to (to find dy)
Instance Variable __draggable Is this canvas widget draggable?
Instance Variable __hidden Undocumented
Instance Variable __parent This CanvasWidget's hierarchical parent widget.
Instance Variable __press The ButtonPress event that we're currently handling.
Instance Variable __updating Is this canvas widget currently performing an update? If it is, then it will ignore any new update requests from child widgets.
def __init__(self, canvas, child, **attribs): (source)

Create a new container widget. This constructor should only be called by subclass constructors.

Parameters
canvas:Tkinter.CanvasThis canvas widget's canvas.
child:CanvasWidgetThe container's child widget. child must not have a parent.
**attribsThe new canvas widget's attributes.
def __repr__(self): (source)
Returns
stra string representation of this canvas widget.
def child(self): (source)
Returns
CanvasWidgetThe child widget contained by this container widget.
def set_child(self, child): (source)

Change the child widget contained by this container widget.

Parameters
child:CanvasWidgetThe new child widget. child must not have a parent.
Returns
NoneUndocumented
def _manage(self): (source)

Arrange the child widgets of this canvas widget. This method is called when the canvas widget is initially created. It is also called if the user calls the manage method on this canvas widget or any of its ancestors.

Returns
NoneUndocumented