uwestoehr wrote: ↑Mon Sep 27, 2021 12:53 am
abdullah wrote: ↑Sat Sep 25, 2021 6:23 pm
Note: Filter tracking means:
1. Upon checking the checkbox, adapt to the filter selection.
2. On every filter selection, perform automation to show just what is selected in the filter (i.e. to track the filter selection).
3. Between filter selections, obey the manual commands send via the buttons.
And here I see the problem. You automatize only one side. As user I want the full control - deciding what and how. So either I first select an object and then perform the action (hiding or showing) or I first define the action and then the object. The UI as it is, is to select first the object and then the action. This concept should be consistently used.
The tracking only shows the filtered objects, but never the other way round - everything than the filtered objects. Personally the latter is why I once made the PR. Sketches contain quickly too many objects and I need to hide some to keep the overview or to be able to discuss things.
So when tracking, then please both ways. Thus I opt to be able to select which tracking type is used, see my summary below.
If you want full control, then you do not want to use the "track option".
Tracking only shows the filtered objects, because it is tracking the selection to make the selection and nothing else visible. IMO it is having the intended behaviour.
I am no longer sure of what your PR did (I will have to compile it again). I think your PR allowed to hide/show the filtered objects. If this is accurate, your PR did not allow to operate the visibility of the non-filtered constraints (the constraints not in the list). If that is accurate, then forget the "track option" and use the "show"/"hide" buttons, that correspond to the functionality of your PR.
What you call "two side automatisation", is not tracking the filtered list. As far as I understood, you want to have a different behaviour for the buttons in this mode. This is what you inaccurately complain about in the next paragraph.
You may still get what you want if you enable "tracking" and select the complementary of the group you want to hide (selecting "Geometric" when wanting to see everything but datums). However, nobody is forcing you to.
uwestoehr wrote: ↑Mon Sep 27, 2021 12:53 am
abdullah wrote: ↑Sat Sep 25, 2021 6:23 pm
4. Oh! We are Tracking, but the guy just told us to override the tracking by hiding all listed
Oh, FC is not following my will. I pressed the button to hide something, but I don't get what I want
I don't think that pressing the button should overwrite anything. A click of a button is the users will, so he wants the particular action the button promises. As I once learned, it is "bad UI" that the same button behaves differently when there is no prior visible feedback "Hey user, note, when you press the button now, it will behave other than with out the option". And over the years my experience it that this indeed confuses users a lot. (Of course this statement does not apply to the standard OK buttons of dialogs.) So at least the button text must change to indicate this.
However, I don't think this is necessary. The Hide button should always hide all constraints in the list, see below my summary.
Totally following your will. It is the same behaviour that outside the "tracking mode". You could not have expected any other behaviour. You told the thing to hide everything filtered and it complied (Datum were filtered, Datum were hidden). The same would had happen outside the tracking mode.
uwestoehr wrote: ↑Mon Sep 27, 2021 12:53 am
----------
A general UI remark: In FC we have 2 types of options:
- either an option performs an immediate action (e.g. the pad reverse option in PD)
- or a settings option
The tracker option however differs from this since it either have an immediate effect or not. This confused me a lot and I think we should avoid such a behavior.
----------
A "Show listed" / "Hide listed" is a good example of an action that does not require any selection per se.
Honestly I do not get this at all. Before the PR was merged, the constraint widget had two checkboxes ("Hide internal alignment" and "Extended Information"). Both of them generate the list to be refreshed on checking them (and it appears that this is what the user wants). Both of them set a state for future refreshes (how to act).
I think you are mixing the 3D view behaviour with the functionality inside the widgets. But most importantly, I do not understand why you are unhappy that the mode is immediately enforced, when you complained about it not being immediately enforced some posts ago (when I forgot to actually code this enforcing).
uwestoehr wrote: ↑Mon Sep 27, 2021 12:53 am
Summary of what I would change:
1. name the buttons "Hide listed constraints" and "Show listed constraints"
2. the buttons will in every case act the same - showing/hiding the listed constraints
3. the tracking option becomes a setting option, so it will not perform an immediate action when it is turned on
4. there will be a radio group to either turn on the option to track so that everything is hidden except of the filtered objects, or to track the opposite way, that only the filtered object is hidden
1. I will go with "Show listed" / "Hide listed"
2. This is what they do now.
3. I won't change this, as I think it is the correct behaviour.
4. I think this is not reasonable. Too many controls will only confuse the user. If you want to hide instead of showing, do not use the "tracking mode", just select in the filter what you do not want to see, and hit "hide listed". AFAIU, this corresponds to the functionality you wanted to provide in your PR.