diff libinterp/corefcn/octave-link.h @ 25921:9c47eedc44e2

msgbox.m: use graphics objects to build dialog (bug #42490) * msgbox.m (__msgbox__): New subfunction to build a standard dialog using graphics objects and import standard icons using the GUI's resource_manger. Implement Matlab compatible "opt" argument for changing the "windowstyle" property of the figure and the "interpreter" property of the displayed text. Add BIST for input checks. Update documentation. * errordlg.m, helpdlg.m, warndlg.m: Adapt argument checks. Update documentation. * BaseControl.cc: Prevent BaseControl objects from using invalid pointers to figure objects. * libgui/src/icons/dialog-error.png/svg, dialog-information.png/svg, dialog-warning.png/svg: New fallback Tango icons (png and original svg) for message dialogs. * libgui/src/icons/module.mk: Add new icons to octave_gui_ICONS. * libgui/src/resource.qrc: Add new icons. * libgui/src/icons/icons_license: Add new icons to the list. * octave-link.h (octave_link::message_dialog, octave_link::do_message_dialog): Remove methods. (octave_link::get_named_icon, octave_link::do_get_named_icon): New methods to retrieve an icon pixels by name. * octave-link.cc (F__octave_link_message_dialog__): Remove interpreter function. * octave-link.cc (F__octave_link_named_icon__): New interpreter function. * octave-link.h/cc (octave_qt_link::do_message_dialog) Remove method. (octave_qt_link::do_get_named_icon) Implements octave_link::do_get_named_icon. Make use of resource_manager::icon to get an icon by name and eventually fallback to Tango version.
author Pantxo Diribarne <pantxo.diribarne@gmail.com>
date Mon, 08 Oct 2018 09:16:29 +0200
parents d3c6de326bae
children 700b3f415ebe
line wrap: on
line diff
--- a/libinterp/corefcn/octave-link.h	Sat Oct 06 11:10:36 2018 +0200
+++ b/libinterp/corefcn/octave-link.h	Mon Oct 08 09:16:29 2018 +0200
@@ -33,6 +33,7 @@
 #include "oct-mutex.h"
 #include "octave.h"
 #include "event-queue.h"
+#include "uint8NDArray.h"
 
 class octave_value;
 class string_vector;
@@ -148,13 +149,6 @@
     return enabled () ? instance->do_prompt_new_edit_file (file) : false;
   }
 
-  static int
-  message_dialog (const std::string& dlg, const std::string& msg,
-                  const std::string& title)
-  {
-    return enabled () ? instance->do_message_dialog (dlg, msg, title) : 0;
-  }
-
   static std::string
   question_dialog (const std::string& msg, const std::string& title,
                    const std::string& btn1, const std::string& btn2,
@@ -241,6 +235,13 @@
     if (enabled ())
       instance->do_execute_command_in_terminal (command);
   }
+  
+  static uint8NDArray
+  get_named_icon (const std::string& icon_name)
+  {
+    return (enabled () ?
+            instance->do_get_named_icon (icon_name) : uint8NDArray ());
+  }
 
   static void set_workspace (void);
 
@@ -491,11 +492,6 @@
 
   virtual bool do_edit_file (const std::string& file) = 0;
   virtual bool do_prompt_new_edit_file (const std::string& file) = 0;
-
-  virtual int
-  do_message_dialog (const std::string& dlg, const std::string& msg,
-                     const std::string& title) = 0;
-
   virtual std::string
   do_question_dialog (const std::string& msg, const std::string& title,
                       const std::string& btn1, const std::string& btn2,
@@ -536,6 +532,9 @@
 
   virtual void do_execute_command_in_terminal (const std::string& command) = 0;
 
+  virtual uint8NDArray
+  do_get_named_icon (const std::string& icon_name) = 0;
+
   virtual void
   do_set_workspace (bool top_level, bool debug,
                     const octave::symbol_scope& scope,