diff libgui/src/octave-dock-widget.h @ 27620:45bb5bbaf291

don't use singleton pattern for resource manager in GUI Move ownership of the resource_manager object to the base_qobject class. Store reference to resource_manager object as a member variable in most objects that need to access it. Eliminate static member functions in resource_managar class. Provide a get_resource_manager method in the base_qboject class and a global __get_resource_manager__ function for those instances where we can't easily provide local access to the resource_manager object. There are many changes to many files, but most are straightforward.
author John W. Eaton <jwe@octave.org>
date Fri, 01 Nov 2019 18:16:49 -0400
parents 0495b64288f7
children 8b6e928e0705
line wrap: on
line diff
--- a/libgui/src/octave-dock-widget.h	Sat Nov 02 15:24:14 2019 -0400
+++ b/libgui/src/octave-dock-widget.h	Fri Nov 01 18:16:49 2019 -0400
@@ -34,6 +34,7 @@
 
 namespace octave
 {
+  class resource_manager;
 
   // The few decoration items common to both main window and variable editor.
 
@@ -43,7 +44,7 @@
 
   public:
 
-    label_dock_widget (QWidget *p = nullptr);
+    label_dock_widget (QWidget *p, resource_manager& rmgr);
 
     // set_title() uses the custom title bar while setWindowTitle() uses
     // the default title bar (with style sheets)
@@ -64,6 +65,8 @@
 
   protected:
 
+    resource_manager& m_resource_manager;
+
     int m_icon_size;
     QWidget *m_title_widget;
     QToolButton *m_dock_button;
@@ -81,7 +84,8 @@
 
   public:
 
-    octave_dock_widget (const QString& obj_name, QWidget *p = nullptr);
+    octave_dock_widget (const QString& obj_name, QWidget *p,
+                        resource_manager& rmgr);
 
     virtual ~octave_dock_widget (void) = default;