Scope
ScopeFOVDiagram.h
1 #pragma once
2 
3 // Forward declaration
4 namespace scope {
5  namespace parameters {
6  class Scope;
7  }
8 }
9 
10 namespace scope {
11  namespace gui {
12 
15  : public CWindowImpl<CScopeFOVDiagram>
16  , public COwnerDraw<CScopeFOVDiagram> {
17 
18 protected:
20  const uint32_t area;
21 
23  const parameters::Scope* const params;
24 
26  std::vector<boost::signals2::connection> connections;
27 
28 public:
31  CScopeFOVDiagram(const uint32_t& _area, const parameters::Scope* _params);
32 
34 
35  BEGIN_MSG_MAP_EX(CScopeFOVDiagram)
36  CHAIN_MSG_MAP_ALT(COwnerDraw<CScopeFOVDiagram>, 1)
37  DEFAULT_REFLECTION_HANDLER()
38  END_MSG_MAP()
39 
41  bool AttachToDlgItem(HWND hWnd);
42 
44  void UpdateDiagram();
45 
47  void DrawItem(LPDRAWITEMSTRUCT lpdis);
48 
49 };
50 
51 
52 }
53 }
*bool AttachToDlgItem(HWND hWnd)
()
The master parameters class.
Definition: Scope.h:204
void DrawItem(LPDRAWITEMSTRUCT lpdis)
Called from COwnerDraw.
const uint32_t area
the area of this FPU
std::vector< boost::signals2::connection > connections
Stores connections to ScopeValues that are then disconnected on destruction.
const parameters::Scope *const params
Pointer to the scope parameters to use for calculations.
Owner-drawn control that displays the total FOV and the smaller FOV of the areas. ...
CScopeFOVDiagram(const uint32_t &_area, const parameters::Scope *_params)
void UpdateDiagram()
Connected to scope parameters, called upon their change.