code_uiselectitem.cs 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. // UISelectItem and UISelectItemSource application source code
  2. using System;
  3. using AtomicEngine;
  4. public class code_uiselectitem : CSComponent {
  5. private static UISelectItemSource sis;
  6. public void Setup( UIWidget layout )
  7. {
  8. var dest = new AtomicEngine.Vector<AtomicEngine.UIWidget>();
  9. layout.SearchWidgetClass( "TBButton", dest );
  10. for (var ii = 0; ii < dest.Size; ii++) {
  11. dest[ii].SubscribeToEvent<WidgetEvent> (dest [ii], HandleUiselectitemEvent );
  12. }
  13. UISelectList mylist = new UISelectList();
  14. mylist.SetId( "UISelectItemList"); // tag it, in case we want to get it again later
  15. UILayoutParams lpx = new UILayoutParams();
  16. lpx.SetWidth (200);
  17. lpx.SetHeight(256);
  18. lpx.SetMinWidth(200);
  19. lpx.SetMinHeight(256);
  20. lpx.SetMaxWidth (200);
  21. lpx.SetMaxHeight(256);
  22. mylist.SetLayoutParams(lpx);
  23. UIWidget lower = layout.GetWidget("selectitemlower");
  24. UIWidget mysvc = layout.GetWidget("selectitemlayout");
  25. mysvc.AddChildBefore(mylist, lower);
  26. mylist.SubscribeToEvent<WidgetEvent> (mylist, HandleUiselectitemEvent );
  27. sis = new UISelectItemSource();
  28. sis.AddItem( new UISelectItem( "UISelectItem1", "sitem1" ) );
  29. sis.AddItem( new UISelectItem( "UISelectItem2", "sitem2" ) );
  30. sis.AddItem( new UISelectItem( "UISelectItem3", "sitem3", "DuckButton" ) );
  31. sis.AddItem( new UISelectItem( "UISelectItem4", "sitem4", "LogoAtomic" ) );
  32. mylist.SetSource(sis); // assign this into the list
  33. }
  34. private static void HandleUiselectitemEvent ( WidgetEvent ev )
  35. {
  36. UIWidget widget = (UIWidget)ev.Target;
  37. string refid = (string)ev.RefID;
  38. if ( widget.Equals(null)) return;
  39. if ( ev.Type == UI_EVENT_TYPE.UI_EVENT_TYPE_CLICK) {
  40. if (widget.GetId() == "uiselectitemcode" ) {
  41. AtomicMain.AppLog( "UISelectItem support : " + widget.GetId() + " was pressed " );
  42. AtomicMain.ViewCode ( "Components/code_uiselectitem.cs", widget.GetParent() );
  43. }
  44. if (widget.GetId() == "uiselectitemlayout" ) {
  45. AtomicMain.AppLog( "UISelectItem support : " + widget.GetId() + " was pressed ");
  46. AtomicMain.ViewCode ( "Scenes/layout_uiselectitem.ui.txt", widget.GetParent() );
  47. }
  48. if (widget.GetId() == "UISelectItemList" ) {
  49. AtomicMain.AppLog( "UISelectItem event : " + widget.GetId() + " and " + refid + " was selected ");
  50. }
  51. if (widget.GetId() == "uisi1" ) {
  52. AtomicMain.AppLog( "UISelectItem action : " + widget.GetId() + " was pressed ");
  53. UISelectList slist = (UISelectList)widget.FindWidget("UISelectItemList");
  54. sis.AddItem( new UISelectItem( "New UISelectItem") );
  55. slist.SetSource(sis);
  56. }
  57. if (widget.GetId() == "uisi2" ) {
  58. AtomicMain.AppLog( "UISelectItem action : " + widget.GetId() + " was pressed ");
  59. UISelectList slist = (UISelectList)widget.FindWidget("UISelectItemList");
  60. sis.AddItem( new UISelectItem( "Newer UISelectItem", "neweritem" ) );
  61. slist.SetSource(sis);
  62. }
  63. if (widget.GetId() == "uisi3" ) {
  64. AtomicMain.AppLog( "UISelectItem action : " + widget.GetId() + " was pressed ");
  65. UISelectList slist = (UISelectList)widget.FindWidget("UISelectItemList");
  66. sis.AddItem( new UISelectItem( "A Duck", "aduck", "DuckButton" ) );
  67. slist.SetSource(sis);
  68. }
  69. if (widget.GetId() == "uisi4" ) {
  70. AtomicMain.AppLog( "UISelectItem action : " + widget.GetId() + " was pressed ");
  71. UISelectList slist = (UISelectList)widget.FindWidget("UISelectItemList");
  72. sis.AddItem( new UISelectItem( "Atomic!", "atomic", "LogoAtomic" ) );
  73. slist.SetSource(sis);
  74. }
  75. if (widget.GetId() == "uisi5" ) {
  76. AtomicMain.AppLog( "UISelectItem action : " + widget.GetId() + " was pressed ");
  77. UISelectList slist = (UISelectList)widget.FindWidget("UISelectItemList");
  78. sis.Clear();
  79. slist.SetSource(sis);
  80. }
  81. }
  82. }
  83. }