annotate scripts/plot/util/cla.m @ 18746:29f00c0d0657

Fix double '-P' in print command to printer (bug #41957). * print.m: Expand documentation of latex and latexstandalone options. Change some of the documentation examples to use more useful, modern devices (jpg instead of HP DeskJet 550C). Use isempty to determine in there is a figure to print. Remove extra '-P' from print command going directly to printer.
author Michael Godfrey <michaeldgodfrey@gmail.com>
date Tue, 25 Mar 2014 17:00:41 +0000
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 Ben Abbott
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
2 ##
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
3 ## This file is part of Octave.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
4 ##
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
6 ## under the terms of the GNU General Public License as published by
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
8 ## your option) any later version.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
9 ##
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
13 ## General Public License for more details.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
14 ##
8199
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
18
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
19 ## -*- texinfo -*-
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
20 ## @deftypefn {Command} {} cla
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
21 ## @deftypefnx {Command} {} cla reset
8199
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
22 ## @deftypefnx {Function File} {} cla (@var{hax})
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
23 ## @deftypefnx {Function File} {} cla (@var{hax}, "reset")
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
24 ## Clear the current axes.
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
25 ##
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
26 ## @code{cla} operates by deleting child graphic objects with visible
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17125
diff changeset
27 ## handles (HandleVisibility = @qcode{"on"}).
17081
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
28 ##
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17125
diff changeset
29 ## If the optional argument @qcode{"reset"} is specified, delete all child
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17125
diff changeset
30 ## objects including those with hidden handles and reset all axis properties
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17125
diff changeset
31 ## to their defaults. However, the following properties are not reset:
17081
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
32 ## Position, Units.
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
33 ##
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
34 ## If the first argument @var{hax} is an axes handle, then operate on
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
35 ## this axis rather than the current axes returned by @code{gca}.
17443
0aa77acf22f5 doc: Add seealso references between cla, clf, reset functions.
Rik <rik@octave.org>
parents: 17281
diff changeset
36 ## @seealso{clf, delete, reset}
8199
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
37 ## @end deftypefn
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
38
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
39 ## Author: Ben Abbott <bpabbott@mac.com>
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
40 ## Created: 2008-10-03
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
41
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
42 function cla (varargin)
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
43
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
44 if (nargin > 2)
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
45 print_usage ();
17081
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
46 elseif (nargin == 0)
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
47 hax = gca;
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
48 do_reset = false;
8199
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
49 elseif (nargin == 1)
17125
b5d6314314fc Change various plot functions to take advantage of new isaxes() function.
Rik <rik@octave.org>
parents: 17122
diff changeset
50 if (isscalar (varargin{1}) && isaxes (varargin{1}))
8199
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
51 hax = varargin{1};
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
52 do_reset = false;
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
53 elseif (ischar (varargin{1}) && strcmpi (varargin{1}, "reset"))
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
54 hax = gca;
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
55 do_reset = true;
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
56 else
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
57 print_usage ();
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
58 endif
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
59 else
17125
b5d6314314fc Change various plot functions to take advantage of new isaxes() function.
Rik <rik@octave.org>
parents: 17122
diff changeset
60 if (isscalar (varargin{1}) && isaxes (varargin{1})
17081
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
61 && ischar (varargin{2}) && strcmpi (varargin{2}, "reset"))
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
62 hax = varargin{1};
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
63 do_reset = true;
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
64 else
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
65 print_usage ();
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
66 endif
8610
85c9906abfd1 use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents: 8285
diff changeset
67 endif
8199
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
68
17081
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
69 if (! do_reset)
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
70 delete (get (hax, "children"));
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
71 else
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
72 __go_axes_init__ (hax, "replace");
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
73 __request_drawnow__ ();
8264
bca580bbda02 cla.m: Fix error when no children to clear.
Ben Abbott <bpabbott@mac.com>
parents: 8199
diff changeset
74 endif
8199
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
75
ec1b4cd5fbbb cla.m: Add matlab function cla().
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
76 endfunction
8264
bca580bbda02 cla.m: Fix error when no children to clear.
Ben Abbott <bpabbott@mac.com>
parents: 8199
diff changeset
77
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
78
8264
bca580bbda02 cla.m: Fix error when no children to clear.
Ben Abbott <bpabbott@mac.com>
parents: 8199
diff changeset
79 %!test
13124
2ea1658ad049 Don't use explicit figure number for tests to avoid interference with any figures opened by user.
Kai Habel <kai.habel@gmx.de>
parents: 13111
diff changeset
80 %! hf = figure ("visible", "off");
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 13124
diff changeset
81 %! unwind_protect
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
82 %! plot (1:10);
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
83 %! assert (! isempty (get (gca, "children")));
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
84 %! cla ();
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 17081
diff changeset
85 %! assert (isempty (get (gca, "children")));
8264
bca580bbda02 cla.m: Fix error when no children to clear.
Ben Abbott <bpabbott@mac.com>
parents: 8199
diff changeset
86 %! unwind_protect_cleanup
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
87 %! close (hf);
8264
bca580bbda02 cla.m: Fix error when no children to clear.
Ben Abbott <bpabbott@mac.com>
parents: 8199
diff changeset
88 %! end_unwind_protect
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
89
17081
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
90 %!test
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
91 %! hf = figure ("visible", "off");
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
92 %! unwind_protect
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
93 %! hax = gca;
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
94 %! plot (hax, 1:10);
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
95 %! set (hax, "interpreter", "tex");
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
96 %! cla (hax);
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
97 %! kids = get (hax, "children");
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
98 %! assert (numel (kids), 0);
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
99 %! assert (get (hax, "interpreter"), "tex");
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
100 %! plot (hax, 1:10);
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
101 %! cla (hax, "reset");
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
102 %! kids = get (hax, "children");
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
103 %! assert (numel (kids), 0);
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
104 %! assert (get (hax, "interpreter"), "none");
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
105 %! unwind_protect_cleanup
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
106 %! close (hf);
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
107 %! end_unwind_protect
86067af51d5e Truly reset axes so that all properties are set to default.
Rik <rik@octave.org>
parents: 14363
diff changeset
108