/tutorial/plugin/mini_gtk/gtk_initialiser.e

http://github.com/tybor/Liberty · Specman e · 51 lines · 46 code · 5 blank · 0 comment · 0 complexity · d2b7c29e5e3a37222b40fa53932faf87 MD5 · raw file

  1. expanded class GTK_INITIALISER
  2. insert
  3. GTK_ARGUMENTS
  4. creation {} -- for Cecil
  5. init_from_c
  6. feature {}
  7. init_from_c is
  8. local
  9. argc, i: INTEGER
  10. argv: NATIVE_ARRAY[POINTER]
  11. s: STRING
  12. p: POINTER
  13. do
  14. argc := command_arguments.count
  15. argv := argv.calloc(argc)
  16. from
  17. i := argc - 1
  18. until
  19. i < 0
  20. loop
  21. s := command_arguments.item(i)
  22. argv.put(s.to_external, i)
  23. i := i - 1
  24. end
  25. argc := gtk_init(argc, argv.to_external)
  26. command_arguments.resize(argc)
  27. from
  28. i := argc - 1
  29. until
  30. i < 0
  31. loop
  32. p := argv.item(i)
  33. create s.from_external_copy(p)
  34. command_arguments.put(s, i)
  35. i := i - 1
  36. end
  37. end
  38. gtk_init (argc: INTEGER; argv: POINTER): INTEGER is
  39. external "plug_in"
  40. alias "{
  41. location: "."
  42. module_name: "plugin"
  43. feature_name: "mini_gtk_init"
  44. }"
  45. end
  46. end -- class GTK_INITIALISER