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

Advices to manage multiple windows ? #569

Closed
itamago opened this issue Apr 2, 2016 · 4 comments
Closed

Advices to manage multiple windows ? #569

itamago opened this issue Apr 2, 2016 · 4 comments

Comments

@itamago
Copy link

itamago commented Apr 2, 2016

Hello,

I'm frenetically porting my old Cocoa controllers to ImGui, and I'm starting to have too much windows on a single screen. The windows overlap, or they are too small if I pack them vertically.

Please take a look at the mess I have on a single screen : https://youtu.be/mZzGrrh-zfw

As you have more experience in managing ImGui windows, do you have any advices to handle this UI issue ?

I tried the Docking system which was provided in another issue. It's pretty good but not complete (for instance, it doesn't support frames with borders, which can be easily fixed but hardcoded).
I though of using "tabs", but I didn't find a complete implementation in the issues (maybe I missed another issue).

Any advice is welcome ! Thanks for your help.

@ocornut
Copy link
Owner

ocornut commented Apr 2, 2016

Well, managing screen real estate is always a problem with UI.
How was your UI designed previously? I mean, you are just showing too much stuff on the screen at once, you may need to rethink your UI flow and your layouts.

Looking quickly at your video it looks like you are trying to show all those fields all the time, which may not be strictly necessary.. you could select textures from a list and have properties for a single texture, or you could shrink them and use horizontal scrolling?

Do you need to see Textures and Materials and Scene Graph and Topologies at the same time? I would use cheap buttons-based tabs and display only one set. Combine with horizontal scrolling or select-to-see-details.

I haven't had time to look at the Docking code but feel free to contribute your improvements to it :)

Tabs would be easy to create, same thing, haven't done anything about that myself. It's easy to simulate tab behavior with buttons (click button to select current pane, and display that pane below the buttons). Won't look at good but then it is only a few steps away. The Tabs thread is #261

Combine that and perhaps horizontal scrolling (maybe with those two childs if you want to horizontally lock the first child). Bit of work required, no miracle.

Both Docking and Tabs features would need some more work to be complete (although the Docking code looked pretty good at first glance for a V1). Too many things to do!

@ocornut
Copy link
Owner

ocornut commented Apr 2, 2016

Using contextual popup menus is also very useful to save on screen-real-estate.

@itamago
Copy link
Author

itamago commented Apr 3, 2016

In the Cocoa gui, I show textures, materials, and passes at the same time. SceneGraph is displayed in a separated tab.

You're right, I could simplify the interface by showing properties only when objects are selected.

Yeah, contextual popup menus would help to simplify too.

I'll try that this night, thanks !

@itamago
Copy link
Author

itamago commented Apr 14, 2016

I'm using a context menu in order to show/hide the Windows. It's basic but works like a charm :)

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

2 participants