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

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

Plotting tool 2 modifications, minor changes other packages

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