You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the visibility of an object can be changed by using the context menu or by pressing space bar. A hidden status is visualized by the item being grayed out.
When designing parts it is often necessary to hide certain objects either to select something behind them or just to see for example the previous design step in part design.
Using the context menu is cumbersome (move mouse to item -> right click -> move mouse to correct item -> click Toggle visibility) and not fast to do. Using the space bar is easy (but still a three step process: move mouse to item -> select item -> press space bar) but not easily discoverable by (new) users.
Adding an icon that allows to toggle the visibility by one click, provides a fast visual indication of the visibility status and a fast process to change the visibility.
@obelisk79 gave a recommendation from the design group to implent this #10805 (comment).
I created a PR to provide an implementation in the style of LinkMerge #12298
All items that are visible in the 3D View. My preference, i couldn't find a function to check for this
Selected item types.
Should items still be grayed out when showing the icon? I prefer only the icon, no gray out
Should the icon show the visibility state (visible, transparent, hidden) or just the same icon and act like a button? Show state
What actions are available with the icon? Same as pressing space bar
Toggle visibility (Left click)
Toggle transparency (Alt+Left click, Left click cycles trough states)
Code of Conduct
I agree to follow this project's Code of Conduct
The text was updated successfully, but these errors were encountered:
maxwxyz
added
Core
Issue or PR touches core sections (App, Gui, Base) of FreeCAD
Feature
FR for improvements or new features
labels
Feb 11, 2024
chennes
changed the title
[Problem] Add an icon for the visibility state to the tree view items
[Problem] Changing the visibility state of tree items lacks discoverability and is awkward to use
Feb 11, 2024
Is there an existing issue for this?
Problem description
Currently the visibility of an object can be changed by using the context menu or by pressing space bar. A hidden status is visualized by the item being grayed out.
When designing parts it is often necessary to hide certain objects either to select something behind them or just to see for example the previous design step in part design.
Using the context menu is cumbersome (move mouse to item -> right click -> move mouse to correct item -> click Toggle visibility) and not fast to do. Using the space bar is easy (but still a three step process: move mouse to item -> select item -> press space bar) but not easily discoverable by (new) users.
Adding an icon that allows to toggle the visibility by one click, provides a fast visual indication of the visibility status and a fast process to change the visibility.
@obelisk79 gave a recommendation from the design group to implent this #10805 (comment).
I created a PR to provide an implementation in the style of LinkMerge #12298
Full version info
Subproject(s) affected?
None
Anything else?
Examples
An icon (often an eye) to toggle the visibility is a known design element to users from other programs:
This is an example from Blender:
![](https://camo.githubusercontent.com/b84d1e4af71cfbd5755f2b500cb99c19651ee5fbc497ec999ced6cf2daf66e5d/68747470733a2f2f626c656e646572617274697374732e6f72672f75706c6f6164732f64656661756c742f6f726967696e616c2f34582f652f322f342f653234636130363531333334623536623138643265313939636331636438383130623339343463362e706e67)
This is an example from Unity:
![](https://camo.githubusercontent.com/3e7a21ed725febfa89cf9d7b069d599631c765b27b66a772ea3fe54f9d8ed1b4/68747470733a2f2f646f63732e756e69747933642e636f6d2f75706c6f6164732f4d61696e2f5363656e6556697349636f6e734f76772e706e67)
This is an example from Inkscape:
![](https://private-user-images.githubusercontent.com/8003824/303916618-5e9691da-761d-4b78-88c4-2e980b01a4da.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg0MzMzMzUsIm5iZiI6MTcxODQzMzAzNSwicGF0aCI6Ii84MDAzODI0LzMwMzkxNjYxOC01ZTk2OTFkYS03NjFkLTRiNzgtODhjNC0yZTk4MGIwMWE0ZGEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTVUMDYzMDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZGYzZDM3NTRhNmQxZTY3MTIwNmJkOTYyYmEyNjAxMDQ2MDljMDU2M2U5YjM4NGNlZmMwNGJjY2VhZDkxZDE3OCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ._ml0oxQiN6wWxsooJkLEQafthzFQtdiLHRKdq4bKBHw)
Freecad
This is how it currently looks in FreeCAD:
![](https://private-user-images.githubusercontent.com/8003824/303916900-11ab065e-d9b7-487b-921e-91afc3a7605c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg0MzMzMzUsIm5iZiI6MTcxODQzMzAzNSwicGF0aCI6Ii84MDAzODI0LzMwMzkxNjkwMC0xMWFiMDY1ZS1kOWI3LTQ4N2ItOTIxZS05MWFmYzNhNzYwNWMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTVUMDYzMDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MGY2ZmRjMDY0YjhlZjU3ODMxOTMxZDA2ZmUyNTA3MzQ4NzQxNjhiMjExZTFiMzA0NjU2M2M3ZDI1YzQ1ZGNiMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.lLHPKvxNG_OAfCQ9gKoXtGBWZ5XhT2c_dl8V2TE-z1k)
This is how it looks in LinkMerge:
![](https://private-user-images.githubusercontent.com/8003824/303917049-358d46b2-c619-4092-96ae-324400b491dd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg0MzMzMzUsIm5iZiI6MTcxODQzMzAzNSwicGF0aCI6Ii84MDAzODI0LzMwMzkxNzA0OS0zNThkNDZiMi1jNjE5LTQwOTItOTZhZS0zMjQ0MDBiNDkxZGQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTVUMDYzMDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjBmOWY0ZDExNjBlNjUyMDAzYzNkOTQ4NTQxNTY3NDY3YThhMzBmY2M1OGFlMjYyZmE0ZjNmNGNkNzQzNmIzZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.V0578PsnU5HUqlPEFjb45s6rRNm6n6kkWxnV1ooUlLs)
Left click on the icon toggles the visibility. Alt+Left click toggles the transparency (green eye).
An example by @obelisk79:
![](https://private-user-images.githubusercontent.com/8003824/303991558-df110c17-585d-41d2-bf10-08de6621b907.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg0MzMzMzUsIm5iZiI6MTcxODQzMzAzNSwicGF0aCI6Ii84MDAzODI0LzMwMzk5MTU1OC1kZjExMGMxNy01ODVkLTQxZDItYmYxMC0wOGRlNjYyMWI5MDcucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MTVUMDYzMDM1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjNjZDA2NzNkNWFiMGU3ZmNmYjM3ODk2MmRlYzI3MDU3NGUyNGFiMDJkMzgxNzljNzNiNDJkNTkzZjEwZmU5ZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.ZdjdRBHC_gxubBoBKpb-kQpmQZx9BcxLSTZnJSseGss)
Points for discussion
These are some questions I gathered from comments. In italic are my opinions.
Code of Conduct
The text was updated successfully, but these errors were encountered: