Scope
DisplayController.h
1 #pragma once
2 
3 #include "ScopeDefines.h"
4 #include "BaseController.h"
5 #include "BaseController_p.h"
6 
7 // Forward declarations
8 template<class T> class SynchronizedQueue;
9 template<class T> class ScopeMessage;
10 namespace scope {
11  namespace parameters {
12  class Scope;
13  class Area;
14  }
15  class ScopeMultiImage;
16  typedef std::shared_ptr<ScopeMultiImage> ScopeMultiImagePtr;
17  class ScopeMultiImageResonanceSW;
18  typedef std::shared_ptr<ScopeMultiImageResonanceSW> ScopeMultiImageResonanceSWPtr;
19  namespace gui {
20  class CChannelFrame;
21  class CHistogramFrame;
22  }
23 }
24 
25 namespace scope {
26 
33  : public BaseController<1> {
34 
35 protected:
37  class Impl;
38 
39 protected:
42 
45 
47  Impl* const Pimpl() const;
48 
49 public:
52 
54  void ResolutionChange(const parameters::Area& _parameters);
55 
59  void SetHistogramLimits(const uint32_t& _area, const uint32_t& _channel, const uint16_t& _lower, const uint16_t& _upper);
60 
62  void AttachFrame(gui::CChannelFrame* const cframe);
63 
65  void DetachFrame(gui::CChannelFrame* const cframe);
66 
68  void AttachFrame(gui::CHistogramFrame* const hframe);
69 
71  bool HistogramAlreadyAttached(const uint32_t& _area) const;
72 
74  void DetachFrame(gui::CHistogramFrame* const hframe);
75 
79 };
80 
81 }
DisplayController & operator=(DisplayController &other)
disable assignment
Parameters for a whole area (includes a daq and a fpu)
Definition: Scope.h:64
DisplayController(DisplayController &other)
disable copy
The master parameters class.
Definition: Scope.h:204
void ResolutionChange(const parameters::Area &_parameters)
Request resize of CChannelFrame observers to cope with new image size.
Message with tag and cargo for SyncQueues between controllers.
Definition: DaqController.h:8
Manages the display of images.
Definition: ChannelFrame.h:26
The implementation class of the DisplayController.
The display controller handles displaying images and histograms.
void DetachFrame(gui::CChannelFrame *const cframe)
Detaches a CChannelFrame as an observer.
void SetHistogramLimits(const uint32_t &_area, const uint32_t &_channel, const uint16_t &_lower, const uint16_t &_upper)
calls DisplayController::Impl::SetHistogramLimits
Manages the display of histograms.
void AttachFrame(gui::CChannelFrame *const cframe)
Attaches a CChannelFrame as an observer.
A synchronized, thread-safe queue was modeled after ringbuffer example from boost?! and/or a Herb Sutter column?!
Definition: DaqController.h:7
Parameters for all frames/windows on screen.
Definition: Windows.h:43
parameters::WindowCollection GetWindowCollection() const
Adds frames to WindowCollection of ScopeController::GuiParameters.
Base class for all controllers.
bool HistogramAlreadyAttached(const uint32_t &_area) const
Impl *const Pimpl() const
Return a pointer to the hidden implementation.