lotrointerface.com
Search Downloads

LoTROInterface SVN SequenceBars

[/] [trunk/] [Thurallor/] [SequenceBars/] [GlobalOptionsTab.lua] - Blame information for rev 170

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 170 Thurallor-7095
GlobalOptionsTab = class(Thurallor.UI.TabCard);
2 Thurallor-7095
 
3 Thurallor-7095
function GlobalOptionsTab:Constructor(manager, optionsPanel)
4 Thurallor-7095
    Thurallor.UI.TabCard.Constructor(self);
5 Thurallor-7095
    self.manager = manager;
6 Thurallor-7095
    self.optionsPanel = optionsPanel;
7 Thurallor-7095
 
8 Thurallor-7095
    self:SetTabLeft(0);
9 Thurallor-7095
    self.inside = Turbine.UI.Control();
10 Thurallor-7095
    self:SetInteriorControl(self.inside);
11 Thurallor-7095
    self:SetInteriorAlignment(Turbine.UI.ContentAlignment.TopLeft);
12 Thurallor-7095
 
13 Thurallor-7095
    local left, top, width = 10, 10, 350;
14 Thurallor-7095
 
15 Thurallor-7095
    self.language = Turbine.UI.Label();
16 Thurallor-7095
    self.language:SetParent(self.inside);
17 Thurallor-7095
    self.language:SetFont(Turbine.UI.Lotro.Font.TrajanPro14);
18 Thurallor-7095
    self.language:SetPosition(left, top);
19 Thurallor-7095
    self.language:SetSize(width, 16);
20 Thurallor-7095
    top = top + 16;
21 Thurallor-7095
 
22 Thurallor-7095
    local languages = { "English", "German", "French", "Portuguese", "Russian" };
23 Thurallor-7095
    local peers = {};
24 Thurallor-7095
    self.languageButtons = {};
25 Thurallor-7095
    for l = 1, #languages do
26 Thurallor-7095
        language = languages[l];
27 Thurallor-7095
        local radioButton = Thurallor.UI.RadioButton(self.inside);
28 Thurallor-7095
        radioButton.language = languages[l];
29 Thurallor-7095
        radioButton:SetFont((l == 5) and Turbine.UI.Lotro.Font.Verdana14 or Turbine.UI.Lotro.Font.TrajanPro14);
30 Thurallor-7095
        radioButton:SetSize(width, 16);
31 Thurallor-7095
        radioButton:SetPosition(left, top);
32 Thurallor-7095
        radioButton.Clicked = function(sender)
33 Thurallor-7095
            self.manager:SetLanguage(Turbine.Language[sender.language]);
34 Thurallor-7095
        end
35 Thurallor-7095
        self.languageButtons[radioButton.language] = radioButton;
36 Thurallor-7095
        table.insert(peers, radioButton);
37 Thurallor-7095
        top = top + 16;
38 Thurallor-7095
    end
39 Thurallor-7095
    Thurallor.UI.RadioButton.LinkPeers(peers);
40 Thurallor-7095
 
41 Thurallor-7095
    top = top + 16;
42 Thurallor-7095
    self.snapToGrid = Turbine.UI.Lotro.CheckBox();
43 Thurallor-7095
    self.snapToGrid:SetParent(self.inside);
44 Thurallor-7095
    self.snapToGrid:SetFont(Turbine.UI.Lotro.Font.TrajanPro14);
45 Thurallor-7095
    self.snapToGrid:SetPosition(left, top);
46 Thurallor-7095
    self.snapToGrid:SetSize(width, 16);
47 Thurallor-7095
    self.snapToGrid.CheckedChanged = function(sender)
48 Thurallor-7095
        self.manager:SetSnapToGrid(sender:IsChecked());
49 Thurallor-7095
    end
50 Thurallor-7095
 
51 Thurallor-7095
    self.showGrid = Thurallor.UI.EyeButton(self.inside, false, true);
52 Thurallor-7095
    self.showGrid:SetPosition(left + 186, top);
53 Thurallor-7095
    self.showGrid.CheckedChanged = function(sender)
54 Thurallor-7095
        self.manager:SetGridDisplayEnable(sender:IsChecked());
55 Thurallor-7095
    end
56 Thurallor-7095
 
57 Thurallor-7095
    top = top + 32;
58 Thurallor-7095
    self.uiScaleLabel = Turbine.UI.Label();
59 Thurallor-7095
    self.uiScaleLabel:SetParent(self.inside);
60 Thurallor-7095
    self.uiScaleLabel:SetFont(Turbine.UI.Lotro.Font.TrajanPro14);
61 Thurallor-7095
    self.uiScaleLabel:SetPosition(left, top);
62 Thurallor-7095
    self.uiScaleLabel:SetSize(width, 16);
63 Thurallor-7095
 
64 Thurallor-7095
    top = top + 16;
65 Thurallor-7095
    self.uiScale = Turbine.UI.Lotro.ScrollBar();
66 Thurallor-7095
    self.uiScale:SetParent(self.inside);
67 Thurallor-7095
    self.uiScale:SetPosition(left, top);
68 Thurallor-7095
    self.uiScale:SetSize(200, 10);
69 Thurallor-7095
    self.uiScale:SetMinimum(13);
70 Thurallor-7095
    self.uiScale:SetMaximum(96);
71 Thurallor-7095
    self.uiScale:SetSmallChange(1);
72 Thurallor-7095
    self.uiScale:SetLargeChange(10);
73 Thurallor-7095
    self.uiScale.ValueChanged = function(sb)
74 Thurallor-7095
        local scale = sb:GetValue();
75 Thurallor-7095
        self.manager:SetUIScale(scale);
76 Thurallor-7095
        sb:UpdateLabel();
77 Thurallor-7095
    end
78 Thurallor-7095
    self.uiScale.UpdateLabel = function(sb)
79 Thurallor-7095
        local scale = sb:GetValue();
80 Thurallor-7095
        self.uiScaleLabel:SetText(L:GetText("/PluginManager/OptionsTab/GlobalSettingsTab/UiScale") .. ": " .. string.format("%d", scale * 100 / 32) .. "%");
81 Thurallor-7095
    end
82 Thurallor-7095
 
83 Thurallor-7095
    top = top + 26;
84 Thurallor-7095
    self.uiOpacityLabel = Turbine.UI.Label();
85 Thurallor-7095
    self.uiOpacityLabel:SetParent(self.inside);
86 Thurallor-7095
    self.uiOpacityLabel:SetFont(Turbine.UI.Lotro.Font.TrajanPro14);
87 Thurallor-7095
    self.uiOpacityLabel:SetPosition(left, top);
88 Thurallor-7095
    self.uiOpacityLabel:SetSize(width, 16);
89 Thurallor-7095
 
90 Thurallor-7095
    top = top + 16;
91 Thurallor-7095
    self.uiOpacity = Turbine.UI.Lotro.ScrollBar();
92 Thurallor-7095
    self.uiOpacity:SetParent(self.inside);
93 Thurallor-7095
    self.uiOpacity:SetPosition(left, top);
94 Thurallor-7095
    self.uiOpacity:SetSize(200, 10);
95 Thurallor-7095
    self.uiOpacity:SetMinimum(0);
96 Thurallor-7095
    self.uiOpacity:SetMaximum(100);
97 Thurallor-7095
    self.uiOpacity:SetSmallChange(1);
98 Thurallor-7095
    self.uiOpacity:SetLargeChange(10);
99 Thurallor-7095
    self.uiOpacity.ValueChanged = function(sb)
100 Thurallor-7095
        local opacity = sb:GetValue();
101 Thurallor-7095
        self.manager:SetUIOpacity(opacity / 100);
102 Thurallor-7095
        sb:UpdateLabel();
103 Thurallor-7095
    end
104 Thurallor-7095
    self.uiOpacity.UpdateLabel = function(sb)
105 Thurallor-7095
        local opacity = sb:GetValue();
106 Thurallor-7095
        self.uiOpacityLabel:SetText(L:GetText("/PluginManager/OptionsTab/GlobalSettingsTab/UiOpacity") .. ": " .. opacity .. "%");
107 Thurallor-7095
    end
108 Thurallor-7095
 
109 Thurallor-7095
    top = top + 26;
110 Thurallor-7095
    self.rightClickAction = Turbine.UI.Label();
111 Thurallor-7095
    self.rightClickAction:SetParent(self.inside);
112 Thurallor-7095
    self.rightClickAction:SetFont(Turbine.UI.Lotro.Font.TrajanPro14);
113 Thurallor-7095
    self.rightClickAction:SetPosition(left, top);
114 Thurallor-7095
    self.rightClickAction:SetSize(width, 16);
115 Thurallor-7095
    top = top + 16;
116 Thurallor-7095
    self.rightClickActionShowMenu = Thurallor.UI.RadioButton(self.inside, "");
117 Thurallor-7095
    self.rightClickActionShowMenu:SetFont(Turbine.UI.Lotro.Font.TrajanPro14);
118 Thurallor-7095
    self.rightClickActionShowMenu:SetPosition(left, top);
119 Thurallor-7095
    self.rightClickActionShowMenu:SetSize(width, 16);
120 Thurallor-7095
    self.rightClickActionShowMenu.Clicked = function(sender)
121 Thurallor-7095
        self.manager:SetUseOnRightClick(false);
122 Thurallor-7095
    end
123 Thurallor-7095
    top = top + 16;
124 Thurallor-7095
    self.rightClickActionExecute = Thurallor.UI.RadioButton(self.inside, "");
125 Thurallor-7095
    self.rightClickActionExecute:SetFont(Turbine.UI.Lotro.Font.TrajanPro14);
126 Thurallor-7095
    self.rightClickActionExecute:SetPosition(left, top);
127 Thurallor-7095
    self.rightClickActionExecute:SetSize(width, 16);
128 Thurallor-7095
    self.rightClickActionExecute.Clicked = function(sender)
129 Thurallor-7095
        self.manager:SetUseOnRightClick(true);
130 Thurallor-7095
    end
131 Thurallor-7095
    Thurallor.UI.RadioButton.LinkPeers({self.rightClickActionShowMenu, self.rightClickActionExecute});
132 Thurallor-7095
    top = top + 16;
133 Thurallor-7095
 
134 Thurallor-7095
    local height = top + 10;
135 Thurallor-7095
    self.inside:SetSize(width, height);
136 Thurallor-7095
end
137 Thurallor-7095
 
138 Thurallor-7095
function GlobalOptionsTab:Refresh()
139 Thurallor-7095
    for language in keys(self.languageButtons) do
140 Thurallor-7095
        self.languageButtons[language]:SetChecked(self.manager.settings.language == Turbine.Language[language]);
141 Thurallor-7095
    end
142 Thurallor-7095
    self.snapToGrid:SetChecked(self.manager.settings.snapToGrid);
143 Thurallor-7095
    self.showGrid:SetChecked(false);
144 Thurallor-7095
    self.uiScale:SetValue(self.manager.settings.uiScale);
145 Thurallor-7095
    self.uiOpacity:SetValue(self.manager.settings.uiOpacity * 100);
146 Thurallor-7095
    self.rightClickActionExecute:SetChecked(self.manager.settings.useOnRightClick);
147 Thurallor-7095
    self.rightClickActionShowMenu:SetChecked(not self.manager.settings.useOnRightClick);
148 Thurallor-7095
end
149 Thurallor-7095
 
150 Thurallor-7095
function GlobalOptionsTab:Localize()
151 Thurallor-7095
    self:SetTabText(L:GetText("/PluginManager/OptionsTab/GlobalSettings"));
152 Thurallor-7095
    self.language:SetText(L:GetText("/PluginManager/OptionsTab/GlobalSettingsTab/Language"));
153 Thurallor-7095
    for language in keys(self.languageButtons) do
154 Thurallor-7095
        self.languageButtons[language]:SetText(L:GetText("/PluginManager/OptionsTab/GlobalSettingsTab/LanguageMenu/" .. language));
155 Thurallor-7095
    end
156 Thurallor-7095
    self.snapToGrid:SetText(L:GetText("/PluginManager/OptionsTab/GlobalSettingsTab/SnapToGrid"));
157 Thurallor-7095
    self.uiScale:UpdateLabel();
158 Thurallor-7095
    self.uiOpacity:UpdateLabel();
159 Thurallor-7095
    self.rightClickAction:SetText(L:GetText("/PluginManager/OptionsTab/GlobalSettingsTab/RightClickAction"));
160 Thurallor-7095
    self.rightClickActionExecute:SetText(L:GetText("/PluginManager/OptionsTab/GlobalSettingsTab/RightClickActionExecute"));
161 Thurallor-7095
    self.rightClickActionShowMenu:SetText(L:GetText("/PluginManager/OptionsTab/GlobalSettingsTab/RightClickActionShowMenu"));
162 Thurallor-7095
end

All times are GMT -5. The time now is 12:32 AM.


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