Shestak UI
Go Back   Shestak UI > Interface Forums > Russian Community > Modified Versions

Modified Versions Your modified version of ShestakUI.

Advertising

 
Thread Tools
Old 31.03.2012, 13:31   #1
 Assistant User Information

Wetxius's Avatar
Post HideButton: скрытие чата и миникарты

Устарело

Немного переделанный код скрытия миникарты:
Миникарта


Аналогичный код для чата:
Чат


Помимо скрытия в бою, можно навести на прежнее место карты/чата и они появятся (маусовер)
http://i.imgur.com/4ex96.jpg
Значки на миникарте не пропадают, как и иконки в чате
[hide]

Кнопка по маусоверу, в правом нижнем углу. Левый клик - скрытие чата, правый - миникарты, средний - и то, и то.
На выбор два варианта установки, либо заменить Core\Temp.lua, либо скачать отдельным аддоном.
Текущая версия на 02.01.14. Вложение
Attached Files
File Type: lua Temp.lua (3.4 KB, 29 views Who downloaded?)
File Type: zip HideButton.zip (1.4 KB, 31 views Who downloaded?)
Say Thank:
Shestak (31.03.2012)
Old 31.03.2012, 13:31   #1.5 - Disable Ads

Advertise on this site

Old 31.03.2012, 14:40   #2
Shestak
 Junior Member User Information

Shestak's Avatar
Quote:
Originally Posted by Wetxius View Post
Значки на миникарте не пропадают, как и иконки в чате
Я вижу это в виде создания дополнительного прозрачного фрейма, который будет спавнится на месте чата/карты в момент их скрытия(не альфа, а именно скрытие). И уже эвент маусовера вешать на него.
Просто если скрывать чат/карту, то значков нет, а если альфить то будут.

Добавлено через 1 минуту
Ну, и если смотреть на скриншот, то и чатбар надо скрывать, тк не красиво смотрится.

Добавлено через 51 секунду
И если фон чата не включен, то левую вертикальную полоску(которая рядом с чатбаром).
Old 01.04.2012, 14:07   #3
Wetxius
 Assistant User Information

Wetxius's Avatar
Изменил задумку. Теперь просто спавнится кнопочка возле миникарты (у меня по крайней мере, тк нет привязки). Левый клик - спрятать чат. правый клик - спрятать миникарту. Повторные клики показывают скрытое. Учтено скрытие чатбара, фона, если нет фона, то скрывает левую полоску.
Можно сказать альфа версия
На основе http://www.wowinterface.com/download...hatButton.html

Temp.lua


Добавлено через 1 час 26 минут
upd: Обновил код Temp.lua (так мелкие чистки, изменил положение кнопки, теперь справа внизу экрана)
Say Thank:
Shestak (01.04.2012)
Old 05.04.2012, 23:52   #4
Shestak
 Junior Member User Information

Shestak's Avatar
Вообще гут, мне понравилось. Вот только кнопка как-то не пришей рукав. А куда ее сунуть что-то не знаю даже.

Добавлено через 1 минуту
Ее кстати можно сделать по маусоверу.

Добавлено через 54 часа 11 минут
Quote:
Originally Posted by Wetxius View Post
lua Code [Select]:
HideB:CreatePanel("ClassColor", 18, 18, "CENTER", UIParent, "CENTER", 0, 0)
HideB:Point("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -1, 0)
Вот это можно сократить до этого:
lua Code [Select]:
HideB:CreatePanel("ClassColor", 18, 18, "BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -1, 0)
Say Thank:
Wetxius (06.04.2012)
Old 07.04.2012, 18:13   #5
Wetxius
 Assistant User Information

Wetxius's Avatar
Quote:
Originally Posted by Shestak View Post
Вот это можно сократить до этого:
Да, я вчера уже думал насчет этого Некогда было доделать

Добавлено через 24 часа 56 минут
lua Code [Select]:
local T, C, L = unpack(select(2, ...))

----------------------------------------------------------------------------------------
--  HideButton : a button to hide your chat and minimap
----------------------------------------------------------------------------------------
local HideB = CreateFrame("Frame", "HideB", UIParent)
HideB:CreatePanel("ClassColor", 18, 18, "BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -1, 0)

HideB:SetAlpha(0)
HideB:SetScript("OnEnter", function() HideB:SetAlpha(1) end)
HideB:SetScript("OnLeave", function() HideB:SetAlpha(0) end)

HideB.HideAll = false         -- Hide Chat & Minimap together by click
HideB.ChatIsShown = true
HideB.MinimapIsShown = true
HideB.ActiveTabs = {[1] = true}

-- Hide Chat
HideB.HideChat = function(frame)
    GeneralDockManager.HCBOverrideShow = GeneralDockManager.Show
    GeneralDockManager.Show = GeneralDockManager.Hide
    GeneralDockManager:Hide()
    if C.chat.background == true then
        ChatBackground:Hide()
        ChatTabsPanel:Hide()
    else
        LeftPanel:Hide()
    end
    if C.chat.chat_bar == true then
        ChatBar:Hide()
    end

    for i = 1, NUM_CHAT_WINDOWS do
        local f = _G["ChatFrame"..i]
        if f then
            if f.minimized then
                local fm =_G["ChatFrame"..i.."Minimized"]
                if fm then
                    fm:Hide()
                end
                frame.ActiveTabs[i] = false
            elseif f:IsVisible() then
                frame.ActiveTabs[i] = true
                f:Hide()
            else
                frame.ActiveTabs[i] = false
            end
            -- override :Show()
            f.HCBOverrideShow = f.Show
            f.Show = f.Hide
        end
    end

    for i = 1, NUM_CHAT_WINDOWS do
        local f = _G["ChatFrame"..i.."Tab"]
        if f then
            if frame.ActiveTabs[i] == true and f:IsVisible() then
                f:Hide()
            end
        end
    end
    frame.ChatIsShown = false
end

-- Show Chat
HideB.ShowChat = function(frame)
    GeneralDockManager.Show = GeneralDockManager.HCBOverrideShow
    GeneralDockManager:Show()
    if C.chat.background == true then
        ChatBackground:Show()
        ChatTabsPanel:Show()
    else
        LeftPanel:Show()
    end
    if C.chat.chat_bar == true then
        ChatBar:Show()
    end 
   
    for i = 1, NUM_CHAT_WINDOWS do
        local f = _G["ChatFrame"..i]
        if f then
            f.Show = f.HCBOverrideShow
            if f.minimized then
                local fm =_G["ChatFrame"..i.."Minimized"]
                if fm then
                    fm.Show = fm.HCBOverrideShow
                    fm:Show()
                end
            elseif frame.ActiveTabs[i] == true then
                f:Show()
            end  
        end
    end
   
    for i = 1, NUM_CHAT_WINDOWS do 
        local f = _G["ChatFrame"..i.."Tab"]
        if f then
            f.Show = f.HCBOverrideShow
            if frame.ActiveTabs[i] == true then
                f:Show()
            end
        end
    end
    frame.ChatIsShown = true
end

-- Hide Minimap
HideB.HideMinimap = function(frame)
    MinimapAnchor.HCBOverrideShow = MinimapAnchor.Show
    MinimapAnchor.Show = MinimapAnchor.Hide
    MinimapAnchor:Hide()
    frame.MinimapIsShown = false
end

-- Show Minimap
HideB.ShowMinimap = function(frame)
    MinimapAnchor.Show = MinimapAnchor.HCBOverrideShow
    MinimapAnchor:Show()
    frame.MinimapIsShown = true
end

HideB.ChatT = function(frame)
    if HideB.ChatIsShown == true then
        HideB:HideChat()
    else
        HideB:ShowChat()
    end
end

HideB.MapT = function(frame)
    if HideB.MinimapIsShown == true then
        HideB:HideMinimap()
    else
        HideB:ShowMinimap()
    end
end

-- Clicker
HideB:SetScript("OnMouseUp", function(frame, button)
    if HideB.HideAll == true then
        if (button == "LeftButton" or button == "RightButton") then
            HideB:ChatT()
            HideB:MapT()
        end
    else   
        if button == "LeftButton" then
            HideB:ChatT()
        elseif button == "RightButton" then 
            HideB:MapT()
        end
    end 
end)

Добавил маусовер, кнопка скрыта по умолчанию. Новая опция: клик скрывает сразу чат и карту вместе.
Say Thank:
Shestak (07.04.2012)
Old 07.04.2012, 20:28   #6
Shestak
 Junior Member User Information

Shestak's Avatar
Quote:
Originally Posted by Wetxius View Post
Новая опция: клик скрывает сразу чат и карту вместе.
Мб лучше лкм - одно, пкм - другое, а скм - и то, и то?
Say Thank:
Wetxius (08.04.2012)
Old 08.04.2012, 14:51   #7
Wetxius
 Assistant User Information

Wetxius's Avatar
Quote:
Originally Posted by Shestak View Post
Мб лучше лкм - одно, пкм - другое, а скм - и то, и то?
Действительно лучше

Добавлено через 4 часа 46 минут
lua Code [Select]:
local T, C, L = unpack(select(2, ...))

----------------------------------------------------------------------------------------
--  HideButton : a button to hide your chat and minimap
----------------------------------------------------------------------------------------
local HideB = CreateFrame("Frame", "HideB", UIParent)
HideB:CreatePanel("ClassColor", 18, 18, "BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -1, 0)

HideB:SetAlpha(0)
HideB:SetScript("OnEnter", function() HideB:SetAlpha(1) end)
HideB:SetScript("OnLeave", function() HideB:SetAlpha(0) end)

HideB.ChatIsShown = true
HideB.MinimapIsShown = true
HideB.ActiveTabs = {[1] = true}

-- Hide Chat
HideB.HideChat = function(frame)
    GeneralDockManager:Hide()
    if C.chat.background == true then
        ChatBackground:Hide()
        ChatTabsPanel:Hide()
    else
        LeftPanel:Hide()
    end
    if C.chat.chat_bar == true then
        ChatBar:Hide()
    end

    for i = 1, NUM_CHAT_WINDOWS do
        local f = _G["ChatFrame"..i]
        if f then
            f.Show = T.dummy
            if f.minimized then
                local fm =_G["ChatFrame"..i.."Minimized"]
                if fm then
                    fm:Hide()
                end
                frame.ActiveTabs[i] = false
            elseif f:IsVisible() then
                frame.ActiveTabs[i] = true
                f:Hide()
            else
                frame.ActiveTabs[i] = false
            end
        end
    end

    for i = 1, NUM_CHAT_WINDOWS do
        local f = _G["ChatFrame"..i.."Tab"]
        if f then
            if frame.ActiveTabs[i] == true and f:IsVisible() then
                f:Hide()
            end
        end
    end
    frame.ChatIsShown = false
end

-- Show Chat
HideB.ShowChat = function(frame)
    GeneralDockManager:Show()
    if C.chat.background == true then
        ChatBackground:Show()
        ChatTabsPanel:Show()
    else
        LeftPanel:Show()
    end
    if C.chat.chat_bar == true then
        ChatBar:Show()
    end 
   
    for i = 1, NUM_CHAT_WINDOWS do
        local f = _G["ChatFrame"..i]
        if f then
            f.Show = nil
            if f.minimized then
                local fm =_G["ChatFrame"..i.."Minimized"]
                if fm then
                    fm:Show()
                end
            elseif frame.ActiveTabs[i] == true then
                f:Show()
            end  
        end
    end
   
    for i = 1, NUM_CHAT_WINDOWS do 
        local f = _G["ChatFrame"..i.."Tab"]
        if f then
            if frame.ActiveTabs[i] == true then
                f:Show()
            end
        end
    end
    frame.ChatIsShown = true
end

HideB.ChatT = function(frame)
    if HideB.ChatIsShown == true then
        HideB:HideChat()
    else
        HideB:ShowChat()
    end
end

-- Hide Minimap
HideB.HideMinimap = function(frame)
    if InCombatLockdown() then print("|cffffff00"..ERR_NOT_IN_COMBAT..".|r") return end
    MinimapAnchor.Show = T.dummy
    MinimapAnchor:Hide()
    frame.MinimapIsShown = false
end

-- Show Minimap
HideB.ShowMinimap = function(frame)
    if InCombatLockdown() then print("|cffffff00"..ERR_NOT_IN_COMBAT..".|r") return end
    MinimapAnchor.Show = nil
    MinimapAnchor:Show()
    frame.MinimapIsShown = true
end

HideB.MapT = function(frame)
    if HideB.MinimapIsShown == true then
        HideB:HideMinimap()
    else
        HideB:ShowMinimap()
    end
end

-- Clicker
HideB:SetScript("OnMouseUp", function(frame, button)
    if button == "LeftButton" then
        HideB:ChatT()
    elseif button == "RightButton" then
        HideB:MapT()
    elseif button == "MiddleButton" then
        HideB:ChatT()
        HideB:MapT()
    end
end)
СКМ скрывает карту + миникарту. Миникарта теперь заблокирована в бою, и не вызывает спавн ошибок при попытке скрыть/показать. Ну и так по мелочи
Says Thank:
Oz (08.08.2012), Shestak (01.11.2012)
Old 05.09.2012, 08:19   #8
ILF7
 Senior Member User Information

ILF7's Avatar
Это встроено в сборку или как-то нужно установить?
Old 05.09.2012, 11:58   #9
Wetxius
 Assistant User Information

Wetxius's Avatar
Всё вручную.
В первом посте файл, заменить такой же в сборке: ShestakUI\Core\Temp.lua

Добавлено через 1 минуту
Ну и за работоспособность не ручаюсь, тк на данный момент не пользуюсь этой фичой.
Say Thank:
ILF7 (05.09.2012)

Tags
маусовер, миникарта, скрытие в бою, чат

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
[4.0] Toggle Menu (меню у миникарты) m2jest1c Modified Versions 24 27.10.2013 17:43
Размер миникарты cjcccp Technical Support 4 02.12.2012 16:15
[Embedded] Farm Mode button - увеличение размера миникарты m2jest1c Modified Versions 13 22.09.2012 11:56
Размер чата smartdrake Technical Support 15 21.02.2012 10:03
Фон для чата Shestak General Discussion 11 05.10.2010 19:05


Mobile Style Русский English Deutsch Italian Chinese