01-12-2011 01:55 PM
This is just a rant, nothing much to be done about it, I suppose.
I've always favored Mac UI principles over Windows, since they were articulated better.
Unfortunately, LabVIEW, even on OS X, has adopted Windows principles, even where they clearly don't make sense.
CASE 1: Windows Shift- click REMOVES things from selection. In Explorer (Finder), create a list of 5 folders: A, B, C, D, E.
Click on A: selection is [ A ]
Ctrl-click (command-click) on E: selection is [ A E ]
Shift-click on C
OS X: selection is [ A C D E ]
Windows: selection is [ C D E ] {why remove the "A" ? Do you really think that's the intent?}
CASE 2: Same test, except use a LabVIEW LIST BOX with A, B, C, D, E
Click on A: selection is [ A ]
Ctrl-click (command-click) on E: selection is [ A E ]
Shift-click on C
LV OS X: selection is [ A B C ] removes E for some reason.
LV Win , same as explorer. selection = [ C D E] (removes the A for some reason).
CASE 3: In Explorer (Finder), create a list of 5 folders: A, B, C, D, E.
Click on A: selection is [ A ]
Ctrl-click (command-click) on E: selection is [ A E ]
Ctrl-click (command-click) on E: selection is [ A ]
Shift-click on C
OS X: selection is [A B C]
Windows: selection is [ C D E ] ???
OK, just when you thought LV was adopting Windows all the way, there's this:
CASE 4: same test, except use a LabVIEW LIST BOX with A, B, C, D, E
Click on A: selection is [ A ]
Ctrl-click (command-click) on E: selection is [ A E ]
Ctrl-click (command-click) on E: selection is [ A ]
Shift-click on C
OS X: selection is [A B C]
Windows: selection is [ C D E ]
Since I'm trying to match behavior between a LISTBOX (built-in behavior) and a TABLE (I create the behavior) this makes it difficult.
< rant = OFF >
Blog for (mostly LabVIEW) programmers: Tips And Tricks
01-12-2011 02:04 PM
Shift click in windows doesn't actually remove items from a list. It is more like adding items to a list from the first click to the 2nd click. If you already having something else selected that is not in that range, the it does remove the item.
What you want to do is a ctrl-shift-click. Ctrl is the modifier to actually add to your selected items. Shift is the modifier to select a range of items from first click to 2nd click. Doing both in combination keeps your original list while adding to it with the "range" of the new items you are adding.
Now how well LabVIEW adopts the Windows principles, I can't say.