Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dockable Container #8250

Closed
robertdhernandez opened this issue Apr 3, 2017 · 10 comments
Closed

Dockable Container #8250

robertdhernandez opened this issue Apr 3, 2017 · 10 comments

Comments

@robertdhernandez
Copy link
Contributor

I think a major UI improvement would be to implement a dockable container -- a container that can be dragged around and placed inside another dockable container, creating tabs. This would make the editor much more customizable.

@toger5
Copy link
Contributor

toger5 commented Apr 3, 2017

This is already the case.
There is a small arrow at the top right of the docks you can click it and choose where it should be displayed.

A drag and drop feature though would be a nice addition.

@robertdhernandez
Copy link
Contributor Author

The thing with those is that they are hardcoded into the editor and can only be placed in fixed locations on the editor. You're also limited in moving only specific things around. I want to see a more general-purpose container that all the editor items use that allows them to be moved around interchangeably. Like placing the script editor next to the 2D scene editor. Or having the class search underneath the script editor.

@toger5
Copy link
Contributor

toger5 commented Apr 3, 2017

Oh I see,
There already where a lot of discussions about this. I also brought up that point a couple of times. And I think reduz made his mind on that.
The idea is the following:
Godot ui should not make the user waste time arranging views for a specific task (like blender for example) instead the ui should adapt itself based on what you are doing. this is why the bottom section is not a configurable tab instead it changes automatically.
And since godot does a very good job in always displaying the right editor dock this is not really necessary.
Another point is, that is would be a big amount of work since the editor is build on the dock design with the predefined locations. There would need to be done a lot of big changes to make it completely flexible.
But I can understand that it bothers you that the ui is not as flexible as in some other programs.
After a long time being bothered I started to prefer the current implementation. It's simple doesn't make a beginner wonder where he found an editor he used last time (happens in blender all the time). and makes a lot of sense (3d 2d script in the center, and the default docks around it. giving the user just enough flexibility to not be distracting)

Don't know if this convinces you ;) but maybe you can think about it. Or bring up points that prove me wrong.

But as I mentioned before, I really like the idea of being able to use drag and drop to move around the docks. the current method is not that intuitive...

@RayKoopa
Copy link
Contributor

RayKoopa commented Apr 9, 2017

My 5 cents as I wanted to implement this since a long time if Windows builds would not've been fuzzed up every time I try to work on it:

I don't think not making the tabs at the bottom configurable is a good idea. What prevents you from making those tabs visible at the location the user most recently docked them to? What prevents you from defaulting them to the bottom like they currently are? And about scenes in 2D/3D/script tabs, what prevents you from opening such main content in the middle / remaining space? It's like that in most IDEs I've seen yet.

I don't see a reason why a flexible docking layout would rule out the "simplicity" reduz thinks he has (I personally don't see any simplicity in stuffing contextual editors to the bottom which sometimes don't even open up when needed).

It just needs work and a clever docking system, not half-assed stuff like the editor currently has.

@reduz
Copy link
Member

reduz commented Apr 9, 2017 via email

@RayKoopa
Copy link
Contributor

RayKoopa commented Apr 9, 2017

Yeah, I wouldn't take Blender as an example. The Blender editors stay open and never close. That not always makes sense which is why Blender introduced layouts for different tasks and workflows.

I sadly forgot on purpose how Unity works exactly ;-)

I actually thought of it more like Visual Studio (if that's similar to Unity, ignore it):

  • Click something which would contextually open an editor (like a UI theme for example)
  • Open the UI editor where you last docked it into. By default, at the bottom, to keep the "current" behavior.
  • If you feel like it, you can now dock the UI editor where you'd like it (me personally wants it in the middle as it shows quite a lot of the UI). That position is stored.
  • If you deselect the theme or click anywhere else dismissing that "theme editing" context, the UI editor disappears (as it does already).

@OuTopos
Copy link

OuTopos commented Jan 6, 2018

@reduz please reconsider this. Users have a wide variety of setups and preferred ways of working.
Plus I don't see any other elegant solution for Godot to be able to support multiple monitors (windows) in the future.

Currently it's not possible afaik to view output and debugger at the same time. Or view any of the debugger tabs at the same time. You can't view the scene and the script at the same time either.

Although not always crucial it's less disruptive not having to always toggle what's showing in different panes. For example if you would animate something complex I'm sure you will spend a lot of time resizing the animation player from when you are previewing and editing. This could be avoided if the animation player could be moved around an resized freely as in dockable container.

If slightly bigger projects would use Godot I'm sure users of different disciplines would like to customize the editor to their specific needs.

I've been working in the industry for 12+ years and I've seen a lot of different preferred setups and uses of editors. I would say it's both a useful and important feature for a game engine/editor.

That said, I love Godot and I think it's an awesome editor, dockable containers or not!

@reduz
Copy link
Member

reduz commented Jan 6, 2018

@OuTopos It's very far from being a priority for now, maybe in some years

@OuTopos
Copy link

OuTopos commented Jan 6, 2018

@reduz that is totally understandable. I was under the impression that dockable containers were undesired rather than just down prioritized. Silly me.

@akien-mga
Copy link
Member

Multiple window support is implemented for Godot 4.0 in the master branch.

That solves many of the concerns raised here. As for moving docks anywhere in the same window and not just in the pre-defined slots, that would require a lot of work and the actual gain is not obvious to me, as most docks are either main screen plugin or column plugins that can be put in the left and right side columns.

As such I'll close this as IMO what we have now is good enough, but if there's a need for more, I would suggest opening a new proposal over at godot-proposals, as we're consolidated feature proposals in that separate tracker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants