Quantcast UI Builder Changes - Page 2 - EQ2Interface
EQ2Interface.com
Search Downloads


Go Back   EQ2Interface > General Discussion > Dev Shack

Reply
Thread Tools Search this Thread Display Modes
  #26  
Unread 12-05-2008, 08:03 PM
dragowulf's Avatar
dragowulf dragowulf is offline
A man among men
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Nagafen
Posts: 934
Send a message via AIM to dragowulf Send a message via MSN to dragowulf
Default

Quote:
Originally Posted by gm9 View Post
If they are easy:
  • OnChange
  • OnMouseDown
  • OnMouseUp
  • OnFocus
  • OnBlur
  • OnResize
  • OnLoad (= either for a <Page> or a specific dynamic data element, indicating when the element has been populated with data - this is an issue because dynamic data OnShow fires before the actual data is displayed)
  • ... I'll probably think of more

PS: As you discussed with drago: OnAutoAttack
We already have an OnChange, but it's mainly for sliders. What we need is one that is like an OnTextChange, OnSizeChange (OnResize), OnLocationChange, OnProgressChange, etc etc. But instead of the OnChange working manually like the sliders, it should be manual and automatic(whenever the values are changed)

EDIT: And/Or...like what you said gm9: OnLoad, whenever the element is populated with data and whenever the data is repopulated (OnReload?).
__________________
May Jesus Have Mercy On Us

Last edited by dragowulf : 12-05-2008 at 08:12 PM.
Reply With Quote
  #27  
Unread 12-05-2008, 08:12 PM
SOE-Rothgar SOE-Rothgar is offline
A Griffon
Yes this person is from Daybreak!
 
Join Date: Aug 2007
Server: Unrest
Posts: 208
Default

Quote:
Originally Posted by gm9 View Post
[*]OnLoad (= either for a <Page> or a specific dynamic data element, indicating when the element has been populated with data - this is an issue because dynamic data OnShow fires before the actual data is displayed)
Can you give an example of this one? I looked over the code and it looks like we're setting the Text value of a UIText control before we toggle the visibility when DynamicData changes. There could be specific instances where maybe we change the visibility and then change the text later on, but from what I can tell, if we update the text and visibility at the same time, the text should be available when OnShow fires.
Reply With Quote
  #28  
Unread 12-05-2008, 09:02 PM
SOE-Rothgar SOE-Rothgar is offline
A Griffon
Yes this person is from Daybreak!
 
Join Date: Aug 2007
Server: Unrest
Posts: 208
Default

I've added 3 new events because they were fairly easy.

OnTextChanged for UIText controls

and OnMove / OnSize for every control that supports Location and Size properties.
Reply With Quote
  #29  
Unread 12-05-2008, 09:02 PM
gm9 gm9 is offline
gm10-1
Premium Member
EQ2Interface Super Mod
Featured
 
Join Date: Feb 2006
Posts: 6,479
Default

Quote:
Originally Posted by SOE-Rothgar View Post
Can you give an example of this one? I looked over the code and it looks like we're setting the Text value of a UIText control before we toggle the visibility when DynamicData changes. There could be specific instances where maybe we change the visibility and then change the text later on, but from what I can tell, if we update the text and visibility at the same time, the text should be available when OnShow fires.
A specific example that is causing much trouble is subclass detection. This uses /GameData.Self.SubClass, which as far as I know does not contain a visibility component, and using OnShow of the window that contains it does not work, because OnShow fires before /GameData.Self.SubClass contains a value.

Of course this specific case could be solved if we had a /GameData.Self.SubClassEnglish.

Quote:
Originally Posted by SOE-Rothgar View Post
I've added 3 new events because they were fairly easy.

OnTextChanged for UIText controls

and OnMove / OnSize for every control that supports Location and Size properties.
This in addition to your other changes today is christmas come early for us!

PS: Did you ever discuss the ProgressBar empty event issue in ::render() with Zoltaroth? He said we wanted to talk to you about how to fix it but didn't get back to me yet.
__________________
P R O F I T U I ∙ R E B O R N [Auto-Updater] | [Portal] | [F.A.Q.] | [Support Forums]
~ Retired ~
If it does not work, you likely installed it incorrectly. Always try a clean install before reporting bugs.

Last edited by gm9 : 12-05-2008 at 09:06 PM.
Reply With Quote
  #30  
Unread 12-05-2008, 09:26 PM
dragowulf's Avatar
dragowulf dragowulf is offline
A man among men
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Nagafen
Posts: 934
Send a message via AIM to dragowulf Send a message via MSN to dragowulf
Default

Quote:
Originally Posted by SOE-Rothgar View Post
I've added 3 new events because they were fairly easy.

OnTextChanged for UIText controls

and OnMove / OnSize for every control that supports Location and Size properties.
Hardcore! This is going to be great!!!!

__________________
May Jesus Have Mercy On Us
Reply With Quote
  #31  
Unread 12-06-2008, 01:11 AM
Drumstix42's Avatar
Drumstix42 Drumstix42 is offline
A Griffon
Featured
 
Join Date: Oct 2004
Server: Antonia Bayle
Posts: 3,287
Send a message via AIM to Drumstix42 Send a message via MSN to Drumstix42 Send a message via Yahoo to Drumstix42
Default

Quote:
Originally Posted by SOE-Rothgar View Post
I've added 3 new events because they were fairly easy.

OnTextChanged for UIText controls

and OnMove / OnSize for every control that supports Location and Size properties.
Wow! This is great news. Now I can do averages even easier lol. For some reason Average Resists always pop into my mind first when code changes can make it easier.

I find excessive mouse-over/out events to be annoying.
And now I can do my dynamic bottom-aligned Voice Chat window mod without mouse overs if I'm thinking about this correctly.

Really looking forward to the changes!

And for event triggers, some kinda of initial load of a file would be great to have an event for. Some of our custom window modifications require the common player to have knowledge in opening the window OR we have to modify other windows. See this topic: http://www.eq2interface.com/forums/s...ad.php?t=10547
__________________
"I'm afraid you're guilty of thought-crime. Don't bother getting the door, we'll let ourselves in..."
<Donate to DrumsUI> < [DrumsUI] Updater > < [DrumsUI] Full Interface> < Drumstix42 on Twitch.tv
>

Last edited by Drumstix42 : 12-06-2008 at 01:14 AM.
Reply With Quote
  #32  
Unread 12-06-2008, 09:31 AM
RickF7666's Avatar
RickF7666 RickF7666 is offline
A Griffawn
Interface Author - Click to view interfaces
 
Join Date: Jun 2005
Server: Oasis
Posts: 70
Default

I can give you at least two examples of the gamedata not being populated until after the ui piece is draw.

First in my Player window I want to show the last name only when there is a last name. Well OnShow doesn't work for this because by default the Player window is already showing when you zone in and no gamedata has been populated yet. So I added an OnHide to the hud_zoning window to populate the data before you see the interface.

Second I, like many others, want to display an archtype icon in the group window. The problem is that when someone joins the group the graphic elements are shown first then the group member data is populated. So no icon is shown. Most get around the problem by doing a OnHover. I on the other hand hide the group window and the show it again to get the icon to show up automatically. Both options have their problems.

So an OnLoad would solve both of those problems.

And I know this may not be the place for it but can I request the addition of Home City and Riposte to the gamedata?
Reply With Quote
  #33  
Unread 12-07-2008, 02:47 AM
dragowulf's Avatar
dragowulf dragowulf is offline
A man among men
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Nagafen
Posts: 934
Send a message via AIM to dragowulf Send a message via MSN to dragowulf
Default

To quote Landiin from a previous thread for event triggers

Quote:
Originally Posted by Landiin View Post
I'd love to See SOE add some more events and properties to the base object class.

Here are some events I'd like to see added.
  • OnLeftMouseClick (I know OnPress works for this but this event isn't in the base class and only available for a limited number of objects)
  • OnRightMouseClick
  • OnDblClick (Again I know this event is here but again it isn't in the base class and only available for a limited number of object)
  • OnKeyPress
  • OnCreate
  • OnDestroy

Here are some properties I'd like to see added.
  • NodeIndex( if read it would return the it's position in the children list, if set it would change its position in the children list)
  • ChildrenCount(the number of children the node has *Read Only*)

This are the things I was wishing I had available tonight when I was testing out some ideas. I don't think they would make the UI to powerful if they where in the base object. I know it would make life a lot less stressful on us modders.
__________________
May Jesus Have Mercy On Us
Reply With Quote
  #34  
Unread 12-08-2008, 01:18 PM
SOE-Rothgar SOE-Rothgar is offline
A Griffon
Yes this person is from Daybreak!
 
Join Date: Aug 2007
Server: Unrest
Posts: 208
Default

Quote:
Originally Posted by gm9 View Post
A specific example that is causing much trouble is subclass detection. This uses /GameData.Self.SubClass, which as far as I know does not contain a visibility component, and using OnShow of the window that contains it does not work, because OnShow fires before /GameData.Self.SubClass contains a value.

Of course this specific case could be solved if we had a /GameData.Self.SubClassEnglish.


This in addition to your other changes today is christmas come early for us!

PS: Did you ever discuss the ProgressBar empty event issue in ::render() with Zoltaroth? He said we wanted to talk to you about how to fix it but didn't get back to me yet.
As you know, we normally don't toggle the visibility component of UI data unless there's a specific reason that we'd want to hide a control. Hopefully now you'll be able to use the OnTextChanged event of a Text control to update something when the SubClass value gets populated.

I do have an email about the ProgressBar issue, I just haven't looked into it yet.
Reply With Quote
  #35  
Unread 12-08-2008, 01:25 PM
SOE-Rothgar SOE-Rothgar is offline
A Griffon
Yes this person is from Daybreak!
 
Join Date: Aug 2007
Server: Unrest
Posts: 208
Default

Quote:
Originally Posted by RickF7666 View Post
I can give you at least two examples of the gamedata not being populated until after the ui piece is draw.
I think I must have misunderstood the original statement. I was under the impression you guys were saying that the dynamic data's visibility value was changing before text value was changing.

I understand now that you're talking about a window's OnShow event firing before dynamic data is populated. Keep in mind that the window events really have nothing to do with the dynamic data values. They all update separately from each other so we can't really guarantee an order.
Reply With Quote
  #36  
Unread 12-08-2008, 02:38 PM
gm9 gm9 is offline
gm10-1
Premium Member
EQ2Interface Super Mod
Featured
 
Join Date: Feb 2006
Posts: 6,479
Default

Yeah I think that's probably my fault, but anyway I agree that your new OnTextChanged event should solve most if not all of the timing issues.
__________________
P R O F I T U I ∙ R E B O R N [Auto-Updater] | [Portal] | [F.A.Q.] | [Support Forums]
~ Retired ~
If it does not work, you likely installed it incorrectly. Always try a clean install before reporting bugs.

Last edited by gm9 : 12-08-2008 at 04:13 PM. Reason: typo
Reply With Quote
  #37  
Unread 12-08-2008, 03:23 PM
Drumstix42's Avatar
Drumstix42 Drumstix42 is offline
A Griffon
Featured
 
Join Date: Oct 2004
Server: Antonia Bayle
Posts: 3,287
Send a message via AIM to Drumstix42 Send a message via MSN to Drumstix42 Send a message via Yahoo to Drumstix42
Default

Agreed, looking forward to OnTextChanged big time
__________________
"I'm afraid you're guilty of thought-crime. Don't bother getting the door, we'll let ourselves in..."
<Donate to DrumsUI> < [DrumsUI] Updater > < [DrumsUI] Full Interface> < Drumstix42 on Twitch.tv
>
Reply With Quote
  #38  
Unread 12-08-2008, 07:01 PM
dragowulf's Avatar
dragowulf dragowulf is offline
A man among men
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Nagafen
Posts: 934
Send a message via AIM to dragowulf Send a message via MSN to dragowulf
Default

We need some kind of Property that allows custom windows to be visible upon login, without a macro and /show_window command.
__________________
May Jesus Have Mercy On Us
Reply With Quote
  #39  
Unread 12-10-2008, 08:01 PM
SOE-Rothgar SOE-Rothgar is offline
A Griffon
Yes this person is from Daybreak!
 
Join Date: Aug 2007
Server: Unrest
Posts: 208
Default

I used OnSize() in a cool way today. We have a new UI element coming out soon that we wanted to be resizable but it contains a UIText element on it that we don't want cut off. Its now scripted to use a smaller font size if the width of the element gets too small.

-- Edited --

Ok, I tore out the FixedRatio stuff I already mentioned. It had some strange side-effects that didn't look polished and I found another way to achieve the same result without putting a ton more time into making FixedRatio work right.

Last edited by SOE-Rothgar : 12-10-2008 at 09:14 PM.
Reply With Quote
  #40  
Unread 12-10-2008, 11:42 PM
Drumstix42's Avatar
Drumstix42 Drumstix42 is offline
A Griffon
Featured
 
Join Date: Oct 2004
Server: Antonia Bayle
Posts: 3,287
Send a message via AIM to Drumstix42 Send a message via MSN to Drumstix42 Send a message via Yahoo to Drumstix42
Default

Nice. This could be a good way to keep textbox elements in the right scroll area when resizing a parent element maybe?

I just know, for example, in the info center, if you resize the window it will make the internal text areas scroll back to the top. Maybe wishful thinking
__________________
"I'm afraid you're guilty of thought-crime. Don't bother getting the door, we'll let ourselves in..."
<Donate to DrumsUI> < [DrumsUI] Updater > < [DrumsUI] Full Interface> < Drumstix42 on Twitch.tv
>
Reply With Quote
  #41  
Unread 12-11-2008, 12:17 AM
dragowulf's Avatar
dragowulf dragowulf is offline
A man among men
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Nagafen
Posts: 934
Send a message via AIM to dragowulf Send a message via MSN to dragowulf
Default

Wow this upcoming update sounds really promising with new UI elements and UIBuilder changes/additions.


Wanted to say thanks for seeking our opinions and working with us.
Cheers!
__________________
May Jesus Have Mercy On Us

Last edited by dragowulf : 12-11-2008 at 01:55 AM.
Reply With Quote
  #42  
Unread 12-19-2008, 09:39 AM
gm9 gm9 is offline
gm10-1
Premium Member
EQ2Interface Super Mod
Featured
 
Join Date: Feb 2006
Posts: 6,479
Default

While you are doing so much work on UIbuilder recently, I know I already suggested it a while ago but I still would love an option to toggle smooth/small fonts within UIbuilder. Since the game's default is smooth fonts and UIbuilder only shows non-smooth fonts it always makes it impossible to properly position text elements in UIbuilder.

Non-smooth fonts/UIbuilder view:


Smooth fonts/ingame view:


How do you do internally for localized text strings? Do you do the windows first and force translators to stick within the sizes you set or is it the other way around? If the longest possible localized string could be shown in UIbuilder that would be grand.
Attached Thumbnails
Click image for larger version

Name:	clipboard02.png
Views:	691
Size:	5.6 KB
ID:	6696  Click image for larger version

Name:	clipboard03.png
Views:	690
Size:	6.6 KB
ID:	6697  
__________________
P R O F I T U I ∙ R E B O R N [Auto-Updater] | [Portal] | [F.A.Q.] | [Support Forums]
~ Retired ~
If it does not work, you likely installed it incorrectly. Always try a clean install before reporting bugs.
Reply With Quote
  #43  
Unread 12-19-2008, 09:59 AM
Drumstix42's Avatar
Drumstix42 Drumstix42 is offline
A Griffon
Featured
 
Join Date: Oct 2004
Server: Antonia Bayle
Posts: 3,287
Send a message via AIM to Drumstix42 Send a message via MSN to Drumstix42 Send a message via Yahoo to Drumstix42
Default

Quote:
Originally Posted by gm9 View Post
While you are doing so much work on UIbuilder recently, I know I already suggested it a while ago but I still would love an option to toggle smooth/small fonts within UIbuilder. Since the game's default is smooth fonts and UIbuilder only shows non-smooth fonts it always makes it impossible to properly position text elements in UIbuilder.
I second, third, fourth, and fifth this request.
__________________
"I'm afraid you're guilty of thought-crime. Don't bother getting the door, we'll let ourselves in..."
<Donate to DrumsUI> < [DrumsUI] Updater > < [DrumsUI] Full Interface> < Drumstix42 on Twitch.tv
>
Reply With Quote
  #44  
Unread 12-19-2008, 01:25 PM
SOE-Rothgar SOE-Rothgar is offline
A Griffon
Yes this person is from Daybreak!
 
Join Date: Aug 2007
Server: Unrest
Posts: 208
Default

I can look into this to see how easy it would be.

We never really know how much space a localized string will take. The general rule of thumb is to leave 30% extra space. Russian and German seem to be the worst when it comes to long translations.

If something doesn't fit, our international department has been modifying the UI files and maintaining their own separate versions for each language. I'm trying to get away from this by having them tell me when elements aren't large enough so I can adjust them in our original source files.
Reply With Quote
  #45  
Unread 12-28-2008, 11:32 PM
lordebon lordebon is offline
Fetish Core author
This person is a EQ2Map developer.
Featured
 
Join Date: Jun 2005
Server: Crushbone
Posts: 2,667
Default

It's not so much a UI Builder change, but I just wanted to drop this in and hope you could take a look at it one day.

Would it be possible to get /camp account to camp to the login window (with account, pass, char, and server) that you get if you load the game directly (ie skipping the patcher)?
__________________
Reply With Quote
  #46  
Unread 02-20-2009, 11:34 AM
RickF7666's Avatar
RickF7666 RickF7666 is offline
A Griffawn
Interface Author - Click to view interfaces
 
Join Date: Jun 2005
Server: Oasis
Posts: 70
Default

I use UIBuilder a lot. I'm not sure I could do interface pieces by just editing the xml code directly. But there is one small annoyance that I would like to see changed. In the properties area of the UIBuilder window there are two columns. The entry and the data for that entry. When you resize the the UIBuilder window these columns resize dynamically. I would like the resize of the columns to be manual. The problem I'm having is when I am adding a long command to one of the ONwhatever entries it quickly runs out of room. And when I resize the window to see more, I end up with a huge blank area on the left column.

So it would be nice if the columns did not resize automatically.
Reply With Quote
  #47  
Unread 02-20-2009, 11:49 AM
gm9 gm9 is offline
gm10-1
Premium Member
EQ2Interface Super Mod
Featured
 
Join Date: Feb 2006
Posts: 6,479
Default

You do know that you can double click the event script column to get a much larger multiline edit box, right? I know I missed that at first when starting out.
__________________
P R O F I T U I ∙ R E B O R N [Auto-Updater] | [Portal] | [F.A.Q.] | [Support Forums]
~ Retired ~
If it does not work, you likely installed it incorrectly. Always try a clean install before reporting bugs.
Reply With Quote
  #48  
Unread 02-20-2009, 04:32 PM
RickF7666's Avatar
RickF7666 RickF7666 is offline
A Griffawn
Interface Author - Click to view interfaces
 
Join Date: Jun 2005
Server: Oasis
Posts: 70
Default

Thanks, in fact I didn't know about that. Well it's a bit better accept for one thing the properties box can't be resized and there is no word wrap, so again if I have a long command I have to scroll back and forth. I'm not trying to be to nit picky, but... I guess there are some people you just can't please.

Last edited by RickF7666 : 02-20-2009 at 04:39 PM.
Reply With Quote
  #49  
Unread 02-20-2009, 04:54 PM
gm9 gm9 is offline
gm10-1
Premium Member
EQ2Interface Super Mod
Featured
 
Join Date: Feb 2006
Posts: 6,479
Default

No I understand, that's exactly one of the reasons why I very rarely use UI builder, I'm ten times more productive with a customizable text editor.
__________________
P R O F I T U I ∙ R E B O R N [Auto-Updater] | [Portal] | [F.A.Q.] | [Support Forums]
~ Retired ~
If it does not work, you likely installed it incorrectly. Always try a clean install before reporting bugs.
Reply With Quote
  #50  
Unread 02-20-2009, 06:33 PM
dragowulf's Avatar
dragowulf dragowulf is offline
A man among men
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Nagafen
Posts: 934
Send a message via AIM to dragowulf Send a message via MSN to dragowulf
Default

Quote:
Originally Posted by gm9 View Post
No I understand, that's exactly one of the reasons why I very rarely use UI builder, I'm ten times more productive with a customizable text editor.
I'm pretty much the same way, but I use UIBuilder only for the basic layout and design. The actual editing later is done outside of it. It's so much easier/faster to change the code when using a text editor. I use to use UIBuilder like 90% of the time, but now I'm using Notepad ++/Dreamweaver around 90% of the time.
__________________
May Jesus Have Mercy On Us
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 05:19 AM.


Our Network
EQInterface | EQ2Interface | War.MMOUI | WoWInterface | VGInterface | LoTROInterface | MMOInterface