Home > m > gui > ltpdv > callbacks > ltpdv_search_channels.m

ltpdv_search_channels

PURPOSE ^

LTPDV_SEARCH_CHANNELS search the channel list and reduce it to those that

SYNOPSIS ^

function ltpdv_search_channels(varargin)

DESCRIPTION ^

 LTPDV_SEARCH_CHANNELS search the channel list and reduce it to those that
 match the search criteria.
 
 M Hewitson 26-07-06
 
 $Id: ltpdv_search_channels.m,v 1.1 2008/05/11 10:38:43 hewitson Exp $

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function ltpdv_search_channels(varargin)
0002 
0003 % LTPDV_SEARCH_CHANNELS search the channel list and reduce it to those that
0004 % match the search criteria.
0005 %
0006 % M Hewitson 26-07-06
0007 %
0008 % $Id: ltpdv_search_channels.m,v 1.1 2008/05/11 10:38:43 hewitson Exp $
0009 
0010 % Handles
0011 myh = varargin{1};
0012 mainfig = varargin{end};
0013 
0014 % channels
0015 ch = findobj(mainfig, 'Tag', 'LTPDVchannelList');
0016 chans = get(ch, 'String');
0017 
0018 nchans = size(chans,1);
0019 chansout = [];
0020 
0021 % First tokenize the search string
0022 sh = findobj(mainfig, 'Tag', 'LTPDVchannelSearchEdit');
0023 sstr = get(sh, 'String');
0024 curr = upper(sstr);
0025 if isempty(curr)
0026    [latest, chans] = ltpdv_server_get_latest_chans(mainfig);
0027    % Set channel list
0028    ltpdv_server_set_channel_list(mainfig, chans);
0029 else
0030   
0031   [t, r] = strtok(curr);
0032   cstr = [];
0033   cstr = [cstr; cellstr(t)];
0034   while ~isempty(r)
0035     [t, r] = strtok(r);
0036     cstr = [cstr; cellstr(t)];
0037   end
0038 
0039   if strcmp(curr, '')
0040     chansout = chans;
0041   else
0042     for str=1:length(cstr)
0043       for c=1:nchans
0044         idx = strfind(upper(chans(c,:)), char(cstr(str)));
0045         if ~isempty(idx)
0046           chansout = strvcat(chansout, deblank(chans(c,:)));
0047         end
0048       end
0049     end
0050   end
0051 
0052   if ~isempty(chansout)
0053     chansout = char(sort(cellstr(chansout)));
0054   end
0055 
0056   ltpdv_server_set_channel_list(mainfig, chansout);
0057 
0058 end
0059 
0060 
0061 % END

Generated on Mon 08-Sep-2008 13:18:47 by m2html © 2003