diff Framework/Widgets/LayerWidget.h @ 251:192e6e349e69 am-2

first usage of new message system (in SDL only)
author am@osimis.io
date Mon, 02 Jul 2018 18:13:46 +0200
parents 26e3bfe30e66
children c9cf95b49a86
line wrap: on
line diff
--- a/Framework/Widgets/LayerWidget.h	Mon Jul 02 16:36:17 2018 +0200
+++ b/Framework/Widgets/LayerWidget.h	Mon Jul 02 18:13:46 2018 +0200
@@ -24,6 +24,7 @@
 #include "WorldSceneWidget.h"
 #include "../Layers/ILayerSource.h"
 #include "../Toolbox/Extent2D.h"
+#include "../../Framework/Messages/IObserver.h"
 
 #include <map>
 
@@ -31,7 +32,7 @@
 {
   class LayerWidget :
     public WorldSceneWidget,
-    private ILayerSource::IObserver
+    public IObserver
   {
   private:
     class Scene;
@@ -53,23 +54,26 @@
     void GetLayerExtent(Extent2D& extent,
                         ILayerSource& source) const;
 
-    virtual void NotifyGeometryReady(const ILayerSource& source);
-
-    virtual void NotifyGeometryError(const ILayerSource& source);
+    void OnGeometryReady(const ILayerSource& source);
 
-    virtual void NotifyContentChange(const ILayerSource& source);
+    virtual void OnContentChanged(const ILayerSource& source);
 
-    virtual void NotifySliceChange(const ILayerSource& source,
+    virtual void OnSliceChanged(const ILayerSource& source,
                                    const Slice& slice);
 
-    virtual void NotifyLayerReady(std::auto_ptr<ILayerRenderer>& renderer,
+    virtual void OnLayerReady(std::auto_ptr<ILayerRenderer>& renderer,
                                   const ILayerSource& source,
                                   const CoordinateSystem3D& slice,
                                   bool isError);
 
+
     void ResetChangedLayers();
 
   public:
+    LayerWidget(MessageBroker& broker);
+
+    virtual void HandleMessage(IObservable& from, const IMessage& message);
+
     virtual Extent2D GetSceneExtent();
  
   protected: