# HG changeset patch # User Ben Abbott # Date 1292546625 18000 # Node ID d67d44f47949289469c3a9ec7e4c9d3edbf546df # Parent a41acdfa97dcd0124ec00c4dfafb06b09b4b3868 isprop.m: New function. diff -r a41acdfa97dc -r d67d44f47949 scripts/ChangeLog --- a/scripts/ChangeLog Thu Dec 16 09:24:01 2010 -0800 +++ b/scripts/ChangeLog Thu Dec 16 19:43:45 2010 -0500 @@ -1,3 +1,7 @@ +2010-12-16 Ben Abbott + + * plot/isprop.m: New function. + 2010-12-16 Olaf Till * optimization/sqp.m: Fix indexing error in sqp bounds selection. diff -r a41acdfa97dc -r d67d44f47949 scripts/plot/isprop.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/plot/isprop.m Thu Dec 16 19:43:45 2010 -0500 @@ -0,0 +1,50 @@ +## Copyright (C) 2010 Ben Abbott +## +## 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{res} =} isprop (@var{h}, @var{prop}) +## Determines if @var{prop} is a property of the object with handle, @var{h}. +## @seealso{get, set} +## @end deftypefn + +## Author: Ben Abbott + +function res = isprop (h, prop) + ## Check input + if (nargin < 1 || nargin > 2) + print_usage (); + endif + + if (! ishandle (h)) + error ("isprop: first input argument must be a handle"); + elseif (! ischar (prop)) + error ("isprop: second input argument must be string"); + endif + + res = true; + try + v = get (h, prop); + catch + res = false; + end_try_catch +endfunction + +%!assert (isprop (0, "foobar"), false) + +%!assert (isprop (0, "screenpixelsperinch"), true) +