lotrointerface.com
Search Downloads

LoTROInterface SVN KragenBars

[/] [branches/] [3.21/] [KragenBars/] [SkillWindow.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
import "Turbine.UI.Lotro";
3 Kragenwar-3044
import "KragenPlugs.Utils";
4 Kragenwar-3044
import "KragenPlugs.Utils.UI";
5 Kragenwar-3044
import "KragenPlugs.KragenBars";
6 Kragenwar-3044
 
7 Kragenwar-3044
SkillWindow = class ( Turbine.UI.Window )
8 Kragenwar-3044
 
9 Kragenwar-3044
function SkillWindow:Constructor ( heading, x, y, width, height, prop)
10 Kragenwar-3044
        Turbine.UI.Window.Constructor( self );
11 Kragenwar-3044
 
12 Kragenwar-3044
        -- display width/height for default positioning
13 Kragenwar-3044
    local displayWidth = Turbine.UI.Display:GetWidth();
14 Kragenwar-3044
        local displayHeight = Turbine.UI.Display:GetHeight();
15 Kragenwar-3044
 
16 Kragenwar-3044
        -- declar variables
17 Kragenwar-3044
        self.heading    = heading;
18 Kragenwar-3044
        self.x                  = ((x - 1) * 35) + ((displayWidth / 2) - (35 * 6)) + 20;
19 Kragenwar-3044
        self.y                  = (displayHeight - 70) - (5 * 35) + ((y - 1) * 35);
20 Kragenwar-3044
        self.width              = width;
21 Kragenwar-3044
        self.height     = height;
22 Kragenwar-3044
        self.active     = prop.active;
23 Kragenwar-3044
        self.rotate     = prop.rotate;
24 Kragenwar-3044
        self.defx       = x;
25 Kragenwar-3044
        self.defy       = y;
26 Kragenwar-3044
 
27 Kragenwar-3044
        -- set x and y if they arn't the defaults
28 Kragenwar-3044
        if (prop.x ~= 0 and prop.y ~= 0) then
29 Kragenwar-3044
                self.x = prop.x;
30 Kragenwar-3044
                self.y = prop.y;
31 Kragenwar-3044
        end
32 Kragenwar-3044
 
33 Kragenwar-3044
        -- set properties
34 Kragenwar-3044
        self:SetSize( width * 35, height * 35 );
35 Kragenwar-3044
        self:SetPosition(ValidatePosition(self.x, self.y, width*35, height*35));
36 Kragenwar-3044
        self:SetVisible(true);
37 Kragenwar-3044
 
38 Kragenwar-3044
        if (self.rotate == 1) then
39 Kragenwar-3044
                self:RotateWindow();
40 Kragenwar-3044
        end
41 Kragenwar-3044
 
42 Kragenwar-3044
    -- DRAGBAR
43 Kragenwar-3044
        -- attach dragbar class to window
44 Kragenwar-3044
        self.dragBar = KragenPlugs.Utils.UI.DragBar( self, heading );
45 Kragenwar-3044
        self.dragBar:SetRotator(true);
46 Kragenwar-3044
        self.dragBar:SetRotatorOffset(3, 23);
47 Kragenwar-3044
 
48 Kragenwar-3044
        -- DRAGBAR EVENTS
49 Kragenwar-3044
        -- save position when user stops dragging
50 Kragenwar-3044
        self.DragEnd = function( sender )
51 Kragenwar-3044
        self:SetWantsUpdates(true);
52 Kragenwar-3044
    end
53 Kragenwar-3044
 
54 Kragenwar-3044
    self.Update = function( sender )
55 Kragenwar-3044
        local x, y = self:GetPosition();
56 Kragenwar-3044
 
57 Kragenwar-3044
        if (settings.snaptogrid) then
58 Kragenwar-3044
                local testx = math.floor(x / 35);
59 Kragenwar-3044
                x = 35 * testx + 17;
60 Kragenwar-3044
 
61 Kragenwar-3044
                local testy = math.floor(y / 35);
62 Kragenwar-3044
                y = 35 * testy + 17;
63 Kragenwar-3044
                end
64 Kragenwar-3044
 
65 Kragenwar-3044
        self.x = x;
66 Kragenwar-3044
        self.y = y;
67 Kragenwar-3044
 
68 Kragenwar-3044
        self:SetPosition(self.x, self.y);
69 Kragenwar-3044
        KragenBars:RecalculateBorders();
70 Kragenwar-3044
        self.dragBar:RecalculatePosition();
71 Kragenwar-3044
 
72 Kragenwar-3044
        self:SetWantsUpdates(false);
73 Kragenwar-3044
        end
74 Kragenwar-3044
 
75 Kragenwar-3044
        -- set visibility when the user unhides the UI
76 Kragenwar-3044
    self.HUDShow = function(sender)
77 Kragenwar-3044
        self:SetVisible( self.active );
78 Kragenwar-3044
        end
79 Kragenwar-3044
 
80 Kragenwar-3044
        self.DragEnable = function(sender)
81 Kragenwar-3044
        self.dragBar:SetVisible(self.active and self.dragBar:IsHUDVisible() and self.dragBar:IsDraggable());
82 Kragenwar-3044
        end
83 Kragenwar-3044
 
84 Kragenwar-3044
        self.Rotate = function(sender)
85 Kragenwar-3044
            KragenBars:RotateWindow(self);
86 Kragenwar-3044
 
87 Kragenwar-3044
                if (self.rotate == 1) then
88 Kragenwar-3044
                    self.rotate = 0;
89 Kragenwar-3044
                else
90 Kragenwar-3044
                    self.rotate = 1;
91 Kragenwar-3044
                end
92 Kragenwar-3044
 
93 Kragenwar-3044
                self:RotateWindow();
94 Kragenwar-3044
        end
95 Kragenwar-3044
 
96 Kragenwar-3044
        -- ON VISIBLE CHANGED EVENT
97 Kragenwar-3044
        self.VisibleChanged = function(sender, args)
98 Kragenwar-3044
                self.dragBar:SetVisible(self.active and self.dragBar:IsHUDVisible() and self.dragBar:IsDraggable());
99 Kragenwar-3044
        end
100 Kragenwar-3044
end
101 Kragenwar-3044
 
102 Kragenwar-3044
-- UPDATE THE WINDOW STATE
103 Kragenwar-3044
function SkillWindow:Refresh( active )
104 Kragenwar-3044
        self.active = active;
105 Kragenwar-3044
        self:SetVisible( active );
106 Kragenwar-3044
end
107 Kragenwar-3044
 
108 Kragenwar-3044
-- ROTATE THE WINDOW
109 Kragenwar-3044
function SkillWindow:RotateWindow()
110 Kragenwar-3044
        local newwidth = self.height;
111 Kragenwar-3044
        local newheight = self.width;
112 Kragenwar-3044
 
113 Kragenwar-3044
        self:SetSize( newwidth * 35, newheight * 35 );
114 Kragenwar-3044
 
115 Kragenwar-3044
        self.width = newwidth;
116 Kragenwar-3044
        self.height = newheight;
117 Kragenwar-3044
end
118 Kragenwar-3044
 
119 Kragenwar-3044
function SkillWindow:DefaultPosition()
120 Kragenwar-3044
    -- display width/height for default positioning
121 Kragenwar-3044
    local displayWidth = Turbine.UI.Display:GetWidth();
122 Kragenwar-3044
        local displayHeight = Turbine.UI.Display:GetHeight();
123 Kragenwar-3044
 
124 Kragenwar-3044
    self.x      = ((self.defx - 1) * 35) + ((displayWidth / 2) - (35 * 6)) + 20;
125 Kragenwar-3044
        self.y  = (displayHeight - 70) - (5 * 35) + ((self.defy - 1) * 35);
126 Kragenwar-3044
        self:SetPosition(ValidatePosition(self.x, self.y, self.width*35, self.height*35));
127 Kragenwar-3044
        self.dragBar:RecalculatePosition();
128 Kragenwar-3044
end
129 Kragenwar-3044
 
130 Kragenwar-3044
function SkillWindow:ChangeSize(width, height)
131 Kragenwar-3044
        self.width = width;
132 Kragenwar-3044
        self.height = height;
133 Kragenwar-3044
 
134 Kragenwar-3044
        self:SetSize( width * 35, height * 35 );
135 Kragenwar-3044
        self.dragBar:RecalculateSize();
136 Kragenwar-3044
end

All times are GMT -5. The time now is 11:33 AM.


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