@@ -75,7 +75,7 @@ Function createPanel()
7575 ListBox $ listCtrl, win=$ panel, proc=$ ( module + "#ListBoxProc" )
7676 ListBox $ listCtrl, win=$ panel, mode=5, selCol=1, widths= { 4,40 } , keySelectCol=1
7777 ListBox $ listCtrl, win=$ panel, listWave= getDeclWave ()
78- ListBox $ listCtrl, win=$ panel, selRow= prefs. panelElement, row= prefs. panelElement
78+ ListBox $ listCtrl, win=$ panel, selRow= prefs. panelElement, row= prefs. panelTopElement
7979
8080 ListBox $ listCtrl, userdata ( ResizeControlsInfo) = A"!!,?X!!#@\" !!#BNJ,hopz!!#](Aon\" Qzzzzzzzzzzzzzz!!#o2B4uAezz"
8181 ListBox $ listCtrl, userdata ( ResizeControlsInfo) += A"zzzzzzzzzzzz!!#N3Bk1ct<C]S6zzzzzzzzzz"
@@ -270,29 +270,33 @@ End
270270// module: return selected NameSpace
271271// procedure: return selected procedure
272272// index: return selected index in listbox
273- Function getCurrentItemAsNumeric ( [ module, procedure, index] )
274- variable module, procedure, index
273+ Function getCurrentItemAsNumeric ( [ module, procedure, index, indexTop ] )
274+ variable module, procedure, index, indexTop
275275
276276 string procName
277277
278278 module = ParamIsDefault ( module) ? 0 : 1
279279 procedure = ParamIsDefault ( procedure) ? 0 : 1
280280 index = ParamIsDefault ( index) ? 0 : 1
281+ indexTop = ParamIsDefault ( indexTop) ? 0 : 1
281282
282283 // only one optional argument allowed
283- if ( module + procedure + index != 1 )
284+ if ( module + procedure + index + indexTop != 1 )
284285 return -1 // error
285286 endif
286287
287288 if ( module)
288289 ControlInfo / W=$ panel $ moduleCtrl
289290 elseif ( procedure)
290291 ControlInfo / W=$ panel $ procCtrl
291- elseif ( index)
292+ elseif ( index || indexTop )
292293 ControlInfo / W=$ panel $ listCtrl
293294 endif
294295
295296 if ( V_Value >= 0 )
297+ if ( indexTop)
298+ return V_startRow
299+ endif
296300 return V_Value
297301 endif
298302
0 commit comments