[DISCUSSION] Constraint's Widget - Open topics
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
[DISCUSSION] Constraint's Widget - Open topics
This new post attempts to be a restart of the discussions regarding the new functionalities of the constraint widget. If you need or want to dive into previous posts, they are here. However, there is no need to. This topic is to discuss the open topics of the current solution in master, and to provide feedback for further improvement.
First we need to identify which one is the starting point. There have been several iterations (there might be future versions). This is what we are discussing ATM:
Current master
Starting Point
This is where we are originally coming from: I do not have an old screenshot, but we used to have the first 5 filters of the previous screenshot ('Geometric' was called 'Normal' and did not work properly).
Working:
1. The selection of the filter will cause the list of constraints to be filtered and thus reduced to match the filter.
2. The first checkbox would regulate whether Internal Alignment constraints should follow the filter or be systematically omitted.
3. The second checkbox would regulate whether the additional information (intended for power users) should be shown or not.
Original Problem requirements
The feature was started by Uwe, who identified the problem as relating to constraints cluttering the 3D View.
Requirements for the solution should be:
1) that it allows a faster and more comfortable/ergonomic showing and hiding of groups of constraints in the 3D view.
Additional requirements
Over the discussion the following additional requirements were identified:
2) that the UI controls take the shortest vertical space in the widget, so that the actual list shown in the widget can be longer, as searching constraints was cumbersome.
3) that the filter allowed for a finer grade control, allowing to select individual types of constraints.
4) that the filter could be defined by the aggregation of multiple filters.
5) that not only the constraints matching the filter selection are shown and hidden, but in addition it is possible to make all constraints matching the filter show while making all constraints not in the filter hide.
6) That, in a mode, the operation of (5) is automatically executed when a new filter is selected (filter change), while it is not automatic in another mode.
7) That the mechanism to activate the automatic mode of (6) is "handy" without requiring to go to separate dialogs.
8) That a filter shows the selected constraints
9) That a filter shows the constraints associated to selected geometry element(s).
Description of the current solution
A) Buttons "Show Listed" / "Hide Listed" implement requirement (1). This buttons do not hide anything not selected. This functionality cannot be provided by the button "Restrict Visibility".
B) The separation of the options in a separate dialog (constraint widget settings) is directed to meet requirement (2). As a consequence, the options are less "at hand", but they do not occupy constraint widget vertical space.
C) The increased list of filter types (see screenshot above) is directed to meet requirement (3).
D) The button "Select Multiple" and the corresponding dialog with the list of filters is directed to meet requirement (4)
E) The button "Restrict Visibility" takes care of (5). This functionality cannot be implemented via the buttons of solution (A)
F) The dialog of solution (B) include a 3D view control section (which will be enlarged with new options in the near future when geometry layer are introduced). In this section the "show only filtered constraints" implements the functionality of (6).
G) While it is desirable to have all settings in one place in an appropriately grouped fashion, this makes them "not handy". In the widget directly they would occupy vertical space or, if "hidden" and "shown" on the demand, the dialog will need to be vertically resized creating problems with other widgets. For this reason, visibility shortcuts are provided as checkable items in the drop down of "Restrict Visibility". This dual solution allows selected options to be handy without cluttering the view, while still having all the relevant information in a single point (settings). This implements (7).
H) New filter "Selection Filter" implements (8)
I) New filter "Associated Constraints Filter" implements (9)
First we need to identify which one is the starting point. There have been several iterations (there might be future versions). This is what we are discussing ATM:
Current master
Starting Point
This is where we are originally coming from: I do not have an old screenshot, but we used to have the first 5 filters of the previous screenshot ('Geometric' was called 'Normal' and did not work properly).
Working:
1. The selection of the filter will cause the list of constraints to be filtered and thus reduced to match the filter.
2. The first checkbox would regulate whether Internal Alignment constraints should follow the filter or be systematically omitted.
3. The second checkbox would regulate whether the additional information (intended for power users) should be shown or not.
Original Problem requirements
The feature was started by Uwe, who identified the problem as relating to constraints cluttering the 3D View.
Requirements for the solution should be:
1) that it allows a faster and more comfortable/ergonomic showing and hiding of groups of constraints in the 3D view.
Additional requirements
Over the discussion the following additional requirements were identified:
2) that the UI controls take the shortest vertical space in the widget, so that the actual list shown in the widget can be longer, as searching constraints was cumbersome.
3) that the filter allowed for a finer grade control, allowing to select individual types of constraints.
4) that the filter could be defined by the aggregation of multiple filters.
5) that not only the constraints matching the filter selection are shown and hidden, but in addition it is possible to make all constraints matching the filter show while making all constraints not in the filter hide.
6) That, in a mode, the operation of (5) is automatically executed when a new filter is selected (filter change), while it is not automatic in another mode.
7) That the mechanism to activate the automatic mode of (6) is "handy" without requiring to go to separate dialogs.
8) That a filter shows the selected constraints
9) That a filter shows the constraints associated to selected geometry element(s).
Description of the current solution
A) Buttons "Show Listed" / "Hide Listed" implement requirement (1). This buttons do not hide anything not selected. This functionality cannot be provided by the button "Restrict Visibility".
B) The separation of the options in a separate dialog (constraint widget settings) is directed to meet requirement (2). As a consequence, the options are less "at hand", but they do not occupy constraint widget vertical space.
C) The increased list of filter types (see screenshot above) is directed to meet requirement (3).
D) The button "Select Multiple" and the corresponding dialog with the list of filters is directed to meet requirement (4)
E) The button "Restrict Visibility" takes care of (5). This functionality cannot be implemented via the buttons of solution (A)
F) The dialog of solution (B) include a 3D view control section (which will be enlarged with new options in the near future when geometry layer are introduced). In this section the "show only filtered constraints" implements the functionality of (6).
G) While it is desirable to have all settings in one place in an appropriately grouped fashion, this makes them "not handy". In the widget directly they would occupy vertical space or, if "hidden" and "shown" on the demand, the dialog will need to be vertically resized creating problems with other widgets. For this reason, visibility shortcuts are provided as checkable items in the drop down of "Restrict Visibility". This dual solution allows selected options to be handy without cluttering the view, while still having all the relevant information in a single point (settings). This implements (7).
H) New filter "Selection Filter" implements (8)
I) New filter "Associated Constraints Filter" implements (9)
Last edited by abdullah on Fri Oct 15, 2021 2:10 pm, edited 1 time in total.
Reason: Go signal for feedback.
Reason: Go signal for feedback.
Re: [DISCUSSION] Constraint's Widget - Open topics
Open Points on the current solution
There are three open points in my solution, on which I would appreciate feedback in order to move forward with the solution:
ISSUE 1 - Hierarchy - multi-filter - Datum/reference
There is still the open discussion on whether the multi-filter dialog should show a list or a tree.
In a nutshell a tree can be more visual in terms of separation and make better use of the space as the buttons at the bottom could go. A list is more flexible in defining dependencies. One can have different "hierarchies" of filters and groups of filters.
I think we have different "hierarchies", as datums can be named or not, and datums have the issue I describe below.
Related to this, I need to resolve the hierarchy of datum and Reference filters. I would like feedback in how you see this part hierarchically.
1. We have references in the constraint list. This is a reality unlikely to change.
2. We have a filter called "Datum". Should the filter comprise all Datum constraints and References? (This was the case before this feature started) or Should the filter comprise only actual constraints and not the references? (This is the current behaviour). In the current behaviour, if one wants to have both datum constraints and references, one should use either the "All" filter, or a multifilter having "Datum" and "Reference" selected.
This relates to the fact that the "Reference" filter might group a subset of "Datums" that may be of all the "Datums" subgroup types, but are not all of them, as it only applies to the ones that are "References". This all depends on the actual definition of the groups.
I am interested not only in the philosophical discussion, but the practicality of the choices.
Another caveat of the current implementation: If one selects in a multi-filter "Radius", ATM, Reference and non reference Radius are shown. I just realised this doing some testing.
So we need to find which behaviour is the wanted one, so that we can fix the unwanted one (which is one or the other depending what we decide).
ISSUE 2 - Length/Position of the multi-filter dialog
Some voiced concern that in small screens (14/15 inches), the multifilter dialog is too tall by default. Others that in bigger screens, the dialog appears not big enough to show all the filter options. We need to find a consensus.
If we choose to keep the list for flexibility, it might be possible to make some calculations to dynamically resize the dialog if the parent window is big enough. It might be possible to "move" the dialog so that it appears closer to the button triggering it for convenience.
ISSUE 3 - Hide internal alignment option
There is another caveat for discussion and it relates to the behaviour of the setting "hide internal alignment".
It has always been the case that internal alignment constraints are filtered out of the list when this option was active. I think this is the intended behaviour. With the introduction of specific filters per constraint type, there is now a filter option "Internal Alignment".
The current behaviour ATM is showing Internal Alignment constraints regardless of the "hide internal alignment" setting. This is, it violates the setting. However, it appears that it is the only meaningful thing to do. An empty list is not better. But this is caveat 1 of Issue 3 "for discussion".
The second caveat of issue 3 is when the "Internal Alignment" is selected in the multifilter. Currently, the "hide internal alignment" setting is enforced. This is, if active, the Internal Alignment constraints are not shown in the list. From the perspective of a "multiple filter" "all checked" being the same as an all filter. This is consistent. However, when only the "Internal Alignment" is selected in the multifilter, an empty list is shown. This is inconsistent with the behaviour under caveat 1, so this is Caveat 2 of Issue 3 "for discussion".
If the behaviour of Caveat 1 is acceptable, one could deactivate the "Internal Alignment" checkbox if the "hide internal alignment" setting is active. The Check All and Uncheck All buttons of the multi-filter may need to change behaviour.
Here I need to know which behaviour you want to have.
There are three open points in my solution, on which I would appreciate feedback in order to move forward with the solution:
ISSUE 1 - Hierarchy - multi-filter - Datum/reference
There is still the open discussion on whether the multi-filter dialog should show a list or a tree.
In a nutshell a tree can be more visual in terms of separation and make better use of the space as the buttons at the bottom could go. A list is more flexible in defining dependencies. One can have different "hierarchies" of filters and groups of filters.
I think we have different "hierarchies", as datums can be named or not, and datums have the issue I describe below.
Related to this, I need to resolve the hierarchy of datum and Reference filters. I would like feedback in how you see this part hierarchically.
1. We have references in the constraint list. This is a reality unlikely to change.
2. We have a filter called "Datum". Should the filter comprise all Datum constraints and References? (This was the case before this feature started) or Should the filter comprise only actual constraints and not the references? (This is the current behaviour). In the current behaviour, if one wants to have both datum constraints and references, one should use either the "All" filter, or a multifilter having "Datum" and "Reference" selected.
This relates to the fact that the "Reference" filter might group a subset of "Datums" that may be of all the "Datums" subgroup types, but are not all of them, as it only applies to the ones that are "References". This all depends on the actual definition of the groups.
I am interested not only in the philosophical discussion, but the practicality of the choices.
Another caveat of the current implementation: If one selects in a multi-filter "Radius", ATM, Reference and non reference Radius are shown. I just realised this doing some testing.
So we need to find which behaviour is the wanted one, so that we can fix the unwanted one (which is one or the other depending what we decide).
ISSUE 2 - Length/Position of the multi-filter dialog
Some voiced concern that in small screens (14/15 inches), the multifilter dialog is too tall by default. Others that in bigger screens, the dialog appears not big enough to show all the filter options. We need to find a consensus.
If we choose to keep the list for flexibility, it might be possible to make some calculations to dynamically resize the dialog if the parent window is big enough. It might be possible to "move" the dialog so that it appears closer to the button triggering it for convenience.
ISSUE 3 - Hide internal alignment option
There is another caveat for discussion and it relates to the behaviour of the setting "hide internal alignment".
It has always been the case that internal alignment constraints are filtered out of the list when this option was active. I think this is the intended behaviour. With the introduction of specific filters per constraint type, there is now a filter option "Internal Alignment".
The current behaviour ATM is showing Internal Alignment constraints regardless of the "hide internal alignment" setting. This is, it violates the setting. However, it appears that it is the only meaningful thing to do. An empty list is not better. But this is caveat 1 of Issue 3 "for discussion".
The second caveat of issue 3 is when the "Internal Alignment" is selected in the multifilter. Currently, the "hide internal alignment" setting is enforced. This is, if active, the Internal Alignment constraints are not shown in the list. From the perspective of a "multiple filter" "all checked" being the same as an all filter. This is consistent. However, when only the "Internal Alignment" is selected in the multifilter, an empty list is shown. This is inconsistent with the behaviour under caveat 1, so this is Caveat 2 of Issue 3 "for discussion".
If the behaviour of Caveat 1 is acceptable, one could deactivate the "Internal Alignment" checkbox if the "hide internal alignment" setting is active. The Check All and Uncheck All buttons of the multi-filter may need to change behaviour.
Here I need to know which behaviour you want to have.
Re: [DISCUSSION] Constraint's Widget - Open topics
Criticisms on the current solution
This post is about showing what has been proposed already and explaining the problems I see with the solutions and the requirements. This should help identify if we drop requirements to adopt other solutions or not.
Use a tree for filters - by user jonasb
show hierarchy - by Shalmeneser
Originally in:
https://forum.freecadweb.org/viewtopic. ... 60#p537760
I think a tree has many advantages if there are not overlapping hierarchies. It provides natural separators. One can remove the two buttons below that list. It is convenient if it is fixed to always be full deployed.
The only problem with this solution, is that we have overlapping hierarchies. Currently at least the "Named" and the "Reference" filters. In the future we might decided to introduce a new filter which groups elements introducing a new overlapping category.
It is in this ability and flexibility that the list is superior to the tree.
The size of the multifilter widget - by uwestoehr
It is acknowledged that the size is too big for small monitors. For the solution it is necessary feedback as said above.
Several problems with the UI - by OpenBrain
Is this post: https://forum.freecadweb.org/viewtopic. ... 93#p539993
This one I will quote it and reply below:
The filter has always affected the list of constraints (as opposed to the visibility). If you want to "disable" the filter you can select "All", which is the same as not filtering. The main problem with a checkbox is that it would be redundant.
If you refer to the checkbox being for handling "3D visibility", there are several problems:
1) Do you want the "Restrict visibility" behaviour or the "hide all"/"show all" behaviour? Explaining what is meant would require, I think, quite a substantial amount of horizontal widget space.
2) In the case of the "Restrict visibility" behaviour, do you want a single shot action, or do you want a continued tracking of the filter?
3) In the case of the "hide all"/"show all" behaviour, a checkbox has state, what should happen upon changing filter? upon manually checking or unchecking individual constraints?
To my knowledge, the last selected option is maintained, as it is stored as a parameter for the current checkboxes. I am unsure if I am missing something. There might be a bug.
Visibility implies modifying the constraint, in that the virtual space in which the constraint is visible is a member of the constraint.
I am not sure what you are proposing.
This button does not actually consume much space, as it is the first line with the Label, Combobox, Button for multifilter and Button for settings which define line length. The button is "large" because it is expanding. I found it better aesthetics to have the other two buttons in the same line as minimum and the visibility one expanding.
I have not found a better option to have separate trigger and state behaviours.
1. Increase further the dialog in width.
2. Remove the trigger functionality. Previous feedback wanted to have the option as a one time click and then have full control again, or a mode. Making a stateful button to cover both would imply checking and unchecking in a row to have the trigger only behaviour. This may not be acceptable for many users.
Cutted text - by Shalmeneser
https://forum.freecadweb.org/viewtopic. ... 26#p540026
Please, check that this is a previous version of the UI.
Multiple filter selection APPLY to modify without leaving - by Shalmeneser
A third button or updating on checkbox check should be possible. Never thought about it. Anybody against?
Another dialog layout - by adrianinsaval
This dialog:
This dialog does not meet several requirements (assuming that with AutoView the tracking is intended). See the first post.
In addition, it also restitutes options that are not commonly used and for which there is not a reason to have them there (thus why they were removed to a separate dialog).
Now please, your feedback.
This post is about showing what has been proposed already and explaining the problems I see with the solutions and the requirements. This should help identify if we drop requirements to adopt other solutions or not.
Use a tree for filters - by user jonasb
show hierarchy - by Shalmeneser
Originally in:
https://forum.freecadweb.org/viewtopic. ... 60#p537760
I think a tree has many advantages if there are not overlapping hierarchies. It provides natural separators. One can remove the two buttons below that list. It is convenient if it is fixed to always be full deployed.
The only problem with this solution, is that we have overlapping hierarchies. Currently at least the "Named" and the "Reference" filters. In the future we might decided to introduce a new filter which groups elements introducing a new overlapping category.
It is in this ability and flexibility that the list is superior to the tree.
The size of the multifilter widget - by uwestoehr
It is acknowledged that the size is too big for small monitors. For the solution it is necessary feedback as said above.
Several problems with the UI - by OpenBrain
Is this post: https://forum.freecadweb.org/viewtopic. ... 93#p539993
This one I will quote it and reply below:
The constraint widget has two functionalities: 1) Showing the list of constraints and 2) Handling 3D visibility.Regarding new feature, I think it's a good feature but doesn't like much the implementation.
I'd prefer that there is a checkbox in front of "Filter" to enable/disable filtering, disabled by default, all associated settings hidden.
The filter has always affected the list of constraints (as opposed to the visibility). If you want to "disable" the filter you can select "All", which is the same as not filtering. The main problem with a checkbox is that it would be redundant.
If you refer to the checkbox being for handling "3D visibility", there are several problems:
1) Do you want the "Restrict visibility" behaviour or the "hide all"/"show all" behaviour? Explaining what is meant would require, I think, quite a substantial amount of horizontal widget space.
2) In the case of the "Restrict visibility" behaviour, do you want a single shot action, or do you want a continued tracking of the filter?
3) In the case of the "hide all"/"show all" behaviour, a checkbox has state, what should happen upon changing filter? upon manually checking or unchecking individual constraints?
It is unclear if you mean 3D visibility settings or general settings. There are two groups of settings in the constraint widget dialog.* When you enable filtering by checking the box : associated settings become visible. Settings previously used in the same sketch editing session are preserved (they are lost as soon as sketch editing mode is exited).
* When you disable filtering by unchecking the box, everything is back visible as it was before enabling filtering.
To my knowledge, the last selected option is maintained, as it is stored as a parameter for the current checkboxes. I am unsure if I am missing something. There might be a bug.
Visibility implies modifying the constraint, in that the virtual space in which the constraint is visible is a member of the constraint.
I am not sure what you are proposing.
As for information in two places, I think this is a feature, as it allows to have all the settings in one place and accessing the ones that need to be at hand alternatively from an "at hand" location. All in the drop down would not be clear, because only the visibility settings relate to the button. Not all the visibility settings may need to be in the button. The drop down button does not allow for clear grouping. I would tend to leave this drop list as shorter as possible to avoid confusion while having the convenience of being at hand. This was a user request too.I don't like the "Show only filtered" to be present at 2 places ("Settings" + "Restrict visibility").
I realise that space consumption is a general concern of several users. If possible, please, separate functionality from the space problem. The class of solutions for solving the problem are very different.Also to me it consumes a lot of space, and also so strongly impact behavior that it shall be immediately visible.
This button does not actually consume much space, as it is the first line with the Label, Combobox, Button for multifilter and Button for settings which define line length. The button is "large" because it is expanding. I found it better aesthetics to have the other two buttons in the same line as minimum and the visibility one expanding.
I have not found a better option to have separate trigger and state behaviours.
By doing so, you would:So I would implement it just as a toggle button with a symbol (for example an eye and a list) placed near left the "Settings" button. As it is a toggle button, user immediately sees if it's active or not.
"Select multiple" should IMO be enabled only if "Multiple" is selected as a filter.
1. Increase further the dialog in width.
2. Remove the trigger functionality. Previous feedback wanted to have the option as a one time click and then have full control again, or a mode. Making a stateful button to cover both would imply checking and unchecking in a row to have the trigger only behaviour. This may not be acceptable for many users.
Cutted text - by Shalmeneser
https://forum.freecadweb.org/viewtopic. ... 26#p540026
Please, check that this is a previous version of the UI.
Multiple filter selection APPLY to modify without leaving - by Shalmeneser
A third button or updating on checkbox check should be possible. Never thought about it. Anybody against?
Another dialog layout - by adrianinsaval
This dialog:
This dialog does not meet several requirements (assuming that with AutoView the tracking is intended). See the first post.
In addition, it also restitutes options that are not commonly used and for which there is not a reason to have them there (thus why they were removed to a separate dialog).
Now please, your feedback.
Last edited by abdullah on Fri Oct 15, 2021 2:12 pm, edited 1 time in total.
Reason: Remove rests from drafting.
Reason: Remove rests from drafting.
Re: [DISCUSSION] Constraint's Widget - Open topics
OK, these 3 posts are a piece of bravour. I read them already once. Will need to read again. Expect my feedback in the coming days.
Re: [DISCUSSION] Constraint's Widget - Open topics
Others may correct me, but I think that the very vast majority of sketcher edits uses hardly any filter. In order not to burden them, point 2) seems to be important so that the cost of a few more clicks for other requirements seems appropriateabdullah wrote: ↑Fri Oct 15, 2021 1:07 pm Requirements for the solution should be:
1) that it allows a faster and more comfortable/ergonomic showing and hiding of groups of constraints in the 3D view.
Additional requirements
Over the discussion the following additional requirements were identified:
2) that the UI controls take the shortest vertical space in the widget, so that the actual list shown in the widget can be longer, as searching constraints was cumbersome.
3) that the filter allowed for a finer grade control, allowing to select individual types of constraints.
4) that the filter could be defined by the aggregation of multiple filters.
5) that not only the constraints matching the filter selection are shown and hidden, but in addition it is possible to make all constraints matching the filter show while making all constraints not in the filter hide.
6) That, in a mode, the operation of (5) is automatically executed when a new filter is selected (filter change), while it is not automatic in another mode.
7) That the mechanism to activate the automatic mode of (6) is "handy" without requiring to go to separate dialogs.
8) That a filter shows the selected constraints
9) That a filter shows the constraints associated to selected geometry element(s).
So I would go for a checkbox "use filter" and a button "configure filter ..." which opens the configure dialog.
This would take care of 2) where not only no additional space should be consumed, but some is even saved.
3) and 4) would be met by a multiselect as it is implemented now.
5) The configure dialog could have a button "invert selection" which replaces the "hide" option. It would make a clear concept if only selected constraints are shown.
6) This seems useful for newly added constraints, which should always be shown.
Another checkbox in the configure dialog "Always show newly added constraints" could do it.
7) What's the use case? It is that after adding some constraints you want them to be filtered. With my proposal it would be unchecking the "use filter" checkbox in the main window and then checking it again. This would be nearly as fast as a single click.
Another option would be a "Reload" or "Recompute" icon. It would still fit in the single line.
8), 9) Not sure about these, it could be implemented by special list entries or by a button. As these are sort of "on-time-filter-now" things they could set the checkbox from 6).
If you want me to make a mockup, I would go for it, but it would take a while for me to learn a few steps Qt Designer.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: [DISCUSSION] Constraint's Widget - Open topics
I'm sure the community doesn't need an actual UI file at this stage, just use your favourite image editor and some cut & pasting to give the rough idea.
Purely from a personal point of view in the four years I've used FreeCAD I can't ever remember thinking 'I really need to hide this type of constraint', so for me less is more, keep it simple please.
Re: [DISCUSSION] Constraint's Widget - Open topics
For me there are two phases: 1) Requirements 2) Solutions/Implementations
If we are changing the requirements, we need to find a consensus of which requirements stay and which are dropped. Then we can think of the UI.
I want to stress that the current solution in master meets all those requirements.
Until now, the filter was a mere convenience to find the right constraint in a long list (and was still not very useful when the resulting list was still long). This may have changed now.
This morning I was doing some sketching. I wanted to remove the right coincidence constraint where there were several overlapping. I enabled the "Associated Constraints filter", with the auto tracking "Show only filtered constraints" (I keep this always on), and clicked on one edge. The list would show me only the coincidents affecting this edge. This was a quick way to find it.
Allow me to summarise what I understand from your proposal (correct me if I am wrong):
1. Removing the second row of controls (So only one row would remain)
2. Have the settings button display a separate dialog with all the settings and the multi-filter configuration (not sure if also with the current buttons "show Listed" and "Hide Listed").
4. Add a check box to the first row of controls to activate/deactivate a functionality of the visibility filter (the functionality being defined by the settings dialog).
This would result in dropping at least requirements (1) and (7), unclear what exactly would happen with (5)-(6) which could be in the separate dialog.
Note: This solution will not save horizontal space, only vertical space.
This would remove the functionality Uwe coded in his original PR in full (unless the buttons are in the settings dialog, which is not handy, and probably misleading).
Not sure if "invert" is the "Restrict Visibility" trigger button, or if you mean by "invert selection" "hide was is in the scope of the filter and do nothing to the rest".
That is possible, but I do not think it is good UI to double click a checkbox to get execute once an action.chrisb wrote: ↑Sat Oct 16, 2021 9:01 am 7) What's the use case? It is that after adding some constraints you want them to be filtered. With my proposal it would be unchecking the "use filter" checkbox in the main window and then checking it again. This would be nearly as fast as a single click.
Another option would be a "Reload" or "Recompute" icon. It would still fit in the single line.
Anything can fit in a sufficiently long single row...Your row is getting wider and wider
Do not be fooled by the length of the "Restrict Visibility" button. This is big because the first row defines the width of the dialog. It can be substituted by a same button with drop and with an icon and be much smaller. Yet if put on the current first row, it will only make it wider.
No, they are not. The filter gets executed on every selection change. Please check it.
Grab that new master and use the "Associated Constraint Filter" from the Filter combobox with or without the option "Show only filtered constraints" (your choice). This is quite a cool inspection tool in my opinion.
These are implemented and do not take space at all.
Almost No one of us has probably have that thought. The tool was not there either.
Parts of the current implementation cover a niche usage. Others might be more practical than it initially meets the eye.
I won't change the current implementation for a couple of weeks to enable everybody to have reasonable time to check it and find what is useful and what is not. Please try to see what is useful for you (if any part of it).
- Shalmeneser
- Veteran
- Posts: 9593
- Joined: Wed Dec 23, 2020 12:04 am
- Location: Fr
Re: [DISCUSSION] Constraint's Widget - Open topics
* If you are looking for a sketch to try hide/show : https://forum.freecadweb.org/viewtopic. ... 67#p540401
* I need an [APPLY] button in Multiple Filter Selection to modify instantly the selection.
Or better the view change automatically with the selection.
* In Simple Filter Selection, would it be possible to just show existing constraints ?
* I need an [APPLY] button in Multiple Filter Selection to modify instantly the selection.
Or better the view change automatically with the selection.
* In Simple Filter Selection, would it be possible to just show existing constraints ?
- adrianinsaval
- Veteran
- Posts: 5553
- Joined: Thu Apr 05, 2018 5:15 pm
Re: [DISCUSSION] Constraint's Widget - Open topics
IMO it's easily done using multiple filters, I can't think of anything those buttons can do that the multi filter can't.abdullah wrote: ↑ As far as I have understood, the usage case is to hide a whole selected filter with "hide listed" button, then selectively show one or two or several, then activate all in the filter again with the button "show listed". All this while showing in the 3D view all other constraints. This cannot be done with the "tracking option", which would hide all the other constraints.
Also, IMO the tracking option should be on by default.
I don't think it's necessary to have the tracking checkbox in the settings widget if it's already in the dropdownFor this reason, visibility shortcuts are provided as checkable items in the drop down of "Restrict Visibility". This dual solution allows selected options to be handy without cluttering the view, while still having all the relevant information in a single point (settings). This implements (7).
what if we remove the hide internal alignment option and add a new filter All - except internal alignment that will be the default instead of AllISSUE 3 - Hide internal alignment option
how about modifying it live while checking the box? that is, it will apply every time you check a box so you won't need a button not even an ok button.Multiple filter selection APPLY to modify without leaving - by Shalmeneser
A third button or updating on checkbox check should be possible. Never thought about it. Anybody against?
Re: [DISCUSSION] Constraint's Widget - Open topics
I noticed in today's git that I could only see one element in the element display, scrolling one at a time, and the elements box wouldn't expand any further.
Didn't have time to pursue more.
Didn't have time to pursue more.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."