code_uieditfield.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // UIEditField application source code
  2. using System;
  3. using AtomicEngine;
  4. public class code_uieditfield : CSComponent {
  5. public void Setup( UIWidget layout )
  6. {
  7. var dest = new AtomicEngine.Vector<AtomicEngine.UIWidget>();
  8. layout.SearchWidgetClass( "TBButton", dest );
  9. for (var ii = 0; ii < dest.Size; ii++) {
  10. dest[ii].SubscribeToEvent<WidgetEvent> (dest [ii], HandleUieditfieldEvent );
  11. }
  12. UIWidget demo1 = layout.GetWidget ("editfieldsingle");
  13. if ( !demo1.Equals(null))
  14. demo1.SubscribeToEvent<WidgetEvent> ( demo1, HandleUieditfieldEvent );
  15. UIWidget demo2 = layout.GetWidget ("editfieldmulti");
  16. if ( !demo2.Equals(null))
  17. demo2.SubscribeToEvent<WidgetEvent> ( demo2, HandleUieditfieldEvent );
  18. }
  19. private static void HandleUieditfieldEvent( WidgetEvent ev )
  20. {
  21. UIWidget widget = (UIWidget)ev.Target;
  22. if ( widget.Equals(null)) return;
  23. if ( ev.Type == UI_EVENT_TYPE.UI_EVENT_TYPE_CLICK) {
  24. if (widget.GetId() == "uieditfieldcode" ) {
  25. AtomicMain.AppLog( "UIEditField support : " + widget.GetId() + " was pressed " );
  26. AtomicMain.ViewCode ( "Components/code_uieditfield.cs", widget.GetParent() );
  27. }
  28. if (widget.GetId() == "uieditfieldlayout" ) {
  29. AtomicMain.AppLog( "UIEditField support : " + widget.GetId() + " was pressed ");
  30. AtomicMain.ViewCode ( "Scenes/layout_uieditfield.ui.txt", widget.GetParent() );
  31. }
  32. if (widget.GetId() == "editfieldadd" ) {
  33. AtomicMain.AppLog( "UIEditField action : " + widget.GetId() + " was pressed ");
  34. UIEditField ef1 = (UIEditField)widget.FindWidget("editfieldmulti");
  35. if ( !ef1.Equals(null)) {
  36. var cache = GetSubsystem<ResourceCache>();
  37. File filex = cache.GetFile("Scenes/layout_uieditfield.ui.txt");
  38. String textx = filex.ReadText();
  39. filex.Close();
  40. ef1.SetText(textx);
  41. }
  42. }
  43. if (widget.GetId() == "editfieldclr" ) {
  44. AtomicMain.AppLog( "UIEditField action : " + widget.GetId() + " was pressed ");
  45. UIEditField ef1 = (UIEditField)widget.FindWidget("editfieldmulti");
  46. if ( !ef1.Equals(null))
  47. ef1.SetText("");
  48. }
  49. } else {
  50. if ( widget.GetId() == "editfieldsingle" ) {
  51. UIEditField efx = (UIEditField)widget;
  52. AtomicMain.AppLog( "UIEditField event : " + widget.GetId() + " text = `" + efx.GetText() + "` event type = " + AtomicMain.EventReport((int)ev.Type));
  53. }
  54. if ( widget.GetId() == "editfieldmulti" ) {
  55. UIEditField efx = (UIEditField)widget;
  56. AtomicMain.AppLog( "UIEditField event : " + widget.GetId() + " text = `" + efx.GetText() + "` event type = " + AtomicMain.EventReport((int)ev.Type) );
  57. }
  58. }
  59. }
  60. }