Mercurial > hg > octave-nkf
annotate scripts/plot/util/isprop.m @ 19705:bf27e21f0bfb
maint: Merge default to temporary audio-gsoc branch.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 31 Dec 2014 14:59:42 -0500 |
parents | 2631484789cf |
children | db92e7e28e1f |
rev | line source |
---|---|
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
17572
diff
changeset
|
1 ## Copyright (C) 2010-2013 Ben Abbott |
11374 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, see | |
17 ## <http://www.gnu.org/licenses/>. | |
18 | |
19 ## -*- texinfo -*- | |
18785
2631484789cf
doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents:
18601
diff
changeset
|
20 ## @deftypefn {Function File} {@var{res} =} isprop (@var{obj}, "@var{prop}") |
2631484789cf
doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents:
18601
diff
changeset
|
21 ## Return true if @var{prop} is a property of the object @var{obj}. |
17488 | 22 ## |
18785
2631484789cf
doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents:
18601
diff
changeset
|
23 ## @var{obj} may also be an array of objects in which case @var{res} will be a |
17488 | 24 ## logical array indicating whether each handle has the property @var{prop}. |
18785
2631484789cf
doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents:
18601
diff
changeset
|
25 ## |
2631484789cf
doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents:
18601
diff
changeset
|
26 ## For plotting, @var{obj} is a handle to a graphics object. Otherwise, |
2631484789cf
doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents:
18601
diff
changeset
|
27 ## @var{obj} should be an instance of a class. |
18601
ea0d4dea1a17
doc: Update documentation for functions in octave-value dir.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
28 ## @seealso{get, set, ismethod, isobject} |
11374 | 29 ## @end deftypefn |
30 | |
31 ## Author: Ben Abbott <bpabbott@mac.com> | |
32 | |
33 function res = isprop (h, prop) | |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
34 |
17488 | 35 if (nargin != 2) |
11374 | 36 print_usage (); |
37 endif | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
38 |
13214
7715aca4bce1
Allow an nd-array of handles when calling isprop.m.
Ben Abbott <bpabbott@mac.com>
parents:
11587
diff
changeset
|
39 if (! all (ishandle (h))) |
17488 | 40 error ("isprop: H must be a graphics handle or vector of handles"); |
11374 | 41 elseif (! ischar (prop)) |
17488 | 42 error ("isprop: PROP name must be a string"); |
11374 | 43 endif |
44 | |
13214
7715aca4bce1
Allow an nd-array of handles when calling isprop.m.
Ben Abbott <bpabbott@mac.com>
parents:
11587
diff
changeset
|
45 res = false (size (h)); |
17488 | 46 for i = 1:numel (res) |
13214
7715aca4bce1
Allow an nd-array of handles when calling isprop.m.
Ben Abbott <bpabbott@mac.com>
parents:
11587
diff
changeset
|
47 try |
17488 | 48 v = get (h(i), prop); |
49 res(i) = true; | |
13214
7715aca4bce1
Allow an nd-array of handles when calling isprop.m.
Ben Abbott <bpabbott@mac.com>
parents:
11587
diff
changeset
|
50 end_try_catch |
7715aca4bce1
Allow an nd-array of handles when calling isprop.m.
Ben Abbott <bpabbott@mac.com>
parents:
11587
diff
changeset
|
51 endfor |
11374 | 52 endfunction |
53 | |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
54 |
11374 | 55 %!assert (isprop (0, "foobar"), false) |
56 %!assert (isprop (0, "screenpixelsperinch"), true) | |
13214
7715aca4bce1
Allow an nd-array of handles when calling isprop.m.
Ben Abbott <bpabbott@mac.com>
parents:
11587
diff
changeset
|
57 %!assert (isprop (zeros (2, 3), "visible"), true (2, 3)) |
7715aca4bce1
Allow an nd-array of handles when calling isprop.m.
Ben Abbott <bpabbott@mac.com>
parents:
11587
diff
changeset
|
58 |
17488 | 59 %!error isprop () |
60 %!error isprop (1) | |
61 %!error isprop (1,2,3) | |
62 %!error <H must be a graphics handle> isprop ({1}, "visible") | |
63 %!error <PROP name must be a string> isprop (0, {"visible"}) | |
64 |