try(destroydialog SelectInActiveLayer) catch()
rollout SelectInActiveLayer "Select In Active Layer" width:200
(
fn layerFilter =
(
--format "selection changed...\n"
desel = for node in selection as array where node.layer != LayerManager.current collect node
if desel.count > 0 do undo off
(
callbacks.removescripts id:#layer_filter
deselect desel
callbacks.addscript #selectionSetChanged "::SelectInActiveLayer.layerFilter()" id:#layer_filter
)
)
checkbutton activate_bt "Activate" width:182 align:#right offset:[4,0]
on activate_bt changed state do undo off
(
if state then
(
callbacks.removescripts id:#layer_filter
callbacks.addscript #selectionSetChanged "::SelectInActiveLayer.layerFilter()" id:#layer_filter
layerFilter()
)
else
(
callbacks.removescripts id:#layer_filter
)
)
on SelectInActiveLayer close do callbacks.removescripts id:#layer_filter
)
createdialog SelectInActiveLayer
take this version. it might be more stable.
if any answer to your questions solves your problem please don't forget to tag it as "SOLVED". It helps other people to search and find solutions for the same or similar problems