cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
frankschmitt
Level I

JSL: Listbox items are not clickable for some users in JMP 17

 

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

 

1 ACCEPTED SOLUTION

Accepted Solutions
frankschmitt
Level I

Re: JSL: Listbox items are not clickable for some users in JMP 17

Disabling hardware accelerated graphics (as suggested by JMP support) fixed the problem (at least for one of our users, the second one is currently on vacation). 

 

Here are the instructions I received from JMP support:

 

Please let the user run the JMP Install Checker and then e-mail us the result to this case. This report give us more information about the specific JMP installation.
   -  Within JMP, navigate to Help ? About JMP and click Install Checker.
   -  After the report is displayed, choose Open in Browser.
   -  Choose File ? Save As.
   -  Save it to your desktop as a HTML file.

Also please let the user navigate to File > Preferences > Windows Specific > Enable hardware accelerated graphics. Unselect/unhide this preferences and then click Apply and restart JMP and test again.

 

Update The suggested workaround also works for the second affected user.

 

View solution in original post

2 REPLIES 2
jthi
Super User

Re: JSL: Listbox items are not clickable for some users in JMP 17

You could contact JMP support. They will most likely ask Install Checker files and some extra information. Also if you get a solution, please post it back here.

-Jarmo
frankschmitt
Level I

Re: JSL: Listbox items are not clickable for some users in JMP 17

Disabling hardware accelerated graphics (as suggested by JMP support) fixed the problem (at least for one of our users, the second one is currently on vacation). 

 

Here are the instructions I received from JMP support:

 

Please let the user run the JMP Install Checker and then e-mail us the result to this case. This report give us more information about the specific JMP installation.
   -  Within JMP, navigate to Help ? About JMP and click Install Checker.
   -  After the report is displayed, choose Open in Browser.
   -  Choose File ? Save As.
   -  Save it to your desktop as a HTML file.

Also please let the user navigate to File > Preferences > Windows Specific > Enable hardware accelerated graphics. Unselect/unhide this preferences and then click Apply and restart JMP and test again.

 

Update The suggested workaround also works for the second affected user.