Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/presentation2/data/gui/scripts/MouseControlsMenu.lua @ 6268

Last change on this file since 6268 was 6251, checked in by cmueri, 15 years ago

The menu is now able to switch between normal and derive mouse input.

File size: 4.1 KB
Line 
1-- MouseControlsMenu.lua
2
3BasicGUI = require("BasicGUI")
4local P = BasicGUI:new() --inherit everything from the gui package
5if _REQUIREDNAME == nil then
6    MouseControlsMenu = P
7else
8    _G[_REQUIREDNAME] = P
9end
10
11P.filename = "MouseControlsMenu"
12P.layoutString = "MouseControlsMenu.layout"
13
14function P:init()
15    block = false
16    mousenormalscrollbarwindow = tolua.cast(winMgr:getWindow("orxonox/MouseNormalScrollbar"),"CEGUI::Scrollbar")
17    mousederivescrollbarwindow = tolua.cast(winMgr:getWindow("orxonox/MouseDeriveScrollbar"),"CEGUI::Scrollbar")
18    normalwindow = tolua.cast(winMgr:getWindow("orxonox/MouseNormalButton"),"CEGUI::RadioButton")
19    derivewindow = tolua.cast(winMgr:getWindow("orxonox/MouseDeriveButton"),"CEGUI::RadioButton")
20    invertwindow = tolua.cast(winMgr:getWindow("orxonox/MouseInvertCheckbox"),"CEGUI::Checkbox")
21    mousenormalscrollbar_active = false
22    mousederivescrollbar_active = false
23    derive_active = orxonox.getConfig("KeyBinder","bDeriveMouseInput_")
24    invert_active = false
25    mousenormalsensitivity = orxonox.getConfig("KeyBinder","mouseSensitivity_")
26    mousederivesensitivity = orxonox.getConfig("KeyBinder","mouseSensitivityDerived_")
27    mousenormalscrollbarwindow:setScrollPosition((math.log(14*mousenormalsensitivity-6))/(6*math.log(2)))
28    mousederivescrollbarwindow:setScrollPosition((math.log(14*mousederivesensitivity-6))/(6*math.log(2)))
29    if derive_active == "true" then
30        normal_active = false
31        derive_active = true
32        derivewindow:setSelected(derive_active)
33    else
34        normal_active = true
35        derive_active = false
36        normalwindow:setSelected(normal_active)
37    end
38    if invert_active == "true" then
39        invert_active = true
40    else
41        invert_active = false
42    end
43end
44
45function P.MouseControlsMouseNormalScrollbar_changed(e)
46    if mousenormalscrollbar_active == false then
47        scrollposition = mousenormalscrollbarwindow:getScrollPosition()
48        mousenormalsensitivity = (math.pow(64,scrollposition)+6)/14
49        orxonox.CommandExecutor:execute("config KeyBinder mouseSensitivity_ " .. mousenormalsensitivity)
50    end
51end
52
53function P.MouseControlsMouseNormalScrollbar_started(e)
54    mousenormalscrollbar_active = true
55end
56
57function P.MouseControlsMouseNormalScrollbar_ended(e)
58    scrollposition = mousenormalscrollbarwindow:getScrollPosition()
59    mousenormalsensitivity = (math.pow(64,scrollposition)+6)/14
60    orxonox.CommandExecutor:execute("config KeyBinder mouseSensitivity_ " .. mousenormalsensitivity)
61    mousenormalscrollbar_active = false
62end
63
64function P.MouseControlsMouseDeriveScrollbar_changed(e)
65    if mousederivescrollbar_active == false then
66        scrollposition = mousederivescrollbarwindow:getScrollPosition()
67        mousederivesensitivity = (math.pow(64,scrollposition)+6)/14
68        orxonox.CommandExecutor:execute("config KeyBinder mouseSensitivityDerived_ " .. mousederivesensitivity)
69    end
70end
71
72function P.MouseControlsMouseDeriveScrollbar_started(e)
73    mousederivescrollbar_active = true
74end
75
76function P.MouseControlsMouseDeriveScrollbar_ended(e)
77    scrollposition = mousederivescrollbarwindow:getScrollPosition()
78    mousederivesensitivity = (math.pow(64,scrollposition)+6)/14
79    orxonox.CommandExecutor:execute("config KeyBinder mouseSensitivityDerived_ " .. mousederivesensitivity)
80    mousederivescrollbar_active = false
81end
82
83function P.MouseNormalButton_clicked(e)
84    if block == false then
85        block = true
86        derivewindow:setSelected(false)
87        block = false
88        orxonox.CommandExecutor:execute("config KeyBinder bDeriveMouseInput_ false")
89    end
90end
91
92function P.MouseDeriveButton_clicked(e)
93    if block == false then
94        block = true
95        normalwindow:setSelected(false)
96        block = false
97        orxonox.CommandExecutor:execute("config KeyBinder bDeriveMouseInput_ true")
98    end
99end
100
101function P.MouseInvertCheckbox_clicked(e)
102    -- invert mouse
103end
104
105function P.MouseControlsBackButton_clicked(e)
106    hideGUI(P.filename)
107end
108
109return P
110
Note: See TracBrowser for help on using the repository browser.