Mercurial > octave
annotate libinterp/dldfcn/__init_gnuplot__.cc @ 29958:32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
* mk-opts.pl: Surround emitted function definitions with
OCTAVE_NAMESPACE_BEGIN and OCTAVE_NAMESPACE_END tags.
* mk-builtins.pl: Surround emitted function declarations with
OCTAVE_NAMESPACE_BEGIN and OCTAVE_NAMESPACE_END tags. Emit deprecated
global inline functions.
* __betainc__.cc, __contourc__.cc, __dsearchn__.cc, __eigs__.cc,
__expint__.cc, __ftp__.cc, __gammainc__.cc, __ichol__.cc, __ilu__.cc,
__lin_interpn__.cc, __magick_read__.cc, __pchip_deriv__.cc, __qp__.cc,
amd.cc, balance.cc, besselj.cc, bitfcns.cc, bsxfun.cc, call-stack.cc,
ccolamd.cc, cellfun.cc, chol.cc, colamd.cc, colloc.cc, conv2.cc,
daspk.cc, dasrt.cc, dassl.cc, data.cc, debug.cc, defaults.cc,
defun.cc, det.cc, dirfns.cc, display.cc, dlmread.cc, dmperm.cc,
dot.cc, eig.cc, ellipj.cc, environment.cc, error.cc, event-manager.cc,
fcn-info.cc, fft.cc, fft2.cc, fftn.cc, file-io.cc, filter.cc, find.cc,
gcd.cc, getgrent.cc, getpwent.cc, getrusage.cc, givens.cc,
graphics.cc, gsvd.cc, hash.cc, help.cc, hess.cc, hex2num.cc, input.cc,
interpreter.cc, inv.cc, jsondecode.cc, jsonencode.cc, kron.cc,
load-path.cc, load-save.cc, lookup.cc, ls-oct-text.cc, lsode.cc,
lu.cc, mappers.cc, matrix_type.cc, max.cc, mgorth.cc, nproc.cc,
oct-hist.cc, ordqz.cc, ordschur.cc, pager.cc, pinv.cc, pr-flt-fmt.cc,
pr-output.cc, psi.cc, qr.cc, quad.cc, quadcc.cc, qz.cc, rand.cc,
rcond.cc, regexp.cc, schur.cc, settings.cc, sighandlers.cc, sparse.cc,
spparms.cc, sqrtm.cc, stream-euler.cc, strfind.cc, strfns.cc,
sub2ind.cc, svd.cc, sylvester.cc, symbfact.cc, symrcm.cc, symtab.cc,
syscalls.cc, sysdep.cc, time.cc, toplev.cc, tril.cc, tsearch.cc,
typecast.cc, urlwrite.cc, utils.cc, variables.cc, __delaunayn__.cc,
__fltk_uigetfile__.cc, __glpk__.cc, __init_gnuplot__.cc, __ode15__.cc,
__voronoi__.cc, audiodevinfo.cc, audioread.cc, convhulln.cc, fftw.cc,
gzip.cc, ov-base.cc, ov-bool-mat.cc, ov-cell.cc, ov-class.cc,
ov-classdef.cc, ov-fcn-handle.cc, ov-java.cc, ov-null-mat.cc,
ov-oncleanup.cc, ov-struct.cc, ov-typeinfo.cc, ov-usr-fcn.cc, ov.cc,
octave.cc, lex.ll, oct-parse.yy, profiler.cc, pt-eval.cc: Surround
DEFUN and DEFMETHOD function defnitions with OCTAVE_NAMESPACE_BEGIN
and OCTAVE_NAMESPACE_END tags.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 13 Aug 2021 21:53:51 -0400 |
parents | 7dbbdd00db4a |
children | 7d6709900da7 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
29358
0a5b15007766
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
29029
diff
changeset
|
3 // Copyright (C) 2007-2021 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
25 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
26 /* |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
27 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
28 To initialize: |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
29 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
30 graphics_toolkit ("gnuplot"); |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
31 plot (randn (1e3, 1)); |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
32 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
33 */ |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
34 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21699
diff
changeset
|
35 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21220
diff
changeset
|
36 # include "config.h" |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
37 #endif |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
38 |
23024
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
39 #include <string> |
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
40 |
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
41 #include "dMatrix.h" |
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
42 #include "file-stat.h" |
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
43 #include "oct-env.h" |
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
44 |
21220
d78e45987d6a
rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents:
21200
diff
changeset
|
45 #include "build-env.h" |
22097
5ad67277b007
include builtin-defun-decls.h as needed
John W. Eaton <jwe@octave.org>
parents:
22096
diff
changeset
|
46 #include "builtin-defun-decls.h" |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
47 #include "defun-dld.h" |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
48 #include "error.h" |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
49 #include "graphics.h" |
29029
7c9a40fb3337
recover from exceptions when execution_exception is caught
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
50 #include "interpreter-private.h" |
7c9a40fb3337
recover from exceptions when execution_exception is caught
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
51 #include "interpreter.h" |
23024
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
52 #include "ov.h" |
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
53 #include "ovl.h" |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
54 #include "parse.h" |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
55 #include "utils.h" |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
56 #include "variables.h" |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
57 |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
58 // PKG_ADD: if (__have_gnuplot__ ()) register_graphics_toolkit ("gnuplot"); endif |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
59 |
27734
a9780be9ecbc
move graphics_toolkit class inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27277
diff
changeset
|
60 class gnuplot_graphics_toolkit : public octave::base_graphics_toolkit |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
61 { |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
62 public: |
23703
6eb5f6199a5a
move mlock, munlock, and mislocked to interpreter class
John W. Eaton <jwe@octave.org>
parents:
23577
diff
changeset
|
63 gnuplot_graphics_toolkit (octave::interpreter& interp) |
29505
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
64 : octave::base_graphics_toolkit ("gnuplot"), m_interpreter (interp) |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
65 { |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
66 static bool warned = false; |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
67 |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
68 if (! warned) |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
69 { |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
70 warning_with_id |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
71 ("Octave:gnuplot-graphics", |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
72 "using the gnuplot graphics toolkit is discouraged\n\ |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
73 \n\ |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
74 The gnuplot graphics toolkit is not actively maintained and has a number\n\ |
29941
5f1390d6b5b4
Fix typo in gnuplot warning message (bug #61010)
Rik <rik@octave.org>
parents:
29506
diff
changeset
|
75 of limitations that are unlikely to be fixed. Communication with gnuplot\n\ |
29505
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
76 uses a one-directional pipe and limited information is passed back to the\n\ |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
77 Octave interpreter so most changes made interactively in the plot window\n\ |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
78 will not be reflected in the graphics properties managed by Octave. For\n\ |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
79 example, if the plot window is closed with a mouse click, Octave will not\n\ |
29942
7dbbdd00db4a
Fix second typo in gnuplot warning message (bug #61010).
Rik <rik@octave.org>
parents:
29941
diff
changeset
|
80 be notified and will not update its internal list of open figure windows.\n\ |
29941
5f1390d6b5b4
Fix typo in gnuplot warning message (bug #61010)
Rik <rik@octave.org>
parents:
29506
diff
changeset
|
81 The qt toolkit is recommended instead.\n"); |
29505
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
82 |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
83 warned = true; |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
84 } |
a41c4b9ed648
issue warning when gnuplot graphics toolkit is initialized
John W. Eaton <jwe@octave.org>
parents:
29358
diff
changeset
|
85 } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
86 |
22868
87e3163f6c87
use c++11 "= default" syntax for declaration of trivial destructors
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
87 ~gnuplot_graphics_toolkit (void) = default; |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
88 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
89 bool is_valid (void) const { return true; } |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
90 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
91 bool initialize (const graphics_object& go) |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
92 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
93 return go.isa ("figure"); |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
94 } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
95 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
96 void finalize (const graphics_object& go) |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
97 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
98 if (go.isa ("figure")) |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
99 { |
27277
db687716fed6
style fixes: generally aim to break long lines before operators, not after
John W. Eaton <jwe@octave.org>
parents:
26636
diff
changeset
|
100 const figure::properties& props |
db687716fed6
style fixes: generally aim to break long lines before operators, not after
John W. Eaton <jwe@octave.org>
parents:
26636
diff
changeset
|
101 = dynamic_cast<const figure::properties&> (go.get_properties ()); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
102 |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
103 send_quit (props.get___plot_stream__ ()); |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
104 } |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
105 } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
106 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
107 void update (const graphics_object& go, int id) |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
108 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
109 if (go.isa ("figure")) |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
110 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
111 graphics_object obj (go); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
112 |
27277
db687716fed6
style fixes: generally aim to break long lines before operators, not after
John W. Eaton <jwe@octave.org>
parents:
26636
diff
changeset
|
113 figure::properties& props |
db687716fed6
style fixes: generally aim to break long lines before operators, not after
John W. Eaton <jwe@octave.org>
parents:
26636
diff
changeset
|
114 = dynamic_cast<figure::properties&> (obj.get_properties ()); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
115 |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
116 switch (id) |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
117 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
118 case base_properties::ID_VISIBLE: |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
119 if (! props.is_visible ()) |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
120 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
121 send_quit (props.get___plot_stream__ ()); |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
122 props.set___plot_stream__ (Matrix ()); |
21948
241d39c66e8f
Update graphics properties for figure object.
Rik <rik@octave.org>
parents:
21878
diff
changeset
|
123 props.set_graphicssmoothing (false); |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
124 } |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
125 break; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
126 } |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
127 } |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
128 } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
129 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
130 void redraw_figure (const graphics_object& go) const |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
131 { |
26636
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
132 static bool drawnow_executing = false; |
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
133 |
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
134 // Prevent recursion |
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
135 if (! drawnow_executing) |
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
136 { |
28818
6ec04c206ac4
Replace unwind_protect with more efficient constructs (bug #59192).
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
137 octave::unwind_protect_var<bool> restore_var (drawnow_executing, true); |
26636
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
138 |
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
139 octave_value_list args; |
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
140 args(0) = go.get_handle ().as_octave_value (); |
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
141 octave::feval ("__gnuplot_drawnow__", args); |
803006651db5
Disallow recursion in drawnow for gnuplot toolkit (bug #55528)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26376
diff
changeset
|
142 } |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
143 } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
144 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
145 void print_figure (const graphics_object& go, const std::string& term, |
21699
21fdab18f857
Remove reference to drawnow 'mono' throughout scripts and code, update args test
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
21634
diff
changeset
|
146 const std::string& file, |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
147 const std::string& debug_file) const |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
148 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
149 octave_value_list args; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
150 if (! debug_file.empty ()) |
21699
21fdab18f857
Remove reference to drawnow 'mono' throughout scripts and code, update args test
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
21634
diff
changeset
|
151 args(3) = debug_file; |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
152 args(2) = file; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
153 args(1) = term; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
154 args(0) = go.get_handle ().as_octave_value (); |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23024
diff
changeset
|
155 octave::feval ("__gnuplot_drawnow__", args); |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
156 } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
157 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
158 Matrix get_canvas_size (const graphics_handle&) const |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
159 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
160 Matrix sz (1, 2, 0.0); |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
161 return sz; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
162 } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
163 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
164 double get_screen_resolution (void) const |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
165 { return 72.0; } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
166 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
167 Matrix get_screen_size (void) const |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
168 { return Matrix (1, 2, 0.0); } |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
169 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
170 void close (void) |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
171 { |
27862
813f76932ab6
* __init_gnuplot__.cc: Eliminate static variable "toolkit_loaded".
Markus Mützel <markus.muetzel@gmx.de>
parents:
27734
diff
changeset
|
172 if (m_interpreter.mislocked ("__init_gnuplot__")) |
813f76932ab6
* __init_gnuplot__.cc: Eliminate static variable "toolkit_loaded".
Markus Mützel <markus.muetzel@gmx.de>
parents:
27734
diff
changeset
|
173 m_interpreter.munlock ("__init_gnuplot__"); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
174 } |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
175 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
176 private: |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
177 |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
178 void send_quit (const octave_value& pstream) const |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
179 { |
23577
80c42f4cca13
maint: Deprecate is_empty and replace with isempty.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
180 if (! pstream.isempty ()) |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
181 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
182 octave_value_list args; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
183 Matrix fids = pstream.matrix_value (); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
184 |
29958
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
185 octave::Ffputs (m_interpreter, ovl (fids(0), "\nquit;\n")); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
186 |
29958
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
187 octave::Ffflush (m_interpreter, ovl (fids(0))); |
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
188 octave::Fpclose (m_interpreter, ovl (fids(0))); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
189 |
20555
f90c8372b7ba
eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
190 if (fids.numel () > 1) |
f90c8372b7ba
eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
191 { |
29958
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
192 octave::Fpclose (m_interpreter, ovl (fids(1))); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
193 |
20555
f90c8372b7ba
eliminate many more simple uses of error_state
John W. Eaton <jwe@octave.org>
parents:
19697
diff
changeset
|
194 if (fids.numel () > 2) |
29958
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
195 octave::Fwaitpid (ovl (fids(2))); |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
196 } |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
197 } |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
198 } |
23703
6eb5f6199a5a
move mlock, munlock, and mislocked to interpreter class
John W. Eaton <jwe@octave.org>
parents:
23577
diff
changeset
|
199 |
6eb5f6199a5a
move mlock, munlock, and mislocked to interpreter class
John W. Eaton <jwe@octave.org>
parents:
23577
diff
changeset
|
200 octave::interpreter& m_interpreter; |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
201 }; |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
202 |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
203 static bool |
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
204 have_gnuplot_binary (void) |
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
205 { |
21220
d78e45987d6a
rename octave::build_env namespace from octave::config
John W. Eaton <jwe@octave.org>
parents:
21200
diff
changeset
|
206 const std::string exeext = octave::build_env::EXEEXT; |
21732
6a1eded90355
use namespace for system env class
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
207 const std::string path = octave::sys::env::getenv ("PATH"); |
21878
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
208 bool retval = false; |
19649
830c8457295a
Check for gnuplot binary with executable file extension if needed
Mike Miller <mtmiller@ieee.org>
parents:
19646
diff
changeset
|
209 |
21878
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
210 try |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
211 { |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23024
diff
changeset
|
212 octave_value_list tmp |
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
23024
diff
changeset
|
213 = octave::feval ("gnuplot_binary", octave_value_list ()); |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
214 |
26071
658153e1976d
Fix failing BIST tests and oddities when gnuplot is not present (bug #55023).
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
215 if (tmp(0).is_string () && ! tmp(0).isempty ()) |
21878
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
216 { |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
217 std::string gnuplot_binary = tmp(0).string_value (); |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
218 |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
219 string_vector args (gnuplot_binary); |
25646
4d565baa475e
move libinterp/utils functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
220 std::string gnuplot_path = octave::search_path_for_file (path, args); |
21878
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
221 |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
222 octave::sys::file_stat fs (gnuplot_path); |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
223 |
21878
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
224 if (! fs.exists () && ! exeext.empty ()) |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
225 { |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
226 args[0] += exeext; |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
227 |
25646
4d565baa475e
move libinterp/utils functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
228 gnuplot_path = octave::search_path_for_file (path, args); |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
229 |
21878
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
230 fs = octave::sys::file_stat (gnuplot_path); |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
231 } |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
232 |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
233 retval = fs.exists (); |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
234 } |
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
235 } |
29163
8f67ad8b3103
maint: Updating naming conventions for exceptions and use const where possible.
Rik <rik@octave.org>
parents:
29030
diff
changeset
|
236 catch (const octave::execution_exception&) |
29029
7c9a40fb3337
recover from exceptions when execution_exception is caught
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
237 { |
7c9a40fb3337
recover from exceptions when execution_exception is caught
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
238 octave::interpreter& interp |
7c9a40fb3337
recover from exceptions when execution_exception is caught
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
239 = octave::__get_interpreter__ ("have_gnuplot_binary"); |
7c9a40fb3337
recover from exceptions when execution_exception is caught
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
240 |
7c9a40fb3337
recover from exceptions when execution_exception is caught
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
241 interp.recover_from_exception (); |
7c9a40fb3337
recover from exceptions when execution_exception is caught
John W. Eaton <jwe@octave.org>
parents:
27923
diff
changeset
|
242 } |
19649
830c8457295a
Check for gnuplot binary with executable file extension if needed
Mike Miller <mtmiller@ieee.org>
parents:
19646
diff
changeset
|
243 |
21878
67e51c889f34
Silence errors from __have_gnuplot__ when gnuplot_binary is not found
Mike Miller <mtmiller@octave.org>
parents:
21736
diff
changeset
|
244 return retval; |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
245 } |
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
246 |
29958
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
247 OCTAVE_NAMESPACE_BEGIN |
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
248 |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
249 // Initialize the gnuplot graphics toolkit. |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
250 |
23703
6eb5f6199a5a
move mlock, munlock, and mislocked to interpreter class
John W. Eaton <jwe@octave.org>
parents:
23577
diff
changeset
|
251 DEFMETHOD_DLD (__init_gnuplot__, interp, , , |
6eb5f6199a5a
move mlock, munlock, and mislocked to interpreter class
John W. Eaton <jwe@octave.org>
parents:
23577
diff
changeset
|
252 doc: /* -*- texinfo -*- |
22299
9fc91bb2aec3
doc: grammarcheck documentation for 4.2 release.
Rik <rik@octave.org>
parents:
22097
diff
changeset
|
253 @deftypefn {} {} __init_gnuplot__ () |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21948
diff
changeset
|
254 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21948
diff
changeset
|
255 @end deftypefn */) |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
256 { |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
257 if (! have_gnuplot_binary ()) |
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
258 error ("__init_gnuplot__: the gnuplot program is not available, see 'gnuplot_binary'"); |
27862
813f76932ab6
* __init_gnuplot__.cc: Eliminate static variable "toolkit_loaded".
Markus Mützel <markus.muetzel@gmx.de>
parents:
27734
diff
changeset
|
259 else if (! interp.mislocked ("__init_gnuplot__")) |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
260 { |
23774
41795b504a8b
don't use singleton for gtk_manager
John W. Eaton <jwe@octave.org>
parents:
23738
diff
changeset
|
261 octave::gtk_manager& gtk_mgr = interp.get_gtk_manager (); |
41795b504a8b
don't use singleton for gtk_manager
John W. Eaton <jwe@octave.org>
parents:
23738
diff
changeset
|
262 |
27734
a9780be9ecbc
move graphics_toolkit class inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
27277
diff
changeset
|
263 octave::graphics_toolkit tk (new gnuplot_graphics_toolkit (interp)); |
23774
41795b504a8b
don't use singleton for gtk_manager
John W. Eaton <jwe@octave.org>
parents:
23738
diff
changeset
|
264 gtk_mgr.load_toolkit (tk); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
265 |
27862
813f76932ab6
* __init_gnuplot__.cc: Eliminate static variable "toolkit_loaded".
Markus Mützel <markus.muetzel@gmx.de>
parents:
27734
diff
changeset
|
266 interp.mlock (); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
267 } |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
268 |
23024
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
269 return octave_value_list (); |
14021
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
270 } |
e3bed294b117
refactor graphics_toolkit class (bug #31583)
John W. Eaton <jwe@octave.org>
parents:
diff
changeset
|
271 |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
272 DEFUN_DLD (__have_gnuplot__, , , |
21966
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21948
diff
changeset
|
273 doc: /* -*- texinfo -*- |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21948
diff
changeset
|
274 @deftypefn {} {@var{gnuplot_available} =} __have_gnuplot__ () |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21948
diff
changeset
|
275 Undocumented internal function. |
112b20240c87
move docstrings in C++ files out of C strings and into comments
John W. Eaton <jwe@octave.org>
parents:
21948
diff
changeset
|
276 @end deftypefn */) |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
277 { |
23024
a6a7b054e4ba
Rationalize #includes in libinterp/dldfcn directory.
Rik <rik@octave.org>
parents:
22868
diff
changeset
|
278 return ovl (have_gnuplot_binary ()); |
19646
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
279 } |
408361a8c72f
Don't register gnuplot toolkit if gnuplot is not available (bug #35391)
Mike Miller <mtmiller@ieee.org>
parents:
17787
diff
changeset
|
280 |
21575
bc9aa534bc29
maint: Clean up BIST tests so they don't produce warnings.
Rik <rik@octave.org>
parents:
21301
diff
changeset
|
281 /* |
bc9aa534bc29
maint: Clean up BIST tests so they don't produce warnings.
Rik <rik@octave.org>
parents:
21301
diff
changeset
|
282 ## No test needed for internal helper function. |
bc9aa534bc29
maint: Clean up BIST tests so they don't produce warnings.
Rik <rik@octave.org>
parents:
21301
diff
changeset
|
283 %!assert (1) |
bc9aa534bc29
maint: Clean up BIST tests so they don't produce warnings.
Rik <rik@octave.org>
parents:
21301
diff
changeset
|
284 */ |
29958
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
285 |
32c3a5805893
move DEFUN and DEFMETHOD functions inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
29942
diff
changeset
|
286 OCTAVE_NAMESPACE_END |