annotate scripts/plot/util/ginput.m @ 19205:60e54be64f37

Fix ginput for FLTK toolkit * __init_fltk__.cc: Execute callback for base_properties::buttondownfcn and figure_properties::buttondownfcn. Now it is possible to have different callbacks for each axes in a subplot. * __fltk_ginput__.m: Adapt to recent FLTK toolkit changes
author Andreas Weber <andy.weber.aw@gmail.com>
date Sat, 16 Aug 2014 22:59:44 +0200
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
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
2 ##
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
3 ## This file is part of Octave.
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
4 ##
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
8 ## your option) any later version.
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
9 ##
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
13 ## General Public License for more details.
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
14 ##
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
18
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
19 ## -*- texinfo -*-
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
20 ## @deftypefn {Function File} {[@var{x}, @var{y}, @var{buttons}] =} ginput (@var{n})
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
21 ## @deftypefnx {Function File} {[@var{x}, @var{y}, @var{buttons}] =} ginput ()
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
22 ## Return the position and type of mouse button clicks and/or key strokes
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
23 ## in the current figure window.
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
24 ##
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
25 ## If @var{n} is defined, then capture @var{n} events before returning.
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
26 ## When @var{n} is not defined @code{ginput} will loop until the return key
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
27 ## @key{RET} is pressed.
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
28 ##
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
29 ## The return values @var{x}, @var{y} are the coordinates where the mouse
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
30 ## was clicked in the units of the current axes. The return value @var{button}
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
31 ## is 1, 2, or 3 for the left, middle, or right button. If a key is pressed
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
32 ## the ASCII value is returned in @var{button}.
17483
710309214e0d doc: Add seealso links between waitfor, waitforbuttonpress, and ginput.
Rik <rik@octave.org>
parents: 17122
diff changeset
33 ## @seealso{gtext, waitforbuttonpress}
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
34 ## @end deftypefn
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
35
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
36 function varargout = ginput (n)
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
37
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
38 if (nargin > 1)
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
39 print_usage ();
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
40 endif
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
41
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14363
diff changeset
42 a = gca (); # Create an axis, if necessary
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
43 drawnow ();
19205
60e54be64f37 Fix ginput for FLTK toolkit
Andreas Weber <andy.weber.aw@gmail.com>
parents: 17744
diff changeset
44 toolkit = get (gcf, "__graphics_toolkit__");
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
45
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
46 varargout = cell (1, nargout);
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
47 if (nargin == 0)
19205
60e54be64f37 Fix ginput for FLTK toolkit
Andreas Weber <andy.weber.aw@gmail.com>
parents: 17744
diff changeset
48 [varargout{:}] = feval (["__" toolkit "_ginput__"]);
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
49 else
19205
60e54be64f37 Fix ginput for FLTK toolkit
Andreas Weber <andy.weber.aw@gmail.com>
parents: 17744
diff changeset
50 [varargout{:}] = feval (["__" toolkit "_ginput__"], n);
7673
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
51 endif
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
52
e0c930dda642 ginput: new function
David Bateman <dbateman@free.fr>
parents:
diff changeset
53 endfunction
13123
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11576
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
13123
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11576
diff changeset
56 ## Remove from test statistics. No real tests possible.
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11576
diff changeset
57 %!test
6efa1a691713 Add further tests for scripts/plot.
Kai Habel <kai.habel@gmx.de>
parents: 11576
diff changeset
58 %! assert (1);
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
59