View Single Post
06/05/14, 06:12 AM   #7
Garkin
 
Garkin's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 832
How to add category button to the main menu:

Lua Code:
  1. --create scene which I can add to the main menu:
  2. local tlw, texture
  3. tlw = WINDOW_MANAGER:CreateTopLevelWindow()
  4. tlw:SetDimensions(128,128)
  5. tlw:SetAnchor(CENTER, GuiRoot, CENTER, 0, 0)
  6. tlw:SetHidden(true)
  7. texture = WINDOW_MANAGER:CreateControl(nil, tlw, CT_TEXTURE)
  8. texture:SetTexture("/esoui/art/icons/poi/poi_groupboss_complete.dds")
  9. texture:SetAnchorFill(tlw)
  10.  
  11. local fragment = ZO_FadeSceneFragment:New(tlw)
  12.  
  13. local myAddonScene = ZO_Scene:New("myAddonScene", SCENE_MANAGER)
  14. myAddonScene:AddFragmentGroup(FRAGMENT_GROUP.UI_WINDOW) --standard UI elements such as mouse or keybind strap
  15. myAddonScene:AddFragment(fragment)
  16.  
  17.  
  18. --code for main menu category starts here:
  19. local binding = "TOGGLE_MY_ADDON"
  20. local categoryIndex = #MAIN_MENU.categoryInfo + 1
  21. local categoryName = "MY_CATEGORY_NAME"
  22.  
  23. --create string indexes
  24. ZO_CreateStringId("SI_BINDING_NAME_" .. binding, "Toggle my category")
  25. ZO_CreateStringId(categoryName, "My addon category")
  26.  
  27. --layout for category button
  28. local categoryLayoutInfo = {
  29.    binding = binding,
  30.    categoryName = categoryName,
  31.    callback = function() MAIN_MENU:OnCategoryClicked(categoryIndex) end,
  32.    descriptor = categoryIndex,
  33.    normal = "EsoUI/Art/WorldMap/map_indexIcon_key_up.dds",
  34.    pressed = "EsoUI/Art/WorldMap/map_indexIcon_key_down.dds",
  35.    disabled = "EsoUI/Art/WorldMap/map_indexIcon_key_up.dds",   --I do not have disabled icon :-(
  36.    highlight = "EsoUI/Art/WorldMap/map_indexIcon_key_over.dds",
  37. }
  38. --add category button
  39. ZO_MenuBar_AddButton(MAIN_MENU.categoryBar, categoryLayoutInfo)
  40.  
  41. --create subcategory bar, support for function MAIN_MENU:AddSceneGroup(categoryIndex, sceneGroupName, iconData)
  42. local subcategoryBar = CreateControlFromVirtual("ZO_MainMenuSubcategoryBar", MAIN_MENU.control, "ZO_MainMenuSubcategoryBar", i)
  43. subcategoryBar:SetAnchor(TOP, MAIN_MENU.categoryBar, BOTTOM, 0, 7)
  44. local subcategoryBarFragment = ZO_FadeSceneFragment:New(subcategoryBar)
  45. MAIN_MENU.categoryInfo[categoryIndex] = {
  46.    barControls = {},
  47.    subcategoryBar = subcategoryBar,
  48.    subcategoryBarFragment = subcategoryBarFragment,
  49. }  
  50.  
  51. --add scene to the main menu category
  52. MAIN_MENU:AddScene(categoryIndex, "myAddonScene")

Last edited by Garkin : 06/05/14 at 06:21 AM.
  Reply With Quote