/lib/titanium/mobile/android/Menu.hx

http://github.com/visup/haxe-titanium-api · Haxe · 147 lines · 19 code · 5 blank · 123 comment · 0 complexity · a0efc52913d5f22ddfa81a616483baed MD5 · raw file

  1. package titanium.mobile.android;
  2. /**
  3. Menu class
  4. Documentation available at:
  5. http://developer.appcelerator.com/apidoc/mobile/latest/Titanium.Android.Menu-object
  6. - namespace
  7. Titanium.Android.Menu
  8. - type
  9. proxy
  10. - description
  11. The Titanium binding of an [Android Menu](http://developer.android.com/reference/android/view/Menu.html)
  12. - since
  13. 1.5
  14. - platforms
  15. android
  16. - methods
  17. add: creates a [[Titanium.Android.MenuItem]] from the passed creation options.
  18. clear: clear all items from the menu. You should release all references you have retained to [[Titanium.Android.MenuItem]] previously created.
  19. close: close the menu if visible
  20. findItem: locate a [[Titanium.Android.MenuItem]]
  21. getItem: return the [[Titanium.Android.MenuItem]] at a specific index
  22. hasVisibleItems: query for any visible menu items
  23. removeGroup: remove all [[Titanium.Android.MenuItem]] with the specified groupId
  24. removeItem: remove a specific [[Titanium.Android.MenuItem]] by the specified itemId
  25. setGroupEnabled: enable or disable a group of [[Titanium.Android.MenuItem]] by groupId
  26. setGroupVisible: show or hide a group of [[Titanium.Android.MenuItem]] by groupId
  27. size: number of [[Titanium.Android.MenuItem]] in this menu
  28. - method : add, `Titanium.Android.MenuItem`
  29. options[object]: creation options. Supported options are itemId, groupId, title, and order.
  30. - method : clear
  31. - method : close
  32. - method : findItem, `Titanium.Android.MenuItem`
  33. item[object] : integer itemId or `Titanium.Android.MenuItem`
  34. - method : getItem, `Titanium.Android.MenuItem`
  35. index[int] : item at index where index < size()
  36. - method : hasVisibleItems, boolean
  37. - method : removeGroup
  38. groupId[int]: groupId of items to remove.
  39. - method : removeItem
  40. itemId[int]: itemId of item to remove.
  41. - method : setGroupEnabled
  42. groupId[int]: groupId to enable or disable
  43. enabled[boolean]: true to enable, false to disable.
  44. - method : setGroupVisible
  45. groupId[int]: groupId to enable or disable
  46. visible[boolean]: true to show, false to hide
  47. - method : size, int
  48. - properties
  49. items[array]: array of `Titanium.Android.MenuItem`
  50. - example : Simple menu create
  51. ~~~
  52. activity.onCreateOptionsMenu = function(e) {
  53. var menu = e.menu;
  54. var menuItem = menu.add({ title: "Item 1" });
  55. menuItem.setIcon("item1.png");
  56. menuItem.addEventListener("click", function(e) {
  57. Ti.API.debug("I was clicked");
  58. });
  59. };
  60. ~~~
  61. - example : Dynamic menu create
  62. ~~~
  63. var win = Ti.UI.createWindow({ fullscreen: true });
  64. var LOGIN = 1, LOGOUT = 2;
  65. var loggedIn = false;
  66. activity.onCreateOptionsMenu = function(e) {
  67. var menu = e.menu;
  68. var login = menu.add({ title: "Login", itemId: LOGIN });
  69. login.setIcon("login.png");
  70. login.addEventListener("click", function(e) {
  71. loggedIn = true;
  72. });
  73. var logout = menu.add({ title: "Logout", itemId: LOGOUT });
  74. logout.setIcon("logout.png");
  75. logout.addEventListener("click", function(e) {
  76. loggedIn = false;
  77. });
  78. };
  79. activity.onPrepareOptionsMenu = function(e) {
  80. var menu = e.menu;
  81. menu.findItem(LOGIN).setVisible(!loggedIn);
  82. menu.findItem(LOGOUT).setVisible(loggedIn);
  83. };
  84. win.open();
  85. ~~~
  86. **/
  87. #if androidos
  88. @:native("Titanium.Android.Menu")
  89. extern class Menu
  90. {
  91. // static methods
  92. public static function add(options:Dynamic):MenuItem;
  93. public static function clear():Void;
  94. public static function close():Void;
  95. public static function findItem(item:Dynamic):MenuItem;
  96. public static function getItem(index:Int):MenuItem;
  97. public static function hasVisibleItems():Bool;
  98. public static function removeGroup(groupId:Int):Void;
  99. public static function removeItem(itemId:Int):Void;
  100. public static function setGroupEnabled(groupId:Int, enabled:Bool):Void;
  101. public static function setGroupVisible(groupId:Int, visible:Bool):Void;
  102. public static function size():Int;
  103. // static properties
  104. public static var items:Array<MenuItem>;
  105. }
  106. #end