english
ENGINE.previous_displayed_screen = ARRAY
ENGINE.display_screen = FUNCTION (screen, remember_old_screen)
if screen.structure_type != UNDEFINED && screen != displayed_screen
if remember_old_screen
previous_displayed_screen[] = displayed_screen
displayed_screen = screen
// debug start
debug("displayed screen history")
LOCAL.i = previous_displayed_screen.size - 1
while i >= 0
debug(" " + previous_displayed_screen[i].title)
i = i - 1
// debug end
repaint()
ENGINE.display_previous_screen = FUNCTION
if previous_displayed_screen.size > 0
displayed_screen = delete(previous_displayed_screen, previous_displayed_screen.size-1)
// debug start
debug("displayed screen history")
LOCAL.i = previous_displayed_screen.size - 1
while i >= 0
debug(" " + previous_displayed_screen[i].title)
i = i - 1
// debug end
repaint()
ENGINE.get_previous_screen = FUNCTION
if previous_displayed_screen.size > 0
return_value = previous_displayed_screen[previous_displayed_screen.size-1]