Re: drop-down menus; range specifications

I use dimension labels a lot. There are a few changes that would make dimension labels even more useful:

1. In GUI drop down menus where an index can be specified by its subrange, allow keyboard entry so that scrolling is not the only way to find the label of interest. Right now, I often would have to scroll through hundreds of labels to find the right one -- see the attached example, where scrolling and searching could take many minutes. Instead, I can pick a dummy one and then change to the correct label on the command line, but that is inconvenient.

I would prefer that these drop-down menus work like the drop-down menu listing functions in pxps -- it is much easier to navigate to a function name of interest there. A filter field (like in the Procedure Browser Window) would also be really nice. Another alternative might be text completion for the field where the subrange or label name is entered.

2. Allow dimension labels in duplicate commands, so that syntax is analogous to display, appendtograph etc.:

duplicate/o/r=[][finddimlabel(mainWave,1,"avg")] mainWave,avgWave //current syntax
duplicate/o/r=[][%avg] mainWave,avgWave //desired syntax

display/k=1 mainWave[][%avg] //already allowed syntax


3. Allow subrange specifications for Modifygraph textMarker. Wave subranges are allowed for many graph-related functions (e.g., marker size, marker number), but textMarker appears to be a notable exception. Many times, I'd like to keep data and the marker text that I want to use in the same wave. Instead, I have to create a separate 1-column wave for the marker text. Note that this is not the case for marker size, marker number, etc. 

ModifyGraph textMarker(targetTrace)={markers,"default",0,0,5,0.00,0.00} //currently markers must be a separate 1-column wave
//desired usage:
ModifyGraph textMarker(targetTrace)={targetTrace[][%markerText],"default",0,0,5,0.00,0.00} //assuming targetTrace displays a wave named targetTrace and and the type is appropriately text or numeric

//already allowed:
ModifyGraph zmrkNum(targetTrace)={targetTrace[][%zMarkerNumbers]} //assuming targetTrace displays a wave named targetTrace


4. I think it would be nice if the following was allowed syntax. It would make duplicate more analogous to many other commands

duplicate mainWave[][%avg],avgWave
//or at least:
duplicate mainWave[][5],avgWave


Example of a drop-down menu where keyboard navigation would be helpful; scrolling through hundreds of labels is is time-consuming

Some comments:

1. Yes that would indeed be good. Something like "find as you type" as ListBox already supports.

2. +1 Definitly desirable. And also for ranges a la `[%min, %max]`.

4. I think this calls for a general solution. Always allow passing in a continous wave range instead of a wave reference. The XOP Manual already allows "Wave Range Parameters" (so something like `MyDuplicate source[1, 3], dest` could be implemented in a user XOP`) but that is limited to 1D waves.