annotate scripts/gui/uitable.m @ 31706:597f3ee61a48 stable

update Octave Project Developers copyright for the new year
author John W. Eaton <jwe@octave.org>
date Fri, 06 Jan 2023 13:11:27 -0500
parents 5386fd4af64c
children 2e484f9f1f18
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ##
31706
597f3ee61a48 update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 31168
diff changeset
3 ## Copyright (C) 2016-2023 The Octave Project Developers
27918
b442ec6dda5c use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents: 26877
diff changeset
4 ##
27923
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/>.
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
7 ##
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
8 ## This file is part of Octave.
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
9 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
10 ## Octave is free software: you can redistribute it and/or modify it
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
12 ## the Free Software Foundation, either version 3 of the License, or
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
13 ## (at your option) any later version.
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
14 ##
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
18 ## GNU General Public License for more details.
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
19 ##
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
22 ## <https://www.gnu.org/licenses/>.
27923
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 ########################################################################
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
25
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
26 ## -*- texinfo -*-
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
27 ## @deftypefn {} {@var{hui} =} uitable (@var{property}, @var{value}, @dots{})
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
28 ## @deftypefnx {} {@var{hui} =} uitable (@var{parent}, @var{property}, @var{value}, @dots{})
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
29 ## Create a uitable object and return a handle to it.
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
30 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
31 ## A uitable object is used to show tables of data in a figure window.
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
32 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
33 ## If @var{parent} is omitted then a uitable for the current figure is
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
34 ## created. If no figure is available, a new figure is created first.
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
35 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
36 ## If @var{parent} is given then a uitable relative to @var{parent} is
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
37 ## created.
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
38 ##
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
39 ## Any provided property value pairs will override the default values of the
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
40 ## created uitable object.
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
41 ##
26877
83774c2a1b92 doc: Place cross-reference from list of graphics object properties back to object (bug #46076).
Rik <rik@octave.org>
parents: 26577
diff changeset
42 ## The full list of properties is documented at @ref{Uitable Properties}.
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
43 ##
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
44 ## Examples:
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
45 ##
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
46 ## @example
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
47 ## @group
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
48 ## ## Create figure and place a table on it
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
49 ## f = figure ();
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
50 ## m = magic (8);
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
51 ## t = uitable (f, "Data", m, "ColumnWidth", @{ 40 @});
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
52 ## @end group
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
53 ##
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
54 ## @group
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
55 ## ## Create a table with labeled rows and columns
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
56 ## f = figure ();
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
57 ## d = reshape (1:9, [3, 3]);
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
58 ## row_names = @{ "Row1", "Row2", "Row3" @};
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
59 ## col_names = @{ "Col1", "Col2", "Col3" @};
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
60 ## t = uitable (f, "Data", d, ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
61 ## "RowName", row_names, "ColumnName", col_names);
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
62 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
63 ## p = get (t, "Position");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
64 ## e = get (t, "Extent");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
65 ## p(3:4) = e(3:4);
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
66 ## set (t, "Position", p);
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
67 ## @end group
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
68 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
69 ## ## Long demo with callbacks
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
70 ## function uitable_demo ()
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
71 ## f = figure ("Name", "uitable Demo", "Menu", "none", ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
72 ## "Position", [10 10 1000 680]);
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
73 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
74 ## ## A basic example
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
75 ## d = @{ "char" , "A string";
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
76 ## "double" , 12.3456789;
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
77 ## "complex", 1+2i;
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
78 ## "bool" , true;
31168
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
79 ## "single" , single(12.3456789);
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
80 ## "int8" , int8(-128);
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
81 ## "uint8" , uint8(128);
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
82 ## "int16" , int16(-32768);
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
83 ## "uint16" , uint16(32768);
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
84 ## "int32" , int32(-2147483648);
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
85 ## "uint32" , uint32(2147483648);
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
86 ## "int64" , int64(-2147483649);
5386fd4af64c uitable.m: Fix example code in DOCSTRING (bug #62824).
Rik <rik@octave.org>
parents: 30564
diff changeset
87 ## "uint64" , uint64(2147843649)@};
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
88 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
89 ## popup_options = @{"A", "B", "C", "D", "E"@};
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
90 ##
26577
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
91 ## columnformat_options = @{ "[]", "char", "pop-up", "numeric", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
92 ## "short", "short e", "short eng", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
93 ## "short g", "long", "long e", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
94 ## "long eng", "long g", "bank", "+", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
95 ## "rat", "logical"@};
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
96 ## columnformat_values = columnformat_options;
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
97 ## columnformat_values@{1@} = "";
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
98 ## columnformat_values@{3@} = popup_options;
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
99 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
100 ## default_data = repmat (d(:,2), 1, columns (columnformat_options));
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
101 ## b_add = uicontrol (f, "Position", [285 630 600 50], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
102 ## "UserData", [rows(d), 1], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
103 ## "Style", "pushbutton", ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
104 ## "String", "Set data at selected point to selected datatype");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
105 ##
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
106 ## l_type_table = uicontrol (f, "Position", [ 0 603 120 25 ], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
107 ## "String", "Datatype Table:", ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
108 ## "Style", "text");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
109 ## t_type_table = uitable (f, "Position", [ 0 530 1000 70 ], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
110 ## "Data", transpose (d(:, 2)), ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
111 ## "ColumnName", transpose (d(:, 1)), ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
112 ## "RowName", "Value", ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
113 ## "CellSelectionCallback", ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
114 ## @@(x, y) set (b_add, "UserData", y.Indices ));
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
115 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
116 ## l_point_table = uicontrol (f, "Position", [ 0 640 60 25 ], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
117 ## "String", "Point:", ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
118 ## "Style", "text");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
119 ## t_point_table = uitable (f, "Position", [ 80 630 160 42 ], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
120 ## "RowName", [], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
121 ## "ColumnName", @{"x", "y"@}, ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
122 ## "Data", [ 1, 1 ], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
123 ## "ColumnEditable", true);
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
124 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
125 ## l_editable_table = uicontrol (f, "Position", [ 0 502 200 25 ], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
126 ## "Style", "text", ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
127 ## "String", "Set Data Columns Editable:");
26577
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
128 ## t_editable_table = ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
129 ## uitable (f, "Position", [ 0 434 1000 65 ], ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
130 ## "Data", repmat (false, 1, columns (default_data)), ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
131 ## "ColumnEditable", true);
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
132 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
133 ## l_format_table = uicontrol (f, "Position", [ 0 406 200 25 ], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
134 ## "Style", "text", ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
135 ## "String", "Set Data Column Format:");
26577
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
136 ## t_format_table = ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
137 ## uitable (f, "Position", [ 0 338 1000 65 ], ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
138 ## "Data", columnformat_options, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
139 ## "ColumnEditable", true, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
140 ## "ColumnFormat", arrayfun (@@(x) @{columnformat_options@}, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
141 ## 1:columns (columnformat_options)));
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
142 ##
26577
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
143 ## l_data_table = uicontrol (f, "Style", "text", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
144 ## "String", "Data:", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
145 ## "Position", [ 0 310 60 25 ]);
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
146 ## t_data_table = uitable (f, "Position", [ 0 15 1000 290 ], ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
147 ## "Data", default_data, ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
148 ## "ColumnFormat", columnformat_values);
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
149 ##
26577
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
150 ## set (t_format_table, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
151 ## "CellEditCallback", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
152 ## @@(x, y) update_column_format (y.NewData, y.Indices, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
153 ## t_data_table, popup_options));
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
154 ## set (t_point_table, "CellEditCallback", ...
26577
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
155 ## @@(x, y) validate_point_table (x, y, t_data_table));
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
156 ## set (t_editable_table, "CellEditCallback", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
157 ## @@(x,y) set (t_data_table, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
158 ## "ColumnEditable", get (t_editable_table, "Data")));
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
159 ## set (b_add, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
160 ## "Callback", @@(x, y) update_data (b_add, t_point_table, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
161 ## t_type_table, t_data_table));
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
162 ## set (t_data_table, "CellSelectionCallback", ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
163 ## @@(x, y) update_point_table (y.Indices, t_point_table));
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
164 ## endfunction
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
165 ##
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
166 ## @group
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
167 ## function validate_point_table (h, dat, t_data_table)
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
168 ## if (! (dat.NewData > 0 && ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
169 ## dat.NewData < size (get (t_data_table, "Data"), dat.Indices(1, 1)) + 1))
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
170 ##
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
171 ## d = get (h, "Data");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
172 ## d(dat.Indices) = 1;
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
173 ## set (h, "Data", d);
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
174 ## endif
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
175 ## endfunction
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
176 ## @end group
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
177 ##
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
178 ## @group
26577
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
179 ## function update_column_format (format, indices, t_data_table, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
180 ## popup_options)
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
181 ## cf = get (t_data_table, "ColumnFormat");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
182 ## if (strcmp (format, "[]"))
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
183 ## format = "";
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
184 ## elseif (strcmp (format, "pop-up"))
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
185 ## format = popup_options;
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
186 ## endif
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
187 ## cf@{indices(1,2)@} = format;
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
188 ## set (t_data_table, "ColumnFormat", cf);
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
189 ## endfunction
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
190 ## @end group
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
191 ##
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
192 ## @group
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
193 ## function update_point_table (indices, t_point_table)
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
194 ## if (isempty (indices))
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
195 ## indices = [1, 1];
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
196 ## endif
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
197 ## set (t_point_table, "Data", indices(1,:));
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
198 ## endfunction
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
199 ## @end group
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
200 ##
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
201 ## @group
26577
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
202 ## function update_data (b_add, t_point_table, t_type_table, ...
ae1542fb58ba documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents: 26376
diff changeset
203 ## t_data_table)
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
204 ## indices = get (b_add, "UserData");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
205 ## if (isempty (indices))
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
206 ## indices = [1, 1];
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
207 ## endif
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
208 ## d = get (t_data_table, "Data");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
209 ## t_type_table_data = get (t_type_table, "Data");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
210 ## p = get (t_point_table, "Data");
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
211 ## d(p(1,2), p(1,1)) = t_type_table_data(indices(1,2));
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
212 ## set (t_data_table, "Data", d);
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
213 ## endfunction
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
214 ## @end group
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
215 ## @end example
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
216 ##
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
217 ## @seealso{figure, uicontrol}
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
218 ## @end deftypefn
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
219
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
220 function hui = uitable (varargin)
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
221
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
222 [h, args] = __uiobject_split_args__ ("uitable", varargin, ...
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
223 {"figure", "uipanel", "uibuttongroup"});
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
224 htmp = __go_uitable__ (h, args{:});
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
225
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
226 if (nargout > 0)
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
227 hui = htmp;
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
228 endif
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
229
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
230 endfunction
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
231
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
232
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
233 %!demo
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
234 %! ## Create figure and place a table on it
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
235 %! f = clf ();
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
236 %! m = magic (8);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
237 %! t = uitable (f, "Data", m, "ColumnWidth", {50}, ...
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
238 %! "Units", "normalized", "Position", [0.1 0.1 0.8 0.8]);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
239
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
240 %!demo
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
241 %! ## Create figure and place an editable table on it
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
242 %! f = clf ();
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
243 %! m = magic (8);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
244 %! t = uitable (f, "Data", m, "ColumnWidth", {50}, "ColumnEditable", true, ...
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
245 %! "Units", "normalized", "Position", [0.1 0.1 0.8 0.8]);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
246
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
247 %!demo
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
248 %! ## Create figure and table, but change the format to rational_approx
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
249 %! f = clf ();
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
250 %! m = magic (8) / 64;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
251 %! t = uitable (f, "Data", m, "ColumnWidth", {50}, ...
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
252 %! "ColumnFormat", repmat ({"rat"}, 1, 8), ...
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
253 %! "Units", "normalized", "Position", [0.1 0.1 0.8 0.8]);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
254
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
255 %!demo
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
256 %! cf = {"char", "char", {"A", "B", "C"}, "numeric", "short", "short e", ...
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
257 %! "short eng", "short g", "long", "long e", "long eng", "long g", ...
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
258 %! "bank", "+", "rat", "logical"};
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
259 %! cn = cf;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
260 %! cn{1} = "type";
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
261 %! cn{3} = "pop-up";
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
262 %!
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
263 %! d = {"double", 0.0000123456789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
264 %! "double", 0.000123456789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
265 %! "double", 0.00123456789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
266 %! "double", 0.0123456789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
267 %! "double", 0.123456789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
268 %! "double", 12;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
269 %! "double", 1.23456789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
270 %! "double", 12.3456789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
271 %! "double", 123.456789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
272 %! "double", 1234.56789;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
273 %! "complex", 0.0000123456789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
274 %! "complex", 0.000123456789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
275 %! "complex", 0.00123456789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
276 %! "complex", 0.0123456789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
277 %! "complex", 0.123456789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
278 %! "complex", 1.23456789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
279 %! "complex", 12.3456789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
280 %! "complex", 123.456789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
281 %! "complex", 1234.56789 + 12.3456789i;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
282 %! "bool", true;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
283 %! "bool", false;
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
284 %! "single", single(0.0000123456789);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
285 %! "single", single(1.23456789);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
286 %! "single", single(1234.56789);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
287 %! "int8", int8(127);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
288 %! "int8", int8(0);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
289 %! "int8", int8(-126);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
290 %! "int16", int16(32767);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
291 %! "int16", int16(0);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
292 %! "int16", int16(-32768);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
293 %! "int32", int32(2147483647);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
294 %! "int32", int32(0);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
295 %! "int32", int32(-2147483647);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
296 %! "int64", int64(9223372036854775807);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
297 %! "int64", int64(0);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
298 %! "int64", int64(-9223372036854775807);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
299 %! "uint8", uint8(127);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
300 %! "uint8", uint8(0);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
301 %! "uint8", uint8(255);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
302 %! "uint16", uint16(32767);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
303 %! "uint16", uint16(0);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
304 %! "uint16", uint16(65535);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
305 %! "uint32", uint32(2147483647);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
306 %! "uint32", uint32(0);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
307 %! "uint32", uint32(4294967295);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
308 %! "uint64", uint64(9223372036854775807);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
309 %! "uint64", uint64(0);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
310 %! "uint64", uint64(18446744073709551615);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
311 %! "char", "a string"};
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
312 %!
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
313 %! ws = {"auto", 140};
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
314 %! widths = cell (1, columns (cf));
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
315 %! widths(1,1) = ws(1,1);
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
316 %! widths(1,2:end) = repmat (ws(:,2), [1, columns(cf) - 1]);
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
317 %!
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
318 %! data = cell (rows (d), columns (cf));
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
319 %!
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
320 %! data(:,1) = d(:,1);
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
321 %!
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
322 %! data(:, 2:end) = repmat (d(:,2), [1, columns(cf) - 1]);
26112
36e0e5b428e7 Implement uitable (patch #9084)
Andrew Thornton <art27@cantab.net>
parents:
diff changeset
323 %!
26122
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
324 %! t = uitable ("Data", data,
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
325 %! "ColumnFormat", cf,
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
326 %! "ColumnWidth", widths,
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
327 %! "ColumnName", cn,
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
328 %! "ColumnEditable", true,
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
329 %! "Units", "Normalized",
4d1c6c60f6b3 Clean up implementation of uitable in 36e0e5b428e7.
Rik <rik@octave.org>
parents: 26112
diff changeset
330 %! "Position", [0 0 1 1]);