Format lists properly.
This commit is contained in:
parent
e5bd03ac70
commit
548709c87a
|
|
@ -20,7 +20,7 @@
|
|||
'''
|
||||
from Tkinter import Listbox, SINGLE
|
||||
from Tkdnd import dnd_start
|
||||
from joy.utils.stack import iter_stack, list_to_stack
|
||||
from joy.utils.stack import iter_stack, list_to_stack, expression_to_string
|
||||
|
||||
|
||||
class SourceWrapper:
|
||||
|
|
@ -135,7 +135,7 @@ class StackListbox(ControllerListbox):
|
|||
|
||||
def _update(self):
|
||||
self.delete(0, 'end')
|
||||
self.insert(0, *self.stack)
|
||||
self.insert(0, *map(self.format, self.stack))
|
||||
|
||||
def update_stack(self, stack):
|
||||
self.stack = list(iter_stack(stack))
|
||||
|
|
@ -145,3 +145,9 @@ class StackListbox(ControllerListbox):
|
|||
ControllerListbox.dnd_commit(self, source, event)
|
||||
self._update()
|
||||
self.world.stack = list_to_stack(self.stack)
|
||||
|
||||
@staticmethod
|
||||
def format(item):
|
||||
if isinstance(item, tuple):
|
||||
return '[%s]' % expression_to_string(item)
|
||||
return str(item)
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ values from (at least) one end.
|
|||
|
||||
There is no "Stack" Python class, instead we use the `cons list`_, a
|
||||
venerable two-tuple recursive sequence datastructure, where the
|
||||
empty tuple ``()`` is the empty stack and ``(head, rest)`` gives the recursive
|
||||
form of a stack with one or more items on it::
|
||||
empty tuple ``()`` is the empty stack and ``(head, rest)`` gives the
|
||||
recursive form of a stack with one or more items on it::
|
||||
|
||||
stack := () | (item, stack)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue