summaryrefslogtreecommitdiff
path: root/idl/ipp_examples.pro
diff options
context:
space:
mode:
Diffstat (limited to 'idl/ipp_examples.pro')
-rw-r--r--idl/ipp_examples.pro126
1 files changed, 126 insertions, 0 deletions
diff --git a/idl/ipp_examples.pro b/idl/ipp_examples.pro
new file mode 100644
index 0000000..3a1befe
--- /dev/null
+++ b/idl/ipp_examples.pro
@@ -0,0 +1,126 @@
+pro ipp_init
+ COMMON ex_com,ex_path,image1,example
+ erase
+ idlpath=getenv('IDL_DIR')
+ ex_path=idlpath+'/examples/ipp/'
+ read_gif,ex_path+'/images/rzg.gif',image1,r,g,b
+ tvlct,r,b,g
+ tv,image1,100,50
+end
+pro make_example_event,event
+ COMMON ex_com
+ widget_control,event.id,get_uvalue=evval
+ case evval of
+ 'DONE' : begin
+ widget_control,event.top,/destroy
+ ipp_init
+ end
+ 'RUN' : case example of
+ 'for_idl' : begin
+ cmd='xterm -e '+ex_path+'for_idl/for_idl'
+ spawn,cmd
+ end
+ 'c_idl' : begin
+ cmd='xterm -e '+ex_path+'c_idl/c_idl'
+ spawn,cmd
+ end
+ else : dumy=execute(example)
+ endcase
+ 'CODE' : begin
+ dummy=''
+ pfile=pickfile(/read,path=ex_path+example)
+ if pfile ne dummy then xdisplayfile,pfile
+ end
+ endcase
+end
+pro make_example
+ COMMON ex_com
+ ex_plotbase=widget_base(/column)
+ XPdMenu,[ '" Done " DONE' , $
+ '" RUN " RUN' $
+ ] ,ex_plotbase
+ case example of
+ 'for_idl' : button=widget_button(ex_plotbase,value='display code',uvalue='CODE')
+ 'c_idl' : button=widget_button(ex_plotbase,value='display code',uvalue='CODE')
+ else : dummy=widget_label(ex_plotbase,value=' ')
+ endcase
+ widget_control,ex_plotbase,/realize
+ xmanager,'make_example',ex_plotbase
+end
+pro ipp_examples_event,event
+ COMMON ex_com
+ widget_control,event.id,get_uvalue=evval
+ case evval of
+ 'DONE' : widget_control,event.top,/destroy
+ 'RESET' : ipp_init
+ 'C_IDL' : begin
+ erase
+ read_gif,ex_path+'/images/c_idl.gif',image2,r,g,b
+ tvlct,r,b,g
+ tv,image2
+ example='c_idl'
+ make_example
+ end
+ 'FOR_IDL' : begin
+ erase
+ read_gif,ex_path+'/images/for_idl.gif',image2,r,g,b
+ tvlct,r,b,g
+ tv,image2
+ example='for_idl'
+ make_example
+ end
+ 'EX_PLOT' : begin
+ erase
+ read_gif,ex_path+'/images/text_plot.gif',image2,r,g,b
+ tvlct,r,b,g
+ tv,image2
+ example='ex_plot'
+ make_example
+ end
+ 'IDL_FOR' : begin
+ erase
+ read_gif,ex_path+'/images/idl_for.gif',image2,r,g,b
+ tvlct,r,b,g
+ tv,image2
+ example='idl_for'
+ make_example
+ end
+ 'HIS_PLOT' : begin
+ erase
+ read_gif,ex_path+'/images/his_plot.gif',image2,r,g,b
+ tvlct,r,b,g
+ tv,image2
+ example='his_plot'
+ make_example
+ end
+ 'CODE' : XDisplayFile,ex_path+'ipp_examples.pro'
+ endcase
+
+end
+pro ipp_examples
+ COMMON ex_com
+ base=widget_base(column=2)
+ base1=widget_base(base,/column)
+ base2=widget_base(base,row=2)
+ lab2=widget_label(base2,xsize=600,ysize=80,/align_center,$
+ value="IPP-Examples Overview")
+ XPdMenu,[ '" Done " DONE' , $
+ '" Reset " RESET' $
+ ],base1
+ lab1=widget_label(base1,xsize=80,ysize=40,value=" ")
+ butt1=widget_button(base1,value=' Histogram Plot ',uvalue='HIS_PLOT')
+ label=widget_label(base1,ysize=3,value=' ')
+ butt2=widget_button(base1,value=' Plot with Text ',uvalue='EX_PLOT')
+ label=widget_label(base1,ysize=3,value=' ')
+ butt3=widget_button(base1,value=' IDL calls Fortran ',uvalue='IDL_FOR')
+ label=widget_label(base1,ysize=3,value=' ')
+ butt4=widget_button(base1,value=' Fortran calls IDL ',uvalue='FOR_IDL')
+ label=widget_label(base1,ysize=3,value=' ')
+ butt5=widget_button(base1,value=' C calls IDL ' ,uvalue='C_IDL')
+ label=widget_label(base1,ysize=3,value=' ')
+ butt6=widget_button(base1,value=' display code ',uvalue='CODE')
+ draw=widget_draw(base2,xsize=800,ysize=800,colors=256,retain=2)
+ widget_control,base,/realize
+ ipp_init
+ xmanager,'ipp_examples',base
+end