vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
-- -----------------------------------------------------------------
-- File: AllInOneBank_Config.lua
--
-- Purpose: Functions for AIOB Config window and options.
-- 
-- Author: Ramble 
-- 
-- Credits: 
--   Starven, for MyInventory
--   Kaitlin, for BankItems
--   Sarf, for the original concept of AllInOneInventory
-- -----------------------------------------------------------------

-- == Slash Handlers == 
-- ChatCommandHandler: Slash commands are in here
function AIOB_ChatCommandHandler(msg)

        if ( ( not msg ) or ( strlen(msg) <= 0 ) ) then
                AIOB_Print(AIOB_CHAT_COMMAND_USAGE);
                AIOBConfigFrame:Show();
                return;
        end
        
        local commandName, params = AIOB_Extract_NextParameter(msg);
        
        if ( ( commandName ) and ( strlen(commandName) > 0 ) ) then
                commandName = string.lower(commandName);
        else
                commandName = "";
        end
        
        if ( (strfind(commandName, "show")) or (strfind(commandName, "toggle")) ) then
                ToggleAIOBFrame();
        elseif ( (strfind(commandName, "freeze")) or (strfind(commandName, "unfreeze")) ) then
                AIOB_Toggle_Option("Freeze");
        elseif ( (strfind(commandName, "replacebank")) or (strfind(commandName, "replace"))) then
                AIOB_Toggle_Option("ReplaceBank");
        elseif strfind(commandName, "highlightbags") then
                AIOB_Toggle_Option("HighlightBags");
        elseif strfind(commandName, "highlightitems") then
                AIOB_Toggle_Option("HighlightItems");
        elseif strfind(commandName, "graphic") then
                AIOB_Toggle_Option("Graphics");
        elseif strfind(commandName, "back") then
                AIOB_Toggle_Option("Background");
        elseif strfind(commandName, "player") then
                AIOB_Toggle_Option("ShowPlayers");
        elseif ( (strfind(commandName, "cols")) or (strfind(commandName, "column")) ) then
                cols, params = AIOB_Extract_NextParameter(params);
                cols = tonumber(cols);
                AIOBFrame_SetColumns(cols);
        elseif ( (strfind(commandName, "reset")) or (strfind(commandName, "init")) ) then
                AIOBProfile[UnitName("player")] = nil;
                AIOB_InitializeProfile();
        elseif (strfind(commandName, "config")) then
                AIOBConfigFrame:Show();
        else
                AIOB_Print(AIOB_CHAT_COMMAND_USAGE);
                return;
        end
end
-- Extract_NextParameter: Used for Slash command handler
function AIOB_Extract_NextParameter(msg)
        local params = msg;
        local command = params;
        local index = strfind(command, " ");
        if ( index ) then
                command = strsub(command, 1, index-1);
                params = strsub(params, index+1);
        else
                params = "";
        end
        return command, params;
end
-- == End Slash Handlers == 


--All Functions that deal directly with AIOBConfig Frame items should go here
function AIOBConfig_OnShow()
        AIOBConfigReplaceCheck:SetChecked(AIOBReplaceBank);
        AIOBConfigFreezeCheck:SetChecked(AIOBFreeze);
        AIOBConfigColumns:SetText(AIOBColumns);
        AIOBConfigHighlightItemsCheck:SetChecked(AIOBHighlightItems);
        AIOBConfigHighlightBagsCheck:SetChecked(AIOBHighlightBags);
        AIOBConfigHighlightItemsCheck:SetChecked(AIOBHighlightItems);
        AIOBConfigGraphicsCheck:SetChecked(AIOBGraphics);
        AIOBConfigBackgroundCheck:SetChecked(AIOBBackground);
end
function AIOBConfig_OnHide()
        if AIOBConfigReplaceCheck:GetChecked() then
                AIOB_Toggle_Option("ReplaceBank", 1,1);
        else
                AIOB_Toggle_Option("ReplaceBank", 0,1);
        end
        if AIOBConfigFreezeCheck:GetChecked() then
                AIOB_Toggle_Option("Freeze", 1,1);
        else
                AIOB_Toggle_Option("Freeze", 0,1);
        end
        local cols =  tonumber(AIOBConfigColumns:GetText());
        if cols and cols > 5 and cols < 19 then
                AIOBFrame_SetColumns(cols);
        end
        if AIOBConfigHighlightItemsCheck:GetChecked() then
                AIOB_Toggle_Option("HighlightItems",1,1);
        else
                AIOB_Toggle_Option("HighlightItems",0,1);
        end
        if AIOBConfigHighlightBagsCheck:GetChecked() then
                AIOB_Toggle_Option("HighlightBags",1,1);
        else
                AIOB_Toggle_Option("HighlightBags",0,1);
        end
        if AIOBConfigGraphicsCheck:GetChecked() then
                AIOB_Toggle_Option("Graphics",1,1);
        else
                AIOB_Toggle_Option("Graphics",0,1);
        end
        if AIOBConfigBackgroundCheck:GetChecked() then
                AIOB_Toggle_Option("Background",1,1);
        else
                AIOB_Toggle_Option("Background",0,1);
        end
end


-- END AIOBConfig Frame stuff