Free Electron
Manipulator.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __dataui_Manipulator_h__
8 #define __dataui_Manipulator_h__
9 
10 #include <dataui/dataui.pmh>
11 
12 #include "viewer/DrawView.h"
13 namespace fe
14 {
15 namespace ext
16 {
17 
18 /**
19  */
20 class FE_DL_EXPORT Manipulator :
21  virtual public HandlerI,
22  virtual public Config,
23  virtual public Reactor,
24  virtual public Mask,
25  public Initialize<Manipulator>
26 {
27  public:
28  Manipulator(void);
29 virtual ~Manipulator(void);
30  void initialize(void);
31 
32  // AS HandlerI
33 virtual void handleBind(sp<SignalerI> spSignalerI, sp<Layout> spLayout);
34 virtual void handle(Record &r_sig);
35 
36  private:
37  void draw(Record &r_sig);
38  void manipulate(Record &r_sig);
39  void create(Record &r_sig);
40  void createall(Record &r_sig);
41  void clear(Record &r_sig);
42 
43  WindowEvent::Mask m_start;
44  WindowEvent::Mask m_drag;
45  WindowEvent::Mask m_end;
46  WindowEvent::Mask m_create;
47  WindowEvent::Mask m_createall;
48  WindowEvent::Mask m_clear;
49  WindowEvent::Mask m_draw;
50  WindowEvent::Mask m_start_resize;
51  WindowEvent::Mask m_end_resize;
52 
53  sp<Layout> m_l_manipulator;
54  sp<Layout> m_l_draw;
55 
56  bool m_resize;
57  bool m_hit;
58 
59  Real m_aspect;
60  Real m_hide;
61 
62  sp<DrawMode> m_spOutline;
63  DrawView m_drawview;
64 
65  AsSignal m_asSignal;
66  AsWindata m_asWindata;
67  AsSelection m_asSel;
68  AsManipulator m_asManipulator;
69  AsManipulatable m_asManipulatable;
70  AsPoint m_asPoint;
71  AsBounded m_asBounded;
72  AsPick m_asPick;
73  sp<Scope> m_scope;
74 };
75 
76 } /* namespace ext */
77 } /* namespace fe */
78 
79 #endif /* __dataui_Manipulator_h__ */
kernel
Definition: namespace.dox:3