Small improvements to the Room navigation bar

Started by Crimson Wizard, Thu 09/05/2024 13:44:28

Previous topic - Next topic

Crimson Wizard

I've been neglecting the issues with the navigation bar for a very long time. I know that some of the things mentioned here have been mentioned before, perhaps more than once.
(E.g. see https://www.adventuregamestudio.co.uk/forums/editor-development/feature-request-make-arrows-for-scrolling-through-room-elements-larger/)
Recently @Radiant also mentioned some related problems on github.

Although this navigation control received a lot of criticism, it should not be removed without having a good replacement designed first (Here's a conversation about this: )https://www.adventuregamestudio.co.uk/forums/editor-development/suggestion-room-explorer-a-tree-like-control-for-navigating-room-contents/).

For now, the short-term goal is to provide minor fixes to make its negative sides less annoying.

I've quickly set up an experimental version, based on older @eri0o 's work, and my own recent findings.
The PR may be found here: https://github.com/adventuregamestudio/ags/pull/2422
The latest build downloaded here: https://cirrus-ci.com/task/4945972789248000

Following is the list of implemented fixes:
1. Scroll dropdown menu with the mouse wheel.
2. Increase the size of "arrow" buttons.
3. Dropdown height is made at least as big to accommodate 16 items at once, that is current max number of walkable areas, etc.
4. Fixed dropdown menu closing when hovering over other items in the bar.
EDIT: this fix is temporarily removed, because it turned to be not reliable and causing new problems.

Known issues:
1. After scrolling with a wheel, there's a certain position desync when scrolling with buttons: they may scroll further than necessary (not sure yet if possible to fix).

The biggest problem there is that the "tool strip" control used in this navigation bar is not easy to customize, and we often have to rely on hacks. This is somewhat offset by the fact that the WinForms source code is now available for reading, so we can at least learn how these controls work.

Here I try to follow the principle of doing as less changes as possible...

SMF spam blocked by CleanTalk