class documentation

A canvas widget that displays special symbols, such as the negation sign and the exists operator. Symbols are specified by name. Currently, the following symbol names are defined: neg, disj, conj, lambda, merge, forall, exists, subseteq, subset, notsubset, emptyset, imp, rightarrow, equal, notequal, epsilon.

Attributes:

  • color: the color of the text.
  • draggable: whether the text can be dragged by the user.
Static Method symbolsheet Open a new Tkinter window that displays the entire alphabet for the symbol font. This is useful for constructing the SymbolWidget.SYMBOLS dictionary.
Method __init__ Create a new symbol widget.
Method __repr__ No summary
Method set_symbol Change the symbol that is displayed by this symbol widget.
Method symbol No summary
Constant SYMBOLS A dictionary mapping from symbols to the character in the symbol font used to render them.
Instance Variable _symbol Undocumented

Inherited from TextWidget:

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 set_text Change the text that is displayed by this text widget.
Method text No summary
Method _tags No summary
Instance Variable _tag Undocumented
Instance Variable _text Undocumented

Inherited from CanvasWidget (via TextWidget):

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 _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 _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 _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.
@staticmethod
def symbolsheet(size=20): (source)

Open a new Tkinter window that displays the entire alphabet for the symbol font. This is useful for constructing the SymbolWidget.SYMBOLS dictionary.

def __init__(self, canvas, symbol, **attribs): (source)

Create a new symbol widget.

Parameters
canvas:Tkinter.CanvasThis canvas widget's canvas.
symbol:strThe name of the symbol to display.
**attribsThe new canvas widget's attributes.
def __repr__(self): (source)
Returns
stra string representation of this canvas widget.
def set_symbol(self, symbol): (source)

Change the symbol that is displayed by this symbol widget.

Parameters
symbol:strThe name of the symbol to display.
def symbol(self): (source)
Returns
strthe name of the symbol that is displayed by this symbol widget.

A dictionary mapping from symbols to the character in the symbol font used to render them.

Value
{'neg': 'Ø',
 'disj': 'Ú',
 'conj': 'Ù',
 'lambda': 'l',
 'merge': 'Ä',
 'forall': '"',
 'exists': '$',
...

Undocumented