Alphabetize Items In Navigator

When my projects grow to be large, mature products, they frequently will have several dozen to several hundred items in the navigator. WAAAAAAY back in the days of RB 4.x and 5.x when you right-clicked on items in the list of stuff in your project there was an option to re-sort them alphabetically.

Please bring this back.

As a real-life example of why this is important, please find the CreditsWindow in this screenshot from Xojo this morning.

How long did that take you? How much faster would it have been if the list was alphabetized?

If you agree, please sign on to this bug report:

<https://xojo.com/issue/26138>

Signed on and favorited…

Click filter field
Type CreditsW
Select CreditsWindow
No need to hardly even “look”

I’ve done this as I have a test project that has 1500 Windows, 1400 menu bars and I forget how many container controls
I can find any in there very rapidly with the above method

It’s NOT what I was used to from the old UI - thats a given
But its quite a bit simpler than dealing with this particular project in 2012 and earlier where you had no options but to alphabetize the list & hunt for it - now THAT was tedious

But, then you must remember to clear the filter field … Added complexity for the developer.

I’d love to have both options available - filter and alphabetize. This is another perfect example of the “toy-like” feeling that some facets of Xojo exhibits that I mentioned in another thread: experienced developers expect these sorts of creature comforts from their IDE.

I mostly just modify it

I’m not saying we can’t alphabetize the list

Just that with the things available in the new UI trying to use it exactly like the old IDE may not be the best approach
It’s not the old UI so working the same way you always have will feel like a constant fight
Trying an alternative may work well or even better

I agree with that in many cases, but in this case, I believe that the old way is the more efficient - even for new users.

[quote=64996:@Norman Palardy]Click filter field
Type CreditsW
Select CreditsWindow
[/quote]

But the Filter field has a number of open bugs against it, which make this way of operation less than perfect. Any chance these will get some attention soon?
<https://xojo.com/issue/28621>
<https://xojo.com/issue/28562>
<https://xojo.com/issue/26281>

More thoughts:

  • you could simply group the Windows into Sub-Folders that have some conceptual meaning. This can be better than alphabetical order in certain scenarios. For example, I’d group EULA, About, and Credits into a folder called “Info”.
  • remember the Go To Location (command-shift-L) command which works just like the old navigator box did in the REALbasic IDE.

my wish would be to control the order completely.

And then the real pain is that ALL items in the navigator are folded so you have to search and unfold everything again to find where you came from.
IMO this navigator is a disaster to use.

[quote=64996:@Norman Palardy]Click filter field
Type CreditsW
Select CreditsWindow
No need to hardly even “look”

I’ve done this as I have a test project that has 1500 Windows, 1400 menu bars and I forget how many container controls
I can find any in there very rapidly with the above method

It’s NOT what I was used to from the old UI - thats a given
But its quite a bit simpler than dealing with this particular project in 2012 and earlier where you had no options but to alphabetize the list & hunt for it - now THAT was tedious[/quote]

As the meme goes, “Why not both?” Norman, your recommended solution is great if you can remember all the class names, but that’s not everyone, and especially when you’ve got over 100 classes that begin with the same prefix. Sometimes, I can type, but plenty of other times, I need to browse. Hell, I sometimes think, “Now what was the name of that class, it was [prefix] and then ‘M’ something…”

Why not ?
How slow would you like things to be in the navigator ?
There’s no point doing it when you know it already will be bug reported as soon as you release it as being to darned slow

Please note no one has said NO
Just not presently because there are issues we already know exist that make it not useful to do
And we do have a million other things to tackle already

Well not quite - I only have 989 bug reports assigned to me
Feel free to add to the pile :stuck_out_tongue:

Challenge accepted! :wink:

that number seems low. are you sure that you dont have more assigned to you? I would have figure 2k or more.

Not everything is assigned to an engineer
It may be reviewed but unassigned

[quote=65605:@Norman Palardy]Why not ?
How slow would you like things to be in the navigator ?
There’s no point doing it when you know it already will be bug reported as soon as you release it as being to darned slow

Please note no one has said NO
Just not presently because there are issues we already know exist that make it not useful to do
[/quote]

I know you can’t post the code, and please pardon my incredulity, but it’s rather surprising that the act of alphabetizing the list could cause such a slowdown; could you share any details on the issues that exist?

I’m not proposing we alphabetize in real time all the time… but make it an option such that I can sort the list from time to time to keep it tidy.

I like the new filter in the navigator. Some times it is very, very useful.
But I must admit that from time to time I move a folder up and down to put it in its natural position.
Is this an old tic I will forget soon? May be.
But I support Kimball’s proposition to have an option to alphabetise when I think I should.

I agree.

It seams like this should be easy enough to allow both methods. I would have an attribute for each item in the list that maintains the sort location that the user established. This would be non-alphabetical user sorting. Then have a toggle button that allows alphabetical sorting. If the button is “on” use alphabetical, if off use the sort attribute.

It would also be nice to sort by type (button, text field, canvas, label, etc.). However, the user could do this manually by using a prefix for their controls then using the alphabetical sort method; i.e. canDisplayWarning, fldUserID, etc.