annotate scripts/plot/appearance/gtext.m @ 18899:adb948d7fae4

legend.m: Don't create legend for some inputs for Matlab compatibility (bug #42034) * legend.m: Don't create legend for 'boxon', 'boxoff', 'hide', and null input. Do create legend if just a location or orientation is passed in.
author Rik <rik@octave.org>
date Tue, 06 May 2014 19:57:44 -0700
parents d63878346099
children 4197fc428c7d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17744
d63878346099 maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents: 17572
diff changeset
1 ## Copyright (C) 2008-2013 David Bateman
7674
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
2 ##
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
3 ## This file is part of Octave.
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
4 ##
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
8 ## your option) any later version.
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
9 ##
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
13 ## General Public License for more details.
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
14 ##
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
18
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
19 ## -*- texinfo -*-
9307
c2923c27c877 Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents: 9245
diff changeset
20 ## @deftypefn {Function File} {} gtext (@var{s})
15070
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
21 ## @deftypefnx {Function File} {} gtext (@{@var{s1}, @var{s2}, @dots{}@})
9307
c2923c27c877 Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents: 9245
diff changeset
22 ## @deftypefnx {Function File} {} gtext (@{@var{s1}; @var{s2}; @dots{}@})
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
23 ## @deftypefnx {Function File} {} gtext (@dots{}, @var{prop}, @var{val}, @dots{})
15072
20cac6006005 * gtext.m: Fix typo in previous change.
John W. Eaton <jwe@octave.org>
parents: 15070
diff changeset
24 ## @deftypefnx {Function File} {@var{h} =} gtext (@dots{})
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
25 ## Place text on the current figure using the mouse.
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
26 ##
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
27 ## The text is defined by the string @var{s}. If @var{s} is a cell string
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
28 ## organized as a row vector then each string of the cell array is written to a
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
29 ## separate line. If @var{s} is organized as a column vector then one string
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
30 ## element of the cell array is placed for every mouse click.
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
31 ##
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
32 ## Optional property/value pairs are passed directly to the underlying text
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
33 ## objects.
15070
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
34 ##
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
35 ## The optional return value @var{h} is a graphics handle to the created
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 15072
diff changeset
36 ## text object(s).
9307
c2923c27c877 Various documentation improvements
Rik <rdrider0-list@yahoo.com>
parents: 9245
diff changeset
37 ## @seealso{ginput, text}
7674
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
38 ## @end deftypefn
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
39
15070
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
40 function h = gtext (s, varargin)
7674
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
41
13259
b6efe55f97c7 Allow gtext() to have multi-line text strings (Bug #33232)
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
42 if (nargin < 1)
7674
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
43 print_usage ();
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
44 endif
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
45
13259
b6efe55f97c7 Allow gtext() to have multi-line text strings (Bug #33232)
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
46 if (! (ischar (s) || iscellstr (s)))
b6efe55f97c7 Allow gtext() to have multi-line text strings (Bug #33232)
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
47 error ("gtext: S must be a string or cell array of strings");
b6efe55f97c7 Allow gtext() to have multi-line text strings (Bug #33232)
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
48 endif
b6efe55f97c7 Allow gtext() to have multi-line text strings (Bug #33232)
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
49
15070
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
50 htmp = -1;
13259
b6efe55f97c7 Allow gtext() to have multi-line text strings (Bug #33232)
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
51 if (! isempty (s))
15070
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
52 if (ischar (s) || isrow (s))
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
53 [x, y] = ginput (1);
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
54 htmp = text (x, y, s, varargin{:});
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
55 else
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
56 for i = 1:numel (s)
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
57 [x, y] = ginput (1);
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
58 htmp = text (x, y, s{i}, varargin{:});
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
59 endfor
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
60 endif
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
61 endif
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
62
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
63 if (nargout > 0)
1feefc5e5630 gtext.m: Allow multiple text placements--one per mouse click.
Rik <rik@octave.org>
parents: 14363
diff changeset
64 h = htmp;
13259
b6efe55f97c7 Allow gtext() to have multi-line text strings (Bug #33232)
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
65 endif
b6efe55f97c7 Allow gtext() to have multi-line text strings (Bug #33232)
Rik <octave@nomad.inbox5.com>
parents: 13123
diff changeset
66
7674
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
67 endfunction
52d8d50e74c1 Add gtext, waitforbuttonpress. Attempt to get ginput working under windows
David Bateman <dbateman@free.fr>
parents:
diff changeset
68
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
69
13123
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11587
diff changeset
70 ## Remove from test statistics. No real tests possible.
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
71 %!assert (1)
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
72