![]() |
Spanning UI Branches: PROBLEM SOLVED!
Noticed this a few weeks back and just now got around to testing.
Turns out every top level page is a placeholder in UIBuilder only. Their only function is to control positioning and visibility of child pages relative to screensize. Everything under top level pages in UIBuilder gets copied into an in-game working space named _HUD. For example, to move the Inventory window with a button in the Player window: OnPress="parent.parent.Inventory.location="100,100" Button parent is the Player window Player window's Parent is _HUD Inventory window's parent is _HUD Basically, every window is adjacent inside _HUD. There may be a few exceptions. While testing I found at least one set of windows (PlayerHousing) that didn't seam to be under _HUD but my testing was cut short with server maintenance. Could be I just setup the test wrong. MainHUD, HUD, Journal, Inventory and Popup were all confirmed to be replaced with _HUD. |
Interesting. WOOT!
What if you've got both MainHUD.Inventory (Sunthas's Ammo window or... uh... the other one... MiniInventory?) and Inventory.Inventory, though? |
I'm guessing its EXACTLY the same as duping Inventory without moving it. Slots are rendered but whichever one is second in the tree doesn't accept Drag and Drop.
Was gonna test that actually since I just included a MainHUD.Inventory in my set. Oh and it seams everything is under _HUD, there's just a few spots where the UI doesn't want to allow new pages injected. |
Well, I was referring to what your example button would do. Move MainHUD.Inventory? Inventory.Inventory? Neither? Both? Lemme know. :p
Dang, there was something I really wanted to do with this but now I forgot what it was. :( |
I'm checking now, but I think manipulating the copy will be an issue. The sample button does move the original.
|
INTERESTING! Relative paths thru _HUD to windows with identical names point to whichever happens to be on top in Z-order.
Confirmed using 2 identical buttons in 2 different branches and 2 versions of Inventory in the same 2 branches. Make sense though, they have the same name and whichever is on top should be moved higher in the tree, so when the client goes looking for Inventory, it grabs the first one it sees. |
Good, good...
...I still can't remember what I was going to do. Ah well, I'm sure I'll remember when somebody beats me to it. :p Here's an idea we couldn't do before: Examine window with a button that searches for the item on the broker. You'd have to have to be talking to a broker or using your market board already, but you could do a quick search for items that people link to you. |
Heh, yah first time I realy beat my head against this wall was trying to pipe inventory item names over to Market search.
There's some interactions between Popup, MainHUD and Inventory areas I'll be exploring. |
Quote:
For simplicity: Button1 and Window1 are in the popup branch Button2 and Window2 are in the mainhud branch It would be (for Button1 syntax) Onpress=Parent.Parent.Window2.Button2.Press=true First parent is button1's parent = Window1 Second parent is Window1's parent= _HUD Just makin sure!! |
Yep, that's correct.
|
Quote:
|
Out of curiosity, how did you figure this out, anyway? Localtext=Parent.Parent.Name or something like that?
|
I'd kinda suspected something like this was going on after seeing how the Map window was getting stuff inserted by the client.
I was dorking with the show_bag command a few weeks back and happened to toss a tooltip=parent.parent.name on the bag window close button just to see where the window was nested. Noticed the _HUD reference and decided to test general nesting at some point. A conversation with someone at SOE lead me to believe my suspicions were correct. Took a while to get around to it, but I finally made a tester page with a buncha scripts to test various events related to Data Items, listbox, etc. Tossed in a series of buttons to grab the tree 5 levels out, then duped the entire test page and included it to every UI branch. Once I confirmed everything was ending up under _HUD, I added a button to change the location of the Inventory window to a few of the other branch test pages and it worked :) |
| All times are GMT -5. The time now is 05:53 AM. |
vBulletin® - Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© MMOUI