How to call a function or process when checkbox is checkedI have a Panel Box with multiple checkboxes in it. I want to be able to add additional checkboxes to the panel when one checkbox is selected. For instance when I check CbBox2, I want the entire HLBox1 to be added to the window. Is this possible in JSL? See code below:
HLBox1 = H List Box(
spacer Box(Size(20,20)),
CbBox3 = Check Box( "Additional Option Only to Appear if CbBox2 is selected." );
CbBox3 << Set(0)
);
GUIWindow1 = New Window("Preset Selections",
PanelBox("Single option1, option 2, or Both",
CbBox1 = Check Box( "Box 1 Option" ),
CbBox2 = Check Box( "Box 2 Option" ),
SpacerBox(Size(5,5)),
CbBox1 << set( 1 ),
CbBox2 << set( 0 )
),
);GraphicsScriptingWindowsRe: How to call a function or process when checkbox is checkedYou can associate an anonymous function when you call Check Box() to create the display box.
GUIWindow1 = New Window("Preset Selections",
PanelBox("Single option1, option 2, or Both",
CbBox1 = Check Box( "Box 1 Option",
<< Set Function(
Function( { cb }, { temp },
temp = cb << Get;
// anything you need to do
)
)
),
CbBox2 = Check Box( "Box 2 Option" ),
SpacerBox(Size(5,5)),
CbBox1 << set( 1 ),
CbBox2 << set( 0 )
)
);Re: How to call a function or process when checkbox is checkedUse the message
<< set items
There is a good example of this in the Scripting Index, under the entry for
CheckBoxBox
Names Default To Here( 1 );
New Window( "Example",
cb = Check Box(
{"One", "Two", "Three"},
Print( "Selected: " || Concat Items( cb << Get Selected(), ", " ) )
)
);
Wait( 2 );
cb << Set Items( {"a", "Four", "Five", "Six"} );