source: User Procedures/Irena/IR2_DWSGraphControls.ipf @ 6

Last change on this file since 6 was 6, checked in by ilavsky, 9 years ago

Initial commit - beta version 2.51

File size: 60.0 KB
Line 
1#pragma rtGlobals=1             // Use modern global access method.
2
3
4
5
6
7function IR2D_DWSStripQuoteFromQRSnames()
8                SVAR Dtf=root:Packages:Irena:DWSplottingTool:DataFolderName
9                SVAR IntDf=root:Packages:Irena:DWSplottingTool:IntensityWaveName
10                SVAR QDf=root:Packages:Irena:DWSplottingTool:QWaveName
11                SVAR EDf=root:Packages:Irena:DWSplottingTool:ErrorWaveName
12                IntDf =ReplaceString("'", IntDf, "")
13                QDf =ReplaceString("'", QDf, "")
14                EDf =ReplaceString("'", EDf, "")
15End
16
17
18
19Function IR2D_DWSFixAxesInGraph()//keep
20
21        NVAR GraphLeftAxisAuto=root:Packages:Irena:DWSplottingTool:GraphLeftAxisAuto
22        NVAR GraphLeftAxisMin=root:Packages:Irena:DWSplottingTool:GraphLeftAxisMin
23        NVAR GraphLeftAxisMax=root:Packages:Irena:DWSplottingTool:GraphLeftAxisMax
24        NVAR GraphBottomAxisAuto=root:Packages:Irena:DWSplottingTool:GraphBottomAxisAuto
25        NVAR GraphBottomAxisMin=root:Packages:Irena:DWSplottingTool:GraphBottomAxisMin
26        NVAR GraphBottomAxisMax=root:Packages:Irena:DWSplottingTool:GraphBottomAxisMax
27        SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
28                GetAxis/Q left
29                if (V_Flag)
30                        abort
31                endif
32       
33        if (GraphLeftAxisAuto)  //autoscale left axis
34                SetAxis/A left
35                DoUpdate
36                GetAxis /Q left
37                GraphLeftAxisMin=V_min
38                GraphLeftAxisMax=V_max
39                ListOfGraphFormating=ReplaceNumberByKey("Axis left min",ListOfGraphFormating, GraphLeftAxisMin,"=")
40                ListOfGraphFormating=ReplaceNumberByKey("Axis left max",ListOfGraphFormating, GraphLeftAxisMax,"=")
41
42        else            //fixed left axis
43                SetAxis left GraphLeftAxisMin,GraphLeftAxisMax
44
45        endif
46       
47        if (GraphBottomAxisAuto)        //autoscale bottom axis
48                SetAxis/A bottom
49                DoUpdate
50                GetAxis  /Q bottom
51                GraphBottomAxisMin=V_min
52                GraphBottomAxisMax=V_max
53                ListOfGraphFormating=ReplaceNumberByKey("Axis bottom min",ListOfGraphFormating, GraphBottomAxisMin,"=")
54                ListOfGraphFormating=ReplaceNumberByKey("Axis bottom max",ListOfGraphFormating, GraphBottomAxisMax,"=")
55        else            //fixed bottom axis
56                SetAxis bottom GraphBottomAxisMin,GraphBottomAxisMax
57
58        endif
59end
60
61
62function IR2D_DWSAttachErrorBars()
63        string tracelist,activetrace,folderpath,ewave
64        tracelist=TraceNameList("",";",1)
65        variable i=0,total=ItemsInList(tracelist)
66        SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
67       
68                do
69                        activetrace =StringFromList(i, tracelist)
70                        activetrace=ReplaceString("'", activetrace, "" )
71                        folderpath =getwavesDataFolder(TraceNameToWaveRef("", activetrace),1)
72                        setdatafolder folderpath
73                        if(!NumberByKey("ErrorBars",ListOfGraphFormating,"="))
74                                Errorbars $activetrace OFF;delayUpdate 
75                        else
76                                if (Stringmatch (activetrace,"M_DSM_int*"))
77                                        if (waveexists(M_DSM_Error))
78                                                ErrorBars $activetrace Y,wave=(M_DSM_Error,M_DSM_Error);DelayUpdate
79                                        endif
80                                elseif (Stringmatch (activetrace,"*DSM_int*"))
81                                        if (waveexists(DSM_Error))
82                                                ErrorBars $activetrace Y,wave=(DSM_Error,DSM_Error);DelayUpdate
83                                        endif
84                                elseif (Stringmatch (activetrace,"R*"))
85                                        ewave="s"+activetrace[1,32]
86                                        if (waveexists($ewave))
87                                                ErrorBars $activetrace Y,wave=($ewave,$ewave);DelayUpdate
88                                        endif
89                                endif
90                        endif
91                        i+=1
92                while (i<total)
93end
94
95function IR2D_DWSFormatGraph(addlabels)
96        variable addlabels
97        SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
98        If (!exists(ListOfGraphFormating)==0)
99                IR2D_InitializeDWSGraph()
100        endif
101       
102       
103        variable lines, markers,colors
104        lines= NumberByKey("Graph use Lines", ListOfGraphFormating,"=",";")
105        markers= NumberByKey("Graph use Symbols", ListOfGraphFormating,"=",";")
106        colors= NumberByKey("Graph use Colors", ListOfGraphFormating,"=",";")
107        //ModifyGraph log(bottom)=NumberByKey("log(bottom)", ListOfGraphFormating,"=",";")
108        //ModifyGraph log(left)=NumberByKey("log(left)", ListOfGraphFormating,"=",";")
109        //ModifyGraph axThick=NumberByKey("axthick", ListOfGraphFormating,"=",";")
110        ModifyGraph msize=NumberByKey("msize", ListOfGraphFormating,"=",";")
111        ModifyGraph lsize=NumberByKey("lsize", ListOfGraphFormating,"=",";")
112        //if (lines==1)
113
114        //ModifyGraph grid(bottom)=NumberByKey("grid(bottom)", ListOfGraphFormating,"=",";")
115        //ModifyGraph grid(left)=NumberByKey("grid(left)", ListOfGraphFormating,"=",";")
116        SVAR xname=root:Packages:Irena:DWSplottingTool:GraphXAxisName
117        SVAR yname=root:Packages:Irena:DWSplottingTool:GraphyAxisName
118        If(addlabels)   
119                Label bottom xname
120                Label left yname
121        endif
122               
123
124        IR2D_DWSAttachLegend()//NumberByKey("Legend",ListOfGraphFormating,"="))
125        //DWS_AttachErrorBars()
126        //DWS_FixAxesInGraph()
127        variable mode=0
128        if (markers)
129                mode=3*markers+lines
130        endif
131        if ((markers!=0)||(lines!=0))
132                IR2D_ChangetoLineandPoints(mode,colors)
133        endif
134
135       
136end
137
138
139function IR2D_DWSAttachLegend()
140        variable type;string size
141       
142        SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
143        size=StringByKey("Graph legend Size",ListOfGraphFormating,"=")
144        Type=NumberByKey("Legend",ListOfGraphFormating,"=")
145        variable NumberofWaves=ItemsInList(tracenamelist("",";",1))
146        variable counter=0
147        string theFolder,TheText, TheText2
148        string list=TraceNameList("",";",1)
149        theText="\Z"+size
150        theText2=theText
151        if ((type==2) ||(type==4))
152                do
153        string tracename=StringFromList(counter, list,";")//getstrfromlist (list, counter,";")
154       
155                        theFolder=GetWavesDataFolder(WaveRefIndexed("",counter ,1),0)
156                        theText=theText+ "\r\s("+tracename+")"
157                        theText=theText+thefolder//theFolder[0,(strlen(theFolder)-0)]
158                        counter+=1
159                while(counter<Numberofwaves)
160                TextBox/C/A=RT/N=FolderLegend theText   
161        endif   
162       
163        counter=0
164        IF ((type==3)||(type==4))
165                do
166                        tracename= StringFromList(counter, list,";")//getstrfromlist (list, counter,";")
167                        theText2=theText2+ "\r\s("+tracename+")"
168                        theText2=theText2+tracename
169                        counter+=1
170                while(counter<Numberofwaves)
171                TextBox/C/A=RB/N=WaveLegend theText2   
172        endif   
173               
174End
175
176static Function IR2D_DWSFindString2num(index,strings,separator)
177        variable index//starts at 0
178        string strings,separator
179       
180        variable pos1=0,pos2=0
181        string answer
182        variable counter=0
183        do
184                pos2=strsearch(strings,";",pos1)
185                answer=strings[pos1,(pos2-1)]
186                pos1=pos2+1
187                counter+=1
188        while(counter<(index+1))
189        return(str2num(answer))
190end
191
192function IR2D_ChangetoLineandPoints(modetype,qcolors)//keep
193        variable qcolors,modetype
194        Prompt modetype, "Type of display", popup,"Lines;Sticks;Dots;Markers;Lines &Markers"
195        Prompt qcolors,"Mixed Colors?",popup,"Colors;Grays;No"
196       
197        //Silent 1;pauseupdate
198        string markertypes="19;17;16;23;18;8;5;6;22;7;0;1;2;25;26;28;29;15;14;4;3;17;16;23;18;8;5;6;22;7;0;1;2;25;26;28;29;15;14;4;3"
199        string rcolortypes="65535;0;0;65535;52428;0;39321;52428;1;26214;65535;0;0;65535;52428;0;39321;52428;1;26214"
200        string gcolortypes="0;0;65535;43690;1;0;13101;52425;24548;26214;65535;0;0;65535;52428;0;39321;52428;1;26214"
201        string bcolortypes="0;65535;0;0;41942;0;1;1;52428;26214;65535;0;0;65535;52428;0;39321;52428;1;26214"
202        string ListofWaves=TraceNameList("",";",1),wavename
203        variable position1=strsearch(ListofWaves,";",0),position2=position1
204        variable markpos1=strsearch(markertypes,";",0), markpos2=markpos1
205        wavename=ListofWaves[0,(position1-1)]
206        variable marktp=str2num(markertypes[0,(markpos1-1)])
207        variable red=IR2D_DWSFindString2num(0,rcolortypes,";")
208        variable green=IR2D_DWSFindString2num(0,gcolortypes,";")
209        variable blue=IR2D_DWSFindString2num(0,bcolortypes,";")
210        variable grey=0
211
212        if(qcolors!=3)
213                if(qcolors==1)
214                //print "mode = "+num2str(modetype)
215                        ModifyGraph mode=modetype,marker($wavename)=marktp,rgb($wavename)=(red,green,blue)
216                else
217                        ModifyGraph mode=modetype,marker($wavename)=marktp,rgb($wavename)=(grey,grey,grey)
218                endif
219        else
220                ModifyGraph mode=modetype,marker($wavename)=marktp
221        endif
222        //
223        variable length=strlen(ListofWaves)
224        variable counter=1
225        do
226                position1=position2
227                markpos1=markpos2
228                position2=strsearch(ListofWaves,";",(position1+1))
229                if(position2==-1)
230                        break
231                endif
232                markpos2=strsearch(markertypes,";",(markpos1+1))
233                marktp=str2num(markertypes[(markpos1+1),(markpos2-1)])
234                if(counter<=17)
235                        red=IR2D_DWSFindString2num(counter,rcolortypes,";")
236                        green=IR2D_DWSFindString2num(counter,gcolortypes,";")
237                        blue=IR2D_DWSFindString2num(counter,bcolortypes,";")
238                else
239                        red=(counter-17)*1000
240                        green=(counter-17)*1000
241                        blue=(counter-17)*1000
242                endif
243                grey=counter*10000
244                wavename=ListofWaves[(position1+1),(position2-1)]
245                if(qcolors!=3)
246                        if(qcolors==1)
247                                ModifyGraph mode=modetype,marker($wavename)=marktp,rgb($wavename)=(red,green,blue)
248                        else
249                                ModifyGraph mode=modetype,marker($wavename)=marktp,rgb($wavename)=(grey,grey,grey)
250                        endif
251                else
252                        ModifyGraph mode=modetype,marker($wavename)=marktp
253                endif
254                counter+=1
255        while(position2!=(length-1))
256EndMacro
257
258
259
260
261Function IR2D_DWSInputPanelButtonProc(ctrlName) : ButtonControl
262        String ctrlName
263
264        string ListOfVariables, listofstrings
265                variable i
266                if (!DataFolderExists("root:Packages:SAS_Modeling"))           
267                        NewDataFolder/O root:Packages
268                        NewDataFolder/O root:Packages:SAS_Modeling
269                endif
270                SetDataFolder root:Packages:SAS_Modeling                                       
271                ListOfStrings="DataFolderName"
272                ListOfVariables="Orientation;fold;SmallMon"
273                for(i=0;i<itemsInList(ListOfVariables);i+=1)   
274                        IN2G_CreateItem("variable",StringFromList(i,ListOfVariables))
275                endfor         
276                for(i=0;i<itemsInList(ListOfStrings);i+=1)     
277                        IN2G_CreateItem("string",StringFromList(i,ListOfStrings))
278                endfor         
279       
280        variable IsAllAllRight
281
282        if ((cmpstr(ctrlName,"AddDataToGraph")==0)||(cmpstr(ctrlName,"newgraph")==0))
283                //here goes what is done, when user pushes Graph button
284                SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
285                SVAR DFloc=root:Packages:Irena:DWSplottingTool:DataFolderName
286                SVAR DFInt=root:Packages:Irena:DWSplottingTool:IntensityWaveName
287                SVAR DFQ=root:Packages:Irena:DWSplottingTool:QWaveName
288                SVAR DFE=root:Packages:Irena:DWSplottingTool:ErrorWaveName
289                IsAllAllRight=1
290                if (cmpstr(DFloc,"---")==0 || strlen(DFloc)<=0)
291                        IsAllAllRight=0
292                endif
293                if (cmpstr(DFInt,"---")==0 || strlen(DFInt)<=0)
294                        IsAllAllRight=0
295                endif
296                //if (cmpstr(DFQ,"---")==0 || strlen(DFQ)<=0)//qwave selection not required will use x-wave scaling
297                        //IsAllAllRight=0
298                //endif
299                //if (IsAllAllRight)
300                        //IR1P_RecordDataForGraph()  dws Nov
301                //else
302                //      Abort "Data not selected properly"
303        //      endif
304                if (cmpstr(ctrlName,"newgraph")==0)
305                        IR2D_DWSCreateGraph(1)   //create  the graph
306                else
307                        IR2D_DWSCreateGraph(0)
308                endif                                   
309        endif   
310       
311        if (cmpstr(ctrlName,"SaveGraph")==0)
312                string top= StringFromList(0,WinList("*", ";", "WIN:1"))
313                DoWindow/F $top
314                string cmd= "DoIgorMenu  \"Control\", \"Window control\""
315                execute/P cmd
316        endif
317       
318        if (cmpstr(ctrlName,"Standard")==0)
319                execute "IR2D_DWSStdGraph()"//(width,maxY,minY,BW,ylabel,xlabel,modetype,aspect)
320        endif
321       
322        if (cmpstr(ctrlName,"Capture")==0)
323                GetAxis /Q left
324                SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
325                NVAR GraphLeftAxisAuto=root:Packages:Irena:DWSplottingTool:GraphLeftAxisAuto
326                NVAR GraphLeftAxisMin=root:Packages:Irena:DWSplottingTool:GraphLeftAxisMin
327                NVAR GraphLeftAxisMax=root:Packages:Irena:DWSplottingTool:GraphLeftAxisMax
328                NVAR GraphBottomAxisAuto=root:Packages:Irena:DWSplottingTool:GraphBottomAxisAuto
329                NVAR GraphBottomAxisMin=root:Packages:Irena:DWSplottingTool:GraphBottomAxisMin
330                NVAR GraphBottomAxisMax=root:Packages:Irena:DWSplottingTool:GraphBottomAxisMax
331                GraphLeftAxisMin=V_min
332                GraphLeftAxisMax=V_max
333                ListOfGraphFormating=ReplaceNumberByKey("Axis left min",ListOfGraphFormating, GraphLeftAxisMin,"=")
334                ListOfGraphFormating=ReplaceNumberByKey("Axis left max",ListOfGraphFormating, GraphLeftAxisMax,"=")
335                GetAxis  /Q bottom
336                GraphBottomAxisMin=V_min
337                GraphBottomAxisMax=V_max
338                ListOfGraphFormating=ReplaceNumberByKey("Axis bottom min",ListOfGraphFormating, GraphBottomAxisMin,"=")
339                ListOfGraphFormating=ReplaceNumberByKey("Axis bottom max",ListOfGraphFormating, GraphBottomAxisMax,"=")
340        endif   
341       
342        if (cmpstr(ctrlName,"Format")==0)
343                IR2D_DWSFormatGraph(0)
344        endif
345       
346        if (cmpstr(ctrlName,"Legends")==0)
347                IR2D_DWSAttachLegend()
348        endif
349       
350        if (cmpstr(ctrlName,"killLegends")==0)
351                        NVAR GraphLegendUseFolderNms=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
352                        NVAR GraphLegendUseWaveNote=root:Packages:Irena:DWSplottingTool:GraphLegendUseWaveNote         
353                if(GraphLegendUseFolderNms==0)
354                        TextBox/K/N=FolderLegend
355                endif
356                if (GraphLegendUseWaveNote==0)
357                        TextBox/K/N=waveLegend
358                endif
359                IR2D_DWSAttachLegend()
360        endif
361       
362        if (cmpstr(ctrlName,"ChangeAx")==0)
363                IR2D_DWSFixAxesInGraph()
364        endif
365       
366        if (cmpstr(ctrlName,"Hermans1")==0)     
367                SVAR DFLoc2=root:Packages:SAS_Modeling:DataFolderName
368                setdatafolder DFLoc2
369                NVAR Fold=root:Packages:SAS_Modeling:fold
370                fold = 0
371                execute "HermansPanel()"
372        endif
373       
374        if (cmpstr(ctrlName,"Hermans")==0)     
375               
376                SVAR DFLoc1=root:Packages:Irena:DWSplottingTool:DataFolderName
377                SVAR DFLoc2=root:Packages:SAS_Modeling:DataFolderName
378                DFLoc2=DFloc1
379                setdatafolder DFLoc2
380                string rwave="AnisointensityCorr", xwave= "sa"
381                NVAR Orientation =root:Packages:SAS_Modeling:Orientation
382                NVAR Fold=root:Packages:SAS_Modeling:fold
383                orientation = 0
384                fold = 0
385                execute "UNICAT_AzimuthalPanel()"
386        endif
387end
388//static function IR2D_DWSAttachErrorBars()
389//      string tracelist,activetrace,folderpath,ewave
390//      tracelist=TraceNameList("",";",1)
391//      variable i=0,total=ItemsInList(tracelist)
392//      SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
393//     
394//              do
395//                      activetrace =StringFromList(i, tracelist)
396//                      activetrace=ReplaceString("'", activetrace, "" )
397//                      folderpath =getwavesDataFolder(TraceNameToWaveRef("", activetrace),1)
398//                      setdatafolder folderpath
399//                      if(!NumberByKey("ErrorBars",ListOfGraphFormating,"="))
400//                              Errorbars $activetrace OFF;delayUpdate 
401//                      else
402//                              if (Stringmatch (activetrace,"M_DSM_int*"))
403//                                      if (waveexists(M_DSM_Error))
404//                                              ErrorBars $activetrace Y,wave=(M_DSM_Error,M_DSM_Error);DelayUpdate
405//                                      endif
406//                              elseif (Stringmatch (activetrace,"*DSM_int*"))
407//                                      if (waveexists(DSM_Error))
408//                                              ErrorBars $activetrace Y,wave=(DSM_Error,DSM_Error);DelayUpdate
409//                                      endif
410//                              elseif (Stringmatch (activetrace,"R*"))
411//                                      ewave="s"+activetrace[1,32]
412//                                      if (waveexists($ewave))
413//                                              ErrorBars $activetrace Y,wave=($ewave,$ewave);DelayUpdate
414//                                      endif
415//                              endif
416//                      endif
417//                      i+=1
418//              while (i<total)
419//end
420
421
422function IR2D_DWSPanelPopupControl(ctrlName,popNum,popStr) : PopupMenuControl
423        String ctrlName
424        Variable popNum
425        String popStr
426
427        if (cmpstr(ctrlName,"GraphLegendSize")==0)
428                //here goes what needs to be done, when we select this popup...
429                NVAR GraphLegendSize=root:Packages:Irena:DWSplottingTool:GraphlegendSize
430                GraphlegendSize=str2num(popStr)
431                SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating      //this contains data formating
432                ListOfGraphFormating=ReplaceStringByKey("Graph legend size", ListOfGraphFormating, popstr,"=")
433                IR2D_DWSInputPanelButtonProc("Legends")
434        endif
435       
436end
437
438
439Function IR2D_DWSGenPlotCheckBox(ctrlName,checked) : CheckBoxControl
440        String ctrlName
441        Variable checked
442        string folder=getdatafolder(1)
443        SVAR    ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
444        if (cmpstr("GraphLogX",ctrlName)==0)
445                //anything needs to be done here?
446                ListOfGraphFormating=ReplaceStringByKey("log(bottom)",ListOfGraphFormating, num2str(checked),"=")
447                ModifyGraph log(bottom)=checked
448        endif   
449        if (cmpstr("GraphLogy",ctrlName)==0)
450                ListOfGraphFormating=ReplaceStringByKey("log(left)",ListOfGraphFormating, num2str(checked),"=")
451                ModifyGraph log(left)=checked
452        endif   
453        if (cmpstr("GraphErrors",ctrlName)==0)
454                ListOfGraphFormating=ReplaceStringByKey("ErrorBars",ListOfGraphFormating, num2str(checked),"=")
455                IR2D_DWSAttachErrorBars()
456        endif   
457        if (cmpstr("GraphLegend",ctrlName)==0)
458                //anything needs to be done here?
459                if(checked)
460                        NVAR GraphLegendUseFolderNms=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
461                        NVAR GraphLegendUseWaveNote=root:Packages:Irena:DWSplottingTool:GraphLegendUseWaveNote
462                        ListOfGraphFormating=ReplaceStringByKey("Legend",ListOfGraphFormating, num2str(checked+GraphLegendUseFolderNms+2*GraphLegendUseWaveNote),"=")
463                else
464                        ListOfGraphFormating=ReplaceStringByKey("Legend",ListOfGraphFormating, num2str(checked),"=")
465                endif
466        endif
467        variable UseLegend
468        if (cmpstr("GraphLegendUseFolderNms",ctrlName)==0)
469                //anything needs to be done here?
470                UseLegend=NumberByKey("Legend",ListOfGraphFormating,"=")
471                if (UseLegend)
472                        NVAR GraphLegendUseFolderNms=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
473                        NVAR GraphLegendUseWaveNote=root:Packages:Irena:DWSplottingTool:GraphLegendUseWaveNote
474                        ListOfGraphFormating=ReplaceStringByKey("Legend",ListOfGraphFormating, num2str(1+GraphLegendUseFolderNms+2*GraphLegendUseWaveNote),"=")
475                endif
476                if(!checked)
477                        IR2D_DWSInputPanelButtonProc("KillLegends")
478                else
479                        IR2D_DWSInputPanelButtonProc("Legends")
480                endif
481        endif
482        if (cmpstr("GraphLegendUseWaveNote",ctrlName)==0)
483                //anything needs to be done here?
484                UseLegend=NumberByKey("Legend",ListOfGraphFormating,"=")
485                if (UseLegend)
486                        NVAR GraphLegendUseFolderNms=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
487                        NVAR GraphLegendUseWaveNote=root:Packages:Irena:DWSplottingTool:GraphLegendUseWaveNote
488                        ListOfGraphFormating=ReplaceStringByKey("Legend",ListOfGraphFormating, num2str(1+GraphLegendUseFolderNms+2*GraphLegendUseWaveNote),"=")
489                endif
490                if(!checked)
491                        IR2D_DWSInputPanelButtonProc("KillLegends")
492                else
493                        IR2D_DWSInputPanelButtonProc("Legends")
494                endif
495        endif
496       
497        if (cmpstr("GraphUseSymbols",ctrlName)==0)
498                //anything needs to be done here?
499                ListOfGraphFormating=ReplaceStringByKey("Graph use Symbols",ListOfGraphFormating, num2str(checked),"=")
500                variable UseLinesAlso=NumberByKey("Graph use Lines",ListOfGraphFormating,"=",";")
501                IR2D_DWSInputPanelButtonProc("Format")
502        endif
503               
504        if (cmpstr("GraphUseLines",ctrlName)==0)
505                //anything needs to be done here?
506                ListOfGraphFormating=ReplaceStringByKey("Graph use lines",ListOfGraphFormating, num2str(checked),"=")
507                IR2D_DWSInputPanelButtonProc("Format")
508        endif
509
510        if (cmpstr("GraphUseColors",ctrlName)==0)
511                //anything needs to be done here?
512                checked+=1
513                ListOfGraphFormating=ReplaceStringByKey("Graph use colors",ListOfGraphFormating, num2str(checked),"=") 
514                IR2D_DWSInputPanelButtonProc("Format")
515        endif
516       
517        if (cmpstr("GraphLeftAxisAuto",ctrlName)==0)
518                //anything needs to be done here?
519                ListOfGraphFormating=ReplaceStringByKey("Axis left auto",ListOfGraphFormating, num2str(checked),"=")
520                IR2D_DWSFixAxesInGraph()
521        endif
522        if (cmpstr("GraphBottomAxisAuto",ctrlName)==0)
523                //anything needs to be done here?
524                ListOfGraphFormating=ReplaceStringByKey("Axis bottom auto",ListOfGraphFormating, num2str(checked),"=")
525                IR2D_DWSFixAxesInGraph()
526        endif
527        if (cmpstr("GraphXMajorGrid",ctrlName)==0)
528                //anything needs to be done here?   
529                NVAR GraphXMajorGrid=root:Packages:Irena:DWSplottingTool:GraphXMajorGrid
530                NVAR GraphXMinorGrid=root:Packages:Irena:DWSplottingTool:GraphXMinorGrid
531                if (GraphXMajorGrid)
532                        if(GraphXMinorGrid)
533                                ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "1","=")
534                        else
535                                ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "2","=")
536                        endif
537                else
538                        ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "0","=")
539                        GraphXMinorGrid=0
540                endif
541               
542        endif
543        if (cmpstr("GraphXMinorGrid",ctrlName)==0)
544                //anything needs to be done here?
545                NVAR GraphXMajorGrid=root:Packages:Irena:DWSplottingTool:GraphXMajorGrid
546                NVAR GraphXMinorGrid=root:Packages:Irena:DWSplottingTool:GraphXMinorGrid
547                ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "0","=")
548                if (GraphXMinorGrid)
549                        GraphXMajorGrid=1
550                        ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "1","=")
551                else
552                        if(GraphXMajorGrid)
553                                ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "2","=")
554                        endif
555                endif
556        endif
557        if (cmpstr("GraphYMajorGrid",ctrlName)==0)
558                        NVAR GraphYMajorGrid=root:Packages:Irena:DWSplottingTool:GraphYMajorGrid
559                        NVAR GraphYMinorGrid=root:Packages:Irena:DWSplottingTool:GraphYMinorGrid
560                        if (GraphYMajorGrid)
561                                if(GraphYMinorGrid)
562                                        ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "1","=")
563                                else
564                                        ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "2","=")
565                                endif
566                        else
567                                ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "0","=")
568                                GraphYMinorGrid=0
569                        endif
570               
571        endif
572        if (cmpstr("GraphYMinorGrid",ctrlName)==0)
573               
574                NVAR GraphYMajorGrid=root:Packages:Irena:DWSplottingTool:GraphYMajorGrid
575                NVAR GraphYMinorGrid=root:Packages:Irena:DWSplottingTool:GraphYMinorGrid
576                ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "0","=")
577                if (GraphYMinorGrid)
578                        GraphYMajorGrid=1
579                        ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "1","=")
580                else
581                        if(GraphYMajorGrid)
582                                ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "2","=")
583                        endif
584                endif
585               
586        endif
587       
588        ModifyGraph grid(bottom)=NumberByKey("grid(bottom)", ListOfGraphFormating,"=",";")
589        ModifyGraph grid(left)=NumberByKey("grid(left)", ListOfGraphFormating,"=",";")
590        setdatafolder folder
591DoUpdate
592
593end
594
595function IR2D_DWSSetVarProc(ctrlName,varNum,varStr,varName)
596
597        String ctrlName
598        Variable varNum
599        String varStr
600        String varName
601        string folder= getdatafolder(1)
602        SVAR    ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
603       
604        if (cmpstr("GraphXAxisName",ctrlName)==0)
605                //anything needs to be done here?
606                ListOfGraphFormating=ReplaceStringByKey("Label bottom",ListOfGraphFormating, varStr,"=")
607                Label bottom StringbyKey("Label bottom", ListOfGraphFormating,"=",";")
608       
609        endif
610        if (cmpstr("GraphYAxisName",ctrlName)==0)
611                //anything needs to be done here?
612                ListOfGraphFormating=ReplaceStringByKey("Label left",ListOfGraphFormating, varStr,"=")
613                Label left StringbyKey("Label left", ListOfGraphFormating,"=",";")
614        endif
615       
616        if (cmpstr("GraphLineWidth",ctrlName)==0)
617                //anything needs to be done here?
618                ListOfGraphFormating=ReplaceNumberByKey("lsize",ListOfGraphFormating, varNum,"=")
619                IR2D_DWSInputPanelButtonProc("Format")
620        endif
621                if (cmpstr("TicRotation",ctrlName)==0)
622                ModifyGraph tkLblRot(left)=varNum       
623        endif
624       
625        if (cmpstr("GraphSymbolSize",ctrlName)==0)
626                ListOfGraphFormating=ReplaceNumberByKey("msize",ListOfGraphFormating, varNum,"=")
627                IR2D_DWSInputPanelButtonProc("Format")
628        endif
629       
630        if (cmpstr("GraphAxisWidth",ctrlName)==0)       
631                ListOfGraphFormating=ReplaceNumberByKey("axThick",ListOfGraphFormating, varNum,"=")
632                ModifyGraph axThick=varnum
633                variable fontsize=(14*(Varnum==1))+(16*(varnum==2))+(18*(varnum==3))+(20*(varnum==4))
634                ModifyGraph fSize=fontsize
635                ModifyGraph fSize=fontsize
636                ModifyGraph fSize=fontsize
637        endif
638        if (cmpstr("GraphLeftAxisMin",ctrlName)==0)             
639                ListOfGraphFormating=ReplaceNumberByKey("Axis left min",ListOfGraphFormating, varNum,"=")
640                IR2D_DWSFixAxesInGraph()
641        endif
642        if (cmpstr("GraphLeftAxisMax",ctrlName)==0)             
643                ListOfGraphFormating=ReplaceNumberByKey("Axis left max",ListOfGraphFormating, varNum,"=")
644                IR2D_DWSFixAxesInGraph()
645        endif
646        if (cmpstr("GraphBottomAxisMin",ctrlName)==0)
647                ListOfGraphFormating=ReplaceNumberByKey("Axis bottom min",ListOfGraphFormating, varNum,"=")
648                IR2D_DWSFixAxesInGraph()
649        endif
650        if (cmpstr("GraphBottomAxisMax",ctrlName)==0)           
651                ListOfGraphFormating=ReplaceNumberByKey("Axis bottom max",ListOfGraphFormating, varNum,"=")
652                IR2D_DWSFixAxesInGraph()
653        endif
654        setdatafolder folder
655end
656
657//static Function IR2D_DWSFixAxesInGraph()//keep
658//
659//      NVAR GraphLeftAxisAuto=root:Packages:Irena:DWSplottingTool:GraphLeftAxisAuto
660//      NVAR GraphLeftAxisMin=root:Packages:Irena:DWSplottingTool:GraphLeftAxisMin
661//      NVAR GraphLeftAxisMax=root:Packages:Irena:DWSplottingTool:GraphLeftAxisMax
662//      NVAR GraphBottomAxisAuto=root:Packages:Irena:DWSplottingTool:GraphBottomAxisAuto
663//      NVAR GraphBottomAxisMin=root:Packages:Irena:DWSplottingTool:GraphBottomAxisMin
664//      NVAR GraphBottomAxisMax=root:Packages:Irena:DWSplottingTool:GraphBottomAxisMax
665//      SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
666//              GetAxis/Q left
667//              if (V_Flag)
668//                      abort
669//              endif
670//     
671//      if (GraphLeftAxisAuto)  //autoscale left axis
672//              SetAxis/A left
673//              DoUpdate
674//              GetAxis /Q left
675//              GraphLeftAxisMin=V_min
676//              GraphLeftAxisMax=V_max
677//              ListOfGraphFormating=ReplaceNumberByKey("Axis left min",ListOfGraphFormating, GraphLeftAxisMin,"=")
678//              ListOfGraphFormating=ReplaceNumberByKey("Axis left max",ListOfGraphFormating, GraphLeftAxisMax,"=")
679//
680//      else            //fixed left axis
681//              SetAxis left GraphLeftAxisMin,GraphLeftAxisMax
682//
683//      endif
684//     
685//      if (GraphBottomAxisAuto)        //autoscale bottom axis
686//              SetAxis/A bottom
687//              DoUpdate
688//              GetAxis  /Q bottom
689//              GraphBottomAxisMin=V_min
690//              GraphBottomAxisMax=V_max
691//              ListOfGraphFormating=ReplaceNumberByKey("Axis bottom min",ListOfGraphFormating, GraphBottomAxisMin,"=")
692//              ListOfGraphFormating=ReplaceNumberByKey("Axis bottom max",ListOfGraphFormating, GraphBottomAxisMax,"=")
693//      else            //fixed bottom axis
694//              SetAxis bottom GraphBottomAxisMin,GraphBottomAxisMax
695//
696//      endif
697//end
698
699
700Proc IR2D_DWSStdGraph(width,maxY,minY,BW,ylabel,xlabel,modetype,aspect,linewidth,markersize)
701        variable/g root:Packages:Irena:DWSPFolder:gmaxy, root:Packages:Irena:DWSPFolder:gminY,root:Packages:Irena:DWSPFolder:gwidth, root:Packages:Irena:DWSPFolder:gBW,root:Packages:Irena:DWSPFolder:modetype,root:Packages:Irena:DWSPFolder:aspect,root:Packages:Irena:DWSPFolder:glinewidth,root:Packages:Irena:DWSPFolder:gmarkersize
702        variable maxy=root:Packages:Irena:DWSPFolder:gmaxy,minY=root:Packages:Irena:DWSPFolder:gminY,width=root:Packages:Irena:DWSPFolder:gwidth,BW=root:Packages:Irena:DWSPFolder:gBW,modetype=root:Packages:Irena:DWSPFolder:modetype,aspect=root:Packages:Irena:DWSPFolder:aspect
703        variable linewidth=root:Packages:Irena:DWSPFolder:glinewidth,markersize=root:Packages:Irena:DWSPFolder:gmarkersize
704        string/g root:Packages:Irena:DWSPFolder:gylabel, root:Packages:Irena:DWSPFolder:gxlabel
705        string ylabel=root:Packages:Irena:DWSPFolder:gylabel,xlabel=root:Packages:Irena:DWSPFolder:gxlabel
706        prompt BW, "Graph Color",popup, "Color;Black & White;No Change"
707        prompt maxy,"Enter max Y"
708        prompt minY, "Enter min Y"
709        prompt width, "Enter width in inches"
710        Prompt aspect, "Enter aspect ratio (1.4)"
711        Prompt modetype, "Type of display", popup,"Lines;Sticks;Dots;Markers;Lines &Markers;No change"
712        Prompt ylabel,"Y axis Label", popup, "No Change;\f01\Z1610\S6\M\Z16 x SLD (\S-2\M\Z16);\F'Helvetica'\Z16\f01Intensity (cm\S-1\M\Z16);\F'Helvetica'\Z16\f01Intensity;\F'Helvetica'\Z16\f01Reflectivity;\F'Helvetica'\Z12\f01Relative Intensity;"
713        Prompt xlabel,"X axis Label", popup, "No Change;\Z16Distance from Si ();\F'Helvetica'\Z16\f01q (\S-1\M\Z16);\F'Helvetica'\Z16\f01q(µm\S-1\M\Z16);\F'Helvetica'\Z16\f01Diameter (µm);\F'Helvetica'\Z12\f01q (\S-1\M\Z12)"
714        prompt linewidth, "Line width"
715        prompt markersize, "Marker size"
716        silent 1
717        root:Packages:Irena:DWSPFolder:gylabel=ylabel
718        root:Packages:Irena:DWSPFolder:gxlabel=xlabel
719        root:Packages:Irena:DWSPFolder:gmaxy=maxy;root:Packages:Irena:DWSPFolder:gminY=minY;root:Packages:Irena:DWSPFolder:modetype=modetype
720        root:Packages:Irena:DWSPFolder:gwidth=width;root:Packages:Irena:DWSPFolder:aspect=aspect
721        root:Packages:Irena:DWSPFolder:gBW=BW;root:Packages:Irena:DWSPFolder:glinewidth=linewidth;root:Packages:Irena:DWSPFolder:gmarkersize=markersize
722                modetype=modetype-1
723        If (width!=0)
724                ModifyGraph width=width*72
725        endif
726        If (aspect!=0)
727                ModifyGraph height={Aspect,aspect}
728        endif
729        ModifyGraph axThick=2;DelayUpdate
730        If(!stringmatch(ylabel, "No Change" ))
731                Label left ylabel
732        endif
733        If(!stringmatch(xlabel, "No Change" ))
734                Label bottom xlabel
735        endif
736       
737        If ((!maxy==0)&(miny==0))||(!miny==0)&(maxy==0))
738                Doalert 0,"If you enter one axis limit, you must enter the other"
739                abort
740        endif
741        If(modetype!=5)
742                ModifyGraph mode=modetype
743                IR2D_ChangetoLineandPoints((modetype),1)
744        endif
745        if((!miny==0)||(!maxy==0))
746                SetAxis left minY, maxY
747        endif
748        //ModifyGraph mirror(bottom)=1;DelayUpdate
749       
750        if(stringmatch( AxisList(""), "*right*") )
751                        //SetAxis right 0,1;DelayUpdate
752                        ModifyGraph margin(top)=15,margin(right)=60, margin(left)=80
753                else
754                        ModifyGraph mirror=1;DelayUpdate
755        endif
756        ModifyGraph tick=2
757        If (markersize!=0)
758                ModifyGraph msize=markersize
759        endif
760        if(linewidth!=0)
761                ModifyGraph lsize=linewidth
762        endif
763        ModifyGraph mirror(bottom)=1
764        ModifyGraph font="Helvetica"
765        defaultfont helvetica
766        //ModifyGraph fStyle=1,fSize=12
767       
768        ModifyGraph fStyle=1,fSize=10//font size and bold
769        ModifyGraph margin(top)=15,margin(right)=25
770       
771        If (BW==2)
772                ModifyGraph rgb=(0,0,0);DelayUpdate
773        endif
774        IF (maxy==0)
775                Modifygraph width=0, height=0
776        endif
777endmacro
778
779
780
781//
782//
783//
784//Function IR2D_DWSCheckforLog()
785//      SVAR    ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
786//              variable checkedbottom=str2num( stringbykey("log(bottom)",ListOfGraphFormating,"="))
787//              DWS_GenPlotCheckBox("GraphLogx",checkedbottom) 
788//              variable checkedleft=str2num( stringbykey("log(left)",ListOfGraphFormating,"="))
789//              DWS_GenPlotCheckBox("GraphLogx",checkedleft)   
790//              DWS_GenPlotCheckBox("GraphlogX",checkedbottom) 
791//              DWS_GenPlotCheckBox("GraphlogY",checkedleft)   
792//end
793//
794////Function DWS_GeneralPlotTool_Initialize()
795////    IR1P_InitializeGenGraph()
796////    SetDataFolder root:Packages:Irena:DWSplottingTool//root:Packages:SAS_Modeling:DataFolderName
797////    string ListOfVariables="UseAniso;TicRotation;iwavesonly;DataFolderName"
798////    variable i=0
799////    for(i=0;i<itemsInList(ListOfVariables);i+=1)   
800////            IN2G_CreateItem("variable",StringFromList(i,ListOfVariables))
801////    endfor 
802////    SVAR    ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
803////    NVAR errors=root:Packages:Irena:DWSplottingTool:GraphErrors
804////    NVAR axwidth = root:Packages:Irena:DWSplottingTool:GraphAxisWidth
805////    NVAR TicRotation=root:Packages:Irena:DWSplottingTool:TicRotation
806////    NVAR foldernames=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
807////    SVAR xname=root:Packages:Irena:DWSplottingTool:GraphXAxisName
808////    SVAR yname=root:Packages:Irena:DWSplottingTool:GraphyAxisName
809////    SVAR DataFolderName=root:Packages:Irena:DWSplottingTool:DataFolderName
810////    foldernames=1;errors=0; TicRotation = 0;axwidth= 2
811////   
812////    xname="\F'Helvetica'\f01\Z14q (\S-1\M\Z14)";yname="\F'Helvetica'\f01\Z14Intensity (cm\S-1\M\Z14)"
813////    ListOfGraphFormating=ReplaceStringByKey("Label left",ListOfGraphFormating,yname,"=")
814////    ListOfGraphFormating=ReplaceStringByKey("Label bottom",ListOfGraphFormating, xname,"=")
815////    ListOfGraphFormating=ReplaceStringByKey("ErrorBars",ListOfGraphFormating, "0","=")
816////    ListOfGraphFormating=ReplaceStringByKey("Graph use Symbols",ListOfGraphFormating, "0","=")
817////   
818////    DataFolderName="root:"
819////end
820//
821//function DWS_PanelPopupControl(ctrlName,popNum,popStr) : PopupMenuControl
822//      String ctrlName
823//      Variable popNum
824//      String popStr
825//
826//      string oldDf=GetDataFolder(1)
827//      setDataFolder root:Packages:Irena:DWSplottingTool
828//
829//      if (cmpstr(ctrlName,"GraphLegendSize")==0)
830//              //here goes what needs to be done, when we select this popup...
831//              NVAR GraphLegendSize=root:Packages:Irena:DWSplottingTool:GraphlegendSize
832//              GraphlegendSize=str2num(popStr)
833//              SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating      //this contains data formating
834//              ListOfGraphFormating=ReplaceStringByKey("Graph legend size", ListOfGraphFormating, popstr,"=")
835//      endif
836//     
837//      NVAR UseIndra2Data=root:Packages:Irena:DWSplottingTool:UseIndra2Data
838//      NVAR UseQRSData=root:Packages:Irena:DWSplottingTool:UseQRSdata
839//      NVAR UseResults=root:Packages:Irena:DWSplottingTool:UseResults
840//      NVAR UseAniso=root:Packages:Irena:DWSplottingTool:UseAniso
841//     
842//      if (cmpstr(ctrlName,"SelectDataFolder")==0)
843//              SVAR Dtf=root:Packages:Irena:DWSplottingTool:DataFolderName
844//              Dtf=popStr
845//              PopupMenu IntensityDataName mode=1
846//              PopupMenu QvecDataName mode=1
847//              PopupMenu ErrorDataName mode=1
848//              SVAR IntDf=root:Packages:Irena:DWSplottingTool:IntensityWaveName
849//              SVAR QDf=root:Packages:Irena:DWSplottingTool:QWaveName
850//              SVAR EDf=root:Packages:Irena:DWSplottingTool:ErrorWaveName
851//              if (UseIndra2Data)
852//                      if(stringmatch(IR1P_ListOfWaves("Yaxis"), "*M_BKG_Int*") &&stringmatch(IR1P_ListOfWaves("Xaxis"), "*M_BKG_Qvec*")  &&stringmatch(IR1P_ListOfWaves("Error"), "*M_BKG_Error*") )                 
853//                              IntDf="M_BKG_Int"
854//                              QDf="M_BKG_Qvec"
855//                              EDf="M_BKG_Error"
856//                              PopupMenu IntensityDataName value="M_BKG_Int;M_DSM_Int;DSM_Int"
857//                              PopupMenu QvecDataName value="M_BKG_Qvec;M_DSM_Qvec;DSM_Qvec"
858//                              PopupMenu ErrorDataName value="M_BKG_Error;M_DSM_Error;DCM_Error"
859//                      elseif(stringmatch(IR1P_ListOfWaves("Yaxis"), "*BKG_Int*") &&stringmatch(IR1P_ListOfWaves("Xaxis"), "*BKG_Qvec*")  &&stringmatch(IR1P_ListOfWaves("Error"), "*BKG_Error*") )                   
860//                              IntDf="BKG_Int"
861//                              QDf="BKG_Qvec"
862//                              EDf="BKG_Error"
863//                              PopupMenu IntensityDataName value="BKG_Int;DSM_Int"
864//                              PopupMenu QvecDataName value="BKG_Qvec;DSM_Qvec"
865//                              PopupMenu ErrorDataName value="BKG_Error;DCM_Error"
866//                      elseif(stringmatch(IR1P_ListOfWaves("Yaxis"), "*M_DSM_Int*") &&stringmatch(IR1P_ListOfWaves("Xaxis"), "*M_DSM_Qvec*")  &&stringmatch(IR1P_ListOfWaves("Error"), "*M_DSM_Error*") )                     
867//                              IntDf="M_DSM_Int"
868//                              QDf="M_DSM_Qvec"
869//                              EDf="M_DSM_Error"
870//                              PopupMenu IntensityDataName value="M_DSM_Int;DSM_Int"
871//                              PopupMenu QvecDataName value="M_DSM_Qvec;DSM_Qvec"
872//                              PopupMenu ErrorDataName value="M_DSM_Error;DSM_Error;---;"
873//                      else
874//                              if(!stringmatch(IR1P_ListOfWaves("Yaxis"), "*M_DSM_Int*") &&!stringmatch(IR1P_ListOfWaves("Xaxis"), "*M_DSM_Qvec*")  &&!stringmatch(IR1P_ListOfWaves("Error"), "*M_DSM_Error*") )                       
875//                                      IntDf="DSM_Int"
876//                                      QDf="DSM_Qvec"
877//                                      EDf="DSM_Error"
878//                                      PopupMenu IntensityDataName value="DSM_Int"
879//                                      PopupMenu QvecDataName value="DSM_Qvec"
880//                                      PopupMenu ErrorDataName value="DSM_Error;---;"
881//                              endif
882//                             
883//                      endif
884//              else
885//                      IntDf=""
886//                      QDf=""
887//                      EDf=""
888//                      PopupMenu IntensityDataName value="---"
889//                      PopupMenu QvecDataName  value="---"
890//                      PopupMenu ErrorDataName  value="---"
891//              endif
892//              if(UseQRSdata)
893//                      IntDf=""
894//                      QDf=""
895//                      EDf=""
896//                      PopupMenu IntensityDataName  value="---;"+IR1P_ListOfWaves("Yaxis")
897//                      PopupMenu QvecDataName  value="---;"+IR1P_ListOfWaves("Xaxis")
898//                      PopupMenu ErrorDataName  value="---;"+IR1P_ListOfWaves("Error")
899//              endif
900//              if(UseResults)
901//                      IntDf=""
902//                      QDf=""
903//                      EDf=""
904//                      PopupMenu IntensityDataName  value="---;"+IR1P_ListOfWaves("Yaxis")
905//                      PopupMenu QvecDataName  value="---;"+IR1P_ListOfWaves("Xaxis")
906//                      PopupMenu ErrorDataName  value="---;"+IR1P_ListOfWaves("Error")
907//              endif
908//
909//              if(!UseQRSdata && !UseIndra2Data && !UseResults)
910//                      IntDf=""
911//                      QDf=""
912//                      EDf=""
913//                      PopupMenu IntensityDataName  value="---;"+IR1P_ListOfWaves("Yaxis")
914//                      PopupMenu QvecDataName  value="---;"+IR1P_ListOfWaves("Xaxis")
915//                      PopupMenu ErrorDataName  value="---;"+IR1P_ListOfWaves("Error")
916//              endif
917//              if(UseAniso)
918//                      IntDf="AnisoIntensityCorr"
919//                      QDf="sa"
920//                      EDf=""
921//                      PopupMenu IntensityDataName value="AnisoIntensityCorr"
922//                              PopupMenu QvecDataName value="sa"
923//                              PopupMenu ErrorDataName value="---"
924//              endif
925//              if (cmpstr(popStr,"---")==0)
926//                      IntDf=""
927//                      QDf=""
928//                      EDf=""
929//                      PopupMenu IntensityDataName  value="---"
930//                      PopupMenu QvecDataName  value="---"
931//                      PopupMenu ErrorDataName  value="---"
932//              endif
933//      endif
934//     
935//              SVAR IntDf=root:Packages:Irena:DWSplottingTool:IntensityWaveName
936//              SVAR QDf=root:Packages:Irena:DWSplottingTool:QWaveName
937//              SVAR EDf=root:Packages:Irena:DWSplottingTool:ErrorWaveName
938//              NVAR UseQRSData=root:Packages:Irena:DWSplottingTool:UseQRSdata
939//
940//      if (cmpstr(ctrlName,"IntensityDataName")==0)
941//              if (cmpstr(popStr,"---")!=0)
942//                      IntDf=popStr
943//                      if (UseQRSData && strlen(QDf)==0 && strlen(EDf)==0)
944//                              QDf="q"+popStr[1,inf]
945//                              EDf="s"+popStr[1,inf]
946//                              Execute ("PopupMenu QvecDataName mode=1, value=root:Packages:Irena:DWSplottingTool:QWaveName+\";---;\"+IR1P_ListOfWaves(\"Xaxis\")")
947//                              Execute ("PopupMenu ErrorDataName mode=1, value=root:Packages:Irena:DWSplottingTool:ErrorWaveName+\";---;\"+IR1P_ListOfWaves(\"Error\")")
948//                      elseif(UseResults)// && strlen(QDf)==0 && strlen(EDf)==0)
949//                              QDf=IR1P_CheckRightResultsWvs(popStr)
950//                              EDf=""
951//                              Execute ("PopupMenu QvecDataName mode=1, value=root:Packages:Irena:DWSplottingTool:QWaveName+\";---;\"+IR1P_ListOfWaves(\"Xaxis\")")
952//                              Execute ("PopupMenu ErrorDataName mode=1, value=root:Packages:Irena:DWSplottingTool:ErrorWaveName+\";---;\"+IR1P_ListOfWaves(\"Error\")")
953//                      endif
954//              else
955//                      IntDf=""
956//              endif
957//      endif
958//
959//      if (cmpstr(ctrlName,"QvecDataName")==0)
960//              //here goes what needs to be done, when we select this popup...
961//              if (cmpstr(popStr,"---")!=0)
962//                      QDf=popStr
963//                      if (UseQRSData && strlen(IntDf)==0 && strlen(EDf)==0)
964//                              IntDf="r"+popStr[1,inf]
965//                              EDf="s"+popStr[1,inf]
966//                              Execute ("PopupMenu IntensityDataName mode=1, value=root:Packages:Irena:DWSplottingTool:IntensityWaveName+\";---;\"+IR1P_ListOfWaves(\"Yaxis\")")
967//                              Execute ("PopupMenu ErrorDataName mode=1, value=root:Packages:Irena:DWSplottingTool:ErrorWaveName+\";---;\"+IR1P_ListOfWaves(\"Error\")")
968//                      elseif(UseResults)// && strlen(QDf)==0 && strlen(EDf)==0)
969//                              IntDf=IR1P_CheckRightResultsWvs(popStr)
970//                              EDf=""
971//                              Execute ("PopupMenu IntensityDataName mode=1, value=root:Packages:Irena:DWSplottingTool:IntensityWaveName+\";---;\"+IR1P_ListOfWaves(\"Yaxis\")")
972//                              Execute ("PopupMenu ErrorDataName mode=1, value=root:Packages:Irena:DWSplottingTool:ErrorWaveName+\";---;\"+IR1P_ListOfWaves(\"Error\")")
973//                      endif
974//              else
975//                      QDf=""
976//              endif
977//      endif
978//     
979//      if (cmpstr(ctrlName,"ErrorDataName")==0)
980//              //here goes what needs to be done, when we select this popup...
981//              if (cmpstr(popStr,"---")!=0)
982//                      EDf=popStr
983//                      if (UseQRSData && strlen(IntDf)==0 && strlen(QDf)==0)
984//                              IntDf="r"+popStr[1,inf]
985//                              QDf="q"+popStr[1,inf]
986//                              Execute ("PopupMenu IntensityDataName mode=1, value=root:Packages:Irena:DWSplottingTool:IntensityWaveName+\";---;\"+IR1P_ListOfWaves(\"Yaxis\")")
987//                              Execute ("PopupMenu QvecDataName mode=1, value=root:Packages:Irena:DWSplottingTool:QWaveName+\";---;\"+IR1P_ListOfWaves(\"Xaxis\")")
988//                      endif
989//              else
990//                      EDf=""         
991//              endif
992//      endif
993//end
994//
995//Function DWS_GenPlotCheckBox(ctrlName,checked) : CheckBoxControl
996//      String ctrlName
997//      Variable checked
998//      string folder=getdatafolder(1)
999//      SVAR    ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
1000//      if (cmpstr("GraphLogX",ctrlName)==0)
1001//              //anything needs to be done here?
1002//              ListOfGraphFormating=ReplaceStringByKey("log(bottom)",ListOfGraphFormating, num2str(checked),"=")
1003//              ModifyGraph log(bottom)=checked
1004//      endif   
1005//      if (cmpstr("GraphLogy",ctrlName)==0)
1006//              ListOfGraphFormating=ReplaceStringByKey("log(left)",ListOfGraphFormating, num2str(checked),"=")
1007//              ModifyGraph log(left)=checked
1008//      endif   
1009//      if (cmpstr("GraphErrors",ctrlName)==0)
1010//              ListOfGraphFormating=ReplaceStringByKey("ErrorBars",ListOfGraphFormating, num2str(checked),"=")
1011//              DWS_AttachErrorBars()
1012//      endif   
1013//      if (cmpstr("GraphLegend",ctrlName)==0)
1014//              //anything needs to be done here?
1015//              if(checked)
1016//                      NVAR GraphLegendUseFolderNms=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
1017//                      NVAR GraphLegendUseWaveNote=root:Packages:Irena:DWSplottingTool:GraphLegendUseWaveNote
1018//                      ListOfGraphFormating=ReplaceStringByKey("Legend",ListOfGraphFormating, num2str(checked+GraphLegendUseFolderNms+2*GraphLegendUseWaveNote),"=")
1019//              else
1020//                      ListOfGraphFormating=ReplaceStringByKey("Legend",ListOfGraphFormating, num2str(checked),"=")
1021//              endif
1022//      endif
1023//      variable UseLegend
1024//      if (cmpstr("GraphLegendUseFolderNms",ctrlName)==0)
1025//              //anything needs to be done here?
1026//              UseLegend=NumberByKey("Legend",ListOfGraphFormating,"=")
1027//              if (UseLegend)
1028//                      NVAR GraphLegendUseFolderNms=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
1029//                      NVAR GraphLegendUseWaveNote=root:Packages:Irena:DWSplottingTool:GraphLegendUseWaveNote
1030//                      ListOfGraphFormating=ReplaceStringByKey("Legend",ListOfGraphFormating, num2str(1+GraphLegendUseFolderNms+2*GraphLegendUseWaveNote),"=")
1031//              endif
1032//      endif
1033//      if (cmpstr("GraphLegendUseWaveNote",ctrlName)==0)
1034//              //anything needs to be done here?
1035//              UseLegend=NumberByKey("Legend",ListOfGraphFormating,"=")
1036//              if (UseLegend)
1037//                      NVAR GraphLegendUseFolderNms=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
1038//                      NVAR GraphLegendUseWaveNote=root:Packages:Irena:DWSplottingTool:GraphLegendUseWaveNote
1039//                      ListOfGraphFormating=ReplaceStringByKey("Legend",ListOfGraphFormating, num2str(1+GraphLegendUseFolderNms+2*GraphLegendUseWaveNote),"=")
1040//              endif
1041//      endif
1042//     
1043//      if (cmpstr("GraphUseSymbols",ctrlName)==0)
1044//              //anything needs to be done here?
1045//              ListOfGraphFormating=ReplaceStringByKey("Graph use Symbols",ListOfGraphFormating, num2str(checked),"=")
1046//              variable UseLinesAlso=NumberByKey("Graph use Lines",ListOfGraphFormating,"=",";")
1047//      endif
1048//             
1049//      if (cmpstr("GraphUseLines",ctrlName)==0)
1050//              //anything needs to be done here?
1051//              ListOfGraphFormating=ReplaceStringByKey("Graph use lines",ListOfGraphFormating, num2str(checked),"=")
1052//      endif
1053//
1054//      if (cmpstr("GraphUseColors",ctrlName)==0)
1055//              //anything needs to be done here?
1056//              checked+=1
1057//              ListOfGraphFormating=ReplaceStringByKey("Graph use colors",ListOfGraphFormating, num2str(checked),"=") 
1058//      endif
1059//     
1060//      if (cmpstr("GraphLeftAxisAuto",ctrlName)==0)
1061//              //anything needs to be done here?
1062//              ListOfGraphFormating=ReplaceStringByKey("Axis left auto",ListOfGraphFormating, num2str(checked),"=")
1063//      endif
1064//      if (cmpstr("GraphBottomAxisAuto",ctrlName)==0)
1065//              //anything needs to be done here?
1066//              ListOfGraphFormating=ReplaceStringByKey("Axis bottom auto",ListOfGraphFormating, num2str(checked),"=")
1067//      endif
1068//      if (cmpstr("GraphXMajorGrid",ctrlName)==0)
1069//              //anything needs to be done here?   
1070//              NVAR GraphXMajorGrid=root:Packages:Irena:DWSplottingTool:GraphXMajorGrid
1071//              NVAR GraphXMinorGrid=root:Packages:Irena:DWSplottingTool:GraphXMinorGrid
1072//              if (GraphXMajorGrid)
1073//                      if(GraphXMinorGrid)
1074//                              ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "1","=")
1075//                      else
1076//                              ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "2","=")
1077//                      endif
1078//              else
1079//                      ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "0","=")
1080//                      GraphXMinorGrid=0
1081//              endif
1082//             
1083//      endif
1084//      if (cmpstr("GraphXMinorGrid",ctrlName)==0)
1085//              //anything needs to be done here?
1086//              NVAR GraphXMajorGrid=root:Packages:Irena:DWSplottingTool:GraphXMajorGrid
1087//              NVAR GraphXMinorGrid=root:Packages:Irena:DWSplottingTool:GraphXMinorGrid
1088//              ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "0","=")
1089//              if (GraphXMinorGrid)
1090//                      GraphXMajorGrid=1
1091//                      ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "1","=")
1092//              else
1093//                      if(GraphXMajorGrid)
1094//                              ListOfGraphFormating=ReplaceStringByKey("grid(bottom)",ListOfGraphFormating, "2","=")
1095//                      endif
1096//              endif
1097//      endif
1098//      if (cmpstr("GraphYMajorGrid",ctrlName)==0)
1099//                      NVAR GraphYMajorGrid=root:Packages:Irena:DWSplottingTool:GraphYMajorGrid
1100//                      NVAR GraphYMinorGrid=root:Packages:Irena:DWSplottingTool:GraphYMinorGrid
1101//                      if (GraphYMajorGrid)
1102//                              if(GraphYMinorGrid)
1103//                                      ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "1","=")
1104//                              else
1105//                                      ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "2","=")
1106//                              endif
1107//                      else
1108//                              ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "0","=")
1109//                              GraphYMinorGrid=0
1110//                      endif
1111//             
1112//      endif
1113//      if (cmpstr("GraphYMinorGrid",ctrlName)==0)
1114//             
1115//              NVAR GraphYMajorGrid=root:Packages:Irena:DWSplottingTool:GraphYMajorGrid
1116//              NVAR GraphYMinorGrid=root:Packages:Irena:DWSplottingTool:GraphYMinorGrid
1117//              ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "0","=")
1118//              if (GraphYMinorGrid)
1119//                      GraphYMajorGrid=1
1120//                      ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "1","=")
1121//              else
1122//                      if(GraphYMajorGrid)
1123//                              ListOfGraphFormating=ReplaceStringByKey("grid(left)",ListOfGraphFormating, "2","=")
1124//                      endif
1125//              endif
1126//             
1127//      endif
1128//     
1129//      ModifyGraph grid(bottom)=NumberByKey("grid(bottom)", ListOfGraphFormating,"=",";")
1130//      ModifyGraph grid(left)=NumberByKey("grid(left)", ListOfGraphFormating,"=",";")
1131//      setdatafolder folder
1132//DoUpdate
1133//
1134//end
1135//
1136//
1137//function DWS_SetVarProc(ctrlName,varNum,varStr,varName)
1138//
1139//      String ctrlName
1140//      Variable varNum
1141//      String varStr
1142//      String varName
1143//      string folder= getdatafolder(1)
1144//      SVAR    ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
1145//     
1146//      if (cmpstr("GraphXAxisName",ctrlName)==0)
1147//              //anything needs to be done here?
1148//              ListOfGraphFormating=ReplaceStringByKey("Label bottom",ListOfGraphFormating, varStr,"=")
1149//              Label bottom StringbyKey("Label bottom", ListOfGraphFormating,"=",";")
1150//     
1151//      endif
1152//      if (cmpstr("GraphYAxisName",ctrlName)==0)
1153//              //anything needs to be done here?
1154//              ListOfGraphFormating=ReplaceStringByKey("Label left",ListOfGraphFormating, varStr,"=")
1155//              Label left StringbyKey("Label left", ListOfGraphFormating,"=",";")
1156//      endif
1157//     
1158//      if (cmpstr("GraphLineWidth",ctrlName)==0)
1159//              //anything needs to be done here?
1160//              ListOfGraphFormating=ReplaceNumberByKey("lsize",ListOfGraphFormating, varNum,"=")
1161//      endif
1162//              if (cmpstr("TicRotation",ctrlName)==0)
1163//              ModifyGraph tkLblRot(left)=varNum       
1164//      endif
1165//     
1166//      if (cmpstr("GraphSymbolSize",ctrlName)==0)
1167//              ListOfGraphFormating=ReplaceNumberByKey("msize",ListOfGraphFormating, varNum,"=")
1168//      endif
1169//     
1170//      if (cmpstr("GraphAxisWidth",ctrlName)==0)       
1171//              ListOfGraphFormating=ReplaceNumberByKey("axThick",ListOfGraphFormating, varNum,"=")
1172//              ModifyGraph axThick=varnum
1173//              variable fontsize=(14*(Varnum==1))+(16*(varnum==2))+(18*(varnum==3))+(20*(varnum==4))
1174//              ModifyGraph fSize=fontsize
1175//              ModifyGraph fSize=fontsize
1176//              ModifyGraph fSize=fontsize
1177//      endif
1178//              if (cmpstr("GraphLeftAxisMin",ctrlName)==0)             
1179//              ListOfGraphFormating=ReplaceNumberByKey("Axis left min",ListOfGraphFormating, varNum,"=")
1180//              DWS_Irena:DWSplottingToolInGraph()
1181//      endif
1182//      if (cmpstr("GraphLeftAxisMax",ctrlName)==0)             
1183//              ListOfGraphFormating=ReplaceNumberByKey("Axis left max",ListOfGraphFormating, varNum,"=")
1184//              DWS_Irena:DWSplottingToolInGraph()
1185//      endif
1186//      if (cmpstr("GraphBottomAxisMin",ctrlName)==0)
1187//              ListOfGraphFormating=ReplaceNumberByKey("Axis bottom min",ListOfGraphFormating, varNum,"=")
1188//              DWS_Irena:DWSplottingToolInGraph()
1189//      endif
1190//      if (cmpstr("GraphBottomAxisMax",ctrlName)==0)           
1191//              ListOfGraphFormating=ReplaceNumberByKey("Axis bottom max",ListOfGraphFormating, varNum,"=")
1192//              DWS_Irena:DWSplottingToolInGraph()
1193//      endif
1194//      setdatafolder folder
1195//end
1196//
1197//
1198//
1199//Function DWS_InputPanelButtonProc(ctrlName) : ButtonControl
1200//      String ctrlName
1201//
1202//      string ListOfVariables, listofstrings
1203//              variable i
1204//              if (!DataFolderExists("root:Packages:SAS_Modeling"))           
1205//                      NewDataFolder/O root:Packages
1206//                      NewDataFolder/O root:Packages:SAS_Modeling
1207//              endif
1208//              SetDataFolder root:Packages:SAS_Modeling                                       
1209//              ListOfStrings="DataFolderName"
1210//              ListOfVariables="Orientation;fold;SmallMon"
1211//              for(i=0;i<itemsInList(ListOfVariables);i+=1)   
1212//                      DWS_CreateItem("variable",StringFromList(i,ListOfVariables))
1213//              endfor         
1214//              for(i=0;i<itemsInList(ListOfStrings);i+=1)     
1215//                      DWS_CreateItem("string",StringFromList(i,ListOfStrings))
1216//              endfor         
1217//     
1218//      variable IsAllAllRight
1219//
1220//      if ((cmpstr(ctrlName,"AddDataToGraph")==0)||(cmpstr(ctrlName,"newgraph")==0))
1221//              //here goes what is done, when user pushes Graph button
1222//              SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
1223//              SVAR DFloc=root:Packages:Irena:DWSplottingTool:DataFolderName
1224//              SVAR DFInt=root:Packages:Irena:DWSplottingTool:IntensityWaveName
1225//              SVAR DFQ=root:Packages:Irena:DWSplottingTool:QWaveName
1226//              SVAR DFE=root:Packages:Irena:DWSplottingTool:ErrorWaveName
1227//              IsAllAllRight=1
1228//              if (cmpstr(DFloc,"---")==0 || strlen(DFloc)<=0)
1229//                      IsAllAllRight=0
1230//              endif
1231//              if (cmpstr(DFInt,"---")==0 || strlen(DFInt)<=0)
1232//                      IsAllAllRight=0
1233//              endif
1234//              //if (cmpstr(DFQ,"---")==0 || strlen(DFQ)<=0)//qwave selection not required will use x-wave scaling
1235//                      //IsAllAllRight=0
1236//              //endif
1237//              //if (IsAllAllRight)
1238//                      //IR1P_RecordDataForGraph()  dws Nov
1239//              //else
1240//              //      Abort "Data not selected properly"
1241//      //      endif
1242//              if (cmpstr(ctrlName,"newgraph")==0)
1243//                      IR2D_DWSCreateGraph(1)   //create  the graph
1244//              else
1245//                      IR2D_DWSCreateGraph(0)
1246//              endif                                   
1247//      endif   
1248//     
1249//      if (cmpstr(ctrlName,"SaveGraph")==0)
1250//              string top= StringFromList(0,WinList("*", ";", "WIN:1"))
1251//              DoWindow/F $top
1252//              string cmd= "DoIgorMenu  \"Control\", \"Window control\""
1253//              execute/P cmd
1254//      endif
1255//     
1256//      if (cmpstr(ctrlName,"Standard")==0)
1257//              execute "StdGraph()"//(width,maxY,minY,BW,ylabel,xlabel,modetype,aspect)
1258//      endif
1259//     
1260//      if (cmpstr(ctrlName,"Capture")==0)
1261//              GetAxis /Q left
1262//              SVAR ListOfGraphFormating=root:Packages:Irena:DWSplottingTool:ListOfGraphFormating
1263//              NVAR GraphLeftAxisAuto=root:Packages:Irena:DWSplottingTool:GraphLeftAxisAuto
1264//              NVAR GraphLeftAxisMin=root:Packages:Irena:DWSplottingTool:GraphLeftAxisMin
1265//              NVAR GraphLeftAxisMax=root:Packages:Irena:DWSplottingTool:GraphLeftAxisMax
1266//              NVAR GraphBottomAxisAuto=root:Packages:Irena:DWSplottingTool:GraphBottomAxisAuto
1267//              NVAR GraphBottomAxisMin=root:Packages:Irena:DWSplottingTool:GraphBottomAxisMin
1268//              NVAR GraphBottomAxisMax=root:Packages:Irena:DWSplottingTool:GraphBottomAxisMax
1269//              GraphLeftAxisMin=V_min
1270//              GraphLeftAxisMax=V_max
1271//              ListOfGraphFormating=ReplaceNumberByKey("Axis left min",ListOfGraphFormating, GraphLeftAxisMin,"=")
1272//              ListOfGraphFormating=ReplaceNumberByKey("Axis left max",ListOfGraphFormating, GraphLeftAxisMax,"=")
1273//              GetAxis  /Q bottom
1274//              GraphBottomAxisMin=V_min
1275//              GraphBottomAxisMax=V_max
1276//              ListOfGraphFormating=ReplaceNumberByKey("Axis bottom min",ListOfGraphFormating, GraphBottomAxisMin,"=")
1277//              ListOfGraphFormating=ReplaceNumberByKey("Axis bottom max",ListOfGraphFormating, GraphBottomAxisMax,"=")
1278//      endif   
1279//     
1280//      if (cmpstr(ctrlName,"Format")==0)
1281//              FormatGraph(0)
1282//      endif
1283//     
1284//      if (cmpstr(ctrlName,"Legends")==0)
1285//              DWS_AttachLegend()
1286//      endif
1287//     
1288//      if (cmpstr(ctrlName,"killLegends")==0)
1289//                      NVAR GraphLegendUseFolderNms=root:Packages:Irena:DWSplottingTool:GraphLegendUseFolderNms
1290//                      NVAR GraphLegendUseWaveNote=root:Packages:Irena:DWSplottingTool:GraphLegendUseWaveNote         
1291//              if(GraphLegendUseFolderNms==0)
1292//                      TextBox/K/N=FolderLegend
1293//              endif
1294//              if (GraphLegendUseWaveNote==0)
1295//                      TextBox/K/N=waveLegend
1296//              endif
1297//              DWS_AttachLegend()
1298//      endif
1299//     
1300//      if (cmpstr(ctrlName,"ChangeAx")==0)
1301//              DWS_Irena:DWSplottingToolInGraph()
1302//      endif
1303//     
1304//      if (cmpstr(ctrlName,"Hermans1")==0)     
1305//              SVAR DFLoc2=root:Packages:SAS_Modeling:DataFolderName
1306//              setdatafolder DFLoc2
1307//              NVAR Fold=root:Packages:SAS_Modeling:fold
1308//              fold = 0
1309//              execute "HermansPanel()"
1310//      endif
1311//     
1312//      if (cmpstr(ctrlName,"Hermans")==0)     
1313//             
1314//              SVAR DFLoc1=root:Packages:Irena:DWSplottingTool:DataFolderName
1315//              SVAR DFLoc2=root:Packages:SAS_Modeling:DataFolderName
1316//              DFLoc2=DFloc1
1317//              setdatafolder DFLoc2
1318//              string rwave="AnisointensityCorr", xwave= "sa"
1319//              NVAR Orientation =root:Packages:SAS_Modeling:Orientation
1320//              NVAR Fold=root:Packages:SAS_Modeling:fold
1321//              orientation = 0
1322//              fold = 0
1323//              execute "UNICAT_AzamuthalPanel()"
1324//      endif
1325//end
1326//
1327//
1328//
1329//Function DWS_InputPanelCheckboxProc(ctrlName,checked) : CheckBoxControl
1330//      String ctrlName
1331//      Variable checked       
1332//              NVAR UseIndra2Data=root:Packages:Irena:DWSplottingTool:UseIndra2Data
1333//              NVAR UseQRSData=root:Packages:Irena:DWSplottingTool:UseQRSData
1334//              NVAR UseResults=root:Packages:Irena:DWSplottingTool:UseResults
1335//              NVAR UseAniso=root:Packages:Irena:DWSplottingTool:UseAniso             
1336//              SVAR Dtf=root:Packages:Irena:DWSplottingTool:DataFolderName
1337//              SVAR IntDf=root:Packages:Irena:DWSplottingTool:IntensityWaveName
1338//              SVAR QDf=root:Packages:Irena:DWSplottingTool:QWaveName
1339//              SVAR EDf=root:Packages:Irena:DWSplottingTool:ErrorWaveName
1340//              SVAR xname=root:Packages:Irena:DWSplottingTool:GraphXAxisName
1341//              SVAR yname=root:Packages:Irena:DWSplottingTool:GraphyAxisName
1342//              xname="\F'Helvetica'\Z14q (A\S-1\M)"
1343//              yname="\F'Helvetica'\Z14Intensity (cm)\S-1"
1344//                             
1345//              Dtf=" "
1346//              IntDf=" "
1347//              QDf=" "
1348//              EDf=" "
1349//              PopupMenu SelectDataFolder mode=1
1350//              PopupMenu IntensityDataName   mode=1, value="---"
1351//              PopupMenu QvecDataName    mode=1, value="---"
1352//              PopupMenu ErrorDataName    mode=1, value="---"
1353//             
1354//              string top= StringFromList(0,WinList("DWS_GraphPanel", ";", "WIN:1"))
1355//              If (stringmatch(top, "DWS_GraphPanel" ))
1356//             
1357//              //DoWindow/F $top
1358//              //string cmd= "DoIgorMenu  \"Control\", \"Window control\""
1359//     
1360//                      Button Hermans,win =DWS_GraphPanel, disable=1  ,pos={220,495},size={100,20}
1361//                      Button Hermans font="Times New Roman",fSize=10,proc=DWS_InputPanelButtonProc,title="Hermans"
1362//              endif
1363//      if (cmpstr(ctrlName,"UseIndra2Data")==0)
1364//              if (checked)
1365//                      UseQRSData=0
1366//                      UseResults=0
1367//                      UseAniso=0
1368//              endif
1369//      endif
1370//      if (cmpstr(ctrlName,"UseQRSData")==0)
1371//              if (checked)
1372//                      UseIndra2Data=0
1373//                      UseResults=0
1374//                      UseAniso=0
1375//              endif
1376//
1377//      endif
1378//      if (cmpstr(ctrlName,"UseResults")==0)//dws
1379//              DoAlert 0, "Currently not implimented\r see panel code"
1380//              if (checked)
1381//                      UseIndra2Data=0
1382//                      UseQRSData=0
1383//                      UseAniso=0
1384//              endif           
1385//      endif
1386//     
1387//      if (cmpstr(ctrlName,"UseAniso")==0)//dws
1388//              DoAlert 0, "Currently not implimented\r see panel code"
1389//              Useaniso=checked
1390//              if (checked)
1391//                      UseIndra2Data=0
1392//                      UseQRSData=0
1393//                      UseResults=0
1394//                      Button Hermans,win =DWS_GraphPanel, disable=0   ,pos={220,495},size={100,20},font="Times New Roman",fSize=10,proc=DWS_InputPanelButtonProc,title="Hermans"
1395//              xname="\F'Helvetica'\Z14Azamuthal Angle (Deg)"
1396//              yname="\F'Helvetica'\Z14Intensity"
1397//              endif   
1398//      endif   
1399//end
1400//
1401//Function/T DWS_ListOfWaves(DataType)
1402//      string DataType                 //data type   : Xaxis, Yaxis, Error
1403//     
1404//      NVAR UseIndra2Data=root:packages:Irena:DWSplottingTool:UseIndra2Data
1405//      NVAR UseQRSData=root:packages:Irena:DWSplottingTool:UseQRSData
1406//      NVAR UseResults=root:packages:Irena:DWSplottingTool:UseResults
1407//      NVAR UseAniso=root:packages:Irena:DWSplottingTool:UseAniso
1408//      Nvar iWavesOnly=root:packages:Irena:DWSplottingTool:iWavesOnly
1409//      SVAR FldrNm=root:Packages:Irena:DWSplottingTool:DataFolderName//seems like inconsistent choice of data folder
1410//      string result="", tempresult="", tempStringQ="", tempStringR="", tempStringS=""
1411//     
1412//      variable i,j
1413//             
1414//      if (UseIndra2Data)
1415//              result=IN2G_CreateListOfItemsInFolder(FldrNm,2)
1416//              tempresult=""
1417//              if(cmpstr(DataType,"Xaxis")==0)
1418//                      if(stringMatch(result,"*DSM_Qvec*"))
1419//                              for (i=0;i<ItemsInList(result);i+=1)
1420//                                      if (stringMatch(StringFromList(i,result),"*DSM_Qvec*"))
1421//                                              tempresult+=StringFromList(i,result)+";"
1422//                                      endif
1423//                              endfor
1424//                              For (j=0;j<ItemsInList(result);j+=1)
1425//                                      if (stringMatch(StringFromList(j,result),"*BKG_Qvec*"))
1426//                                              tempresult+=StringFromList(j,result)+";"
1427//                                      endif
1428//                              endfor
1429//                      endif
1430//              elseif (cmpstr(DataType,"Yaxis")==0)
1431//                      if(stringMatch(result,"*DSM_Int*"))
1432//                              for (i=0;i<ItemsInList(result);i+=1)
1433//                                      if (stringMatch(StringFromList(i,result),"*DSM_Int*"))
1434//                                              tempresult+=StringFromList(i,result)+";"
1435//                                      endif
1436//                              endfor
1437//                              For (j=0;j<ItemsInList(result);j+=1)
1438//                                      if (stringMatch(StringFromList(j,result),"*BKG_Int*"))
1439//                                              tempresult+=StringFromList(j,result)+";"
1440//                                      endif
1441//                              endfor
1442//                      endif
1443//              else// (cmpstr(DataType,"Error")==0)
1444//                      if(stringMatch(result,"*DSM_Error*"))
1445//                              for (i=0;i<ItemsInList(result);i+=1)
1446//                                      if (stringMatch(StringFromList(i,result),"*DSM_Error*"))
1447//                                              tempresult+=StringFromList(i,result)+";"
1448//                                      endif
1449//                              endfor
1450//                              For (j=0;j<ItemsInList(result);j+=1)
1451//                                      if (stringMatch(StringFromList(j,result),"*BKG_Error*"))
1452//                                              tempresult+=StringFromList(j,result)+";"
1453//                                      endif
1454//                              endfor
1455//                      endif
1456//              endif
1457//                      result=tempresult
1458//      elseif(UseQRSData)
1459//              result=""                       //IN2G_CreateListOfItemsInFolder(FldrNm,2)
1460//              tempStringQ=IR1_ListOfWavesOfType("q",IN2G_CreateListOfItemsInFolder(FldrNm,2))
1461//              tempStringR=IR1_ListOfWavesOfType("r",IN2G_CreateListOfItemsInFolder(FldrNm,2))
1462//              tempStringS=IR1_ListOfWavesOfType("s",IN2G_CreateListOfItemsInFolder(FldrNm,2))
1463//             
1464//              if (cmpstr(DataType,"Yaxis")==0)
1465//                      For (j=0;j<ItemsInList(tempStringR);j+=1)
1466//                              if (stringMatch(tempStringQ,"*q"+StringFromList(j,tempStringR)[1,inf]+";*") && stringMatch(tempStringS,"*s"+StringFromList(j,tempStringR)[1,inf]+";*"))
1467//                                      result+=StringFromList(j,tempStringR)+";"
1468//                              endif
1469//                      endfor
1470//              elseif(cmpstr(DataType,"Xaxis")==0)
1471//                      For (j=0;j<ItemsInList(tempStringQ);j+=1)
1472//                              if (stringMatch(tempStringR,"*r"+StringFromList(j,tempStringQ)[1,inf]+";*") && stringMatch(tempStringS,"*s"+StringFromList(j,tempStringQ)[1,inf]+";*"))
1473//                                      result+=StringFromList(j,tempStringQ)+";"
1474//                              endif
1475//                      endfor
1476//              else
1477//                      For (j=0;j<ItemsInList(tempStringS);j+=1)
1478//                              if (stringMatch(tempStringR,"*r"+StringFromList(j,tempStringS)[1,inf]+";*") && stringMatch(tempStringQ,"*q"+StringFromList(j,tempStringS)[1,inf]+";*"))
1479//                                      result+=StringFromList(j,tempStringS)+";"
1480//                              endif
1481//                      endfor
1482//              endif
1483//      elseif (UseResults)
1484//              result=IN2G_CreateListOfItemsInFolder(FldrNm,2)
1485//              tempresult=""
1486//              string tempstr
1487//              if(cmpstr(DataType,"Xaxis")==0)
1488//                      For (j=0;j<ItemsInList(result);j+=1)
1489//                      tempstr= StringFromList(j,result)
1490//                              if (stringMatch(tempstr,"UnifiedFitQvector*") || stringMatch(tempstr,"SizesFitQvector*")|| stringMatch(tempstr,"SizesDistDiameter*") ||stringMatch(tempstr,"ModelingDiameters*") || stringMatch(tempstr,"FractFitQvector*") || stringMatch(tempstr,"ModelingQvector*"))
1491//                                      tempresult+=tempstr+";"
1492//                              endif
1493//                      endfor         
1494//              elseif (cmpstr(DataType,"Yaxis")==0)
1495//                      For (j=0;j<ItemsInList(result);j+=1)
1496//                      tempstr= StringFromList(j,result)
1497//                              if (stringMatch(tempstr,"UnifiedFitIntensity*") || stringMatch(tempstr,"SizesFitIntensity*") || stringMatch(tempstr,"SizesVolumeDistribution*")|| stringMatch(tempstr,"SizesNumberDistribution*") ||stringMatch(tempstr,"ModelingNumberDistribution*")||stringMatch(tempstr,"ModelingVolumeDistribution*") || stringMatch(tempstr,"FractFitIntensity*") || stringMatch(tempstr,"ModelingIntensity*"))
1498//                                      tempresult+=tempstr+";"
1499//                              endif
1500//                      endfor         
1501//              else            //error
1502//                      result = "---"
1503//              endif
1504//              result = tempresult
1505//      elseif (UseAniso)
1506//              result=IN2G_CreateListOfItemsInFolder(FldrNm,2)
1507//              tempresult=""
1508//             
1509//              if(cmpstr(DataType,"Xaxis")==0)
1510//                      For (j=0;j<ItemsInList(result);j+=1)
1511//                      tempstr= StringFromList(j,result)
1512//                              if (stringMatch(tempstr,"sa") )
1513//                                      tempresult+=tempstr+";"
1514//                              endif
1515//                      endfor         
1516//              elseif (cmpstr(DataType,"Yaxis")==0)
1517//                      For (j=0;j<ItemsInList(result);j+=1)
1518//                      tempstr= StringFromList(j,result)
1519//                              if (stringMatch(tempstr,"Anis*"))
1520//                                      tempresult+=tempstr+";"
1521//                              endif
1522//                      endfor         
1523//              else            //error
1524//                      result = "---"
1525//              endif
1526//              result = tempresult
1527//      elseif(iWavesonly)
1528//              result=IN2G_CreateListOfItemsInFolder(FldrNm,2)
1529//              tempresult=""
1530//                      For (j=0;j<ItemsInList(result);j+=1)
1531//                      tempstr= StringFromList(j,result)
1532//                              if (stringMatch(tempstr,"i*") )
1533//                                      tempresult+=tempstr+";"
1534//                              endif
1535//                      endfor 
1536//              result = tempresult
1537//      else
1538//              result=IN2G_CreateListOfItemsInFolder(FldrNm,2)
1539//      endif
1540//      return result
1541//end
1542//
1543//Function/T DWS_GenStringOfFolders(fullpath)//need to add full path
1544//      variable fullpath
1545//             
1546//      NVAR UseIndra2Structure=root:packages:Irena:DWSplottingTool:UseIndra2Data
1547//      NVAR UseQRSStructure=root:packages:Irena:DWSplottingTool:UseQRSData
1548//      NVAR UseResults=root:packages:Irena:DWSplottingTool:UseResults
1549//      NVAR UseAniso=root:packages:Irena:DWSplottingTool:UseAniso
1550//      NVAR iWavesOnly=root:packages:Irena:DWSplottingTool:iWavesOnly
1551//      string ListOfQFolders=""
1552//      string result=""
1553//      if (UseIndra2Structure)
1554//              result=DWS_FindFolderWithWaveTypes("root:USAXS:", 10, "*DSM*", fullpath)
1555//      endif
1556//      if (UseQRSStructure)
1557//              ListOfQFolders=DWS_FindFolderWithWaveTypes("root:", 10, "q*", fullpath)
1558//              result+=ListOfQFolders//ReturnListQRSFolders(ListOfQFolders)
1559//      endif
1560//      if (UseAniso)
1561//              ListOfQFolders=IN2G_FindFolderWithWaveTypes("root:", 10, "Anis*", fullpath)
1562//              result+=ListOfQFolders//ReturnListResultsFolders(ListOfQFolders)
1563//      endif
1564//      if(useResults)
1565//                      ListOfQFolders+=IN2G_FindFolderWithWaveTypes("root:", 10, "UnifiedFitIntensity*", fullpath)
1566//                      ListOfQFolders+=IN2G_FindFolderWithWaveTypes("root:", 10, "SizesDistributionVolume", fullpath)
1567//                      ListOfQFolders+=IN2G_FindFolderWithWaveTypes("root:", 10, "ModelingVolumeDistribution*", fullpath)
1568//                      ListOfQFolders+=IN2G_FindFolderWithWaveTypes("root:", 10, "FractFitIntensity*", fullpath)               
1569//              result+=ReturnListResultsFolders(ListOfQFolders)
1570//      endif
1571//      if (iWavesOnly)
1572//              result+=DWS_FindFolderWithWaveTypes("root:", 10, "i*", fullpath)
1573//      endif
1574//      if ((!UseQRSStructure&!UseAniso&!iWavesOnly&!useResults&!UseIndra2Structure))
1575//              result=IN2G_FindFolderWithWaveTypes("root:", 10, "*", fullpath)
1576//      endif
1577//      return result
1578//end
1579//
Note: See TracBrowser for help on using the repository browser.