Free Electron
ChainOpController.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 __plan_ChainOpController_h__
8 #define __plan_ChainOpController_h__
9 
10 #include "signal/signal.h"
11 #include "draw/draw.h"
12 #include "window/window.h"
13 #include "viewer/viewer.h"
14 #include "viewer/Mask.h"
15 #include "shape/shape.h"
16 #include "dataui/datauiAS.h"
17 #include "plan/planAS.h"
18 
19 namespace fe
20 {
21 
22 class FE_DL_EXPORT ChainOpController :
23  virtual public Config,
24  virtual public HandlerI,
25  virtual public Dispatch,
26  virtual public Mask,
27  public Initialize<ChainOpController>
28 {
29  public:
30  ChainOpController(void);
31 virtual ~ChainOpController(void);
32 
33  void initialize(void);
34 
35  // AS HandlerI
36 virtual void handleBind(sp<SignalerI> spSignalerI, sp<Layout> spLayout);
37 virtual void handle(Record &r_sig);
38 
39  // AS DispatchI
40 virtual bool call(const String &a_name, std::vector<Instance> a_argv);
41 
42  void prototype(Record &r_proto);
43  private:
44  void selChild(sp<RecordGroup> rg_added, Record r_op);
45  bool m_active;
46  AsSelection m_asSel;
47  AsSignal m_asSignal;
48  //AsWaypoint m_asWaypoint;
49  AsChainOp m_asChainOp;
50  AsSelectable m_asSelectable;
51  AsPick m_asPick;
52  //std::vector<Record> m_prevops;
53  Record m_prevop;
54  Record m_prototype;
55 
56  WindowEvent::Mask m_start;
57  WindowEvent::Mask m_end;
58  WindowEvent::Mask m_add;
59  WindowEvent::Mask m_destroy;
60  WindowEvent::Mask m_childselect;
61 
62 
63  sp<SignalerI> m_spSignaler;
64 };
65 
66 } /* namespace */
67 
68 
69 #endif /* __plan_ChainOpController_h__ */
70 
Definition: ChainOpController.h:22
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Automatically reference-counted string container.
Definition: String.h:128
Reference to an instance of a Layout.
Definition: RecordSB.h:35