annotate scripts/plot/util/isprop.m @ 23219:3ac9f9ecfae5 stable

maint: Update copyright dates.
author John W. Eaton <jwe@octave.org>
date Wed, 22 Feb 2017 12:39:29 -0500
parents e9a0469dedd9
children 092078913d54
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23219
3ac9f9ecfae5 maint: Update copyright dates.
John W. Eaton <jwe@octave.org>
parents: 23083
diff changeset
1 ## Copyright (C) 2010-2017 Ben Abbott
11374
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
2 ##
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
3 ## This file is part of Octave.
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
4 ##
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
8 ## your option) any later version.
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
9 ##
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
13 ## General Public License for more details.
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
14 ##
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
18
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
19 ## -*- texinfo -*-
20852
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 19697
diff changeset
20 ## @deftypefn {} {@var{res} =} isprop (@var{obj}, "@var{prop}")
18637
2631484789cf doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents: 18533
diff changeset
21 ## Return true if @var{prop} is a property of the object @var{obj}.
17488
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
22 ##
18637
2631484789cf doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents: 18533
diff changeset
23 ## @var{obj} may also be an array of objects in which case @var{res} will be a
17488
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
24 ## logical array indicating whether each handle has the property @var{prop}.
19597
db92e7e28e1f strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 18637
diff changeset
25 ##
18637
2631484789cf doc: Improve docstrings for isobject, ismethod, isprop.
Rik <rik@octave.org>
parents: 18533
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: 18533
diff changeset
27 ## @var{obj} should be an instance of a class.
18533
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
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
29 ## @end deftypefn
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
30
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
31 ## Author: Ben Abbott <bpabbott@mac.com>
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
32
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
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
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
35 if (nargin != 2)
11374
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
36 print_usage ();
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
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
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
40 error ("isprop: H must be a graphics handle or vector of handles");
11374
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
41 elseif (! ischar (prop))
17488
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
42 error ("isprop: PROP name must be a string");
11374
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
43 endif
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
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
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
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
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
48 v = get (h(i), prop);
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
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
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 20852
diff changeset
52
11374
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
53 endfunction
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
54
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
55
11374
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
56 %!assert (isprop (0, "foobar"), false)
d67d44f47949 isprop.m: New function.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
57 %!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
58 %!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
59
17488
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
60 %!error isprop ()
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
61 %!error isprop (1)
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
62 %!error isprop (1,2,3)
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
63 %!error <H must be a graphics handle> isprop ({1}, "visible")
278ef6bd821d isprop.m: Overhaul function.
Rik <rik@octave.org>
parents: 17122
diff changeset
64 %!error <PROP name must be a string> isprop (0, {"visible"})