diff Framework/Viewport/WidgetViewport.cpp @ 385:6cc3ce74dc05

using message broker in widgets
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 07 Nov 2018 20:49:41 +0100
parents 557c8ff1db5c
children e33659decec5
line wrap: on
line diff
--- a/Framework/Viewport/WidgetViewport.cpp	Wed Nov 07 16:17:02 2018 +0100
+++ b/Framework/Viewport/WidgetViewport.cpp	Wed Nov 07 20:49:41 2018 +0100
@@ -26,7 +26,8 @@
 
 namespace OrthancStone
 {
-  WidgetViewport::WidgetViewport() :
+  WidgetViewport::WidgetViewport(MessageBroker& broker) :
+    IViewport(broker),
     statusBar_(NULL),
     isMouseOver_(false),
     lastMouseX_(0),
@@ -73,17 +74,16 @@
       centralWidget_->SetStatusBar(*statusBar_);
     }
 
-    backgroundChanged_ = true;
-    observers_.Apply(*this, &IObserver::OnViewportContentChanged);
+    NotifyBackgroundChanged();
 
     return *widget;
   }
 
 
-  void WidgetViewport::NotifyContentChanged(const IWidget& widget)
+  void WidgetViewport::NotifyBackgroundChanged()
   {
     backgroundChanged_ = true;
-    observers_.Apply(*this, &IObserver::OnViewportContentChanged);
+    NotifyContentChanged();
   }
 
 
@@ -97,7 +97,7 @@
       centralWidget_->SetSize(width, height);
     }
 
-    observers_.Apply(*this, &IObserver::OnViewportContentChanged);
+    NotifyBackgroundChanged();
   }
 
 
@@ -155,7 +155,7 @@
       mouseTracker_.reset(NULL);
     }      
 
-    observers_.Apply(*this, &IObserver::OnViewportContentChanged);
+    NotifyContentChanged();
   }
 
 
@@ -165,7 +165,7 @@
     {
       mouseTracker_->MouseUp();
       mouseTracker_.reset(NULL);
-      observers_.Apply(*this, &IObserver::OnViewportContentChanged);
+      NotifyContentChanged();
     }
   }
 
@@ -196,7 +196,7 @@
     if (repaint)
     {
       // The scene must be repainted, notify the observers
-      observers_.Apply(*this, &IObserver::OnViewportContentChanged);
+      NotifyContentChanged();
     }
   }
 
@@ -204,7 +204,7 @@
   void WidgetViewport::MouseEnter()
   {
     isMouseOver_ = true;
-    observers_.Apply(*this, &IObserver::OnViewportContentChanged);
+    NotifyContentChanged();
   }
 
 
@@ -218,7 +218,7 @@
       mouseTracker_.reset(NULL);
     }
 
-    observers_.Apply(*this, &IObserver::OnViewportContentChanged);
+    NotifyContentChanged();
   }