Mercurial > wow > reaction
view ReBinder.xml @ 2:8e0ff8ae4c08
Version 0.2
author | Flick <flickerstreak@gmail.com> |
---|---|
date | Tue, 20 Mar 2007 21:08:31 +0000 |
parents | |
children |
line wrap: on
line source
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/..\FrameXML\UI.xsd"> <Button name="ReBinderClickBindingTemplate" virtual="true" hidden="true" toplevel="true" setAllPoints="true"> <HighlightTexture alphaMode="ADD" file="Interface\Buttons\ButtonHilight-Square"/> <Layers> <Layer level="BACKGROUND"> <Texture> <Color r="0" g="0" b="0" a="0"/> </Texture> </Layer> </Layers> <Scripts> <OnLoad> this:RegisterForClicks("LeftButtonUp","RightButtonUp") </OnLoad> <OnClick> local mouseBtn = arg1 if mouseBtn == "LeftButton" then ReBinder:BindSelectedKeyTo(this.keybindTarget) elseif mouseBtn == "RightButton" then ReBinder:ClearBinding(this.keybindTarget) end </OnClick> <PostClick> this:SetButtonState("NORMAL") </PostClick> <OnEnter> ReBinder:UpdateCurrentTarget(this.keybindTarget) </OnEnter> <OnLeave> ReBinder:UpdateCurrentTarget(nil) </OnLeave> </Scripts> </Button> <!-- this frame covers the entire UIParent. It is visible but empty and in the background, so all it does is consume key presses and unhandled mouse clicks --> <Button name="ReBinderFrame" frameStrata="BACKGROUND" movable="false" enableMouse="true" enableKeyboard="true" parent="UIParent" hidden="true" setAllPoints="true"> <Frames> <!-- this is a dialog frame that appears to provide user feedback for the outer frame --> <Button name="$parentDialog" frameStrata="DIALOG" movable="true" enableMouse="true"> <Size> <AbsDimension x="330" y="350"/> </Size> <Anchors> <Anchor point="CENTER"/> </Anchors> <TitleRegion> <Size> <AbsDimension x="350" y="30"/> </Size> <Anchors> <Anchor point="TOP"> <Offset> <AbsDimension x="0" y="-10"/> </Offset> </Anchor> </Anchors> </TitleRegion> <Backdrop edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> <EdgeSize> <AbsValue val="16"/> </EdgeSize> <TileSize> <AbsValue val="16"/> </TileSize> <BackgroundInsets> <AbsInset left="4" right="4" top="4" bottom="4"/> </BackgroundInsets> </Backdrop> <Layers> <Layer level="BACKGROUND"> <Texture> <Color r="0" g="0" b="0" a="0.7"/> </Texture> </Layer> <Layer level="ARTWORK"> <FontString inherits="GameFontNormalLarge" text="Key Binding Setup" justifyH="CENTER"> <Size> <AbsDimension x="200" y="30"/> </Size> <Anchors> <Anchor point="TOP"> <Offset> <AbsDimension x="0" y="-10"/> </Offset> </Anchor> </Anchors> </FontString> <FontString inherits="GameFontNormal" text="Press a key to ready it for assignment, then click a button to assign the key.|nRight-click a button to clear its binding." justifyH="CENTER"> <Size> <AbsDimension x="240" y="70"/> </Size> <Anchors> <Anchor point="TOP"> <Offset> <AbsDimension x="0" y="-55"/> </Offset> </Anchor> </Anchors> <Color r="1.0" g="1.0" b="1.0"/> </FontString> <FontString inherits="GameFontNormal" text="Selected Key:" justifyH="RIGHT"> <Size> <AbsDimension x="175" y="25"/> </Size> <Anchors> <Anchor point="RIGHT" relativePoint="TOP"> <Offset> <AbsDimension x="-25" y="-160"/> </Offset> </Anchor> </Anchors> </FontString> <FontString inherits="GameFontNormal" text="Current Binding:" justifyH="RIGHT"> <Size> <AbsDimension x="175" y="25"/> </Size> <Anchors> <Anchor point="RIGHT" relativePoint="TOP"> <Offset> <AbsDimension x="-25" y="-205"/> </Offset> </Anchor> </Anchors> </FontString> <FontString name="$parentCurrentActionText" inherits="GameFontNormal" text="(none)" justifyH="CENTER"> <Size> <AbsDimension x="140" y="50"/> </Size> <Anchors> <Anchor point="CENTER" relativePoint="TOP"> <Offset> <AbsDimension x="75" y="-205"/> </Offset> </Anchor> </Anchors> <Color r="0" g="1" b="0" a="1"/> </FontString> <FontString name="$parentStatusMsg" inherits="GameFontNormal" text="" justifyH="CENTER"> <Size> <AbsDimension x="200" y="50"/> </Size> <Anchors> <Anchor point="TOP"> <Offset> <AbsDimension x="0" y="-230"/> </Offset> </Anchor> </Anchors> <Color r="0.1" g="1.0" b="0.1"/> </FontString> </Layer> </Layers> <Frames> <Button name="$parentSelectedKey" inherits="UIPanelButtonTemplate2" text="(none)"> <Size> <AbsDimension x="140" y="28"/> </Size> <Anchors> <Anchor point="CENTER" relativePoint="TOP"> <Offset> <AbsDimension x="75" y="-160"/> </Offset> </Anchor> </Anchors> </Button> <Button inherits="GameMenuButtonTemplate" text="Done"> <Size> <AbsDimension x="112" y="28"/> </Size> <Anchors> <Anchor point="BOTTOM"> <Offset> <AbsDimension x="0" y="10"/> </Offset> </Anchor> </Anchors> <Scripts> <OnClick> this:GetParent():GetParent():Hide() </OnClick> </Scripts> </Button> </Frames> <Scripts> <!-- the dialog frame needs to handle clicks (close button, drag title) so we have to re-implement the behavior of capturing alternate mouse buttons --> <OnLoad> this.selectedKey = getglobal(this:GetName().."SelectedKeyText") this.currentAction = getglobal(this:GetName().."CurrentActionText") this:RegisterForClicks("MiddleButtonUp","Button4Up","Button5Up") </OnLoad> <OnClick> local k, a = ReBinder:HandleKeyPressed(arg1) if k then this.selectedKey:SetText(k) this.currentAction:SetText(a or "(none)") end </OnClick> </Scripts> </Button> </Frames> <Scripts> <OnLoad> this.selectedKey = getglobal(this:GetName().."DialogSelectedKeyText") this.currentAction = getglobal(this:GetName().."DialogCurrentActionText") this.statusMsg = getglobal(this:GetName().."DialogStatusMsg") tinsert(UISpecialFrames,this:GetName()) this:RegisterForClicks("MiddleButtonUp","Button4Up","Button5Up") </OnLoad> <OnShow> this.selectedKey:SetText("(none)") this.currentAction:SetText("(none)") this.statusMsg:SetText("") ReBinder:ShowClickBindingButtons() </OnShow> <OnHide> ReBinder:HideClickBindingButtons() ReBinder:ClearSelectedKey() </OnHide> <OnKeyDown> local k, a = ReBinder:HandleKeyPressed(arg1) if k then this.selectedKey:SetText(k) this.currentAction:SetText(a or "(none)") end </OnKeyDown> <OnClick> local k, a = ReBinder:HandleKeyPressed(arg1) if k then this.selectedKey:SetText(k) this.currentAction:SetText(a or "(none)") end </OnClick> </Scripts> </Button> </Ui>