Mercurial > hg > octave-nkf
diff libinterp/interpfcn/octave-link.h @ 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 | d5ae5aa80d42 |
children | adc150db1809 |
line wrap: on
line diff
--- a/libinterp/interpfcn/octave-link.h +++ b/libinterp/interpfcn/octave-link.h @@ -179,6 +179,19 @@ : std::list<std::string> (); } + static std::list<std::string> + file_dialog ( const std::list< std::pair< std::string, std::string > > filter, + const std::string& title, + const std::string& filename, + const std::string& dirname, + bool multiselect) + { + return enabled () + ? instance->do_file_dialog (filter, title, filename, dirname, multiselect) + : std::list<std::string> (); + } + + static int debug_cd_or_addpath_error (const std::string& file, const std::string& dir, bool addpath_option) @@ -370,6 +383,13 @@ const std::list<float>& nc, const std::list<std::string>& defaults) = 0; + virtual std::list<std::string> + do_file_dialog (const std::list< std::pair< std::string, std::string > > filter, + const std::string& title, + const std::string& filename, + const std::string& dirname, + bool multiselect) = 0; + virtual int do_debug_cd_or_addpath_error (const std::string& file, const std::string& dir,