pauseforuser in IGOR 6
kangaroo
after upgrading from IGOR5 to IGOR6 (running with win XP) some of my macros behave differently.
One command that is affected is the "pauseforuser"
I was using it in one macro only. The purpose of this macro is to generate two graphs, put them in the layout and save all three resulting windows as graphic files in various formats, 9 files in total.
The macro first creates two graphs and adds them to a layout, so it creates three windows.
As it is very hard to predict, were exactly in the graph the data points will fall, they can't be saved right away but need some adjustment mainly regarding the position of text boxes. I use the
pauseforuser command like this:
newpanel/N=wait/k=1
string/g titel = "adjust graphs \r\r then close this window \r for saving \r as emf,eps and png"
svar textstr= titel
titlebox wait pos={10,50} , variable=textstr
pauseforuser wait
killstrings titel
string/g titel = "adjust graphs \r\r then close this window \r for saving \r as emf,eps and png"
svar textstr= titel
titlebox wait pos={10,50} , variable=textstr
pauseforuser wait
killstrings titel
after creating the graph and layout windows, the window "wait" appears. With IGOR5 I was then able to click into the graph windows and adjust by mousedragging the position of the legends in the graphs and some text annotations to not cover data.
After having done this, I used to close the wait-window and my macro continued.
After upgrading to IGOR6 the pauseforuser does not let me access my graph windows anymore in the way I used to do it. I realized that by having
dowindow/f targetwindow
pauseforuser wait,targetwindow
pauseforuser wait,targetwindow
I can access on more window which I first need to bring to the front. However, I need to access two windows at least. Right now I don't know any other way than repeating this part of the macro twice which makes it less convenient to use and is not an option for an increased number of windows.
When I wrote this macro it took me quite a while to figure out this procedure, though it may not be very elegant. Therefore I am a little disappointed it does not work anymore. I can't use prompt or doprompt (at least I think so) as I do not want to have keyboard input but want to modify graph windows using the mouse.
I would very much appreciate if anybody could point me to an alternative command or give me a hint how to make pauseforuser behave similar as in IGOR5.
Best regards
kangaroo
It would be best if you could restructure your code to put up a normal panel after the initial windows are created and then just stop.
Include a button in the panel to click on when the user is finished fiddling with the settings.
July 21, 2008 at 01:38 pm - Permalink