--[[ TipBuddy: --------- copyright 2005 by Chester ]] -------------------------------------------------------------------------------------------------------------------------------------- -- OPTIONS FRAME -------------------------------------------------------------------------------------------------------------------------------------- function TipBuddy_ToggleOptionsFrame() if ( TipBuddy_OptionsFrame:IsVisible() ) then HideUIPanel(TipBuddy_OptionsFrame); PlaySound("gsTitleOptionExit"); -- Check if the options frame was opened by myAddOns --[[ if (MYADDONS_ACTIVE_OPTIONSFRAME == this) then ShowUIPanel(myAddOnsFrame); else ShowUIPanel(GameMenuFrame); end]] else TipBuddy_OptionsFrame_UpdateCheckboxes(); TipBuddy_OptionsFrame_UpdateSliders(); TipBuddy_OptionsFrame_UpdateColorButtons(); TipBuddy_OptionsFrame_UpdateColorButtons_Text(); TipBuddy_OptionsFrame_UpdateEditBoxes(); TipBuddy_Background_ColorPick_OnLoad(); HideUIPanel(GameMenuFrame); ShowUIPanel(TipBuddy_OptionsFrame); PlaySound("igMainMenuQuit"); end end function TipBuddy_OptionsFrame_OnLoad() TipBuddy_OptionsFrameHeaderText:SetText("TipBuddy Options"); TipBuddy_UpdateTabs_Initialize(); PanelTemplates_SetNumTabs(TipBuddy_OptionsFrame_PlayersFrame, 3); PanelTemplates_SetNumTabs(TipBuddy_OptionsFrame_NPCsFrame, 3); PanelTemplates_SetNumTabs(TipBuddy_OptionsFrame_PetsFrame, 2); TipBuddy_HideOptionPanels(); TipBuddy_OptionsFrame_PlayersFrame:Show(); end function LoadTipBuddyButtonTextures(name) this:RegisterForClicks("LeftButtonUp", "RightButtonUp"); this:RegisterEvent("UPDATE_BINDINGS"); local prefix = "Interface\\AddOns\\TipBuddy\\gfx\\UI-MicroButton-"; this:SetNormalTexture(prefix..name.."-Up"); this:SetPushedTexture(prefix..name.."-Down"); this:SetDisabledTexture(prefix..name.."-Disabled"); this:SetHighlightTexture("Interface\\Buttons\\UI-MicroButton-Hilight"); end function TipBuddy_HideOptionPanels() TipBuddy_OptionsFrame_PlayersFrame:Hide(); TipBuddy_OptionsFrame_NPCsFrame:Hide(); TipBuddy_OptionsFrame_PetsFrame:Hide(); TipBuddy_OptionsFrame_CORPSEFrame:Hide(); TipBuddy_OptionsFrame_General_Options:Hide(); TipBuddy_OptionsFrame_Anchoring_Options:Hide(); TipBuddy_OptionsFrame_Compact_Options:Hide(); end --------------------------------------------------------------- -- UPDATING DUE TO CHECKBOXES --------------------------------------------------------------- function TipBuddy_OptionsFrame_UpdateGreyed() --[[ if ( TB_Op_Check1:GetChecked() ) then TipBuddy_ToggleCheckboxFrame( TB_Op_Check1 ); end if ( TB_Op_Check9:GetChecked() ) then TipBuddy_ToggleCheckboxFrame( TB_Op_Check9 ); end if ( TB_Op_Check17:GetChecked() ) then TipBuddy_ToggleCheckboxFrame( TB_Op_Check17 ); end if ( TB_Op_Check25:GetChecked() ) then TipBuddy_ToggleCheckboxFrame( TB_Op_Check25 ); end if ( TB_Op_Check33:GetChecked() ) then TipBuddy_ToggleCheckboxFrame( TB_Op_Check33 ); end if ( TB_Op_Check41:GetChecked() ) then TipBuddy_ToggleCheckboxFrame( TB_Op_Check41 ); end if ( TB_Op_Check49:GetChecked() ) then TipBuddy_ToggleCheckboxFrame( TB_Op_Check49 ); end]] if ( TB_Op_Check57:GetChecked() ) then TB_Op_Check61:Disable(); getglobal("TB_Op_Check61Text"):SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b); else TB_Op_Check61:Enable(); getglobal("TB_Op_Check61Text"):SetTextColor(NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); end end function TipBuddy_OptionsFrame_UpdateCheckboxes() for index, value in TB_Op_Checks do local button = getglobal( value.frame ); local string = getglobal( value.frame.."Text"); if (not button) then return; end local tipTable = TipBuddy_SavedVars[value.type]; ----TB_AddMessage(value.type); button:SetChecked( tipTable[value.var] ); string:SetText( TEXT(value.text) ); button.tooltipText = value.tooltipText; button.tooltipRequirement = value.tooltipRequirement; button.gxRestart = value.gxRestart; button.restartClient = value.restartClient; if ( button.disabled ) then button:Disable(); string:SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b); else button:Enable(); string:SetTextColor(NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); end end end function TipBuddy_OptionsFrame_UpdateSliders() for index, value in TipBuddy_OptionsFrame_Sliders do local slider = getglobal("TipBuddy_OptionsFrame_Slider"..index); local string = getglobal("TipBuddy_OptionsFrame_Slider"..index.."Text"); local high = getglobal("TipBuddy_OptionsFrame_Slider"..index.."High"); local low = getglobal("TipBuddy_OptionsFrame_Slider"..index.."Low"); TipBuddy_OptionsFrame_SliderCalcEnabled( slider ); if (index == 1) then low:SetText( "Small" ); high:SetText( "Large" ); else low:SetText( value.minValue ); high:SetText( value.maxValue ); end local tipTable = TipBuddy_SavedVars["general"]; slider:SetMinMaxValues(value.minValue, value.maxValue); slider:SetValueStep(value.valueStep); slider:SetValue( tipTable[value.var] ); string:SetText(TEXT(value.text)); slider.tooltipText = value.tooltipText; slider.tooltipRequirement = value.tooltipRequirement; slider.gxRestart = value.gxRestart; slider.restartClient = value.restartClient; end end function TipBuddy_OptionsFrame_SliderCalcEnabled( slider ) local thumb = getglobal(slider:GetName().."Thumb"); local string = getglobal(slider:GetName().."Text"); local updatetext = getglobal(slider:GetName().."TextUpdate"); local high = getglobal(slider:GetName().."High"); local low = getglobal(slider:GetName().."Low"); if ( slider.disabled ) then slider:EnableMouse(0); thumb:Hide(); string:SetVertexColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b); updatetext:SetVertexColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b); low:SetVertexColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b); high:SetVertexColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b); else slider:EnableMouse(1); thumb:Show(); string:SetVertexColor(NORMAL_FONT_COLOR.r , NORMAL_FONT_COLOR.g , NORMAL_FONT_COLOR.b); updatetext:SetVertexColor(NORMAL_FONT_COLOR.r , NORMAL_FONT_COLOR.g , NORMAL_FONT_COLOR.b); low:SetVertexColor(HIGHLIGHT_FONT_COLOR.r, HIGHLIGHT_FONT_COLOR.g, HIGHLIGHT_FONT_COLOR.b); high:SetVertexColor(HIGHLIGHT_FONT_COLOR.r, HIGHLIGHT_FONT_COLOR.g, HIGHLIGHT_FONT_COLOR.b); end end function TipBuddy_OptionsFrame_UpdateEditBoxes() for index, value in TB_EditBoxes do local editbox = getglobal( value.frame ); --local string = getglobal( value.frame.."Text"); if (not editbox) then return; end local tipTable = TipBuddy_SavedVars[value.type]; ----TB_AddMessage(value.type); if (not tipTable[value.var]) then DEFAULT_CHAT_FRAME:AddMessage("|cff3366ffSETTING BLANK VAR with: "..TEXT(value.type)); tipTable[value.var] = ""; end editbox:SetText( tipTable[value.var] ); end end function TipBuddy_OptionsFrame_UpdateDropDowns() OptionsFrame_EnableDropDown(UIOptionsFrameClickCameraDropDown); end --------------------------------------------------------------- -- TOGGLING ALL CHECKBOXES WHEN DISABLE ALL --------------------------------------------------------------- function TipBuddy_ToggleCheckboxFrame( checkBox ) local button = getglobal( checkBox:GetName() ); local boxId = button:GetID(); -- --TB_AddMessage(button:GetID()); if ( button:GetChecked() ) then for i=1, 7, 1 do local boxName = getglobal( "TB_Op_Check"..(boxId + i) ); if (boxName == 0) then return; end TipBuddy_DisableCheckBox(boxName); end else for i=1, 7, 1 do local boxName = getglobal( "TB_Op_Check"..(boxId + i) ); if (boxName == 0) then return; end TipBuddy_EnableCheckBox(boxName); end end end function TipBuddy_DisableCheckBox(checkBox) -- checkBox:SetChecked(0); checkBox:Disable(); getglobal(checkBox:GetName().."Text"):SetTextColor(GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b); end function TipBuddy_EnableCheckBox(checkBox, checked) -- if ( checkBox:GetChecked() ) then -- return; -- end -- checkBox:SetChecked(checked); checkBox:Enable(); getglobal(checkBox:GetName().."Text"):SetTextColor(NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b); end function TipBuddy_UpdateTabs_Initialize() -- local frame = getglobal( this:GetName() ); -- PanelTemplates_SetTab( TipBuddy_OptionsFrame_PlayersFrame, 1 ); TipBuddy_OptionsFrame_PCFriend_Options:Show(); TipBuddy_OptionsFrame_PCEnemy_Options:Hide(); TipBuddy_OptionsFrame_PCParty_Options:Hide(); TipBuddy_OptionsFrame_NPCFriend_Options:Show(); TipBuddy_OptionsFrame_NPCNeutral_Options:Hide(); TipBuddy_OptionsFrame_NPCEnemy_Options:Hide(); TipBuddy_OptionsFrame_PETFriend_Options:Show(); TipBuddy_OptionsFrame_PETEnemy_Options:Hide(); TipBuddy_OptionsFrame_CORPSE_Options:Show(); end function TipBuddy_PlayersFrameTab_OnClick(index) if ( not index ) then index = this:GetID(); end -- local frame = getglobal( this:GetName() ); PanelTemplates_SetTab( TipBuddy_OptionsFrame_PlayersFrame, index ); TipBuddy_OptionsFrame_PCFriend_Options:Hide(); TipBuddy_OptionsFrame_PCEnemy_Options:Hide(); TipBuddy_OptionsFrame_PCParty_Options:Hide(); PlaySound("igCharacterInfoTab"); if ( index == 1 ) then -- Friendly TipBuddy_OptionsFrame_PCFriend_Options:Show(); elseif ( index == 2 ) then -- Enemy TipBuddy_OptionsFrame_PCParty_Options:Show(); elseif ( index == 3 ) then -- InParty TipBuddy_OptionsFrame_PCEnemy_Options:Show(); end end function TipBuddy_NPCsFrameTab_OnClick(index) if ( not index ) then index = this:GetID(); end -- local frame = getglobal( this:GetName() ); PanelTemplates_SetTab( TipBuddy_OptionsFrame_NPCsFrame, index ); TipBuddy_OptionsFrame_NPCFriend_Options:Hide(); TipBuddy_OptionsFrame_NPCNeutral_Options:Hide(); TipBuddy_OptionsFrame_NPCEnemy_Options:Hide(); PlaySound("igCharacterInfoTab"); if ( index == 1 ) then -- Friendly TipBuddy_OptionsFrame_NPCFriend_Options:Show(); elseif ( index == 2 ) then -- Neutral TipBuddy_OptionsFrame_NPCNeutral_Options:Show(); elseif ( index == 3 ) then -- Enemy TipBuddy_OptionsFrame_NPCEnemy_Options:Show(); end end function TipBuddy_PetsFrameTab_OnClick(index) if ( not index ) then index = this:GetID(); end -- local frame = getglobal( this:GetName() ); PanelTemplates_SetTab( TipBuddy_OptionsFrame_PetsFrame, index ); TipBuddy_OptionsFrame_PETFriend_Options:Hide(); TipBuddy_OptionsFrame_PETEnemy_Options:Hide(); PlaySound("igCharacterInfoTab"); if ( index == 1 ) then -- Friendly TipBuddy_OptionsFrame_PETFriend_Options:Show(); elseif ( index == 2 ) then -- InParty TipBuddy_OptionsFrame_PETEnemy_Options:Show(); end end function TipBuddy_OptionsFrameTab_OnClick(index) if ( not index ) then index = this:GetID(); end -- local frame = getglobal( this:GetName() ); --PanelTemplates_SetTab( TipBuddy_OptionsFrame_PlayersFrame, index ); TipBuddy_OptionsFrame_General_Options:Hide(); TipBuddy_OptionsFrame_Compact_Options:Hide(); PlaySound("igCharacterInfoTab"); if ( index == 1 ) then TipBuddy_OptionsFrame_General_Options:Show(); TipBuddy_OptionsFrame_GeneralOptionsTitleText:SetTextColor(1.0, 1.0, 1.0); TipBuddy_OptionsFrame_CompactOptionsTitleText:SetTextColor(0.3, 0.3, 0.1); elseif ( index == 2 ) then TipBuddy_OptionsFrame_Compact_Options:Show(); TipBuddy_OptionsFrame_CompactOptionsTitleText:SetTextColor(1.0, 1.0, 1.0); TipBuddy_OptionsFrame_GeneralOptionsTitleText:SetTextColor(0.3, 0.3, 0.1); end end -------------------------------------------------------------------------------------------------------------------------------------- -- FRAME BACKGROUND COLOR PICKER -------------------------------------------------------------------------------------------------------------------------------------- function TipBuddy_Background_ColorPick_OnLoad() cInfo = {}; end function TipBuddy_Background_ColorPick( button ) local name = getglobal( button:GetName() ); local id = name:GetID(); cInfo.type = TipBuddy_ColorPicker_Buttons[id].type; cInfo.var = TipBuddy_ColorPicker_Buttons[id].var; local targettype = TipBuddy_SavedVars[cInfo.type][cInfo.var]; if (not targettype) then TipBuddy_SavedVars[cInfo.type][cInfo.var] = { ["r"] = 0.8, ["g"] = 0.8, ["b"] = 0.9, ["a"] = 1, }; targettype = TipBuddy_SavedVars[value.type][value.var]; end --TB_AddMessage("frame: "..button:GetName()); --TB_AddMessage("type: "..TEXT(cInfo.type)); TBColorPickerFrame.func = TipBuddy_Background_SetColor; TBColorPickerFrame.hasOpacity = 1; TBColorPickerFrame.opacityFunc = TipBuddy_Background_SetOpacity; TBColorPickerFrame.cancelFunc = TipBuddy_Background_Cancel; TBColorPickerFrame:SetColorRGB( targettype.r, targettype.g, targettype.b); TBColorPickerFrame.opacity = (1- targettype.a); TBColorPickerFrame.previousValues = {r=targettype.r, g=targettype.g, b=targettype.b, opacity=targettype.a}; ShowUIPanel(TBColorPickerFrame); --TB_AddMessage("just passed ShowUIPanel"); end function TipBuddy_Text_ColorPick( button ) local name = getglobal( button:GetName() ); local id = name:GetID(); cInfo.type = TipBuddy_ColorPicker_Buttons_Text[id].type; cInfo.var = TipBuddy_ColorPicker_Buttons_Text[id].var; local targettype = TipBuddy_SavedVars[cInfo.type][cInfo.var]; ----TB_AddMessage("frame: "..cInfo.name); ----TB_AddMessage("type: "..type); TBColorPickerFrame_Text.func = TipBuddy_Background_SetColor_Text; --TBColorPickerFrame_Text.hasOpacity = 1; --TBColorPickerFrame_Text.opacityFunc = TipBuddy_Background_SetOpacity; TBColorPickerFrame_Text.cancelFunc = TipBuddy_Background_Cancel; TBColorPickerFrame_Text:SetColorRGB( targettype.r, targettype.g, targettype.b); --TBColorPickerFrame_Text.opacity = (1- targettype.bgcolor.a); TBColorPickerFrame_Text.previousValues = {r=targettype.r, g=targettype.g, b=targettype.b, opacity=targettype.a}; ShowUIPanel(TBColorPickerFrame_Text); --TB_AddMessage("just passed ShowUIPanel"); end function TipBuddy_OptionsFrame_UpdateColorButtons() for index, value in TipBuddy_ColorPicker_Buttons do --TB_AddMessage(getn(TipBuddy_ColorPicker_Buttons)); --TB_AddMessage(index); local button = getglobal( value.frame ); local swatch = getglobal( value.frame.."NormalTexture"); local string = getglobal( value.frame.."Text"); -- local type = getglobal( value.type ); --TB_AddMessage("Color: ["..value.type.."]["..value.var.."]"); if (not button) then return; end local targettype = TipBuddy_SavedVars[value.type][value.var]; if (not targettype) then TipBuddy_SavedVars[value.type][value.var] = { ["r"] = 0.8, ["g"] = 0.8, ["b"] = 0.9, ["a"] = 1, }; targettype = TipBuddy_SavedVars[value.type][value.var]; end string:SetText(TEXT(value.text)); if (value.text) then ----TB_AddMessage("frame:"..TEXT(value.frame).."colorbutton text: "..value.text); end button.tooltipText = value.tooltipText; button.tooltipRequirement = value.tooltipRequirement; swatch:SetVertexColor( targettype.r, targettype.g, targettype.b ); if (index < 10 or index == 21) then if (button:IsVisible()) then button:GetParent():SetBackdropColor( targettype.r, targettype.g, targettype.b, TB_NoNegative(targettype.a-0.2) ); else button:GetParent():SetBackdropColor( 0.2, 0.2, 0.2, 1 ); end elseif (index > 10 and index < 20 or index == 22) then if (button:IsVisible()) then button:GetParent():SetBackdropBorderColor( targettype.r, targettype.g, targettype.b, TB_NoNegative(targettype.a-0.2) ); else button:GetParent():SetBackdropBorderColor( 0.8, 0.8, 0.9, 1 ); end end end end function TipBuddy_OptionsFrame_UpdateColorButtons_Text() for index, value in TipBuddy_ColorPicker_Buttons_Text do local button = getglobal( value.frame ); local swatch = getglobal( value.frame.."NormalTexture"); local string = getglobal( value.frame.."Text"); -- local type = getglobal( value.type ); ----TB_AddMessage("Color: ["..value.type.."]["..value.var.."]"); if (not button) then return; end local targettype = TipBuddy_SavedVars[value.type][value.var]; string:SetText(TEXT(value.text)); button.tooltipText = value.tooltipText; button.tooltipRequirement = value.tooltipRequirement; swatch:SetVertexColor( targettype.r, targettype.g, targettype.b ); string:SetTextColor(targettype.r, targettype.g, targettype.b); end end function TipBuddy_Background_SetColor() local targettype = TipBuddy_SavedVars[cInfo.type][cInfo.var]; local r,g,b = TBColorPickerFrame:GetColorRGB(); -- TipBuddy_Main_Frame:SetBackdropColor(r, g, b); if (not targettype) then TipBuddy_SavedVars[cInfo.type][cInfo.var] = {}; targettype = TipBuddy_SavedVars[cInfo.type][cInfo.var]; end targettype.r = r; targettype.g = g; targettype.b = b; end function TipBuddy_Background_SetColor_Text() local targettype = TipBuddy_SavedVars[cInfo.type][cInfo.var]; local r,g,b = TBColorPickerFrame_Text:GetColorRGB(); -- TipBuddy_Main_Frame:SetBackdropColor(r, g, b); targettype.r = r; targettype.g = g; targettype.b = b; end function TipBuddy_Background_SetOpacity() local targettype = TipBuddy_SavedVars[cInfo.type][cInfo.var]; local alpha = 1.0 - TBOpacitySliderFrame:GetValue(); if (not targettype) then targettype = {}; end targettype.a = (1- TBOpacitySliderFrame:GetValue()); end function TipBuddy_Background_Cancel(previousValues) local targettype = TipBuddy_SavedVars[cInfo.type][cInfo.var]; if (not targettype) then targettype = {}; end if (previousValues.r and previousValues.g and previousValues.b) then targettype.r = previousValues.r; targettype.g = previousValues.g; targettype.b = previousValues.b; end if (previousValues.opacity) then local alpha = 1.0 - previousValues.opacity; targettype.a = previousValues.opacity; end end TipBuddy_CursorPos = { [1] = "Top", [2] = "Right", [3] = "Left", [4] = "Bottom", }; function TipBuddy_CursorPosDropDown_OnLoad() UIDropDownMenu_Initialize(this, TipBuddy_CursorPosDropDown_Initialize); UIDropDownMenu_SetSelectedValue(this, TipBuddy_SavedVars["general"].cursorpos); UIDropDownMenu_SetWidth(120, TipBuddy_CursorPosDropDown); end function TipBuddy_CursorPosDropDown_OnClick() UIDropDownMenu_SetSelectedValue(TipBuddy_CursorPosDropDown, this.value); TipBuddy.xpoint, TipBuddy.xpos, TipBuddy.ypos = TipBuddy_GetFrameCursorOffset(); TipBuddy.anchor, TipBuddy.fanchor, TipBuddy.offset = TipBuddy_GetFrameAnchorPos(); if (TipBuddy_SavedVars["general"].anchored == 1) then TipBuddy_Parent_Frame:SetPoint(TipBuddy.anchor, "TipBuddy_Header_Frame", TipBuddy.fanchor, 0, 0); end TipBuddy_SetFrame_Anchor( TipBuddy_Main_Frame ); GameTooltip_SetDefaultAnchor(GameTooltip, UIParent); end function TipBuddy_CursorPosDropDown_Initialize() local selectedValue = UIDropDownMenu_GetSelectedValue(TipBuddy_CursorPosDropDown); local info; info = {}; info.text = TipBuddy_CursorPos[1]; info.func = TipBuddy_CursorPosDropDown_OnClick; info.value = "Top"; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Postion the tooltip ABOVE your cursor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_CursorPos[2]; info.func = TipBuddy_CursorPosDropDown_OnClick; info.value = "Right"; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Position the tooltip to the RIGHT of your cursor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_CursorPos[3]; info.func = TipBuddy_CursorPosDropDown_OnClick; info.value = "Left"; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Position the tooltip to the LEFT of your cursor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_CursorPos[4]; info.func = TipBuddy_CursorPosDropDown_OnClick; info.value = "Bottom"; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Position the tooltip BELOW your cursor"; UIDropDownMenu_AddButton(info); end --non-unit tips TipBuddy_NonUnitTipPos = { [1] = "Cursor", [2] = "TipBuddyAnchor", [3] = "Smart Anchor", }; function TipBuddy_NonUnitTipPosDropDown_OnLoad() UIDropDownMenu_Initialize(this, TipBuddy_NonUnitTipPosDropDown_Initialize); UIDropDownMenu_SetSelectedValue(this, TipBuddy_SavedVars["general"].nonunit_anchor); UIDropDownMenu_SetWidth(120, TipBuddy_NonUnitTipPosDropDown); end function TipBuddy_NonUnitTipPosDropDown_OnClick() UIDropDownMenu_SetSelectedValue(TipBuddy_NonUnitTipPosDropDown, this.value); TipBuddy.xpoint, TipBuddy.xpos, TipBuddy.ypos = TipBuddy_GetFrameCursorOffset(); TipBuddy.anchor, TipBuddy.fanchor, TipBuddy.offset = TipBuddy_GetFrameAnchorPos(); GameTooltip_SetDefaultAnchor(GameTooltip, UIParent); --if (UIDropDownMenu_GetSelectedValue(TipBuddy_NonUnitTipPosDropDown)) then TipBuddy_SavedVars["general"].nonunit_anchor = this.value; --end --/script DEFAULT_CHAT_FRAME:AddMessage(UIDropDownMenu_GetSelectedValue(TipBuddy_NonUnitTipPosDropDown)); --/script DEFAULT_CHAT_FRAME:AddMessage(TipBuddy_SavedVars["general"].nonunit_anchor); end function TipBuddy_NonUnitTipPosDropDown_Initialize() local selectedValue = UIDropDownMenu_GetSelectedValue(TipBuddy_NonUnitTipPosDropDown); local info; info = {}; info.text = TipBuddy_NonUnitTipPos[1]; info.func = TipBuddy_NonUnitTipPosDropDown_OnClick; info.value = 0; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Non-Unit tooltips will\nfollow the cursor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_NonUnitTipPos[2]; info.func = TipBuddy_NonUnitTipPosDropDown_OnClick; info.value = 1; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Non-Unit tooltips will\nattach themselves to\nthe TipBuddyAnchor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_NonUnitTipPos[3]; info.func = TipBuddy_NonUnitTipPosDropDown_OnClick; info.value = 2; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Non-Unit tooltips will attempt to\nattach themselves to the button\nor object you have your mouse\nover in a smart position"; UIDropDownMenu_AddButton(info); end --Tooltip Style (Compact, Default, Advanced) TipBuddy_TipStyle = { [1] = "Default Mode", [2] = "Compact Mode", [3] = "Advanced Mode", }; function TipBuddy_TipStyleDropDown_OnLoad( type ) this.type = type; if (not TipBuddy_SavedVars[this.type].off) then TipBuddy_SavedVars[this.type].off = 0; end --TB_AddMessage( this.type.." : "..TipBuddy_SavedVars[this.type].off ); ----TB_AddMessage( this.type ); UIDropDownMenu_Initialize(this, TipBuddy_TipStyleDropDown_Initialize, nil, this.type ); UIDropDownMenu_SetSelectedValue(this, TipBuddy_SavedVars[this.type].off); UIDropDownMenu_SetWidth(120, TipBuddy_TipStyleDropDown); TipBuddy_TipStyleDropDown_SetFrameVisibility(this, TipBuddy_SavedVars[this.type].off); --/script DEFAULT_CHAT_FRAME:AddMessage(UIDropDownMenu_GetSelectedValue(TB_NPCNeutral_TipStyleDropDown)); end function TipBuddy_TipStyleDropDown_OnClick() --TB_AddMessage( this.owner:GetName() ); UIDropDownMenu_SetSelectedValue(this.owner, this.value); TipBuddy_SavedVars[this.owner.type].off = UIDropDownMenu_GetSelectedValue(this.owner); TipBuddy_TipStyleDropDown_SetFrameVisibility(this.owner, this.value) end function TB_TipStyle_OptionsToggleFrames( value, type, colornum ) if (value == 0) then getglobal("TipBuddy_OptionsFrame_"..type.."_Options_Checks"):Show(); getglobal("TipBuddy_OptionsFrame_"..type.."_Options_EB"):Hide(); getglobal("TB_"..type.."_BDBColorDropDown"):Show(); TipBuddy_BDBColorDropDown_SetFrameVisibility(getglobal("TB_"..type.."_BDBColorDropDown"), UIDropDownMenu_GetSelectedValue(getglobal("TB_"..type.."_BDBColorDropDown"))); elseif (value == 1) then getglobal("TipBuddy_OptionsFrame_"..type.."_Options_Checks"):Show(); getglobal("TipBuddy_OptionsFrame_"..type.."_Options_EB"):Hide(); getglobal("TB_"..type.."_BDBColorDropDown"):Hide(); getglobal("TipBuddy_OptionsFrame_ColorPicker"..colornum):Hide(); getglobal("TipBuddy_OptionsFrame_"..type.."_Options"):SetBackdropBorderColor(0, 0, 0, 1); else getglobal("TipBuddy_OptionsFrame_"..type.."_Options_Checks"):Hide(); getglobal("TipBuddy_OptionsFrame_"..type.."_Options_EB"):Show(); getglobal("TB_"..type.."_BDBColorDropDown"):Show(); TipBuddy_BDBColorDropDown_SetFrameVisibility(getglobal("TB_"..type.."_BDBColorDropDown"), UIDropDownMenu_GetSelectedValue(getglobal("TB_"..type.."_BDBColorDropDown"))); end end function TipBuddy_TipStyleDropDown_SetFrameVisibility(frame, value) if (frame.type == "pc_friend") then TB_TipStyle_OptionsToggleFrames( value, "PCFriend", 11 ); elseif (frame.type == "pc_party") then TB_TipStyle_OptionsToggleFrames( value, "PCParty", 12 ); elseif (frame.type == "pc_enemy") then TB_TipStyle_OptionsToggleFrames( value, "PCEnemy", 13 ); elseif (frame.type == "npc_friend") then TB_TipStyle_OptionsToggleFrames( value, "NPCFriend", 14 ); elseif (frame.type == "npc_neutral") then TB_TipStyle_OptionsToggleFrames( value, "NPCNeutral", 15 ); elseif (frame.type == "npc_enemy") then TB_TipStyle_OptionsToggleFrames( value, "NPCEnemy", 16 ); elseif (frame.type == "pet_friend") then TB_TipStyle_OptionsToggleFrames( value, "PETFriend", 17 ); elseif (frame.type == "pet_enemy") then TB_TipStyle_OptionsToggleFrames( value, "PETEnemy", 18 ); elseif (frame.type == "corpse") then TB_TipStyle_OptionsToggleFrames( value, "CORPSE", 20 ); else end end function TipBuddy_TipStyleDropDown_Initialize() local selectedValue = UIDropDownMenu_GetSelectedValue(this); local info; info = {}; info.text = TipBuddy_TipStyle[1]; info.func = TipBuddy_TipStyleDropDown_OnClick; info.value = 0; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Default mode is similar\nto Blizzard's default tooltips,\nbut much more customizable"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_TipStyle[2]; info.func = TipBuddy_TipStyleDropDown_OnClick; info.value = 1; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Compact Mode has a \ncleaner, smaller style."; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_TipStyle[3]; info.func = TipBuddy_TipStyleDropDown_OnClick; info.value = 2; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "For Advanced Users only."; UIDropDownMenu_AddButton(info); end --Tooltip Backdrop Colors TipBuddy_BDColor = { [1] = "Custom", [2] = "Difficulty", [3] = "Reaction", }; function TipBuddy_BDColorDropDown_OnLoad( type ) this.type = type; if (not TipBuddy_SavedVars[type].c_bdp) then TipBuddy_SavedVars[type].c_bdp = 0; end --TB_AddMessage( this.type.." : "..TipBuddy_SavedVars[this.type].c_bdp ); ----TB_AddMessage( this.type ); UIDropDownMenu_Initialize(this, TipBuddy_BDColorDropDown_Initialize, nil, this.type ); UIDropDownMenu_SetSelectedValue(this, TipBuddy_SavedVars[this.type].c_bdp); UIDropDownMenu_SetWidth(110, TipBuddy_BDColorDropDown); TipBuddy_BDColorDropDown_SetFrameVisibility(this, TipBuddy_SavedVars[this.type].c_bdp) end function TipBuddy_BDColorDropDown_OnClick() --TB_AddMessage( this.owner:GetName().." : "..this.owner.type.." : "..this.value ); UIDropDownMenu_SetSelectedValue(this.owner, this.value); TipBuddy_SavedVars[this.owner.type].c_bdp = this.value; TipBuddy_BDColorDropDown_SetFrameVisibility(this.owner, this.value) end function TipBuddy_BDColorDropDown_SetFrameVisibility(frame, value) local button; if (value == 0) then if (frame.type == "pc_friend") then button = TipBuddy_OptionsFrame_ColorPicker1; elseif (frame.type == "pc_party") then button = TipBuddy_OptionsFrame_ColorPicker2; elseif (frame.type == "pc_enemy") then button = TipBuddy_OptionsFrame_ColorPicker3; elseif (frame.type == "npc_friend") then button = TipBuddy_OptionsFrame_ColorPicker4; elseif (frame.type == "npc_neutral") then button = TipBuddy_OptionsFrame_ColorPicker5; elseif (frame.type == "npc_enemy") then button = TipBuddy_OptionsFrame_ColorPicker6; elseif (frame.type == "pet_friend") then button = TipBuddy_OptionsFrame_ColorPicker7; elseif (frame.type == "pet_enemy") then button = TipBuddy_OptionsFrame_ColorPicker8; elseif (frame.type == "corpse") then button = TipBuddy_OptionsFrame_ColorPicker10; else return; end button:Show(); local targettype = TipBuddy_SavedVars[frame.type]["bgcolor"]; if (not targettype) then TipBuddy_SavedVars[value.type]["bgcolor"] = { ["r"] = 0.8, ["g"] = 0.8, ["b"] = 0.9, ["a"] = 1, }; targettype = TipBuddy_SavedVars[frame.type]["bgcolor"]; end button:GetParent():SetBackdropColor(targettype.r, targettype.g, targettype.b, TB_NoNegative(targettype.a-0.2)); --button:GetParent():SetBackdropBorderColor(targettype.r, targettype.g, targettype.b, TB_NoNegative(targettype.a-0.2)); else if (frame.type == "pc_friend") then button = TipBuddy_OptionsFrame_ColorPicker1; elseif (frame.type == "pc_party") then button = TipBuddy_OptionsFrame_ColorPicker2; elseif (frame.type == "pc_enemy") then button = TipBuddy_OptionsFrame_ColorPicker3; elseif (frame.type == "npc_friend") then button = TipBuddy_OptionsFrame_ColorPicker4; elseif (frame.type == "npc_neutral") then button = TipBuddy_OptionsFrame_ColorPicker5; elseif (frame.type == "npc_enemy") then button = TipBuddy_OptionsFrame_ColorPicker6; elseif (frame.type == "pet_friend") then button = TipBuddy_OptionsFrame_ColorPicker7; elseif (frame.type == "pet_enemy") then button = TipBuddy_OptionsFrame_ColorPicker8; elseif (frame.type == "corpse") then button = TipBuddy_OptionsFrame_ColorPicker10; else return; end button:Hide(); button:GetParent():SetBackdropColor(0.2, 0.2, 0.2, 1); --button:GetParent():SetBackdropBorderColor(0.8, 0.8, 0.9, 1); end end function TipBuddy_BDColorDropDown_Initialize() local selectedValue = UIDropDownMenu_GetSelectedValue(this); local info; info = {}; info.text = TipBuddy_BDColor[1]; info.func = TipBuddy_BDColorDropDown_OnClick; info.value = 0; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Choose your custom color by\nclicking the box to the right."; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_BDColor[2]; info.func = TipBuddy_BDColorDropDown_OnClick; info.value = 1; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Color will be determined\nby the unit's difficulty\n(red, yellow, grey, etc)."; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_BDColor[3]; info.func = TipBuddy_BDColorDropDown_OnClick; info.value = 2; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Color is determined by th\n unit's reaction towards you."; UIDropDownMenu_AddButton(info); end --Tooltip Backdrop BORDER Colors TipBuddy_BDBColor = { [1] = "Custom", [2] = "Difficulty", [3] = "Reaction", }; function TipBuddy_BDBColorDropDown_OnLoad( type ) this.type = type; if (not TipBuddy_SavedVars[this.type].c_bdb) then TipBuddy_SavedVars[this.type].c_bdb = 0; end --TB_AddMessage( this.type.." : "..TipBuddy_SavedVars[this.type].c_bdb ); ----TB_AddMessage( this.type ); UIDropDownMenu_Initialize(this, TipBuddy_BDBColorDropDown_Initialize, nil, this.type ); UIDropDownMenu_SetSelectedValue(this, TipBuddy_SavedVars[this.type].c_bdb); UIDropDownMenu_SetWidth(110, TipBuddy_BDBColorDropDown); TipBuddy_BDBColorDropDown_SetFrameVisibility(this, TipBuddy_SavedVars[this.type].c_bdb) end function TipBuddy_BDBColorDropDown_OnClick() --TB_AddMessage( this.owner:GetName() ); UIDropDownMenu_SetSelectedValue(this.owner, this.value); TipBuddy_SavedVars[this.owner.type].c_bdb = this.value; TipBuddy_BDBColorDropDown_SetFrameVisibility(this.owner, this.value) end function TipBuddy_BDBColorDropDown_SetFrameVisibility(frame, value) local button; if (value == 0) then if (frame.type == "pc_friend") then button = TipBuddy_OptionsFrame_ColorPicker11; elseif (frame.type == "pc_party") then button = TipBuddy_OptionsFrame_ColorPicker12; elseif (frame.type == "pc_enemy") then button = TipBuddy_OptionsFrame_ColorPicker13; elseif (frame.type == "npc_friend") then button = TipBuddy_OptionsFrame_ColorPicker14; elseif (frame.type == "npc_neutral") then button = TipBuddy_OptionsFrame_ColorPicker15; elseif (frame.type == "npc_enemy") then button = TipBuddy_OptionsFrame_ColorPicker16; elseif (frame.type == "pet_friend") then button = TipBuddy_OptionsFrame_ColorPicker17; elseif (frame.type == "pet_enemy") then button = TipBuddy_OptionsFrame_ColorPicker18; elseif (frame.type == "corpse") then button = TipBuddy_OptionsFrame_ColorPicker20; else end button:Show(); local targettype = TipBuddy_SavedVars[frame.type]["bgbcolor"]; if (not targettype) then TipBuddy_SavedVars[value.type]["bgbcolor"] = { ["r"] = 0.8, ["g"] = 0.8, ["b"] = 0.9, ["a"] = 1, }; targettype = TipBuddy_SavedVars[frame.type]["bgbcolor"]; end button:GetParent():SetBackdropBorderColor(targettype.r, targettype.g, targettype.b, TB_NoNegative(targettype.a-0.2)); else if (frame.type == "pc_friend") then button = TipBuddy_OptionsFrame_ColorPicker11; elseif (frame.type == "pc_party") then button = TipBuddy_OptionsFrame_ColorPicker12; elseif (frame.type == "pc_enemy") then button = TipBuddy_OptionsFrame_ColorPicker13; elseif (frame.type == "npc_friend") then button = TipBuddy_OptionsFrame_ColorPicker14; elseif (frame.type == "npc_neutral") then button = TipBuddy_OptionsFrame_ColorPicker15; elseif (frame.type == "npc_enemy") then button = TipBuddy_OptionsFrame_ColorPicker16; elseif (frame.type == "pet_friend") then button = TipBuddy_OptionsFrame_ColorPicker17; elseif (frame.type == "pet_enemy") then button = TipBuddy_OptionsFrame_ColorPicker18; elseif (frame.type == "corpse") then button = TipBuddy_OptionsFrame_ColorPicker20; else end button:Hide(); button:GetParent():SetBackdropBorderColor(0.8, 0.8, 0.9, 1); end end function TipBuddy_BDBColorDropDown_Initialize() local selectedValue = UIDropDownMenu_GetSelectedValue(this); local info; info = {}; info.text = TipBuddy_BDBColor[1]; info.func = TipBuddy_BDBColorDropDown_OnClick; info.value = 0; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Choose your custom color by\nclicking the box to the right."; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_BDBColor[2]; info.func = TipBuddy_BDBColorDropDown_OnClick; info.value = 1; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Color will be determined\nby the unit's difficulty\n(red, yellow, grey, etc)."; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_BDBColor[3]; info.func = TipBuddy_BDBColorDropDown_OnClick; info.value = 2; info.owner = this:GetParent(); if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Color is determined by th\n unit's reaction towards you."; UIDropDownMenu_AddButton(info); end --------------------------------------------------------------- -- SAVING FRAME POSITION AFTER DRAGGED --------------------------------------------------------------- -- this function is called when the frame should be dragged around function TipBuddy_OnMouseDown(arg1) if (arg1 == "LeftButton") then TipBuddy_Header_Frame:StartMoving(); end end -- this function is called when the frame is stopped being dragged around function TipBuddy_OnMouseUp(arg1) if (arg1 == "LeftButton") then TipBuddy_Header_Frame:StopMovingOrSizing(); ValidateFramePosition(this, -10); -- save the position TipBuddy_SavedVars["general"].framepos_L = TipBuddy_Header_Frame:GetLeft(); TipBuddy_SavedVars["general"].framepos_T = TipBuddy_Header_Frame:GetTop(); end -- If Rightclick bring up the options menu if ( arg1 == "RightButton" ) then ToggleDropDownMenu(1, TipBuddy_SavedVars["general"].anchor_pos, TipBuddy_Header_FrameDropDown, this:GetName(), 0, 0); UIDropDownMenu_SetSelectedValue(this, TipBuddy_SavedVars["general"].anchor_pos); return; end -- Close all dropdowns CloseDropDownMenus(); end function TipBuddy_ResetAnchorPos() TipBuddy_Header_Frame:Hide(); TipBuddy_Header_Frame:Show(); TipBuddy_Header_Frame:SetPoint("TOPLEFT", "UIParent", "BOTTOMLEFT", 202, 400); TipBuddy_SavedVars["general"].framepos_L = TipBuddy_Header_Frame:GetLeft(); TipBuddy_SavedVars["general"].framepos_T = TipBuddy_Header_Frame:GetTop(); end TipBuddy_AnchorPos = { [1] = "Top Right", [2] = "Top Left", [3] = "Bottom Right", [4] = "Bottom Left", [5] = "Top Center", [6] = "Bottom Center", }; function TipBuddy_Anchor_OnClick(button) -- If Rightclick bring up the options menu if ( button == "RightButton" ) then ToggleDropDownMenu(0, TipBuddy_SavedVars["general"].anchor_pos, TipBuddy_Header_FrameDropDown, this:GetName(), 0, 0); return; end -- Close all dropdowns CloseDropDownMenus(); end function TipBuddy_AnchorDropDown_OnLoad() UIDropDownMenu_Initialize(this, TipBuddy_AnchorDropDown_Initialize, "MENU"); -- TipBuddy_SavedVars["general"]["anchor_pos"] = TipBuddy_AnchorPos[1]; -- UIDropDownMenu_SetSelectedValue(this, nil, TipBuddy_SavedVars["general"]["anchor_pos"]); UIDropDownMenu_SetButtonWidth(50); UIDropDownMenu_SetWidth(80); end -- /script --TB_AddMessage( TipBuddy_SavedVars["general"]["anchor_pos"] ); function TipBuddy_AnchorDropDown_OnClick() UIDropDownMenu_SetSelectedValue(TipBuddy_Header_FrameDropDown, this.value); -- --TB_AddMessage( UIDropDownMenu_GetSelectedValue(TipBuddy_Header_FrameDropDown) ); TipBuddy_SavedVars["general"].anchor_pos = UIDropDownMenu_GetSelectedValue(TipBuddy_Header_FrameDropDown); TipBuddy.xpoint, TipBuddy.xpos, TipBuddy.ypos = TipBuddy_GetFrameCursorOffset(); TipBuddy.anchor, TipBuddy.fanchor, TipBuddy.offset = TipBuddy_GetFrameAnchorPos(); TipBuddy_SetFrame_Anchor( TipBuddy_Main_Frame ); GameTooltip_SetDefaultAnchor(GameTooltip, UIParent); end function TipBuddy_AnchorDropDown_Initialize() local selectedValue = UIDropDownMenu_GetSelectedValue(TipBuddy_Header_FrameDropDown); local info; info = {}; info.text = TipBuddy_AnchorPos[1]; info.func = TipBuddy_AnchorDropDown_OnClick; info.value = TipBuddy_AnchorPos[1]; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Anchor tooltip to the TOP RIGHT\nof the TipBuddyAnchor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_AnchorPos[2]; info.func = TipBuddy_AnchorDropDown_OnClick; info.value = TipBuddy_AnchorPos[2]; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Anchor tooltip to the TOP LEFT\nof the TipBuddyAnchor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_AnchorPos[3]; info.func = TipBuddy_AnchorDropDown_OnClick; info.value = TipBuddy_AnchorPos[3]; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Anchor tooltip to the BOTTOM RIGHT\nof the TipBuddyAnchor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_AnchorPos[4]; info.func = TipBuddy_AnchorDropDown_OnClick; info.value = TipBuddy_AnchorPos[4]; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Anchor tooltip to the BOTTOM LEFT\nof the TipBuddyAnchor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_AnchorPos[5]; info.func = TipBuddy_AnchorDropDown_OnClick; info.value = TipBuddy_AnchorPos[5]; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Anchor tooltip to the BOTTOM CENTER\nof the TipBuddyAnchor"; UIDropDownMenu_AddButton(info); info = {}; info.text = TipBuddy_AnchorPos[6]; info.func = TipBuddy_AnchorDropDown_OnClick; info.value = TipBuddy_AnchorPos[6]; if ( info.value == selectedValue ) then info.checked = 1; end info.tooltipTitle = "Anchor tooltip to the TOP CENTER\nof the TipBuddyAnchor"; UIDropDownMenu_AddButton(info); end function TipBuddy_SetAnchorFrameVis() if (TipBuddy_SavedVars["general"].anchored == 1) then if (not TipBuddy_SavedVars["general"].anchor_vis_first or TipBuddy_SavedVars["general"].anchor_vis == 1) then TipBuddy_SavedVars["general"].anchor_vis_first = 1; TipBuddy_Header_Frame:Show(); else TipBuddy_Header_Frame:Show(); TipBuddy_Header_Frame:Hide(); end else if (TipBuddy_Header_Frame:IsVisible()) then TipBuddy_Header_Frame:Show(); else TipBuddy_Header_Frame:Show(); TipBuddy_Header_Frame:Hide(); end end end --------------------------------------------------------------- -- SAVING DATA AFTER 'OK' --------------------------------------------------------------- function TipBuddy_OptionsFrame_OnSave() -- Checkboxes for index, value in TB_Op_Checks do local button = getglobal( value.frame ); local but = value.frame; --debug local tipTable = TipBuddy_SavedVars[value.type]; --tipTable.vartype = getglobal( value.var ); if ( button:GetChecked() ) then ----TB_AddMessage( "button: "..but.." is checked."); tipTable[value.var] = 1; ----TB_AddMessage( "Setting button: "..but.." checked ("..tipTable[value.var]..")."); else tipTable[value.var] = 0; end end -- Sliders for index, value in TipBuddy_OptionsFrame_Sliders do local tipTable = TipBuddy_SavedVars["general"]; local slider = getglobal("TipBuddy_OptionsFrame_Slider"..index); --if (index == 6) then -- tipTable[value.var] = (UIParent:GetScale() * slider:GetValue()); --else tipTable[value.var] = slider:GetValue(); --end end -- EditBoxes for index, value in TB_EditBoxes do local editbox = getglobal( value.frame ); local tipTable = TipBuddy_SavedVars[value.type]; --tipTable.vartype = getglobal( value.var ); tipTable[value.var] = editbox:GetText(); end TipBuddy_SetAnchorFrameVis(); if (UIDropDownMenu_GetSelectedValue(TipBuddy_CursorPosDropDown)) then TipBuddy_SavedVars["general"].cursorpos = UIDropDownMenu_GetSelectedValue(TipBuddy_CursorPosDropDown); else --TB_AddMessage("|cff3366ffTipBuddy_CursorPosDropDown is nil"); end if (UIDropDownMenu_GetSelectedValue(TipBuddy_NonUnitTipPosDropDown)) then TipBuddy_SavedVars["general"].nonunit_anchor = UIDropDownMenu_GetSelectedValue(TipBuddy_NonUnitTipPosDropDown); else --TB_AddMessage("|cff3366ffTipBuddy_NonUnitTipPosDropDown is nil"); end if (UIDropDownMenu_GetSelectedValue(TB_PCFriend_TipStyleDropDown)) then TipBuddy_SavedVars["pc_friend"].off = UIDropDownMenu_GetSelectedValue(TB_PCFriend_TipStyleDropDown); end if (UIDropDownMenu_GetSelectedValue(TB_PCParty_TipStyleDropDown)) then TipBuddy_SavedVars["pc_party"].off = UIDropDownMenu_GetSelectedValue(TB_PCParty_TipStyleDropDown); end if (UIDropDownMenu_GetSelectedValue(TB_PCEnemy_TipStyleDropDown)) then TipBuddy_SavedVars["pc_enemy"].off = UIDropDownMenu_GetSelectedValue(TB_PCEnemy_TipStyleDropDown); end if (UIDropDownMenu_GetSelectedValue(TB_NPCFriend_TipStyleDropDown)) then TipBuddy_SavedVars["npc_friend"].off = UIDropDownMenu_GetSelectedValue(TB_NPCFriend_TipStyleDropDown); end if (UIDropDownMenu_GetSelectedValue(TB_NPCNeutral_TipStyleDropDown)) then TipBuddy_SavedVars["npc_neutral"].off = UIDropDownMenu_GetSelectedValue(TB_NPCNeutral_TipStyleDropDown); end if (UIDropDownMenu_GetSelectedValue(TB_NPCEnemy_TipStyleDropDown)) then TipBuddy_SavedVars["npc_enemy"].off = UIDropDownMenu_GetSelectedValue(TB_NPCEnemy_TipStyleDropDown); end if (UIDropDownMenu_GetSelectedValue(TB_PETFriend_TipStyleDropDown)) then TipBuddy_SavedVars["pet_friend"].off = UIDropDownMenu_GetSelectedValue(TB_PETFriend_TipStyleDropDown); end if (UIDropDownMenu_GetSelectedValue(TB_PETEnemy_TipStyleDropDown)) then TipBuddy_SavedVars["pet_enemy"].off = UIDropDownMenu_GetSelectedValue(TB_PETEnemy_TipStyleDropDown); end if (UIDropDownMenu_GetSelectedValue(TB_CORPSE_TipStyleDropDown)) then TipBuddy_SavedVars["corpse"].off = UIDropDownMenu_GetSelectedValue(TB_CORPSE_TipStyleDropDown); end TipBuddy_Variable_Initialize(); TipBuddy.xpoint, TipBuddy.xpos, TipBuddy.ypos = TipBuddy_GetFrameCursorOffset(); TipBuddy.anchor, TipBuddy.fanchor, TipBuddy.offset = TipBuddy_GetFrameAnchorPos(); TipBuddy.uiScale = TipBuddy_GetUIScale(); local x, y = TipBuddy_PositionFrameToCursor(); x = (x / TipBuddy.uiScale); y = (y / TipBuddy.uiScale); if (TipBuddy_SavedVars["general"].anchored == 1) then TipBuddy_Parent_Frame:SetPoint(TipBuddy.anchor, "TipBuddy_Header_Frame", TipBuddy.fanchor, 0, 0); else TipBuddy_Parent_Frame:SetPoint(TipBuddy.xpoint, "UIParent", "BOTTOMLEFT", x, y); end --/script TipBuddy_BuffFrameB1:SetPoint("BOTTOMLEFT", "TipBuddy_Main_Frame", "TOPLEFT", 0, 0); TipBuddy_BuffFrameB1:Show(); --TipBuddy_BuffFrame TipBuddy_SetFrame_Anchor( TipBuddy_Main_Frame ); GameTooltip_SetDefaultAnchor(GameTooltip, UIParent); end ------------------------- ---- SAVE FRAME POSITION ------------------------- -- this function is called when the frame should be dragged around function TB_Options_OnMouseDown(arg1) if (arg1 == "LeftButton") then TipBuddy_OptionsFrame:StartMoving(); end end -- this function is called when the frame is stopped being dragged around function TB_Options_OnMouseUp(arg1) if (arg1 == "LeftButton") then TipBuddy_OptionsFrame:StopMovingOrSizing(); ValidateFramePosition(TipBuddy_OptionsFrame, 256); -- save the position TipBuddy_SavedVars["general"].opPos_L = TipBuddy_OptionsFrame:GetLeft(); TipBuddy_SavedVars["general"].opPos_T = TipBuddy_OptionsFrame:GetTop(); --/script TipBuddy_OptionsFrame:SetPoint("CENTER", "UIParent", "CENTER", 0, 0); end end function TipBuddy_ClickResetVarsButton() StaticPopupDialogs["TIPBUDDY_RESETVARS"] = { text = TEXT(TB_RESETVARS_DIALOG), button1 = TEXT(ACCEPT), button2 = TEXT(DECLINE), OnAccept = function() TipBuddy_ResetAllVariables(); end, OnCancel = function() this:Hide(); end, timeout = 60, whileDead = 1 }; StaticPopup_Show("TIPBUDDY_RESETVARS"); end function TipBuddy_ResetAllVariables() TipBuddy_SavedVars.version = 0; TipBuddy_SavedVars = { }; TipBuddy_Variable_Initialize(); TipBuddy_OptionsFrame_UpdateCheckboxes(); TipBuddy_OptionsFrame_UpdateSliders(); --TipBuddy_OptionsFrame_UpdateGreyed(); TipBuddy_OptionsFrame_UpdateColorButtons(); TipBuddy_OptionsFrame_UpdateColorButtons_Text(); TipBuddy_Background_ColorPick_OnLoad(); end