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
MathStatChem
Level VI

Refresh Col List Box

See the script below.  This is intended to be used in a dialog window. 

 

What this script does is set the Col List Box() min items to be either 0 or 1.  When doing this, the watermark inside the column list box should change from optional to required.  It will do this, but only after I move the mouse over the column list box (see screen video).

 

Is there a way to make that refresh/update without having to move the mouse cursor over the Col List Box?  

 

 

Names Default To Here( 1 );

dlg = New Window( "Col List Box Min Item Refresh Issue",
	H List Box(
		Panel Box( "Select Columns", clb1 = Col List Box( all, max selected( 1 ) ) ),
		Panel Box( "Cast Column",
			V List Box(
				H List Box(
					Button Box( "Choose Column", clbvar << append( clb1 << get selected ) ),
					clbvar = Col List Box( maxitems( 1 ), nlines( 1 ) )
				),
				cb = Check Box(
					"required",
					If( cb << get,
						clbvar << set min items( 1 ),
						clbvar << set min items( 0 )
					)
				)
			)
		),
		V List Box(
			Button Box( "Ok",
				Print( clbvar << get items );
				dlg << close window;
			),
			Button Box( "Remove", clbvar << remove selected ),
			Button Box( "Cancel", dlg << close window )
		)
		
	)
);
1 ACCEPTED SOLUTION

Accepted Solutions
mmarchandFSLR
Level IV

Re: Refresh Col List Box

Add a << Reshow message to your Check Box script.

 

Names Default To Here( 1 );

dlg = New Window( "Col List Box Min Item Refresh Issue",
	H List Box(
		Panel Box( "Select Columns", clb1 = Col List Box( all, max selected( 1 ) ) ),
		Panel Box( "Cast Column",
			V List Box(
				H List Box(
					Button Box( "Choose Column", clbvar << append( clb1 << get selected ) ),
					clbvar = Col List Box( maxitems( 1 ), nlines( 1 ) )
				),
				cb = Check Box(
					"required",
					If( cb << get,
						clbvar << set min items( 1 ),
						clbvar << set min items( 0 )
					);
//Update the Col List Box
					clbvar << Reshow;
				)
			)
		),
		V List Box(
			Button Box( "Ok",
				Print( clbvar << get items );
				dlg << close window;
			),
			Button Box( "Remove", clbvar << remove selected ),
			Button Box( "Cancel", dlg << close window )
		)
		
	)
);

View solution in original post

1 REPLY 1
mmarchandFSLR
Level IV

Re: Refresh Col List Box

Add a << Reshow message to your Check Box script.

 

Names Default To Here( 1 );

dlg = New Window( "Col List Box Min Item Refresh Issue",
	H List Box(
		Panel Box( "Select Columns", clb1 = Col List Box( all, max selected( 1 ) ) ),
		Panel Box( "Cast Column",
			V List Box(
				H List Box(
					Button Box( "Choose Column", clbvar << append( clb1 << get selected ) ),
					clbvar = Col List Box( maxitems( 1 ), nlines( 1 ) )
				),
				cb = Check Box(
					"required",
					If( cb << get,
						clbvar << set min items( 1 ),
						clbvar << set min items( 0 )
					);
//Update the Col List Box
					clbvar << Reshow;
				)
			)
		),
		V List Box(
			Button Box( "Ok",
				Print( clbvar << get items );
				dlg << close window;
			),
			Button Box( "Remove", clbvar << remove selected ),
			Button Box( "Cancel", dlg << close window )
		)
		
	)
);