Mercurial > hg > octave-nkf
diff scripts/plot/uigetfile.m @ 16579:7f8db1942dc0
Add Qt link uigetfile dialog implementation.
* libgui/src/octave-qt-link.cc, libgui/src/octave-qt-link.h,
(octave_qt_link::do_file_dialog): New function.
(make_filter_list): New function.
* libinterp/interpfcn/octave-link.cc
(__octave_link_file_dialog__): New function.
* libinterp/interpfcn/octave-link.h:
(octave_link::file_dialog): New function.
(octave_link::do_file_dialog): New virtual function.
* scripts/plot/uigetfile.m: update to call octave_link file dialog if octave link is present.
* libgui/src/dialog.cc, libgui/src/dialog.h
(class FileDialog): New class.
(QUIWidgetCreator::QUIWidgetCreator): added initialization of new var path_name.
(QUIWidgetCreator::signal_filedialog): New function.
(QUIWidgetCreator::create_filedialog): New function.
(QUIWidgetCreator::filedialog_finished): New function.
(QUIWidgetCreator::get_dialog_path): New function.
* libgui/src/main-window.cc, libgui/src/main-window.h
(main_window::connect_uiwidget_links): Added connect for handle_file_dialog.
(main_window::handle_create_filedialog): New function.
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Sun, 28 Apr 2013 09:45:19 -0400 |
parents | 95d7475a0a89 |
children | adc150db1809 |
line wrap: on
line diff
--- a/scripts/plot/uigetfile.m +++ b/scripts/plot/uigetfile.m @@ -65,19 +65,21 @@ function [retfile, retpath, retindex] = uigetfile (varargin) - defaulttoolkit = get (0, "defaultfigure__graphics_toolkit__"); - funcname = ["__uigetfile_", defaulttoolkit, "__"]; - functype = exist (funcname); - if (! __is_function__ (funcname)) - funcname = "__uigetfile_fltk__"; + if (! __octave_link_enabled__ ()) + defaulttoolkit = get (0, "defaultfigure__graphics_toolkit__"); + funcname = ["__uigetfile_", defaulttoolkit, "__"]; + functype = exist (funcname); if (! __is_function__ (funcname)) - error ("uigetfile: fltk graphics toolkit required"); - elseif (! strcmp (defaulttoolkit, "gnuplot")) - warning ("uigetfile: no implementation for toolkit '%s', using 'fltk' instead", + funcname = "__uigetfile_fltk__"; + if (! __is_function__ (funcname)) + error ("uigetfile: fltk graphics toolkit required"); + elseif (! strcmp (defaulttoolkit, "gnuplot")) + warning ("uigetfile: no implementation for toolkit '%s', using 'fltk' instead", defaulttoolkit); + endif endif endif - + if (nargin > 7) error ("uigetfile: number of input arguments must be less than eight"); endif @@ -183,7 +185,11 @@ endfor endif - [retfile, retpath, retindex] = feval (funcname, outargs{:}); + if (__octave_link_enabled__ ()) + [retfile, retpath, retindex] = __octave_link_file_dialog__ (outargs{:}); + else + [retfile, retpath, retindex] = feval (funcname, outargs{:}); + endif endfunction