Closed sirinsidiator closed 9 years ago
I wonder, if it makes sense to use my version at all? Merlight's version includes my style changes and a scroll-box is better than a bunch of buttons.
Couldn't test yesterday as I was downloading the update. I've cut the search filter box out of the main layout patch, will push it today ;) But as I said it doesn't touch any option controls, they will need to be amended subsequently for the wider panel.
For example checkbox controls will need some thought - having a lot of empty space to the right doesn't look very good, but moving the ON/OFF further could make it difficult for users to visually connect to the label. Not sure how to best handle that.
There is an optical issue with other languages like german, too. The label text is getting too long very quickly. My idea is to allow labels to expand vertically for one more row, using SetDimensionContraints instead of fixed height. The modification from Garkin allows that for half-width controls, too.
The position of the on/off is like in the build-in settings and should left as it is, because otherwise it will somehow be different again. And the idea is to keep the Look-and-Feel of ESO as good as possible.
Edit 1: Of course adjusted to the new width, but not right-aligned. Same as color-picker.
Just thinking...
Consider controls that would need to change their height dynamically -- currently header and description allow changing the text upon refresh, and I once did that with checkboxes (filling current guild names in).
Then perhaps instead of computing anchorOffset from the heights of the two half-width controls, we could wrap them in a row control and leave auto-resize handle that. Well I'm not sure whether the containing scroll window will then notice it should grow extents, but as long as LAM only allows changes to controls during panel refresh, it can trigger scroll update explicitly.
Using a row control sounds good to me. Simply as part of CreateOptionsControls or as a full LAM control?
The new width is 645? What about using (parent width-21) left 2/3 right 1/3 for full width and (parent width-21) left 3/5 right 2/5 for half width
Well I arrived at that somewhat arbitrarily :) I think at the beginning I had it 650 for testing, then I increased it so that the right scrollbar is near the edge of the background, but still on it (unlike the the builtin game options, I don't like how far to the right they have it). After some moving it was 660, and finally I took 15 away and gave it to the list. Don't ask me why I made them multiples of 15, I have no idea :D
I don't think the list needs to be any wider...
As for the row control for half-widths, I hacked it on top of my recursive CreateOptionsControls, see
https://github.com/merlight/ESO-LibAddonMenu/commit/af75641e80d861866747dcd433150a1b31bb130f
I only tested submenus (which would be the type of control affected if the recursion was screwed) with Wykkyd's Toolbar, was the only addon I found using them.
More addons with submenus: FilterIt (http://www.esoui.com/downloads/info871-CirconiansFilterIt.html) No, Thank You (http://www.esoui.com/downloads/info865-Nothankyou.html) WaypointIt (http://www.esoui.com/portal.php?&id=139&pageid=31)
I was just wondering, if I read the source correct. So the width is 645. ok. :) The formulars above are for the controls. Instead of using fixed values like 250 and 510: (parent:GetWidth()-39) was that 510 and (parent:GetWidth()-39)/2-5 was that 250 Using this formulars the controls will adjust to the width of nested submenus and to any new base width may coming.
This formulars may get part of LAMCreateControl ? Something like LAMCreateControl:GetWidth(parent, isHalf) ?
Yes, I think flexible controls will be great. Yesterday I even started coding fractional width support, so in addition to "full" or "half", you specify for example 0.4 and it would span 40% of the width available (which is parent_width - (widgets_on_row-1) * horizontal_spacing). It was a funny excersise but put that aside for now.
As for LAMCreateControl, I was also thinking we could put common functionality in there. In particular I had the "controlCounter" idiom in mind. We could do it similarly to ZO_Stats, they have a counter per templateName (or had, I'm not sure as my addon that uses it is kinda broken on pts).
Eventually I came to the conclusion that LAMCreateControl is not the right namespace for this stuff. I have a few ideas, will post them in another issue as they're not really related to "visual upgrade".
A few things that I noticed in #7.
Here are two images to illustrate the points mentioned:
I've seen the problem with Srendarr, but then suddenly it started creating its own menu entry, and all other addons I installed appeared correctly below the label&info. Guess I'll need to check versions.
Ad search box: you're right it's too wide. And moving it up totally makes sense... but makes me sad because it's so ugly and up there will be impossible to ignore :D Clear button - sure we could add that, but no other edits in game have that. Esc works btw (a bit stupid I know, if you you have cursor in box, it clears, otherwise it closes menu).
I noticed that the ingame boxes don't offer a clear button and I hate it every time when I want to empty a filter. We are here to improve things though, so that should not stop us :D
You could make the search box toggle-able and hide it by default as long as there are less than 7 addons in the list ;)
Maybe the search box could be modified as I did in Votan's Search Box? Or does nobody like it?
The space on the right side is coming from the out-standing update of the controls using the new panel width. The gap should be 645-549=96 units
searchbox v2, what do you think?
This looks good. Very subtle. :+1: Not sure about the blue text though. White might fit better simply because the icon is also white.
With the box shown, white text actually looks better. Once I hide the box, it looks out of place... which I should admit doesn't change much with blue text... "I know I'm out of place, but look, I'm also different color than anyone around!" Maybe keep the box while there's text, I don't know...
Yes, keeping the box, if there is text, is a visual differences, indicating an active filter. I would try this.
Do you think using the search input as a pattern is useful? Like fo+b[oa]*r
matching "foooboar"? It works in the first version I posted, but there's an issue while typing ... b[o
is not a valid pattern, it throws errors until you close the bracket. So we have two options:
mat lev
would still match "Crafting Material Level Display"I think a simple search with ZO_StringSearch is more than enough. Most users won't use more than 50 addons and even addon addicts only have around 150. Implementing search patterns sounds a bit over engineered for such a small list, especially when you consider that they will be only looking for one specific entry most of the time.
As mentioned in http://www.esoui.com/forums/showthread.php?t=4269 we could change the default style a bit to mark a new era. This should involve simple things like replacing the borders around the addon list and the settings panel with a vertical separator or a background. Nothing too fancy.