class documentation

A canvas widget that displays a single segment of a hierarchical tree. Each TreeSegmentWidget connects a single "node widget" to a sequence of zero or more "subtree widgets". By default, the bottom of the node is connected to the top of each subtree by a single line. However, if the roof attribute is set, then a single triangular "roof" will connect the node to all of its children.

Attributes:
  • roof: What sort of connection to draw between the node and its subtrees. If roof is true, draw a single triangular "roof" over the subtrees. If roof is false, draw a line between each subtree and the node. Default value is false.
  • xspace: The amount of horizontal space to leave between subtrees when managing this widget. Default value is 10.
  • yspace: The amount of space to place between the node and its children when managing this widget. Default value is 15.
  • color: The color of the lines connecting the node to its subtrees; and of the outline of the triangular roof. Default value is '#006060'.
  • fill: The fill color for the triangular roof. Default value is '' (no fill).
  • width: The width of the lines connecting the node to its subtrees; and of the outline of the triangular roof. Default value is 1.
  • orientation: Determines whether the tree branches downwards or rightwards. Possible values are 'horizontal' and 'vertical'. The default value is 'vertical' (i.e., branch downwards).
  • draggable: whether the widget can be dragged by the user.
Method __getitem__ No summary
Method __init__ No summary
Method __repr__ 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 insert_child Undocumented
Method label Undocumented
Method remove_child Undocumented
Method replace_child Replace the child oldchild with newchild.
Method set_label Set the node label to label.
Method subtrees Undocumented
Method _maintain_order Undocumented
Method _maintain_order_horizontal Undocumented
Method _maintain_order_vertical Undocumented
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.
Method _manage_horizontal Undocumented
Method _manage_vertical Undocumented
Method _node_bottom Undocumented
Method _subtree_top Undocumented
Method _tags No summary
Method _update Update this canvas widget in response to a change in one of its children.
Instance Variable _horizontal Undocumented
Instance Variable _label Undocumented
Instance Variable _lines Undocumented
Instance Variable _managing Undocumented
Instance Variable _ordered Undocumented
Instance Variable _polygon Undocumented
Instance Variable _roof Undocumented
Instance Variable _subtrees Undocumented
Instance Variable _xspace Undocumented
Instance Variable _yspace Undocumented

Inherited from CanvasWidget:

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:
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 __getitem__(self, attr): (source)
Returns
(any)the value of the attribute attr. See the class documentation for a list of attributes supported by this canvas widget.
def __init__(self, canvas, label, subtrees, **attribs): (source)
Parameters
canvasUndocumented
labelUndocumented
subtrees:list(CanvasWidgetI)Undocumented
node:Undocumented
**attribsUndocumented
def __repr__(self): (source)
Returns
stra string representation of this canvas widget.
def __setitem__(self, attr, value): (source)

Set the value of the attribute attr to value. See the class documentation for a list of attributes supported by this canvas widget.

Returns
NoneUndocumented
def insert_child(self, index, child): (source)

Undocumented

def label(self): (source)

Undocumented

def remove_child(self, child): (source)

Undocumented

def replace_child(self, oldchild, newchild): (source)

Replace the child oldchild with newchild.

def set_label(self, label): (source)

Set the node label to label.

def subtrees(self): (source)

Undocumented

def _maintain_order(self, child): (source)

Undocumented

def _maintain_order_horizontal(self, child): (source)

Undocumented

def _maintain_order_vertical(self, child): (source)

Undocumented

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
def _manage_horizontal(self): (source)

Undocumented

def _manage_vertical(self): (source)

Undocumented

def _node_bottom(self): (source)

Undocumented

def _subtree_top(self, child): (source)

Undocumented

def _tags(self): (source)
Returns
list of inta list of canvas tags for all graphical elements managed by this canvas widget, not including graphical elements managed by its child widgets.
def _update(self, child): (source)

Update this canvas widget in response to a change in one of its children.

Parameters
child:CanvasWidgetThe child that changed.
Returns
NoneUndocumented
_horizontal: int = (source)

Undocumented

Undocumented

Undocumented

_managing: bool = (source)

Undocumented

_ordered: bool = (source)

Undocumented

_polygon = (source)

Undocumented

Undocumented

_subtrees = (source)

Undocumented

_xspace: int = (source)

Undocumented

_yspace: int = (source)

Undocumented