Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/presentation/data/gui/scripts/DockingDialog.lua @ 8600

Last change on this file since 8600 was 8568, checked in by dafrick, 14 years ago

Renaming member variables to adhere to styleguide, initialize values, always select an item in the DockingDialog.

File size: 1.6 KB
Line 
1-- DockingDialog.lua
2
3local P = createMenuSheet("DockingDialog")
4
5P.docks = {}
6
7function P.onLoad()
8
9     --button are arranged in a 1x2 matrix
10    P:setButton(1, 1, {
11            ["button"] = winMgr:getWindow("orxonox/DockingDockButton"),
12            ["callback"]  = P.dockButton_clicked
13    })
14
15    P:setButton(1, 2, {
16            ["button"] = winMgr:getWindow("orxonox/DockingCancelButton"),
17            ["callback"]  = P.cancelButton_clicked
18    })
19   
20end
21
22function P.onShow()
23    orxonox.execute("setPause 1")
24    P.update()
25end
26
27function P.onHide()
28    orxonox.execute("setPause 0")
29end
30
31function P.update()
32    -- update dock list
33    P.docks = {}
34    local docks = orxonox.Dock:getNumberOfActiveDocks()
35    for i = 0, docks-1 do
36        table.insert(P.docks, orxonox.Dock:getActiveDockAtIndex(i))
37    end
38
39    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/DockingDocks"))
40    listbox:resetList()
41
42    for k in pairs(P.docks) do
43        local item = CEGUI.createListboxTextItem("Dock " .. k)
44        item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush")
45        listbox:addItem(item)
46        if k == 1 then
47            listbox:setItemSelectState(item, true)
48        end
49    end
50end
51
52function P.dockButton_clicked(e)
53    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/DockingDocks"))
54    local choice = listbox:getFirstSelectedItem()
55    if choice ~= nil then
56        local index = listbox:getItemIndex(choice)
57        local dock = P.docks[index+1]
58        if dock ~= nil then
59            dock:dock()
60        end
61    end
62    hideMenuSheet(P.name)
63end
64
65function P.cancelButton_clicked(e)
66    hideMenuSheet(P.name)
67end
68
69return P
Note: See TracBrowser for help on using the repository browser.