Changeset 11245 for code/branches/Highscore_HS16/data/gui/scripts
- Timestamp:
- Oct 24, 2016, 4:04:51 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/Highscore_HS16/data/gui/scripts/HighscoreMenu.lua
r11235 r11245 30 30 P.sampleWindow:setText("SampleText") 31 31 32 -- create tabs with desired tab as argument (nil for all) 33 34 P.createFilterTab("Gametypes", "gametype") 35 P.createFilterTab("Missions", "mission") 36 --P.createFilterTab("Minigames", "minigame") 37 --P.createFilterTab("Showcases", "showcase") 38 --P.createFilterTab("Presentations", "presentation") 39 --P.createFilterTab("Tests", "test") 40 --P.createFilterTab("Show All", nil) 41 42 -- update description and screenshot boxes 43 --P.SingleplayerSelectionChanged() 44 32 45 local size = getMinTextSize(P.sampleWindow) 33 46 P.lineHeight = size[1] … … 67 80 --description:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -P.scrollbarWidth), CEGUI.UDim(0.0, height))) 68 81 end 69 function P.createLine(k) 82 function P.createFilterTab(name, tag) 83 -- create unique tab window name 84 local tabName = "orxonox/HighscoreLevelTab" 85 if tag ~= nil then 86 tabName = tabName..tag 87 end 88 89 90 -- create new tab window with desired name 91 local default = CEGUI.toListbox(winMgr:createWindow("DefaultWindow", tabName)) 92 default:setText(name) 93 94 local tabControl = winMgr:getWindow("orxonox/HighscoreTabControl") 95 orxonox.GUIManager:subscribeEventHelper(tabControl, "TabSelectionChanged", P.name..".HighscoreSelectionChanged") 96 --if listbox:getItemCount() > 0 then 97 tabControl:addChildWindow(tabName) 98 --end 99 100 101 end 102 103 function P.HighscoreGetSelectedLevel() 104 -- choose the active listbox 105 local tabControl = CEGUI.toTabControl(winMgr:getWindow("orxonox/HighscoreTabControl")) 106 local listbox = CEGUI.toListbox(tabControl:getTabContentsAtIndex(tabControl:getSelectedTabIndex())) 107 local choice = listbox:getFirstSelectedItem() 108 if choice ~= nil then 109 -- get the right tab and the right index 110 local tabIndexes = P.activeTabIndexes[tabControl:getSelectedTabIndex()+1] 111 local index = tabIndexes[listbox:getItemIndex(choice)+1] 112 return P.levelList[index] 113 else 114 return nil 115 end 116 end 117 118 function P.HighscoreSelectionChanged(e) 119 local pane = tolua.cast(winMgr:getWindow("orxonox/HighscoreMenuPane"), "CEGUI::ScrollablePane") 120 pane:moveToFront() 121 --[[local levelDescription = winMgr:getWindow("orxonox/SingleplayerLevelDescription") 122 local configButton = winMgr:getWindow("orxonox/SingleplayerConfigButton") 123 local level = P.HighscoreGetSelectedLevel() 124 if level ~= nil then 125 local levelXMLFilename = level:getXMLFilename() 126 local imageName = level:getScreenshot() 127 -- set the screenshot and the description for the selected level 128 levelImage:setProperty("Image", "set:"..levelXMLFilename..imageName.." image:full_image") 129 levelDescription:setText(level:getDescription()) 130 -- only enable config button for "gametype" levels 131 if level:hasTag("gametype") then 132 configButton:setProperty("Disabled", "False") 133 else 134 configButton:setProperty("Disabled", "True") 135 end 136 else 137 -- also take care of "no level selected" 138 levelImage:setProperty("Image", "") 139 levelDescription:setText("") 140 configButton:setProperty("Disabled", "True") 141 end --]] 142 end 143 144 function P.createLine(k,tag) 145 146 local tabName = k 147 148 if tag ~= nil then 149 tabName = tabName..tag 150 end 151 70 152 -- content window for the entire line 71 local line = winMgr:createWindow("DefaultWindow", "orxonox/HighscoreMenuPane/Score" .. k)153 local line = winMgr:createWindow("DefaultWindow", "orxonox/HighscoreMenuPane/Score" .. tabName) 72 154 line:setHeight(CEGUI.UDim(0, P.lineHeight)) 73 155 line:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, P.lineHeight*(k-1)))) … … 77 159 local offset = half * 0.01 78 160 -- config name 79 local player = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/HighscoreMenuPane/Score" .. k.. "/Player")161 local player = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/HighscoreMenuPane/Score" .. tabName .. "/Player") 80 162 player:setText(P.nameList[k]) 81 163 player:setSize(CEGUI.UVector2(CEGUI.UDim(0, half-offset), CEGUI.UDim(1, 0))) … … 86 168 -- config value (editable) 87 169 88 local playerValue = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/HighscoreMenuPane/Score" .. k.. "/Value")170 local playerValue = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/HighscoreMenuPane/Score" .. tabName .. "/Value") 89 171 --playerValue:setProperty("ReadOnly", "set:False") 90 172 --local value = orxonox.CommandExecutor:query("getConfig " .. P.commandList[k])SS … … 107 189 108 190 for k,v in pairs(P.scoreList) do 109 local line = P.createLine(k )191 local line = P.createLine(k,nil) 110 192 table.insert(P.linesList, line) 111 193 window:addChildWindow(line)
Note: See TracChangeset
for help on using the changeset viewer.