diff libinterp/corefcn/octave-link.cc @ 25060:1cd3aeda7598 stable

Allow registering compressed help at run time (bug #53006). * octave-link.h/cc (octave_link::register_doc, octave_link::unregister_doc): New methods. (octave_link::do_register_doc, octave_link::do_unregister_doc): New virtual methods. * octave-qt-link.h/cc (octave_qt_link::do_register_doc, octave_qt_link::do_unregister_doc): Reimplement methods. (register_doc_signal, unregister_doc_signal): New signals. * main-window.cc/h (handle_register_doc, handle_unregister_doc): New methods. (main_window::register_doc_signal, main_window::unregister_doc_signal): New signals. (main_window::construct_octave_qt_link): Connect qt-link's (un)register_doc_signal to corresponding handle_ method. * documentation-dock-widget.cc/h (documentation_dock_widget::registerDoc, documentation_dock_widget::unregisterDoc): New methods. * documentation.cc/h (documentation::registerDoc, documentation::unregisterDoc): New methods. (documentation::documentation): Read collection from oct_doc_dir if necessary. Make a smart copy of the original collection in a writable file and use the latter for further operations. (documentation::~documentation): Delete temporary collection file and hidden temporary directory.
author Pantxo Diribarne <pantxo.diribarne@gmail.com>
date Fri, 30 Mar 2018 15:15:08 +0200
parents 6652d3823428
children 3ff9192b676e
line wrap: on
line diff
--- a/libinterp/corefcn/octave-link.cc	Fri Mar 30 11:12:40 2018 -0700
+++ b/libinterp/corefcn/octave-link.cc	Fri Mar 30 15:15:08 2018 +0200
@@ -432,3 +432,31 @@
 
   return ovl (octave_link::show_doc (file));
 }
+
+DEFUN (__octave_link_register_doc__, args, ,
+       doc: /* -*- texinfo -*-
+@deftypefn {} {} __octave_link_register_doc__ (@var{filename})
+Undocumented internal function.
+@end deftypefn */)
+{
+  std::string file;
+
+  if (args.length () >= 1)
+    file = args(0).string_value();
+
+  return ovl (octave_link::register_doc (file));
+}
+
+DEFUN (__octave_link_unregister_doc__, args, ,
+       doc: /* -*- texinfo -*-
+@deftypefn {} {} __octave_link_unregister_doc__ (@var{filename})
+Undocumented internal function.
+@end deftypefn */)
+{
+  std::string file;
+
+  if (args.length () >= 1)
+    file = args(0).string_value();
+
+  return ovl (octave_link::unregister_doc (file));
+}