Post by chriscrawford on Mar 20, 2017 15:10:42 GMT -8
I've been stumped by a nasty user interface problem with the Encounter Editor, which I began working on exactly two weeks ago. Here is what I've got so far:
(I assume that the image above is shown at full size, but just in case it doesn't, here it is again:)
The problem arises from the two boxes near the center of the window, labeled "Prerequisites" and "Disqualifiers". These would normally be empty. The user would occasionally -- not often-- wish to add one of the entries in the list on the far left (labeled "Encounters") to one of the two middle boxes.
The usual solution to this problem is to have a pop-up menu. You click on the button, the pop-up menu appears, and you select from the list of encounters. That won't work here, because we could well end up with several hundred encounters, and a menu that long is unusable. No, the only component we can use here is a scrollable list such as the one on the left.
So why no simply use that list to make a selection? That list already has a use: when you click on an item in that list, you select the encounter on which you clicked for editing. That would navigate you away from the encounter you were trying to edit.
There is one possible solution: use the right button to click on the list. That would NOT be interpreted as a standard list selection. I could then have my own mouse-click handling code to deal with it. However, there are a number of tricky programming issues with that, issues that might make this idea untenable.
The other possibility is that we bring up a window dedicated to the selection process. When you click on the button, the window pops up and you use it to select the encounter you want to include. This would require the use of an "application-modal dialog box". I'll go research that now.
(I assume that the image above is shown at full size, but just in case it doesn't, here it is again:)
The problem arises from the two boxes near the center of the window, labeled "Prerequisites" and "Disqualifiers". These would normally be empty. The user would occasionally -- not often-- wish to add one of the entries in the list on the far left (labeled "Encounters") to one of the two middle boxes.
The usual solution to this problem is to have a pop-up menu. You click on the button, the pop-up menu appears, and you select from the list of encounters. That won't work here, because we could well end up with several hundred encounters, and a menu that long is unusable. No, the only component we can use here is a scrollable list such as the one on the left.
So why no simply use that list to make a selection? That list already has a use: when you click on an item in that list, you select the encounter on which you clicked for editing. That would navigate you away from the encounter you were trying to edit.
There is one possible solution: use the right button to click on the list. That would NOT be interpreted as a standard list selection. I could then have my own mouse-click handling code to deal with it. However, there are a number of tricky programming issues with that, issues that might make this idea untenable.
The other possibility is that we bring up a window dedicated to the selection process. When you click on the button, the window pops up and you use it to select the encounter you want to include. This would require the use of an "application-modal dialog box". I'll go research that now.