code_uiselectitem.js 3.1 KB

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