ISXEQ2:EQ2UIPage (Top-Level Object)

From ISMods Wiki


Contents

ISXEQ2 information for ISXEQ2:EQ2UIPage (Top-Level Object) has moved

Please see: http://eq2.isxgames.com/wiki for up-to-date content.


Description

Retrieves an EQ2UIPage object from the game world.


Forms

  • eq2uipage EQ2UIPage[<ParentPageName>,<PageName>]
This data member takes two arguments. The first argument is the top level parent 'page' name from the xml file to which the UIPage's configuration is saved (this is usually the second part o the xml filename..see below for explanation). The second argument could be any of the top level 'Page' names found embedded under the first argument 'page' name. I know that sounds complicated, but see below for a couple of examples that should make this more clear to you.


Brief Tutorial and Explanation

First of all, all of the information you need is located in your EQ2 UI subdirectory and contains the extension .xml. (ie, eq2ui_inventory_market.xml). All of the files that correspond to this TLO begin with the phrase 'eq2ui_'. Then, the second word in the file name will always be the ParentPageName (in this case, 'inventory'), and then the third word in the file name will typically be your second argument (or PageName. If a file only has two parts (ie, eq2ui_proxyactor.xml). Then "ProxyActor" would be your ParentPageName and then you would need to look inside the file to find your second argument (I will give you an example of this in a moment).

So, using the information you have so far, here are a few examples of how to determine ParentPageName and PageName based solely on the xml file name.

  eq2ui_inventory_inventory.xml   ->  ${EQ2UIPage[Inventory,Inventory]}
  eq2ui_mainhud_guild.xml         ->  ${EQ2UIPage[MainHUD,Guild]}
  eq2ui_tradeskills.xml           ->  ${EQ2UIPage[Tradeskills,<some page within the file>]}

Ok, now let's take a file like "eq2ui_tradeskills.xml" and figure out what we would use for our second argument. Here is the top of the xml file.

<?xml version="1.0" encoding="utf-8" ?>
<Page Name="TradeSkills" ScrollExtent="1024,768" Size="1024,768" Visible="false">
	<Page Activated="true" BackgroundColor="#0000FF" eq2usescomwndcontrols="true" Location="653,108" MaximumSize="371,558" MinimumSize="371,558" Name="TradeSkills" ScrollExtent="371,558" Size="371,558" UserMovable="true">

As you know, the top level "Page" UI type is always the ParentPageName (and that is true even on files such as "eq2ui_mainhud_guild.xml", it's just that the top level "Page" is actually in the file "eq2ui_mainhud.xml" and then the 'guild' xml is included within it). Then, the next "Page" UIType down is also named "Tradeskills". So, then our TLO would be called as follows:

  $EQ2UIPage[TradeSkills,TradeSkills]


Examples

  • EQ2UIPage[Inventory,Market].Child[button,Market.CommandFindItems]:LeftClick
  • echo ${EQ2UIPage[ProxyActor,Conversation].Child[composite,replies].NumChildren
  • echo ${EQ2UIPage[Inventory,Merchant].Child[checkbox,NoSaleCheckBox].IsChecked}
  • EQ2UIPage[Tradeskills,Tradeskills].Child[button,Tradeskills.Recipes.CreateButton]:LeftClick
  • echo ${EQ2UIPage[MainHUD,Persona].Child[text,MainPage.RaceGender].Label}


See Also