view m-toolbox/m/gui/ltpdv/callbacks/ltpdv_search_channels.m @ 51:9d5c88356247
database-connection-manager
Make unit tests database connection parameters configurable
author
Daniele Nicolodi <nicolodi@science.unitn.it>
date
Wed, 07 Dec 2011 17:24:37 +0100 (2011-12-07)
parents
f0afece42f48
children
line source
+ − function ltpdv_search_channels(varargin)
+ −
+ − % 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 $
+ −
+ − % Handles
+ − myh = varargin{1};
+ − mainfig = varargin{end};
+ −
+ − % channels
+ − ch = findobj(mainfig, 'Tag', 'LTPDVchannelList');
+ − chans = get(ch, 'String');
+ −
+ − nchans = size(chans,1);
+ − chansout = [];
+ −
+ − % First tokenize the search string
+ − sh = findobj(mainfig, 'Tag', 'LTPDVchannelSearchEdit');
+ − sstr = get(sh, 'String');
+ − curr = upper(sstr);
+ − if isempty(curr)
+ − [latest, chans] = ltpdv_server_get_latest_chans(mainfig);
+ − % Set channel list
+ − ltpdv_server_set_channel_list(mainfig, chans);
+ − else
+ −
+ − [t, r] = strtok(curr);
+ − cstr = [];
+ − cstr = [cstr; cellstr(t)];
+ − while ~isempty(r)
+ − [t, r] = strtok(r);
+ − cstr = [cstr; cellstr(t)];
+ − end
+ −
+ − if strcmp(curr, '')
+ − chansout = chans;
+ − else
+ − for str=1:length(cstr)
+ − for c=1:nchans
+ − idx = strfind(upper(chans(c,:)), char(cstr(str)));
+ − if ~isempty(idx)
+ − chansout = strvcat(chansout, deblank(chans(c,:)));
+ − end
+ − end
+ − end
+ − end
+ −
+ − if ~isempty(chansout)
+ − chansout = char(sort(cellstr(chansout)));
+ − end
+ −
+ − ltpdv_server_set_channel_list(mainfig, chansout);
+ −
+ − end
+ −
+ −
+ − % END