Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!decwrl!parc!frango!vanmelle From: vanMelle@Xerox.com (Bill van Melle) Newsgroups: comp.windows.open-look Subject: List notification occurs on mouse DOWN! Message-ID: Date: 7 Jun 91 01:15:40 GMT Sender: news@parc.xerox.com Reply-To: vanMelle@Xerox.com Organization: Xerox Palo Alto Research Center Lines: 30 Using XView 2.0 toolkit on a Sparc under OLWM... Most user interface objects I can think of, at least in well-functioning GUI's, treat the mouse as follows: on button down, feedback about its effect is given; on mouse up, the action occurs, and ideally the user can avoid the action by releasing the button outside of the object. When it comes to XView Panels, the Button and Choice items work in this expected way. However, selection notification in a Scrolling List occurs on mouse DOWN. Thus, if I press down the mouse button inside a scrolling list and wipe up and down the list, my notify proc gets called several times, and I never have the opportunity to retract my decision. This behavior strikes me as a bug. Does anyone know why it was implemented this way? I might theorize that it was a lazy way out of dealing with multiple selection in a non-exclusive choice list, but that's not very satisfying. In any event, while I can grudgingly live with this buggy user interface behavior, it leads to another problem. In my list notify proc, I sometimes want to put up a Notice to get confirmation of the user's action. Unfortunately, when my notify proc is entered, the mouse button is still down. I put up the notice, the cursor warps to the default choice, the user lets up on the button, thinking that she has just selected an item, and this mouse up selects the default choice! From the user's point of view (if the mouse click was fast), there was a sudden flurry of display activity, and no opportunity for confirmation. My workaround for this charming behavior is to put up a Notice with no default choice, but that's really not the way things ought to work. Has anyone else dealt with this problem?