code_uimenuitem.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // UIMenuItem and UIMenuItemSource application source code
  2. using System;
  3. using AtomicEngine;
  4. public class code_uimenuitem : CSComponent {
  5. private static UIMenuItemSource mis;
  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], HandleUimenuitemEvent );
  12. }
  13. mis = new UIMenuItemSource();
  14. mis.AddItem( new UIMenuItem( "UISelectItem1", "item1" ) );
  15. mis.AddItem( new UIMenuItem( "UISelectItem2", "item2", "Ctrl+." ) );
  16. mis.AddItem( new UIMenuItem( "UISelectItem3", "item3", "Ctrl+A", "DuckButton" ) );
  17. mis.AddItem( new UIMenuItem( "UISelectItem4", "item4", "Ctrl+O", "LogoAtomic" ) );
  18. }
  19. private static void HandleUimenuitemEvent ( WidgetEvent ev )
  20. {
  21. UIWidget widget = (UIWidget)ev.Target;
  22. string refid = (string)ev.RefID;
  23. if ( widget.Equals(null)) return;
  24. if ( ev.Type == UI_EVENT_TYPE.UI_EVENT_TYPE_CLICK) {
  25. if (widget.GetId() == "uimenuitemcode" ) {
  26. AtomicMain.AppLog( "UIMenuItem support : " + widget.GetId() + " was pressed " );
  27. AtomicMain.ViewCode ( "Components/code_uimenuitem.cs", widget.GetParent() );
  28. }
  29. if (widget.GetId() == "uimenuitemlayout" ) {
  30. AtomicMain.AppLog( "UIMenuItem support : " + widget.GetId() + " was pressed ");
  31. AtomicMain.ViewCode ( "Scenes/layout_uimenuitem.ui.txt", widget.GetParent() );
  32. }
  33. if (widget.GetId() == "uimenuitempush" ) {
  34. UIMenuWindow mymenuwindow = new UIMenuWindow( widget, "MenuItemDemo");
  35. int xx = widget.GetX() + (widget.GetWidth()/2);
  36. int yy = widget.GetY() + (widget.GetHeight()/2);
  37. mymenuwindow.SubscribeToEvent<WidgetEvent> (mymenuwindow, HandleUimenuitemEvent );
  38. mymenuwindow.Show(mis, xx, yy);
  39. }
  40. if (widget.GetId() == "MenuItemDemo" ) {
  41. AtomicMain.AppLog( "UIMenuItem event : " + widget.GetId() + " and " + refid + " was selected ");
  42. }
  43. if (widget.GetId() == "uimi1" ) {
  44. AtomicMain.AppLog( "UIMenuItem action : " + widget.GetId() + " was pressed ");
  45. mis.AddItem( new UIMenuItem( "New UIMenuItem") );
  46. }
  47. if (widget.GetId() == "uimi2" ) {
  48. AtomicMain.AppLog( "UIMenuItem action : " + widget.GetId() + " was pressed ");
  49. mis.AddItem( new UIMenuItem( "Newer UIMenuItem", "neweritem" ) );
  50. }
  51. if (widget.GetId() == "uimi3" ) {
  52. AtomicMain.AppLog( "UIMenuItem action : " + widget.GetId() + " was pressed ");
  53. mis.AddItem( new UIMenuItem( "A Duck", "aduck", "", "DuckButton" ) );
  54. }
  55. if (widget.GetId() == "uimi4" ) {
  56. AtomicMain.AppLog( "UIMenuItem action : " + widget.GetId() + " was pressed ");
  57. mis.AddItem( new UIMenuItem( "Atomic!", "atomic", "", "LogoAtomic" ) );
  58. }
  59. if (widget.GetId() == "uimi5" ) {
  60. AtomicMain.AppLog( "UIMenuItem action : " + widget.GetId() + " was pressed ");
  61. mis.Clear();
  62. }
  63. }
  64. }
  65. }