Mercurial > octave-nkf
annotate scripts/gui/uigetdir.m @ 19005:f084aab05cd9
Move checks for graphics_toolkit GUI functions to own script.
* __get_funcname__.m: New function to buid the function name
from basename and graphics_toolkit.
* uigetdir.m, uigetfile.m, uiputfile.m: Adapt to use __get_funcname__
with basename = mfilename ()
author | Andreas Weber <andy.weber.aw@gmail.com> |
---|---|
date | Thu, 31 Jul 2014 00:03:56 +0200 |
parents | bb2a03f9ed20 |
children | 4197fc428c7d |
rev | line source |
---|---|
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
17572
diff
changeset
|
1 ## Copyright (C) 2010-2013 Kai Habel |
11283 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, see | |
17 ## <http://www.gnu.org/licenses/>. | |
18 | |
19 ## -*- texinfo -*- | |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
11295
diff
changeset
|
20 ## @deftypefn {Function File} {@var{dirname} =} uigetdir () |
11283 | 21 ## @deftypefnx {Function File} {@var{dirname} =} uigetdir (@var{init_path}) |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
11295
diff
changeset
|
22 ## @deftypefnx {Function File} {@var{dirname} =} uigetdir (@var{init_path}, @var{dialog_name}) |
12642
f96b9b9f141b
doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
12522
diff
changeset
|
23 ## Open a GUI dialog for selecting a directory. If @var{init_path} is not |
12522
33bbae85769a
Add uimenu, uigetdir, uigetfile, and uiputfile to documentation.
Rik <octave@nomad.inbox5.com>
parents:
12183
diff
changeset
|
24 ## given the current working directory is used. @var{dialog_name} may be |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
25 ## used to customize the dialog title. |
15532
95d7475a0a89
doc: Add seealso links between uigetfile, uiputfile, uigetdir.
Rik <rik@octave.org>
parents:
15467
diff
changeset
|
26 ## @seealso{uigetfile, uiputfile} |
11283 | 27 ## @end deftypefn |
28 | |
29 ## Author: Kai Habel | |
30 | |
13697
0f8ff98929b2
Allow a toolkit to provide its own version of UI dialogs.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
13215
diff
changeset
|
31 function dirname = uigetdir (init_path = pwd, dialog_name = "Select Directory to Open") |
11283 | 32 |
19005
f084aab05cd9
Move checks for graphics_toolkit GUI functions to own script.
Andreas Weber <andy.weber.aw@gmail.com>
parents:
19004
diff
changeset
|
33 funcname = __get_funcname__ (mfilename ()); |
12522
33bbae85769a
Add uimenu, uigetdir, uigetfile, and uiputfile to documentation.
Rik <octave@nomad.inbox5.com>
parents:
12183
diff
changeset
|
34 |
11283 | 35 if (nargin > 2) |
36 print_usage (); | |
37 endif | |
38 | |
12183
b4d26c65e7e6
Allow ui file function to work if gnuplot is the selected toolkit and fltk is available
Kai Habel <kai.habel@gmx.de>
parents:
11587
diff
changeset
|
39 if (!ischar (init_path) || !ischar (dialog_name)) |
11469
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
11295
diff
changeset
|
40 error ("uigetdir: INIT_PATH and DIALOG_NAME must be string arguments"); |
c776f063fefe
Overhaul m-script files to use common variable name between code and documentation.
Rik <octave@nomad.inbox5.com>
parents:
11295
diff
changeset
|
41 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11583
diff
changeset
|
42 |
12522
33bbae85769a
Add uimenu, uigetdir, uigetfile, and uiputfile to documentation.
Rik <octave@nomad.inbox5.com>
parents:
12183
diff
changeset
|
43 if (!isdir (init_path)) |
33bbae85769a
Add uimenu, uigetdir, uigetfile, and uiputfile to documentation.
Rik <octave@nomad.inbox5.com>
parents:
12183
diff
changeset
|
44 init_path = fileparts (init_path); |
11283 | 45 endif |
46 | |
16654
510b711f4e31
Added uigetdir to octave_link
John Donoghue <john.donoghue@ieee.org>
parents:
15532
diff
changeset
|
47 if (__octave_link_enabled__ ()) |
16655
8fa0b416f465
* uigetdir.m: Eliminate unnecessary cell array for function args.
John W. Eaton <jwe@octave.org>
parents:
16654
diff
changeset
|
48 file_filter = cell (0, 2); |
8fa0b416f465
* uigetdir.m: Eliminate unnecessary cell array for function args.
John W. Eaton <jwe@octave.org>
parents:
16654
diff
changeset
|
49 default_file_name = ""; |
8fa0b416f465
* uigetdir.m: Eliminate unnecessary cell array for function args.
John W. Eaton <jwe@octave.org>
parents:
16654
diff
changeset
|
50 dialog_position = [240, 120]; |
8fa0b416f465
* uigetdir.m: Eliminate unnecessary cell array for function args.
John W. Eaton <jwe@octave.org>
parents:
16654
diff
changeset
|
51 dialog_mode = "dir"; |
16654
510b711f4e31
Added uigetdir to octave_link
John Donoghue <john.donoghue@ieee.org>
parents:
15532
diff
changeset
|
52 |
16655
8fa0b416f465
* uigetdir.m: Eliminate unnecessary cell array for function args.
John W. Eaton <jwe@octave.org>
parents:
16654
diff
changeset
|
53 [filename, dirname, filterindex] ... |
8fa0b416f465
* uigetdir.m: Eliminate unnecessary cell array for function args.
John W. Eaton <jwe@octave.org>
parents:
16654
diff
changeset
|
54 = __octave_link_file_dialog__ (file_filter, dialog_name, |
8fa0b416f465
* uigetdir.m: Eliminate unnecessary cell array for function args.
John W. Eaton <jwe@octave.org>
parents:
16654
diff
changeset
|
55 default_file_name, dialog_position, |
8fa0b416f465
* uigetdir.m: Eliminate unnecessary cell array for function args.
John W. Eaton <jwe@octave.org>
parents:
16654
diff
changeset
|
56 dialog_mode, init_path); |
16654
510b711f4e31
Added uigetdir to octave_link
John Donoghue <john.donoghue@ieee.org>
parents:
15532
diff
changeset
|
57 else |
510b711f4e31
Added uigetdir to octave_link
John Donoghue <john.donoghue@ieee.org>
parents:
15532
diff
changeset
|
58 dirname = feval (funcname, init_path, dialog_name); |
510b711f4e31
Added uigetdir to octave_link
John Donoghue <john.donoghue@ieee.org>
parents:
15532
diff
changeset
|
59 endif |
11283 | 60 endfunction |
61 | |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
62 |
11583
c4c2cd67c440
Fixes for ui file functions, bug#32190
Kai Habel <kai.habel@gmx.de>
parents:
11576
diff
changeset
|
63 %!demo |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
64 %! uigetdir (pwd, 'Select Directory'); |
13215 | 65 |
66 ## Remove from test statistics. No real tests possible. | |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
67 %!assert (1) |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
68 |