/tutorial/vision/multi_tasking/example1.e

http://github.com/tybor/Liberty · Specman e · 47 lines · 36 code · 7 blank · 4 comment · 0 complexity · b203d752c09bbbfcacebd8533fd217c5 MD5 · raw file

  1. class EXAMPLE1
  2. --
  3. -- This example show how to use background periodic job
  4. --
  5. inherit
  6. GRAPHIC
  7. creation {ANY}
  8. make
  9. feature {}
  10. make is
  11. local
  12. toplevel_window: TOPLEVEL_WINDOW; clock_window: SUB_WINDOW
  13. do
  14. create toplevel_window
  15. -- The default layout is column.
  16. create clock_window.make_layout(toplevel_window, create {KITCHEN_CLOCK})
  17. clock_window.set_x_expand(True)
  18. clock_window.set_y_expand(True)
  19. clock_window.map
  20. toplevel_window.child_attach(create {HORIZONTAL_LINE})
  21. add_controls(toplevel_window)
  22. toplevel_window.set_title("Background example")
  23. toplevel_window.set_background_color(white_color)
  24. toplevel_window.map
  25. vision.start
  26. end
  27. add_controls (window: WINDOW) is
  28. local
  29. container: CONTAINER; layout: ROW_LAYOUT; exit_button: BUTTON
  30. do
  31. create layout
  32. create container.make_layout(window, layout)
  33. container.set_x_expand(True)
  34. layout.set_border(5)
  35. layout.set_spacing(5)
  36. layout.insert_button_space
  37. create exit_button.with_label(container, U"Exit")
  38. exit_button.when_left_clicked(agent vision.loop_stack.break)
  39. end
  40. end -- class EXAMPLE1