Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/data/gui/scripts/DockingDialog.lua @ 9157

Last change on this file since 9157 was 8706, checked in by dafrick, 13 years ago

Merging presentation branch back into trunk.
There are many new features and also a lot of other changes and bugfixes, if you want to know, digg through the svn log.
Not everything is yet working as it should, but it should be fairly stable. If you habe any bug reports, just send me an email.

  • Property svn:eol-style set to native
File size: 1.6 KB
RevLine 
[8434]1-- DockingDialog.lua
2
3local P = createMenuSheet("DockingDialog")
4
5P.docks = {}
6
7function P.onLoad()
[8500]8
9     --button are arranged in a 1x2 matrix
10    P:setButton(1, 1, {
[8700]11            ["button"] = winMgr:getWindow("orxonox/Docking/DockButton"),
[8500]12            ["callback"]  = P.dockButton_clicked
13    })
14
15    P:setButton(1, 2, {
[8700]16            ["button"] = winMgr:getWindow("orxonox/Docking/CancelButton"),
[8500]17            ["callback"]  = P.cancelButton_clicked
18    })
[8434]19   
20end
21
22function P.onShow()
[8493]23    orxonox.execute("setPause 1")
[8434]24    P.update()
25end
26
27function P.onHide()
[8493]28    orxonox.execute("setPause 0")
[8434]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
[8700]39    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/Docking/Docks"))
[8434]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)
[8568]46        if k == 1 then
47            listbox:setItemSelectState(item, true)
48        end
[8434]49    end
50end
51
52function P.dockButton_clicked(e)
[8700]53    local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/Docking/Docks"))
[8434]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.