Switch to side-by-side view

--- a
+++ b/functions/adminfunc/pop_delset.m
@@ -0,0 +1,92 @@
+% POP_DELSET - Delete a dataset from the variable containing
+%                all datasets.
+%
+% Usage: >> ALLEEG = pop_delset(ALLEEG, indices);
+%
+% Inputs:
+%   ALLEEG   - array of EEG datasets
+%   indices  - indices of datasets to delete. None -> a pop_up window asks 
+%              the user to choose. Index < 0 -> it's positive is given as 
+%              the default in the pop-up window (ex: -3 -> default 3).
+%
+% Author: Arnaud Delorme, CNL / Salk Institute, 2001
+%
+% See also: POP_COPYSET, EEGLAB
+
+% Copyright (C) 2001 Arnaud Delorme, Salk Institute, arno@salk.edu
+%
+% This file is part of EEGLAB, see http://www.eeglab.org
+% for the documentation and details.
+%
+% Redistribution and use in source and binary forms, with or without
+% modification, are permitted provided that the following conditions are met:
+%
+% 1. Redistributions of source code must retain the above copyright notice,
+% this list of conditions and the following disclaimer.
+%
+% 2. Redistributions in binary form must reproduce the above copyright notice,
+% this list of conditions and the following disclaimer in the documentation
+% and/or other materials provided with the distribution.
+%
+% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+% AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+% ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+% LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+% CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+% SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+% INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+% CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+% ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+% THE POSSIBILITY OF SUCH DAMAGE.
+
+% load a set and store it in the current set
+% ------------------------------------------
+function [ALLSET, command] = pop_delset(ALLSET, set_in);
+
+command = '';
+if nargin < 1
+	help pop_delset;
+	return;
+end
+if length( ALLSET ) < 2
+    error( [ 'Cannot delete dataset when there is only one of them. Restart EEGLAB' 10 'or use the menu item in the File menu to clear all datasets' ]);
+end
+
+if nargin < 2 || (length(set_in)==1 && set_in < 0)
+	% which set to delete
+	% -----------------
+	promptstr    = { 'Dataset(s) to delete:' };
+	if nargin == 2
+		inistr       = { int2str(-set_in) };
+	else
+		inistr       = { '1' };
+    end
+    result       = inputdlg2( promptstr, 'Delete dataset -- pop_delset()', 1,  inistr, 'pop_delset');
+    size_result = size(result);
+    if size_result(1) == 0
+        return;
+    end
+    set_in   	 = eval( [ '[' result{1} ']' ] );
+end
+
+if isempty(set_in)
+	return;
+end
+
+A = fieldnames( ALLSET );
+A(:,2) = cell(size(A));
+A = A';
+for i = set_in
+    try
+   		ALLSET(i) = struct(A{:});
+		%ALLSET = setfield(ALLSET, {set_in}, A{:}, cell(size(A)));
+	catch
+		error('Error: no such dataset');
+		return;
+	end
+end
+    
+% command = sprintf('%s = pop_delset( %s, [%s] );', inputname(1), inputname(1), int2str(set_in));
+command = sprintf('ALLEEG = pop_delset( ALLEEG, [%s] );', int2str(set_in));
+return;