I wonder if its the I can navigate anywhere any time business
Its one of the things I truly hated about that set up
I literally altered HOW I worked and used the IDE because of this
First tab was ALWAYS just for opening items in a new tab
Other tabs I’d never navigate to another object
Otherwise I’d find I’d have several tabs showing the same thing and the one I thought I had open showing some item wasnt there any more
Like Bookmarks in a web browser
if you have a list and open them and then click on bookmarks all the sudden you can have several tabs with the same item open
Thats not always useful or productive
I find its the same in the current incarnation of the navigator & tabs
I never used the tabs in Xojo (or in Xcode for that matter)… I found them to become confusing, so I’d just use the side pane (in both Xojo and Xcode) and every once in a while just close all the tabs to clean up the look
In part thats what the problem with the tabs was - it easily got confusing
I literally had to train myself to look at whether I was in the left most tab or not, if not DO NOT touch the navigator !!!
It was an adjustment from the older set up where you could not get into this situation
I’ve gotten mostly used to the new one (after so many years you do) but I think the old set up would still work well with some adjustments
My problem with the old set up is having to switch tabs to navigate to a new object. Being able to jump around with the sidebar makes me much more productive. I cried a little inside when the new IDE mockup was presented at XDC.
lots of folks felt the exact opposite that having every object clickable all the time induced a sense of … havoc ? randomness ?
VS and such sort of deal with this by not having to deal with it
You double click an item in their “navigator” and it plops a file in the editor - the whole thing
and if you double click it again you reuse the existing tab
the whole idea of this thread is how to make a UI that isn’t so open to chaos
Norm, I’m not clear whether you’re talking about Xojo or RS?
If Xojo, then are you not using locked tabs? With the “Double click opens item in new tab” option turned on (which is the default, right?), double-clicking any item in the Navigator opens that item in a new, locked tab. Then in that tab you can’t navigate to anything outsite that item, unless you unlock the tab first. So you should not find that a tab is not showing what you expect.
Yes, I also keep the first tab unlocked and use it for opening project items in a new, locked tab. An improvement I’d like to see here is what you described for VS - if I double-click an item that is already open in a locked tab, then just go to that tab instead of opening a duplicate tab. The search function sort-of does this - if you’re currently on a locked tab and select a search result that isn’t in that tab, it will first check if the selection is in another locked tab and go it. Otherwise it goes to the first unlocked tab and shows the selection there.
But, if you’re currently on an unlocked tab and choose a search result, it will just move you to the result in that tab. I’d like this to also first check if any locked tab can show the result before changing the focus in the unlocked tab.
Now, another feature in Xojo is that you can open any item in it’s own (locked) tab, whether a base project item (window, module, etc) or just a single method or even property. If you do that a lot, I can see it getting confusing. I rarely do that. I usually only open major project items in a tab (window, module, etc.), unless I’m doing a lot of back-and-forth between indiviual items in the same tab. But then I usually open another workspace so I can see both at the same time. (I can’t recall - could RS do that?)
I use locked tabs all the time
And still end up in this situation with the same item open in multiple tabs from time to time
RS allowed you top open multiple windows as well
And if you typed into one there other reflected this changes
Even if it was a shared item between projects
EDIT : and this IS much better than it used to be - no question
So, I think a good design change would be having a “Project” tab that is fixed as the first tab, that always says “Project” in the tab label no matter what is selected, and that only shows base project items, with no expansion/drill-down (exept for folders, which aren’t really an item but an organizational tool). A single click on an item will display the main or “base” view of that item. And you can’t change anything from there - everything is read-only. You have to double-click (or other context/menu bar action) to edit the item, which would take you to an existing tab for that item if present, otherwise open it in a new tab. All opened tabs are always locked - you can’t ever wind up somewhere else in the project in that tab.
But sitll keep the option to open any sub-item of a tab (method, property, etc) in a new, locked tab, with same rules as above.
OK I hacked this quick “thought experiment” together kind of quick so its not super pretty or polished (its mostly hard coded)
It demonstrates some ideas
Thats it
tabs are always locked - there no navigator to move away from the item in the tab
code you can edit in one of two ways - one method at at time or “all at once”
and yeah the IDE would figure that out and know what methods got added modified etc
EDIT : for any of the code editors the trick is to know “when” to “commit” the edits
on a “save” while the tab is open
when the tab they are in gets closed for whatever reason
on a “run” of the project - not that I’m intending to build a compiler etc but that would be appropriate
not sure that lost focus works well … maybe if it can be fast as heck
the all at once mode has some … interesting “features” that would just be there
insert a “end function” or “end sub” followed by a new sub/function decl would split an existing bunch of code
removing one could merge two methods together - one after the other
So, assuming you’re not writing a compiler, and that Xojo won’t deliver a command line one anytime soon, what’s the goal here? Save it as a Xojo text project for opening/compiling in Xojo?