
Kill graph windows that aren't included in the named layout

bmb
Function cleanDesk(s,mode) //Kills all graph windows that are not included in the named layout, s //Mode: 0, leaves windows that are part of the layout visible //Mode: 1, hides windows that are part of the layout //Mode: 2, windows that are a part of the layout become visible if they weren't already String s variable mode String list,info,graphList,currentGraph variable numItems,numPages,i,j,graphListItems,k,match list="" info = LayoutInfo(s,"Layout") numPages = str2num(StringByKey("NUMPAGES",info,":",";")) For(j=1;j<=numPages;j+=1) LayoutPageAction page=j info = LayoutInfo(s,"Layout") numItems = str2num(StringByKey("NUMOBJECTS",info,":",";")) For(i=0;i<numItems;i+=1) info = LayoutInfo(s,num2str(i)) list += StringByKey("NAME",info,":",";")+";" EndFor EndFor graphList = WinList("*",";","WIN:1") graphListItems = ItemsInList(graphList,";") For(k=0;k<graphListItems;k+=1) currentGraph =StringFromList(k,graphList,";") match = StringMatch(list,"*"+currentGraph+"*") If(match == 0) KillWindow /Z $currentGraph EndIf EndFor If(mode == 1) numItems = ItemsInList(list,";") For(i=0;i<numItems;i+=1) currentGraph = StringFromList(i,list,";") DoWindow/HIDE=1 $currentGraph EndFor ElseIf(mode ==2) numItems = ItemsInList(list,";") For(i=0;i<numItems;i+=1) currentGraph = StringFromList(i,list,";") DoWindow/HIDE=0 $currentGraph EndFor EndIf End

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More