RewardSelectWnd and Tabs

Need help with a macro you are writing? Ask here!

Moderator: MacroQuest Developers

GoldenFrog
a ghoul
a ghoul
Posts: 87
Joined: Mon Jan 31, 2005 5:58 pm

RewardSelectWnd and Tabs

Post by GoldenFrog » Thu May 14, 2020 4:26 pm

(Moved from wrong forum)

tl;dr: Issues I'm trying to resolve:
* Select tab in RewardSelectionWnd
* If unsolvable, select list item on non-current tab in RewardSelectionWnd
* Optionally get displayed name on tab


I have a macro which looks to successfully navigate RewardSelectionWnd, tabs, and rewards. Selects desired rewards on each tab and clicks [Select Option] as necessary.

Select A RewardSelectionWnd Tab
However I haven't been able to GRAPHICALLY select the tabs or determine tab name. These would make dev/debug much easier and better for the user.
I have tried a TON of things I won't list initially, to keep first post simple.

Code: Select all

/notify RewardSelectionWnd RewardPageTabWindow tabselect 3
Returns
Window 'RewardSelectionWnd' child 'RewardPageTabWindow' not found.

Guesses are that this is due to dynamic tab population. All static-tab windows (i.e. AA, Inventory) work.

Select List Item on Non-Current Tab
I can do

Code: Select all

/notify RewardSelectionWnd RewardSelectionOptionList listselect 3
But this only works on the currently selected tab. I haven't found a way to do the equivalent of:

Code: Select all

/invoke ${Window[RewardSelectionWnd].FirstChild.Next.Child[RewardSelectionOptionList].ListSelect[1]}
Get Tab's Displayed Name
Additionally, I've not figured how to determine the Tab Text, if possible. The following all return empty strings:

Code: Select all

/echo ${Window[InventoryWindow].Child[IW_Subwindows].Text}
/echo ${Window[InventoryWindow].Child[IW_Subwindows].FirstChild.Text}
/echo ${Window[InventoryWindow].Child[IW_Subwindows].Child[IW_AltCharProgPage].Name}
Seems to need to grab "TabText" from the child.

<Page item="IW_InvPage">
....
<TabText>Inventory</TabText>