X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fgeneral-1.3.1%2F%40inputParser%2FaddParamValue.m;fp=octave_packages%2Fgeneral-1.3.1%2F%40inputParser%2FaddParamValue.m;h=95934f0b6cc590aedb988735cf5b28907a6ca34e;hp=0000000000000000000000000000000000000000;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/general-1.3.1/@inputParser/addParamValue.m b/octave_packages/general-1.3.1/@inputParser/addParamValue.m new file mode 100644 index 0000000..95934f0 --- /dev/null +++ b/octave_packages/general-1.3.1/@inputParser/addParamValue.m @@ -0,0 +1,55 @@ +## Copyright (C) 2011 Carnë Draug +## +## This program is free software; you can redistribute it and/or modify it under +## the terms of the GNU General Public License as published by the Free Software +## Foundation; either version 3 of the License, or (at your option) any later +## version. +## +## This program is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +## details. +## +## You should have received a copy of the GNU General Public License along with +## this program; if not, see . + +## -*- texinfo -*- +## @deftypefn {Function File} {@var{parser} =} addParamValue (@var{parser}, @var{argname}, @var{default}) +## @deftypefnx {Function File} {@var{parser} =} @var{parser}.addParamValue (@var{argname}, @var{default}) +## @deftypefnx {Function File} {@var{parser} =} addParamValue (@var{parser}, @var{argname}, @var{default}, @var{validator}) +## @deftypefnx {Function File} {@var{parser} =} @var{parser}.addParamValue (@var{argname}, @var{default}, @var{validator}) +## Add new parameter to the object @var{parser} of the class inputParser to implement +## a name/value pair type of API. +## +## @var{argname} must be a string with the name of the new parameter. +## +## @var{default} will be the value used when the parameter is not specified. +## +## @var{validator} is an optional function handle to validate the given values +## for the parameter with name @var{argname}. Alternatively, a function name +## can be used. +## +## See @command{help inputParser} for examples. +## +## @seealso{inputParser, @@inputParser/addOptional, @@inputParser/addSwitch, +## @@inputParser/addParamValue, @@inputParser/addRequired, @@inputParser/parse} +## @end deftypefn + +function inPar = addParamValue (inPar, name, def, val) + + ## check @inputParser/subsref for the actual code + if (nargin == 3) + inPar = subsref (inPar, substruct( + '.' , 'addParamValue', + '()', {name, def} + )); + elseif (nargin == 4) + inPar = subsref (inPar, substruct( + '.' , 'addParamValue', + '()', {name, def, val} + )); + else + print_usage; + endif + +endfunction