Mercurial > hg > octave-lyh
diff scripts/plot/allchild.m @ 7557:2ba84879f961
allchild.m, findall.m: new functions
author | bill@denney.ws |
---|---|
date | Tue, 04 Mar 2008 22:58:05 -0500 |
parents | |
children | c44db9bad841 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/scripts/plot/allchild.m @@ -0,0 +1,50 @@ +## Copyright (C) 2008 Bill Denney +## +## This file is part of Octave. +## +## Octave 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. +## +## Octave 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 Octave; see the file COPYING. If not, see +## <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {@var{h} =} allchild (@var{handles}) +## Find all children including hidden children of an object. +## +## This function is similar to @code{get (h, "children")}, but also +## returns includes hidden objects. If @var{handles} is a scalar, +## @var{h} will be a vector, and if not, @var{h} will be a cell matrix +## with the same size as @var{handles} and each cell will contain a +## vector of handles. +## @seealso{get, set, findall, findobj} +## @end deftypefn + +## Author: Bill Denney <bill@denney.ws> + +function h = allchild (ha) + + unwind_protect + shh = get (0, "showhiddenhandles"); + set (0, "showhiddenhandles", "on"); + if (isscalar (ha)) + h = get (ha, "children"); + else + h = cell (size (ha)); + for i = 1:numel (ha) + h{i} = get (ha, "children"); + endfor + endif + unwind_protect_cleanup + set (0, "showhiddenhandles", shh); + end_unwind_protect + +endfunction