lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 72 Kragenwar-3044
import "Turbine.Gameplay";
2 Kragenwar-3044
import "Turbine.UI";
3 Kragenwar-3044
import "KragenPlugs.KragenBars";
4 Kragenwar-3044
import "KragenPlugs.UI";
5 Kragenwar-3044
 
6 Kragenwar-3044
SetupWindow = class(KragenPlugs.UI.Window);
7 Kragenwar-3044
 
8 Kragenwar-3044
function SetupWindow:Constructor()
9 Kragenwar-3044
 
10 Kragenwar-3044
    KragenPlugs.UI.Window.Constructor(self);
11 Kragenwar-3044
 
12 Kragenwar-3044
        if (type( settings.setup ) ~= "table") then
13 Kragenwar-3044
                settings.setup = { };
14 Kragenwar-3044
                settings.setup.x = 100;
15 Kragenwar-3044
                settings.setup.y = 100;
16 Kragenwar-3044
                SaveSettings();
17 Kragenwar-3044
        end
18 Kragenwar-3044
    if (settings.setup.x ~= nil) then
19 Kragenwar-3044
        self:SetPosition(ValidatePosition(settings.setup.x, settings.setup.y, self:GetWidth(), self:GetHeight()));
20 Kragenwar-3044
    end
21 Kragenwar-3044
 
22 Kragenwar-3044
    self:SetVisible(false);
23 Kragenwar-3044
    self:SetText("KragenBars Setup");
24 Kragenwar-3044
    self:SetSize(575, 535);
25 Kragenwar-3044
    self.Closed = function(sender, args)
26 Kragenwar-3044
        KragenPlugs.UI.ComboBox.Cleanup();
27 Kragenwar-3044
        local i;
28 Kragenwar-3044
        for i = 1, table.getn(self.tabs) do
29 Kragenwar-3044
            if (type(self.tabs[i].Closed) == "function") then
30 Kragenwar-3044
                self.tabs[i]:Closed();
31 Kragenwar-3044
            end
32 Kragenwar-3044
        end
33 Kragenwar-3044
 
34 Kragenwar-3044
        -- save the position
35 Kragenwar-3044
        settings.setup.x, settings.setup.y = self:GetPosition();
36 Kragenwar-3044
                SaveSettings();
37 Kragenwar-3044
 
38 Kragenwar-3044
        -- remove the ref
39 Kragenwar-3044
        self:Destroy();
40 Kragenwar-3044
    end
41 Kragenwar-3044
 
42 Kragenwar-3044
    -- restore the position if there is one
43 Kragenwar-3044
 
44 Kragenwar-3044
    -- close any open drop downs
45 Kragenwar-3044
    self.PositionChanged = function(sender, args)
46 Kragenwar-3044
        KragenPlugs.UI.ComboBox.Cleanup();
47 Kragenwar-3044
    end
48 Kragenwar-3044
 
49 Kragenwar-3044
    -- listen for events
50 Kragenwar-3044
    -- KragenPlugs.Utils.KeyManager.AddListener(self);
51 Kragenwar-3044
 
52 Kragenwar-3044
    self.sideBar = Turbine.UI.Control();
53 Kragenwar-3044
    self.sideBar:SetParent(self);
54 Kragenwar-3044
    self.sideBar:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
55 Kragenwar-3044
    self.sideBar:SetBackground("KragenPlugs/UI/Resources/options_menu_side_bar.tga");
56 Kragenwar-3044
    self.sideBar:SetSize(140, 507);
57 Kragenwar-3044
    self.sideBar:SetPosition(432, 24);
58 Kragenwar-3044
    self.sideBar:SetMouseVisible(false);
59 Kragenwar-3044
 
60 Kragenwar-3044
    self.cancelButton = Turbine.UI.Lotro.Button();
61 Kragenwar-3044
    self.cancelButton:SetParent(self);
62 Kragenwar-3044
    self.cancelButton:SetPosition(122, 502);
63 Kragenwar-3044
    self.cancelButton:SetSize(100, 20);
64 Kragenwar-3044
    self.cancelButton:SetText("Cancel");
65 Kragenwar-3044
    self.cancelButton.Click = function(sender, args)
66 Kragenwar-3044
        self:Close();
67 Kragenwar-3044
    end
68 Kragenwar-3044
 
69 Kragenwar-3044
    self.acceptButton  = Turbine.UI.Lotro.Button();
70 Kragenwar-3044
    self.acceptButton:SetParent(self);
71 Kragenwar-3044
    self.acceptButton:SetPosition(237, 502);
72 Kragenwar-3044
    self.acceptButton:SetSize(100, 20);
73 Kragenwar-3044
    self.acceptButton:SetText("Accept");
74 Kragenwar-3044
    self.acceptButton.Click = function(sender, args)
75 Kragenwar-3044
        KragenBars:SetupClosing();
76 Kragenwar-3044
        self:Close();
77 Kragenwar-3044
    end
78 Kragenwar-3044
 
79 Kragenwar-3044
    -- create the tabs
80 Kragenwar-3044
    self.setupbb = SetupButtonBars();
81 Kragenwar-3044
    self.setupf = SetupFeatures();
82 Kragenwar-3044
    self.setupqs = SetupQuickslots();
83 Kragenwar-3044
        self.setuplmpets = SetupLMPets();
84 Kragenwar-3044
 
85 Kragenwar-3044
    self.tabs = {self.setupbb, self.setupf, self.setupqs, self.setuplmpets};
86 Kragenwar-3044
    self.buttons = {"Button Bars", "Features", "Quickslots", "Pets"};
87 Kragenwar-3044
 
88 Kragenwar-3044
    local i;
89 Kragenwar-3044
    for i = 1, table.getn(self.tabs) do
90 Kragenwar-3044
        -- create a tab button
91 Kragenwar-3044
        local button = KragenPlugs.UI.Button();
92 Kragenwar-3044
        button:SetParent(self);
93 Kragenwar-3044
        button:SetPosition(439, 60 + (25 * i));
94 Kragenwar-3044
        button:SetSize(127, 20);
95 Kragenwar-3044
        button:SetText(self.buttons[i]);
96 Kragenwar-3044
        button.Click = function(sender, args)
97 Kragenwar-3044
            self:SwitchTab(self.tabs[i], self.buttons[i]);
98 Kragenwar-3044
        end
99 Kragenwar-3044
        self.buttons[i] = button;
100 Kragenwar-3044
 
101 Kragenwar-3044
        -- create the tab
102 Kragenwar-3044
        local tab = Turbine.UI.Control();
103 Kragenwar-3044
        tab:SetParent(self);
104 Kragenwar-3044
        tab:SetSize(415, 447);
105 Kragenwar-3044
        tab:SetPosition(16, 53);
106 Kragenwar-3044
        tab:SetVisible(false);
107 Kragenwar-3044
 
108 Kragenwar-3044
        local scrollbar = Turbine.UI.Lotro.ScrollBar();
109 Kragenwar-3044
        scrollbar:SetOrientation(Turbine.UI.Orientation.Vertical);
110 Kragenwar-3044
        scrollbar:SetParent(tab);
111 Kragenwar-3044
        scrollbar:SetSize(10, 447);
112 Kragenwar-3044
        scrollbar:SetPosition(405, 0);
113 Kragenwar-3044
 
114 Kragenwar-3044
        local panel = self.tabs[i];
115 Kragenwar-3044
        panel.tab = tab;
116 Kragenwar-3044
        panel:SetParent(tab);
117 Kragenwar-3044
        panel:SetVerticalScrollBar(scrollbar);
118 Kragenwar-3044
        panel:SetSize(400, 447);
119 Kragenwar-3044
        panel:SetPosition(0, 0);
120 Kragenwar-3044
        panel:GetItem(1).PositionChanged = function(sender, args)
121 Kragenwar-3044
            KragenPlugs.UI.ComboBox.Cleanup();
122 Kragenwar-3044
        end
123 Kragenwar-3044
    end
124 Kragenwar-3044
 
125 Kragenwar-3044
        self.buttons[4]:SetVisible(false);
126 Kragenwar-3044
 
127 Kragenwar-3044
    -- show the first tab
128 Kragenwar-3044
    self:SwitchTab(self.tabs[1], self.buttons[1]);
129 Kragenwar-3044
 
130 Kragenwar-3044
end
131 Kragenwar-3044
 
132 Kragenwar-3044
function SetupWindow:SwitchTab(tab, button)
133 Kragenwar-3044
    KragenPlugs.UI.ComboBox.Cleanup();
134 Kragenwar-3044
 
135 Kragenwar-3044
    local i;
136 Kragenwar-3044
    for i = 1, table.getn(self.tabs) do
137 Kragenwar-3044
        self.tabs[i].tab:SetVisible(tab == self.tabs[i]);
138 Kragenwar-3044
        self.buttons[i]:SetSelected(button == self.buttons[i]);
139 Kragenwar-3044
    end
140 Kragenwar-3044
end
141 Kragenwar-3044
 
142 Kragenwar-3044
-- function SetupWindow:UiHidden(hidden)
143 Kragenwar-3044
    -- self:SetVisible(not hidden);
144 Kragenwar-3044
    -- KragenPlugs.UI.ComboBox.Cleanup();
145 Kragenwar-3044
-- end
146 Kragenwar-3044
 
147 Kragenwar-3044
function SetupWindow:Destroy()
148 Kragenwar-3044
    self:SetVisible(false);
149 Kragenwar-3044
    local i;
150 Kragenwar-3044
    for i = 1, table.getn(self.tabs) do
151 Kragenwar-3044
        if (type(self.tabs[i].Destroy) == "function") then
152 Kragenwar-3044
            self.tabs[i]:Destroy();
153 Kragenwar-3044
        end
154 Kragenwar-3044
    end
155 Kragenwar-3044
    SetupWindow.instance = nil;
156 Kragenwar-3044
end
157 Kragenwar-3044
 
158 Kragenwar-3044
-- class level stuff
159 Kragenwar-3044
SetupWindow.instance = nil;
160 Kragenwar-3044
 
161 Kragenwar-3044
-- command to show the options
162 Kragenwar-3044
function SetupWindow.ShowOptions()
163 Kragenwar-3044
    if (SetupWindow.instance == nil) then
164 Kragenwar-3044
        SetupWindow.instance = SetupWindow();
165 Kragenwar-3044
    end
166 Kragenwar-3044
end
167 Kragenwar-3044
 
168 Kragenwar-3044
-- command to close/cleanup the options
169 Kragenwar-3044
function SetupWindow.CloseOptions()
170 Kragenwar-3044
    if (SetupWindow.instance ~= nil) then
171 Kragenwar-3044
        SetupWindow.instance:Destroy();
172 Kragenwar-3044
    end
173 Kragenwar-3044
end

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


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