Update view of stack at start.
This commit is contained in:
parent
663753a770
commit
a3e49a75f0
|
|
@ -20,7 +20,7 @@
|
|||
'''
|
||||
from Tkinter import Listbox, SINGLE
|
||||
from Tkdnd import dnd_start
|
||||
from joy.utils.stack import list_to_stack
|
||||
from joy.utils.stack import iter_stack, list_to_stack
|
||||
|
||||
|
||||
class SourceWrapper:
|
||||
|
|
@ -137,6 +137,10 @@ class StackListbox(ControllerListbox):
|
|||
self.delete(0, 'end')
|
||||
self.insert(0, *self.stack)
|
||||
|
||||
def update_stack(self, stack):
|
||||
self.stack = list(iter_stack(stack))
|
||||
self._update()
|
||||
|
||||
def dnd_commit(self, source, event):
|
||||
ControllerListbox.dnd_commit(self, source, event)
|
||||
self._update()
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ from inspect import getdoc
|
|||
from joy.joy import run
|
||||
from joy.library import HELP_TEMPLATE
|
||||
from joy.parser import Symbol
|
||||
from joy.utils.stack import iter_stack, stack_to_string
|
||||
from joy.utils.stack import stack_to_string
|
||||
from joy.utils.types import type_check
|
||||
from .utils import is_numerical
|
||||
|
||||
|
|
@ -160,10 +160,10 @@ class StackWorld(StackDisplayWorld):
|
|||
|
||||
def set_viewer(self, viewer):
|
||||
self.viewer = viewer
|
||||
self.viewer.update_stack(self.stack)
|
||||
|
||||
def print_stack(self):
|
||||
StackDisplayWorld.print_stack(self)
|
||||
if self.viewer:
|
||||
self.viewer.stack = list(iter_stack(self.stack))
|
||||
self.viewer._update()
|
||||
self.viewer.update_stack(self.stack)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
from Tkinter import Tk, mainloop, BOTH
|
||||
from joy.gui.controllerlistbox import ControllerListbox
|
||||
|
||||
|
||||
class StackListbox(ControllerListbox):
|
||||
|
||||
def _update(self):
|
||||
self.delete(0, 'end')
|
||||
self.insert(0, *self.stack)
|
||||
|
||||
def dnd_commit(self, source, event):
|
||||
ControllerListbox.dnd_commit(self, source, event)
|
||||
self._update()
|
||||
|
||||
|
||||
T = Tk()
|
||||
T.title("Hello there.")
|
||||
stack = [1, 2, 3]
|
||||
lb = FooListbox(T, items=stack)
|
||||
lb.pack(expand=True, fill=BOTH)
|
||||
lb._update()
|
||||
Loading…
Reference in New Issue