patch-ruRU-5 обновленный логин скрин и создание персонажа
This commit is contained in:
@@ -0,0 +1,362 @@
|
||||
-- ============================================================================
|
||||
-- Autora: Noa
|
||||
-- ============================================================================
|
||||
function GlueScrollFrameTemplate_OnMouseWheel(self, value, scrollBar)
|
||||
scrollBar = scrollBar or _G[self:GetName() .. "ScrollBar"];
|
||||
if ( value > 0 ) then
|
||||
scrollBar:SetValue(scrollBar:GetValue() - (scrollBar:GetHeight() / 2));
|
||||
else
|
||||
scrollBar:SetValue(scrollBar:GetValue() + (scrollBar:GetHeight() / 2));
|
||||
end
|
||||
end
|
||||
|
||||
-- Function to handle the update of manually calculated scrollframes. Used mostly for listings with an indeterminate number of items
|
||||
function GlueScrollFrame_Update(frame, numItems, numToDisplay, valueStep, highlightFrame, smallHighlightWidth, bigHighlightWidth )
|
||||
-- If more than one screen full of skills then show the scrollbar
|
||||
local frameName = frame:GetName();
|
||||
local scrollBar = _G[ frameName.."ScrollBar" ];
|
||||
if ( numItems > numToDisplay ) then
|
||||
frame:Show();
|
||||
else
|
||||
scrollBar:SetValue(0);
|
||||
frame:Hide();
|
||||
end
|
||||
if ( frame:IsShown() ) then
|
||||
local scrollChildFrame = _G[ frameName.."ScrollChildFrame" ];
|
||||
local scrollUpButton = _G[ frameName.."ScrollBarScrollUpButton" ];
|
||||
local scrollDownButton = _G[ frameName.."ScrollBarScrollDownButton" ];
|
||||
local scrollFrameHeight = 0;
|
||||
local scrollChildHeight = 0;
|
||||
|
||||
if ( numItems > 0 ) then
|
||||
scrollFrameHeight = (numItems - numToDisplay) * valueStep;
|
||||
scrollChildHeight = numItems * valueStep;
|
||||
if ( scrollFrameHeight < 0 ) then
|
||||
scrollFrameHeight = 0;
|
||||
end
|
||||
scrollChildFrame:Show();
|
||||
else
|
||||
scrollChildFrame:Hide();
|
||||
end
|
||||
scrollBar:SetMinMaxValues(0, scrollFrameHeight);
|
||||
scrollBar:SetValueStep(valueStep);
|
||||
scrollChildFrame:SetHeight(scrollChildHeight);
|
||||
|
||||
-- Arrow button handling
|
||||
if ( scrollBar:GetValue() == 0 ) then
|
||||
scrollUpButton:Disable();
|
||||
else
|
||||
scrollUpButton:Enable();
|
||||
end
|
||||
if ((scrollBar:GetValue() - scrollFrameHeight) == 0) then
|
||||
scrollDownButton:Disable();
|
||||
else
|
||||
scrollDownButton:Enable();
|
||||
end
|
||||
-- Shrink because scrollbar is shown
|
||||
if ( highlightFrame ) then
|
||||
highlightFrame:SetWidth(smallHighlightWidth);
|
||||
end
|
||||
else
|
||||
-- Widen because scrollbar is hidden
|
||||
if ( highlightFrame ) then
|
||||
highlightFrame:SetWidth(bigHighlightWidth);
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function GlueScrollFrame_OnScrollRangeChanged(self, yrange)
|
||||
local scrollbar = _G[self:GetName().."ScrollBar"];
|
||||
if ( not yrange ) then
|
||||
yrange = self:GetVerticalScrollRange();
|
||||
end
|
||||
local value = scrollbar:GetValue();
|
||||
if ( value > yrange ) then
|
||||
value = yrange;
|
||||
end
|
||||
scrollbar:SetMinMaxValues(0, yrange);
|
||||
scrollbar:SetValue(value);
|
||||
if ( floor(yrange) == 0 ) then
|
||||
if (self.scrollBarHideable) then
|
||||
_G[self:GetName().."ScrollBar"]:Hide();
|
||||
_G[scrollbar:GetName().."ScrollDownButton"]:Hide();
|
||||
_G[scrollbar:GetName().."ScrollUpButton"]:Hide();
|
||||
else
|
||||
_G[scrollbar:GetName().."ScrollDownButton"]:Disable();
|
||||
_G[scrollbar:GetName().."ScrollUpButton"]:Disable();
|
||||
_G[scrollbar:GetName().."ScrollDownButton"]:Show();
|
||||
_G[scrollbar:GetName().."ScrollUpButton"]:Show();
|
||||
end
|
||||
else
|
||||
_G[scrollbar:GetName().."ScrollDownButton"]:Show();
|
||||
_G[scrollbar:GetName().."ScrollUpButton"]:Show();
|
||||
_G[self:GetName().."ScrollBar"]:Show();
|
||||
_G[scrollbar:GetName().."ScrollDownButton"]:Enable();
|
||||
end
|
||||
end
|
||||
|
||||
function GlueScrollFrame_OnVerticalScroll(self, value)
|
||||
local scrollbar = _G[self:GetName().."ScrollBar"];
|
||||
scrollbar:SetValue(value);
|
||||
local min;
|
||||
local max;
|
||||
min, max = scrollbar:GetMinMaxValues();
|
||||
if ( value == 0 ) then
|
||||
_G[scrollbar:GetName().."ScrollUpButton"]:Disable();
|
||||
else
|
||||
_G[scrollbar:GetName().."ScrollUpButton"]:Enable();
|
||||
end
|
||||
if ((scrollbar:GetValue() - max) == 0) then
|
||||
_G[scrollbar:GetName().."ScrollDownButton"]:Disable();
|
||||
else
|
||||
_G[scrollbar:GetName().."ScrollDownButton"]:Enable();
|
||||
end
|
||||
end
|
||||
|
||||
function GlueScrollFrame_OnLoad(self)
|
||||
_G[self:GetName().."ScrollBarScrollDownButton"]:Disable();
|
||||
_G[self:GetName().."ScrollBarScrollUpButton"]:Disable();
|
||||
|
||||
local scrollbar = _G[self:GetName().."ScrollBar"];
|
||||
scrollbar:SetMinMaxValues(0, 0);
|
||||
scrollbar:SetValue(0);
|
||||
self.offset = 0;
|
||||
end
|
||||
|
||||
-- Function to handle the update of manually calculated scrollframes. Used mostly for listings with an indeterminate number of items
|
||||
function FauxScrollFrame_Update(frame, numItems, numToDisplay, valueStep, button, smallWidth, bigWidth, highlightFrame, smallHighlightWidth, bigHighlightWidth, alwaysShowScrollBar )
|
||||
-- If more than one screen full of skills then show the scrollbar
|
||||
local frameName = frame:GetName();
|
||||
local scrollBar = _G[ frameName.."ScrollBar" ];
|
||||
local showScrollBar;
|
||||
if ( numItems > numToDisplay or alwaysShowScrollBar ) then
|
||||
frame:Show();
|
||||
showScrollBar = 1;
|
||||
else
|
||||
scrollBar:SetValue(0);
|
||||
frame:Hide();
|
||||
end
|
||||
if ( frame:IsShown() ) then
|
||||
local scrollChildFrame = _G[ frameName.."ScrollChildFrame" ];
|
||||
local scrollUpButton = _G[ frameName.."ScrollBarScrollUpButton" ];
|
||||
local scrollDownButton = _G[ frameName.."ScrollBarScrollDownButton" ];
|
||||
local scrollFrameHeight = 0;
|
||||
local scrollChildHeight = 0;
|
||||
|
||||
if ( numItems > 0 ) then
|
||||
scrollFrameHeight = (numItems - numToDisplay) * valueStep;
|
||||
scrollChildHeight = numItems * valueStep;
|
||||
if ( scrollFrameHeight < 0 ) then
|
||||
scrollFrameHeight = 0;
|
||||
end
|
||||
scrollChildFrame:Show();
|
||||
else
|
||||
scrollChildFrame:Hide();
|
||||
end
|
||||
scrollBar:SetMinMaxValues(0, scrollFrameHeight);
|
||||
scrollBar:SetValueStep(valueStep);
|
||||
scrollChildFrame:SetHeight(scrollChildHeight);
|
||||
|
||||
-- Arrow button handling
|
||||
if ( scrollBar:GetValue() == 0 ) then
|
||||
scrollUpButton:Disable();
|
||||
else
|
||||
scrollUpButton:Enable();
|
||||
end
|
||||
if ((scrollBar:GetValue() - scrollFrameHeight) == 0) then
|
||||
scrollDownButton:Disable();
|
||||
else
|
||||
scrollDownButton:Enable();
|
||||
end
|
||||
|
||||
-- Shrink because scrollbar is shown
|
||||
if ( highlightFrame ) then
|
||||
highlightFrame:SetWidth(smallHighlightWidth);
|
||||
end
|
||||
if ( button ) then
|
||||
for i=1, numToDisplay do
|
||||
_G[button..i]:SetWidth(smallWidth);
|
||||
end
|
||||
end
|
||||
else
|
||||
-- Widen because scrollbar is hidden
|
||||
if ( highlightFrame ) then
|
||||
highlightFrame:SetWidth(bigHighlightWidth);
|
||||
end
|
||||
if ( button ) then
|
||||
for i=1, numToDisplay do
|
||||
_G[button..i]:SetWidth(bigWidth);
|
||||
end
|
||||
end
|
||||
end
|
||||
return showScrollBar;
|
||||
end
|
||||
|
||||
function FauxScrollFrame_OnVerticalScroll(self, value, itemHeight, updateFunction)
|
||||
local scrollbar = _G[self:GetName().."ScrollBar"];
|
||||
scrollbar:SetValue(value);
|
||||
self.offset = floor((value / itemHeight) + 0.5);
|
||||
updateFunction(self);
|
||||
end
|
||||
|
||||
function FauxScrollFrame_GetOffset(frame)
|
||||
return frame.offset;
|
||||
end
|
||||
|
||||
function FauxScrollFrame_SetOffset(frame, offset)
|
||||
frame.offset = offset;
|
||||
end
|
||||
|
||||
--Tab stuffs
|
||||
function GlueTemplates_TabResize(padding, tab, absoluteSize)
|
||||
local tabName;
|
||||
if ( tab ) then
|
||||
tabName = tab:GetName();
|
||||
end
|
||||
local buttonMiddle = _G[tabName.."Middle"];
|
||||
local buttonMiddleDisabled = _G[tabName.."MiddleDisabled"];
|
||||
local sideWidths = 2 * _G[tabName.."Left"]:GetWidth();
|
||||
local tabText = _G[tab:GetName().."Text"];
|
||||
local width, tabWidth;
|
||||
|
||||
-- If there's an absolute size specified then use it
|
||||
if ( absoluteSize ) then
|
||||
if ( absoluteSize < sideWidths) then
|
||||
width = 1;
|
||||
tabWidth = sideWidths
|
||||
else
|
||||
width = absoluteSize - sideWidths;
|
||||
tabWidth = absoluteSize
|
||||
end
|
||||
tabText:SetWidth(width);
|
||||
else
|
||||
-- Otherwise try to use padding
|
||||
if ( padding ) then
|
||||
width = tabText:GetStringWidth() + padding;
|
||||
else
|
||||
width = tabText:GetStringWidth() + 24;
|
||||
end
|
||||
tabWidth = width + sideWidths;
|
||||
tabText:SetWidth(0);
|
||||
end
|
||||
|
||||
if ( buttonMiddle ) then
|
||||
buttonMiddle:SetWidth(width);
|
||||
end
|
||||
if ( buttonMiddleDisabled ) then
|
||||
buttonMiddleDisabled:SetWidth(width);
|
||||
end
|
||||
|
||||
tab:SetWidth(tabWidth);
|
||||
local highlightTexture = _G[tabName.."HighlightTexture"];
|
||||
if ( highlightTexture ) then
|
||||
highlightTexture:SetWidth(tabWidth);
|
||||
end
|
||||
end
|
||||
|
||||
function GlueTemplates_SetTab(frame, id)
|
||||
frame.selectedTab = id;
|
||||
GlueTemplates_UpdateTabs(frame);
|
||||
end
|
||||
|
||||
function GlueTemplates_GetSelectedTab(frame)
|
||||
return frame.selectedTab;
|
||||
end
|
||||
|
||||
function GlueTemplates_UpdateTabs(frame)
|
||||
if ( frame.selectedTab ) then
|
||||
local tab;
|
||||
for i=1, frame.numTabs, 1 do
|
||||
tab = _G[frame:GetName().."Tab"..i];
|
||||
if ( tab.isDisabled ) then
|
||||
GlueTemplates_SetDisabledTabState(tab);
|
||||
elseif ( i == frame.selectedTab ) then
|
||||
GlueTemplates_SelectTab(tab);
|
||||
else
|
||||
GlueTemplates_DeselectTab(tab);
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function GlueTemplates_SetNumTabs(frame, numTabs)
|
||||
frame.numTabs = numTabs;
|
||||
end
|
||||
|
||||
function GlueTemplates_DisableTab(frame, index)
|
||||
_G[frame:GetName().."Tab"..index].isDisabled = 1;
|
||||
GlueTemplates_UpdateTabs(frame);
|
||||
end
|
||||
|
||||
function GlueTemplates_EnableTab(frame, index)
|
||||
local tab = _G[frame:GetName().."Tab"..index];
|
||||
tab.isDisabled = nil;
|
||||
-- Reset text color
|
||||
tab:SetDisabledTextColor(HIGHLIGHT_FONT_COLOR.r, HIGHLIGHT_FONT_COLOR.g, HIGHLIGHT_FONT_COLOR.b);
|
||||
GlueTemplates_UpdateTabs(frame);
|
||||
end
|
||||
|
||||
function GlueTemplates_DeselectTab(tab)
|
||||
local name = tab:GetName();
|
||||
_G[name.."Left"]:Show();
|
||||
_G[name.."Middle"]:Show();
|
||||
_G[name.."Right"]:Show();
|
||||
--tab:UnlockHighlight();
|
||||
tab:Enable();
|
||||
_G[name.."LeftDisabled"]:Hide();
|
||||
_G[name.."MiddleDisabled"]:Hide();
|
||||
_G[name.."RightDisabled"]:Hide();
|
||||
end
|
||||
|
||||
function GlueTemplates_SelectTab(tab)
|
||||
local name = tab:GetName();
|
||||
_G[name.."Left"]:Hide();
|
||||
_G[name.."Middle"]:Hide();
|
||||
_G[name.."Right"]:Hide();
|
||||
--tab:LockHighlight();
|
||||
tab:Disable();
|
||||
_G[name.."LeftDisabled"]:Show();
|
||||
_G[name.."MiddleDisabled"]:Show();
|
||||
_G[name.."RightDisabled"]:Show();
|
||||
end
|
||||
|
||||
function GlueTemplates_SetDisabledTabState(tab)
|
||||
local name = tab:GetName();
|
||||
_G[name.."Left"]:Show();
|
||||
_G[name.."Middle"]:Show();
|
||||
_G[name.."Right"]:Show();
|
||||
--tab:UnlockHighlight();
|
||||
tab:Disable();
|
||||
tab.text = tab:GetText();
|
||||
-- Gray out text
|
||||
tab:SetDisabledTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b);
|
||||
_G[name.."LeftDisabled"]:Hide();
|
||||
_G[name.."MiddleDisabled"]:Hide();
|
||||
_G[name.."RightDisabled"]:Hide();
|
||||
end
|
||||
|
||||
function EditBox_HandleTabbing(self, tabList)
|
||||
local editboxName = self:GetName();
|
||||
local index;
|
||||
for i=1, #tabList do
|
||||
if ( editboxName == tabList[i] ) then
|
||||
index = i;
|
||||
break;
|
||||
end
|
||||
end
|
||||
|
||||
if ( IsShiftKeyDown() ) then
|
||||
index = index - 1;
|
||||
else
|
||||
index = index + 1;
|
||||
end
|
||||
|
||||
if ( index == 0 ) then
|
||||
index = #tabList;
|
||||
elseif ( index > #tabList ) then
|
||||
index = 1;
|
||||
end
|
||||
|
||||
local target = tabList[index];
|
||||
_G[target]:SetFocus();
|
||||
end
|
||||
Reference in New Issue
Block a user