/tutorial/vision/widget/combo_demo.e

http://github.com/tybor/Liberty · Specman e · 81 lines · 70 code · 10 blank · 1 comment · 0 complexity · dee87a7f73f59d4c116cef4681f00d77 MD5 · raw file

  1. class COMBO_DEMO
  2. -- Show how to use COMBO to allow selection from pre-defined values.
  3. inherit
  4. GRAPHIC
  5. creation {ANY}
  6. make
  7. feature {}
  8. make is
  9. local
  10. toplevel_window: TOPLEVEL_WINDOW; language, day: COMBO
  11. do
  12. create toplevel_window.default_create
  13. toplevel_window.when_close_requested(agent vision.loop_stack.break)
  14. toplevel_window.set_background_color(light_grey_color)
  15. create language.with_text(toplevel_window, languages_names_list)
  16. language.map
  17. create day.with_text(toplevel_window, days_names_list_en)
  18. day.map
  19. language.when_value_change(agent change_language(day, ?))
  20. toplevel_window.map
  21. vision.start
  22. end
  23. change_language (c: COMBO; i: INTEGER) is
  24. local
  25. memo: INTEGER
  26. do
  27. memo := c.active_item
  28. c.change_items_with_text(languages_list.item(i))
  29. c.activate(memo)
  30. end
  31. languages_list: FAST_ARRAY[FAST_ARRAY[UNICODE_STRING]] is
  32. once
  33. Result := {FAST_ARRAY[FAST_ARRAY[UNICODE_STRING]] << days_names_list_en,
  34. days_names_list_es,
  35. days_names_list_fr >> }
  36. end
  37. languages_names_list: FAST_ARRAY[UNICODE_STRING] is
  38. once
  39. Result := {FAST_ARRAY[UNICODE_STRING] <<U"English", U"Spanish", U"French">> }
  40. end
  41. days_names_list_en: FAST_ARRAY[UNICODE_STRING] is
  42. once
  43. Result := {FAST_ARRAY[UNICODE_STRING] << U"Monday",
  44. U"Tuesday",
  45. U"Wednesday",
  46. U"Thursday",
  47. U"Friday",
  48. U"Saturday",
  49. U"Sunday" >> }
  50. end
  51. days_names_list_es: FAST_ARRAY[UNICODE_STRING] is
  52. once
  53. Result := {FAST_ARRAY[UNICODE_STRING] << U"Lunes",
  54. U"Martes",
  55. U"Miercoles",
  56. U"Jueves",
  57. U"Viernes",
  58. U"Sabado",
  59. U"Domingo" >> }
  60. end
  61. days_names_list_fr: FAST_ARRAY[UNICODE_STRING] is
  62. once
  63. Result := {FAST_ARRAY[UNICODE_STRING] << U"Lundi",
  64. U"Mardi",
  65. U"Mercredi",
  66. U"Jeudi",
  67. U"Vendredi",
  68. U"Samedi",
  69. U"Dimanche" >> }
  70. end
  71. end -- class COMBO_DEMO