Adding a tab:
Lua Code:
local sceneName = "<your unique scene name>"
YOUR_FRAGMENT = ZO_HUDFadeSceneFragment:New(self.control)
YOUR_SCENE = ZO_Scene:New(sceneName, SCENE_MANAGER)
YOUR_SCENE:AddFragmentGroup(FRAGMENT_GROUP.PLAYER_PROGRESS_BAR_KEYBOARD_CURRENT)
YOUR_SCENE:AddFragmentGroup(FRAGMENT_GROUP.MOUSE_DRIVEN_UI_WINDOW)
YOUR_SCENE:AddFragment(FRAME_TARGET_BLUR_STANDARD_RIGHT_PANEL_FRAGMENT)
YOUR_SCENE:AddFragment(FRAME_EMOTE_FRAGMENT_JOURNAL)
YOUR_SCENE:AddFragment(RIGHT_BG_FRAGMENT)
YOUR_SCENE:AddFragment(TITLE_FRAGMENT)
YOUR_SCENE:AddFragment(JOURNAL_TITLE_FRAGMENT)
YOUR_SCENE:AddFragment(CODEX_WINDOW_SOUNDS)
YOUR_SCENE:AddFragment(YOUR_FRAGMENT)
SYSTEMS:RegisterKeyboardRootScene(sceneName, YOUR_SCENE)
local sceneGroupInfo = MAIN_MENU_KEYBOARD.sceneGroupInfo["journalSceneGroup"]
local iconData = sceneGroupInfo.menuBarIconData
iconData[#iconData + 1] = {
categoryName = SI_JOURNAL_MENU_YOUR_STRING_ID,
descriptor = sceneName,
normal = "your_up.dds",
pressed = "your_down.dds",
highlight = "your_over.dds",
}
local sceneGroupBarFragment = sceneGroupInfo.sceneGroupBarFragment
YOUR_SCENE:AddFragment(sceneGroupBarFragment)
local scenegroup = SCENE_MANAGER:GetSceneGroup("journalSceneGroup")
scenegroup:AddScene(sceneName)
MAIN_MENU_KEYBOARD:AddRawScene(sceneName, MENU_CATEGORY_JOURNAL, MAIN_MENU_KEYBOARD.categoryInfo[MENU_CATEGORY_JOURNAL], "journalSceneGroup")
YOUR_SCENE:RegisterCallback("StateChange", function(oldState, newState)
if newState == SCENE_SHOWING then
-- do stuff
elseif newState == SCENE_HIDING then
-- do stuff
end
end )
/edit: self.control is your TopLevelControl