lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [branches/] [3.21/] [UI/] [Window.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
Window = class(Turbine.UI.Window);
4 Kragenwar-3044
 
5 Kragenwar-3044
-- colors
6 Kragenwar-3044
Window.TitleColor = Turbine.UI.Color(245/255, 222/255, 147/255);
7 Kragenwar-3044
 
8 Kragenwar-3044
function Window:Constructor()
9 Kragenwar-3044
    Turbine.UI.Window.Constructor(self);
10 Kragenwar-3044
 
11 Kragenwar-3044
    -- hidden window to get the movement arrows
12 Kragenwar-3044
    self.hidden = Turbine.UI.Lotro.Window();
13 Kragenwar-3044
    self.hidden:SetOpacity(0);
14 Kragenwar-3044
    self.hidden.PositionChanged = function(sender, args)
15 Kragenwar-3044
        if (type(self.PositionChanged) == "function") then
16 Kragenwar-3044
            self:PositionChanged(args);
17 Kragenwar-3044
        end
18 Kragenwar-3044
    end
19 Kragenwar-3044
 
20 Kragenwar-3044
    self.titleWidth = 250;
21 Kragenwar-3044
    self:SetParent(self.hidden);
22 Kragenwar-3044
    self:SetMouseVisible(false);
23 Kragenwar-3044
    Turbine.UI.Window.SetPosition(self, 0, 0);
24 Kragenwar-3044
 
25 Kragenwar-3044
    -- title label
26 Kragenwar-3044
    self.title = Turbine.UI.Label();
27 Kragenwar-3044
    self.title:SetParent(self);
28 Kragenwar-3044
    self.title:SetPosition(0, 0);
29 Kragenwar-3044
    self.title:SetSize(0, 20);
30 Kragenwar-3044
    self.title:SetOutlineColor(Turbine.UI.Color(1, 0, 0, 0));
31 Kragenwar-3044
    self.title:SetFontStyle(Turbine.UI.FontStyle.Outline);
32 Kragenwar-3044
    self.title:SetFont(Turbine.UI.Lotro.Font.TrajanPro18);
33 Kragenwar-3044
    self.title:SetForeColor(Window.TitleColor);
34 Kragenwar-3044
    self.title:SetTextAlignment(Turbine.UI.ContentAlignment.MiddleCenter);
35 Kragenwar-3044
    self.title:SetMouseVisible(false);
36 Kragenwar-3044
    self.title:SetZOrder(5);
37 Kragenwar-3044
 
38 Kragenwar-3044
    -- top left corner
39 Kragenwar-3044
    self.topLeft = Turbine.UI.Control();
40 Kragenwar-3044
    self.topLeft:SetParent(self);
41 Kragenwar-3044
    self.topLeft:SetSize(36, 36);
42 Kragenwar-3044
    self.topLeft:SetMouseVisible(false);
43 Kragenwar-3044
    self.topLeft:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
44 Kragenwar-3044
    self.topLeft:SetBackground("KragenPlugs/UI/Resources/box_silver_top_left.tga");
45 Kragenwar-3044
 
46 Kragenwar-3044
    -- topRight
47 Kragenwar-3044
    self.topRight = Turbine.UI.Control();
48 Kragenwar-3044
    self.topRight:SetParent(self);
49 Kragenwar-3044
    self.topRight:SetSize(36, 36);
50 Kragenwar-3044
    self.topRight:SetMouseVisible(false);
51 Kragenwar-3044
    self.topRight:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
52 Kragenwar-3044
    self.topRight:SetBackground("KragenPlugs/UI/Resources/box_silver_top_right.tga");
53 Kragenwar-3044
 
54 Kragenwar-3044
    -- bottomLeft
55 Kragenwar-3044
    self.bottomLeft = Turbine.UI.Control();
56 Kragenwar-3044
    self.bottomLeft:SetParent(self);
57 Kragenwar-3044
    self.bottomLeft:SetSize(36, 36);
58 Kragenwar-3044
    self.bottomLeft:SetMouseVisible(false);
59 Kragenwar-3044
    self.bottomLeft:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
60 Kragenwar-3044
    self.bottomLeft:SetBackground("KragenPlugs/UI/Resources/box_silver_bottom_left.tga");
61 Kragenwar-3044
 
62 Kragenwar-3044
    -- bottomRight
63 Kragenwar-3044
    self.bottomRight = Turbine.UI.Control();
64 Kragenwar-3044
    self.bottomRight:SetParent(self);
65 Kragenwar-3044
    self.bottomRight:SetSize(36, 36);
66 Kragenwar-3044
    self.bottomRight:SetMouseVisible(false);
67 Kragenwar-3044
    self.bottomRight:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
68 Kragenwar-3044
    self.bottomRight:SetBackground("KragenPlugs/UI/Resources/box_silver_bottom_right.tga");
69 Kragenwar-3044
 
70 Kragenwar-3044
    -- top side
71 Kragenwar-3044
    self.top = Turbine.UI.Control();
72 Kragenwar-3044
    self.top:SetParent(self);
73 Kragenwar-3044
    self.top:SetSize(36, 36);
74 Kragenwar-3044
    self.top:SetMouseVisible(false);
75 Kragenwar-3044
    self.top:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
76 Kragenwar-3044
    self.top:SetBackground("KragenPlugs/UI/Resources/box_silver_top.tga");
77 Kragenwar-3044
 
78 Kragenwar-3044
    -- left side
79 Kragenwar-3044
    self.left = Turbine.UI.Control();
80 Kragenwar-3044
    self.left:SetParent(self);
81 Kragenwar-3044
    self.left:SetSize(36, 36);
82 Kragenwar-3044
    self.left:SetMouseVisible(false);
83 Kragenwar-3044
    self.left:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
84 Kragenwar-3044
    self.left:SetBackground("KragenPlugs/UI/Resources/box_silver_left.tga");
85 Kragenwar-3044
 
86 Kragenwar-3044
    -- right side
87 Kragenwar-3044
    self.right = Turbine.UI.Control();
88 Kragenwar-3044
    self.right:SetParent(self);
89 Kragenwar-3044
    self.right:SetSize(36, 36);
90 Kragenwar-3044
    self.right:SetMouseVisible(false);
91 Kragenwar-3044
    self.right:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
92 Kragenwar-3044
    self.right:SetBackground("KragenPlugs/UI/Resources/box_silver_right.tga");
93 Kragenwar-3044
 
94 Kragenwar-3044
    -- bottom side
95 Kragenwar-3044
    self.bottom = Turbine.UI.Control();
96 Kragenwar-3044
    self.bottom:SetParent(self);
97 Kragenwar-3044
    self.bottom:SetSize(36, 36);
98 Kragenwar-3044
    self.bottom:SetMouseVisible(false);
99 Kragenwar-3044
    self.bottom:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
100 Kragenwar-3044
    self.bottom:SetBackground("KragenPlugs/UI/Resources/box_silver_bottom.tga");
101 Kragenwar-3044
 
102 Kragenwar-3044
    -- center
103 Kragenwar-3044
    self.center = Turbine.UI.Control();
104 Kragenwar-3044
    self.center:SetParent(self);
105 Kragenwar-3044
    --self.center:SetMouseVisible(false);
106 Kragenwar-3044
    self.center:SetBackColor(Turbine.UI.Color(.925, 0, 0, 0));
107 Kragenwar-3044
    --self.center:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
108 Kragenwar-3044
    --self.center:SetBackground("KragenPlugs/UI/Resources/base_box_center_silver.tga");
109 Kragenwar-3044
 
110 Kragenwar-3044
    -- title left
111 Kragenwar-3044
    self.titleLeft = Turbine.UI.Control();
112 Kragenwar-3044
    self.titleLeft:SetParent(self);
113 Kragenwar-3044
    self.titleLeft:SetSize(35, 42);
114 Kragenwar-3044
    self.titleLeft:SetMouseVisible(false);
115 Kragenwar-3044
    self.titleLeft:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
116 Kragenwar-3044
    self.titleLeft:SetBackground("KragenPlugs/UI/Resources/base_box_titlebar_left.tga");
117 Kragenwar-3044
 
118 Kragenwar-3044
    -- title mid
119 Kragenwar-3044
    self.titleMid = Turbine.UI.Control();
120 Kragenwar-3044
    self.titleMid:SetParent(self);
121 Kragenwar-3044
    self.titleMid:SetSize(20, 42);
122 Kragenwar-3044
    self.titleMid:SetMouseVisible(false);
123 Kragenwar-3044
    self.titleMid:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
124 Kragenwar-3044
    self.titleMid:SetBackground("KragenPlugs/UI/Resources/base_box_titlebar_top.tga");
125 Kragenwar-3044
 
126 Kragenwar-3044
    -- title right
127 Kragenwar-3044
    self.titleRight = Turbine.UI.Control();
128 Kragenwar-3044
    self.titleRight:SetParent(self);
129 Kragenwar-3044
    self.titleRight:SetSize(35, 42);
130 Kragenwar-3044
    self.titleRight:SetMouseVisible(false);
131 Kragenwar-3044
    self.titleRight:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
132 Kragenwar-3044
    self.titleRight:SetBackground("KragenPlugs/UI/Resources/base_box_titlebar_right.tga");
133 Kragenwar-3044
 
134 Kragenwar-3044
    -- close button
135 Kragenwar-3044
    self.close = Turbine.UI.Control();
136 Kragenwar-3044
    self.close:SetParent(self);
137 Kragenwar-3044
    self.close:SetSize(16, 16);
138 Kragenwar-3044
    --self.close:SetMouseVisible(false);
139 Kragenwar-3044
    self.close:SetBlendMode(Turbine.UI.BlendMode.AlphaBlend);
140 Kragenwar-3044
    self.close:SetBackground("KragenPlugs/UI/Resources/titlebar_X_2.tga");
141 Kragenwar-3044
    self.close.pressed = false;
142 Kragenwar-3044
    self.close.MouseEnter = function(sender, args)
143 Kragenwar-3044
        self.close:SetBackground("KragenPlugs/UI/Resources/titlebar_X_2_"..(self.close.pressed and "pressed" or "mouseover")..".tga");
144 Kragenwar-3044
    end
145 Kragenwar-3044
    self.close.MouseLeave = function(sender, args)
146 Kragenwar-3044
        self.close:SetBackground("KragenPlugs/UI/Resources/titlebar_X_2"..(self.close.pressed and "_mouseover" or "")..".tga");
147 Kragenwar-3044
    end
148 Kragenwar-3044
    self.close.MouseDown = function(sender, args)
149 Kragenwar-3044
        self.close.pressed = true;
150 Kragenwar-3044
        self.close:SetBackground("KragenPlugs/UI/Resources/titlebar_X_2_pressed.tga");
151 Kragenwar-3044
    end
152 Kragenwar-3044
    self.close.MouseUp = function(sender, args)
153 Kragenwar-3044
        self.close.pressed = false;
154 Kragenwar-3044
        self.close:SetBackground("KragenPlugs/UI/Resources/titlebar_X_2.tga");
155 Kragenwar-3044
    end
156 Kragenwar-3044
    self.close.MouseClick = function(sender, args)
157 Kragenwar-3044
        self:Close();
158 Kragenwar-3044
    end
159 Kragenwar-3044
end
160 Kragenwar-3044
 
161 Kragenwar-3044
function Window:SetText(text)
162 Kragenwar-3044
    self.title:SetText(text);
163 Kragenwar-3044
end
164 Kragenwar-3044
 
165 Kragenwar-3044
function Window:SetSize(width, height)
166 Kragenwar-3044
    Turbine.UI.Window.SetSize(self, width, height);
167 Kragenwar-3044
    self.hidden:SetSize(width, height);
168 Kragenwar-3044
    self:Layout();
169 Kragenwar-3044
end
170 Kragenwar-3044
 
171 Kragenwar-3044
function Window:SetPosition(x, y)
172 Kragenwar-3044
    self.hidden:SetPosition(x, y);
173 Kragenwar-3044
end
174 Kragenwar-3044
 
175 Kragenwar-3044
function Window:GetPosition()
176 Kragenwar-3044
    return self.hidden:GetPosition();
177 Kragenwar-3044
end
178 Kragenwar-3044
 
179 Kragenwar-3044
function Window:SetVisible(visible)
180 Kragenwar-3044
    Turbine.UI.Window.SetVisible(self, visible);
181 Kragenwar-3044
    self.hidden:SetVisible(visible);
182 Kragenwar-3044
end
183 Kragenwar-3044
 
184 Kragenwar-3044
function Window:Close()
185 Kragenwar-3044
    Turbine.UI.Window.Close(self);
186 Kragenwar-3044
    self.hidden:Close();
187 Kragenwar-3044
end
188 Kragenwar-3044
 
189 Kragenwar-3044
function Window:Layout()
190 Kragenwar-3044
    local width, height = self:GetSize();
191 Kragenwar-3044
    if (width < 142) then
192 Kragenwar-3044
        width = 142;
193 Kragenwar-3044
    end
194 Kragenwar-3044
    if (height < 102) then
195 Kragenwar-3044
        height = 102;
196 Kragenwar-3044
    end
197 Kragenwar-3044
 
198 Kragenwar-3044
    local titleWidth = math.min(self.titleWidth, width - 72);
199 Kragenwar-3044
    local spacer = (width - titleWidth) / 2;
200 Kragenwar-3044
    self.titleLeft:SetPosition(spacer, -7);
201 Kragenwar-3044
    self.titleMid:SetPosition(spacer + 35, -7);
202 Kragenwar-3044
    self.titleMid:SetWidth(titleWidth - 70);
203 Kragenwar-3044
    self.titleRight:SetPosition(width - spacer - 35, -7);
204 Kragenwar-3044
    self.title:SetPosition(spacer + 25, 8);
205 Kragenwar-3044
    self.title:SetWidth(titleWidth - 50);
206 Kragenwar-3044
 
207 Kragenwar-3044
    local offset = 20;
208 Kragenwar-3044
    self.close:SetPosition(width - 22, offset + 5);
209 Kragenwar-3044
    self.topLeft:SetPosition(0, offset);
210 Kragenwar-3044
    self.top:SetPosition(36, offset);
211 Kragenwar-3044
    self.topRight:SetPosition(width - 36, offset);
212 Kragenwar-3044
    self.bottomLeft:SetPosition(0, height - 36);
213 Kragenwar-3044
    self.bottom:SetPosition(36, height - 36);
214 Kragenwar-3044
    self.bottomRight:SetPosition(width - 36, height - 36);
215 Kragenwar-3044
    self.left:SetPosition(0, 36 + offset);
216 Kragenwar-3044
    self.right:SetPosition(width - 36, 36 + offset);
217 Kragenwar-3044
    self.center:SetPosition(36, 36 + offset);
218 Kragenwar-3044
 
219 Kragenwar-3044
    self.top:SetWidth(width - 72);
220 Kragenwar-3044
    self.bottom:SetWidth(width - 72);
221 Kragenwar-3044
    self.left:SetHeight(height - 72 - offset);
222 Kragenwar-3044
    self.right:SetHeight(height - 72 - offset);
223 Kragenwar-3044
    self.center:SetSize(width - 72, height - 72 - offset)
224 Kragenwar-3044
end

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


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