code_uilistview.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. 'use strict';
  2. var utils = require("Scripts/utils");
  3. exports.init = function(mylayout,mylogger) {
  4. var mlvw = mylayout.getWidget("UIListViewDemo"); // get the container
  5. if (mlvw !== null) {
  6. mylogger.setText( "UIListView : already initialized");
  7. return; // already initialized.
  8. }
  9. // note : the UIListView widget does not have a corresponding Turbobadger widget, its ALL Atomic.
  10. // so we have to build it in source code / scripting
  11. var myListview = new Atomic.UIListView(); // make a List...view
  12. myListview.id = "UIListViewDemo"; // tag it, in case we want to get it again later
  13. var lpx = new Atomic.UILayoutParams(); // size it just right
  14. lpx.width = 256;
  15. lpx.height = 256;
  16. lpx.minWidth = 256;
  17. lpx.minHeight = 256;
  18. lpx.maxWidth = 256;
  19. lpx.maxHeight = 256;
  20. myListview.layoutParams = lpx;
  21. var mylvc = mylayout.getWidget("listviewcontainer"); // get the container layout
  22. mylvc.addChild(myListview); // drop it in
  23. // OMG what the heck was he thinking!
  24. // there is no external way of converting a name to an itemLookup_ ???
  25. var rootsids = []; // now fill it up
  26. var id1 = myListview.addRootItem("root1", "", "root1");
  27. rootsids.push(id1);
  28. var id2 = myListview.addChildItem(id1, "rootish2", "", "root2");
  29. rootsids.push(id2);
  30. var id3 = myListview.addChildItem(id1, "rootish3", "", "root3");
  31. rootsids.push(id3);
  32. var id4 = myListview.addChildItem(id1, "rootish4", "", "root4");
  33. rootsids.push(id4);
  34. var id5 = myListview.addChildItem(id1, "rootish5", "", "root5");
  35. rootsids.push(id5);
  36. var nn;
  37. for ( nn=7; nn<55; nn++)
  38. rootsids.push( myListview.addChildItem(id2, "child " + nn, "", "child " + nn ) );
  39. myListview.setExpanded(id1,true);
  40. myListview.setExpanded(id2,false);
  41. myListview.subscribeToEvent("UIListViewSelectionChanged", function (ev) {
  42. var selectedId = myListview.selectedItemID; /// hmmm same as the refid...
  43. mylogger.setText( "UIListView action : " + myListview.id + " refid=" + ev.refid + " selected=" + ev.selected + " sid=" + selectedId );
  44. });
  45. /*
  46. myListview.subscribeToEvent( "WidgetEvent", function (ev) {
  47. //if ( ev.target == myListview ) // ev.type == Atomic.UI_EVENT_TYPE_CLICK &&" selected entry id = " + ev.refID +
  48. mylogger.setText( "UIListView action : " + myListview.id + " target= `" + ev.target.id + "` refID=`" + ev.refID + "` event type = " + ev.type);
  49. });
  50. */
  51. };