function add_ex_cb(action)

switch(action)
	case 'loaddata'
      [filename, pathname] = uigetfile('*.mat');
      load([pathname filename]);
      hfs = findobj('tag', 'freqsample');
      set(hfs, 'value', Fs);
      hfstext = findobj('tag', 'fstext');
      set(hfstext, 'string', Fs);
      set(gcf, 'UserData', [Fs;y]')
      
   case 'gridon'
      hcheck = findobj('tag', 'hideax');
      vcheck = get(hcheck, 'value');
      if vcheck == 1
         grid on;
      else
         grid off;
      end
      
   case 'plotdata'
      data=get(gcf, 'Userdata');
      Fs = data(1);
      y = data(2:end);
      hplot = plot(1/Fs:1/Fs:length(y)/Fs, y);
      set(hplot, 'tag', 'plotd')
      
   case 'playdata'
      data=get(gcf, 'Userdata');
      Fs = data(1);
      y = data(2:end);
      sound(y, Fs)
         
   case 'changesample'
      data=get(gcf, 'Userdata');
      Fs = data(1);
      y = data(2:end)';
      hfs = findobj('tag', 'freqsample');
      Fs = get(hfs, 'value');
      hfstext = findobj('tag', 'fstext');
      set(hfstext, 'string', Fs);
      set(gcf, 'UserData', [Fs;y]')
      
   case 'color'
		col=str2num(get(findobj('Tag', 'color'), 'String'));
		hline=findobj('Tag', 'plotd');
		set(hline, 'Color', col);
      
   case 'linestyle'
      hline=findobj('Tag', 'plotd');
		val=get(findobj('Tag', 'style'), 'Value');
		if val==1
			set(hline, 'LineStyle', '-');
		elseif val==2	 	
			set(hline, 'LineStyle', '--');
		elseif val==3
			set(hline, 'LineStyle', '-.');
		else
			set(hline, 'LineStyle', ':');
		end
      
   case 'cleardata'
		cla
		set(findobj('Tag', 'style'), 'Value', 1);
      set(findobj('Tag', 'color'), 'String', '0 0 1');
      hfs = findobj('tag', 'freqsample');
      set(hfs, 'value', 2000);
      hfstext = findobj('tag', 'fstext');
      set(hfstext, 'string', '2000');
            
end	