code_uiselectitem.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. // UISelectItem and UISelectItemSource application source code
  2. 'use strict';
  3. var utils = require("Scripts/utils");
  4. exports.init = function(mylayout,mylogger) {
  5. //
  6. // action functions
  7. //
  8. var mylist = new Atomic.UISelectList();
  9. mylist.id = "UISelectItemList"; // tag it, in case we want to get it again later
  10. var lpx = new Atomic.UILayoutParams(); // size it just right
  11. lpx.width = 200;
  12. lpx.height = 256;
  13. lpx.minWidth = 200;
  14. lpx.minHeight = 256;
  15. lpx.maxWidth = 200;
  16. lpx.maxHeight = 256;
  17. mylist.layoutParams = lpx;
  18. var lower = mylayout.getWidget("selectitemlower"); // get the container layout
  19. var myc = mylayout.getWidget("selectitemlayout"); // get the container layout
  20. myc.addChildBefore(mylist, lower); // drop it in
  21. var sis = new Atomic.UISelectItemSource(); // make the selectitemsource
  22. // put in some default UISelectItems
  23. sis.addItem( new Atomic.UISelectItem( "UISelectItem1", "item1" ) );
  24. sis.addItem( new Atomic.UISelectItem( "UISelectItem2", "item2", "DuckButton" ) );
  25. sis.addItem( new Atomic.UISelectItem( "UISelectItem3", "item3", "LogoAtomic" ) );
  26. mylist.setSource(sis);
  27. var button1 = mylayout.getWidget("uisi1");
  28. button1.onClick = function () {
  29. mylogger.setText( "UISelectItem action : " + button1.id + " was pressed ");
  30. sis.addItem( new Atomic.UISelectItem( "New UISelectItem") );
  31. mylist.setSource(sis);
  32. };
  33. var button2 = mylayout.getWidget("uisi2");
  34. button2.onClick = function () {
  35. mylogger.setText( "UISelectItem action : " + button2.id + " was pressed ");
  36. sis.addItem( new Atomic.UISelectItem( "Newer UISelectItem", "neweritem" ) );
  37. mylist.setSource(sis);
  38. };
  39. var button3 = mylayout.getWidget("uisi3");
  40. button3.onClick = function () {
  41. mylogger.setText( "UISelectItem action : " + button3.id + " was pressed ");
  42. sis.addItem( new Atomic.UISelectItem( "A Duck", "aduck", "DuckButton" ) );
  43. mylist.setSource(sis);
  44. };
  45. var button4 = mylayout.getWidget("uisi4");
  46. button4.onClick = function () {
  47. mylogger.setText( "UISelectItem action : " + button4.id + " was pressed ");
  48. sis.addItem( new Atomic.UISelectItem( "Atomic!", "atomic", "LogoAtomic" ) );
  49. mylist.setSource(sis);
  50. };
  51. var button5 = mylayout.getWidget("uisi5");
  52. button5.onClick = function () {
  53. mylogger.setText( "UISelectItem action : " + button5.id + " was pressed ");
  54. sis.clear();
  55. mylist.setSource(sis);
  56. };
  57. //
  58. // widget event functions
  59. //
  60. mylist.subscribeToEvent( mylist, "WidgetEvent", function (ev) {
  61. if ( ev.type == Atomic.UI_EVENT_TYPE_CLICK)
  62. mylogger.setText( "UISelectItem event : " + mylist.id + " selected entry = `" + mylist.getSelectedItemString() + "` value = " + mylist.value);
  63. });
  64. //
  65. // support functions
  66. //
  67. var button9 = mylayout.getWidget("uiselectitemcode");
  68. button9.onClick = function () {
  69. mylogger.setText( "UISelectItem support : " + button9.id + " was pressed ");
  70. utils.viewCode ( "Components/code_uiselectitem.js", mylayout );
  71. };
  72. var button8 = mylayout.getWidget("uiselectitemlayout");
  73. button8.onClick = function () {
  74. mylogger.setText( "UISelectItem support : " + button8.id + " was pressed ");
  75. utils.viewCode ( "Scenes/layout_uiselectitem.ui.txt", mylayout );
  76. };
  77. };