@Gijs…
I appreciate you revisiting this. And as always. McNeel folks are the most approachable in the industry and I thank you.
First I’d like to pass on my interpretation of the definition of Toolbars/Panels/ and Containers. I may be wrong but I’m trying to take things to my least complex level.
Toolbars:
An object that houses a single or array of simple command icons (including custom). Additional arguments for each icon will/may show up in the command line if applicable. ToolBars themselves float within the design window (unless containerized).
Panels:
An object that houses a more complex command and provides all the arguments/options for said command within the object proper. User can preload a number of arguments prior to executing. Panels themselves float within the design window (unless containerized).
Containers:
An object that provides a mechanism to assemble both toolbars and panels within the object. This permits the composition of what you referred to as a “ToolSet”. One additional characteristic of a container not prevalent in Toolbars or Panels is the ability to dock at strategic “hot” areas around the working screen.
Please correct me if I have my crude definitions wrong.
Now on to your suggestions (you asked me if things sound right). A lot of my comments refer to Panels but I would expect them to apply to Toolbars in exactly the same fashion.
“-if a panel is in a container (as a tab), running the command brings it forward”
If I already know the command that will bring the panel to the front in some container, why not just show the panel I want and forgo the need for me to move my focus to a container? Especially if the desired Panel is in multiple docked containers on the screen. Personally I don’t care where it is, I just want it to appear so I can use it and go away when I don’t need it.
“-if a panel is present in more than one visible container, running the command will bring forward the tab in the container it was added to last.”
In addition to my above comment an edit to an existing docked container to add said panel will cause the panel to now show up at a different location (last “added to” container will gain focus). Then things become a game of “Panel, Panel where is my panel”? Why not just show the panel requested and make things simple?
“-if a panel is not in a visible container, running the command opens it up in it’s own floating container”
Why force the container when the panel exists as an independent object? Especially if I already can turn it on just by typing a command. Ie. “LayerStateManager” displays the panel without a container as far as I see. It just won’t go away if I repeat the command.
“-panels that are opened in said floating containers can be closed by running the command again, this we need to get consistent across all panels.”
Wouldn’t it be far more simple to just repeat the command and the Panel hides itself? Selecting the “close” icon upper left already does this but requires mouse movement. Not everyone needs everything on the screen at once but I may be wrong. There are a lot of keyboard wizards that hardly ever use icons and probably could care about Icons and their complexity. I’m not one BTW.
I am 100 percent in agreement with consistency across the platform. If some code based dependency on containers was implemented then why not just put everything within containers and code in a characteristic that containers can have nested containers? In my mind this would simplify things.
A container could be a tool bar with simple command icons and a name. It could be a panel with more complexity and a name. It could also permit nesting of other containers. After all, toolbars and panels are at their root “Containers” for stuff.
I can’t see where my thoughts will change anything for those that have adopted the use of Containers/Panels/Toolbars but if it does, I apologize up front.
Whatever you folks implement I will adapt and make work. I just need to know the guidelines before I spend a lot of time modifying my workflow. There are a tremendous amount of frustrated (and hostile) comments out there and I don’t want to add to that chatter. I also don’t want to take away your focus on “bugs/anomolies” that are actually causing people to lose money.
Thanks,
D.