demoguim.m
上传用户:haiyisale
上传日期:2013-01-09
资源大小:3246k
文件大小:4k
源码类别:

波变换

开发平台:

Matlab

  1. function out1 = demoguim(option,in2,in3)
  2. %DEMOGUIM Main GUI-mode demos menu in the Wavelet Toolbox.
  3. %   DEMOGUIM creates the window for GUI mode demos.
  4. %   DEMOGUIM('auto') shows all the GUI mode demos
  5. %   in automatic mode.
  6. %
  7. %   DEMOGUIM('gr_auto') shows all the GUI mode demos
  8. %   in automatic mode: first in the increasing slide order
  9. %   and then in the decreasing slide order.
  10. %
  11. %   DEMOGUIM('loop') shows all the GUI mode demos
  12. %   in loop mode.
  13. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  14. %   Last Revision: 12-Nov-2003.
  15. %   Copyright 1995-2004 The MathWorks, Inc.
  16. %   $Revision: 1.17.4.4 $ $Date: 2004/04/13 00:39:07 $
  17. if nargin==0 , option = 'create'; end
  18. tag_dem_tool  = 'Demo_Tool';
  19. tag_guim_tool = 'Guim_Tool';
  20. tag_sub_close = 'Guim_Close';  % tag for sub_window
  21. switch option
  22.     case 'create'
  23.         win = demoguimwin;
  24.         winSTR = sprintf('%25.18f',win);
  25.         set(win,'CloseRequestFcn',[mfilename '(''close'',' winSTR ')'])
  26.         if nargout>0 , out1 = win; end
  27.     case {'dw1d','wp1d','cw1d','cwim','dw2d','wp2d','wvdi','wpdi',...
  28.           'sw1d','de1d','re1d','cf1d','sw2d','cf2d','sext','iext',...
  29.           'nwav','wfbm','wfus'}
  30.         if nargin==1
  31.             win = wfindobj('figure','tag',tag_guim_tool);
  32.         else
  33.             win = in2;
  34.         end
  35.         switch option
  36.             case {'futureDEMOS'} % Template
  37.                 uiwait(msgbox('This demo is not available.',...
  38.                     'Caution','warn','modal'));
  39.                 return
  40.         end
  41.         if ishandle(win)
  42.             set(wfindobj(win,'style','pushbutton'),'Enable','Off');
  43.         end
  44.         demoname = ['dgui' option];
  45. addclose = [mfilename '(''endshow'');'];
  46. fig = wshowdrv(demoname,addclose,tag_sub_close);
  47. if nargout>0 , out1 = fig; end
  48.     case {'auto','gr_auto'}
  49.         %************************************%
  50.         %** OPTION = 'auto' and 'gr_auto'  **%
  51. %** All demos inautomatic modes.   **%
  52.         %************************************%
  53. lstDEMOS = {...
  54. 'dw1d','wp1d','cw1d','cwim','dw2d','wp2d','wvdi','wpdi', ...
  55. 'sw1d','de1d','re1d','cf1d','sw2d','cf2d','sext','iext',...
  56.                 'nwav','wfbm','wfus'};
  57. win = demoguim('create');
  58. set(wfindobj(win,'style','pushbutton'),'Enable','Off');
  59. stop = 0;
  60.         while stop==0
  61.             for k=1:length(lstDEMOS)
  62.                 feval(['dgui',lstDEMOS{k}],option);
  63.                 if ~ishandle(win) , stop = 1; break; end
  64.             end
  65.             if ~isequal(stop,1) & nargin==2 & isequal(in2,'loop')
  66. stop = 0 ;
  67. else
  68. stop = 1;
  69. end
  70.         end
  71.         demoguim('close',win);
  72.     case 'loop'
  73.         %***********************************************************%
  74.         %** OPTION = 'loop' - loop for all demos (automatic mode) **%
  75.         %***********************************************************%
  76.         demoguim('auto','loop');
  77.     case 'endshow'
  78.         %**************************************************%
  79.         %** OPTION = 'endshow' - used to finish wshowdrv **%
  80.         %**************************************************%
  81.         win = wfindobj('figure','tag',tag_guim_tool);
  82.         set(findobj(win,'style','pushbutton'),'Enable','on');
  83. mousefrm(win,'arrow');
  84.         drawnow;
  85.     case 'close'
  86.         %***********************************************%
  87.         %** OPTION = 'close' - close demoguim window  **%
  88.         %***********************************************%
  89.         mousefrm(0,'watch')
  90.         % Closing all opened main analysis windows.
  91.         %------------------------------------------
  92.         pus_handles = wfindobj(0,'Style','pushbutton');
  93.         hdls        = findobj(pus_handles,'flat','Tag',tag_sub_close);
  94.         for i=1:length(hdls)
  95.             hdl = hdls(i);
  96.             try , par = get(hdl,'Parent'); end            
  97.             try , eval(get(hdl,'Callback')); end
  98.             try , delete(par); end
  99.         end
  100.         % Closing the demoguim window.
  101.         %-----------------------------
  102.         try , delete(in2); end
  103.         win_ini = wfindobj('figure','tag',tag_dem_tool);
  104.         if ~isempty(win_ini)
  105.             pus_handles = findobj(win_ini,'Style','pushbutton');
  106.             set(pus_handles,'Enable','on');
  107.         else
  108.             mextglob('clear')
  109.             wtbxmngr('clear')
  110.         end
  111.         mousefrm(0,'arrow');
  112.     otherwise
  113.         errargt(mfilename,'Unknown Option','msg');
  114.         error('*');
  115. end
  116. % Reset the LASTERR function
  117. lasterr('');