pshapemenu.m
上传用户:loeagle
上传日期:2013-03-02
资源大小:1236k
文件大小:3k
源码类别:

通讯编程文档

开发平台:

Matlab

  1. function rarg = pshapemenu (action);
  2. global Buttons;
  3. global menuwinh;
  4. global buttonh;
  5. global MenuWinPos;
  6. Buttons = 6;
  7. ButtonText1 = 'NRZ Rectangular';
  8. ButtonText2 = 'Raised-Cosine';
  9. ButtonText3 = 'Root-RC';
  10. ButtonText4 = 'Butterworth';
  11. ButtonText5 = 'Convolution';
  12. ButtonText6 = 'Main Menu';
  13. if nargin < 1                                           % no argument -> init 
  14.   action = 'init';
  15. end;
  16. % -----------------------------------------------------------------
  17. % init
  18. % initialize variables and open window
  19. if strcmp (action, 'init')
  20.   % Constants and definitions
  21.    set(0,'Units','pixels');
  22.    scnsize = get(0,'ScreenSize');
  23.   MenuWinPos  = [10 (scnsize(4) - (Buttons*28+50)-40)];  % window position
  24.   pshapemenu ('openmenuwin');                                % open window
  25. end;
  26. % -----------------------------------------------------------------
  27. % openmenuwin
  28. if strcmp (action, 'openmenuwin')
  29.  
  30.   menuwinh = figure ('Color', 'white', ...              % open window
  31.     'Position', [MenuWinPos 160 (Buttons*28+50)], ... 
  32.     'Name', 'Tutorial', ...
  33.     'NumberTitle', 'off', ...
  34.     'MenuBar', 'none', ...
  35.     'Resize', 'off', ...
  36.     'UserData', 'pshapemenu');
  37.   uicontrol (menuwinh, ...
  38.     'Style', 'text', ...
  39.     'Position', [5 (Buttons*28+10) 150 25], ...
  40.     'BackgroundColor', 'white', ...
  41.     'HorizontalAlignment', 'center', ...
  42.     'String', 'Pulse Shape');
  43.   for k = 1:Buttons
  44.     ypos = (Buttons- k) * 28 + 10;
  45.     ButtonTextString = eval (['ButtonText'  num2str(k)]);
  46.     CallBackFunction = ['Button' num2str(k)];
  47.     createbutton = ['buttonh(' num2str(k) ') = uicontrol (menuwinh, ' ...
  48.                         '''Position'', [5 ' num2str(ypos) ' 150 22], ' ...
  49.                          '''String'', ''' ButtonTextString ''', ' ...
  50.                          '''BackgroundColor'', ''white'', ' ...
  51.                          '''CallBack'', ''pshapemenu (''''' CallBackFunction ''''')'');'];
  52.    eval (createbutton);
  53.   end;
  54.   clear createbutton ypos ButtonTextStr CallBackFunction;
  55. end;
  56. % -----------------------------------------------------------------
  57. % Button1
  58. if strcmp (action, 'Button1')
  59.   delete(menuwinh);
  60.   %close all Matlab windows
  61.   delete(get (0, 'Children'));
  62.   nrz;
  63.   pshapemenu;
  64. end;
  65. % -----------------------------------------------------------------
  66. % Button2
  67. if strcmp (action, 'Button2')
  68.   delete(menuwinh);
  69.   %close all Matlab windows
  70.   delete(get (0, 'Children'));
  71.   nyqui(0);
  72.   pshapemenu;
  73. end;
  74. % -----------------------------------------------------------------
  75. % Button3
  76. if strcmp (action, 'Button3')
  77.   delete(menuwinh);
  78.   %close all Matlab windows
  79.   delete(get (0, 'Children'));
  80.   wnyqui(0);
  81.   pshapemenu;
  82. end;
  83. % -----------------------------------------------------------------
  84. % Button4
  85. if strcmp (action, 'Button4')
  86.   delete(menuwinh);
  87.   %close all Matlab windows
  88.   delete(get (0, 'Children'));
  89.   bwthui;
  90.   pshapemenu;
  91. end;
  92. % -----------------------------------------------------------------
  93. % Button5
  94. %
  95. if strcmp (action, 'Button5')
  96.   delete(menuwinh);
  97.   %close all Matlab windows
  98.   delete(get (0, 'Children'));
  99.   convmenu;
  100.  
  101. end;
  102. % -----------------------------------------------------------------
  103. % Button6
  104. if strcmp (action, 'Button6')
  105.   delete(menuwinh);
  106.   %close all Matlab windows
  107.   delete(get (0, 'Children'));
  108.   DigModTutorial;
  109. end;