/* Written by David Holmedal www.davidholmedal.com davidholmedal@gmail.com Please do not redistribute, but instead refer to my website. 20090916: Visual feedback implemented by me, and the resulting broken code fixed by Borislav Petrov. If you put the macro in a toolbar the button will appear pressed when in "Isolation Mode". But you don't have to do that, you decide. */ MacroScript Benzie_IsolateSelectionImproved Category:"Benzie" ToolTip:"Isolate Selection Improved" buttontext:"IsoSel" -- START MACRO ( fn benzieIsolateSelection isolate:true =( with redraw off( if isolate == false then( unhide selectionSets["IsoSelTemporaryHidden"] deleteItem selectionSets "IsoSelTemporaryHidden" )else( local tmpInvSelection = for obj in objects where (not (obj.ishiddenInVpt or obj.isSelected)) collect obj selectionSets["IsoSelTemporaryHidden"] = tmpInvSelection hide selectionSets["IsoSelTemporaryHidden"] ) )--end redraw )--end fn on execute do( benzieIsolateSelection isolate:(selectionSets["IsoSelTemporaryHidden"]==undefined) ) on isChecked return selectionSets["IsoSelTemporaryHidden"] != undefined )--END MACRO