New overlay mode (Now ready for testing)

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

New overlay mode (Now ready for testing)

Post by realthunder »

Edit: please download my pre-build image for testing.

I didn't realize that there are quite a few threads about this overlay mode until I have finished implement my own and decide to announce it. My overlay mode is inspired from triplus' Glass module, but apparent the idea's been around before it. Anyway, here is a brief demo of my version.

Global shortcut F4 can be used to toggle the overlay mode for all docked windows. When activated, the docked windows will become transparent. mouse over will temporarily deactivate overlay mode.

CTRL+F4 toggles auto hide mode, where all docked windows are hidden by default. Mouse over the edge of the main window will bring up the hidden window. This means the space occupied by the dockables are actually freed up for 3D view, unlike the normal overlay mode. For non-3D views, auto hide mode is implicit for all overlay docked windows.

SHIFT+F4 toggles the transparent mode. The difference between this and normal overlay mode is that it stays transparent (for most of the widgets) even under mouse. It certainly looks cooler, but this mode is also likely to have glitches here and there when editing.

Auto hide mode and transparent mode can be toggled independently with each other. Further customization can be done through external stylesheet, with parameter path BaseApp/Preferences/MainWindow, and string keys OverlayOnStyleSheet (used in normal overlay mode), OverlayOffStyleSheet (used when turning off overlay), OverlayActiveStyleSheet (used in transparent mode). Click the links for the default stylesheets used.

Various modes can be toggled independently on each individual docked window. Just replace F4 with F3, and press the shortcut with the mouse over the intended docked window.

ALT+F2/F3 can be used to increase/decrease docked window size in overlay mode.

Comparing to normal main window docking, currently the overlay mode does not support side-by-side windows on the same docking area.Multiple windows in the same docking area will be grouped under a TabWidget, and switched using tabs.

Edit: new title bar buttons for convenience. Also introduce the 'Auto hide on edit' mode, which hides the docked window when editing object.
Screenshot from 2020-04-21 13-45-06.png
Screenshot from 2020-04-21 13-45-06.png (41.31 KiB) Viewed 12846 times

phpBB [video]


Now my favorite UI setup with Dark theme. How about we call it, "The Seamless".
overlay.gif
overlay.gif (416.59 KiB) Viewed 12806 times
Last edited by realthunder on Fri Apr 24, 2020 1:38 pm, edited 4 times in total.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
carlopav
Veteran
Posts: 2062
Joined: Mon Dec 31, 2018 1:49 pm
Location: Venice, Italy

Re: New overlay mode (soon ready for testing)

Post by carlopav »

Wow, there are so many users looking forward this to be implemented! I think it would be a major step forward in perceiving FreeCAD much more professional.

Just a 2 consideration (to your already excellent implementation) since you are working on panels:
- it would be nice if the user could decide what to put into the combo view. For example: Tree and Task, or Task and Properties, or as it is now by default Tree, Task and Properties, or even Tree and Properties.
- it would be nice, but this is just my opinion, to have the structure toolbar also inside the TreeView, since it's commands are - to me - really related to what happens in the tree (i recall you probably do not agree with this, is it?).
follow my experiments on BIM modelling for architecture design
User avatar
HakanSeven12
Veteran
Posts: 1481
Joined: Wed Feb 06, 2019 10:30 pm

Re: New overlay mode (soon ready for testing)

Post by HakanSeven12 »

Nice :)
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: New overlay mode (soon ready for testing)

Post by realthunder »

carlopav wrote: Fri Apr 17, 2020 8:29 am - it would be nice if the user could decide what to put into the combo view. For example: Tree and Task, or Task and Properties, or as it is now by default Tree, Task and Properties, or even Tree and Properties.
It is already possible to do this with upstream. The setting is in Preferences -> Tree view mode. But with the current upstream, you need to manually restart FreeCAD, and manually toggle the visibility of the Tree/Property view. I have changed this to be dynamically applicable.
tree-mode.gif
tree-mode.gif (807.74 KiB) Viewed 13624 times

- it would be nice, but this is just my opinion, to have the structure toolbar also inside the TreeView, since it's commands are - to me - really related to what happens in the tree (i recall you probably do not agree with this, is it?).
I don't quite understand this. You want the structure toolbar (the commands for making Part/Group/Link) to appear as tree view menu actions?
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: New overlay mode (soon ready for testing)

Post by bitacovir »

it is cool.
It looks like FC UI is moving slowly to a embedded style like sculptris :lol:
sculptris_distort2.jpg
sculptris_distort2.jpg (63.85 KiB) Viewed 13586 times
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)

Canal Youtube Grupo Telegram de FreeCAD Español

My personal web site
My GitHub repository
Mini Airflow Tunnel Project
carlopav
Veteran
Posts: 2062
Joined: Mon Dec 31, 2018 1:49 pm
Location: Venice, Italy

Re: New overlay mode (soon ready for testing)

Post by carlopav »

realthunder wrote: Fri Apr 17, 2020 10:27 am It is already possible to do this with upstream.
my bad! I didn't know about that, sorry :)
I don't quite understand this. You want the structure toolbar (the commands for making Part/Group/Link) to appear as tree view menu actions?

I meant something like this:

prova.jpg
prova.jpg (45.67 KiB) Viewed 13580 times

This happens in a lot of drawing programs with the layer panel (gimp, krita ecc.).
The goal I have in mind is to have the cross-workbench commands integrated into the UI as much as possible.
follow my experiments on BIM modelling for architecture design
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: New overlay mode (soon ready for testing)

Post by adrianinsaval »

Would this be through an add-on or it has to be merged in FreeCAD? If it has to be merged, will it allow the old behavior? Nice feature btw! You never cease to give pleasant surprises :)
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: New overlay mode (soon ready for testing)

Post by realthunder »

carlopav wrote: Fri Apr 17, 2020 12:36 pm This happens in a lot of drawing programs with the layer panel (gimp, krita ecc.).
The goal I have in mind is to have the cross-workbench commands integrated into the UI as much as possible.
Still not sure what do you mean. Maybe a screenshot of those drawing program (I use gimp) and highlight the UI?


adrianinsaval wrote: Fri Apr 17, 2020 6:55 pm Would this be through an add-on or it has to be merged in FreeCAD? If it has to be merged, will it allow the old behavior? Nice feature btw! You never cease to give pleasant surprises :)
It's a core feature, and has to be merged. Maybe too late for 0.19 now. You can use F4 to easily toggle between overlay and old behavior.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
carlopav
Veteran
Posts: 2062
Joined: Mon Dec 31, 2018 1:49 pm
Location: Venice, Italy

Re: New overlay mode (soon ready for testing)

Post by carlopav »

Sorry, I was too hasty probably. I'll try to explain better what i meant.
The UI in FC is divided into a persistent part and a workbench related part.
The persistent part is made of panels (Report Tree Property Selection Combo PyConsole) and toolbars (File Workbench Macro View Structure).
Panels position is kept when you change workbench. Toolbar position is not (for example if in a workbench you change the Structure toolbar position, it will be of course changed just in that wb, so if you are not tidy - and i'm not - you end up searching for this toolbar when you change workbench because you will have it sometimes here and sometimes there).
This inspired the idea to have the persistent part of the UI more "fixed".
----
So for example, since I find the Structure toolbar related to the TreeView directly (Group and Part objects, when created, are visible just in the TreeView) I thought it would be nice to have it located inside the TreeView. Even if I know that the Document Tree is something very different from Layer panels from other software, It could be friendly if it behaves in a similar way. I'm attaching here some screenshot comparing Krita Gimp, Inkscape, Blender, where you find a red rectangle around the position of the creators of layers and groups:

krita.jpg
krita.jpg (78.21 KiB) Viewed 13428 times
gimp.jpg
gimp.jpg (93.19 KiB) Viewed 13428 times
inkscape.jpg
inkscape.jpg (146.97 KiB) Viewed 13428 times
Blender.JPG
Blender.JPG (17.22 KiB) Viewed 13428 times


So for FreeCAD it could be like this:

FreeCAD.jpg
FreeCAD.jpg (46.44 KiB) Viewed 13428 times

I find this place also interesting for the view options related to the TreeView: SyncSelection | SingleDocument, MultiDocument, Collapse/Expand |
----

Similar thing happens in many softwares for the 3dView: view related toolbar is overlayed over the view. (But here we are already up to date thanks to the NaviCube)
follow my experiments on BIM modelling for architecture design
User avatar
saso
Veteran
Posts: 1920
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: New overlay mode (soon ready for testing)

Post by saso »

carlopav wrote: Sat Apr 18, 2020 7:45 am Sorry, I was too hasty probably. I'll try to explain better what i meant.
I am not in favor of this, FreeCAD is used by many users in very different ways, some may use the Part-Assembly structure for their model, some may not. Current gui layout with workbenches and toolbars could be improved in some ways but in general it actually very well support this different workflows. It would also be much better if users would start to learn and understand a bit more the parametric programs like solidworks, catia, inventor, nx, creo,... that are closer to freecad then pushing it in directions that have very little to do with it.
Post Reply