The logic is supposed to be:
"display x" hides all atoms except x.
"hide x" displays all atoms except x.
To this we add:
display xxx # display ONLY x
hide not xxx # same thing!
display not xxx # display everything but x
hide xxx # same thing!
display hidden # toggle shown for unshown
hide displayed # same thing!
display displayed and not xxx # remove xxx from the display --- what
you want here
hide hidden or xxx # same thing!
display displayed or xxx # add x to the display --- also what you want
hide hidden and not xxx # add x to the display
So just don't use "hide" if it confuses you. It is never necessary.
Thinking in terms of what is displayed gets you anything you want. The
key for this situation is to use "displayed" as part of that checkbox item.
[x] file 1: [x]"display displayed or file=1" [ ] "display displayed
and not file=1"
[x] file 2 : [x]"display displayed or file=2" [ ] "display displayed
and not file=2"
[x] file 3 : [x]"display displayed or file=3" [ ] "display displayed
and not file=3"