# HG changeset patch # User bill@denney.ws # Date 1204689485 18000 # Node ID 2ba84879f961fbc023aab0c72c593c70968fe2b2 # Parent c69d4732d8771cda50109d675f0afb3e0766729f allchild.m, findall.m: new functions diff --git a/scripts/ChangeLog b/scripts/ChangeLog --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -4,7 +4,11 @@ 2008-03-04 Bill Denney + * plot/allchild.m, plot/findall.m: New functions. + * plot/Makefile.in (SOURCES): Add them to the list. + * geometry/rectint.m: New function. + * geometry/Makefile.in (SOURCES): Add it to the list. 2008-03-04 Michael Goffioul diff --git a/scripts/geometry/Makefile.in b/scripts/geometry/Makefile.in --- a/scripts/geometry/Makefile.in +++ b/scripts/geometry/Makefile.in @@ -32,9 +32,23 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -SOURCES = convhull.m delaunay3.m delaunayn.m delaunay.m dsearch.m dsearchn.m \ - griddata.m griddata3.m griddatan.m inpolygon.m trimesh.m triplot.m \ - tsearchn.m voronoi.m voronoin.m +SOURCES = \ + convhull.m \ + delaunay3.m \ + delaunayn.m \ + delaunay.m \ + dsearch.m \ + dsearchn.m \ + griddata.m \ + griddata3.m \ + griddatan.m \ + inpolygon.m \ + rectint.m \ + trimesh.m \ + triplot.m \ + tsearchn.m \ + voronoi.m \ + voronoin.m DISTFILES = $(addprefix $(srcdir)/,Makefile.in $(SOURCES)) diff --git a/scripts/plot/Makefile.in b/scripts/plot/Makefile.in --- a/scripts/plot/Makefile.in +++ b/scripts/plot/Makefile.in @@ -69,6 +69,7 @@ __quiver__.m \ __scatter__.m \ __stem__.m \ + allchild.m \ ancestor.m \ area.m \ axes.m \ @@ -101,6 +102,7 @@ feather.m \ figure.m \ fill.m \ + findall.m \ findobj.m \ fplot.m \ gca.m \ diff --git a/scripts/plot/allchild.m b/scripts/plot/allchild.m 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 +## . + +## -*- 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 + +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 diff --git a/scripts/plot/findall.m b/scripts/plot/findall.m new file mode 100644 --- /dev/null +++ b/scripts/plot/findall.m @@ -0,0 +1,44 @@ +## 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 +## . + +## -*- texinfo -*- +## @deftypefn {Function File} {@var{h} =} findall () +## @deftypefnx {Function File} {@var{h} =} findall (@var{propName}, @var{propValue}) +## @deftypefnx {Function File} {@var{h} =} findall (@var{h}, @dots{}) +## @deftypefnx {Function File} {@var{h} =} findall (@var{h}, "-depth", @var{d}, @dots{}) +## Find object with specified property values including hidden handles. +## +## This function performs the same function as @code{findobj}, but it +## includes hidden objects in its search. For full documentation, see +## @code{findobj}. +## @seealso{get, set, findobj, allchild} +## @end deftypefn + +## Author: Bill Denney + +function h = findall (varargin) + + unwind_protect + shh = get (0, "showhiddenhandles"); + set (0, "showhiddenhandles", "on"); + h = findobj (varargin{:}); + unwind_protect_cleanup + set (0, "showhiddenhandles", shh); + end_unwind_protect + +endfunction