WebView.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. "atomic component";
  2. var WIDTH = 1080;
  3. var HEIGHT = 600;
  4. // Create the UI view
  5. var view = new Atomic.UIView();
  6. //UI component
  7. exports.component = function(self) {
  8. var views = [];
  9. function createTab(url) {
  10. var button = new Atomic.UIButton();
  11. button.text = url;
  12. button.urlEnabled = false;
  13. tabLayout.addChild(button);
  14. var webView = new WebView.UIWebView(url);
  15. self.subscribeToEvent(webView.webClient, "WebViewLoadStart", function(data) {
  16. addressEdit.text = data.url;
  17. console.log("WebViewLoadStart: " + data.url);
  18. });
  19. self.subscribeToEvent(webView.webClient, "WebViewLoadEnd", function(data) {
  20. addressEdit.text = data.url;
  21. console.log("WebViewLoadEnd: " + data.url);
  22. });
  23. contentRoot.addChild(webView);
  24. views.push(webView);
  25. }
  26. var window = new Atomic.UIWindow();
  27. window.text = "UIWebView Example Browser";
  28. window.setSize(WIDTH, HEIGHT);
  29. var layout = new Atomic.UILayout();
  30. layout.axis = Atomic.UI_AXIS_Y;
  31. layout.layoutDistribution = Atomic.UI_LAYOUT_DISTRIBUTION_GRAVITY;
  32. layout.gravity = Atomic.UI_GRAVITY_ALL;
  33. // address bar
  34. var addressLayout = new Atomic.UILayout();
  35. addressLayout.gravity = Atomic.UI_GRAVITY_ALL;
  36. addressLayout.layoutDistribution = Atomic.UI_LAYOUT_DISTRIBUTION_GRAVITY;
  37. var backButton = new Atomic.UIButton();
  38. backButton.text = "Back";
  39. addressLayout.addChild(backButton);
  40. var fwdButton = new Atomic.UIButton();
  41. fwdButton.text = "Forward";
  42. addressLayout.addChild(fwdButton);
  43. var reloadButton = new Atomic.UIButton();
  44. reloadButton.text = "Reload";
  45. addressLayout.addChild(reloadButton);
  46. var homeButton = new Atomic.UIButton();
  47. homeButton.text = "Home";
  48. addressLayout.addChild(homeButton);
  49. var addressEdit = new Atomic.UIEditField();
  50. addressEdit.gravity = Atomic.UI_GRAVITY_ALL;
  51. addressLayout.addChild(addressEdit);
  52. layout.addChild(addressLayout);
  53. // bookmark bar
  54. var bookmarkLayout = new Atomic.UILayout();
  55. bookmarkLayout.gravity = Atomic.UI_GRAVITY_ALL;
  56. var atomicButton = new Atomic.UIButton();
  57. atomicButton.text = "Atomic Game Engine";
  58. atomicButton.skinBg = "TBButton.flat";
  59. bookmarkLayout.addChild(atomicButton);
  60. atomicButton.onClick = function() {
  61. views[0].webClient.loadURL("http://www.atomicgameengine.com");
  62. }
  63. var youtubeButton = new Atomic.UIButton();
  64. youtubeButton.text = "YouTube";
  65. youtubeButton.skinBg = "TBButton.flat";
  66. youtubeButton.onClick = function() {
  67. views[0].webClient.loadURL("https://www.youtube.com");
  68. }
  69. bookmarkLayout.addChild(youtubeButton);
  70. layout.addChild(bookmarkLayout);
  71. var tabContainer = new Atomic.UITabContainer();
  72. tabContainer.gravity = Atomic.UI_GRAVITY_ALL;
  73. var contentRoot = tabContainer.contentRoot;
  74. var tabLayout = tabContainer.tabLayout;
  75. createTab("http://atomicgameengine.com/blog/development-digest-4/");
  76. //createTab("https://store.steampowered.com/");
  77. //createTab("https://github.com/AtomicGameEngine/AtomicGameEngine");
  78. // Add to main UI view and center
  79. layout.addChild(tabContainer);
  80. window.addChild(layout);
  81. view.addChild(window);
  82. window.center();
  83. tabContainer.currentPage = 0;
  84. }
  85. // The Web View
  86. //var webView = new WebView.UIWebView("https://ace.c9.io/build/kitchen-sink.html");
  87. //var webView = new WebView.UIWebView("https://store.steampowered.com");
  88. //var webView = new WebView.UIWebView("https://pixlcore.com/demos/webcamjs/demos/basic.html");
  89. //var webView = new WebView.UIWebView("https://getmosh.io/");
  90. //var webView = new WebView.UIWebView("http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_textarea");