Hi all,
(I'm not 100% sure whether this is the right forum for this - feel free to move the post / point me in the right direction as required)
We're providing a JMP addin for several dozen users. This addin shows a couple of dialogs and has been working without any problems
for several years now (we started developing with JMP 14, and upgrades to 15 / 16 didn't pose any problems).
With JMP 17 however, two of our users are having a strange problem. The addin is working per se, but in dialogs that contain
list boxes, they cannot select any items - it seems that the list box doesn't respond to any events (neither mouse clicks
nor keyboard-based navigation).
Here's a stripped-down version that exhibits the problem (it shows two dialogs - one with a single list box, one with two and a couple of buttons. Neither of them work).
showSelectDialog = function({process_col}, {Default Local},
parameter_list = List ("Param1", "Param2", "Param3");
nw = New Window("Select Parameters",
<<modal,
Panel Box("Parameter Selection",
text box("Available parameters", <<set font style( "Bold" )),
text box("The parameters that have data available for the selected processes and samples.", << set width(600)),
text box("Selected parameters", <<set font style( "Bold" )),
text box("Parameters to be loaded into the DOE file. Preselected are all project specific parameters found in the available parameter list.", << set width(600)),
),
text box(" "),
H List Box(
V List Box(
text Box("Available parameters:", << set font style( "Bold" ) ),
paramlist = List Box(parameter_list, width(250), nlines(20))
),
V List Box(
text Box(" "),
Lineup Box(NCol(1), Spacing(10),
Button Box("Add >>", select_script),
Button Box("<< Remove", remove_script)
)
),
V List Box(
text Box("Selected parameters:", << set font style( "Bold" ) ),
select_list = List Box (selected_param_list, width(250), nlines(20));
)
),
hlistbox(
ok_button = button box("OK",
selected_param_list = select_list << Get Items;
),
cancel_button = button box("Cancel")
),
// Script to add parameters from paramlist to the select_list, [DOE-379] remove from paramlist
select_script = Expr(
toappend = paramlist << Get Selected;
for(i=1, i<= Nitems(toappend), i++,
if(!Contains(select_list << Get Items, toappend[i]),
select_list << Append(toappend[i]);
)
);
paramlist << remove selected;
);
// Script to remove parameters from the select_list, [DOE-379] add to paramlist
remove_script = Expr(
toremove = select_list << Get Selected;
for(i=1, i<= Nitems(toremove), i++,
if(!Contains(paramlist << Get Items, toremove[i]),
paramlist << Append(toremove[i]);
)
);
//[DOE-379] sort alphabetically
select_list << remove selected;
param_list = paramlist << Get Items;
param_list = Sort List (param_list);
paramlist << Set Items(param_list);
);
);
if(nw["Button"] != 1,
dialog_ok = 0,
dialog_ok = 1
);
return(Eval List({selected_param_list, dialog_ok}));
);
showSimpleDialog = function({process_col}, {Default Local},
parameter_list = List ("Param1", "Param2", "Param3");
nw = New Window("Select Parameters",
<<modal,
Panel Box("Parameter Selection",
text box("Available parameters", <<set font style( "Bold" )),
),
text box(" "),
H List Box(
V List Box(
text Box("Available parameters:", << set font style( "Bold" ) ),
paramlist = List Box(parameter_list, width(250), nlines(20))
)
)
);
if(nw["Button"] != 1,
dialog_ok = 0,
dialog_ok = 1
);
return(Eval List({dialog_ok}));
);
//===============DATA LOADING & PREPARATION==============
// Get parameters to be loaded
{dialog_ok} = showSimpleDialog("XYZ");
{selected_param_list, dialog_ok} = showSelectDialog("XYZ");
Here's a video showing the dysfunctional dialogs:
JMP Version: 17.0.0 (622753)
OS version: Windows 11
Any pointers / suggestions highly appreciated.
Kind regards
Frank