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

Alternative layout to MDI area #837

Open
astrofrog opened this issue Jan 27, 2016 · 4 comments
Open

Alternative layout to MDI area #837

astrofrog opened this issue Jan 27, 2016 · 4 comments

Comments

@astrofrog
Copy link
Member

It would be nice to explore other ways to organize the viewers in the main drawing area that are not based on the MDI area, because the latter doesn't play nice with OpenGL (it works, but is ugly). In addition, the default mode of completely free layout in the MDI area can result in some users' setup being pretty messy.

I'd like to explore the option of instead using nested horizontal and vertical layouts to guarantee that viewers can't overlap (and which would also allow us to not use the MDI area). I have some ideas on this, so I'll work on it in the near future. We could then have a toggle to switch between MDI area layout and a more strict layout.

(This is independent of @ChrisBeaumont's work In #373 which is to tile the windows inside the MDI layout)

@astrofrog
Copy link
Member Author

Maybe we can do something with QDockWidgets?

@astrofrog
Copy link
Member Author

astrofrog commented Mar 15, 2018

Here's some inspiration from Jupyter Lab:

flexible

@astrofrog
Copy link
Member Author

astrofrog commented Mar 15, 2018

It might not be too hard to replicate what Jupyter Lab does - their UI is nice but all that happens during the click and drag is that a colored rectangle moves around. Doing the final layout might just require making a QSplitter widget at the location of the drop (or adding to an existing QSplitter).

I think we should maybe just develop this as a standalone mini-Qt package then use that in glue, as it could be useful for other projects.

@astrofrog
Copy link
Member Author

astrofrog commented Mar 15, 2018

This package has an implementation of a similar UI:

https://github.com/nucleic/enaml/tree/master/enaml/qt/docking

(mentioned by @sccolbert on Gitter)

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

1 participant