lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [trunk/] [KragenPlugs/] [KragenBars/] [SetupButtonBars.lua] - Blame information for rev 119

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 Kragenwar-3044
import "Turbine.UI";
2 Kragenwar-3044
 
3 Kragenwar-3044
SetupButtonBars = 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
 
21 Kragenwar-3044
function SetupButtonBars:Constructor()
22 Kragenwar-3044
    Turbine.UI.ListBox.Constructor(self);
23 Kragenwar-3044
 
24 Kragenwar-3044
    self.current = nil;
25 62 Valdacil-446
        self.titlebars = { };
26 Valdacil-446
        self.buttonbars = { };
27 74 Valdacil-446
        self.bars = { };
28 62 Valdacil-446
 
29 6 Kragenwar-3044
    self:SetOrientation(Turbine.UI.Orientation.Horizontal);
30 Kragenwar-3044
    self:SetMaxItemsPerLine(1);
31 Kragenwar-3044
 
32 62 Valdacil-446
        self:AddTitleBar("Button Bars");
33 74 Valdacil-446
 
34 Valdacil-446
        local index = #self.bars + 1;
35 Valdacil-446
    local line = holder(self, 30);
36 Valdacil-446
        self.bars[index] = { };
37 Valdacil-446
    self.bars[index].combobox = KragenPlugs.UI.ComboBox();
38 Valdacil-446
    self.bars[index].combobox:SetParent(line);
39 Valdacil-446
    self.bars[index].combobox:SetSize(190, 20);
40 76 Valdacil-446
    self.bars[index].combobox:SetPosition(0, 0);
41 74 Valdacil-446
    self.bars[index].combobox:SetVisible(false);
42 Valdacil-446
        self.barslist = self.bars[index].combobox;
43 Valdacil-446
        self.barslist:SetVisible(true);
44 Valdacil-446
 
45 Valdacil-446
        self.bars[index].namebox = Turbine.UI.Lotro.TextBox();
46 Valdacil-446
    self.bars[index].namebox:SetParent(line);
47 Valdacil-446
    self.bars[index].namebox:SetSize(180, 20);
48 76 Valdacil-446
    self.bars[index].namebox:SetPosition(210, 0);
49 74 Valdacil-446
    self.bars[index].namebox:SetFont(Turbine.UI.Lotro.Font.Verdana14);
50 Valdacil-446
    self.bars[index].namebox:SetMultiline(false);
51 Valdacil-446
        self.barsnamebox = self.bars[index].namebox;
52 Valdacil-446
        self.barsnamebox:SetVisible(true);
53 Valdacil-446
 
54 Valdacil-446
        index = #self.bars + 1;
55 Valdacil-446
        line = holder(self,30);
56 Valdacil-446
        self.bars[index] = { };
57 Valdacil-446
        self.bars[index].buttonnew  = Turbine.UI.Lotro.Button();
58 Valdacil-446
    self.bars[index].buttonnew:SetParent(line);
59 Valdacil-446
        self.bars[index].buttonnew:SetPosition(60, 0);
60 Valdacil-446
    self.bars[index].buttonnew:SetSize(100, 22);
61 Valdacil-446
    self.bars[index].buttonnew:SetText("New");
62 Valdacil-446
        self.barsbuttonnew = self.bars[index].buttonnew;
63 Valdacil-446
        self.barsbuttonnew:SetVisible(true);
64 Valdacil-446
 
65 Valdacil-446
    self.bars[index].buttonremove  = Turbine.UI.Lotro.Button();
66 Valdacil-446
    self.bars[index].buttonremove:SetParent(line);
67 Valdacil-446
    self.bars[index].buttonremove:SetPosition(240, 0);
68 Valdacil-446
    self.bars[index].buttonremove:SetSize(100, 22);
69 Valdacil-446
    self.bars[index].buttonremove:SetText("Remove");
70 Valdacil-446
        self.barsbuttonremove = self.bars[index].buttonremove;
71 Valdacil-446
        self.barsbuttonremove:SetVisible(true);
72 Valdacil-446
 
73 Valdacil-446
        line = holder(self,10);
74 Valdacil-446
 
75 Valdacil-446
        index = #self.bars + 1;
76 Valdacil-446
        line = holder(self,30);
77 Valdacil-446
        self.bars[index] = KragenPlugs.UI.CheckBox();
78 Valdacil-446
        self.bars[index]:SetParent(line);
79 Valdacil-446
        self.bars[index]:SetSize(180, 20);
80 Valdacil-446
        self.bars[index]:SetPosition(0,0);
81 Valdacil-446
        self.bars[index]:SetText("Active");
82 Valdacil-446
        self.bars[index]:SetVisible(true);
83 Valdacil-446
        self.barsactive = self.bars[3];
84 Valdacil-446
 
85 Valdacil-446
        index = #self.bars + 1;
86 Valdacil-446
        self.bars[index] = KragenPlugs.UI.ComboBox();
87 Valdacil-446
    self.bars[index]:SetParent(line);
88 Valdacil-446
    self.bars[index]:SetSize(190, 20);
89 Valdacil-446
    self.bars[index]:SetPosition(210, 0);
90 Valdacil-446
    self.bars[index]:SetVisible(true);
91 Valdacil-446
        self.barscombat = self.bars[4];
92 Valdacil-446
        self.barscombat:AddItem("Always", 1);
93 Valdacil-446
        self.barscombat:AddItem("Only In Combat", 2);
94 Valdacil-446
        self.barscombat:AddItem("Only Out of Combat", 3);
95 Valdacil-446
 
96 Valdacil-446
        self:AddSlider(self.bars, 1, 12, 1, "Bar Width (slots)");
97 Valdacil-446
        self.barswidth = self.bars[5];
98 Valdacil-446
        self:AddSlider(self.bars, 1, 12, 1, "Bar Height (slots)");
99 Valdacil-446
        self.barsheight = self.bars[6];
100 119 Valdacil-446
 
101 Valdacil-446
        self:AddSlider(self.bars, 9, 72, 9, "Slot Size (pixels)");
102 Valdacil-446
        self.barsslotsize = self.bars[#self.bars];
103 Valdacil-446
        self.barsslotsize:SetVisible(false);
104 Valdacil-446
 
105 Valdacil-446
        self:AddComboBox(self.bars);
106 Valdacil-446
        self.barsthresholdcombo = self.bars[#self.bars];
107 Valdacil-446
        self.barsthresholdcombo.label:SetText("Show Bar When:");
108 Valdacil-446
        self.barsthresholdcombo.label:SetVisible(false);
109 Valdacil-446
        self.barsthresholdcombo.combobox:SetVisible(false);
110 Valdacil-446
        local combolist = {"Any morale or power", "Morale above threshold", "Morale below threshold", "Power above threshold", "Power below threshold"};
111 Valdacil-446
        for k,v in pairs(combolist) do
112 Valdacil-446
                self.barsthresholdcombo.combobox:AddItem(v, k);
113 Valdacil-446
        end
114 Valdacil-446
 
115 Valdacil-446
        self:AddSlider(self.bars, 0, 100, 1, "Threshold (%)");
116 Valdacil-446
        self.barsthresholdslider = self.bars[#self.bars];
117 Valdacil-446
        self.barsthresholdslider:SetVisible(false);
118 Valdacil-446
 
119 6 Kragenwar-3044
 
120 62 Valdacil-446
 
121 Valdacil-446
end
122 6 Kragenwar-3044
 
123 Kragenwar-3044
 
124 62 Valdacil-446
function SetupButtonBars:AddTitleBar(text)
125 Valdacil-446
    local index = #self.titlebars + 1;
126 Valdacil-446
 
127 Valdacil-446
        local line = holder(self, 35);
128 Valdacil-446
    self.titlebars[index] = KragenPlugs.UI.PanelDivider();
129 Valdacil-446
    self.titlebars[index]:SetPosition(0,0);
130 Valdacil-446
    self.titlebars[index]:SetParent(line);
131 Valdacil-446
    self.titlebars[index]:SetText(text);
132 Valdacil-446
    self.titlebars[index]:SetSize(400, 30);
133 6 Kragenwar-3044
 
134 62 Valdacil-446
end
135 6 Kragenwar-3044
 
136 62 Valdacil-446
function SetupButtonBars:AddCheckboxRow(option)
137 Valdacil-446
    local index = #option + 1;
138 Valdacil-446
        local line = holder(self, 20);
139 Valdacil-446
 
140 Valdacil-446
        for i = 1,2 do
141 Valdacil-446
                option[index] = KragenPlugs.UI.CheckBox();
142 Valdacil-446
                option[index]:SetParent(line);
143 Valdacil-446
                option[index]:SetSize(180, 20);
144 Valdacil-446
                if math.mod(index, 2) == 0 then
145 Valdacil-446
                        option[index]:SetPosition(220,0);
146 Valdacil-446
                        option[index]:AlignLeft(true);
147 Valdacil-446
                else
148 Valdacil-446
                        option[index]:SetPosition(0,0);
149 Valdacil-446
                end
150 Valdacil-446
                option[index]:SetText("Checkbox");
151 Valdacil-446
                option[index]:SetVisible(false);
152 Valdacil-446
                index = #option + 1;
153 Valdacil-446
        end
154 6 Kragenwar-3044
 
155 62 Valdacil-446
end
156 6 Kragenwar-3044
 
157 62 Valdacil-446
function SetupButtonBars:AddSlider(option, mini, maxi, step, text)
158 Valdacil-446
        local index = #option + 1;
159 Valdacil-446
 
160 Valdacil-446
        local line = holder(self, 50);
161 Valdacil-446
    option[index] = KragenPlugs.UI.Slider();
162 Valdacil-446
    option[index]:SetParent(line);
163 Valdacil-446
    option[index]:SetText(text);
164 Valdacil-446
    option[index]:SetPosition(49, 0);
165 Valdacil-446
    option[index]:SetSize(350, 40);
166 Valdacil-446
    option[index]:SetStep(step);
167 Valdacil-446
    option[index]:SetMin(mini);
168 Valdacil-446
    option[index]:SetMax(maxi);
169 6 Kragenwar-3044
 
170 Kragenwar-3044
end
171 Kragenwar-3044
 
172 62 Valdacil-446
function SetupButtonBars:AddComboBox(option)
173 Valdacil-446
        local index = #option + 1;
174 Valdacil-446
 
175 Valdacil-446
    local line = holder(self, 30);
176 Valdacil-446
        option[index] = { };
177 Valdacil-446
        option[index].label = KragenPlugs.UI.Label();
178 Valdacil-446
    option[index].label:SetParent(line);
179 Valdacil-446
    option[index].label:SetSize(190, 20);
180 Valdacil-446
    option[index].label:SetPosition(20, 0);
181 Valdacil-446
    option[index].label:SetText("Label");
182 Valdacil-446
    option[index].label:SetVisible(false);
183 Valdacil-446
 
184 Valdacil-446
    option[index].combobox = KragenPlugs.UI.ComboBox();
185 Valdacil-446
    option[index].combobox:SetParent(line);
186 Valdacil-446
    option[index].combobox:SetSize(190, 20);
187 Valdacil-446
    option[index].combobox:SetPosition(210, 0);
188 Valdacil-446
    option[index].combobox:SetVisible(false);
189 6 Kragenwar-3044
 
190 Kragenwar-3044
end
191 Kragenwar-3044
 
192 Kragenwar-3044
function SetupButtonBars:Destroy()
193 Kragenwar-3044
    -- cleanup the quickslots so the client doesn't crash
194 Kragenwar-3044
 
195 Kragenwar-3044
end

All times are GMT -5. The time now is 08:09 PM.


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