view ObjectiveSecure.xml @ 7:5301c68f28d8

TrackerBlock - use IsModifiedClick function to determine appropriate OnClick actions - handle 'CHATLINK' modifier - handle 'TOGGLEQUESTWATCH' modifier TrackerBlockObjectives - use a generic framework to manage frame creation for various criteria tracker types: - ProgressBar when Blizzard flag data indicates so - skip when Blizzard flag data indicates so - DynamicText otherwise - events related to the criteria are registered in the criteria frame, and unregistered when the frame is hidden, either by destruction of its parent or completion
author Nenue
date Fri, 01 Apr 2016 12:27:05 -0400
parents b0447b382f36
children
line wrap: on
line source
<Ui>
  <!--
   The following was lifted from QuestKing, mainly to spare the horrors of writing a global space frame script
  -->
  <Button name="VeneerItemButtonTemplate" inherits="SecureActionButtonTemplate" virtual="true">
    <Attributes>
      <Attribute name="type" value="item" />
    </Attributes>
    <Layers>
      <Layer level="ARTWORK">
        <FontString parentKey="HotKey" inherits="NumberFontNormalSmallGray" justifyH="LEFT" text="RANGE_INDICATOR">
          <Size x="29" y="10"/>
          <Anchors>
            <Anchor point="TOPRIGHT" x="16" y="-2"/>
          </Anchors>
        </FontString>
      </Layer>
      <Layer level="BORDER">
        <Texture parentKey="icon"/>
        <FontString parentKey="Count" inherits="NumberFontNormal" justifyH="RIGHT" hidden="true">
          <Anchors>
            <Anchor point="BOTTOMRIGHT" x="-3" y="2"/>
          </Anchors>
        </FontString>
      </Layer>
    </Layers>
    <Frames>
      <Cooldown parentKey="Cooldown" inherits="CooldownFrameTemplate"/>
    </Frames>
    <Scripts>
      <OnLoad>
        self:RegisterForClicks("AnyUp");
      </OnLoad>
      <OnEvent>
        if (event == "PLAYER_TARGET_CHANGED") then
          self.rangeTimer = -1;
        elseif (event == "BAG_UPDATE_COOLDOWN") then
          Veneer_QuestObjectiveItem_UpdateCooldown(self)
        end
      </OnEvent>
      <OnUpdate function="Veneer_QuestObjectiveItem_OnUpdate" />
      <OnShow>
        self:RegisterEvent("PLAYER_TARGET_CHANGED");
        self:RegisterEvent("BAG_UPDATE_COOLDOWN");
      </OnShow>
      <OnHide>
        self:UnregisterEvent("PLAYER_TARGET_CHANGED");
        self:UnregisterEvent("BAG_UPDATE_COOLDOWN");
      </OnHide>
      <OnEnter>
        GameTooltip:SetOwner(self, "ANCHOR_RIGHT");
        GameTooltip:SetQuestLogSpecialItem(self.questLogIndex);
      </OnEnter>
      <OnLeave>
        GameTooltip:Hide();
      </OnLeave>
    </Scripts>
    <NormalTexture parentKey="NormalTexture" file="Interface\Buttons\UI-Quickslot2">
      <Anchors>
        <Anchor point="CENTER"/>
      </Anchors>
    </NormalTexture>
    <PushedTexture file="Interface\Buttons\UI-Quickslot-Depress"/>
    <HighlightTexture file="Interface\Buttons\ButtonHilight-Square" alphaMode="ADD"/>
  </Button>
</Ui>