Last change
on this file since 11273 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
|
Line | |
---|
1 | -- DockingDialog.lua |
---|
2 | |
---|
3 | local P = createMenuSheet("DockingDialog") |
---|
4 | |
---|
5 | P.docks = {} |
---|
6 | |
---|
7 | function P.onLoad() |
---|
8 | |
---|
9 | --button are arranged in a 1x2 matrix |
---|
10 | P:setButton(1, 1, { |
---|
11 | ["button"] = winMgr:getWindow("orxonox/Docking/DockButton"), |
---|
12 | ["callback"] = P.dockButton_clicked |
---|
13 | }) |
---|
14 | |
---|
15 | P:setButton(1, 2, { |
---|
16 | ["button"] = winMgr:getWindow("orxonox/Docking/CancelButton"), |
---|
17 | ["callback"] = P.cancelButton_clicked |
---|
18 | }) |
---|
19 | |
---|
20 | end |
---|
21 | |
---|
22 | function P.onShow() |
---|
23 | orxonox.execute("setPause 1") |
---|
24 | P.update() |
---|
25 | end |
---|
26 | |
---|
27 | function P.onHide() |
---|
28 | orxonox.execute("setPause 0") |
---|
29 | end |
---|
30 | |
---|
31 | function 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/Docking/Docks")) |
---|
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 |
---|
50 | end |
---|
51 | |
---|
52 | function P.dockButton_clicked(e) |
---|
53 | local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/Docking/Docks")) |
---|
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) |
---|
63 | end |
---|
64 | |
---|
65 | function P.cancelButton_clicked(e) |
---|
66 | hideMenuSheet(P.name) |
---|
67 | end |
---|
68 | |
---|
69 | return P |
---|
Note: See
TracBrowser
for help on using the repository browser.