Index: /issm/trunk-jpl/src/m/classes/pairoptions.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/pairoptions.m	(revision 20131)
+++ /issm/trunk-jpl/src/m/classes/pairoptions.m	(revision 20132)
@@ -219,4 +219,45 @@
 			end
 		end % }}}
+		function values = getfieldvalues(self,field,varargin), % {{{
+		%GETOPTION - get the value of an option (if the option is repeated, return multiple values)
+		%
+		%   Usage:
+		%      values=getfieldvalues(self,field,varargin)
+		%
+		%   Find all option values from a field. Default options
+		%   can be given in input if the field does not exist
+		%
+		%   Examples:
+		%      values=getfieldvalue(options,'caxis');
+		%      values=getfieldvalue(options,'caxis',{[0 2],[3 4]});
+
+			%some argument checking: 
+			if nargin~=2 && nargin~=3,
+				help getfieldvalues
+				error('getfieldvalues error message: bad usage');
+			end
+
+			if ~ischar(field),
+				error('getfieldvalues error message: field should be a string');
+			end
+
+			%Recover options
+			pos=find(strcmpi(self.list(:,1),field));
+			if ~isempty(pos),
+				values={};
+				for i=1:length(pos),
+					values{i}=self.list{pos(i),2};
+					self.list{pos(i),3}=true;  % option used
+				end
+				return;
+			end
+
+			%The option has not been found, output default if provided
+			if nargin==3,
+				values=varargin{1};
+			else
+				error(['error message: field ' field ' has not been provided by user (and no default value has been specified)'])
+			end
+		end % }}}
 		function self = removefield(self,field,warn)% {{{
 		%REMOVEFIELD - delete a field in an option list
