lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [branches/] [3.21/] [KragenBars/] [SetupQuickslots.lua] - Blame information for rev 72

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 72 Kragenwar-3044
import "Turbine.UI";
2 Kragenwar-3044
 
3 Kragenwar-3044
SetupQuickslots = class(Turbine.UI.ListBox);
4 Kragenwar-3044
 
5 Kragenwar-3044
-- helper functions
6 Kragenwar-3044
local tt = function(width, height, control, text)
7 Kragenwar-3044
    local tooltip = KragenPlugs.UI.Tooltip();
8 Kragenwar-3044
    tooltip:SetText(text);
9 Kragenwar-3044
    tooltip:SetControl(control);
10 Kragenwar-3044
    tooltip:SetSize(width, height);
11 Kragenwar-3044
end
12 Kragenwar-3044
 
13 Kragenwar-3044
local holder = function(parent, height)
14 Kragenwar-3044
    local container = Turbine.UI.Control();
15 Kragenwar-3044
    container:SetSize(400, height);
16 Kragenwar-3044
    parent:AddItem(container);
17 Kragenwar-3044
    return container;
18 Kragenwar-3044
end
19 Kragenwar-3044
 
20 Kragenwar-3044
local setShortcut = function(quickslot, shortcutType, shortcutData)
21 Kragenwar-3044
    local setter = function()
22 Kragenwar-3044
        if (shortcutData ~= "") then
23 Kragenwar-3044
            local shortcut = Turbine.UI.Lotro.Shortcut(shortcutType, shortcutData);
24 Kragenwar-3044
            quickslot:SetShortcut(shortcut);
25 Kragenwar-3044
        else
26 Kragenwar-3044
            quickslot:SetShortcut(nil);
27 Kragenwar-3044
        end
28 Kragenwar-3044
    end
29 Kragenwar-3044
 
30 Kragenwar-3044
    if (not pcall(setter)) then
31 Kragenwar-3044
        quickslot:SetShortcut(nil);
32 Kragenwar-3044
    end
33 Kragenwar-3044
end
34 Kragenwar-3044
 
35 Kragenwar-3044
function SetupQuickslots:Constructor()
36 Kragenwar-3044
    Turbine.UI.ListBox.Constructor(self);
37 Kragenwar-3044
 
38 Kragenwar-3044
    self.current = nil;
39 Kragenwar-3044
 
40 Kragenwar-3044
    self:SetOrientation(Turbine.UI.Orientation.Horizontal);
41 Kragenwar-3044
    self:SetMaxItemsPerLine(1);
42 Kragenwar-3044
 
43 Kragenwar-3044
    local line = holder(self, 35);
44 Kragenwar-3044
    self.barTitle = KragenPlugs.UI.PanelDivider();
45 Kragenwar-3044
    self.barTitle:SetPosition(0,0);
46 Kragenwar-3044
    self.barTitle:SetParent(line);
47 Kragenwar-3044
    self.barTitle:SetText("Quickslots");
48 Kragenwar-3044
    self.barTitle:SetSize(400, 30);
49 Kragenwar-3044
 
50 Kragenwar-3044
        line = holder(self, 20);
51 Kragenwar-3044
    self.labelclear = KragenPlugs.UI.Label();
52 Kragenwar-3044
    self.labelclear:SetParent(line);
53 Kragenwar-3044
    self.labelclear:SetSize(400, 20);
54 Kragenwar-3044
    self.labelclear:SetPosition(0,0);
55 Kragenwar-3044
    self.labelclear:SetText("Alt+Rt. Click to Clear Quickslot");
56 Kragenwar-3044
    self.labelclear:SetVisible(true);
57 Kragenwar-3044
 
58 Kragenwar-3044
    line = holder(self, 40);
59 Kragenwar-3044
    self.quickslot1 = Turbine.UI.Lotro.Quickslot();
60 Kragenwar-3044
    self.quickslot1:SetParent(line);
61 Kragenwar-3044
    self.quickslot1:SetSize(36, 36);
62 Kragenwar-3044
    self.quickslot1:SetPosition(120, 0);
63 Kragenwar-3044
        self.quickslot1:SetVisible(false);
64 Kragenwar-3044
        self.quickslot1:SetUseOnRightClick(false);
65 Kragenwar-3044
        self.quickslot1.MouseClick = function(sender, args)
66 Kragenwar-3044
                if(args.Button == Turbine.UI.MouseButton.Right and self.quickslot1:IsAltKeyDown()) then
67 Kragenwar-3044
            self.quickslot1:SetShortcut(Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
68 Kragenwar-3044
                end
69 Kragenwar-3044
    end
70 Kragenwar-3044
 
71 Kragenwar-3044
    self.quickslot2 = Turbine.UI.Lotro.Quickslot();
72 Kragenwar-3044
    self.quickslot2:SetParent(line);
73 Kragenwar-3044
    self.quickslot2:SetSize(36, 36);
74 Kragenwar-3044
    self.quickslot2:SetPosition(245, 0);
75 Kragenwar-3044
        self.quickslot2:SetVisible(false);
76 Kragenwar-3044
        self.quickslot2:SetUseOnRightClick(false);
77 Kragenwar-3044
        self.quickslot2.MouseClick = function(sender, args)
78 Kragenwar-3044
                if(args.Button == Turbine.UI.MouseButton.Right and self.quickslot2:IsAltKeyDown()) then
79 Kragenwar-3044
            self.quickslot2:SetShortcut(Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
80 Kragenwar-3044
                end
81 Kragenwar-3044
    end
82 Kragenwar-3044
 
83 Kragenwar-3044
    line = holder(self, 20);
84 Kragenwar-3044
    self.quickslot1cb = KragenPlugs.UI.CheckBox();
85 Kragenwar-3044
    self.quickslot1cb:SetParent(line);
86 Kragenwar-3044
    self.quickslot1cb:SetSize(180, 20);
87 Kragenwar-3044
    self.quickslot1cb:SetPosition(0,0);
88 Kragenwar-3044
    self.quickslot1cb:SetText("Checkboxf1");
89 Kragenwar-3044
    self.quickslot1cb:SetVisible(false);
90 Kragenwar-3044
 
91 Kragenwar-3044
    self.quickslot2cb = KragenPlugs.UI.CheckBox();
92 Kragenwar-3044
    self.quickslot2cb:SetParent(line);
93 Kragenwar-3044
    self.quickslot2cb:SetSize(180,20);
94 Kragenwar-3044
    self.quickslot2cb:SetPosition(220,0);
95 Kragenwar-3044
    self.quickslot2cb:AlignLeft(true);
96 Kragenwar-3044
    self.quickslot2cb:SetText("Checkboxf2");
97 Kragenwar-3044
    self.quickslot2cb:SetVisible(false);
98 Kragenwar-3044
 
99 Kragenwar-3044
    line = holder(self, 40);
100 Kragenwar-3044
    self.quickslot3 = Turbine.UI.Lotro.Quickslot();
101 Kragenwar-3044
    self.quickslot3:SetParent(line);
102 Kragenwar-3044
    self.quickslot3:SetSize(36, 36);
103 Kragenwar-3044
    self.quickslot3:SetPosition(120, 0);
104 Kragenwar-3044
        self.quickslot3:SetVisible(false);
105 Kragenwar-3044
        self.quickslot3:SetUseOnRightClick(false);
106 Kragenwar-3044
        self.quickslot3.MouseClick = function(sender, args)
107 Kragenwar-3044
                if(args.Button == Turbine.UI.MouseButton.Right and self.quickslot3:IsAltKeyDown()) then
108 Kragenwar-3044
            self.quickslot3:SetShortcut(Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
109 Kragenwar-3044
                end
110 Kragenwar-3044
    end
111 Kragenwar-3044
 
112 Kragenwar-3044
    self.quickslot4 = Turbine.UI.Lotro.Quickslot();
113 Kragenwar-3044
    self.quickslot4:SetParent(line);
114 Kragenwar-3044
    self.quickslot4:SetSize(36, 36);
115 Kragenwar-3044
    self.quickslot4:SetPosition(245, 0);
116 Kragenwar-3044
        self.quickslot4:SetVisible(false);
117 Kragenwar-3044
        self.quickslot4:SetUseOnRightClick(false);
118 Kragenwar-3044
        self.quickslot4.MouseClick = function(sender, args)
119 Kragenwar-3044
                if(args.Button == Turbine.UI.MouseButton.Right and self.quickslot4:IsAltKeyDown()) then
120 Kragenwar-3044
            self.quickslot4:SetShortcut(Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
121 Kragenwar-3044
                end
122 Kragenwar-3044
    end
123 Kragenwar-3044
 
124 Kragenwar-3044
    line = holder(self, 20);
125 Kragenwar-3044
    self.quickslot3cb = KragenPlugs.UI.CheckBox();
126 Kragenwar-3044
    self.quickslot3cb:SetParent(line);
127 Kragenwar-3044
    self.quickslot3cb:SetSize(180, 20);
128 Kragenwar-3044
    self.quickslot3cb:SetPosition(0,0);
129 Kragenwar-3044
    self.quickslot3cb:SetText("Checkboxf1");
130 Kragenwar-3044
    self.quickslot3cb:SetVisible(false);
131 Kragenwar-3044
 
132 Kragenwar-3044
    self.quickslot4cb = KragenPlugs.UI.CheckBox();
133 Kragenwar-3044
    self.quickslot4cb:SetParent(line);
134 Kragenwar-3044
    self.quickslot4cb:SetSize(180,20);
135 Kragenwar-3044
    self.quickslot4cb:SetPosition(220,0);
136 Kragenwar-3044
    self.quickslot4cb:AlignLeft(true);
137 Kragenwar-3044
    self.quickslot4cb:SetText("Checkboxf2");
138 Kragenwar-3044
    self.quickslot4cb:SetVisible(false);
139 Kragenwar-3044
 
140 Kragenwar-3044
    line = holder(self, 40);
141 Kragenwar-3044
    self.quickslot5 = Turbine.UI.Lotro.Quickslot();
142 Kragenwar-3044
    self.quickslot5:SetParent(line);
143 Kragenwar-3044
    self.quickslot5:SetSize(36, 36);
144 Kragenwar-3044
    self.quickslot5:SetPosition(120, 0);
145 Kragenwar-3044
        self.quickslot5:SetVisible(false);
146 Kragenwar-3044
        self.quickslot5:SetUseOnRightClick(false);
147 Kragenwar-3044
        self.quickslot5.MouseClick = function(sender, args)
148 Kragenwar-3044
                if(args.Button == Turbine.UI.MouseButton.Right and self.quickslot5:IsAltKeyDown()) then
149 Kragenwar-3044
            self.quickslot5:SetShortcut(Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
150 Kragenwar-3044
                end
151 Kragenwar-3044
    end
152 Kragenwar-3044
 
153 Kragenwar-3044
    self.quickslot6 = Turbine.UI.Lotro.Quickslot();
154 Kragenwar-3044
    self.quickslot6:SetParent(line);
155 Kragenwar-3044
    self.quickslot6:SetSize(36, 36);
156 Kragenwar-3044
    self.quickslot6:SetPosition(245, 0);
157 Kragenwar-3044
        self.quickslot6:SetVisible(false);
158 Kragenwar-3044
        self.quickslot6:SetUseOnRightClick(false);
159 Kragenwar-3044
        self.quickslot6.MouseClick = function(sender, args)
160 Kragenwar-3044
                if(args.Button == Turbine.UI.MouseButton.Right and self.quickslot6:IsAltKeyDown()) then
161 Kragenwar-3044
            self.quickslot6:SetShortcut(Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
162 Kragenwar-3044
                end
163 Kragenwar-3044
    end
164 Kragenwar-3044
 
165 Kragenwar-3044
    line = holder(self, 20);
166 Kragenwar-3044
    self.quickslot5cb = KragenPlugs.UI.CheckBox();
167 Kragenwar-3044
    self.quickslot5cb:SetParent(line);
168 Kragenwar-3044
    self.quickslot5cb:SetSize(180, 20);
169 Kragenwar-3044
    self.quickslot5cb:SetPosition(0,0);
170 Kragenwar-3044
    self.quickslot5cb:SetText("Checkboxf1");
171 Kragenwar-3044
    self.quickslot5cb:SetVisible(false);
172 Kragenwar-3044
 
173 Kragenwar-3044
    self.quickslot6cb = KragenPlugs.UI.CheckBox();
174 Kragenwar-3044
    self.quickslot6cb:SetParent(line);
175 Kragenwar-3044
    self.quickslot6cb:SetSize(180,20);
176 Kragenwar-3044
    self.quickslot6cb:SetPosition(220,0);
177 Kragenwar-3044
    self.quickslot6cb:AlignLeft(true);
178 Kragenwar-3044
    self.quickslot6cb:SetText("Checkboxf2");
179 Kragenwar-3044
    self.quickslot6cb:SetVisible(false);
180 Kragenwar-3044
 
181 Kragenwar-3044
    line = holder(self, 40);
182 Kragenwar-3044
    self.quickslot7 = Turbine.UI.Lotro.Quickslot();
183 Kragenwar-3044
    self.quickslot7:SetParent(line);
184 Kragenwar-3044
    self.quickslot7:SetSize(36, 36);
185 Kragenwar-3044
    self.quickslot7:SetPosition(120, 0);
186 Kragenwar-3044
        self.quickslot7:SetVisible(false);
187 Kragenwar-3044
        self.quickslot7:SetUseOnRightClick(false);
188 Kragenwar-3044
        self.quickslot7.MouseClick = function(sender, args)
189 Kragenwar-3044
                if(args.Button == Turbine.UI.MouseButton.Right and self.quickslot7:IsAltKeyDown()) then
190 Kragenwar-3044
            self.quickslot7:SetShortcut(Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
191 Kragenwar-3044
                end
192 Kragenwar-3044
    end
193 Kragenwar-3044
 
194 Kragenwar-3044
    self.quickslot8 = Turbine.UI.Lotro.Quickslot();
195 Kragenwar-3044
    self.quickslot8:SetParent(line);
196 Kragenwar-3044
    self.quickslot8:SetSize(36, 36);
197 Kragenwar-3044
    self.quickslot8:SetPosition(245, 0);
198 Kragenwar-3044
        self.quickslot8:SetVisible(false);
199 Kragenwar-3044
        self.quickslot8:SetUseOnRightClick(false);
200 Kragenwar-3044
        self.quickslot8.MouseClick = function(sender, args)
201 Kragenwar-3044
                if(args.Button == Turbine.UI.MouseButton.Right and self.quickslot8:IsAltKeyDown()) then
202 Kragenwar-3044
            self.quickslot8:SetShortcut(Turbine.UI.Lotro.Shortcut( Turbine.UI.Lotro.ShortcutType.Undefined, "" ) );
203 Kragenwar-3044
                end
204 Kragenwar-3044
    end
205 Kragenwar-3044
 
206 Kragenwar-3044
    line = holder(self, 20);
207 Kragenwar-3044
    self.quickslot7cb = KragenPlugs.UI.CheckBox();
208 Kragenwar-3044
    self.quickslot7cb:SetParent(line);
209 Kragenwar-3044
    self.quickslot7cb:SetSize(180, 20);
210 Kragenwar-3044
    self.quickslot7cb:SetPosition(0,0);
211 Kragenwar-3044
    self.quickslot7cb:SetText("Checkboxf1");
212 Kragenwar-3044
    self.quickslot7cb:SetVisible(false);
213 Kragenwar-3044
 
214 Kragenwar-3044
    self.quickslot8cb = KragenPlugs.UI.CheckBox();
215 Kragenwar-3044
    self.quickslot8cb:SetParent(line);
216 Kragenwar-3044
    self.quickslot8cb:SetSize(180,20);
217 Kragenwar-3044
    self.quickslot8cb:SetPosition(220,0);
218 Kragenwar-3044
    self.quickslot8cb:AlignLeft(true);
219 Kragenwar-3044
    self.quickslot8cb:SetText("Checkboxf2");
220 Kragenwar-3044
    self.quickslot8cb:SetVisible(false);
221 Kragenwar-3044
 
222 Kragenwar-3044
 
223 Kragenwar-3044
end
224 Kragenwar-3044
 
225 Kragenwar-3044
 
226 Kragenwar-3044
function SetupQuickslots:EnableControls(enable)
227 Kragenwar-3044
    -- self.checkboxf1:SetEnabled(enable);
228 Kragenwar-3044
    -- self.checkboxf2:SetEnabled(enable);
229 Kragenwar-3044
 
230 Kragenwar-3044
end
231 Kragenwar-3044
 
232 Kragenwar-3044
 
233 Kragenwar-3044
 
234 Kragenwar-3044
function SetupQuickslots:Destroy()
235 Kragenwar-3044
    -- cleanup the quickslots so the client doesn't crash
236 Kragenwar-3044
 
237 Kragenwar-3044
end

All times are GMT -5. The time now is 10:47 AM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui